• No se han encontrado resultados

Modelo Relacional

N/A
N/A
Protected

Academic year: 2022

Share "Modelo Relacional"

Copied!
27
0
0

Texto completo

(1)

Modelo Relacional

z

Modelo relacional mediante integración de vistas de usuario.

z Este método se centra en utilizar reportes e informes que debiese generar el sistema, para modelar la estructura relacional de la base de datos.

z No da una visión completa de la organización, pero puede ser útil para modelar pequeños sistemas transaccionales, de los cuáles sus funcionalidades se conocen claramente.

(2)

z

Pasos a seguir:

z Analizar documentos o reportes que generará el sistema.

z Por cada documento, identificar los campos de datos.

z Utilizar notación textual del modelo relacional, para identificar cada vista con sus campos.

z Normalizar las vistas.

z Integrar las distintas vistas, utilizando los atributos comunes entre ellas y la lógica del negocio.

Modelo Relacional

z

Para realizar una correcta integración es necesario considerar las siguientes actividades:

z Corregir problemas de sinónimos y homónimos.

z Corregir dependencias transitivas generadas por la integración.

z Representar adecuadamente generalizaciones producidas por la integración.

(3)

RUT: 77.019.370-2 FACTURA Nº 003480 IMPORTADORA PAGANINI

Importación de productos Pedro Montt 234, Valparaíso

Señores: Rut:

Dirección:

Valparaíso, de de 200

Cod Cant Descripcion P. Unit Val. Total

NETO:

IVA:

TOTAL:

Modelo Relacional

Factura(numFactura, fecha, nomCliente, rutCliente, dirCliente, codProducto, desProducto, cantidad, valorUniProd, totalProducto, netoFatura, ivaFactura, totalFactura)

Es necesario normalizar

(4)

z

Integración de vistas:

Factura(numFactura, fecha, nomCliente, rutCliente, dirCliente, codProducto, desProducto, cantidad, valorUniProd,

totalProducto, netoFatura, ivaFactura, totalFactura) DespachoProducto(numDespacho, fecha, codCliente, nomCliente, dirCliente, codProducto, cantidad, dirEnvio, rutReceptor, nomReceptor)

= Homónimos

= Sinónimos

Modelo Relacional

z

Integración de vistas:

Factura(numFactura, fechaFactura, nomCliente, rutCliente, dirCliente, codProducto, desProducto, cantidad, valorUniProd, totalProducto, netoFatura, ivaFactura, totalFactura)

DespachoProducto(numDespacho, fechaDespProd, rutCliente, nomCliente, dirCliente, codProducto, cantidad, dirEnvio, rutReceptor, nomReceptor)

(5)

z

Normalización.

z El proceso de normalización se suele utilizar cuando se realizan modelos relacionales de forma intuitiva o mediante vistas de usuario.

z El proceso de normalización tradicional cuenta con 5 pasos o niveles conocidos como formas normales.

z Existen dos formas normales adicionales, la de Boyce Codd y la de Dominio Clave.

z Una relación se considera como correctamente normalizada, si se le han aplicado las tres primeras formas normales.

z Las relaciones resultantes del proceso de normalización, deben poseer lo que se denomina dependencias funcionales.

Modelo Relacional

z

Diagramas de dependencia.

z Expresan de manera formal la dependencia que existe entre atributos de una relación.

atributoDeterminante Æ atributoDeterminado rutCliente Æ nombreCliente

z Las dependencias suelen tener un solamente un sentido; si consideramos A y B como dos atributos donde B depende de

(6)

z

Primera Forma Normal (1FN).

z Para poder llegar a la primera forma normal es necesario eliminar los atributos repetitivos de las relaciones no normalizadas.

z Los atributos repetitivos, son aquellos elementos que pueden tener diversos valores en una misma tupla de la relación.

z Es necesario indicar la clave primaria de la relación.

Modelo Relacional

z

Primera Forma Normal (1FN).

z

Pasos a Seguir:

z Enmarcar los conjuntos de atributos repetitivos entre “{}”.

z Crear una nueva relación por cada grupo repetitivo con sus atributos. La clave primaria de las nuevas relaciones estará formada por la clave primaria de la relación original, más un atributo del conjunto de atributos repetitivos que pueda servir como identificador. En caso que no exista un atributo

identificador, es necesario crear uno.

z En la relación original, se conservan aquellos atributos que no están asociados a conjuntos repetitivos.

(7)

z

Primera Forma Normal (1FN).

Factura(numFactura, fechaFactura, nomCliente, rutCliente, dirCliente, {codProducto, desProducto, cantidad, valorUniProd, totalProducto}, netoFatura, ivaFactura, totalFactura)

Factura(numFactura, fechaFactura, nomCliente, rutCliente, dirCliente, netoFatura, ivaFactura, totalFactura)

Detalle(numFactura, codProducto, desProducto, cantidad, valorUnitProd, totalProducto)

Modelo Relacional

z

Primera Forma Normal (1FN).

Factura numFactura fecha nomCliente rutCliente dirCliente netoFactura ivaFactura totalFactura

Detalle numFactura codProducto desProducto cantidad valorUnitProd totalProducto

(8)

z

Segunda Forma Normal (2FN).

z Una relación se encuentra en segunda forma normal cuando se eliminan sus dependencias parciales.

z Las dependencias parciales indican que parte de la clave primaria de una relación determina funcionalmente a un atributo no clave

z

Pasos a Seguir:

z Crear una relación con la clave primaria compuesta y los atributos completamente dependientes de esta.

z Por cada dependencia parcial, crear una nueva relación, cuya clave primaria es la parte de la clave compuesta que genera la dependencia parcial y que además contenga todos los atributos determinados por ella.

Modelo Relacional

z

Segunda Forma Normal (2FN).

Factura(numFactura, fechaFactura, nomCliente, rutCliente, dirCliente, netoFatura, ivaFactura, totalFactura)

Detalle(numFactura, codProducto, desProducto, cantidad, valorUnitProd, totalProducto)

numFactura, codProducto Æ desProducto numFactura, codProducto Æ cantidad numFactura, codProducto Æ valorUnitProd numFactura, codProducto Æ totalProducto codProducto Æ desProducto

codProducto Æ valorUnitProd

Detalle

(9)

z

Segunda Forma Normal (2FN).

Detalle(numFactura, codProducto, desProducto, cantidad, valorUnitProd, totalProducto)

Detalle(numFactura, codProducto, cantidad, totalProducto) Producto(codProducto, desProducto, valorUnitProd)

Modelo Relacional

z

Segunda Forma Normal (2FN).

Factura(numFactura, fechaFactura, nomCliente, rutCliente, dirCliente, netoFatura, ivaFactura, totalFactura)

Detalle(numFactura, codProducto, cantidad, totalProducto) Producto(codProducto, desProducto, valorUnitProd)

(10)

z

Segunda Forma Normal (2FN).

Modelo Relacional

z

Tercera Forma Normal (3FN).

z Una relación se encuentra en tercera forma normal, cuando se han eliminado sus dependencias transitivas.

z Las dependencias transitivas indica la existencia de atributos no clave que determinan funcionalmente a otros atributos no clave.

z

Pasos a Seguir:

z Crear una nueva relación cuya clave primaria es el atributo no clave que determina a los otros atributos no clave.

z Incluir el atributo clave de la nueva relación, como clave foránea en la relación original.

(11)

z

Tercera Forma Normal (3FN).

Factura(numFactura, fechaFactura, nomCliente, rutCliente, dirCliente, netoFatura, ivaFactura, totalFactura)

Detalle(numFactura, codProducto, cantidad, totalProducto) Producto(codProducto, desProducto, valorUnitProd)

numFactura Æ fechaFactura numFactura Æ nomCliente numFactura Æ rutCliente numFactura Æ dirCliente numFactura Æ netoFactura numFactura Æ ivaFactura numFactura Æ totalFactura rutCliente Æ nomCliente rutCliente Æ dirCliente

Factura

Modelo Relacional

z

Tercera Forma Normal (3FN).

Factura(numFactura, fechaFactura, nomCliente, rutCliente, dirCliente, netoFatura, ivaFactura, totalFactura)

Factura(numFactura, fechaFactura, netoFatura, ivaFactura, totalFactura)

Cliente(rutCliente, nomCliente, dirCliente)

(12)

z

Tercera Forma Normal (3FN).

Cliente(rutCliente, nomCliente, dirCliente)

Factura(numFactura, fechaFactura, netoFatura, ivaFactura, totalFactura, rutCliente)

Detalle(numFactura, codProducto, cantidad, totalProducto) Producto(codProducto, desProducto, valorUnitProd)

Modelo Relacional

z

Tercera Forma Normal (3FN).

Factura numFactura fecha rutCliente netoFactura ivaFactura totalFactura

Detalle numFactura codProducto cantidad totalProducto

Producto codProducto desProducto valorUnitProd Cliente

rutCliente nomCliente dirCliente

(13)

z

Forma Normal de Boyce-Codd (FNBC).

z Una relación se encuentra en FNBC, cuando se han eliminado las dependencias de Boyce-Codd.

z Las dependencias de Boyce-Codd indican la existencia de atributos no clave que determinan funcionalmente a atributos que componen la clave.

z

Pasos a Seguir:

z Crear una nueva relación por cada atributo determinante que esté generando la dependencia de Boyce-Codd, que incluya el atributo de la clave determinados por este. El atributo determinante es la clave de la nueva relación.

z En la relación original se quita el atributo dependiente que conforma la clave candidata.

Modelo Relacional

z

Forma Normal de Boyce-Codd (FNBC).

DirEntrega(ciudad, direccion, codPostal)

ciudad, direccion Æ codPostal codPostal Æ ciudad

DirEntrega(direccion, codPostal) CodPostal(codPostal, ciudad)

(14)

z

Forma Normal de Boyce-Codd (FNBC).

CodPostal codPostal ciudad DirEntrega

direccion codPostal

Modelo Relacional

z

Cuarta Forma normal (4FN).

z Una relación se encuentra en cuarta forma normal, cuando se han eliminado las dependencias multivaluadas que pudiesen existir.

z Una dependencia multivaluada se produce cuando existen tres atributos en los cuales dos de ellos no tienen relación entre sí, pero dependen de un mismo atributo.

z Una dependencia multivaluada se identifica de la siguiente manera “A1 ÆÆ A2”, donde el atributo A1 multidetermina al atributo A2.

(15)

z

Cuarta Forma normal (4FN).

z

Pasos a Seguir:

z Crear una nueva relación para cada dependencia múltiple.

z Para cada nueva relación se establece como clave primaria los atributos de la dependencia múltiple.

Transportista(rut, tipoVehículo, tipoCarga)

rut ÆÆ tipoVehículo tipoVehículo ÆÆ tipoCarga

Modelo Relacional

z

Cuarta Forma normal (4FN).

(16)

z

Quinta Forma normal (5FN).

z Una relación se encuentra en quinta forma normal o forma normal de Proyección-Unión, si se encuentra en 4FN y las únicas dependencias que existen son las denominadas dependencias de JOIN de una tabla con sus proyecciones, relacionándose entre sí mediante la clave primaria, o cualquier clave alternativa.

z Se dice que hay dependencia de JOIN entre una tabla y sus proyecciones, si es posible obtener la tabla original por medio de la unión de dichas proyecciones.

z La 5FN se emplea cuando existe mucha información redundante en una tabla, o cuando se hace inmanejable, debido a la existencia de muchos atributos.

Modelo Relacional

z

Quinta Forma normal (5FN).

z Una relación se encuentra en quinta forma normal o forma normal de Proyección-Unión, si se encuentra en 4FN y las únicas dependencias que existen son las denominadas dependencias de JOIN de una tabla con sus proyecciones, relacionándose entre sí mediante la clave primaria, o cualquier clave alternativa.

z Se dice que hay dependencia de JOIN entre una tabla y sus proyecciones, si es posible obtener la tabla original por medio de la unión de dichas proyecciones.

z La 5FN se emplea cuando existe mucha información redundante en una tabla, o cuando se hace inmanejable, debido a la existencia de muchos atributos.

(17)

z

Quinta Forma normal (5FN).

z Una relación se encuentra en quinta forma normal o forma normal de Proyección-Unión, si se encuentra en 4FN y las únicas dependencias que existen son las denominadas dependencias de JOIN de una tabla con sus proyecciones, relacionándose entre sí mediante la clave primaria, o cualquier clave alternativa.

z Se dice que hay dependencia de JOIN entre una tabla y sus proyecciones, si es posible obtener la tabla original por medio de la unión de dichas proyecciones.

z La 5FN se emplea cuando existe mucha información redundante en una tabla, o cuando se hace inmanejable, debido a la existencia de muchos atributos.

Modelo Relacional

z

Quinta Forma normal (5FN).

Persona(rut, datPers1, datPers2, datPers3, datPrev1, datPrev2, datLab1 , datLab2 , datLab3 , datLab4)

DatPersPer(rut, datPers1 , datPers2 , datPers3) DatPrevPer(rut, datPrev1, datPrev2)

DatLabPer(rut, datLab1 , datLab2 , datLab3 , datLab4)

(18)

z

Quinta Forma normal (5FN).

Modelo Relacional

z

Forma Normal de Dominio Clave (FNDC).

z Existe solamente de manera teórica.

z No existe una metodología para llegar a ella.

z Se basa en la siguiente definición: “una relación está en FNDC si y sólo si, cada restricción de la relación es una consecuencia lógica de las restricciones de las claves y de los dominios”.

(19)

z

Integración de vistas:

DespachoProducto(numDespacho, fechaDespProd, rutCliente, nomCliente, dirCliente, codProducto, cantidad, dirEnvio, rutReceptor, nomReceptor)

DespachoProducto(numDespacho, fechaDespProd, rutCliente, nomCliente, dirCliente, {codProducto, cantidad}, dirEnvio, rutReceptor, nomReceptor)

Modelo Relacional

z

Integración de vistas:

DespachoProducto(numDespacho, fechaDespProd, rutCliente, nomCliente, dirCliente, {codProducto, cantidad}, dirEnvio, rutReceptor, nomReceptor)

DespachoProducto(numDespacho, fechaDespProd, rutCliente, nomCliente, dirCliente, dirEnvio, rutReceptor, nomReceptor)

Detalle(numDespacho, codProducto, cantidad) 1FN

(20)

z

Integración de vistas:

Detalle(numDespacho, codProducto, cantidad)

2FN numDespacho, codProducto Æ cantidad

Modelo Relacional

z

Integración de vistas:

DespachoProducto(numDespacho, fechaDespProd, rutCliente, nomCliente, dirCliente, dirEnvio, rutReceptor, nomReceptor) Detalle(numDespacho, codProducto, cantidad)

numDespacho Æ fechaDespProd numDespacho Æ rutCliente numDespacho Æ nomCliente numDespacho Æ dirCliente numDespacho Æ dirEnvio numDespacho Æ rutReceptor numDespacho Æ nomReceptor rutCliente Æ nomCliente rutCliente Æ dirCliente rutReceptor Æ nomReceptor

DespachoProducto

(21)

z

Integración de vistas:

DespachoProducto(numDespacho, fechaDespProd, rutCliente, dirEnvio, rutReceptor)

Cliente(rutCliente, nomCliente, dirCliente) Receptor(rutReceptor, nomReceptor)

DespachoProducto(numDespacho, fechaDespProd, rutCliente, nomCliente, dirCliente, dirEnvio, rutReceptor, nomReceptor)

3FN

Modelo Relacional

z

Integración de vistas:

DespachoProducto(numDespacho, fechaDespProd, rutCliente, dirEnvio, rutReceptor)

Cliente(rutCliente, nomCliente, dirCliente) Receptor(rutReceptor, nomReceptor)

3FN

(22)

z Integración de vistas:

DespachoProducto numDespacho fechaDespProd rutCliente dirEnvio rutReceptor

Cliente rutCliente nomCliente dirCliente

Receptor rutReceptor nomReceptor Detalle

numDespacho codProducto cantidad

Modelo Relacional

z Integración de vistas:

DespachoProducto numDespacho fechaDespProd rutCliente dirEnvio rutReceptor

Cliente rutCliente nomCliente dirCliente

Receptor rutReceptor nomReceptor Detalle

numDespacho codProducto cantidad

(23)

z

Pasos a seguir:

z Analizar documentos o reportes que generará el sistema.

z Por cada documento, identificar los campos de datos.

z Utilizar notación textual del modelo relacional, para identificar cada vista con sus campos.

z Normalizar las vistas.

z Integrar las distintas vistas, utilizando los atributos comunes entre ellas y la lógica del negocio.

Modelo Relacional

z

Para realizar una correcta integración es necesario considerar las siguientes actividades:

z Corregir problemas de sinónimos y homónimos.

z Corregir dependencias transitivas generadas por la integración.

z Representar adecuadamente generalizaciones producidas por la integración.

(24)

z Integración de vistas:

Modelo Relacional

z Integración de vistas:

(25)

z Integración de vistas:

Modelo Relacional

z Integración de vistas:

DespachoProducto numDespacho fechaDespProd rutCliente dirEnvio rutReceptor

Factura numFactura fecha rutCliente netoFactura ivaFactura totalFactura

DetalleFactura numFactura codProducto cantidad totalProducto

Producto codProducto Cliente

rutCliente nomCliente dirCliente

Receptor rutReceptor

DetalleDespProd numDespacho

(26)

z

Para realizar una correcta integración es necesario considerar las siguientes actividades:

z Corregir problemas de sinónimos y homónimos.

z Corregir dependencias transitivas generadas por la integración.

z Representar adecuadamente generalizaciones producidas por la integración.

Modelo Relacional

z Integración de vistas:

DespachoProducto numDespacho fechaDespProd rutCliente dirEnvio rutReceptor

Factura numFactura fecha rutCliente netoFactura ivaFactura totalFactura

DetalleFactura numFactura codProducto cantidad totalProducto

Producto codProducto desProducto valorUnitProd Cliente

rutCliente nomCliente dirCliente

Receptor rutReceptor nomReceptor

DetalleDespProd numDespacho codProducto cantidad

(27)

z Integración de vistas:

DespachoProducto numDespacho fechaDespProd rutCliente dirEnvio rutReceptor

Factura numFactura fecha rutCliente netoFactura ivaFactura totalFactura

DetalleFactura numFactura codProducto cantidad totalProducto

Producto codProducto desProducto valorUnitProd Cliente

rut dirCliente

DetalleDespProd numDespacho codProducto cantidad Persona

rut nombre

Referencias

Documento similar

Además, en Colombia no se tiene conocimiento de la situación presentada con esta entidad en Chile, a finales del año 2011, donde defraudo a más de 418 mil

dni nombre dirección 21333555 LUISA c/A, 3 22444666 PEPE c/C, 33 21777333 ANA c/E, 333 ASIGNATURA. código

Para mostrar datos de clientes en la tabla Facturas, debe tener un campo común entre las dos tablas a fin de crear una relación.. ID de cliente es el

La regla d’integritat d’unicitat de la clau primària estableix que si el conjunt d’atributs CP és la clau primària d’una relació R, aleshores l’ex- tensió de R no pot tenir

• que una base de datos puede verse como una interpretación y no.. simplemente como un conjunto de

Cuando el importe de la subvención aprobada sea inferior a la cantidad solicitada, la entidad deberá comunicar a la Concejalía de Servicios Sociales, en el

presenciales Directores Codirectores Departamento Fecha concesión de créditos Nº registro Observaciones Cantidad solicitada Cantidad. propone Cantidad aprobada Visiones

Sin embargo, cuando hablamos de “diagnóstico” al referirnos a la personalidad no de- bemos entenderlo tanto en el sentido de agrupación de signos y síntomas sino como la