Dise䄐o y creacion de base de datos - infop virtual · 2013-12-20 · TEN cursos. a cursos. lumnos...

14
Fundamentos de base de datos 1 Objetivos de 1. Analizar los datos para hacer la base 2. Crear la capacid diagrama de Entid 3. Convertir el d Relación a tablas 4. Crear una base d tablas usando Access DISEÑ CREACIÓN BASE DE Unidad 4 e la Unidad s que se necesitaran e de datos dad de elaborar un dad-Relación. diagrama Entidad- de datos con cuatro Microsoft Office ÑO Y N DE UNA E DATOS Unidad 4 Unidad 4

Transcript of Dise䄐o y creacion de base de datos - infop virtual · 2013-12-20 · TEN cursos. a cursos. lumnos...

Page 1: Dise䄐o y creacion de base de datos - infop virtual · 2013-12-20 · TEN cursos. a cursos. lumnos y los profesores también están relaci que ha impartido un cierto profesor; esta

Fundamentos de base de datos

1

Objetivos de

1. Analizar los datospara hacer la base

2. Crear la capaciddiagrama de Entid

3. Convertir el dRelación a tablas

4. Crear una base dtablas usando Access

DISEÑCREACIÓN

BASE DE

Un

ida

d 4

os de la Unidad

s que se necesitaran se de datos

idad de elaborar un idad-Relación.

diagrama Entidad-

de datos con cuatro Microsoft Office

ISEÑO Y CIÓN DE UNA E DE DATOS

Unidad 4

Un

ida

d 4

Page 2: Dise䄐o y creacion de base de datos - infop virtual · 2013-12-20 · TEN cursos. a cursos. lumnos y los profesores también están relaci que ha impartido un cierto profesor; esta

Fundamentos de base de datos

2

EJEMPLO DE UN PROB

Vamos ver un primer ejeintroducir el modelo “Enti Supondremos que nos p“Se desea informatizar uInteresa controlar exclusqué cursos/asignaturas hha impartido cada uno de Estas serían las indicacionrealizamos para nosotros). Ahora tendríamos que pencosas como si desea guardprofesores, o si quiere sabsobra algo (porque resultedudo-). Pasamos a desglosar en btablas, sino de “entidade“relaciones” entre estas ent En nuestro caso, las “cosas

Alumnos.

Cursos.

Profesores.

Y las relaciones que hay en

Los profesores IMPART

Los alumnos ASISTEN a

(Indirectamente, los alu

ha asistido a un curso qreflejada a partir de las otra Aun comentaremos algo mrelaciones es su “cardinalidLos cursos”, es importantealumno puede asistir a un s Tendremos cuatro posibilid

Que cada alumno asista

uno-)

BLEMA USANDO EL MODELO ENTIDA

jemplo, que nos ayudará a llevar a la práctidad-Relación”.

proponen el siguiente problema: un centro de estudios de pequeño tamañosivamente los asuntos académicos: qué a han realizado, qué profesores tenemos de los cursos, etc”.

nes que nos daría el cliente (o que nosotros).

nsar si vemos que falta algo (y preguntar al rdar la dirección y demás datos postales de lober la nota que cada alumno obtuvo en cadae demasiado difícil de llevar a cabo -¿difícil,

bloques de información. De momento todavíades” (un nombre más ambiguo pero másntidades.

as” (entidades) que tenemos son básicamente

entre estas entidades son:

TEN cursos.

a cursos.

lumnos y los profesores también están relaci

que ha impartido un cierto profesor; esta ras dos, así que no es necesario detallarla).

más sobre las relaciones. Una característicalidad”: por ejemplo, en la relación de que “loste si a cada curso sólo puede asistir un alum solo curso o a varios.

idades:

ta a uno y solo uno de los cursos (se expres

Unidad 4

AD RELACIÓN

áctica todo esto y a

o. alumnos tenemos, en plantilla, quién

s pensaríamos, si lo

l cliente, si procede, los alumnos y de los a curso) o incluso si

l, para nosotros?... lo

ía no hablaremos de ás adecuado) y de

te éstas:

cionados: un alumno

relación ya queda

ca importante de las os alumnos asisten a mno o varios, y si un

esa como 1:1 -uno a

Page 3: Dise䄐o y creacion de base de datos - infop virtual · 2013-12-20 · TEN cursos. a cursos. lumnos y los profesores también están relaci que ha impartido un cierto profesor; esta

Fundamentos de base de datos

3

Que cada alumno pueda

un alumno (1:M -uno a muc

Que cada alumno pueda

un curso (M:1 -muchos a u

Que cada alumno pued

alumnos (M:M -muchos a m En nuestro caso, la relación

Podríamos preguntarnoimparten cursos”). En esupondremos que cada csupuesto que se Consiuna fecha y otro de la mide una relación “de uno a Una observación: en las ejemplo, la relación “losmuchos), mientras queprofesores” es una Rela Estas relaciones que hentidades). Por el carárelaciones que englobanrestricciones (como las asociaciones ni agregaci

da asistir a muchos cursos, pero en cada curs

uchos-)

da asistir a un único curso, pero pueda haber

uno-).

da asistir a varios cursos, y en cada curso p

muchos-)

ón “asistir” es una relación de “muchos a muc

os la cardinalidad de la otra relación este caso, cada profesor puede impartir curso es impartido por un único profesor

sidera distinto un curso de “Bases de Daisma temática pero impartido en fecha di

a muchos” 1:M.

s relaciones es importante el sentido en es profesores imparten cursos” es una rele la relación opuesta “los cursos son

lación M:1 (muchos a uno).

hemos comentado son “relaciones binrácter introductorio de este texto, no enn más entidades (como las ternarias), ni

s de existencia o valor no nulo), ni en ciones... al menos por ahora...

Unidad 4

rso sólo puede haber

er varios alumnos en

pueda haber varios

chos” (M:M).

n (“los profesores tir varios cursos, y or (estoy dando por atos” impartido en

distinta). Se trataría

el que se leen. Por elación 1:M (uno a on impartidos por

inarias” (entre dos entraremos en las ni en cierto tipo de n generalizaciones,

Page 4: Dise䄐o y creacion de base de datos - infop virtual · 2013-12-20 · TEN cursos. a cursos. lumnos y los profesores también están relaci que ha impartido un cierto profesor; esta

Fundamentos de base de datos

4

DIAGRAMA ER DE NUE

Vamos a ver cómo quedaAsí de sencillo: tenemrelaciones (impartir, entrcursos, M:M). Realmenteen cada entidad (lo q“apartados” les llamaremque salen de las entidade Vamos a pensar primeentidades: Alumnos: � DNI (Documento Nacio� Nombre � Dirección � Ciudad � Teléfono � Fecha de nacimiento Profesores: � DNI � Nombre � Dirección � Ciudad � Teléfono � Conocimientos � Sueldo � Cuenta bancaria Cursos: � Codigo del curso � Nombre del curso

ESTRO EJEMPLO

daría el diagrama Entidad-Relación de nuemos 3 entidades (profesores, cursos, tre profesores y alumnos, 1:M, y asistir,te, ya a este nivel se suele indicar los “apque serán los “campos” de nuestras mos “atributos”, y se representan como des.

ero qué atributos nos podría interesa

ional de Identidad)

Unidad 4

uestro ejemplo: , alumnos) y dos ir, entre alumnos y apartados” que hay tablas). A estos

o pequeñas elipses

sar para nuestras

Page 5: Dise䄐o y creacion de base de datos - infop virtual · 2013-12-20 · TEN cursos. a cursos. lumnos y los profesores también están relaci que ha impartido un cierto profesor; esta

Fundamentos de base de datos

5

� Fecha de comienzo � Duración (horas) � Número máximo de alu Es sólo un ejemplo. Insisino simplemente en quplantearemos después. En el caso de los alumnrepetirse, incluso con apvivir en la misma casa)(también podemos enconque realmente distinguiráNacional de Identidad) o Pues bien, este dato queficha -registro- de otra) e Puede ocurrir que no exel caso de los cursos: nocon el mismo contenido)el mismo día), ni la duracsuele añadir algo arbitrar(en general una ficha -reatributo, llamado “Código Un último comentario anatributos. Puede ocurrir los cuales puedan servi“clave principal”, y el recomo claves. En el diagraparecerá subrayado. Ahora ya sí. Nuestro diahabíamos pensado, sóloa partir de ahora): Convirtiendo el diseño Posiblemente la mayor vcasi inmediata: � En principio, cada enentidad darán lugar a los

lumnos

sisto en que de momento no estamos penué información queremos almacenar. Pe

nos, no son datos únicos los siguientes: pellidos), la dirección (dos hermanos o doa), el teléfono (ocurre lo mismo), la fechontrar dos alumnos que hayan nacido el mirá a un alumno de otro es su número de Do pasaporte, que sí es único.

ue puede distinguir una persona de otra ( es lo que llamaremos la “clave”.

xista nada que nos sirva claramente comno es único el nombre (podemos impartir), ni la fecha de comienzo (varios cursos

ación, ni el número máximo de alumnos. Eario, un código, que nos permita distinguiregistro- de otra). En nuestro caso, incluo de curso”.

ntes de ver cómo quedaría nuestro diagir que nuestra entidad tenga varios atribuvir como clave. Entonces escogemos unesto serán “claves alternativas”, que no grama, el atributo que vaya a utilizarse com

iagrama quedaría así (no incluyo todos lo algunos como ejemplo, que es con los

a tablas

r ventaja del modelo ER es que la conve

entidad corresponderá a una tabla, y los campos de la tabla.

Unidad 4

ensando en tablas, ero eso ya nos lo

: el nombre (puede dos amigos pueden cha de nacimiento mismo día), etc. Lo DNI (Documento

(o en general una

mo clave, como es tir más de un curso s pueden comenzar . En estos casos se uir un curso de otro luiríamos un nuevo

grama ER con sus utos únicos, todos

una de ellas como llegaremos a usar

omo clave principal

s los atributos que s que trabajaremos

versión a tablas es

los atributos de la

Page 6: Dise䄐o y creacion de base de datos - infop virtual · 2013-12-20 · TEN cursos. a cursos. lumnos y los profesores también están relaci que ha impartido un cierto profesor; esta

Fundamentos de base de datos

6

� Las relaciones “de un“uno” en la tabla de los “(y cada curso es impartcódigo del profesor (su D � Las relaciones “de muen la que cada registrorelacionan. En nuestro ccursos se convertirá encampos: el código del cu � Las relaciones “de unocorresponden a datos qsuponemos que cada pecorresponde a una únicaser uno más de la tablsimplificación que hemodeberán reflejarse comoexistencia o no, pero no CONVIRTIENDO A TAB Así, en nuestro caso, limitándonos a los atribut Alumnos: � DNI (clave) � Nombre � Tel Profesores: � DNI (clave) � Nombre � Direcc Cursos: � Código (clave) � Nombre del curso � Fecha de comienzo � DNI del profesor Asistir: � Código del curso � DNI del alumno Ya sólo falta una cosa.también los tamaños de toda la información minformación que nos inte

uno a muchos·” (1:M) se reflejarán ponie “muchos”. Es decir, si un profesor imparrtido por un único profesor), lo que hare DNI) en la ficha de cada curso que impart

uchos a muchos” (M:M) aparecerán comotro estará formado por las claves de la caso, la relación “de muchos a muchos”n una nueva tabla, en la que cada regiurso al que se asiste y el DNI del alumno

no a uno” muchas veces son debidas a unque deberían estar en una misma tablaersona tendrá una única dirección postal

ca persona, entonces el dato de la direccbla que almacena todos los datos de eos hecho no es del todo cierta: a veces o una nueva tabla, dependiendo de si ex entraremos en tanto detalle... al menos p

BLAS MODELO E-R

, obtendríamos las siguientes tablas (cutos que hemos incluido en el último diagr

a. Hay que decidir los tipos de datos e los campos. Esto es porque al ordenado

uy cuadriculada, para que podamos eresa pero sin desperdiciar demasiado es

Unidad 4

niendo la clave del rte muchos cursos remos es poner el rte.

o una nueva tabla, las tablas que se s” entre alumnos y gistro contiene dos o que ha asistido.

n fallo de diseño, y la. Por ejemplo, si al, y cada dirección ción postal deberá esa persona. Esta las relaciones 1:1 xiste restricción de por ahora...

(con sus campos, grama):

de los campos y or habrá que darle

s guardar toda la spacio.

Page 7: Dise䄐o y creacion de base de datos - infop virtual · 2013-12-20 · TEN cursos. a cursos. lumnos y los profesores también están relaci que ha impartido un cierto profesor; esta

Fundamentos de base de datos

7

Los tipos de datos existotro, así que vamos a liacercándonos al caso de � El nombre de un albásicamente por letras. Tdatos adecuado para almnumérica o algún otro “Carácter” o algo similaletras (insisto: no debemdesperdiciando espacio). � La dirección tendrá tamtambién será tipo Texto, � El DNI del alumno o dtambién alguna letra, detipo “Texto”, y entre 10 ypuntos en los millares, gu � El teléfono del alum“Numérico”, que nos pucaso de que queramos hen un campo. En el catambién es posible que modo que quizá sea máletras. Además, es frecuceros a la izquierda de upermitir con un teléfono,comience por 0 (lo mdeberemos almacenar co � Para la fecha de inicionos permitirán utilizar un � El código de un cursosólo por números, serícontener letras u otros síAlgunos sistemas de “Autonumérico”, que automáticamente (en esegundo un 2, y así sucequé código queremos pacómodo y otros que lo co

stentes pueden variar de un sistema de limitarnos (por ahora) a hacer una primee nuestros campos:

alumno, de un profesor o de un curso. Todos los sistemas de bases de datos tlmacenar series de letras (que podrán in símbolo). Será un tipo llamado “Texto

lar. En cuanto al tamaño, nos puede bamos quedarnos cortos, pero si nos exced).

ambién letras, números y algún otro símb, y unas 50 letras de tamaño puede estar

del profesor contendrá cifras numéricas, pe modo que nos interesará que también y 15 letras de tamaño (dependiendo de sguión antes de la letra, etc.).

mno sólo contendrá cifras. Tendremos uede servir en este caso y que será imp hacer operaciones aritméticas con los dacaso del teléfono, no necesitamos hacee nos interese escribir paréntesis, guionás interesante dejarlo como tipo “Texto

uente que se “ignoren” (no se muestran n una expresión numérica, y esto es algo qo, que podría tener un prefijo provincial o mismo ocurre con los códigos postalcomo texto, no como número).

io de un curso, casi todos los sistemas dn tipo de datos llamado “Fecha”.

o queda a nuestra elección: si queremos ría tipo de datos “Numérico”; si queresímbolos, debería ser de tipo “Texto”. bases de datos van más allá y p

es un dato numérico que va el primer registro que introduzcamos scesivamente), para que no tengamos ni siqpara cada registro (hay gente a quien esconsideran demasiado rígido).

Unidad 4

bases de datos a era aproximación,

o, estará formado tendrán un tipo de incluir alguna cifra to”, “Alfanumérico”, astar con unas 40 demos, estaremos

bolo, de modo que r bien.

pero posiblemente n este dato sea de si vamos a escribir

s un tipo de dato prescindible en el

datos almacenados cer operaciones, y nes o espacio, de to”, de unas 12-15 ni se guardan) los que no deberemos o internacional que ales, que también

de bases de datos

s que esté formado remos que pueda

permiten un tipo incrementándose

será un 1, en el siquiera que pensar esto le parece muy

Page 8: Dise䄐o y creacion de base de datos - infop virtual · 2013-12-20 · TEN cursos. a cursos. lumnos y los profesores también están relaci que ha impartido un cierto profesor; esta

Fundamentos de base de datos

8

CREANDO NUESTRA B Emplearemos Microsoft este software. Y los canteriores) deberían ser Vamos a dar por supuepapel. Entonces el primeaparecerá una pantalla c

En ella se nos pregunta nuestro caso) o bien creharemos clic en la opciindica la flecha. Al hacermuestra la siguiente imag

BD CON MICROSOFT OFFICE ACCESS

ft Office Access, puede hacer uso de cuacambios a realizar para versiones poste mínimos.

uesto que ya hemos diseñado nuestra ber paso es evidente: entrar a Microsoft O

como ésta:

a si queremos abrir una base de datos yarear una nueva (que sí es lo que nos incion: BASE DE DATOS EN BLANCO; quer clic allí, se activa nuevas opciones a laagen:

Unidad 4

S.

ualquier versión de teriores (o incluso

base de datos en Office Access. Nos

ya existente (no es interesa). Entonces que es la que nos la derecha como lo

Page 9: Dise䄐o y creacion de base de datos - infop virtual · 2013-12-20 · TEN cursos. a cursos. lumnos y los profesores también están relaci que ha impartido un cierto profesor; esta

Fundamentos de base de datos

9

Nos pide que le demoPRACTICA1 y pinchamo Nos aparecerá una venta

os un nombre a nuestra base de datos el botón CREAR.

tana como la siguiente:

Unidad 4

atos, Escribamosle

Page 10: Dise䄐o y creacion de base de datos - infop virtual · 2013-12-20 · TEN cursos. a cursos. lumnos y los profesores también están relaci que ha impartido un cierto profesor; esta

Fundamentos de base de datos

10

En la primera tabla, debe

Debemos ubicarle un noALUMNO, para cambiarlHaremos clic derecho esiguiente imagen, y luegoque en este caso será AL

emos ingresar los siguientes datos:

ombre a la primera tabla, el nombre querle nombre hay dos formas de hacerlo, la pen la palabra tabla que se muestra a l

go clic en cambiar nombre y y escribir el nALUMNO.

Unidad 4

e le daremos será primera:

la izquierda de la nombre de la tabla

Page 11: Dise䄐o y creacion de base de datos - infop virtual · 2013-12-20 · TEN cursos. a cursos. lumnos y los profesores también están relaci que ha impartido un cierto profesor; esta

Fundamentos de base de datos

11

Y la segunda forma de centro de la pantalla de tabla que en este caso se

Recordemos pues que necesario que nuestra ALUMNO que es la PROFESORES, CODIGOPara crear las siguientesHaremos clic en crear y llamara, PROFESORESimagen.

hacerlo es: hacer clic derecho sobre la e Access y hacer clic en guardar y escribserá ALUMNO.

según el análisis que hicimos de nues base de datos contenga 4 tablas, la

que ya creamos, y nos falta la taO Y ASISTIR. s tablas, haremos los siguientes pasos: y luego en tabla y cambiamos el nombre S Y agregaremos los siguientes datos co

Unidad 4

a palabra tabla del ibir el nombre de la

estro problema, es la primera que es tabla con nombre

e a la tabla esta se como lo muestra la

Page 12: Dise䄐o y creacion de base de datos - infop virtual · 2013-12-20 · TEN cursos. a cursos. lumnos y los profesores también están relaci que ha impartido un cierto profesor; esta

Fundamentos de base de datos

12

Siguiendo los mismos paCURSOS Y ASISTIR. Y

asos, crearemos las dos tablas restantes quedaran de la siguiente forma.

Unidad 4

s con los nombres:

Page 13: Dise䄐o y creacion de base de datos - infop virtual · 2013-12-20 · TEN cursos. a cursos. lumnos y los profesores también están relaci que ha impartido un cierto profesor; esta

Fundamentos de base de datos

13

En esta unidad, hasta aqlos tipos de datos que p Es esta tabla sólo hemocasilla “Texto” vemos qtenemos más opcionesaparecen todos los tipos Brevemente describiremo � Texto: letras, númerosno podrá exceder los 255 � Memo: similar al textoque el campo Texto). � Numérico: valores exc � Fecha/Hora: fechas y/ � Moneda: un valor nsignificativas. Se usará pque puede manejar un ba � Autonumérico: un nregistro: en el primer

quí llegaremos, solamente es necesario e permite Microsoft Office Access.

os empleado campos de tipo “Texto”, perque aparece una flecha hacia abajo, i

es que podemos escoger. Si desplegs de datos que Access reconoce:

os cada uno de ellos:

os y otros símbolos, con una longitud máx55 caracteres.

to, pero de longitud indefinida (más versá

xclusivamente numéricos, con o sin decim

y/o horas.

numérico con pocos decimales pero co para números “grandes” y con pocos decbanco.

número que aumenta automáticamenter registro valdrá 1, en el segundo

Unidad 4

echar un vistazo a

ero al pinchar en la indicándonos que gamos esta lista,

áxima definida, que

átil pero más lento

males.

con muchas cifras ecimales, como los

te en cada nuevo valdrá 2, y así

Page 14: Dise䄐o y creacion de base de datos - infop virtual · 2013-12-20 · TEN cursos. a cursos. lumnos y los profesores también están relaci que ha impartido un cierto profesor; esta

Fundamentos de base de datos

14

sucesivamente. Hay genprimaria (en nuestro caso � Si/No: un campo que sque usar una S o una letra), por varios motivmayúsculas y minúsculapaís de habla inglesa, se � Objeto OLE: cualquieimágenes, fragmentos dcrecerá rápidamente. (OL � Hipervínculo: un enla � Asistente para búsqufuese una lista de valores � Byte: números enterespacio que ocupará ser � Entero: números enter � Entero largo: númerobytes. � Simple: números reaposibles entre 1,4·10–45 � Doble: números reales1,79·10308 y 4,94·10-32

nte a la que le gusta usar este tipo de camso, podría ser el código de alumno).

sólo puede tener un valor entre esos dos N (que sería un campo “texto” con unativos: ocupa menos espacio, no existirlas, ni siquiera de “internacionalización” (pe convertiría automáticamente en Yes y N

ier otro tipo de objeto “incrustado”, Nos de video, etc. Eso sí, el tamaño del

LE es la abreviatura de “Object Linking a

lace al estilo de los que se emplean en Inte

uedas: nos permitiría que en ese campo es predefinidos.

ros (sin decimales) entre 0 y 255 (amrá de un byte, como su nombre indica.

eros entre –32.768 y 32.767. Ocupa 2 byte

os enteros entre –2.147.483.648 y 2.147.

eales (con decimales) de “simple precis5 y 3,4·1038, con una precisión de 7 cifra

es de “doble precisión”, con valores posibl24, con una precisión de 15 cifras. Ocupa

Unidad 4

ampos como clave

s. Es más correcto na longitud de una tirá problemas de (por ejemplo, en un No).

s permitirá guardar l fichero resultante and Embedding”)

ternet.

o lo que apareciese

bos inclusive). El

tes.

.483.647. Ocupa 4

isión”, con valores as. Ocupa 4 bytes.

bles entre a 8 bytes.