Diseño de Modelos de Bases de Datos

Transcripción

Diseño de Modelos de Bases de Datos
Diseño de Modelos de Bases de Datos
Carlos A. Olarte ([email protected])
BDI
Pontificia Universidad Javeriana
Carlos A. Olarte ([email protected]) BDI
Diseño de Modelos de Bases de Datos
Contenido
1
Diseño de Modelos de Bases de Datos
2
Modelo Entidad Relación
3
Llaves
4
Conjuntos Entidad Débil
5
Subclases y relaciones ISA
6
Ejercicios
Carlos A. Olarte ([email protected]) BDI
Diseño de Modelos de Bases de Datos
El diseño de Modelos de BD
Carlos A. Olarte ([email protected]) BDI
Diseño de Modelos de Bases de Datos
Modelo Conceptual
Describe el contenido (información) de la base de datos, no
las estructuras de almacenamiento.
Tiene como propósito comprender el dominio del problema y
facilitar la comunicación entre las personas interesadas
(desarrolladores, usuarios, ...)
Son completos y expresivos, y las descripciones que con ellos
se construyen son simples, precisas y fáciles de usar.
Carlos A. Olarte ([email protected]) BDI
Diseño de Modelos de Bases de Datos
Diseño de Modelos de Bases de Datos
Las B.D ocultan detalles de almacenamiento a los usuarios
Un Modelo de Datos es un conjunto de conceptos que
pueden servir para describir la estructura de una base de datos
(vehı́culo para describir la realidad)
Los modelos de datos se describen mediante:
Una estructura
Un conjunto de operaciones
Definiciones de Integridad
Carlos A. Olarte ([email protected]) BDI
Diseño de Modelos de Bases de Datos
Principios de Diseño
Fidelidad: El diseño ha de ser fiel a las especificaciones, es
decir, debe corresponder a la realidad
Evitar la redundancia: Se debe tener mucho cuidado y decir
las cosas solo una vez
Simplicidad de Cuenta: En el diseño se debe introducir tan
sólo los elementos que sean absolutamente necesarios
Carlos A. Olarte ([email protected]) BDI
Diseño de Modelos de Bases de Datos
Modelos Lógicos Basados en Objetos
Las ligaduras de datos se hacen explicitas
Ejemplos:
E/R
Carlos A. Olarte ([email protected]) BDI
ODL
interface C \\
{
attr str X;
relationship ...
}
interface A
{
relationship ...
}
Diseño de Modelos de Bases de Datos
Modelos Lógicos Basados en Registros
Carlos A. Olarte ([email protected]) BDI
Diseño de Modelos de Bases de Datos
Continuación...
Carlos A. Olarte ([email protected]) BDI
Diseño de Modelos de Bases de Datos
Diagramas Entidad-Relación
Se componen de:
Conjuntos entidad (rectángulos)
Atributos (Óvalos)
Relaciones (Rombos)
En este modelo, se asigna un sólo nombre a una relación en ambas
direcciones.
Las relaciones pueden incluir más de dos conjuntos entidad
Carlos A. Olarte ([email protected]) BDI
Diseño de Modelos de Bases de Datos
Continuación (E/R)
Aspectos Importantes: Direccionalidad de las relaciones, relaciones
multidireccionales, atributos en las relaciones
Carlos A. Olarte ([email protected]) BDI
Diseño de Modelos de Bases de Datos
Componentes del MER
Atributos
Las propiedades de una entidad se describen mediante un
conjunto de atributos. La entidad tiene un valor para cada
uno de sus atributos.
Ejemplo, el número de cédula es un atributo de una persona,
y su valor podrı́a ser 29.092.939.
El dominio de un atributo es el conjunto de valores permitidos
para ese atributo.
Carlos A. Olarte ([email protected]) BDI
Diseño de Modelos de Bases de Datos
Componentes del MER
Atributos
Almacenado / Derivado
Almacenado: se guarda en la base de datos
Derivado: Su valor se obtiene a partir del valor de otros atributos o
entidades relacionados. Se representa con un ovalo punteado. Ej.
Edad.
Valores Nulos
Un atributo toma un valor null cuando una entidad no tiene un
valor para él.
Carlos A. Olarte ([email protected]) BDI
Diseño de Modelos de Bases de Datos
Componentes del MER
Conjunto de Entidades (o Tipo de Entidad)
Es un conjunto de entidades del mismo tipo que comparten
las mismas propiedades, o atributos.
Ejemplo: el conjunto de todas las personas que son clientes de
un banco.
Las entidades individuales son la extensión del conjunto de
entidades.
El tipo de entidad define la intensión de la entidad.
Carlos A. Olarte ([email protected]) BDI
Diseño de Modelos de Bases de Datos
Componentes del MER
Conjuntos Entidad
Algunos ejemplo:
Sujeto: Cliente, Proveedor, Empleado
Objeto: Producto, Factura
Evento: Solicitud de Pedido, Ajuste, Venta
Lugar: Ciudad, Paı́s, Bodega
Abstracción: Tipo de cliente, Unidad de medida
Carlos A. Olarte ([email protected]) BDI
Diseño de Modelos de Bases de Datos
Componentes del MER
Relaciones
Es una asociación entre dos o más entidades.
Ejemplo: si se tienen las entidades “estudiante Perez” y
“curso Bases de Datos” se puede definir una relación que
asocie al estudiante con el curso.
Una relación también puede tener atributos.
Carlos A. Olarte ([email protected]) BDI
Diseño de Modelos de Bases de Datos
Relaciones Multidireccionales
Las Relaciones Multidireccionales pueden ser transformadas en un
conjunto de relaciones binarias de mucho a uno introduciendo un
conjunto entidad conexión. En el ejemplo del banco, el resultado
es:
Carlos A. Olarte ([email protected]) BDI
Diseño de Modelos de Bases de Datos
Llaves
Las llaves son un conjunto de atributos que permiten identificar los
objetos pertenecientes a una clase (Interfaz en ODL o Conjunto
entidad en E/R) de manera única.
De manera formal, dados dos objetos O1 y O2 pertenecientes a
una clase C con atributos A y llave K ⊆ A, si
O1 [K ] = O2 [K ] → O1 = O2 .
Carlos A. Olarte ([email protected]) BDI
Diseño de Modelos de Bases de Datos
Continuación (Llaves)
E/R
ODL
interface X{
key(<List Atributos>);
...}
Carlos A. Olarte ([email protected]) BDI
Diseño de Modelos de Bases de Datos
Conjuntos Entidad Débiles
Se denomina un Conjunto Entidad Débil a un C.E cuya llave está
compuesta parcial o totalmente por atributos llaves de otro
conjunto entidad. Esta situación se puede presentar en las
siguientes situaciones:
El conjunto cae dentro de una jerarquı́a
Se crea un conjunto entidad de conexión para eliminar
relaciones multidireccionales
Al eliminar una relación mucho a muchos
Carlos A. Olarte ([email protected]) BDI
Diseño de Modelos de Bases de Datos
Notación de los C.E.D
Condiciones:
La relación R siempre debe ser binaria de Muchos (en la
débil) a uno
Los atributos que aporta A a B debe ser atributos llave de A
Si A también es débil, los atributos que aporta a B pueden
pertenecer a otro conjunto entidad conectado a A por una
relación muchos a uno
Si existen varias relaciones muchos a uno entre B y A, se debe
hacer una copia de los atributos llave de A por cada relación
para formar la llave de B
Carlos A. Olarte ([email protected]) BDI
Diseño de Modelos de Bases de Datos
Subclases en los diagramas E/R
Las subclases se representa en el MER por medio de relaciones
ISA. Por ejemplo:
Carlos A. Olarte ([email protected]) BDI
Diseño de Modelos de Bases de Datos
Ejercicio
Construya un MER para el siguiente problema:
Se desea mantener la información de la nómina de los empleados
de la compañı́a. De cada empleado se conoce su identificación,
nombre, fecha de nacimiento , y opcionalmente un conjunto de
empleados subordinados. Cada empleado adicionalmente tiene un
cargo en la compañı́a y por cada cargo se conoce cuanto es el
salario básico. La nomina se genera mensualmente y en ella se
almacena por cada empleado su salario básico y sus deducciones
obligatorias (porcentajes sobre el salario básico)
Carlos A. Olarte ([email protected]) BDI
Diseño de Modelos de Bases de Datos
Ejercicio
Construya un MER para el siguiente problema:
Se desea mantener la información de las cuentas de ahorros y
corrientes de un banco. Para lo anterior se tienen las siguientes
consideraciones:
Cada cuenta debe tener asociado una tarjeta
Para las cuentas de ahorros solo es requerido un titular
Las cuentas corrientes pueden tener uno o varios titulares
Las cuentas corrientes pueden tener amparados, es decir, una
cuenta hace parte de otra cuenta (comparten recursos).
Por cada cuenta debe registrarse las transacciones de las
mismas. En cada una de las transacciones se debe almacenar
la fecha, cajero, tarjeta, monto y tipo de la transacción
(retiro, consignación o consulta de saldo)
Carlos A. Olarte ([email protected]) BDI
Diseño de Modelos de Bases de Datos
Ejercicio (MER/ODL)
Construya un MER y un diseño en ODL para el sgte problema:
Se requiere un sistema para registro académico que cumpla con las siguientes caracterı́sticas:
Un estudiante puede matricularse en varias carreras. Por cada una de ellas debe tener un código propio
Cada carrera tiene asignado un plan de estudio, es decir, una serie de materias, las cuales pueden tener
prerequisitos.
En cada grupo el profesor debe estar en capacidad de indicar las notas con sus respectivos porcentajes (i.e
P.Parcial 20%, Tareas 10%,etc)
Se debe registrar tanto las notas parciales como la nota definitiva por cada estudiante matriculado
Los cursos pueden tener varias ediciones (grupos). Dichas ediciones también deben tener en cuenta el
perı́odo académico, por ej. CC080, grupo A, 2005-01 es diferente a CC080-A, 2004-02.
Cada grupo (edición) debe tener asociado el profesor quien lo dicata
Carlos A. Olarte ([email protected]) BDI
Diseño de Modelos de Bases de Datos

Documentos relacionados