Está en la página 1de 67

DISEÑO DE BASES DE

DATOS RELACIONALES
Objetivo

 En general, el objetivo del diseño de una


base de datos relacional es generar un
conjunto de esquemas de relaciones que
permitan almacenar la información con un
mínimo de redundancia, pero que a la vez
faciliten la recuperación de la información.

Diseño de Bases de datos.


Problemas en el diseño de
bases de datos
 Redundancia de información
 Incoherencia de datos
 Valores nulos
 Complicada actualización (inserción,
eliminación y modificación)
 Desperdicio de espacio

Diseño de Bases de datos.


Fases del diseño de bases
de datos
Mundo Real

RECOLECCIÓN Y ANALISIS DE
REQUERIMIENTOS

DISEÑO CONCEPTUAL

DISEÑO LÓGICO

DISEÑO FISICO

Diseño de Bases de datos.


Recolección y análisis de
requerimientos:

 Los diseñadores entrevistan a los futuros


usuarios de la base de datos para recoger y
documentar sus necesidades de información.
En paralelo, conviene definir los
requerimientos funcionales que consisten en
operaciones (transacciones) que se aplicarán
a la base de datos, e incluyen la obtención de
datos y la actualización.

Diseño de Bases de datos.


Diseño conceptual
 Crear un esquema conceptual mediante un
modelo de datos conceptual de alto nivel.
 El esquema conceptual contiene una descripción
detallada de los requerimientos de información
de los usuarios, y contiene descripciones de los
tipos de datos, relaciones entre ellos y
restricciones.
 Se utiliza para el diseño de esquemas
conceptuales el MER (modelo entidad-relación

Diseño de Bases de datos.


Diseño lógico de la base
de datos

 Transformar el modelo conceptual al


modelo de datos empleados por el
S.G.B.D. (relacional).

Diseño de Bases de datos.


Diseño físico de la base de
datos

 En este paso se especifican las estructuras


de almacenamiento internas y la
organización de los archivos de la base de
datos.

Diseño de Bases de datos.


Diseño de Bases de datos.
Generalidades
 El modelo E-R fue propuesto por Peter P. Chen
entre los años 1976-1977. Posteriormente otros
muchos autores han investigado y escrito sobre el
modelo, proporcionando importantes
aportaciones, por lo que realmente no se puede
considerar que exista un único modelo E-R.
 El modelo E-R describe los datos como entidades,
relaciones (vínculos) y atributos y permite
representar el esquema conceptual de una base
de datos de forma gráfica mediante los diagramas
E-R.

Diseño de Bases de datos.


Esquema conceptual

 Descripción concisa de los requisitos de


información de los usuarios
Descripciones detalladas de
 TIPOS DE DATOS
 RELACIONES ENTRE DATOS
 RESTRICCIONES que los DATOS deben cumplir

 Sin detalles de implementación


 Más fácil de entender
 Comunicación con el usuario no técnico

Diseño de Bases de datos.


Entidades y atributos
 Una entidad puede ser un objeto con existencia
física o un objeto con existencia conceptual
 Se representa por un rectángulo, dentro de la
cual va el nombre en singular
“Persona, lugar, cosa, concepto o suceso, real o abstracto, de interés para la
empresa” (ANSI, 1977)

CLIENTE PROVEEDOR CURSO

Diseño de Bases de datos.


Tipos de entidades

 Fuertes (o regulares), que son aquellas


que tienen existencia por si mismas
EMPLEADO
 Débiles, cuya existencia depende de otro
tipo de entidad Estas entidades
normalmente no tienen suficientes
atributos para formar una clave primaria.
FAMILIAR
Diseño de Bases de datos.
Atributos:

 Cada entidad tiene propiedades


especificas, que la describen.
 Los atributos se representan por elipses
que están conectadas a su entidad o
relación mediante una línea recta.

Cod Nombre Telef

PROVEEDOR
Diseño de Bases de datos.
...Atributos

 Una entidad particular es descrita por los


valores de sus atributos:

Diseño de Bases de datos.


...Atributos
 Al conjunto de valores que puede tomar un atributo se le llama
dominio del atributo.
 Cada atributo simple está asociado a un dominio, que especifica sus
valores válidos

Diseño de Bases de datos.


...Atributos
 Toda entidad debe tener al menos un atributo que permita
diferenciar unas entidades particulares de otras. A estos atributos
se les llaman claves.

[EN 2002] Elmasri, R.; Navathe, S.B. Fundamentos de Sistemas de Bases de


Datos. 3ª ed. Addison-Wesley, (Cap. 3 y 4)
[MPM 1999] De Miguel, A.; Piattini, M.; Marcos, E. Diseño de bases de datos
relacionales. Ra-Ma. (Cap. 2)

Diseño de Bases de datos.


...Atributos Clave
 Una clave puede estar formada por
varios atributos --> clave compuesta
 Combinación de valores distinta para cada instancia
(nombre, fechanacim) en el tipo de entidad EMPLEADO
 Una clave compuesta debe ser mínima
 Un tipo de entidad puede tener
más de una clave --> claves candidatas
 Claves o Identificadores Candidatos de EMPLEADO:
 nit Número de identificación tributaria
 C.C Número de Cédula de ciudadania
 Código

Diseño de Bases de datos.


Tipos de atributos
 a) Simples o compuestos: Los compuestos están
formados por un conjunto de atributos, mientras que
los simples no se pueden dividir.

Diseño de Bases de datos.


...Tipos de Atributo
 b) Monovaluados o multivaluados: Los monovaluados sólo pueden tener un valor para
una entidad particular, mientras que los multivaluados pueden tener más de un valor.
Pueden tener límites superior e inferior del número de valores por entidad
 nacionalidad (1-2)
 telefono (0-3)

Placa Modelo Color

AUTO

Diseño de Bases de datos.


... Tipos de atributos
 Almacenados o derivados: Los derivados son atributos
cuyo valor para una entidad particular puede obtenerse en
función de los valores almacenados en otros atributos. Se
representan mediante una elipse con trazo discontinuo.

DNI Nombre FechaN Edad

PERSONA

Diseño de Bases de datos.


Notaciones

Diseño de Bases de datos.


...Notaciones

Diseño de Bases de datos.


Vínculo o relación
 También “interrelación”
 Asociación, vínculo o correspondencia entre instancias
de entidades relacionadas de alguna manera en el
“mundo real”
 El director “Alejandro Amenábar” ha rodado la película “Mar
adentro”
 El empleado 87654321 trabaja en el local de videoclub “principal”
 La película “El imperio contraataca” es una continuación de la
película “La guerra de las galaxias”

Diseño de Bases de datos.


Vínculo o relación
 Se puede definir como una correspondencia, asociación o
conexión entre dos o más entidades.
 En los diagramas E-R se representa gráficamente como un
rombo y sus nombres son verbos.

Una relación puede tener atributos


descriptivos. fecha

PROVEEDOR Vende ARTICULO

Diseño de Bases de datos.


... Vínculo o relación
 Grado de una relación es el número de entidades que
participan en la relación.
 Binaria: grado 2 (el más frecuente)
 Ternaria: grado 3
 Reflexiva (o recursiva): grado 1
 Se puede restringir el MER para incluir solo conjuntos de relaciones
binarias, es decir de grado 2 (es aconsejable).

Diseño de Bases de datos.


...Vinculo o Relación
 Correspondencia de cardinalidad, expresa el número
máximo de entidades que están relacionadas con una
única entidad del otro conjunto de entidades que
interviene en la relación.

Diseño de Bases de datos.


... Vínculo o relación

 Notación [EN-2000]
Etiqueta en la línea que une entidad y relación

Diseño de Bases de datos.


... Vínculo o relación

 Notación [MPM-1999]

Diseño de Bases de datos.


... Vínculo o relación
 Notación [SKS-1998]

[SKS 1998] Silberschatz, A;Korth, H; Sudarshan, S. Fundamentos


Diseño de Basesdededatos.
de Bases Datos. 3ª edición. Madrid: McGraw-Hill. (Cap. 2)
Tipos de participación de las
entidades en una relación
 Opcional (parcial): No todas las ocurrencias de una entidad
tienen que estar relacionadas con alguna de la otra entidad.

PERSONA Posee ANIMAL


Debe pero no Tiene
Obligatoria (total): Todas las ocurrencias de una entidad deben
estar relacionadas con alguna de la entidad con la que esta
relacionada. Se dice también, que existen una participación total
de ese conjunto de entidades en el conjunto de relaciones.

PROVEEDOR Vende ARTICULO

Tiene pero no Debe


Diseño de Bases de datos.
Tipos de participación de las
entidades en una relación

Diseño de Bases de datos.


Cardinalidad de tipo de entidad [EN2002]

Diseño de Bases de datos.


Notaciones

Diseño de Bases de datos.


Relación Débil
•Tipo de relación débil (o dependencia) :Relaciona un tipo
de entidad débil y otro regular.
• Clases de dependencia:
•En existencia: Si desaparece una instancia del tipo de
entidad regular deben desaparecer las instancias de la
entidad débil que dependen de ella
Etiqueta “E” en el tipo de relación débil
•En identificación: Además de la dependencia en
existencia...
Una instancia del tipo de entidad débil no se puede
identificar por sí misma
Su clave es (clave_entidad_regular, clave_parcial)
Etiqueta “ID” en el tipo de relación débil

Diseño de Bases de datos.


Relación Débil

Diseño de Bases de datos.


... Relación Débil

Diseño de Bases de datos.


... Relación Débil

Diseño de Bases de datos.


Modelo Entidad-Relación Extendido
MERE
Enhanced Entity-Relationship model, EER
 Aportaciones de diversos autores al modelo
Entidad-Relación «básico».
 Permiten representar...
 Relaciones exclusivas entre sí
 Jerarquías de Especialización/Generalización
 Agregación de entidades

Diseño de Bases de datos.


Relaciones Exclusivas
 Dos (o más) tipos de relación son exclusivos,
respecto de un tipo de entidad que participa en
ambos, si cada instancia del tipo de entidad sólo
puede participar en uno de los tipos de relación

Diseño de Bases de datos.


Generalización y Especialización

 Caso especial de relación entre un tipo de entidad y


varios otros tipos de entidad

 La jerarquía o relación que se establece entre uno y


otros corresponde a la noción de “es_un” o de
“es_un_tipo_de”

 Estas jerarquías pueden formarse por especialización


o bien por generalización

Diseño de Bases de datos.


Generalización y Especialización
Agrupación de instancias dentro de un tipo de entidad, que debe
representarse explícitamente debido a su importancia para el
diseño o aplicación
 Subtipos del tipo de entidad VEHÍCULO:
 CAMIÓN
 TURISMO
 AUTOBÚS
 CICLOMOTOR
 Subtipos del tipo de entidad EMPLEADO:
 SECRETARIO
 GERENTE
 COMERCIAL

El tipo de entidad que se especializa en otros se llama


Supertipo ( VEHICULO, EMPLEADO )

Diseño de Bases de datos.


E/G: Supertipos y subtipos
 Un supertipo es todo tipo entidad sobre el que
se definen subclases. Como se trata de
entidades.
 Un subtipo es un subconjunto del tipo entidad
que tiene sentido en el minimundo ya que tiene
atributos particulares.

Diseño de Bases de datos.


E/G: Supertipos y subtipos
 El tipo relación entre una supertipo y sus subtipos, se
dice que es un tipo ES_UN (IS_A). Este tipo relación se
representa a diferencia del resto de relaciones con un
triángulo. El tipo ES_UN puede ser disjunto (disjunct) o
solapado (overlap)

supertipo

Relacion IS_A

subtipo
Diseño de Bases de datos.
...cuando usar?
 Especialización: es el proceso de definir un conjunto de
subclases a partir de un tipo entidad.
 Generalización: es el proceso de suprimir las diferencias entre
varios tipo entidad, identificando sus cualidades comunes.

Diseño de Bases de datos.


E/G: Supertipos y subtipos

Diseño de Bases de datos.


E/G: Herencia de tipo
•Un subtipo puede tener atributos propios (específicos) y
participar en relaciones por separado
Un subtipo hereda todos los atributos del supertipo, y toda
relación en la que participa el supertipo
– Un subtipo, con sus atributos y relaciones específicos,
más los atributos y relaciones que hereda del supertipo, es
un tipo de entidad por derecho propio

Diseño de Bases de datos.


..cuando usar?

 Cuando los subtipos tienen atributos particulares que no tiene el supertipo.


 Cuando existen tipos relación en los que participan solo algunos subtipos.
 Cuando hay Atributos que sólo tienen sentido para algunas instancias de un
tipo y no para todas (atributos específicos)
Ejemplo: especialidadMédica «no es aplicable» a CELADOR

Diseño de Bases de datos.


..Especialización

Diseño de Bases de datos.


..Generalización
Proceso inverso de la especialización
• Suprimir diferencias entre varios tipos de entidad:
identificar atributos y relaciones comunes, y formar
un supertipo que los incluya

Diseño de Bases de datos.


Generalización vs. Especialización

Diseño de Bases de datos.


Restricciones de E/G
 Definición
 ¿Qué instancias del supertipo pertenecen a cada subtipo?

 Disyunción/Solapamiento
 ¿A cuántos subtipos puede pertenecer (a la vez) una instancia
del supertipo?

 Completitud/Parcialidad
 ¿Debe toda instancia del supertipo pertenecer a algún subtipo?

Diseño de Bases de datos.


...Restricciones: Definición
 Subtipos definidos por predicado o condición
 Condición de pertenencia a cada subtipo con base en el valor de
algún atributo del supertipo
 Restricción que especifica que...
 Las instancias del subtipo deben satisfacer la condición
 Todas las instancias del supertipo que cumplen la condición, deben
pertenecer al subtipo

Diseño de Bases de datos.


...Restricciones: Definición
 Subtipos definidos por atributo
 Todas las subclases definen la condición de pertenencia en
términos del mismo atributo
 ... es el discriminante de la especialización

Diseño de Bases de datos.


...Restricciones: Definición
 Subtipos definidos por el usuario
 No existe (o no interesa definir) ninguna condición de pertenencia
a los subtipos
 El usuario, al insertar una instancia, elige a qué subtipo
pertenece

Diseño de Bases de datos.


...Restricciones:
Disyunción/solapamiento
 Subtipos disjuntos si una instancia del supertipo
puede ser miembro de, como máximo, uno de los
subtipos

Diseño de Bases de datos.


...Restricciones:
Completitud/parcialidad
 Especialización total (completa) indica que toda
instancia del supertipo también debe ser instancia de
algún subtipo

Diseño de Bases de datos.


...Restricciones:
Completitud/parcialidad
 Especialización parcial indica que es posible que alguna
instancia del supertipo no pertenezca a ninguno de los subtipos
 La unión de las extensiones de los subtipos no es la extensión
del supertipo en su totalidad

Diseño de Bases de datos.


E/G:Reglas de Inserción
 Deben aplicarse a la Especialización y la
Generalización, debido a las restricciones definidas
 Insertar una instancia en un supertipo implica insertarla en
todos los subtipos definidos por predicado o por atributo, para
los cuales satisface el predicado de definición.
 Insertar una instancia en un supertipo de una
especialización total implica insertarla en, al menos, un subtipo
 Y si la especialización es disjunta, entonces la instancia se
insertará en un único subtipo.

Diseño de Bases de datos.


E/G:Reglas de Inserción
 Eliminar una instancia de un supertipo implica eliminarla de todos
los subtipos a los que pertenece
 Eliminar una instancia de un subtipo implica eliminarla del supertipo
si la especialización es ...
 Disyunta y total, o bien
 Solapada y total, y la instancia ya sólo pertenece al subtipo (se eliminó del
resto)
En el resto de casos, la instancia sólo se elimina del subtipo
 No del supertipo (􀁌 lo haría el usuario, si fuese necesario)

Diseño de Bases de datos.


Agregado
 Restricción inherente del MER:
 No puede expresar relaciones
 entre varias relaciones, ni
 entre un tipo de relación y un tipo de entidad
 La agregación...
 Permite combinar varios tipos de entidad, relacionados mediante un tipo de relación, para formar un
tipo de entidad agregada de nivel superior
 Útil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Diseño de Bases de datos.


Agregado
Es un elemento que nos permite relacionar una relación con otra
entidad. Hasta el momento solo se podían relacionar entidades.
Este nuevo elemento permite relacionar relaciones con entidades,
o relaciones entre si siempre que el caso lo requiera.

PERSONA Participa PROYECTO

Supervisa

ORGANISMO
Diseño de Bases de datos.
Agregado: ejemplo
 Esquema en el MERE que almacena información sobre las
entrevistas que una Bolsa de Empleo organiza entre solicitantes de
empleo y diferentes empresas

Algunas entrevistas dan lugar a un empleo y otras no.


¿Cómo modelamos esto?

Diseño de Bases de datos.


... Agregado: ejemplo
 Solucion1: Relación Ternaria

ERROR!!!

Toda entrevista da lugar a conseguir un empleo?

Diseño de Bases de datos.


... Agregado: ejemplo
 Solucion 2:

ERROR!!!

No es posible establecer una relación entre varias


relaciones ni entre relaciones y entidades.

Diseño de Bases de datos.


... Agregado: ejemplo

OK !!!

OFERTA_EMPLEO tiene dependencia en existencia


respecto de RESULTA_EN.

Diseño de Bases de datos.


... Agregado: ejemplo

OK !!!

Diseño de Bases de datos.

También podría gustarte