Diagrama Entidad- Relación Introducción al proceso de diseño O Diseño del esquema de la base de datos O Diseño de los programas de acceso y actualización de datos O Diseño del esquema de seguridad y de control de acceso a los datos Fases del diseño O Identificar las necesidades de datos de los usuarios de la base. Se obtiene la especificación de los requerimientos del usuario. O Seleccionar un modelo de datos y traducir estos requerimientos en un esquema conceptual de la base de datos. Se usa el diagrama entidad-relación para representarlo gráficamente. O Falta de información . Evitar en el diseño… O Redundancia: Un mal diseño puede repetir información. O Obtiene su nombre del concepto matemático de relación matemática. O La relación matemática puede verse como un conjunto de ‘valores’ diferentes de una entidad dada . Modelo Relacional O El modelo relacional es ampliamente usado en los sistemas manejadores de bases de datos actuales. donde cada entidad es representada por medio de una relación. Por ejemplo el número que se le asigna al paciente al ingresar al hospital. Modelo E-R: Entidades O Una entidad es una cosa o un objeto del mundo real que es distinguible de otros objetos. Una entidad tiene un juego de propiedades y los valores de estas propiedades identifican en forma única una entidad. Por ejemplo. una paciente en un hospital. . El juego de todos los pacientes de un hospital. Los atributos son propiedades descriptivas de las entidades. Cada entidad tiene su propio valor para cada atributo. etc. Un juego de entidades es un conjunto de entidades del mismo tipo que comparten las mismas propiedades o atributos. dirección. Ejemplo número de paciente. Modelo E-R: Atributos Una entidad es representada por un juego de atributos. . nombre. O De un solo valor: Por ejemplo la edad del paciente es única. O Derivado: el valor de este tipo de atributo es obtenido a partir de los valores de otro . Tipos de Atributos O Simples: son aquellos que no se han dividido en subpartes. O Compuestos: son los que pueden dividirse en otros atributos. por ejemplo el atributo nombre. apellido materno y apellido paterno. O Multivalor: Por ejemplo un paciente puede tener cero o más números telefónicos. puede dividirse en nombre. Por ejemplo para el atributo nombre del paciente el dominio será el juego de todos las cadenas de texto de una cierta longitud. existe un juego de valores permitidos llamado el dominio o juego de valores. . Dominios O Para cada atributo. columnas renglones . compuestas de renglones y columnas. Modelo Relacional O Una base de datos relacional representa a los datos mediante tablas bidimensionales. Las relaciones (tablas) poseen un nombre que refleja su contenido Ejemplo: Relación Products O Los datos almacenados en una tabla son llamados ocurrencias o instancias de la relación . y no los datos almacenados en ella. es a lo que se llama relación. Modelo Relacional O La tabla por si misma. O Forman las columnas de una relación. O Tiene un nombre que se relaciona con el tipo de datos que el atributo almacena . Modelo Relacional O Las tablas están formadas por una colección de atributos. O Atributo: O Describe a la relación. con referencia a los datos que almacena. PACIENTE PADECIMENTO Juan López Hepatitis . Por ejemplo un x paciente tiene tal padecimiento. Modelo E-R: Relaciones O Una relación es una asociación entre entidades. Cardinalidad O Es el número de entidades con la cual otra entidad puede asociar mediante una relación O Considerando una relación binaria entre el juego de entidades A y el B. la cardinalidad puede ser: O Uno a uno O Uno a muchos ó muchos a uno O Muchos a muchos . Uno a uno O Una entidad en A esta asociada con cualquier número de entidades en B (0 ó más) y viceversa A1 B1 A2 B2 A3 B3 A4 B4 B5 EJEMPLO: Un paciente en un hospital tiene un solo cuarto y un cuarto pertenece a un solo paciente (hospital privado) . i_paciente# i_cuarto# n_paciente i_piso a_paciente paciente cuarto d_ingreso i_cuarto# q_costo . Ejemplo: uno a uno O Cuando se decide ingresar a un paciente a un hospital se le asigna un cuarto y en un cuarto puede estar un paciente o ninguno (suponiendo un hospital privado). puede estar asociada a lo mucho con una entidad en A B1 A1 B2 A2 B3 A3 B4 B5 EJEMPLO: El titular de una cuenta de cheques puede tener cualquier número de tarjetas. Uno a muchos O Una entidad en A esta asociada con cualquier número (0 ó más) de entidades en B. Una entidad en B. pero cada tarjeta pertenece a una sola persona . las entidades son cliente y tarjeta i_cliente# i_tarjeta# n_cliente i_password a_cliente cliente tarjeta d_apertura q_limite i_cliente# . Ejemplo: uno a muchos O El titular de una cuenta de cheques puede tener cualquier número de tarjetas. pero cada tarjeta pertenece a una sola persona. Muchos a muchos O Una entidad en A esta asociada con cualquier número de entidades en B (0 ó más) y viceversa A1 B1 A2 B2 A3 B3 A4 B4 B5 EJEMPLO: En un proyecto de investigación puede haber cualquier número de médicos. un médico puede participar en cero o varios proyectos . Ejemplo: muchos a muchos O En un proyecto de investigación puede haber cualquier número de médicos. un médico puede participar en cero o varios proyectos i_medico# i_proyecto# n_medico n_proyecto a_medico medico proyecto a_telefono i_especial t_resumen . O Cada juego de entidades (tabla) debe tener una llave primaria. Puede haber varias llave candidato. . Llave Primaria O Son atributos que se usan para diferenciar una entidad de otra. o un paciente de otro. O La llave primaria debe ser única y de preferencia no cambie con el tiempo. por ejemplo un medicamento de otro. Uno a uno opcional: Un paciente puede estar asignado a un cuarto o a ninguno. En un cuarto puede haber cero o un paciente . un Puesto pertenece a un solo empleado Uno a muchos opcional: un profesor en la Fac.Cardinalidad: obligatoria y opcional Uno a uno obligatorio: un empleado en Una empresa tiene uno y solo un puesto. de Ingeniería puede dar 0 o varias clases y una clase está dada por uno y solo un profesor Muchos a muchos obligatorio: una materia puede pertenecer a una o varias carreras. una carrera está formada por varias materias. si esta subrayado es llave primaria Línea Ligas 23 . Elementos del modelo Entidad .Relación Elementos Rectángulo Representa entidades básicas Doble Rectángulo Representa entidades débiles que no tienen llaves primarias Diamante identificador de relaciones Elipse Atributos de la entidad. O Identificar atributos: Definir las “propiedades” de cada entidad O Determinar llave primaria de cada entidad O Identificar relaciones entre las entidades O Señalar cardinalidad entre las entidades . lugares o conceptos sobre los que se quiere tener información. Metodología O Identificar entidades : Definir objetos como personas. O No se permiten tuplas duplicadas. . O Cada renglón en una relación es llamado tupla u ocurrencia. O Es una restricción sobre la relación. La restricción es una regla que gobierna los datos que pueden ser almacenados en un atributo de una relación. Modelo Relacional O Dominio: O conjunto de valores permitido para un atributo. O Regla de Integridad de la Entidad (Entity Integrity Constraint): O La llave Primaria no puede ser Nula O Regla de Integridad de Referencia (Referential Integrity Constraint): O Una tupla de una tabla que referencía otra tabla DEBE referirse a una tupla existente en esa tabla . Reglas de integridad O Regla de Integridad de la llave (Key Constraint): O Cada tabla debe tener una llave que identifique de manera única cada tupla. Propiedades importantes en Tablas O No se permiten duplicados O Número finito de renglones y columnas O El orden de los renglones no es relevante O Un mismo valor puede aparecer varias veces en una columna . F. 3. Codd en Octubre de 1985): 1. 4. un nombre de columna y un valor de llave primaria. (definidos por E. Toda la información debe poder ser consultada con solo utilizar un nombre de tabla. Debe soportar un catálogo (término relacional para un diccionario de datos) en línea y dinámico. Toda la información debe estar almacenada en tablas. . 2. Los valores nulos deben ser manejados de manera sistemática. Los comandos de Altas. 6. la definición de vistas. que se pueda crear. la manipulación de datos. 5. Debe tener lenguajes que manejen la definición de datos. Cambios y Bajas deben trabajar en tablas completas . y transacciones. las reglas de integridad. 7. Debe ser capaz de actualizar cualquier ‘vista’ de datos teóricamente actualizable. 10. Cambios al esquema no deben afectar a las aplicaciones que no utilicen la porción de la BD afectada por dichos cambios. Cambios en los métodos de almacenamiento físico no deben afectar la ejecución de las aplicaciones. El SMBD deberá checar automáticamente el que estas reglas se vean cumplidas. Debe soportar la definición de reglas de integridad. Las reglas deberán estar definidas en el catálogo. .. 8. 9.. NO debe haber forma de violar las reglas de integridad especificadas en el catálogo. 11. Continuación.