28
1 2.- Transformar el Modelo E/R al Modelo Relacional Lógico M.C. EMMANUEL ZENEN RIVERA BLAS

1b_Modelado BDs Relacionales ICED

Embed Size (px)

Citation preview

Page 1: 1b_Modelado BDs Relacionales ICED

1

2.- Transformar el Modelo E/R al Modelo Relacional Lógico

M.C. EMMANUEL ZENEN RIVERA BLAS

Page 2: 1b_Modelado BDs Relacionales ICED

2

Las reglas básicas para convertir el Modelo E/R al Relacional Lógico son las siguientes:

1.- Todo tipo de entidad se convierte en una relación.2.- Todo tipo de interrelación N:M se transforma en una relación.3.- para todo tipo de interrelaciones 1:N se realiza lo que se denomina propagación de llave (regla general), o bien se crea una nueva relación.(2 casos)4.- Aplicar las reglas de propagación de llaves para interrelaciones 1:1. (3 casos)

M.C. EMMANUEL ZENEN RIVERA BLAS

Page 3: 1b_Modelado BDs Relacionales ICED

33

GRAFO RELACIONAL

Una forma de representar gráficamente el esquema relacional de una manera sencilla y completa es el denominado grafo relacional. Es un grafo compuesto de un conjunto de nodos multiparticionados, donde cada nodo representa un esquema de relación, es decir una tabla de la Base de Datos. Para cada tabla, como mínimo, ha de aparecer su nombre y sus atributos, indicando:

Llave primaria => Negrita + SubrayadoLlave ajena=> Cursiva

Se dibuja además, un conjunto de arcos que conectan los atributos que constituyen la clave ajena con la tabla referenciada, permitiendo así que el usuario entienda los campos clave que comparten dominios comunes; en definitiva, los arcos representan la referenciabilidad de los atributos (clave ajena) de una relación respecto a la clave primaria de la otra.

M.C. EMMANUEL ZENEN RIVERA BLAS

Page 4: 1b_Modelado BDs Relacionales ICED

4

PASO I: TRANSFORMACION DE ENTIDADES A RELACIONES

M.C. EMMANUEL ZENEN RIVERA BLAS

Page 5: 1b_Modelado BDs Relacionales ICED

5

PRODUCTO

CodProductoClasificacion

DescripcionExistencia

Precio

CLIENTE

EmailPassword

NombreRFC Calle

Numero

ColoniaCP

CiudadTelefono

Direccion

PROVEEDORRFCNombreProv

EmpresaCargo

Calle

Numero

ColoniaCP

Direccion

Telefono

PaginaWeb

Agrega al carrito(1,N) (0,N)

(1,N)

Provee

(1,N)

(1,N)

N:M

N:M

PEDIDO

CodPedidoFechaPedido

CargoporEnvioFechaPago

TipoBanco

FACTURACodFacturaFechaFactura

Se compone

Se compone

(1,1)

(1,1)

(1,1)1:N

1:1

EMPRESAPERSONA

FAXApellidosSexo

FechaOrden

Cantidad

PrecioUnidad

ORDEN_PRODUCTO

FechaCompraprecioCompra

Cantidad

Convertir todas las entidades en relaciones (Paso1).

Tipo

M.C. EMMANUEL ZENEN RIVERA BLAS

Page 6: 1b_Modelado BDs Relacionales ICED

PROVEEDOR (RFC,NombreProv,Empresa,Cargo,Direccion,Estado,Ciudad,CP,Telefono,Fax,PaginaWeb)PRODUCTO(CodProducto,Clasificacion,Descripcion,Existencia,Precio,Foto)CLIENTE(Ver tema de Transformación de tipos y subtipos)PEDIDO()FACTURA()

PRODUCTO

CodProductoClasificacion

DescripcionExistencia

Precio

CLIENTE

EmailPassword

NombreRFC Calle

Numero

ColoniaCP

CiudadTelefono

Direccion

PROVEEDORRFCNombreProv

EmpresaCargo

Calle

Numero

ColoniaCP

Direccion

Telefono

PaginaWeb

Agrega al carrito(1,N) (0,N)

(1,N)

Provee

(1,N)

N:M

N:M

EMPRESAPERSONA

FAXApellidosSexo

FechaOrden

Cantidad

PrecioUnidad

ORDEN_PRODUCTO

FechaCompraprecioCompra

CantidadTipo

6M.C. EMMANUEL ZENEN RIVERA BLAS

Page 7: 1b_Modelado BDs Relacionales ICED

7

PEDIDO

CodPedidoFechaPedido

CargoporEnvioFechaPago

TipoBanco

FACTURACodFacturaFechaFactura

Se compone

Se compone

(1,1)

(1,1)

(1,1)1:N

1:1

PROVEEDOR (RFC,NombreProv,Empresa,Cargo,Direccion,Estado,Ciudad,CP,Telefono,Fax,PaginaWeb)PRODUCTO(CodProducto,Clasificacion,Descripcion,Existencia,Precio,Foto)CLIENTE(Email,Password,TipoCliente,Nombre,Apellidos,Sexo,RFC,Fax,Direccion,estado,Ciudad,CP,Telefono)PEDIDO(CodPedido,FechaPedido,FechaEntrega,EmpresaEnvio,FechaEnvio,CargoporEnvio,FechaPago,TipodeBanco,Estado)FACTURA(CodFactura,FechaFactura)

M.C. EMMANUEL ZENEN RIVERA BLAS

Page 8: 1b_Modelado BDs Relacionales ICED

8

PASO II: TRANSFORMACION DE INTERRELACIONES N:M

M.C. EMMANUEL ZENEN RIVERA BLAS

Page 9: 1b_Modelado BDs Relacionales ICED

9

Transformación de interrelaciones N:M. (paso 2)

Un tipo de interrelación N:M se transforma en una relación que tendrá como llave primaria la concatenación de las llaves primarias de las entidades que la asocia.

PRODUCTO

CodProductoClasificacion

DescripcionExistencia

Precio

CLIENTE

EmailPassword

NombreRFC Calle

Numero

ColoniaCP

CiudadTelefono

Direccion

PROVEEDOR RFCNombreProv

EmpresaCargo

CalleNumero

ColoniaCP

Direccion

Telefono

PaginaWeb

Agrega al carrito(1,N) (0,N)

(1,N)

Provee

(1,N)

(1,N)

N:M

N:M

PEDIDO

CodPedidoFechaPedido

CargoporEnvioFechaPago

TipoBanco

FACTURA CodFacturaFechaFactura

Se compone

Se compone

(1,1)

(1,1)

(1,1)1:N

1:1

EMPRESAPERSONA

FAXApellidosSexo

FechaOrden

Cantidad

PrecioUnidad

ORDEN_PRODUCTOFechaCompra

precioCompra

Cantidad

M.C. EMMANUEL ZENEN RIVERA BLAS

Page 10: 1b_Modelado BDs Relacionales ICED

PROVEEDOR (RFC,NombreProv,Empresa,Cargo,Direccion,Estado,Ciudad,CP,Telefono,Fax,PaginaWeb)

PROVEE(RFCProv,CodProducto,FechaCompra,PrecioCompra,Cantidad,Precio)

PRODUCTO(CodProducto,Clasificacion,Descripcion,Existencia,Precio,Foto)

ORDEN_PRODUCTO(Email,Codproducto,FechaOrden,Cantidad,PrecioUnidad)

CLIENTE(Email,Password,TipoCliente,Nombre,Apellidos,Sexo,RFC,Fax,Direccion,estado,Ciudad,CP,Telefono)

PEDIDO(CodPedido,FechaPedido,FechaEntrega,EmpresaEnvio,FechaEnvio,CargoporEnvio,FechaPago,TipodeBanco,Estado)

FACTURA(CodFactura,FechaFactura)

PRODUCTO

CodProductoClasificacion

DescripcionExistencia

Precio

CLIENTE

EmailPassword

NombreRFC Calle

Numero

ColoniaCP

CiudadTelefono

Direccion

PROVEEDOR RFC

Agrega al carrito(1,N) (0,N)

(1,N)

Provee

(1,N)

(1,N)

N:M

N:M

EMPRESAPERSONA

FAXApellidosSexo

FechaOrden

Cantidad

PrecioUnidad

ORDEN_PRODUCTOFechaCompra

precioCompra

Cantidad

10M.C. EMMANUEL ZENEN RIVERA BLAS

Page 11: 1b_Modelado BDs Relacionales ICED

11

PASO III: TRANSFORMACION DE INTERRELACIONES 1:N

M.C. EMMANUEL ZENEN RIVERA BLAS

Page 12: 1b_Modelado BDs Relacionales ICED

12

Transformación de interrelaciones 1:N (caso 1)(paso 3)

PROFESOR Pertenece DEPARTAMENTO(1,n) (1,1)

CodProf CodDep

1:N

PROFESOR(CodProf, …, CodDep)

DEPARTAMENTO(CodDep, …)

M.C. EMMANUEL ZENEN RIVERA BLAS

Page 13: 1b_Modelado BDs Relacionales ICED

13

PRODUCTO

CodProductoClasificacion

DescripcionExistencia

Precio

CLIENTE

EmailPassword

NombreRFC Calle

Numero

ColoniaCP

CiudadTelefono

Direccion

PROVEEDOR RFCNombreProv

EmpresaCargo

CalleNumero

ColoniaCP

Direccion

Telefono

PaginaWeb

Agrega al carrito(1,N) (0,N)

(1,N)

Provee

(1,N)

(1,N)

N:M

N:M

PEDIDO

CodPedidoFechaPedido

CargoporEnvioFechaPago

TipoBanco

FACTURA CodFacturaFechaFactura

Se compone

Se compone

(1,1)

(1,1)

(1,1)1:N

1:1

EMPRESAPERSONA

FAXApellidosSexo

FechaOrden

Cantidad

PrecioUnidad

ORDEN_PRODUCTOFechaCompra

precioCompra

Cantidad

Transformación de interrelaciones 1:N (caso 1)(paso 3)

M.C. EMMANUEL ZENEN RIVERA BLAS

Page 14: 1b_Modelado BDs Relacionales ICED

PROVEEDOR (RFC,NombreProv,Empresa,Cargo,Direccion,Estado,Ciudad,CP,Telefono,Fax,PaginaWeb)

PROVEE(RFCProv,CodProducto,FechaCompra,PrecioCompra,Cantidad,Precio)

PRODUCTO(CodProducto,Clasificacion,Descripcion,Existencia,Precio,Foto)

ORDEN_PRODUCTO(Email,Codproducto,FechaOrden,Cantidad,PrecioUnidad,Codpedido)

CLIENTE(Email,Password,TipoCliente,Nombre,Apellidos,Sexo,RFC,Fax,Direccion,estado,Ciudad,CP,Telefono)

PEDIDO(CodPedido,FechaPedido,FechaEntrega,EmpresaEnvio,FechaEnvio,CargoporEnvio,FechaPago,TipodeBanco,Estado)

FACTURA(CodFactura,FechaFactura)

PRODUCTO

CodProductoExistencia

Precio

CLIENTE

Email

CiudadTelefono

PROVEEDOR RFCNombreProv

EmpresaCargo

CalleNumero

ColoniaCP

Direccion

Telefono

PaginaWeb

Agrega al carrito(1,N) (0,N)

(1,N)

Provee

(1,N)

(1,N)

N:M

N:M

PEDIDO

CodPedidoFechaPedido

CargoporEnvioFechaPago

TipoBanco

Se compone(1,1)

(1,1)1:N

EMPRESAPERSONA

FAXApellidosSexo

FechaOrden

Cantidad

PrecioUnidad

ORDEN_PRODUCTOFechaCompra

precioCompra

Cantidad

M.C. EMMANUEL ZENEN RIVERA BLAS

Page 15: 1b_Modelado BDs Relacionales ICED

15

Transformación de interrelaciones 1:N (caso 2)(paso 3)

PERSONAtiene

papa

hijo

(1,n)

(1,1)

CodPersona1:N

Solución a:

PERSONA(CodPersona, …, CodPapa)

Solución b:PERSONA(CodPersona, …)

TIENEHIJO(CodHijo, CodPapa)

PERSONA

CodPersona CodPapa

PAD001 NULL

PAD002 NULL

HIJO001 PAD001

HIJO002 PAD002

HIJO003 PAD002

PERSONA

CodPersona

PAD001

PAD002

PAD003

TIENEHIJO

CodHijo CodPapa

HIJO001 PAD001

HIJO002 PAD001

HIJO003 PAD002

M.C. EMMANUEL ZENEN RIVERA BLAS

CAMPO FORANEO A LA MISMA TABLA Y PUEDE ACEPTAR

NULL

Page 16: 1b_Modelado BDs Relacionales ICED

16

PASO IV: TRANSFORMACION DE INTERRELACIONES 1:1

M.C. EMMANUEL ZENEN RIVERA BLAS

Page 17: 1b_Modelado BDs Relacionales ICED

Transformación de interrelaciones 1:1 ( caso 1) (paso 4).

HOMBRE MUJERMatrimonio(0,1)(0,1)

CodHombre CodMujer

1:1

Solución b:

HOMBRE(CodHombre, …)

MATRIMONIO(CodMujer,CodHombre)

MUJER(CodMujer, …)

Llave alternativa

(UNIQUE, NOT NULL)

Solución:Propagación de llaves como si fuera N:M, pero solo una de las llaves puede ser PK. La otra es UNIQUE NOT NULL. HOMBRE

CodHombre Nombre

HOM01 JUAN

HOM02 PEDRO

HOM03 PABLO

MUJER

CodMujer Nombre

MUJ01 VANESSA

MUJ02 KARLA

MUJ03 JULIA

MATRIMONIO

CodMujer CodHombre

MUJ01 HOM02

MUJ02 HOM01

MUJ03 HOM02

17M.C. EMMANUEL ZENEN RIVERA BLAS

Page 18: 1b_Modelado BDs Relacionales ICED

18

PROFESOR DEPARTAMENTOResponsable(0,1)(1,1)

CodProf CodDepto

1:1

Solución a:Propagación de llaves.

Solución b:

PROFESOR(CodProf,…)

DEPARTAMENTO(CodDepto,…,CodProf)

Llave ajena

NOT NULL

Transformación de interrelaciones 1:1 ( caso 2) (paso 4).

PROFESOR

CodpProf

PROF001

PROF002

PROF003

PROF004

PROF005

DEPARTAMENTO

CodDepto CodProf

DEPTO001 PROF001

DEPTO002 PROF002

DEPTO003 PROF002

DEPTO004

M.C. EMMANUEL ZENEN RIVERA BLAS

Page 19: 1b_Modelado BDs Relacionales ICED

19

PEDIDO

CodPedidoFechaPedido

CargoporEnvioFechaPago

TipoBanco

FACTURA CodFacturaFechaFacturaSe compone

(1,1)

(1,1)

(1,1)

1:1

En caso de que ambas entidades presenten cardinalidades (1,1), se puede propagar la llave de cualquiera de ellas a la tabla resultante de la otra.

PEDIDO(CodPedido,...,)

FACTURA(CodFactura,…,CodPedido)

Llave ajena

NOT NULL

Transformación de interrelaciones 1:1 ( caso 3) (paso 4).

Ejercicio

M.C. EMMANUEL ZENEN RIVERA BLAS

Page 20: 1b_Modelado BDs Relacionales ICED

PROVEEDOR (RFC,NombreProv,Empresa,Cargo,Direccion,Estado,Ciudad,CP,Telefono,Fax,PaginaWeb)

PROVEE(RFCProv,CodProducto,FechaCompra,PrecioCompra,Cantidad,Precio)

PRODUCTO(CodProducto,Clasificacion,Descripcion,Existencia,Precio,Foto)

ORDEN_PRODUCTO(Email,Codproducto,FechaOrden,Cantidad,PrecioUnidad,Codpedido)

CLIENTE(Email,Password,TipoCliente,Nombre,Apellidos,Sexo,RFC,Fax,Direccion,estado,Ciudad,CP,Telefono)

PEDIDO(CodPedido,FechaPedido,FechaEntrega,EmpresaEnvio,FechaEnvio,CargoporEnvio,FechaPago,TipodeBanco,Estado)

FACTURA(CodFactura,CodPedido,FechaFactura)

PEDIDO

CodPedidoFechaPedido

CargoporEnvioFechaPago

TipoBanco

FACTURA CodFacturaFechaFacturaSe compone

(1,1)

(1,1)

(1,1)

1:1

20M.C. EMMANUEL ZENEN RIVERA BLAS

Page 21: 1b_Modelado BDs Relacionales ICED

21

3.- Transformación de tipos y subtipos

M.C. EMMANUEL ZENEN RIVERA BLAS

Page 22: 1b_Modelado BDs Relacionales ICED

22

Transformación de tipos y subtipos(1)

Para esta transformación se presentan tres opciones:

Opción a: Englobar todos los atributos de la entidad y sus subtipos en una sola relación.

Sugerencia: Utilizarla cuando los subtipos se difieren en muy pocos atributos.

CLIENTE

EmailPassword

NombreRFC Calle

Numero

ColoniaCP

CiudadTelefono

Direccion

(1,N)

EMPRESAPERSONA

FAXApellidosSexo

Tipo

CLIENTE(Email, Password,Nombre,Apellidos,Sexo,FAX,RFC,Direccion,Ciudad,Telefono,Tipo)

M.C. EMMANUEL ZENEN RIVERA BLAS

Page 23: 1b_Modelado BDs Relacionales ICED

CLIENTE(Email, Password,TipoCliente,Nombre,Apellidos,Sexo,FAX,RFC,Direccion,Estado,Ciudad,CP,Telefono)

CLIENTE

EmailPassword

NombreRFC Calle

Numero

ColoniaCP

CiudadTelefono

Direccion

(1,N)

EMPRESAPERSONA

FAXApellidosSexo

Tipo

APLICAR VALIDACIONES EN CADA CASO DE ENTRADA SI ES PERSONA O EMPRESA.

23M.C. EMMANUEL ZENEN RIVERA BLAS

Page 24: 1b_Modelado BDs Relacionales ICED

24

Opción b: Crear una relación para el supertipo y tantas relaciones como subtipos haya.

Sugerencia: Utilizarla cuando los subtipos se difieren en muchos atributos distintos.

CLIENTE

EmailPassword

EMPRESAPERSONA

FAXApellidosSexo

CLIENTE(Email, Password)

PERSONA(Email, Apellidos, Sexo,…)

EMPRESA(Email, FAX,…)

Transformación de tipos y subtipos(2)

M.C. EMMANUEL ZENEN RIVERA BLAS

Page 25: 1b_Modelado BDs Relacionales ICED

25

Opción c: Considerar relaciones distintas para cada subtipo, que contengan, además de los atributos propios, los atributos comunes.

Sugerencia: Utilizarla cuando los subtipos se difieren en muchos atributos distintos y existen pocos atributos en el supertipo.

PERSONA(Email, Password, Apellidos, Sexo,…)

EMPRESA(Email, Password, FAX,…)

CLIENTE

EmailPassword

EMPRESAPERSONA

FAXApellidosSexo

Transformación de tipos y subtipos(3)

M.C. EMMANUEL ZENEN RIVERA BLAS

Regresar

Page 26: 1b_Modelado BDs Relacionales ICED

26

MODELO RELACIONAL LÓGICO DEL CARRITO DE COMPRAS

M.C. EMMANUEL ZENEN RIVERA BLAS

Page 27: 1b_Modelado BDs Relacionales ICED

MODELO RELACIONAL LÓGICO DEL CARRITO DE COMPRAS

PROVEEDOR (RFC,NombreProv,Empresa,Cargo,Direccion,Estado,Ciudad,CP,Telefono,Fax,PaginaWeb)

PROVEE(RFCProv,CodProducto,FechaCompra,PrecioCompra,Cantidad,Precio)

PRODUCTO(CodProducto,Clasificacion,Descripcion,Existencia,Precio,Foto)

ORDEN_PRODUCTO(Email,Codproducto,FechaOrden,Cantidad,PrecioUnidad,Codpedido)

CLIENTE(Email,Password,TipoCliente,Nombre,Apellidos,Sexo,RFC,Fax,Direccion,estado,Ciudad,CP,Telefono)

PEDIDO(CodPedido,FechaPedido,FechaEntrega,EmpresaEnvio,FechaEnvio,CargoporEnvio,FechaPago,TipodeBanco,Estado)

FACTURA(CodFactura,CodPedido,FechaFactura)

27M.C. EMMANUEL ZENEN RIVERA BLAS

Page 28: 1b_Modelado BDs Relacionales ICED

28M.C. EMMANUEL ZENEN RIVERA BLAS