Sei sulla pagina 1di 67

DISEO DE BASES DE DATOS RELACIONALES

Objetivo
En general, el objetivo del diseo de una base de datos relacional es generar un conjunto de esquemas de relaciones que permitan almacenar la informacin con un mnimo de redundancia, pero que a la vez faciliten la recuperacin de la informacin.

Diseo de Bases de datos.

Problemas en el diseo de bases de datos


Redundancia de informacin Incoherencia de datos Valores nulos Complicada actualizacin (insercin, eliminacin y modificacin) Desperdicio de espacio

Diseo de Bases de datos.

Fases del diseo de bases de datos


Mundo Real
RECOLECCIN Y ANALISIS DE REQUERIMIENTOS

DISEO CONCEPTUAL DISEO LGICO

DISEO FISICO
Diseo de Bases de datos.

Recoleccin y anlisis de requerimientos:


Los diseadores entrevistan a los futuros usuarios de la base de datos para recoger y documentar sus necesidades de informacin. En paralelo, conviene definir los requerimientos funcionales que consisten en operaciones (transacciones) que se aplicarn a la base de datos, e incluyen la obtencin de datos y la actualizacin.
Diseo de Bases de datos.

Diseo conceptual
Crear un esquema conceptual mediante un modelo de datos conceptual de alto nivel. El esquema conceptual contiene una descripcin detallada de los requerimientos de informacin de los usuarios, y contiene descripciones de los tipos de datos, relaciones entre ellos y restricciones. Se utiliza para el diseo de esquemas conceptuales el MER (modelo entidad-relacin
Diseo de Bases de datos.

Diseo lgico de la base de datos


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

Diseo de Bases de datos.

Diseo fsico de la base de datos


En este paso se especifican las estructuras de almacenamiento internas y la organizacin de los archivos de la base de datos.

Diseo de Bases de datos.

Diseo de Bases de datos.

Generalidades
El modelo E-R fue propuesto por Peter P. Chen entre los aos 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 (vnculos) y atributos y permite representar el esquema conceptual de una base de datos de forma grfica mediante los diagramas E-R.
Diseo de Bases de datos.

Esquema conceptual
Descripcin concisa de los requisitos de informacin de los usuarios
Descripciones detalladas de P TIPOS DE DATOS P RELACIONES ENTRE DATOS P RESTRICCIONES que los DATOS deben cumplir

Sin detalles de implementacin


P Ms fcil de entender P Comunicacin con el usuario no tcnico

Diseo de Bases de datos.

Entidades y atributos
Una entidad puede ser un objeto con existencia fsica o un objeto con existencia conceptual Se representa por un rectngulo, dentro de la cual va el nombre en singular
Persona, lugar, cosa, concepto o suceso, real o abstracto, de inters para la empresa (ANSI, 1977)

CLIENTE
Diseo de Bases de datos.

PROVEEDOR

CURSO

Tipos de entidades
Fuertes (o regulares), que son aquellas que tienen existencia por si mismas
EMPLEADO

Dbiles, cuya existencia depende de otro tipo de entidad Estas entidades normalmente no tienen suficientes atributos para formar una clave primaria.
FAMILIAR
Diseo de Bases de datos.

Atributos:
Cada entidad tiene propiedades especificas, que la describen. Los atributos se representan por elipses que estn conectadas a su entidad o relacin mediante una lnea recta.
Cod Nombre PROVEEDOR
Diseo de Bases de datos.

Telef

...Atributos
Una entidad particular es descrita por los valores de sus atributos:

Diseo 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 vlidos

Diseo 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. Diseo de bases de datos relacionales. Ra-Ma. (Cap. 2) Diseo de Bases de datos.

...Atributos Clave
Una clave puede estar formada por varios atributos --> clave compuesta
P Combinacin de valores distinta para cada instancia
(nombre, fechanacim) en el tipo de entidad EMPLEADO

P Una clave compuesta debe ser mnima

Un tipo de entidad puede tener ms de una clave --> claves candidatas


P Claves o Identificadores Candidatos de EMPLEADO:
nit Nmero de identificacin tributaria C.C Nmero de Cdula de ciudadania Cdigo

Diseo de Bases de datos.

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

Diseo de Bases de datos.

...Tipos de Atributo
b) Monovaluados o multivaluados: Los monovaluados slo pueden tener un valor para una entidad particular, mientras que los multivaluados pueden tener ms de un valor. Pueden tener lmites superior e inferior del nmero de valores por entidad
nacionalidad (1-2) telefono (0-3)
Placa Modelo Color

AUTO

Diseo de Bases de datos.

... Tipos de atributos


Almacenados o derivados: Los derivados son atributos cuyo valor para una entidad particular puede obtenerse en funcin de los valores almacenados en otros atributos. Se representan mediante una elipse con trazo discontinuo.
DNI Nombre FechaN Edad

PERSONA
Diseo de Bases de datos.

Notaciones

Diseo de Bases de datos.

...Notaciones

Diseo de Bases de datos.

Vnculo o relacin
Tambin interrelacin Asociacin, vnculo o correspondencia entre instancias de entidades relacionadas de alguna manera en el mundo real
El director Alejandro Amenbar ha rodado la pelcula Mar adentro El empleado 87654321 trabaja en el local de videoclub principal La pelcula El imperio contraataca es una continuacin de la pelcula La guerra de las galaxias

Diseo de Bases de datos.

Vnculo o relacin
Se puede definir como una correspondencia, asociacin o conexin entre dos o ms entidades. En los diagramas E-R se representa grficamente como un rombo y sus nombres son verbos.

Una relacin puede tener atributos descriptivos.


fecha

PROVEEDOR
Diseo de Bases de datos.

Vende

ARTICULO

... Vnculo o relacin


Grado de una relacin es el nmero de entidades que participan en la relacin.
P Binaria: grado 2 (el ms frecuente) P Ternaria: grado 3 P Reflexiva (o recursiva): grado 1 Se puede restringir el MER para incluir solo conjuntos de relaciones binarias, es decir de grado 2 (es aconsejable).

Diseo de Bases de datos.

...Vinculo o Relacin
Correspondencia de cardinalidad, expresa el nmero mximo de entidades que estn relacionadas con una nica entidad del otro conjunto de entidades que interviene en la relacin.

Diseo de Bases de datos.

... Vnculo o relacin


Notacin [EN-2000]
Etiqueta en la lnea que une entidad y relacin

Diseo de Bases de datos.

... Vnculo o relacin


Notacin [MPM-1999]

Diseo de Bases de datos.

... Vnculo o relacin


Notacin [SKS-1998]

[SKS 1998] Silberschatz, A;Korth, H; Sudarshan, S. Fundamentos Diseo de Bases de datos. de Bases de Datos. 3 edicin. Madrid: McGraw-Hill. (Cap. 2)

Tipos de participacin de las entidades en una relacin

Opcional (parcial): No todas las ocurrencias de una entidad tienen que estar relacionadas con alguna de la otra entidad.

PERSONA

Posee Debe pero no Tiene

ANIMAL

Obligatoria (total): Todas las ocurrencias de una entidad deben estar relacionadas con alguna de la entidad con la que esta relacionada. Se dice tambin, que existen una participacin total de ese conjunto de entidades en el conjunto de relaciones.

PROVEEDOR
Diseo de Bases de datos.

Vende Tiene pero no Debe

ARTICULO

Tipos de participacin de las entidades en una relacin

Diseo de Bases de datos.

Cardinalidad de tipo de entidad [EN2002]

Diseo de Bases de datos.

Notaciones

Diseo de Bases de datos.

Relacin Dbil
Tipo de relacin dbil (o dependencia) :Relaciona un tipo de entidad dbil y otro regular. Clases de dependencia: En existencia: Si desaparece una instancia del tipo de
entidad regular deben desaparecer las instancias de la entidad dbil que dependen de ella Etiqueta E en el tipo de relacin dbil En identificacin: Adems de la dependencia en existencia... Una instancia del tipo de entidad dbil no se puede identificar por s misma Su clave es (clave_entidad_regular, clave_parcial) Etiqueta ID en el tipo de relacin dbil
Diseo de Bases de datos.

Relacin Dbil

Diseo de Bases de datos.

... Relacin Dbil

Diseo de Bases de datos.

... Relacin Dbil

Diseo de Bases de datos.

Enhanced Entity-Relationship model, EER


Aportaciones de diversos autores al modelo Entidad-Relacin bsico. Permiten representar...
P Relaciones exclusivas entre s P Jerarquas de Especializacin/Generalizacin P Agregacin de entidades

Modelo Entidad-Relacin Extendido MERE

Diseo de Bases de datos.

Relaciones Exclusivas
Dos (o ms) tipos de relacin son exclusivos, respecto de un tipo de entidad que participa en ambos, si cada instancia del tipo de entidad slo puede participar en uno de los tipos de relacin

Diseo de Bases de datos.

Generalizacin y Especializacin
Caso especial de relacin entre un tipo de entidad y varios otros tipos de entidad La jerarqua o relacin que se establece entre uno y otros corresponde a la nocin de es_un o de es_un_tipo_de Estas jerarquas pueden formarse por especializacin o bien por generalizacin

Diseo de Bases de datos.

Generalizacin y Especializacin
Agrupacin de instancias dentro de un tipo de entidad, que debe representarse explcitamente debido a su importancia para el diseo o aplicacin
Subtipos del tipo de entidad VEHCULO:
P P P P CAMIN TURISMO AUTOBS CICLOMOTOR

Subtipos del tipo de entidad EMPLEADO:


P SECRETARIO P GERENTE P COMERCIAL

El tipo de entidad que se especializa en otros se llama


Supertipo ( VEHICULO, EMPLEADO )
Diseo 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.
Diseo de Bases de datos.

E/G: Supertipos y subtipos


El tipo relacin entre una supertipo y sus subtipos, se dice que es un tipo ES_UN (IS_A). Este tipo relacin se representa a diferencia del resto de relaciones con un tringulo. El tipo ES_UN puede ser disjunto (disjunct) o solapado (overlap) supertipo Relacion IS_A subtipo
Diseo de Bases de datos.

...cuando usar?
Especializacin: es el proceso de definir un conjunto de subclases a partir de un tipo entidad. Generalizacin: es el proceso de suprimir las diferencias entre varios tipo entidad, identificando sus cualidades comunes.

Diseo de Bases de datos.

E/G: Supertipos y subtipos

Diseo de Bases de datos.

E/G: Herencia de tipo


Un subtipo puede tener atributos propios (especficos) y participar en relaciones por separado Un subtipo hereda todos los atributos del supertipo, y toda relacin en la que participa el supertipo Un subtipo, con sus atributos y relaciones especficos, ms los atributos y relaciones que hereda del supertipo, es un tipo de entidad por derecho propio

Diseo de Bases de datos.

..cuando usar?
Cuando los subtipos tienen atributos particulares que no tiene el supertipo. Cuando existen tipos relacin en los que participan solo algunos subtipos. Cuando hay Atributos que slo tienen sentido para algunas instancias de un tipo y no para todas (atributos especficos)
Ejemplo: especialidadMdica no es aplicable a CELADOR

Diseo de Bases de datos.

..Especializacin

Diseo de Bases de datos.

..Generalizacin
Proceso inverso de la especializacin Suprimir diferencias entre varios tipos de entidad: identificar atributos y relaciones comunes, y formar un supertipo que los incluya

Diseo de Bases de datos.

Generalizacin vs. Especializacin

Diseo de Bases de datos.

Restricciones de E/G
Definicin
P Qu instancias del supertipo pertenecen a cada subtipo?

Disyuncin/Solapamiento
P A cuntos subtipos puede pertenecer (a la vez) una instancia del supertipo?

Completitud/Parcialidad
P Debe toda instancia del supertipo pertenecer a algn subtipo?

Diseo de Bases de datos.

...Restricciones: Definicin
Subtipos definidos por predicado o condicin
P Condicin de pertenencia a cada subtipo con base en el valor de algn atributo del supertipo P Restriccin que especifica que...
Las instancias del subtipo deben satisfacer la condicin Todas las instancias del supertipo que cumplen la condicin, deben pertenecer al subtipo

Diseo de Bases de datos.

...Restricciones: Definicin
Subtipos definidos por atributo
P Todas las subclases definen la condicin de pertenencia en trminos del mismo atributo P ... es el discriminante de la especializacin

Diseo de Bases de datos.

...Restricciones: Definicin
Subtipos definidos por el usuario
P No existe (o no interesa definir) ninguna condicin de pertenencia a los subtipos P El usuario, al insertar una instancia, elige a qu subtipo pertenece

Diseo de Bases de datos.

...Restricciones: Disyuncin/solapamiento
Subtipos disjuntos si una instancia del supertipo puede ser miembro de, como mximo, uno de los subtipos

Diseo de Bases de datos.

...Restricciones: Completitud/parcialidad
Especializacin total (completa) indica que toda instancia del supertipo tambin debe ser instancia de algn subtipo

Diseo de Bases de datos.

...Restricciones: Completitud/parcialidad
Especializacin parcial indica que es posible que alguna instancia del supertipo no pertenezca a ninguno de los subtipos La unin de las extensiones de los subtipos no es la extensin del supertipo en su totalidad

Diseo de Bases de datos.

E/G:Reglas de Insercin
Deben aplicarse a la Especializacin y la Generalizacin, debido a las restricciones definidas
P 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 definicin. P Insertar una instancia en un supertipo de una especializacin total implica insertarla en, al menos, un subtipo P Y si la especializacin es disjunta, entonces la instancia se insertar en un nico subtipo.

Diseo de Bases de datos.

E/G:Reglas de Insercin
Eliminar una instancia de un supertipo implica eliminarla de todos los subtipos a los que pertenece
P Eliminar una instancia de un subtipo implica eliminarla del supertipo si la especializacin es ...
Disyunta y total, o bien Solapada y total, y la instancia ya slo pertenece al subtipo (se elimin del resto)

En el resto de casos, la instancia slo se elimina del subtipo


No del supertipo ( lo hara el usuario, si fuese necesario)

Diseo de Bases de datos.

Agregado
Restriccin inherente del MER:
P No puede expresar relaciones P entre varias relaciones, ni P entre un tipo de relacin y un tipo de entidad

La agregacin...
P Permite combinar varios tipos de entidad, relacionados mediante un tipo de relacin, para formar un tipo de entidad agregada de nivel superior P til cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Diseo de Bases de datos.

Agregado
Es un elemento que nos permite relacionar una relacin con otra entidad. Hasta el momento solo se podan relacionar entidades. Este nuevo elemento permite relacionar relaciones con entidades, o relaciones entre si siempre que el caso lo requiera.

PERSONA

Participa

PROYECTO

Supervisa

Diseo de Bases de datos.

ORGANISMO

Agregado: ejemplo
Esquema en el MERE que almacena informacin 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. Cmo modelamos esto?
Diseo de Bases de datos.

... Agregado: ejemplo


Solucion1: Relacin Ternaria

ERROR!!!

Toda entrevista da lugar a conseguir un empleo?

Diseo de Bases de datos.

... Agregado: ejemplo


Solucion 2:

ERROR!!!

No es posible establecer una relacin entre varias relaciones ni entre relaciones y entidades.
Diseo de Bases de datos.

... Agregado: ejemplo

OK !!! OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN.


Diseo de Bases de datos.

... Agregado: ejemplo

OK !!!

Diseo de Bases de datos.

Potrebbero piacerti anche