Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo IV - Parte 2.pdf ·...

24
Base de Datos P. UNIVERSIDAD CATÓLICA DE VALPARAÍSO FACULTAD DE INGENIERÍA ESCUELA DE INFORMÁTICA Programa de Aplicación Usuario A Usuario B Usuario N Bodega Insumo Proveedor Profesores: Franklin Johnson P. José Miguel Rubio L.

Transcript of Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo IV - Parte 2.pdf ·...

Page 1: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo IV - Parte 2.pdf · Modelamiento de una Base de Datos Modelo Conceptual: Entidad Relación Asociaciones entre

Base de Datos

P. UNIVERSIDAD CATÓLICA DE VALPARAÍSOFACULTAD DE INGENIERÍAESCUELA DE INFORMÁTICA

Programa de Aplicación

Usuario A

Usuario B

Usuario N

Bodega

Insumo

Proveedor

•••

•••

Profesores:Franklin Johnson P.José Miguel Rubio L.

Page 2: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo IV - Parte 2.pdf · Modelamiento de una Base de Datos Modelo Conceptual: Entidad Relación Asociaciones entre

Base de Datos 2

Índice de Contenidos

Introducción a las Bases de Datos

El Recurso Dato

Dato v/s Información

Historia de las Bases de Datos

Componentes de un ambiente de Base de Datos

Beneficios & Riesgos del uso de Base de Datos

Sistema de archivos v/s Bases de Datos

Bases de Datos y Desarrollo de Sistemas de

Información

Page 3: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo IV - Parte 2.pdf · Modelamiento de una Base de Datos Modelo Conceptual: Entidad Relación Asociaciones entre

Base de Datos 3

Índice de Contenidos

Sistemas de Gestión de Base de Datos

Conceptos

Principales funciones

Ventajas de utilizar SGBD

Consideraciones del uso de un SGB

Page 4: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo IV - Parte 2.pdf · Modelamiento de una Base de Datos Modelo Conceptual: Entidad Relación Asociaciones entre

Base de Datos 4

Índice de Contenidos

Modelamiento de una Base de DatosModelo Conceptual: Entidad Relación

Asociaciones entre entidades, Cardinalidad de Asociaciones

Claves candidatas y claves primarias, Atributos multivaluados

Reglas del Negocio

Modelo Lógico: RelacionalModelo Lógico

Transformación de entidades y relaciones

Proceso de Normalización de Relaciones

Análisis de vistas

Page 5: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo IV - Parte 2.pdf · Modelamiento de una Base de Datos Modelo Conceptual: Entidad Relación Asociaciones entre

Base de Datos 5

Índice de Contenidos

Metodología para el desarrollo de una BD

Identificación y Formulación de Requerimientos

Diseño Conceptual

Diseño Lógico

Diseño Físico

Page 6: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo IV - Parte 2.pdf · Modelamiento de una Base de Datos Modelo Conceptual: Entidad Relación Asociaciones entre

Base de Datos 6

Del MER al Modelo Relacional

Transformación de entidades

Transformación de asociaciones

Normalización

Mezcla de Relaciones

1 2

Identificación de Vistas

Especificación de relaciones

Normalización

Mezcla de Relaciones

Page 7: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo IV - Parte 2.pdf · Modelamiento de una Base de Datos Modelo Conceptual: Entidad Relación Asociaciones entre

Base de Datos 7

Del MER al Modelo Relacional

3

Método 1

Método 1

Método 2

a)

Método 2b)

+c)

Page 8: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo IV - Parte 2.pdf · Modelamiento de una Base de Datos Modelo Conceptual: Entidad Relación Asociaciones entre

Base de Datos 8

Esquema de las Etapas del Modelo Lógico

Diseño Lógico de la BD

Modelo Conceptual

Modelo Relacional

Transformación de entidades

Transformación de asociaciones

Normalización

Mezcla de Relaciones

Page 9: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo IV - Parte 2.pdf · Modelamiento de una Base de Datos Modelo Conceptual: Entidad Relación Asociaciones entre

Base de Datos 9

Esquema de las Etapas del Modelo Lógico

1. Transformación de las entidades:

Atributo Simple:

Cada tipo de entidad del modelo entidad relación representado como una relación en el modelo relacional.

Ejemplo.

??

Page 10: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo IV - Parte 2.pdf · Modelamiento de una Base de Datos Modelo Conceptual: Entidad Relación Asociaciones entre

Base de Datos 10

Transformación del MER a Relacional

2. Transformación de las entidades :

Atributo Multivaluado:

En el caso de utilizar el MER No mejorado, se deberá crear una nueva relación que contenga al atributo multivaluado más el identificador del tipo de entidad al cual pertenece.

La clave primaria de esta relación será la concatenación del Atributo Multivaluado y el identificador incluido.

Lo anterior puede variar dependiendo del caso.

Ejemplos. ??

Page 11: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo IV - Parte 2.pdf · Modelamiento de una Base de Datos Modelo Conceptual: Entidad Relación Asociaciones entre

Base de Datos 11

Transformación del MER a Relacional

2. Transformación de las entidades :Atributo Compuesto Simple:

Se puede dar el caso que el atributo compuesto se incluya en la relación a través de sus componentes simples.

Ejemplo.

Se puede dar también el caso que se cree una nueva relación donde la clave primaria de esta corresponda a un identificador del atributo compuesto además de heredar esta relación la clave primaria de la que contenía el atributo compuesto como clave foránea.

Ejemplo.??

Page 12: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo IV - Parte 2.pdf · Modelamiento de una Base de Datos Modelo Conceptual: Entidad Relación Asociaciones entre

Base de Datos 12

Transformación del MER a Relacional

2. Transformación de las entidades :

Atributo Compuesto Mutivaluado:

Se puede dar el caso que se cree una nueva relación donde la clave primaria de esta corresponda a un identificador del atributo compuesto además de heredar esta relación la clave primaria de la que contenía el atributo compuesto como clave primaria.

Ejemplo.

??

Page 13: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo IV - Parte 2.pdf · Modelamiento de una Base de Datos Modelo Conceptual: Entidad Relación Asociaciones entre

Base de Datos 13

Transformación del MER a Relacional

2. Transformación de las asociaciones:

Cada relación del modelo E/R debe estar representado en el modelo relacional y su representación dependerá de la naturaleza de la asociación, representando en algunos casos su clave primaria y claves foráneas que pertenecen a otras relaciones.

En otros casos serán claves compuestas de las relaciones que están asociadas.

Page 14: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo IV - Parte 2.pdf · Modelamiento de una Base de Datos Modelo Conceptual: Entidad Relación Asociaciones entre

Base de Datos 14

Transformación del MER a Relacional

2. Transformación de las asociaciones:

Asociaciones Unaria 1:N

Se genera una relación cuya clave primaria corresponde a la clave primaria de la entidad y se crea otro atributo que posee el mismo dominio de la clave primaria.

Ejemplo.

??

Page 15: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo IV - Parte 2.pdf · Modelamiento de una Base de Datos Modelo Conceptual: Entidad Relación Asociaciones entre

Base de Datos 15

Transformación del MER a Relacional

2. Transformación de las asociaciones:

Asociaciones Unaria N:M

Se genera una relación cuya clave primaria corresponde a la clave primaria de la relación inicial y se crea otra clave primaria que posee el mismo dominio de la clave primaria anterior.

Además se agregan los atributos que corresponda a la última relación.

Ejemplo.

??

Page 16: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo IV - Parte 2.pdf · Modelamiento de una Base de Datos Modelo Conceptual: Entidad Relación Asociaciones entre

Base de Datos 16

Transformación del MER a Relacional

2. Transformación de las asociaciones:

Asociaciones Binaria 1:1

Se deben identificar las relaciones del modelo relacional correspondiente, escoger una de las relaciones, e incluir su Clave Primaria como Clave Foránea en la otra relación.

Se debe tener en cuenta qué relación es la determinante.

Ejemplo.

??

Page 17: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo IV - Parte 2.pdf · Modelamiento de una Base de Datos Modelo Conceptual: Entidad Relación Asociaciones entre

Base de Datos 17

Transformación del MER a Relacional

2. Transformación de las asociaciones:

Asociaciones Binaria 1:N (no débil)

Se debe identificar la Relación que está en el lado de la cardinalidad N, e incluirle como clave foránea la clave primaria de la entidad con cardinalidad 1 (bajo la asociación).

Incluir cualquier atributo simple de la asociación (atributos particulares de una relación en el MER) como atributo de la relación con cardinalidad N.

Ejemplo.??

Page 18: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo IV - Parte 2.pdf · Modelamiento de una Base de Datos Modelo Conceptual: Entidad Relación Asociaciones entre

Base de Datos 18

Transformación del MER a Relacional

2. Transformación de las asociaciones:Asociaciones Binaria N:M

Se debe crear una nueva relación que represente la asociación N:M.Lo anterior en el caso de estar transformando el modelo MER 1era versión (no mejorado).Incluir como claves primarias a las claves primarias de las relaciones que participan de la asociación.Otra forma es crear una nueva clave primaria para la relación y considerar como claves foráneas las claves primarias que participan de la relación.En cualquiera de los casos se debe incluir cualquier atributo simple de la relación. Ejemplo.

??

Page 19: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo IV - Parte 2.pdf · Modelamiento de una Base de Datos Modelo Conceptual: Entidad Relación Asociaciones entre

Base de Datos 19

Transformación del MER a Relacional

2. Transformación de las asociaciones:

Asociaciones TernariaPor cada relación de grado tres o más, se debe crear una relación para representarla. Esto en el caso que el MER a transformar no esté en mejorado.

La nueva relación podrá tener como claves primarias las claves primarias de las relaciones que representan a los tipos de entidades que participan en dicha asociación.

Otra forma es crear una nueva clave primaria para la relación y considerar como claves foráneas las claves primarias que participan de la relación.

En cualquiera de los casos se debe considerar los atributos propios de la asociación, es decir atributos propios de la asociación grado 3 o superior.

Ejemplo.

??

Page 20: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo IV - Parte 2.pdf · Modelamiento de una Base de Datos Modelo Conceptual: Entidad Relación Asociaciones entre

Base de Datos 20

Transformación del MER a Relacional

2. Transformación de las asociaciones:

Generalización (ISA)

Se debe transformar a un esquema relacional, utilizando alguna de las siguiente opciones:

Opción 1:

� Crear una relación para la superclase con todos los atributos identificados en el MER.

� Crear una relación por cada subclase, con todos los atributos propios de la subclase más el identificador de la superclase, quedando éste como la clave primaria de la relación.

� Ejemplo.

??

Page 21: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo IV - Parte 2.pdf · Modelamiento de una Base de Datos Modelo Conceptual: Entidad Relación Asociaciones entre

Base de Datos 21

Transformación del MER a Relacional

2. Transformación de las asociaciones:

Generalización (ISA)

Se debe transformar a un esquema relacional, utilizando alguna de las siguiente opciones:

Opción 1:

??

R (K ag1 ag2) Clave Primaria atributos generales

Rsc (K ap1 ap2) Clave Primaria atributos particulares

Rsc (K ap3 )

Page 22: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo IV - Parte 2.pdf · Modelamiento de una Base de Datos Modelo Conceptual: Entidad Relación Asociaciones entre

Base de Datos 22

Transformación del MER a Relacional

2. Transformación de las asociaciones:Generalización (ISA)

Se debe transformar a un esquema relacional, utilizando alguna de las siguiente opciones:

Opción 2:� Crear una relación por cada subclase, incluyendo en

cada una de ellas los atributos de la superclase y los atributos propios de la subclase correspondiente.

� El identificador de la superclase queda como la clave primaria de la relación.

� Es decir equivale a tener dos relaciones independientes.

� Ejemplo.

??

Page 23: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo IV - Parte 2.pdf · Modelamiento de una Base de Datos Modelo Conceptual: Entidad Relación Asociaciones entre

Base de Datos 23

Transformación del MER a Relacional

2. Transformación de las asociaciones:Generalización (ISA)

Se debe transformar a un esquema relacional, utilizando alguna de las siguiente opciones:

Opción 3 - Subclase Disjunta:� Crear una única relación que contenga todos los atributos

de la superclase y todos los atributos pertenecientes a cada una de las subclases.

� La clave primaria es el identificador de la superclase.

� Agregar un atributo adicional que permita determinar a quésubclase pertenece cierta entidad.

� Esta alterativa permite valores nulos en los atributos que nos son necesarios para cierta entidad.

� Lo anterior puede ser un gran desperdicio de memoria.

� Ejemplo.

??

Page 24: Base de Datos - UCVzeus.inf.ucv.cl/~jrubio/docs/2009-01/INF 340/Capitulo IV - Parte 2.pdf · Modelamiento de una Base de Datos Modelo Conceptual: Entidad Relación Asociaciones entre

Base de Datos 24

Transformación del MER a Relacional

2. Transformación de las asociaciones:Generalización (ISA)

Se debe transformar a un esquema relacional, utilizando alguna de las siguiente opciones:

Opción 4 - Subclase Traslapada:� Crear una única relación que contenga todos los atributos

de la superclase y todos los atributos pertenecientes a cada una de las subclases.

� La clave primaria es el identificador de la superclase.

� Agregar un conjunto de atributos adicionales que permitan determinar a qué subclase pertenece cierta entidad.

� Esta alterativa permite valores nulos en los atributos que nos son necesarios para cierta entidad.

� Lo anterior puede ser un gran desperdicio de memoria.

� Ejemplo.

??