diseño de modelos de bases de datos - decc |...

25
Dise˜ no de Modelos de Bases de Datos Carlos A. Olarte ([email protected]) BDI Pontificia Universidad Javeriana Carlos A. Olarte ([email protected]) BDI Dise˜ no de Modelos de Bases de Datos

Upload: lyhanh

Post on 04-Nov-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Diseno de Modelos de Bases de Datos

Carlos A. Olarte ([email protected])BDI

Pontificia Universidad Javeriana

Carlos A. Olarte ([email protected]) BDI Diseno de Modelos de Bases de Datos

Contenido

1 Diseno de Modelos de Bases de Datos

2 Modelo Entidad Relacion

3 Llaves

4 Conjuntos Entidad Debil

5 Subclases y relaciones ISA

6 Ejercicios

Carlos A. Olarte ([email protected]) BDI Diseno de Modelos de Bases de Datos

El diseno de Modelos de BD

Carlos A. Olarte ([email protected]) BDI Diseno de Modelos de Bases de Datos

Modelo Conceptual

Describe el contenido (informacion) de la base de datos, nolas estructuras de almacenamiento.

Tiene como proposito comprender el dominio del problema yfacilitar la comunicacion entre las personas interesadas(desarrolladores, usuarios, ...)

Son completos y expresivos, y las descripciones que con ellosse construyen son simples, precisas y faciles de usar.

Carlos A. Olarte ([email protected]) BDI Diseno de Modelos de Bases de Datos

Diseno 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 quepueden servir para describir la estructura de una base de datos(vehıculo para describir la realidad)

Los modelos de datos se describen mediante:

Una estructuraUn conjunto de operacionesDefiniciones de Integridad

Carlos A. Olarte ([email protected]) BDI Diseno de Modelos de Bases de Datos

Principios de Diseno

Fidelidad: El diseno ha de ser fiel a las especificaciones, esdecir, debe corresponder a la realidad

Evitar la redundancia: Se debe tener mucho cuidado y decirlas cosas solo una vez

Simplicidad de Cuenta: En el diseno se debe introducir tansolo los elementos que sean absolutamente necesarios

Carlos A. Olarte ([email protected]) BDI Diseno de Modelos de Bases de Datos

Modelos Logicos Basados en Objetos

Las ligaduras de datos se hacen explicitas

Ejemplos:E/R ODL

interface C \\

{

attr str X;

relationship ...

}

interface A

{

relationship ...

}

Carlos A. Olarte ([email protected]) BDI Diseno de Modelos de Bases de Datos

Modelos Logicos Basados en Registros

Carlos A. Olarte ([email protected]) BDI Diseno de Modelos de Bases de Datos

Continuacion...

Carlos A. Olarte ([email protected]) BDI Diseno de Modelos de Bases de Datos

Diagramas Entidad-Relacion

Se componen de:

Conjuntos entidad (rectangulos)

Atributos (Ovalos)

Relaciones (Rombos)

En este modelo, se asigna un solo nombre a una relacion en ambasdirecciones.Las relaciones pueden incluir mas de dos conjuntos entidad

Carlos A. Olarte ([email protected]) BDI Diseno de Modelos de Bases de Datos

Continuacion (E/R)

Aspectos Importantes: Direccionalidad de las relaciones, relacionesmultidireccionales, atributos en las relaciones

Carlos A. Olarte ([email protected]) BDI Diseno de Modelos de Bases de Datos

Componentes del MERAtributos

Las propiedades de una entidad se describen mediante unconjunto de atributos. La entidad tiene un valor para cadauno de sus atributos.

Ejemplo, el numero de cedula 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 permitidospara ese atributo.

Carlos A. Olarte ([email protected]) BDI Diseno de Modelos de Bases de Datos

Componentes del MERAtributos

Almacenado / Derivado

Almacenado: se guarda en la base de datosDerivado: Su valor se obtiene a partir del valor de otros atributos oentidades relacionados. Se representa con un ovalo punteado. Ej.Edad.

Valores Nulos

Un atributo toma un valor null cuando una entidad no tiene unvalor para el.

Carlos A. Olarte ([email protected]) BDI Diseno de Modelos de Bases de Datos

Componentes del MERConjunto de Entidades (o Tipo de Entidad)

Es un conjunto de entidades del mismo tipo que compartenlas mismas propiedades, o atributos.

Ejemplo: el conjunto de todas las personas que son clientes deun banco.

Las entidades individuales son la extension del conjunto deentidades.

El tipo de entidad define la intension de la entidad.

Carlos A. Olarte ([email protected]) BDI Diseno de Modelos de Bases de Datos

Componentes del MERConjuntos Entidad

Algunos ejemplo:

Sujeto: Cliente, Proveedor, Empleado

Objeto: Producto, Factura

Evento: Solicitud de Pedido, Ajuste, Venta

Lugar: Ciudad, Paıs, Bodega

Abstraccion: Tipo de cliente, Unidad de medida

Carlos A. Olarte ([email protected]) BDI Diseno de Modelos de Bases de Datos

Componentes del MERRelaciones

Es una asociacion entre dos o mas entidades.

Ejemplo: si se tienen las entidades “estudiante Perez” y“curso Bases de Datos” se puede definir una relacion queasocie al estudiante con el curso.

Una relacion tambien puede tener atributos.

Carlos A. Olarte ([email protected]) BDI Diseno de Modelos de Bases de Datos

Relaciones Multidireccionales

Las Relaciones Multidireccionales pueden ser transformadas en unconjunto de relaciones binarias de mucho a uno introduciendo unconjunto entidad conexion. En el ejemplo del banco, el resultadoes:

Carlos A. Olarte ([email protected]) BDI Diseno de Modelos de Bases de Datos

Llaves

Las llaves son un conjunto de atributos que permiten identificar losobjetos pertenecientes a una clase (Interfaz en ODL o Conjuntoentidad en E/R) de manera unica.De manera formal, dados dos objetos O1 y O2 pertenecientes auna clase C con atributos A y llave K ⊆ A, siO1[K ] = O2[K ]→ O1 = O2.

Carlos A. Olarte ([email protected]) BDI Diseno de Modelos de Bases de Datos

Continuacion (Llaves)

ODL

interface X{

key(<List Atributos>);

...}

E/R

Carlos A. Olarte ([email protected]) BDI Diseno de Modelos de Bases de Datos

Conjuntos Entidad Debiles

Se denomina un Conjunto Entidad Debil a un C.E cuya llave estacompuesta parcial o totalmente por atributos llaves de otroconjunto entidad. Esta situacion se puede presentar en lassiguientes situaciones:

El conjunto cae dentro de una jerarquıa

Se crea un conjunto entidad de conexion para eliminarrelaciones multidireccionales

Al eliminar una relacion mucho a muchos

Carlos A. Olarte ([email protected]) BDI Diseno de Modelos de Bases de Datos

Notacion de los C.E.D

Condiciones:

La relacion R siempre debe ser binaria de Muchos (en ladebil) a uno

Los atributos que aporta A a B debe ser atributos llave de A

Si A tambien es debil, los atributos que aporta a B puedenpertenecer a otro conjunto entidad conectado a A por unarelacion muchos a uno

Si existen varias relaciones muchos a uno entre B y A, se debehacer una copia de los atributos llave de A por cada relacionpara formar la llave de B

Carlos A. Olarte ([email protected]) BDI Diseno de Modelos de Bases de Datos

Subclases en los diagramas E/R

Las subclases se representa en el MER por medio de relacionesISA. Por ejemplo:

Carlos A. Olarte ([email protected]) BDI Diseno de Modelos de Bases de Datos

Ejercicio

Construya un MER para el siguiente problema:Se desea mantener la informacion de la nomina de los empleadosde la companıa. De cada empleado se conoce su identificacion,nombre, fecha de nacimiento , y opcionalmente un conjunto deempleados subordinados. Cada empleado adicionalmente tiene uncargo en la companıa y por cada cargo se conoce cuanto es elsalario basico. La nomina se genera mensualmente y en ella sealmacena por cada empleado su salario basico y sus deduccionesobligatorias (porcentajes sobre el salario basico)

Carlos A. Olarte ([email protected]) BDI Diseno de Modelos de Bases de Datos

Ejercicio

Construya un MER para el siguiente problema:Se desea mantener la informacion de las cuentas de ahorros ycorrientes de un banco. Para lo anterior se tienen las siguientesconsideraciones:

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, unacuenta hace parte de otra cuenta (comparten recursos).

Por cada cuenta debe registrarse las transacciones de lasmismas. En cada una de las transacciones se debe almacenarla fecha, cajero, tarjeta, monto y tipo de la transaccion(retiro, consignacion o consulta de saldo)

Carlos A. Olarte ([email protected]) BDI Diseno de Modelos de Bases de Datos

Ejercicio (MER/ODL)

Construya un MER y un diseno en ODL para el sgte problema:Se requiere un sistema para registro academico que cumpla con las siguientes caracterısticas:

Un estudiante puede matricularse en varias carreras. Por cada una de ellas debe tener un codigo propio

Cada carrera tiene asignado un plan de estudio, es decir, una serie de materias, las cuales pueden tenerprerequisitos.

En cada grupo el profesor debe estar en capacidad de indicar las notas con sus respectivos porcentajes (i.eP.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 tambien deben tener en cuenta elperıodo academico, por ej. CC080, grupo A, 2005-01 es diferente a CC080-A, 2004-02.

Cada grupo (edicion) debe tener asociado el profesor quien lo dicata

Carlos A. Olarte ([email protected]) BDI Diseno de Modelos de Bases de Datos