Escolar Documentos
Profissional Documentos
Cultura Documentos
Bases de datos
Especificaciones
(en lenguaje
Diseño: natural)
Diseño lógico
Esquema físico
(Organización
de archivos e
índices)
2
Ejemplo: Diseño de una base de datos
para la secretaría de una facultad
Conceptos:
Entidad.
DNI = 01234567Z,
Nombre y apellidos = Manuel Vázquez Prieto,
Teléfono = 91-12345678
Domicilio = Calle del Jazmín 7, 4 Izq.
Atributo.
Monovalorados/multivalorados
Simples/Compuestos
Relación.
(José García, Bases de datos)
5
2. Diseño conceptual
Conceptos:
Tipos de entidad.
Alumno
Tipos de relación.
Matrícula
6
2. Diseño conceptual
Conceptos:
Clave. Identificador/es unívoco de una
entidad.
DNI en Alumnos
Tipos de clave:
Superclave.
Clave primaria.
Clave candidata.
7
Diagrama Entidad-Relación
8
Diagrama Entidad-Relación
Diagrama E-R
Rectángulos => entidades
Asignaturas
Alumnos
Simple A Simple B
Compuesto
10
Atributos monovalorados y
multivalorados
11
Ejemplo atributos
12
Atributos de una relación
Fecha_devolución ISBN
DNI
13
Atributos de una relación
Fecha_apertura NºCUENTA
DNI
14
Valores nulos
El
valor nulo tiene dos modos de uso
semánticamente distintos:
No existencia del dato: el atributo no tiene sentido en
la entidad particular.
Ej. atributo PISO en una entidad CLIENTES donde el
elemento insertado corresponde a un cliente con
domicilio en una casa unifamiliar.
Desconocimiento: el atributo se “deja en blanco” por
no disponer de la información.
Ej. atributo ALTURA en una entidad JUGADORES.
Ambigüedad: a veces no es posible distinguir si
el valor de un atributo “no existe” o si “se
desconoce”.
Ej. atributo TELF_MOVIL en una entidad ALUMNOS
15
Grado de una relación
16
Roles
Profesor
Supervisor Supervisado
supervisa
17
Diseño conceptual
18
Pasos básicos a seguir
3. Restricciones.
19
Elección de los tipos de entidad y
sus atributos
Del punto 1 de la especificación del problema de
la secretaría se deduce que va a haber un tipo
de entidad ALUMNOS, pero no cuáles son sus
atributos:
¿Debe incluir las asignaturas (punto 2) en las
que está matriculado?
La respuesta es NO y hacerlo así sería un error grave.
Apartede la idea ‘filosófica’ (cada asignatura es
un objeto con significado propio, es decir, una
entidad), al mezclar en una sola entidad
alumnos y asignaturas cometemos varios
errores.
20
Elección de los tipos de entidad y
sus atributos
Un alumno no tiene una asignatura asociada
sino un conjunto de asignaturas asociadas.
En cambio, sí tiene un DNI asociado, una
dirección asociada, etc.
Por tanto las entidades serían de la forma
{DNI=12345678V, Nomb.Ape=Luis Martínez,
Telf.=01234567, Cod=MD, Título=Matemática
Discreta, Créditos=9}
{DNI=12345678V, Nomb.Ape=Luis Martínez,
Telf.=01234567, Cod=IS, Título=Ingeniería del
Software, Créditos=12}
{DNI=12345678V, Nomb.Ape=Luis Martínez,
Telf.=01234567, Cod=LPI, Título=Laboratorio de
programación I, Créditos=X}
ERROR: Redundancia (información de alumnos repetida)
21
Elección de los tipos de entidad y
sus atributos
Estose puede solucionar si admitimos que los
atributos contengan conjuntos de valores
(multivalor)
{ DNI=12345678V, Nomb.Ape=Luis Martínez,
Telf.=01234567, … , Asignaturas={ {Cod=MD,
Título=…}, {COD=IS,Título=…}, {Cod=LPI,Título=…}
}}
Errores:
Difícil de manejar Poco escalable cuando el conjunto
de valores es muy elevado
22
Elección de los tipos de entidad y
sus atributos
Además, las asignaturas son siempre las
mismas, con lo que por cada alumno que se
matricula en la misma asignatura hay que
repetir la información de ésta.
{ DNI=12345678V, Nomb.Ape=Luis Martínez,
Telf.=01234567,Asignaturas={ {Cod=MD, Título=…},
{COD=IS,Título=…}, {Cod=LPI,Título=…} } }
{ DNI=0000001, Nomb.Ape=Eva Manzano,
Telf.=01234567,…, Asignaturas={ {Cod=MD,
Título=…}, {COD=IS,Título=…},
{Cod=BDSI,Título=…} } }
Error:
Redundancia (otra vez, información de asignaturas
repetida)
23
Elección de los tipos de entidad y
sus atributos
Además, en cualquiera de estas
soluciones no se pueden guardar los
datos de una asignatura hasta que no se
matricule un alumno en ella.
Puede ser que en secretaría quieran meter
los datos de las asignaturas antes de
empezar el proceso de matrícula de alumnos
No pueden
Podríapensarse: las incluimos con los
datos de los alumnos vacíos (nulos).
Olvídalo…es una chapucilla
24
Elección de los tipos de entidad y
sus atributos
Del punto 3 de la especificación, por cada
profesor hay que apuntar las asignaturas
que imparte.
La información de las asignaturas debe
estar por tanto relacionada con la de los
profesores, pero ya está incluida con los
alumnos
25
Elección de los tipos de entidad y
sus atributos
Por tanto hay que distinguir entre el tipo de
entidad ALUMNOS y el tipo de entidad
ASIGNATURAS.
Ambas se relacionarán mediante un tipo de relación
MATRICULA.
Parece claro que los restantes tipos de entidad
serán: PROFESORES y AULAS.
26
Elección de los tipos de entidad y
sus atributos
Aún nos falta un atributo: la Nota
¿Dónde la ponemos?
¿En alumnos?
NO, porque un alumno tiene muchas notas
¿En asignaturas?
NO porque una asignatura tiene muchos alumnos
Posible solución:
Nota será un atributo del tipo de relación
Matrícula. (vimos que esto se debe evitar por sencillez...pero es posible)
27
Elección de los tipos de relación
28
Elección de los tipos de relación
29
Ejemplo: Diseño de una base de datos
para la secretaría de una facultad
Nota
Supervisa
supervisor supervisado
30
Restricciones
31
Restricciones
Observaciones:
Las restricciones son parte del diseño de la BD igual
que los tipos de entidades o de relaciones.
Los SGBD se encargan de comprobar que la instancia
verifica las restricciones más usuales.
Ej.:En el caso anterior, una vez incluida la restricción, el
SGBD no nos permitiría insertar la segunda tupla.
32
Restricciones de clave
SUPERVISOR SUPERVISADO
({DNI=666666,…}, {DNI=444444,…})
({DNI=000001,…}, {DNI=444444,…})
33
Restricciones de clave
34
Restricciones de cardinalidad
35
Restricciones de cardinalidad
36
Restricciones de cardinalidad
N 1
Personas Nacida País
37
Representación de cardinalidad en
diagramas E-R
Hay VARIAS formas de expresar las
restricciones de cardinalidad sobre tipos de
relaciones en los diagramas E-R:
1 1 one-to-one
Entity_1 R Entity_2
1 N one-to-many
Entity_1 R Entity_2
N 1 many-to-one
Entity_1 R Entity_2
N N many-to-many
Entity_1 R Entity_2
38
Restricción de participación
39
2. Diseño lógico
Herramienta:
Modelo relacional.
Resultado:
Esquema lógico.
40
Modelo relacional
41
Terminología del modelo relacional
Relación
Igual que en el esquema ER.
Las entidades particulares se representan como tuplas
o filas de la tabla.
Atributo
Igual que en el esquema ER.
Se representan como las columnas de la tabla.
Los valores de los atributos de las tuplas deben ser
atómicos.
No puede haber atributos compuestos
O se representan sus componentes individuales como
atributos
O se junta toda la información en un único atributo
Ej: secretaría => domicilio como atributo simple con toda la
información
No puede haber atributos multivalorados
Veremos como convertirlos en atributos monovalorados
42
Terminología del modelo relacional
44
Terminología del modelo relacional
45
Paso del modelo ER al modelo
relacional
46
Entidades
47
Ejemplo secretaría
48
Relaciones binarias: restricciones
de cardinalidad varios a varios
Varias a varias
E1 R E2
49
Relaciones binarias: restricciones
de cardinalidad varios a varios
Superclave para R:
c1 c2
50
Ejemplo secretaría
51
Ejemplo secretaría
01234567Z 520 8
52
Relaciones con restricciones de
cardinalidad 1 a M
Una a varias
E1 R E2
53
Relaciones con restricciones de
cardinalidad 1 a M
54
Relaciones con restricciones de
cardinalidad 1 a M
Nombre
Apell. Países
Personas Nacida
DNI
Esquema:
Personas(DNI,Apell, PaisNac)
Países(Nombre)
Integridad referencial:
Personas.PaisNac -> Países.Nombre
55
Anexo
Ejercicio de Clase. Modelo E-R
57