Diseño de Bases de Datos
Diseño de Sistemas de Información
Modelo Relacional
Modelo Relacional
Una Base de Datos Relacional es una base de datos en donde todos los datos visibles al usuario están organizados estrictamente como tablas de valores (relaciones) y en donde todas las operaciones de la base de datos operan sobre estas tablas (Dr. Codd 1970).
Propiedades de las Relaciones
No existen tuplas duplicadas. Las tuplas están en desorden, de
arriba hacia abajo. Los atributos están en desorden, de
izquierda a derecha. Cada tupla contiene exactamente
un valor para cada atributo.
Estructura Modelo Relacional
Relación: Tabla Tupla: Fila o registro Cardinalidad: Número de tuplas Atributo: Columna o campo Grado: Número de atributos Dominio: Conjunto de valores válidos Clave primaria: Identificador Único
Manipulación Modelo Relacional
Operaciones basadas en la teoría de conjuntos Unión Intersección Producto cartesiano
Operaciones propias de un sistema relacional Restricción Proyección Junta natural
El Modelo Entidad Relación (MER)
"Modelo de datos basado en una percepción del mundo real que consiste en un conjunto de objetos básicos llamados entidades y relaciones entre estos objetos".
Componentes MER
Entidad Objeto que tiene vida propia en el sistema que se
esta modelando. Ej: Cliente, producto, estudiante, vacación.
Relación Asociación o vinculación entre dos o más
entidades. Ej: La relación comprar entre las entidades cliente y producto.
Atributos Propiedades o características asociadas a una
entidad. Ej: nombre, cédula, teléfono.
Diagrama MER
Otra forma de representar las entidades
Integridad Modelo Relacional
Claves (Llaves) Identifican una entidad dentro de un conjunto
de entidades. Clave candidata
Que puede ser clave primaria. Clave (llave) primaria
Atributo o conjunto de atributos que permiten identificar en forma única una tupla en la tabla.
Llave foránea (alterna) Atributo que es llave primaria en otra entidad
con la cual se relaciona. Las llaves foráneas son en últimas las que permiten relacionar las tablas en las bases de datos.
Relaciones o asociaciones
Grado de una relación. El número del conjunto de entidades
que participan en la asociación.
Unaria Participa un único conjunto de entidades.
Binaria Participan dos (2) conjuntos de entidades.
N-aria N-aria: Participan más de dos conjuntos
de entidades.
Grado de una Relación (Ejemplos)
Unaria.
Binaria.
N-aria.
Relaciones o asociaciones Cardinalidad de una relación.
Indica el número de entidades de un conjunto (E1) que se relacionan con una entidad de otro conjunto (E2) y viceversa.
Relaciones o asociaciones Uno a uno (1:1)
Una entidad del conjunto de entidades E1 se relaciona con una única entidad del conjunto de entidades E2 y viceversa.
Uno a muchos (1:n) Una entidad del conjunto de entidades E1
se relaciona con muchas entidades del conjunto de entidades E2 y una entidad del conjunto de entidades E2 solo puede estar relacionada con una entidad del conjunto de entidades E1.
Muchos a muchos (n:n) Una entidad del conjunto de entidades E1
esta relacionada con muchas entidades del conjunto de entidades E2 y viceversa.
Relaciones o asociaciones Uno a uno (1:1)
Uno a muchos (1:n)
Muchos a muchos (n:n)
Relaciones o asociaciones
Uno a uno (1:1)
Uno a muchos (1:n)
Muchos a muchos (n:n)
Relaciones o asociaciones (Mapeo) Entidades débiles
Cuando en el MER aparece una relación muchos a muchos, esto da pie a la generación de una “entidad débil” que contiene como componentes de su clave primaria, las claves de las entidades “fuertes” que la generan.
Estudiante Materiave
matricula
1,n 1,n
Ejemplo
Se tiene una empresa desarrollando varios proyectos, a los que son asignados varios empleados, pero cada empleado solo esta vinculado a un proyecto, en un momento dado. Cada proyecto consume diferentes recursos en cantidades determinadas: los empleados están a cargo de un supervisor, que es un empleado también. Los empleados pueden tener personas beneficiarias (hijos, esposas, padres, etc.).
Ejemplo (MER)
Paso del MER al Modelo Relacional
Diccionario de datos de la BD Evita tener que especificar los atributos
en el MER, lo cual aligera el modelo. Facilita la posterior implementación de
la BD en un motor específico. Da una idea muy precisa de la
información que se va a almacenar. Integra tanto los tipos del dominio
como las restricciones en la BD.
Diccionario de datos (Ejemplo)
Campo Tipo Long Descripción Llave Validación
CodigoE Número 10 Código del empleado PK
CedulaE Número 10 Número de cédula del empleado
Nombre Cadena 30 Nombre del empleado
Dirección Cadena 50 Dirección de residencia
Teléfono Número 15 Número telefónico de contacto
Título Cadena 30 Título de la profesión
Instit Cadena 30 Institución de egreso
Año Fecha Año de egreso Formato:DD/MM/AAAA
Tipo Cadena 1 Tipo de empleado dentro de la empresa
P: PlantaT: Temporal
C: Por contrato
CodigoSU Cadena 10 Código del empleado supervisor FK
Empleado
EjercicioRealice una Base de Datos para llevar el registro de uno o varios torneos de
fútbol. En dicho sistema será posible almacenar la información acerca de los equipos, sus jugadores y su rendimiento, así como las estadísticas generales del torneo (goleador, tabla de posiciones, entre otras).
Alguna información que se podrá consultar en el sistema puede ser: Equipos que juegan un torneo Torneos en que compite un equipo Goleadores de un equipo o torneo Tabla de posiciones Seguimiento del comportamiento de un jugador Partidos en una fecha Marcadores de los partidos Estadísticas de un equipo (Goles, partidos, etc) Y en general las consultas que se requieran en un torneo de fútbol.
1. Defina las entidades que deben ser involucradas en el modelo. 2. Desarrolle los esquemas que describan dichas entidades. 3. Identifique tanto las claves primarias como las foráneas. 4. Haga un diagrama del modelo E/R del sistema. 5. Especifique el diccionario de datos de la BD.