You are on page 1of 7

Tema 2.

Diseño conceptual con el modelo Fases del diseño de BD Mini-


mundo
entidad-relación
Requisitos funcionales OBTENCIÓN Y
ANÁLISIS DE REQUISITOS
Modelado de datos con el modelo ER. Indepen-
Elmasri/Navathe 07 diente ANÁLISIS FUNCIONAL
del SGBD
• Modelos de datos conceptuales
Especificación de
• Ejemplo transacciones
• Tipos de entidad, atributos y claves
• Tipos de relación, roles y restricciones.
DISEÑO DE
• Tipos de entidad débiles PROGRAMAS DE APLICACIÓN
• Convenios de denominación y cuestiones de diseño Específico
• Tipos de relación que unen a más de dos tipos de entidad para cada
IMPLEMENTACIÓN
• Ejemplos de diseño SGBD DE TRANSACCIONES

Programas de aplicación
DBD Tema 2 1 DBD Tema 2 2

Ejemplo: esquema conceptual (ER)


Ejemplo: requisitos de la BD “Empresa”
Requisitos
para la BD “Empresa” Esquema conceptual
de la BD (ER)

• La empresa está organizada en departamentos. Cada uno con nombre y FechaNcto Nombre Nombre Inicial Apellido
número único. Tiene un director, su fecha de inicio y el número de empleados
que trabaja en él. Puede estar distribuido en varias localidades. Parc Nss Nom FechaNcto Dirección Sexo Salario

• Cada departamento controla cierto número de proyectos. Cada uno con supervisor (0,N)
(1,1) (0,N)
nombre y número únicos y se realiza en una sola localidad. SUBORDINADO SUBORD_DE EMPLEADO
SUPERVISIÓN

Sexo Parentesco supervisado (0,1)


• De cada empleado se guarda su nombre, número de seguridad social,
dirección, salario, sexo y fecha de nacimiento. Departamento al que (1,N) (1,1) (0,1)
FechaInic
pertenece. Proyectos en los que trabaja (pueden estar controlados por
departamentos distintos al que pertenece el empleado). Nº horas semanales Horas TRABAJA_EN TRABAJA_PARA DIRIGE

dedicadas a cada proyecto y quién es su supervisor.


(1,N) (1,N) (1,1)
(1,1) (0,N)
PROYECTO CONTROLA DEPARTAMENTO
• De cada subordinado al número de seguridad social de un empleado
interesa su nombre, sexo, fecha de nacimiento y parentesco (hijo, esposa,
Localidades NºEmpleados
...). Nombre Número Localidad
Número Nombre
DBD Tema 2 3 DBD Tema 2 4
Qué es un esquema conceptual Ejemplo: esquema lógico (relacional)
(como el anterior) Esquema conceptual para la BD “Empresa” Esquema lógico
(ER) (relacional)
Primary key (transformado a partir del ER anterior)
Unique
• Descripción concisa de los requisitos de información de los usuarios.
EMPLEADO
NSS NOMBRE INIC APELLIDO FECHA_NCTO DIRECCIÓN SEXO SALARIO SUPERV DPTO
• Contiene descripciones de:
CF:EM- CF:DEPAR-
– Tipos de entidad: DEPARTAMENTO PLEADO TAMENTO

NÚMERO NOMBRE DIRECTOR F_INIC_DIRECTOR LOCALIDADES_DEPTO


CF:EMPLEADO NÚMERO LOCALIDAD
PROYECTO
(1,N) (0,N) (0,N) (1,1) NÚMERO NOMBRE LOCALIDAD DEPTO CF:DEPAR-
– Relaciones y sus restricciones: TAMENTO
CF:DEPAR-
TAMENTO
SUBORDINADO TRABAJA_EN
EMPLEADO FECHA_NCTO NOMBRE SEXO PARENTESCO EMPLEADO NP HORAS
• No incluyen detalles de implementación (como tipos de datos, etc.). CF:EM- CF:EM- CF: PRO-
PLEADO PLEADO YECTO
• Podría servir para comunicarse con usuarios NO técnicos sobre el contenido
que tendrá la BD. Normalizada
en FNBC
DBD Tema 2 5 DBD Tema 2 6

Ejemplo: esquema interno Conceptos del modelo ER (1/2)


para la BD “Empresa” Esquema interno
(simplificado a una propuesta de índices) (índices)
ATRIBUTOS

• Depende de las transacciones (consultas, inserciones, modificaciones, ...) TIPOS DE ENTIDAD SIMPLE
más comunes sobre la BD. Según sean, podríamos haber llegado a la
FUERTE
siguiente definición de índices: CLAVE

ÍNDICE
TABLA ÍNDICES SECUNDARIOS DÉBIL CLAVE PARCIAL
PRIMARIO/AGRUPACIÓN
IS(APELLIDO, NOMBRE)
EMPLEADO IP(NSS)
IS(SUPERV), IS(DPTO) ... COMPUESTO
DEPARTAMENTO IP(NÚMERO) IS(DIRECTOR) TIPOS DE RELACIÓN
PROYECTO IP(NÚMERO) IS(DEPTO) DERIVADO
NORMAL
IP(EMPLEADO,
SUBORDINADO MULTIVALOR
FECHA_NCTO, NOMBRE)
IP(NÚMERO, IDENTIFICADOR
LOCALIZACIONES_DEPTO
LOCALIZACIÓN) COMPLEJO
...
TRABAJA_EN IP(NP, EMPLEADO)

DBD Tema 2 7 DBD Tema 2 8


Conceptos del modelo ER (2/2) Tipo de entidad y su conjunto de entidades

LIBRO
GRADO DE TIPO Código Título NºCopias
RESTRICCIONES Código Título NºCopias
DE RELACIÓN
R ternario Tolk-1 El Sr. de los Anillos 3
(1, ) LIBRO
PARTICIPACIÓN
TOTAL DE B EN R R B Orw-1 1984 2
A R B
Shar-1 Wilt 1
( ,N) Tipo de entidad
CARDINALIDAD
R B C o intensión
N (VARIOS) DE B EN R Conjunto de entidades del tipo de Al ser conjunto no
entidad LIBRO o extensión puede haber entidades
repetidas
RESTRICCIONES OTROS • Tipo de entidad es un conjunto de entidades que posee el mismo conjunto
NOTACIÓN ALTERNATIVA de atributos.
•Dominio (tipo de datos) • Cada entidad del tipo de entidades contiene un valor para cada uno de los
(0,N) (1,1)
E1 R E2 •Valor nulo atributos definidos en el tipo de entidades
•Conjunto de entidades • Para cada tipo de entidad (como LIBRO):
1 N – Se describe con su nombre y lista de atributos
E1 R E2 y de relaciones
•Atributos de tipo de relación: – Sus entidades son el conjunto de entidades o extensión.
– El t. de entidad se llama intensión de su conjunto de entidades
DBD Tema 2 9 DBD Tema 2 10

Entidades y valores de atributos Tipos de atributos

Código=“Tolk-1” • Simple (o atómico): Salario • Complejos:


NomPila anidaciones arbitrarias
Entidad 1 de LIBRO Título= “El sr. De los anillos” de atributos compuestos
• Compuesto: Nombre Apellido1
Nº Copias=“3” y multivalor
Apellido2
• Entidad: “cosa” del mundo real con existencia independiente. Ejemplos: – Pueden formar una jerarquía de varios niveles
– Algo físico: una persona (Alberto), una casa, un automóvil, un empleado, ... – Representa la concatenación de todas sus
– Algo conceptual: una compañía (ACME), un puesto de trabajo (secretario componentes simples
de centro), un curso universitario (2º A), ...
• Monovalor: Salario
• Atributo: Es una propiedad de las entidades del tipo de entidad.
• Valor de atributo: es el valor asignado en una entidad para un atributo. Por ejemplo puede contener:
• Multivalor: Localidades
(Logroño, Navarrete, Ventosa)
• Toda entidad se describe mediante su conjunto de atributos. No puede haber
tipos de entidad sin ningún atributo definido. • Almacenado: FechaN

Calculado a partir de la fecha de


• Derivado: Edad
nacimiento FechaN

DBD Tema 2 11 DBD Tema 2 12


Atributos clave Atributos con valor nulo y dominio de un atributo
PROYECTO PROYECTO2 • Se puede asignar valor nulo a atributos:
Nombre
Clave Localización – Sin valor aplicable: por ejemplo el atributo titulo_universitario para
Nombre Número Localización Número personas que no tenga este tipo de título.
• Atributo clave de un t. de entidad: – De valor desconocido:
– Tiene un valor único para cada entidad del t. de entidad (restricción • Porque falta: por ejemplo el atributo altura para una persona. Es
seguro que toda persona tiene un valor de altura.
de clave o unicidad). Se deberá cumplir para cualquier extensión.
– Ejemplo claro: atributo Matrícula del tipo de entidad VEHÍCULO. • Porque no se sabe si existe: por ejemplo el atributo teléfono de una
persona, puede que no tenga o que sí tenga pero no se conozca.
– Debe ser mínima: sin atributos superfluos
• Hay algunos atributos que no deberían contener valor nulo. Por ejemplo los
– Puede ser un atributo compuesto (como en PROYECTO2). atributos clave que sirven para distinguir una entidad de las demás.
– Algunos t. de entidad (como PROYECTO) pueden tener más de un
atributo clave
• Dominio de un atributo es el conjunto de todos los posibles valores que
– Puede haber t. de entidad sin clave: t. de entidad débil puede tomar el atributo (su tipo de datos, en términos de lenguajes de
programación).
• ¿Claves del tipo de entidad PROYECTO? ¿Y las de PROYECTO2?
• CONFUSIÓN FRECUENTE: pensar que la clave de PROYECTO
significa lo mismo que la de PROYECTO2.
DBD Tema 2 13 DBD Tema 2 14

Identificando tipos de entidad y sus atributos Identificando tipos de entidad y sus atributos
para la BD “Empresa” (1/2) para la BD “Empresa” (2/2)

a Nombre Inicial Apellido


EMPLEADO “De cada empleado se guarda su nombre,
Director FechaInic número de seguridad social, dirección, salario,
Nss Nom FechaNcto Dirección
“departamentos. Cada uno con nombre y sexo y fecha de nacimiento. Departamento al
número único. Tiene un director, su fecha Sexo que pertenece. Proyectos en los que trabaja
DEPARTAMENTO EMPLEADO (pueden estar controlados por departamentos
de inicio y el número de empleados que
Salario
trabaja en él. Puede estar distribuido en distintos al que pertenece el empleado). Nº
Localidades NºEmpleados varias localidades.” horas semanales dedicadas a cada proyecto y
Jefe Trabaja_en Depto
Número Nombre quién es su supervisor.”

Proyecto Horas a
DEPARTAMENTO Empleado FechaNcto Nombre
DptoControlador a
PROYECTO
“Cada departamento controla cierto número de Clave
proyectos. Cada uno con nombre y número PROYECTO “De cada subordinado al número
únicos y se realiza en una sola localidad.” de seguridad social de un empleado
SUBORDINADO
Nombre Número Localidad interesa su nombre, sexo, fecha de
nacimiento y parentesco (hijo,
Sexo Parentesco
esposa, ...).”
DBD Tema 2 15 DBD Tema 2 16
Relaciones implícitas en el ejemplo Tipo de relación y su conjunto de relaciones
• Relación implícita: atributo que hace referencia a otro tipo de entidad.
• En el ejemplo anterior hemos marcado las relaciones implícitas en rojo y Tipo de
relación
con flechas de línea discontinua. Como en el caso de: (intensión)
Código Título NºCopias Código Nombre
DptoControlador Relación implícita
(0,N) (0,N)
Con el tipo de entidad LIBRO PRESTADO LECTOR
DEPARTAMENTO PROYECTO DEPARTAMENTO

• En el modelo ER estas referencias hay que representarlas como tipos de LIBRO LECTOR
relación: Código Título NºCopias Código Nombre
Eliminamos Tolk-1 El Sr. de los Anillos 3 PRESTADO 11 Joseba
DEPARTAMENTO CONTROLA PROYECTO el atributo LIBRO LECTOR
DptoControlador Orw-1 1984 2 22 Miren
Shar-1 Wilt 1 Tolk-1 11
Tolk-1 22 Conjunto de
• En un primer paso podemos capturar las relaciones mediante estos atributos relaciones
a los que hemos llamado relaciones implícitas. Al ser conjunto no puede haber Orw-1 11 (extensión).
relaciones repetidas. del tipo de
• Pero en un segundo paso hay que sustituir todos estos atributos por tipos de Shar-1 22
Por eso ponemos como clave la relación
relación. concatenación de LIBRO+LECTOR PRESTADO

DBD Tema 2 17 DBD Tema 2 18

Restricciones estructurales en tipos de relación binarios:


Tipo de relación y grado
cardinalidad
( ,1) ( ,N)
LIBRO PRESTADO LECTOR 1:N EMPLEADO TRABAJA_PARA DEPARTAMENTO

• Acabamos de ver que un tipo de relación, como PRESTADO, entre varios • Razón de cardinalidad: nº de relaciones en las que puede participar
tipos de entidad (LIBRO Y LECTOR) define un conjunto de asociaciones ó una entidad.
conjunto de relaciones entre las entidades de los tipos de entidad. • Cada entidad de DEPARTAMENTO puede participar en varias (N)
relaciones de TRABAJA_PARA.
• Cada relación r ∈PRESTADO es una asociación de entidades que incluye
• Cada entidad de EMPLEADO puede participar como mucho en una (1)
una única entidad de cada tipo de entidad que participa en el tipo de relación
relación de TRABAJA_PARA.
PRESTADO:
(Tolk-1, 11), (Tolk-1, 22), (Orw-1, 11) • En tipos de relación binarios la razón de cardinalidad puede ser 1:1, 1:N
ó N:M.
• Grado de un tipo de relación es el número de tipos de entidad que participan.
( ,1) ( ,1)
PRESTADO es de grado dos o binario. Los más comunes son los binarios. 1:1 EMPLEADO DIRIGE DEPARTAMENTO
• En el ejemplo, R es un tipo de relación ternaria: A R B
( ,N) ( ,N)
M:N LIBRO PRESTADO LECTOR
C
DBD Tema 2 19 DBD Tema 2 20
Restricciones estructurales en tipos de relación binarios:
Roles y tipos de relación recursivos
participación
(1,1) (1,N)
(0, ) (1, ) EMPLEADO TRABAJA_PARA DEPARTAMENTO
EMPLEADO DIRIGE DEPARTAMENTO trabajador contratante

• Rol: indica el papel desempeñado por las entidades en las relaciones.


• Restricción de participación:
• En el ejemplo: las entidades de EMPLEADO desempeñan el rol de “trabajador”
– Total (dependencia de existencia): toda entidad de DEPARTAMENTO en las relaciones de TRABAJA_PARA.
debe participar al menos en una (1) relación de DIRIGE (porque todo
• Los roles NO son necesarios si los tipos de entidad relacionados son
departamento debe tener un director).
distintos. En el ejemplo: si NO hubiera rol, los empleados desempeñarían el rol
– Parcial: algunas entidades de EMPLEADO no participan (0) en ninguna de “el empleado” en las relaciones de TRABAJA_PARA.
relación de DIRIGE y otras si (no todos los empleados son directores de
departamento). EMPLEADO Sin roles ... ¿cómo
se sabe a qué se
• La notación mínimo-máximo (mín, max): admite poner otros números jefe (0,N) (0,1) subalterno refiere el (0,N) y el
DIRIGE (0,1)?
además de 0 ó 1 para el mínimo (participación) y 1 ó N para el máximo
(cardinalidad): • Los roles son obligatorios si se repiten tipos de entidad en el tipo de relación.
(..., ...) (22,28)
JUGADOR JUEGA PARTIDO_FUTBOL • Los tipos de relación (como DIRIGE), donde un mismo tipo de entidad participa
varias veces, se llaman tipos de relación recursivos.

DBD Tema 2 21 DBD Tema 2 22

Atributos de un tipo de relación Tipo de entidad débil (1/2) Tema

Asignatura NºHojas APUNTES NºHojas


EMPLEADO EMPLEADO EMPLEADO Id APUNTES (1,1)
Tema Autor Autor
(0,1) FechaInic (1,1) FechaInic (1,N) Horas PERTENECEN
DIRIGE TRABAJA_PARA TRABAJA_EN Titulación Código
Código ASIGNATURA (1,N)
(1,1) (1,N) (1,N) Curso ASIGNATURA Titulación
DEPARTAMENTO DEPARTAMENTO PROYECTO
Curso
• La clave de APUNTES es compuesta. Una de sus componentes es una
relación implícita al tipo de entidad ASIGNATURA.
• Estos atributos NO pueden ser clave: • Al transformar la relación implícita al tipo de relación PERTENECEN, el tipo
• La clave de los tipos de relación 1:1 puede ser cualquiera de los dos tipos de de entidad APUNTES se queda sin clave.
entidad. En 1:N el tipo de entidad con cardinalidad 1 y en N:M ambos tipos • Para seguir representando la clave se usan los tipos de entidad débil:
de entidad de manera conjunta. – El trozo de clave que queda en APUNTES (Tema) se marca como clave
• Estos atributos no modifican la clave de un tipo de relación. parcial (subrayado discontinuo).
• Según sea 1:1, 1:N ó N:M el atributo del tipo de vínculo puede situarse – El tipo de relación que completa la clave se marca con línea doble y se
llama tipo de relación identificador.
alternativamente en alguno de los tipos de entidad participantes, como
muestran las flechas en los ejemplos. – El tipo de entidad relacionado mediante el tipo de relación identificador
se llama tipo de entidad propietario ó identificador.
DBD Tema 2 23 DBD Tema 2 24
Tipo de entidad débil:
Tipo de entidad débil (2/2)
varios niveles y ausencia de clave parcial
Tipo de relación Código
Clave
parcial identificador Núm ... Núm ... Código
Tema Titulación (1,1) (1,N) (1,1) (1,N)
(1,1) (1,N) PC ESTÁ SALA ESTÁ EDIFICIO
NºHojas APUNTES PERTENECEN ASIGNATURA Curso
...
Autor Tipo de entidad débil Tipo de entidad propietario • Puede haber varios niveles de tipo de entidad débil. Aquí la clave de PC está
ó identificador compuesta de las claves de EDIFICIO y de SALA más su clave parcial.

• Un tipo de entidad débil no tiene atributos clave propios. Nombre


• Sus entidades se identifican por la clave parcial concatenada con la clave Salario Sexo Dirección FechaNcto
Nss Nom
de la entidad relacionada mediante el tipo de relación identificador. Apellido1
(1,1) (1,1)
• Eso supone que la participación con este tipo de relación debe ser siempre RESTO_EMPLEADO EMPLEADO Apellido2
(1,1), para que haya siempre un valor que complete la clave y sólo uno.
• Podemos encontrarnos con tipos de entidad débil sin clave parcial. Por
• La N de ASIGNATURA sólo tiene sentido si APUNTES tiene clave parcial. Si
ejemplo, si EMPLEADO tiene muchos atributos podemos separar los usados
no hay clave parcial significa que la clave de APUNTES es la misma que la
de ASIGNATURA. Así, una ASIGNATURA solo puede prestar su clave a una con menos frecuencia en la tabla RESTO_EMPLEADO.
entidad de APUNTES (si no, encontraríamos en APUNTES valores de clave • En este caso, la cardinalidad de EMPLEADO en el tipo de relación
repetidos). identificador no puede ser N (precisamente porque no hay clave parcial).
DBD Tema 2 25 DBD Tema 2 26

Tipo de entidad débil:


Diseño alternativo al tipo de entidad débil: atributo complejo
con varios tipos de relación identificador
Código Sin otros tipos de relación
En este caso, si Tema
Fecha ... (1,1) (1,N) no hubiera clave
ITINERARIO parcial, APUNTES Tema NºHojas Autor
NºHojas
EXCURSIÓN ... ITINERARIO y
Id GUÍA también (1,1)
Autor Apuntes
GUÍA tendrían PERTENECEN Código
(1,1) (1,N) cardinalidad N
Código
... (1,N) Titulación ASIGNATURA
• Un tipo de entidad débil puede tener varios tipos de entidad propietarios. En Titulación ASIGNATURA
este caso la clave de EXCURSIÓN está compuesta del Código de itinerario, Curso
el Id de GUÍA y la Fecha de la EXCURSIÓN. Curso
• El esquema de arriba es equivalente al que se muestra a continuación:
Código • Esta solución NO se puede adoptar si existen otros tipos de relación,
Fecha ... diferentes al tipo de relación identificador, en los que participe APUNTES.
(1,N) ITINERARIO
• Hay que tener en cuenta que los rombos sólo unen rectángulos. Por tanto,
(1,1) ...
EXCURSIÓN Id
NO se puede dibujar un rombo que una el atributo multivalor Apuntes con un
rectángulo.
(1,N) GUÍA

DBD Tema 2
... 27 DBD Tema 2 28

You might also like