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

Download Report

Transcript 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
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


Relación


Objeto que tiene vida propia en el sistema que se
esta modelando. Ej: Cliente, producto,
estudiante, vacació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)


Clave candidata


Que puede ser clave primaria.
Clave (llave) primaria


Identifican una entidad dentro de un conjunto
de entidades.
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


Binaria


Participa un único conjunto de entidades.
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)


Uno a muchos (1:n)


Una entidad del conjunto de entidades E1
se relaciona con una única entidad del
conjunto de entidades E2 y viceversa.
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.
matricula
Estudiante
1,n
ve
1,n
Materia
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)
Empleado
Campo
Tipo
Long
Descripción
Llave
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
Tipo
Cadena
CodigoSU
Cadena
Validación
Año de egreso
Formato:
DD/MM/AAAA
1
Tipo de empleado dentro de la
empresa
P: Planta
T: Temporal
C: Por contrato
10
Código del empleado supervisor
FK
Ejercicio
Realice 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:














1.
2.
3.
4.
5.
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.
Defina las entidades que deben ser involucradas en el modelo.
Desarrolle los esquemas que describan dichas entidades.
Identifique tanto las claves primarias como las foráneas.
Haga un diagrama del modelo E/R del sistema.
Especifique el diccionario de datos de la BD.