23
Diseño de Bases de Datos Diseño de Sistemas de Información

Diseño de Bases de Datos Diseño de Sistemas de Información

Embed Size (px)

Citation preview

Page 1: Diseño de Bases de Datos Diseño de Sistemas de Información

Diseño de Bases de Datos

Diseño de Sistemas de Información

Page 2: Diseño de Bases de Datos Diseño de Sistemas de Información

Modelo Relacional

Page 3: Diseño de Bases de Datos Diseño de Sistemas de Información

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).

Page 4: Diseño de Bases de Datos Diseño de Sistemas de Información

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.

Page 5: Diseño de Bases de Datos Diseño de Sistemas de Información

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

Page 6: Diseño de Bases de Datos Diseño de Sistemas de Información

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

Page 7: Diseño de Bases de Datos Diseño de Sistemas de Información

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".

Page 8: Diseño de Bases de Datos Diseño de Sistemas de Información

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.

Page 9: Diseño de Bases de Datos Diseño de Sistemas de Información

Diagrama MER

Otra forma de representar las entidades

Page 10: Diseño de Bases de Datos Diseño de Sistemas de Información

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.

Page 11: Diseño de Bases de Datos Diseño de Sistemas de Información

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.

Page 12: Diseño de Bases de Datos Diseño de Sistemas de Información

Grado de una Relación (Ejemplos)

Unaria.

Binaria.

N-aria.

Page 13: Diseño de Bases de Datos Diseño de Sistemas de Información

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.

Page 14: Diseño de Bases de Datos Diseño de Sistemas de Información

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.

Page 15: Diseño de Bases de Datos Diseño de Sistemas de Información

Relaciones o asociaciones Uno a uno (1:1)

Uno a muchos (1:n)

Muchos a muchos (n:n)

Page 16: Diseño de Bases de Datos Diseño de Sistemas de Información

Relaciones o asociaciones

Uno a uno (1:1)

Uno a muchos (1:n)

Muchos a muchos (n:n)

Page 17: Diseño de Bases de Datos Diseño de Sistemas de Informació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

Page 18: Diseño de Bases de Datos Diseño de Sistemas de Informació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.).

Page 19: Diseño de Bases de Datos Diseño de Sistemas de Información

Ejemplo (MER)

Page 20: Diseño de Bases de Datos Diseño de Sistemas de Información

Paso del MER al Modelo Relacional

Page 21: Diseño de Bases de Datos Diseño de Sistemas de Información

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.

Page 22: Diseño de Bases de Datos Diseño de Sistemas de Información

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

Page 23: Diseño de Bases de Datos Diseño de Sistemas de Información

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.