14
Universidad Técnica Particular de Loja Universidad Técnica Particular de Loja Base de Datos Base de Datos Tema: Metodología: diseño Tema: Metodología: diseño lógico de bases de datos lógico de bases de datos para el modelo para el modelo relacional. relacional. Caso Práctico: Sistema de Caso Práctico: Sistema de Inventario Inventario Por: Por: Ruth Hidalgo Ruth Hidalgo María Fernanda Ordóñez María Fernanda Ordóñez

Diseño Lógico

Embed Size (px)

DESCRIPTION

metodologia: diseño lógico de base de datos para el modelo relacional.

Citation preview

Page 1: Diseño Lógico

Universidad Técnica Particular de LojaUniversidad Técnica Particular de Loja

Base de DatosBase de Datos Tema: Metodología: diseño Tema: Metodología: diseño lógico de bases de datos lógico de bases de datos para el modelo relacional.para el modelo relacional.

Caso Práctico: Sistema de Caso Práctico: Sistema de InventarioInventario

Por:Por:

Ruth HidalgoRuth HidalgoMaría Fernanda OrdóñezMaría Fernanda Ordóñez

Page 2: Diseño Lógico

16.1. Explique el propósito del diseño lógico 16.1. Explique el propósito del diseño lógico de bases de datos.de bases de datos.

El propósito es construir un modelo El propósito es construir un modelo basado en uno de datos específicos basado en uno de datos específicos (modelo conceptual) con (modelo conceptual) con independencia del SGBD que se vaya independencia del SGBD que se vaya a utilizar y a consideraciones físicas. a utilizar y a consideraciones físicas.

Page 3: Diseño Lógico

16.2.Describa las reglas para derivar tablas 16.2.Describa las reglas para derivar tablas que representen (Proporcione ejemplos para que representen (Proporcione ejemplos para ilustrar sus respuestas)ilustrar sus respuestas)

a) Tipos de entidad fuertea) Tipos de entidad fuerteEn todas las entidades fuertes se van a En todas las entidades fuertes se van a determinar los atributos simples para con determinar los atributos simples para con ellos construir una tabla relacional, en el ellos construir una tabla relacional, en el caso de atributos compuestos se tomaran caso de atributos compuestos se tomaran los atributos simples que tiene como los atributos simples que tiene como componentes. Ejemplo: La entidad fuerte componentes. Ejemplo: La entidad fuerte Cliente tiene un atributo compuesto Cliente tiene un atributo compuesto nombre, la composición de la relación es: nombre, la composición de la relación es: ClienteCliente(Nro_Client, Prim_Nombre, (Nro_Client, Prim_Nombre, Seg_Nombre,Nro_Tel ); la clave principal es Seg_Nombre,Nro_Tel ); la clave principal es Nro_Client.Nro_Client.

Page 4: Diseño Lógico

bb) Tipos de entidad débil) Tipos de entidad débil

En el modelo de datos se van a En el modelo de datos se van a identificar las entidades débiles, identificar las entidades débiles, también conocidas como entidades también conocidas como entidades hijas, la tabla deberá contener los hijas, la tabla deberá contener los atributos simples de la entidad. No atributos simples de la entidad. No tienen clave principal, deben tomarla tienen clave principal, deben tomarla de las entidades propietarias. Ej. de las entidades propietarias. Ej. CategoríaCategoría(Tipo_Categ).(Tipo_Categ).

Page 5: Diseño Lógico

c) tipos de relaciones binarias uno c) tipos de relaciones binarias uno a muchos (1:*)a muchos (1:*)En este caso se va a denominar entidad padre a la En este caso se va a denominar entidad padre a la que se encuentra en la parte de uno y como entidad que se encuentra en la parte de uno y como entidad hija a la que corresponde a muchos, para la hija a la que corresponde a muchos, para la composición se le asigna una tabla con todos sus composición se le asigna una tabla con todos sus atributos para la entidad padre y para la entidad atributos para la entidad padre y para la entidad hija, aparte de todos sus atributos irá la clave hija, aparte de todos sus atributos irá la clave principal de la padre, la misma que se denomina principal de la padre, la misma que se denomina clave externa.clave externa.

Ejm: Entre la entidad factura y cliente (un cliente Ejm: Entre la entidad factura y cliente (un cliente puede tener de una a muchas facturas, y una puede tener de una a muchas facturas, y una factura puede pertenecer a un solo cliente), factura puede pertenecer a un solo cliente), entonces la entidad padre sería cliente y la hija sería entonces la entidad padre sería cliente y la hija sería facturafactura

Cliente (Nro_Client, Prim_Nombre, Seg_Nombre, Nro_Tel)

Clave Principal Nro_Cliente

Factura (Cod_Factura, Cod_detalle, Nro_Client, Descuentpo, Iva, fecha, Total)Clave alternativa Cod_detalle

Page 6: Diseño Lógico

d) tipos de relaciones binarias uno a uno d) tipos de relaciones binarias uno a uno (1:1)(1:1)

Es necesario aplicar las restricciones de Es necesario aplicar las restricciones de participación: obligatoria en ambos lados de la participación: obligatoria en ambos lados de la relación 1:1.- combinar las entidades en una relación 1:1.- combinar las entidades en una sola tabla tomando una de las claves como sola tabla tomando una de las claves como principal y la otra como alternativa, principal y la otra como alternativa, participación obligatoria en un lado de la participación obligatoria en un lado de la relación 1:1.- La entidad que tiene participación relación 1:1.- La entidad que tiene participación opcional en la relación es entidad padre opcional en la relación es entidad padre mientras que la que tiene participación mientras que la que tiene participación obligatoria se toma como entidad hija, obligatoria se toma como entidad hija, participación opcional en ambos lados de la participación opcional en ambos lados de la relación 1:1.- la designación de las entidades relación 1:1.- la designación de las entidades padre e hija se lo hace de una forma arbitraria.padre e hija se lo hace de una forma arbitraria.

Page 7: Diseño Lógico

Participación Obligatoria en ambos Participación Obligatoria en ambos lados de la relaciónlados de la relación

Detalle (Cod_detalle, Nom_prod, Cantidad; Prec_unitario, Cod_Factura)

Factura (Cod_Factura, fecha, Cod_detalle, Nro_Client, Descuentpo, Iva, Total)Clave alternativa Cod_detalle

Page 8: Diseño Lógico

e) tipos de relaciones recursivas e) tipos de relaciones recursivas uno a uno (1:1)uno a uno (1:1)

En este caso se aplican las mismas En este caso se aplican las mismas restricciones de participación que restricciones de participación que para el tipo de relaciones anterior para el tipo de relaciones anterior con la diferencia que las dos con la diferencia que las dos relaciones que actúan serán relaciones que actúan serán exactamente las mismas.exactamente las mismas.

Page 9: Diseño Lógico

f) f) tipos de relaciones tipos de relaciones superclase/subclasesuperclase/subclase

La entidad superclase se la asigna como La entidad superclase se la asigna como entidad padre y la subclase como entidad padre y la subclase como entidad hija, para representar en una o entidad hija, para representar en una o más tablas se debe tomar en cuenta las más tablas se debe tomar en cuenta las restricciones de disyunción y restricciones de disyunción y participaciónparticipación

SUPERCLASE

Empleado

SUBCLASEAdministrativo

SUBCLASEDe Planta

Page 10: Diseño Lógico

16.3. Explique cómo puede utilizarse la técnica de 16.3. Explique cómo puede utilizarse la técnica de normalización para derivar las normalización para derivar las

tablas derivadas a partir del modelo tablas derivadas a partir del modelo conceptual de los datos.conceptual de los datos.

Para empezar tomaremos un Para empezar tomaremos un conjunto de relaciones a partir del conjunto de relaciones a partir del modelo conceptual de los datos modelo conceptual de los datos creado el modelo conceptual de los creado el modelo conceptual de los datos para garantizar que las datos para garantizar que las relaciones sean capaces de soportar relaciones sean capaces de soportar las transacciones indicadas en la las transacciones indicadas en la especificaciones de requisitos del especificaciones de requisitos del usuariousuario

Page 11: Diseño Lógico

16.4. Explique dos técnicas que pueden 16.4. Explique dos técnicas que pueden usarse para verificar que el esquema usarse para verificar que el esquema relacional es capaz de soportar las relacional es capaz de soportar las

transacciones necesarias.transacciones necesarias. Utilizando las relaciones, los enlaces Utilizando las relaciones, los enlaces

de clave principal/externa de clave principal/externa mostrados en las relaciones, el mostrados en las relaciones, el diagrama ER y el diccionario de diagrama ER y el diccionario de datos tratando de relazar las datos tratando de relazar las operaciones manualmente.operaciones manualmente.

Comprobar que las relaciones Comprobar que las relaciones creadas en el modelo conceptual creadas en el modelo conceptual soporten las transacciones actualessoporten las transacciones actuales

Page 12: Diseño Lógico

16.5. Describa el propósito de las restricciones de 16.5. Describa el propósito de las restricciones de integridad e identifique los tipos integridad e identifique los tipos

principales de restricciones de integridad principales de restricciones de integridad existentes en un modelo lógico de existentes en un modelo lógico de

los datos. los datos.El propósito de las relaciones de integridad El propósito de las relaciones de integridad es proteger la base de datos frente a la es proteger la base de datos frente a la posibilidad de que llegue a ser incompleta, posibilidad de que llegue a ser incompleta, imprecisa o incoherente.imprecisa o incoherente.Los tipos principales son:Los tipos principales son:

- Datos requeridos Datos requeridos - Restricciones relativas a los dominios de los Restricciones relativas a los dominios de los

atributosatributos- MultiplicidadMultiplicidad- Integridad en las entidadesIntegridad en las entidades- Integridad referencialIntegridad referencial- Restricciones generalesRestricciones generales

Page 13: Diseño Lógico

16.6. Describa las estrategias alternativas que 16.6. Describa las estrategias alternativas que pueden aplicarse si existe una tupla pueden aplicarse si existe una tupla hija que hace referencia a una tupla padre hija que hace referencia a una tupla padre que queremos borrar.que queremos borrar.

No Action.- impide el borrado de la tupla de la tabla No Action.- impide el borrado de la tupla de la tabla padre si existen tuplas hijas que hagan referenciapadre si existen tuplas hijas que hagan referencia

Cascade.- si se borra la tupla padre se borran Cascade.- si se borra la tupla padre se borran automáticamente todas las tuplas hija que hacen automáticamente todas las tuplas hija que hacen referencia a ella.referencia a ella.

Set Null.- automáticamente se configura con valor Set Null.- automáticamente se configura con valor nulo la clave externa en todas las tuplas hijas al nulo la clave externa en todas las tuplas hijas al borrar la padre.borrar la padre.

Set Default.- si se borra un tupla padre los valores Set Default.- si se borra un tupla padre los valores de la clave externa de las tuplas hijas se adaptan de la clave externa de las tuplas hijas se adaptan automáticamente sus valores predeterminados.automáticamente sus valores predeterminados.

No Check.- si se borra una tupla padre no se hace No Check.- si se borra una tupla padre no se hace nada para garantizar que se mantenga la nada para garantizar que se mantenga la integridad referencialintegridad referencial

Page 14: Diseño Lógico

16.7. Identifique las tareas normalmente 16.7. Identifique las tareas normalmente asociadas con la combinación de modelos asociadas con la combinación de modelos

lógicos locales de los datos en un modelo lógicos locales de los datos en un modelo lógico global.lógico global.

Realizar los nombres y el contenido de las entidades/tablas y Realizar los nombres y el contenido de las entidades/tablas y de sus claves candidatas.de sus claves candidatas.

Revisar los nombres y los contenidos de las relaciones/claves Revisar los nombres y los contenidos de las relaciones/claves externas.externas.

Combinar las entidades/tablas de los modelos de datos Combinar las entidades/tablas de los modelos de datos locales.locales.

Incluir las entidades/tablas excluidas de cada modelo de datos Incluir las entidades/tablas excluidas de cada modelo de datos local.local.

Combinar las relaciones/claves externas de los modelos de Combinar las relaciones/claves externas de los modelos de datos locales.datos locales.

Incluir las relaciones/claves externas exclusivas de cada Incluir las relaciones/claves externas exclusivas de cada modelo de datos local.modelo de datos local.

Verificar si falta alguna entidad/tabla o relación/clave externa.Verificar si falta alguna entidad/tabla o relación/clave externa. Comprobar las claves externas.Comprobar las claves externas. Comprobar las restricciones de integridad.Comprobar las restricciones de integridad. Dibujar el diagrama entidad-relación globalDibujar el diagrama entidad-relación global Actualizar la documentaciónActualizar la documentación