Sistemas de Datos Diseño Conceptual de Bases de Datos Diseño Conceptual de Bases de Datos Sistemas de Datos Curso: Ernesto Chinkes Esquema de la clase 2. Entidades 1. El proceso del diseño conceptual 3. Relaciones 4. Restricciones 5. La normalización 6. El MER y las reglas de transformación El DER 7. Criterios para el diseño 8. Formas Normales avanzadas Diseño Conceptual de Bases de Datos Sistemas de Datos Curso: Ernesto Chinkes El proceso del diseño conceptual Visión •Usuario PersonasA Sistema • Operaciones Visión Objeto • Materiales Usuario B • Documentos Visión • Computadoras Usuario N • Etc. Visión actual Visión futura Sub Modelo de datos A Sub Modelo de datos B Modelo de datos Conceptual Sub Modelo de datos N • Entidades (Tipos de entidades) • Relaciones (Tipos de relaciones) • Restricciones. Solo relevantes • Normalización y otros criterios de diseño • DER – Como herramienta de formalización Diseño Conceptual de Bases de Datos Sistemas de Datos Curso: Ernesto Chinkes Entidades (tipo de entidad) - Simple - Compuesto • Atributo - Monovalorado - Multivalorado - Almacenados - Derivados No corresponde valor - Obligatorios (1) – No obligatorios (valor indefinido) Corresponde valor pero falta Asume un valor Dominio (2) No se sabe si corresponde • Ocurrencia (Entidad) Claves subrogadas • Claves - Clave Primaria (3) - Clave Alterna (4) - Superclave Claves candidatas - Clave foránea -Nº mínimo de atributos -Menor frecuencia de cambios -Menor longitud -Más afin a la perspectiva del usuario Identifican unívocamente una ocurrencia Diseño Conceptual de Bases de Datos Sistemas de Datos Curso: Ernesto Chinkes Relaciones (tipos de relaciones) • Grado: recursiva, dos entidades, n entidades • Cardinalidad (5): -maximos: tipos de relaciones: 1-1, 1-m, m-m (límites) -mínimos: participación total o parcial en la entidad. • Dependencia: Tipo relación: -Identidad (propiedad): Entidad fuerte (propietaria) y débil (nido) -No identidad (referencia): Entidades fuertes (primaria y referenciada). -Subconjunto o Generalización/especialización: Supertipo y subtipos (atributos diferenciales, herencia y participación en más de un conjunto). • Atributos: Atributos de la relación Integridad referencial (6) Diseño Conceptual de Bases de Datos Sistemas de Datos Curso: Ernesto Chinkes Restricciones • Atributo: Dominio, unicidad, obligatorio. • Entidad: primaria, alterna, relaciones entre atributos • Relaciones: Cardinalidad max y mínimos, integridad referencial • Generales: Entre atributos de distintas entidades, .... Diseño Conceptual de Bases de Datos Sistemas de Datos Curso: Ernesto Chinkes NORMALIZACION Fuentes de relevamiento: • Usuarios • Especificación de requisitos • Informes existentes y futuros • Etc. Utilizar técnica arriba-abajo: MER y reglas de transformación Conjunto de relaciones bien diseñadas Utilizar Normalización como técnica de Abajo-arriba para crear relaciones Utilizar Normalización como técnica de validación, para comprobar la estructura 1 2 Diseño Conceptual de Bases de Datos Sistemas de Datos Curso: Ernesto Chinkes NORMALIZACION 1 FN • Esté definida la clave primaria*. • No Existan Grupos Repetitivos. 2 FN • Esté en 1 FN. • No existan dependencias funcionales parciales. 3 FN • Esté en 2 FN. • No existan dependencias funcionales transitivas. D.F. A determina E.F. Codd (1972) B Venta Numero factura Fecha venta Codigo cliente Razon social Domicilio Codigo producto Descripcion producto Precio unitario de venta Cantidad vendida Producto Codigo producto Descripcion producto 1 Item Venta Numero factura Codigo producto Descripcion Precio unitario producto de venta Precio unitario Cantidad vendida de venta Cantidad vendida Cliente Codigo cliente Razon social Domicilio Diseño Conceptual de Bases de Datos Sistemas de Datos Curso: Ernesto Chinkes DER Identidad (propiedad) o CLIENTE < ITEM VENTA < Generalización/ especialización (Subconjunto) < VENTA o PRODUCTO o PERSONA No – Identidad (referencia) Diseño Conceptual de Bases de Datos Sistemas de Datos Curso: Ernesto Chinkes Criterios de buen diseño A. Representar información •Evitar valores indefinidos (nulos) Reuniones naturales Funciones de agregación B. Evitar redundancia •Evitar atributos derivados •Evitar repetición en valores ! Sin pérdida Normalización Reducir espacio de almacenamiento Menor costo de actualización Menor probabilidad de generar inconsistencias Costo de consulta (+ / -) C. Asegurar consistencia •Verificar restricciones a mínimo costo ! Conserve dependencias D. Claridad conceptual (semántica del modelo) Soluciona mediante Descomposición 1FN, 2FN, 3FN (Codd) -Boyce-Codd -4FN (Fagin) -5FN (Fagin) Diseño Conceptual de Bases de Datos Sistemas de Datos Curso: Ernesto Chinkes NORMALIZACION Boyce-Codd (1974) Dado en R ά -> ß • ά -> ß es una DF trivial, o • ά es superclave de R DF trivial = ά -> ß y ß está incluido en ά Conservan dependencias Entrevista Cliente Id_propiedad Fecha entrevista Hora entrevista Comentario Id_empleado Patente auto DF Entrevista Cliente Id_propiedad Fecha entrevista Hora entrevista Comentario Id_empleado Auto asignado Fecha asignada Id_empleado Patente auto No conservan dependencias Estudiante materia Código_estudiante Codigo materia DF Código profesor Cliente sucursal responsable Codigo cliente DF Código sucursal Legajo_responsable cuenta Estudiante profesor Codigo estudiante Codigo profesor Cliente Codigo cliente Legajo_responsable cuenta Profesor Codigo profesor Codigo materia Responsable cuenta Legajo responsible cuenta Codigo sucursal Diseño Conceptual de Bases de Datos Sistemas de Datos Curso: Ernesto Chinkes NORMALIZACION 4 FN (R. Fagin 1977) Dado en R ά ->> ß •ά ->> ß es una DM trivial, o •ά es superclave de R (DM no trivial) Empleado hijo telefono Legajo empleado DNI hijo Numero_telefono Empleado telefono Legajo empleado Numero_telefono DM trivial = ά ->> ß y (ß está incluido en ά o ß unión ά = R) D.M. A Determina B “n” valores D.M. A Determina C “n” valores independientes Empleado hijo Legajo empleado DNI hijo Sucursal empleado propietario Id_sucursal Legajo_empleado Id_propietario Sucursal empleado Legajo empleado Id_sucursal Sucursal_propietario Id_propietario Id_sucursal Diseño Conceptual de Bases de Datos Sistemas de Datos Curso: Ernesto Chinkes NORMALIZACION 5 FN (R. Fagin 1979) Es una entidad que no debe contener dependencias de combinación (o reunion DR) no triviales. La DR es no trivial, si su descomposición en dos entidades es con pérdida. Suministra Id_proveedor Id_insumo Id_proyecto Proveedor insumo Id_proveedor Id_insumo Proveedor proyecto Id_proveedor Id_proyecto Insumo proyecto Id_insumo Id_proyecto Diseño Conceptual de Bases de Datos Sistemas de Datos Curso: Ernesto Chinkes Modelo E-R Entidad Entidad débil Relación Relación identificadora A Atributo A Atributo derivado A Atributo multivalorado A Clave primaria A Discriminante ES Relación de especializacion / generalizacion A.S. A.C. Atributo Compuesto A.S. A.S. Diseño Conceptual de Bases de Datos Sistemas de Datos Curso: Ernesto Chinkes M ER Fecha venta Numero factura 1. Entidades débiles no llevan clave primaria: llevan discriminante. 2. No se formalizan las claves foráneas. 3. Existen relaciones M-M. 4. Los grupos repetitivos: con atributos multivaluados o entidades débiles. Cantidad vendida Precio unitario o Codigo cliente < < < VENTA PRODUCTO < PRECIO HISTORICO Razon social CLIENTE Domicilio Telefono Fecha Precio Codigo producto Descripcion producto Reglas de transformación: MER -> entidades en el Esquema de la base de datos (Tablas). 5. 1. 3. • 2. 4. 6. Crear una tabla para representar las relaciones muchos a muchos, su Incluir Entidad claves fuerte: foráneas Se creaen una relación entidades, que del incluya lado los del atributos muchosque de clave primaria se compone delas las claves primarias de las entidades APLICAR NORMALIZACIÓN PARA QUE LASforánea), ENTIDADES simples. las relaciones. relaciona (por otro lado cada una VALIDAR actúa como clave y seESTÉN le BIEN FORMADAS Incluir Entidad lalos débil: clave Se foránea crea una en las relación relaciones incluya de unolos a uno atributos (del lado agregan atributos relación si losque tuviese. 2de la Crear una representar un atributo e incluir simples en que es ytabla agregar sub para tipola - participación clave primaria opcional-), de lamultivalorado entidad en donde identificadora, será también atributo la calve primaria entidad propietaria luego seun además clave define primaria. clave primaria de de la la entidad. (identificadora) en la nueva tabla, la misma actuará como clave externa. También hay que definir su clave primaria. Diseño Conceptual de Bases de Datos Sistemas de Datos Curso: Ernesto Chinkes Trampas de conexión Trampa multiplicativa o ruta ambigua Trabaja en > Empleado División Opera con < Sucursal Trabaja en Empleado > Sucursal > Opera con División No se sabe que empleado trabaja por sucursal Trampa de corte < Sucursal Le asignan < Empleado o o< Inmueble Trabaja en Ofrece No puedo asignar un inmueble a una sucursal si no fue asignada a un empleado Diseño Conceptual de Bases de Datos Sistemas de Datos Curso: Ernesto Chinkes DILEMA DE LA RESTRICCION Reserva PK Reserva_Función Reserva _Función código _reserva PK,FK1 PK,FK4 PK,FK5 fecha _reserva código _tipo_pago pago_realizado _reserva código _cliente código _función código _reserva número _asiento código _función fecha_función hora_función codigo _obra_teatral codigo _sala FK5 codigo_sala PK,FK1 PK código _sala número _asiento FK2 fila columna código _sector Sector Obra_Teatral PK PK código_función código_reserva número_asiento Asiento _Sala Función PK PK,FK1 PK,FK4 PK,FK5 código _sector código _sala código _obra_teatral descripción _sector nombre _obra_teatral descripción _obra_teatral fecha _inicio _obra_teatral fecha _fin_obra_teatral PK,FK1 PK código_sala número_asiento FK2 fila columna código_sector Ver depedencias de inclusión: Navathe-Elmasri. Sala PK Asiento_Sala nombre _sala
© Copyright 2024