Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porJulián Gustavo Muñoz Rodríguez Modificado hace 8 años
1
DISEÑO DE BASES DE DATOS RELACIONALES
2
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.
3
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 Solución? Diseño de Bases de datos.
4
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.
5
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.
6
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.
7
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.
8
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.
9
El Modelo Entidad Relación
Diseño de Bases de datos.
10
Generalidades El modelo E-R fue propuesto por Peter P. Chen entre los años 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.
11
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.
12
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.
13
Tipos de entidades Fuertes (o regulares), que son aquellas que tienen existencia por si mismas Débiles, cuya existencia depende de otro tipo de entidad Estas entidades normalmente no tienen suficientes atributos para formar una clave primaria. EMPLEADO FAMILIAR Diseño de Bases de datos.
14
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. PROVEEDOR Cod Nombre Telef Diseño de Bases de datos.
15
...Atributos Una entidad particular es descrita por los valores de sus atributos: Diseño de Bases de datos.
16
...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.
17
...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.
18
...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.
19
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.
20
...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) AUTO Placa Modelo Color Diseño de Bases de datos.
21
... 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. PERSONA DNI Nombre FechaN Edad Diseño de Bases de datos.
22
Notaciones Diseño de Bases de datos.
23
...Notaciones Diseño de Bases de datos.
24
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 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.
25
Una relación puede tener atributos descriptivos.
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. PROVEEDOR ARTICULO Vende fecha Diseño de Bases de datos.
26
... 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.
27
...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.
28
... 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.
29
... Vínculo o relación Notación [MPM-1999] Diseño de Bases de datos.
30
... Vínculo o relación Notación [SKS-1998]
[SKS 1998] Silberschatz, A;Korth, H; Sudarshan, S. Fundamentos de Bases de Datos. 3ª edición. Madrid: McGraw-Hill. (Cap. 2) Diseño de Bases de datos.
31
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 ANIMAL Posee 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 ARTICULO Vende Tiene pero no Debe Diseño de Bases de datos.
32
Tipos de participación de las entidades en una relación
Diseño de Bases de datos.
33
Cardinalidad de tipo de entidad [EN2002]
Diseño de Bases de datos.
34
Notaciones Diseño de Bases de datos.
35
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.
36
Relación Débil Diseño de Bases de datos.
37
... Relación Débil Diseño de Bases de datos.
38
... Relación Débil Diseño de Bases de datos.
39
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.
40
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.
41
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.
42
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.
43
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.
44
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.
45
...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. Especialización Generalización Diseño de Bases de datos.
46
E/G: Supertipos y subtipos
Diseño de Bases de datos.
47
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.
48
..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.
49
..Especialización Diseño de Bases de datos.
50
..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.
51
Generalización vs. Especialización
Diseño de Bases de datos.
52
Restricciones de E/G Definición Disyunción/Solapamiento
¿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.
53
...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.
54
...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.
55
...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.
56
...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.
57
...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.
58
...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.
59
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.
60
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.
61
Agregado Restricción inherente del MER: La agregación...
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.
62
Agregado Participa PROYECTO PERSONA ORGANISMO
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 PROYECTO Participa Supervisa ORGANISMO Diseño de Bases de datos.
63
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.
64
... Agregado: ejemplo Solucion1: Relación Ternaria
ERROR!!! Toda entrevista da lugar a conseguir un empleo? Diseño de Bases de datos.
65
... 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.
66
... Agregado: ejemplo OK !!! OFERTA_EMPLEO tiene dependencia en existencia respecto de RESULTA_EN. Diseño de Bases de datos.
67
... Agregado: ejemplo OK !!! Diseño de Bases de datos.
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.