Diseño de base de datos

80
ARQUITECTURAS DE BASE DE DATOS JERÁRQUICAS REDES RELACIONALES ORIENTADAS A OBJETOS OBJETO RELACIONALES

Transcript of Diseño de base de datos

Page 1: Diseño de base de datos

ARQUITECTURAS DE BASE DE

DATOS

• JERÁRQUICAS

• REDES

• RELACIONALES

• ORIENTADAS A OBJETOS

• OBJETO RELACIONALES

Page 2: Diseño de base de datos

DISEÑO DE BASE DE

DATOS

Page 3: Diseño de base de datos

EL PROCESO DEL DISEÑO DE UNA

BASE DE DATOS

MUNDO REAL

Base de

Datos

Física

Estructura Percibida

(no formalizada)

objetos y asociaciones con

Sus propiedades y reglas

Esquema

Conceptual

Esquema

Interno

Esquema

de Base

de Datos

Modelo

Conceptual

MODELO

INTERNO

MODELADO CONCEPTUAL

DISEÑO LOGICO

DISEÑO FISICO

MODELO

DE BD

SGBD

VALORES

Page 4: Diseño de base de datos

DISEÑO DE BASE DE DATOS

• TRANSFORMAR UNA PORCIÓN DEL MUNDO REAL CON SUS OBJETOS Y ASOCIACIONES, SUS PROPIEDAES Y REGLAS A UNA BASE DE DATOS FÍSICA DE UNA ARQUITECTURA ESPECÍFICA.

Page 5: Diseño de base de datos

MODELO ENTIDAD - RELACIÓN • El modelo entidad-relación es el modelo conceptual más utilizado para el

diseño conceptual de bases de datos. Fue introducido por Peter Chen en 1976. El modelo entidad-relación está formado por un conjunto de conceptos que permiten describir la realidad mediante un conjunto de

representaciones gráficas y lingüísticas.

E1

R1

ENTIDAD

RELACIÓN

ATRIBUTO

ATRIBUTO CLAVE

ATRIBUTO COMPUESTO

D1 DOMINIO

GENERALIZACIÓN / HERENCIA

Page 6: Diseño de base de datos

ENTIDAD (SUSTANTIVO) • ES AQUEL OBJETO ACERCA DEL CUAL QUEREMOS

ALMACENAR DATOS EN LA BASE DE DATOS.

PERSONA

• REGULARES: ENTIDADES CON EXISTENCIA PROPIA.

• DÉBILES: LA EXISTENCIA DE UNA OCURRENCIA DE UNA ENTIDAD DÉBIL DEPENDEN DE LA EXISTENCIA DE UNA OCURRENCIA DE UNA ENTIDAD REGULAR.

INSTITUCIÓN DEPARTAMENTO SE

COMPONE

Page 7: Diseño de base de datos

ENTIDAD • LA ENTIDAD ES UNA MATRIZ DE COLUMNAS Y FILAS. LAS

COLUMNAS SON LOS ATRIBUTOS O PROPIEDADES Y LAS FILAS LOS SUCESOS O EVENTOS DE LA ENTIDAD.

CÓDIGO NOMBRE FECHA

CONTRATO SUELDO JEFE

7234 ROSAS 24-NOV-98 750 7500

7500 CHAVEZ 12-DIC-96 3000

3450 FERRO 14-SET-99 2200 7500

2345 ALVA 22-ABR-01 1500 3450

5789 CISNEROS 30-OCT-05 1200 7234

EMPLEADOS

Page 8: Diseño de base de datos

RELACIÓN (VERBO)

• ASOCIACION DE ENTIDADES

PERSONA CASA TIENE

• EJ. TÉCNICO REPARA ELECTRODOMÉSTICO

TÉCNICO ELECTRODOMÉSTICO REPARA

Page 9: Diseño de base de datos

UNA RELACIÓN SE CARACTERIZA POR: • NOMBRE: ES UN VERBO O ACCIÓN. EJ TIENE , ES, ESCRIBE, ETC.

• GRADO:NUMERO DE ENTIDADES QUE PARTICIPAN EN UNA RELACIÓN.

• TIPO DE RELACIÓN:

– UNO A MUCHOS 1:N

– MUCHOS A UNO N:1

– MUCHOS A MUCHOS N:M

• EL TIPO DE RELACIÓN SE CONSTRUYE A TRAVÉS DE LA CARDINALIDAD. NUMERO DE VINCULACIONES MÍNIMAS Y MÁXIMAS QUE PUEDEN EXISTIR ENTRE LOS EVENTOS DE DOS O MÁS RELACIONES. EJ. UNA INSTITUCIÓN PUEDE COMPONERSE DE, MÍNIMO, 1 DEPARTAMENTO, UNA INSTITUCIÓN PUEDE COMPONERSE, MÁXIMO DE , MUCHOS n DEPARTAMENTOS. UN DEPARTAMENTO PUEDE COMPONER , COMO MÍNIMO, 1 INSTITUCIÓN Y UN DEPARTAMENTO PUEDE COMPONER , COMO MÁXIMO A 1 INSTITUCIÓN. POR LO TANTO EL TIPO DE RELACIÓN SERÁ DE 1 A N

INSTITUCIÓN DEPARTAMENTO SE

COMPONE

(1,n) (1,1)

1:N

Page 10: Diseño de base de datos

GRADO DE UNA RELACIÓN

• GRADO 1

• GRADO 2

• GRADO 3

TEMA

Consta N:M

EDITORIAL

Edita

LIBRO

1:N

AUTOR

Escribe

DOCUMENTO

N:M

AUTOR

INSTITUCION

TEMA

ConstaN:M:1

Page 11: Diseño de base de datos

RELACIONES RECURSIVAS

CÓDIGO NOMBRE FECHA

CONTRATO SUELDO JEFE

7234 ROSAS 24-NOV-98 750 7500

7500 CHAVEZ 12-DIC-96 3000

3450 FERRO 14-SET-99 2200 7500

2345 ALVA 22-ABR-01 1500 3450

5789 CISNEROS 30-OCT-05 1200 7234

EMPLEADO

ES JEFE

(0,n)

(1,1)

1:N

Page 12: Diseño de base de datos

RELACIONES RECURSIVAS

EMPLEADO ES JEFE EMPLEADO(0,n)(1,1)

1:N

CÓDIGO NOMBRE JEFE

7234 ROSAS 7500

7500 CHAVEZ

3450 FERRO 7500

2345 ALVA 3450

5789 CISNEROS 7234

CÓDIGO NOMBRE JEFE

7234 ROSAS 7500

7500 CHAVEZ

3450 FERRO 7500

2345 ALVA 3450

5789 CISNEROS 7234

CHAVEZ

7500

ROSAS

7234

FERRO

3450

CISNEROS

5789

ALVA

2345

Page 13: Diseño de base de datos

ATRIBUTOS

• DEFINICIÓN

– ES CADA UNA DE LAS

PROPIEDADES O

CARACTERÍSTICAS QUE

TIENE UNA ENTIDAD O UNA

INTERRELACIÓN.

• DOMINIO

– CONJUNTO DE VALORES

POSIBLES QUE PUEDE

TOMAR UN ATRIBUTO.

– LOS DOMINIOS TIENEN

EXISTENCIA PROPIA,

TIENEN UN NOMBRE.

País Nº Clubes

Nombre

PAIS

DONDE:

PAIS -> CLAVE PRIMARIA

NOMBRE-> CLAVE ALTERNATIVA

No CLUBES-> DATO COMÚN

SOCIO

NACIONALIDADESNACIONALIDAD

SEXOSSEXO

Page 14: Diseño de base de datos

LIBRO

Presta

SOCIO

Cod_LibroIsbn

TítuloIdiomaAño_EdicionNum_Ejemplares

Fec_Préstamo

Fec_Devolución

DNI

NombreDomicilioFec_Nac

Figura 8. Representación de atributos de tipo de entidad y de tipo de interrelación

• SI TOMAMOS LA ENTIDAD

LIBRO. ¿CUAL ES EL

MENOR NÚMERO DE

ATRIBUTOS QUE ME SIRVE

PARA IDENTIFICAR UN

LIBRO?

• HAY 2 POSIBILIDADES:

– COD_LIBRO

– ISBN

• SI SELECCIONO

COD_LIBRO, ESTE

ATRIBUTO SE CONVIERTE

EN CLAVE PRIMARIA Y

SEÑALA CON LA BOLA

NEGRA.

• ISBN SE CONVIERTE EN

UNA CLAVE ALTERNATIVA Y

SE SEÑALA CON UNA BOLA

NEGRA PARTIDA.

Page 15: Diseño de base de datos

CASO No 01

LA BIBLIOTECA • MODELE UN ESQUEMA CONCEPTUAL DE LA BASE DE DATOS

DEL SISTEMA DE CONTROL DE BIBLIOTECA, CONSIDERANDO LOS SIGUIENTES CONCEPTOS: – LOS LIBROS EN LA BIBLIOTECA TIENEN UNO O MÁS

EJEMPLARES.

– LOS EJEMPLARES SE PRESTAN A LOS SOCIOS.

– UN SOCIO PUEDE TENER HASTA 3 EJEMPLARES PRESTADOS DE LA BIBLIOTECA.

– SE DESEA MANTENER UNA BASE DE DATOS QUE CONSIDERE LOS SIGUIENTES ATRIBUTOS DE LOS LIBROS: CÓDIGO DE LIBRO, NOMBRE DE LIBRO, IDIOMA Y AÑO DE PUBLICACIÓN.

– DEL EJEMPLAR UN NUMERO DE SECUENCIA.

– DEL SOCIO UN CÓDIGO, EL NOMBRE Y SU DIRECCIÓN

– INCLUYA LA FECHA DEL PRÉSTAMO DEL LIBRO Y LA FECHA DE DEVOLUCIÓN.

Page 16: Diseño de base de datos

IDENTIFICACIÓN DE LAS ENTIDADES

LIBRO EJEMPLAR

SOCIO

Page 17: Diseño de base de datos

ESTABLECER LAS RELACIONES

LIBRO EJEMPLARTIENE

PRESTA

SOCIO

Page 18: Diseño de base de datos

DETERMINAR LA CARDINALIDAD

LIBRO EJEMPLARTIENE

PRESTA

SOCIO

(1,n)(1,1)

1:N

(1,1)

(0,3)

N:1

Page 19: Diseño de base de datos

INCLUIR ATRIBUTOS

LIBRO EJEMPLARTIENE

PRESTA

SOCIO

(1,n)(1,1)

1:N

(1,1)

(0,3)

N:1

SECUENCIA

CO

D_

LIB

RO

TIT

UL

O

IDIO

MA

O

COD_SOCIO

NOMBREDIRECCIÓN

FECHA_PRESTAMO

FECHA_DEVOLUCIÓN

Page 20: Diseño de base de datos

LOS EMPLEADOS POR

DEPARTAMENTO • LA EMPRESA CIMERFA S.A.C DESEA CONTROLAR

LAS PERSONAS QUE TRABAJAN EN ELLA TENIENDO EN CUENTA LOS SIGUIENTES CONCEPTOS: – LAS PERSONAS TIENEN UN CÓDIGO, NOMBRE, SALARIO,

COMISIONES Y LA FECHA DE CONTRATACIÓN .

– LAS PERSONAS TRABAJAN SÓLO EN UN DEPARTAMENTOS

– LAS PERSONAS TIENEN POR JEFES OTRAS PERSONAS

– LOS DEPARTAMENTOS TIENEN UN CÓDIGO, UN NOMBRE

– LAS PERSONAS DESEMPEÑAN 1 O MÁS LABORES

– LAS LABORES TIENEN UN CÓDIGO Y UNA DESCRIPCIÓN

Page 21: Diseño de base de datos

PERSONA

DEPTTRABAJA(1,1)

(1,N)

N:1

CDEPT

CP

ER

SO

NA

NO

MB

RE

FC

ON

TR

AT

A

SU

EL

DO

CO

MM

LABORDESEMPEÑA(1,N)

(1,N)

N:M

NDEPT

CLABOR

NLABOR

Page 22: Diseño de base de datos

FACTURA

• LA EMPRESA IDEAS S.R.L – LA FACTURA SE IDENTIFICA POR UN NÚMERO,

ADEMÁS TIENE FECHA, TOTAL, IGV Y GRAN TOTAL

– LA FACTURA SE REALIZA A UN CLIENTE

– EL CLIENTE TIENE RUC, NOMBRE, DIRECCIÓN Y TELÉFONO.

– LA FACTURA TIENE UNO MAS ARTÍCULOS

– LOS ARTÍCULOS TIENEN CÓDIGO, NOMBRE Y UNIDAD DE MEDIDA

– LOS ARTÍCULOS DE LA FACTURA INCLUYEN CANTIDAD, PRECIO UNITARIO, MONTO TOTAL (PRECIO POR CANTIDAD)

Page 23: Diseño de base de datos

FACTURA

ARTICULOTIENE(1,n)

(0,n)

N:M

CARTICULO

NF

AC

TU

RA

FE

CF

AC

TU

RA

TO

TA

L

IGV

GR

AN

TO

TA

L

CLIENTESE REALIZA(1,1)

(1,n)

N:1

NARTICULO

RUCRAZONSOCIALDIRECCIÓNTELÉFONO

UM

CA

NT

IDA

D

PU

NIT

PU

NIT

XC

AN

T

Page 24: Diseño de base de datos

MODELO RELACIONAL

• CONCEPTOS – TABLA, ATRIBUTO (DOMINIO), TUPLA O FILA.

– ESQUEMA DE UNA RELACIÓN

– RELACIÓN

– ESQUEMA DE UNA BASE DE DATOS RELACIONAL

– RESTRICCIONES DEL MODELO RELACIONAL DE DOMINIO

• NORMALIZACIÓN – FORMAS NORMALES

– PRIMERA FORMA NORMAL. EJERCICIOS

– SEGUNDA FORMA NORMAL. EJERCICIOS

– TERCERA FORMA NORMAL. DEPENDENCIA TRANSITIVA. EJERCICIOS

Page 25: Diseño de base de datos

NOMBRE NACIONALIDAD INSTITUCIÓN

DATE USA MIT

CODD USA IBM

CERI ITALIA POLITECNICO MILAN

SALTOR ESPAÑA UTP

COLUMNAS

FIL

AS

O T

UP

LA

S

NOMBRES DE 25

CARACTERES

DOMINIOS

NACIONALIDADES

INSTITUCIONES

EDUCATIVAS

NOMBRE DE LA TABLA : AUTOR

Page 26: Diseño de base de datos

EL MODELO RELACIONAL • LOS USUARIOS VEN LA

BASE DE DATOS COMO

UNA COLECCIÓN DE

TABLAS

PERSONA

CPERSONA NOMBRE FECCONTRATO SUELDO COMM CDEPT

0729 JUAN 26-Sep-91 4200 700 10

0731 MARIA 26-Oct-97 7000 400 20

0747 IBIS 14-Jul-88 2000 200 10

0756 GONZALO 1-Feb-01 750 2000 30

0755 RAUL 18-Jan-99 4200 300 40

0778 TOMAS 22-May-92 5000 1300 10

0722 CARMELA 14-Feb-02 4000 800 40

0790 GINA 2-Mar-87 850 900 20

0797 JANNET 3-Feb-05 1700 900 50

0800 DINO 7-Nov-05 1200 700 50

DEPT

CDEPT NDEPT

10 CONTABILIDAD

20 LOGISTICA

30 FINANZAS

40 VENTAS

50 PRODUCCION

Page 27: Diseño de base de datos

PERSONA

CPERSONA NOMBRE FECCONTRATO SUELDO COMM CDEPT

0729 JUAN 26-Sep-91 4200 700 10

0731 MARIA 26-Oct-97 7000 400 20

0747 IBIS 14-Jul-88 2000 200 10

0756 GONZALO 1-Feb-01 750 2000 30

0755 RAUL 18-Jan-99 4200 300 40

0778 TOMAS 22-May-92 5000 1300 10

0722 CARMELA 14-Feb-02 4000 800 40

0790 GINA 2-Mar-87 850 900 20

0797 JANNET 3-Feb-05 1700 900 50

0800 DINO 7-Nov-05 1200 700 50

LABOR

CLABO

R NLABOR

L010 CONTADOR

L049 PLANILLERO

L023 AUXILIAR

L007 CAJERO

L012 COMPRADOR

L077 GERENTE LOGISTICA

L056 GERENTE FINANZAS

L078 GERENTE VENTAS

L090 VENDEDOR

L111 ALMACENERO

L014 OPERADOR

L033

GERENTE

PRODUCCION

L123 GERENTE GENERAL

CPERSONA CLABOR

0729 L010

0731 L049

0747 L023

0756 L007

0755 L012

0778 L077

0722 L031

0790 L078

0797 L090

0800 L111

0722 L014

0756 L033

0778 L123

• LAS RELACIONES SON COLUMNAS EN COMÚN.

Page 28: Diseño de base de datos

• ATRIBUTOS=COLUMNAS

• DOMINIO : CONJUNTO DE VALORES

VÁLIDOS PARA LAS COLUMNAS

Page 29: Diseño de base de datos

ESQUEMA DE RELACIÓN

• INTENSIÓN – AUTOR(NOMBRE, NACIONALIDAD,INSTITUCIÓN)

– AUTOR (NOMBRE: NOMBRES, NACIONALIDAD: NACIONALIDADES,

INSTITUCION: INSTITUCIONES EDUCATIVAS)

• EXTENSIÓN

NOMBRE NACIONALIDAD INSTITUCIÓN

DATE USA MIT

CODD USA IBM

CERI ITALIA POLITECNICO MILAN

SALTOR ESPAÑA UTP

AUTOR

Page 30: Diseño de base de datos

RELACIONES EN EL ESQUEMA DE RELACIÓN POR INTENSIÓN

AUTOR(NOMBRE, NACIONALIDAD, INSTITUCION)

LIBRO(CODLIBRO, TITULO, IDIOMA, EDITORIAL)

ESCRIBE(NOMBRE, CODLIBRO)

Page 31: Diseño de base de datos

RESTRICCIONES SEMÁNTICAS

• FACILIDADES QUE EL MODELO OFRECE A LOS USUARIOS A

FIN DE ÉSOS PUEDAN REFLEJAR EN EL ESQUEMA, LO MÁS

FIELMENTE POSIBLE, LA SEMÁNTICA DEL MUNDO REAL.

• ATRIBUTOS NULOS: (NULL) NO EXISTE NINGÚN VALOR EN LA

INTERSECCIÓN DE LA FILA CON COLUMNA.

• UNICIDAD: (UNIQUE) VALORES DE UNO O MÁS ATRIBUTOS

QUE NO PUEDEN REPETIRSE EN UNA RELACIÓN

• OBLIGATORIEDAD: (NOT NULL) UN CONJUNTO DE ATRIBUTOS

QUE NO SOPORTA VALORES NULOS

• INTEGRIDAD REFERENCIAL: (FOREIGN KEY) ATRIBUTOS DE

UNA TABLA QUE SON CLAVES EN OTRA.

• CLAVE PRIMARIA: (PRIMARY KEY) VALORES UNICOS Y

OBLIGATORIOS (UNIQUE Y NOT NULL) DE LOS ATRIBUTOS

QUE IDENTIFICAN LA FILA.

Page 32: Diseño de base de datos

LAS FORMAS NORMALES

• PARA LLEGAR AL MODELO

RELACIONAL DE UNA REALIDAD

CONCRETA SE APLICAN 3 PASOS

DENOMINADOS FORMAS NORMALES

• 1 FORMA NORMAL

• 2 FORMA NORMAL

• 3 FORMA NORMAL

Page 33: Diseño de base de datos

PRIMERA FORMA NORMAL

• LAS TABLAS NO PUEDE ADMITIR GRUPOS REPETITIVOS

• SI ANALIZAMOS UN EJEMPLO POR INTENSIÓN CON GRUPO REPETITIVO:

• LIBRO(CODLIBRO, TITULO, AUTOR)

CODLIBRO TITULO AUTOR

01234 MODELOS DE DATOS MENDEZ

PEREZ

04321 ORACLE RAMIREZ

89999 FUNDAMENTOS DE BD GUARDA

TERAN

ZAVALA

• AUTOR ES UN GRUPO REPETITIVO. PORQUE EN LA

INTERSECCIÓN DE UNA COLUMNA FILA EXISTEN VARIOS

AUTORES, ES DECIR NO ESTÁ EN 1FN PORQUE EXISTEN GRUPOS

REPETITIVOS.

Page 34: Diseño de base de datos

PRIMERA FORMA NORMAL

• PARA ELIMINAR LOS GRUPOS REPETITIVOS, REPETIMOS EL RESTO DE LOS ATRIBUTOS DE LA FILA PARA CADA UNO DE LOS VALORES DEL GRUPO. ES DECIR:

• LIBRO(CODLIBRO, TITULO, AUTOR)

CODLIBRO TITULO AUTOR

01234 MODELOS DE DATOS MENDEZ

01234 MODELOS DE DATOS PEREZ

04321 ORACLE RAMIREZ

89999 FUNDAMENTOS DE BD GUARDA

89999 FUNDAMENTOS DE BD TERAN

89999 FUNDAMENTOS DE BD ZAVALA

• PARA QUE LA CLAVE SEA ÚNICA TENEMOS QUE RECURRIR A LA

CLAVE DEL GRUPO REPETITIVO

Page 35: Diseño de base de datos

SEGUNDA FORMA NORMAL

• PARA QUE UNA TABLA ESTÉ EN SEGUNDA FORMA NORMAL:

– TIENE QUE ESTAR EN 1FN.

– LOS ATRIBUTO QUE NO SON CLAVE DEBEN DE DEPENDER

COMPLETAMENTE DE LA CLAVE.

• PRESTA(CODLIBRO, CODSOCIO, NOMBRE SOCIO, FECHA DE

DEVOLUCIÓN, TITULO DEL LIBRO)

CODLIBRO TITULO DEL LIBRO

CODSOCIO NOMBRE DE SOCIO

CODLIBRO+CODSOCIO FECHA DE DEVOLUCIÓN

MATRIZ DE EVALUACIÓN

Page 36: Diseño de base de datos

SEGUNDA FORMA NORMAL

• VEMOS QUE TÍTULO DEL LIBRO DEPENDE DE CODLIBRO.

• QUE NOMBRE DE SOCIO DEPENDE DE CODSOCIO

• Y QUE FECHA DE DEVOLUCIÓN DE CODLIBRO+CODSOCIO

• ENTONCES PARA TRANSFORMAR ESTA TABLA A 2FN REALIZAREMOS LO SIGUIENTE:

• LIBRO(CODLIBRO, TITULO DEL LIBRO)

• SOCIO(CODSOCIO, NOMBRE SOCIO)

• PRESTA(CODLIBRO, CODSOCIO, FECHA DE DEVOLUCIÓN)

• DE UNA TABLA OBTENEMOS 3 QUE ESTÁN EN 1FN Y EN 2FN

• ESTÁN EN 2FN PORQUE TODOS LOS ATRIBUTOS NO CLAVE DEPENDEN DE LA CLAVE COMPLETA DE SUS RESPECTIVAS TABLAS.

Page 37: Diseño de base de datos

TERCERA FORMA NORMAL

• TRANSITIVIDAD: SI C DEPENDE B Y B

DEPENDE DE A, ENTONCES SE DICE C

DEPENDE TRANSITIVAMENTE DE A.

• A->B->C ENTONCES A-->C

• SOCIO(CODSOCIO,CIUDAD,PAIS)

• CODSOCIO->CIUDAD

• CIUDAD->PAIS

• ENTONCES CODSOCIO->PAIS

Page 38: Diseño de base de datos

TERCERA FORMA NORMAL • LA TABLA DEBE ESTAR EN 2FN

• PARA QUE UNA TABLA ESTÉ EN 3FN NO DEBE HABER

UN ATRIBUTO NO CLAVE QUE DEPENDA

TRANSITIVAMENTE DE LA CLAVE.

• SOCIO(CODSOCIO,CIUDAD,PAIS)

– CODSOCIO->CIUDAD

– CIUDAD->PAIS

– ENTONCES CODSOCIO->PAIS

• ENTONCES EXISTE TRANSITIVIDAD

• PARA ELIMINAR LA TRANSITIVIDAD

• DIVIDIMOS LA TABLA DE LA SIGUIENTE FORMA

• SOCIO(CODSOCIO,CIUDAD)

• LUGAR(CIUDAD, PAIS) • DE ESTA FORMA YA NO HAY TRANSITIVIDAD

Page 39: Diseño de base de datos

• FACTURA(NROFACTURA, CODIGO

CLIENTE, NOMBRE DE CLIENTE)

• X --------Y--------------Z

• NF CODCLI NOMCLI

• FACTURA(NF,CODCLI)

• CLIENTE(CODCLI,NOMCLI)

Page 40: Diseño de base de datos

TRABAJO

• TRAER NORMALIZADO EL TICKET DE

WONG, VEA,…, ETC.

Page 41: Diseño de base de datos

EJEMPLO

Page 42: Diseño de base de datos

DE UN FORMULARIO TAMBIÉN OBTENER LAS TABLAS

CODIGO ALUMNO: 55202

FICHA DE MATRICULA

UNIVERSIDAD MARIANO ARAGONEZ

Nº MATRICULA: 141132 FECHA : 15/11/2005

NOMBRE : HUMBERTO ARTURO MARTÍNEZ URIBE

CURSO NOMBRE CURSOINDICA

RETIRO

M81a MATEMATICA 2

CODIGO CARRERA: S33

FECHA INICIO CICLO: 02/01/2006

CREDITOS

L03i LOGICA

3

3

VEZ INDICA

ELIMINADO PROM

1

2

LENGUA 1C01b 2 1

CURSOS

Page 43: Diseño de base de datos

• ESCOGEMOS UN NOMBRE UN NOMBRE QUE REPRESENTE EL FORMULARIO EJE FICHA DE MATRICULA.

• HAY DATOS QUE SE PRESENTAN UNA SOLA VEZ EJE NO DE MATRICULA, FECHA, ETC.

• HAY DATOS QUE SE PRESENTAN EN MÚLTIPLES FILAS CON LA MISMA ESTRUCTURA, QUE LLAMAREMOS GRUPOS REPETITIVOS (REPITEN LA ESTRUCTURA) EJE COD CURSO, NOMBRE DEL CURSO, CRÉDITOS, ETC.

• PODEMOS ENTONCES REPRESENTAR UNA TABLA POR COMPRENSIÓN, TAMBIÉN DENOMINADO POR INTENSIÓN, DE LA SIGUIENTE FORMA:

• FICHA DE MATRÍCULA (No MATRÍCULA, FECHA, CÓDIGO DEL ALUMNO, NOMBRE DEL ALUMNO, CÓDIGO DE LA CARRERA, FECHA DE INICIO CICLO … LUEGO EL GRUPO REPETITIVO … CON UNA LÍNEA EN LA PARTE SUPERIOR …

• CÓDIGO CURSO, NOMBRE CURSO, CRÉDITOS, VEZ QUE LO LLEVA,

• INDICA RETIRO, INDICA ELIMINADO, PROMEDIO)

• ENTONCES AHORA ESTA TABLA LA HEMOS REPRESENTADO POR COMPRENSIÓN, SIN NECESIDAD DE COLOCAR LOS DATOS QUE LA COMPONE. SÓLO TRABAJAMOS CON EL NOMBRE DE LAS FILAS.

• FALTA IDENTIFICAR LA CLAVE, ES DECIR EL MÍNIMO NÚMERO DE COLUMNAS QUE PUEDE IDENTIFICAR COMO ÚNICA CADA UNA DE LAS FILAS, QUE SERÁ ÚNICO Y OBLIGATORIA..

• PARA ESTE EJEMPLO SELECCIONAREMOS EL No DE MATRÍCULA. SE INDICA SUBRAYANDO LOS ATRIBUTOS. EJE No MATRÍCULA

Page 44: Diseño de base de datos

EN RESUMEN UNA TABLA POR COMPRENSIÓN SE

PUEDE EXPRESAR :

• FICHA DE MATRÍCULA (No MATRÍCULA, FECHA, CÓDIGO DEL

ALUMNO, NOMBRE DEL ALUMNO, CÓDIGO DE LA CARRERA,

FECHA DE INICIO CICLO, CÓDIGO CURSO, NOMBRE CURSO,

CRÉDITOS, VEZ QUE LO LLEVA, INDICA RETIRO, INDICA

ELIMINADO, PROMEDIO)

• ESTA EXPRESIÓN SABEMOS QUE NO SON TABLAS SIMPLES,

MÁS BIEN REPRESENTAN UNA REALIDAD COMPLEJA.

• PARA HALLAR LAS TABLAS QUE COMPONEN ESTA REALIDAD

COMPLEJA, APLICAREMOS UN MÉTODO DENOMINADO

NORMALIZACIÓN.

• LA NORMALIZACIÓN TRANSFORMA LA REALIDAD PARA QUE

PUEDA SER ADAPTADA AL MODELO RELACIONAL, ES DECIR,

LA CONVIERTE EN TABLAS, RELACIONES Y DOMINIOS O

DISEÑA UN MODELO RELACIONAL PARA UNA REALIDAD

CONCRETA.

Page 45: Diseño de base de datos

• SI VOLVEMOS AL EJEMPLO DE LA FICHA DE MATRÍCULA

• FICHA DE MATRÍCULA (No MATRÍCULA, FECHA, CÓDIGO DEL ALUMNO,

NOMBRE DEL ALUMNO, CÓDIGO DE LA CARRERA, FECHA DE INICIO CICLO,

CÓDIGO CURSO, NOMBRE CURSO, CRÉDITOS, VEZ QUE LO LLEVA, INDICA

RETIRO, INDICA ELIMINADO, PROMEDIO)

• 1FN

– NO ESTÁ EN 1FN PORQUE TIENE GRUPOS REPETITIVOS

– ESCOGEMOS LA CLAVE DEL GRUPOS REPETITIVO CÓDIGO DE CURSO

– LUEGO ELIMINAMOS LAS RAYAS DEL GRUPOS REPETITIVO.

– TENDRÍAMOS

• FICHA DE MATRÍCULA (No MATRÍCULA, FECHA, CÓDIGO DEL ALUMNO,

NOMBRE DEL ALUMNO, CÓDIGO DE LA CARRERA, FECHA DE INICIO CICLO,

CÓDIGO CURSO, NOMBRE CURSO, CRÉDITOS, VEZ QUE LO LLEVA, INDICA

RETIRO, INDICA ELIMINADO, PROMEDIO)

Page 46: Diseño de base de datos

• 2FN • PARTIMOS DE ESTA TABLA AHORA

• FICHA DE MATRÍCULA (No MATRÍCULA, FECHA, CÓDIGO DEL ALUMNO, NOMBRE DEL

ALUMNO, CÓDIGO DE LA CARRERA, FECHA DE INICIO CICLO, CÓDIGO CURSO, NOMBRE

CURSO, CRÉDITOS, VEZ QUE LO LLEVA, INDICA RETIRO, INDICA ELIMINADO,

PROMEDIO)

– PARA SABER SI ESTÁ EN 2FN LA VEMOS SI HAY ATRIBUTOS NO CLAVES QUE NO DEPENDEN DE

LA CLAVE COMPLETA NoMATRÍCULA+CÓDIGO CURSO.

– PARA ESTO UTILIZAMOS MATRIZ DE EVALUACIÓN

NoMATRÍCULA FECHA, CÓDIGO DE ALUMNO, NOMBRE DEL ALUMNO,

CÓDIGO DE CARRERA, FECHA DE INICIO CICLO

CÓDIGO CURSO NOMBRE DE CURSO, CRÉDITOS

NoMATRÍCULA+CÓDIGO DE CURSO VEZ QUE LO LLEVA, INDICA RETIRO, INDICA ELIMINADO,

PROMEDIO

MATRIZ DE EVALUACIÓN

• ENTONCES PARA HALLAR LA 2FN

• FICHA DE MATRÍCULA (No MATRÍCULA, FECHA, CÓDIGO DEL ALUMNO, NOMBRE DEL

ALUMNO, CÓDIGO DE LA CARRERA, FECHA DE INICIO CICLO,)

• CURSO(CÓDIGO CURSO, NOMBRE CURSO)

• MATCUR(No MATRÍCULA, CÓDIGO CURSO, VEZ QUE LO LLEVA, INDICA RETIRO, INDICA

ELIMINADO, PROMEDIO)

Page 47: Diseño de base de datos

3FN • TENEMOS 3 TABLAS AHORA EMPECEMOS POR:

• FICHA DE MATRÍCULA (No MATRÍCULA, FECHA, CÓDIGO DEL ALUMNO, NOMBRE DEL

ALUMNO, CÓDIGO DE LA CARRERA, FECHA DE INICIO CICLO)

• EXISTE TRANSITIVIDAD VEAMOS

• No MATRÍCULA ->FECHA

• No MATRÍCULA ->CÓDIGO DEL ALUMNO ->NOMBRE DEL ALUMNO

• No MATRÍCULA ->CÓDIGO DE CARRERA

• No MATRÍCULA ->FECHA DE INICIO DEL CICLO

• SOLO EXISTE TRANSITIVIDAD ENTRE No MATRÍCULA ->CÓDIGO DEL ALUMNO -

>NOMBRE DEL ALUMNO

• ENTONCES NUESTRA TABLA NO ESTÁ EN 3FN

• PARA TRANSFORMALA A 3FN DE LA SIGUIENTE MANERA:

• FICHA DE MATRÍCULA (No MATRÍCULA, FECHA, CÓDIGO DEL ALUMNO, CÓDIGO DE LA

CARRERA, FECHA DE INICIO CICLO)

• ALUMNO (CÓDIGO DEL ALUMNO, NOMBRE DEL ALUMNO)

• SI APLICAMOS EL MISMO ANÁLISIS VEREMOS QUE ESTAS ESTAS TABLAS NO HAY

TRANSITIVIDAD, POR LO TANTO SE HALLAN EN 3FN.

• CURSO (CÓDIGO CURSO, NOMBRE CURSO)

• FICHA DE MATRÍCULA (No MATRÍCULA, CÓDIGO CURSO, VEZ QUE LO LLEVA, INDICA

RETIRO, INDICA ELIMINADO, PROMEDIO)

Page 48: Diseño de base de datos

• X-------------- Y -------------------Z

• NM CODALO NOMALO

• FM(NM,FECHA,CODALO,

CODCARRERA,FECHAINICIOCURSO)

• ALUMNO(CODALO, NOMBREALO)

Page 49: Diseño de base de datos

FINALMENTE • DE

• FICHA DE MATRÍCULA (No MATRÍCULA, FECHA, CÓDIGO DEL ALUMNO,

NOMBRE DEL ALUMNO, CÓDIGO DE LA CARRERA, FECHA DE INICIO CICLO,

CÓDIGO CURSO, NOMBRE CURSO, CRÉDITOS, VEZ QUE LO LLEVA, INDICA

RETIRO, INDICA ELIMINADO, PROMEDIO)

• AL SER NORMALIZADA, AL APLICAR LA 1FN, 2FN Y 3FN ENCONTRAMOS

• FICHA DE MATRÍCULA (No MATRÍCULA, FECHA, CÓDIGO DEL ALUMNO,

CÓDIGO DE LA CARRERA, FECHA DE INICIO CICLO)

• ALUMNO (CÓDIGO DEL ALUMNO, NOMBRE DEL ALUMNO)

• CURSO(CÓDIGO CURSO, NOMBRE CURSO)

• MATCUR(No MATRÍCULA, CÓDIGO CURSO, VEZ QUE LO LLEVA, INDICA

RETIRO, INDICA ELIMINADO, PROMEDIO)

Page 50: Diseño de base de datos

EJEMPLO DE NORMALIZACIÓN

DESCRIPCIÓN DE PLANTA: _______________________________________________________________

ORDEN DE FORMULACION

Nº O/F: ________ FECHA: __/__/_____

CÓDIGO DE PLANTA:_______

SUPERVISOR:

CODIGO NOMBREINSUMOS

COD ARTÍCULO DESCRIPCIÓN CANT COSTO

ARTICULO A FORMULAR

OBSERVACIONES

COD ARTÍCULO

COSTO TOTAL……..

DESCRIPCIÓN CANT

FORMULADOR:

CODIGO NOMBRE

LABORATORIO LIBRA

Page 51: Diseño de base de datos

DETERMINANDO LA ESTRUCTURA PERCIBIDA

• ORDEN DE FORMULACIÓN(N_OF,FEC_OF,COD_PLANTA, DESC_PLANTA, COD_SUP, NOM_SUP, COD_ART, DESC_ART, CANT, COSTO, OBSERVACIONES, COSTO_TOTAL, COD_ART_FORM, DESC_ART_FORM, CANT_ART_FORM, COD_FORMULADOR, NOMBRE_FORMULADOR)

• DETERMINANDO EL IDENTIFICADOR DE ESTA ESTRUCTURA PERCIBIDA

• ORDEN DE FORMULACIÓN(N_OF,FEC_OF,COD_PLANTA, DESC_PLANTA, COD_SUP, NOM_SUP, COD_ART, DESC_ART, CANT, COSTO, OBSERVACIONES, COSTO_TOTAL, COD_ART_FORM, DESC_ART_FORM, CANT_ART_FORM, COD_FORMULADOR, NOMBRE_FORMULADOR)

• SEÑALIZANDO EL GRUPO REPETITIVO

• ORDEN DE FORMULACIÓN(N_OF,FEC_OF,COD_PLANTA, DESC_PLANTA, COD_SUP, NOM_SUP,

• COD_ART, DESC_ART, CANT, COSTO, OBSERVACIONES,

• COSTO_TOTAL, COD_ART_FORM, DESC_ART_FORM, CANT_ART_FORM, COD_FORMULADOR, NOMBRE_FORMULADOR)

Page 52: Diseño de base de datos

PRIMERA FORMA NORMAL • LAS TABLAS NO PUEDEN ADMITIR GRUPOS REPETITIVOS

POR LO TANTO ESTA TABLA NO ESTA EN 1FN

• PARA TRANSFORMARLA A LA 1FN TENEMOS QUE – SELECCIONAR LA CLAVE DEL GRUPO REPETITIVO

– ELIMINAR LA SEÑALIZACIÓN DEL GRUPO REPETITIVO

• ORDEN DE FORMULACIÓN(N_OF,FEC_OF,COD_PLANTA, DESC_PLANTA, COD_SUP, NOM_SUP,

• COD_ART, DESC_ART, CANT, COSTO, OBSERVACIONES,

• COSTO_TOTAL, COD_ART_FORM, DESC_ART_FORM, CANT_ART_FORM, COD_FORMULADOR, NOMBRE_FORMULADOR)

• AHORA TENEMOS UNA CLAVE COMPUESTA POR 2 ATRIBUTOS: N_OF+COD_ART, PERO NO HAY GRUPOS REPETITIVOS POR LO TANTO LA TABLA ESTÁ EN 1FN

Page 53: Diseño de base de datos

SEGUNDA FORMA NORMAL

• LA QUE UNA TABLA ESTE EN 2FN, SE DEBEN DAR DOS CONDICIONES: – QUE ESTE EN 1FN

– QUE TODOS LOS ATRIBUTOS NO CLAVES DEPENDAN COMPLETAMENTE DE LA CLAVE DE LA TABLA Y NO DE PARTE DE ELLA.

• PARA VERIFICAR QUE LOS ATRIBUTOS NO CLAVE DEPENDAN COMPLETAMENTE DE LA CLAVE DE LA TABLA Y NO DE PARTE DE ELLA, EMPLEAMOS LA MATRIZ DE EVALUACIÓN SIGUIENTE:

• COMO EXISTEN ATRIBUTOS QUE NO DEPENDEN COMPLETAMENTE DE LA CLAVE N_OF+ COD_ART, ENTONCES LA TABLA NO ESTÁ EN 2FN.

• COMO EXISTEN ATRIBUTOS QUE NO DEPENDEN COMPLETAMENTE DE LA CLAVE N_OF+ COD_ART, ENTONCES LA TABLA NO ESTÁ EN 2FN.

N_OF FEC_OF, COD_PLANTA, DESC_PLANTA, COD_SUP, NOM_SUP,

COSTO_TOTAL, COD_ART_FORM, DESC_ART_FORM,

CANT_ART_FORM, COD_FORMULADOR, NOMBRE_FORMULADOR

COD_ART DESC_ART

N_OF+COD_ART CANT, COSTO, OBSERVACIONES

Page 54: Diseño de base de datos

SEGUNDA FORMA NORMAL

• PARA TRANSFORMARA A 2FN TENEMOS QUE ORGANIZAR LOS ATRIBUTOS DE DIFERENTE FORMA:

• LOS QUE DEPENDEN DE N_OF:

• FEC_OF, COD_PLANTA, DESC_PLANTA, COD_SUP, NOM_SUP, COSTO_TOTAL, COD_ART_FORM, DESC_ART_FORM, CANT_ART_FORM, COD_FORMULADOR, NOMBRE_FORMULADOR

• LOS QUE DEPENDEN DE COD_ART

• DESC_ART

• Y LOS QUE DEPENDEN DE LA CLAVE N_OF+COD_ART

• CANT, COSTO, OBSERVACIONES

Page 55: Diseño de base de datos

SEGUNDA FORMA NORMAL • LO QUE HACEMOS ES CONFORMAR 3 GRUPOS DONDE

INCLUIREMOS LAS CLAVES DE LAS QUE DEPENDEN

• (N_OF, FEC_OF, COD_PLANTA, DESC_PLANTA, COD_SUP, NOM_SUP, COSTO_TOTAL, COD_ART_FORM, DESC_ART_FORM, CANT_ART_FORM, COD_FORMULADOR, NOMBRE_FORMULADOR)

• (COD_ART,DESC_ART)

• (N_OF,COD_ART CANT, COSTO, OBSERVACIONES)

• LUEGO BAUTIZAMOS CON UN NUEVO NOMBRE A CADA TABLA

• ORDEN DE FORMULACIÓN(N_OF, FEC_OF, COD_PLANTA, DESC_PLANTA, COD_SUP, NOM_SUP, COSTO_TOTAL, COD_ART_FORM, DESC_ART_FORM, CANT_ART_FORM, COD_FORMULADOR, NOMBRE_FORMULADOR)

• ARTÍCULO(COD_ART,DESC_ART)

• OF_ARTICULO(N_OF,COD_ART CANT, COSTO, OBSERVACIONES)

• SI VERIFICAMOS EN CADA UNA DE ESTAS TABLAS LOS ATRIBUTOS DEPENDEN COMPLETAMENTE DE LA CLAVE DE LA CORRESPONDIENTE TABLA, POR LO TANTO ESTÁN EN 2FN.

Page 56: Diseño de base de datos

TERCERA FORMA NORMAL

• PARA QUE UNA TABLA ESTÉ EN 3FN, LA TABLA DEBE CUMPLIR LAS SIGUIENTES CONDICIONES:

• DEBEN ESTAR EN 2FN

• NO DEBE HABER UN ATRIBUTO NO CLAVE QUE DEPENDA TRANSITIVAMENTE DE LA CLAVE.

• PARA ORDEN DE FORMULACIÓN

N_OF COD_PLANTA DESC_PLANTA

N_OF COD_SUP NOM_SUP

N_OF COD_ART_FORM DESC_ART_FORM

N_OF COD_FORMULADOR NOMBRE_FORMULADOR

• VEMOS ENTONCES QUE EXISTEN CUATRO CAMPOS QUE DEPENDEN TRANSITIVAMENTE DE LA CLAVE, POR LO TANTO ESTA TABLA NO ESTÁ EN 3FN.

Page 57: Diseño de base de datos

TERCERA FORMA NORMAL

• PARA TRANSFORMALA A 3FN DEBEMOS CREAR UNA TABLA POR CADA UNA DE LAS TRANSITIVIDADES

• (COD_PLANTA, DESC_PLANTA)

• (COD_SUP, NOM_SUP)

• (COD_ART_FORM, DESC_ART_FORM)

• (COD_FORMULADOR, NOMBRE_FORMULADOR)

• Y LE DAMOS UN NOMBRE A CADA TABLA

• PLANTA(COD_PLANTA, DESC_PLANTA)

• SUPERVISOR(COD_SUP, NOM_SUP)

• ARTICULO(COD_ART_FORM, DESC_ART_FORM)

• FORMULADOR(COD_FORMULADOR, NOMBRE_FORMULADOR)

Page 58: Diseño de base de datos

TERCERA FORMA NORMAL

• Y ELIMINAMOS DE LA TABLA ORDEN DE FORMULACIÓN AQUELLOS CAMPOS QUE DEPENDEN TRANSITIVAMENTE DE LA CLAVE. DEBEMOS DE TENER CUIDADO DE NO ELIMINAR LOS ATRIBUTOS, CENTRALES DE LA TRANSITIVIDAD (LOS ATRIBUTOS A ELIMINAR SE SEÑALAN EN ROJO):

• ORDEN DE FORMULACIÓN (N_OF, FEC_OF, COD_PLANTA, DESC_PLANTA, COD_SUP, NOM_SUP, COSTO_TOTAL, COD_ART_FORM, DESC_ART_FORM, CANT_ART_FORM, COD_FORMULADOR, NOMBRE_FORMULADOR)

• ES DECIR LA TABLA QUEDA:

• ORDEN DE FORMULACIÓN (N_OF, FEC_OF, COD_PLANTA, COD_SUP, COSTO_TOTAL, COD_ART_FORM, CANT_ART_FORM, COD_FORMULADOR)

Page 59: Diseño de base de datos

FINALMENTE • FINALMENTE LAS TABLAS QUE HEMOS ENCONTRADO SON LAS

SIGUIENTES:

• PLANTA(COD_PLANTA, DESC_PLANTA)

• SUPERVISOR(COD_SUP, NOM_SUP)

• ARTICULO_A_FORMULAR(COD_ART_FORM, DESC_ART_FORM)

• FORMULADOR(COD_FORMULADOR, NOMBRE_FORMULADOR)

• ARTÍCULO_INSUMO(COD_ART,DESC_ART)

• ORDEN DE FORMULACIÓN(N_OF, FEC_OF, COD_PLANTA, COD_SUP, COSTO_TOTAL, COD_ART_FORM, CANT_ART_FORM, COD_FORMULADOR)

• OF_ARTICULO(N_OF,COD_ART CANT, COSTO, OBSERVACIONES)

Page 60: Diseño de base de datos

FORMA NORMAL DE BOYCE- CODD

• DEFINICION.

– TODO ATRIBUTO O COLECCIÓN DE

ATRIBUTOS QUE DETERMINA OTRO

ATRIBUTO ES LLAMADO DETERMINANTE.

– XY

• X DESCRIPTOR DETERMINANTE

• Y DESCRIPTOR IMPLICADO

Page 61: Diseño de base de datos

FORMA NORMAL DE BOYCE- CODD

• SE DICE QUE UNA RELACIÓN SE

ENCUENTRA EN FNBC SI Y SOLO SI

TODO DETERMINANTE ES UNA CLAVE

CANDIDATA.

Page 62: Diseño de base de datos

FORMA NORMAL DE BOYCE- CODD

• EJE. – CURSO_EST(COD_E,COD_C,NOM_C, CALIFICACION)

• SI

– COD_C NOM_C Y

– COD_E,COD_CCALIFICACION

• ESTA RELACION TENDRIA DOS CLAVES CANDIDATAS:

– COD_E, COD_C

– COD_E,NOM_C

– ESTA RELACION ESTA EN 3FN PERO TIENE ANOMALIAS DE ACTUALIZACION, YA QUE SE REPITIRIA EL NOMBRE Y EL CODIGO DEL CURSOS POR CADA ESTUDIANTE QUE ASISTE A ELLOS.

– ESTA RELACION NO SE ENCUENTRA EN FNBC

Page 63: Diseño de base de datos

FORMA NORMAL DE BOYCE- CODD

• PARA RESOLVER SE TRANSFORMA:

– CURSO_EST(COD_E, COD_C,

CALIFICACION)

– CURSO(COD_C, NOM_C)

Page 64: Diseño de base de datos

FORMAS NORMALES AVANZADAS

• EXISTEN OTRO TIPO DE

DEPENDENCIAS Y ESTAS SE

DEMUESTRAN ENCONTRANDO

ANOMALÍAS DE ACTUALIZACIÓN.

– DEPENDENCIAS MULTIVALUADAS

– DEPENDENCIAS DE COMBINACION

Page 65: Diseño de base de datos

DEPENDENCIAS MULTIVALUADAS

• SE DICE QUE

– X MULTIDETERMINA A Y O QUE

– Y DEPENDE EN FORMA MULTIVALUADA DE X

• SI Y SOLO SI

• PARA CADA VALOR DE X TIENE ASIGNADO UN

CONJUNTO BIEN DEFINIDO DE VALORES DE Y

• ESTE CONJUNTO ES INDEPENDIENTE DE

CUALQUIER VALOR QUE TOME OTRO ATRIBUTO Z

EL CUAL DEPENDE DEL VALOR DE X

XY

Page 66: Diseño de base de datos

DEPENDENCIA MULTIVALUADAS Y LA 4FN

Profesor Asignatura Libro

Martin •Sistemas Operativos

•BD

•Estructuras

•Diseño de archivos

•Fundamentos de BD

•Oracle

•Linux

•Inteligencia de Negocios

•Redes Neuronales

Peralta •Análisis Matemático I

•Análisis Matemático II

•Algebra Booleana

•Algebra Lineal

•Modelos Matemáticos

•Tratado de Análisis Matemático

EJE. TABLA DOCENCIA

Page 67: Diseño de base de datos

Analizando esta matriz

• El profesor enseña asignaturas

• El profesor consulta Libros

• Existe un conjunto bien definido de asignaturas que

dicta un profesor

• Existe un conjunto definido de libros que consulta un

profesor

• Existe independencia entre el grupo de Asignaturas y el

grupo de Libros.

Page 68: Diseño de base de datos

CUARTA FORMA NORMAL

• Una relación está en 4FN si y solo si, siempre que exista una dependencia multivaluada en R de la forma XY y todos los demás atributos de R son funcionalmente dependientes de X.

• Para resolver la tabla Docencia deberemos:

• Docencia1(Profesor, Asignatura)

• Docencia2(Profesor, Libro)

• La 4FN se puede aplicar antes de la 1FN

Page 69: Diseño de base de datos

QUINTA FORMA NORMAL

• DEPENDENCIA DE COMBINACIÓN

Dada la relación R de esquema

R(a1,a2,…,an)

Se dice que existe una dependencia de combinación si y solo si, la relación R puede ser construida a partir de la reunión natural de la relaciones R1, R2,…,Rn obtenidas por la proyección de R sobre los atributos a1, a2, …,an respectivamente.

Page 70: Diseño de base de datos

• Sea la relación:

• Matricula(alumno,Asignatura,Aula)

• Supongamos:

– Que un alumno puede estar matriculado en

un conjunto de asignaturas.

– Que para cada asignatura existen una serie

de aulas en las que se puede impartir la

docencia

– Que para cada asignatura el alumno recibe la

docencia en todas las aulas asignadas a esa

asignatura.

Page 71: Diseño de base de datos

QUINTA FORMA NORMAL

• Una relación R satisface la 5FN, si y solo si, toda dependencia de combinación en R está implicada por las claves candidatas entre si y no por cualquier otros atributos.

• Entonces:

• Matrícula1(Alumno, Asignatura)

• Matricula2(Alumno, Aula)

• Matrícula3(Aula, Asignatura)

• Matrícula=Matricula1*Matricula2*Matricula3

• De la combinación de Matricula1 , Matricula2 y Matricula3 se obtiene Matricula

Page 72: Diseño de base de datos

EJEMPLO

Page 73: Diseño de base de datos

PACIENTE:

GARANTE

PARTE DE ATENCIÓN

HOSPITAL SAN JUAN APOSTOL

Nº PARTE: 141132 FECHA - HORA: 11:45/13/04/2005

Nº HISTORIA: __1386____ NOMBRE : HUMBERTO ARTURO MARTÍNEZ URIBE

Nº : A-32 NOMBRE : SEGUROS RIMAC S.A.C.

MÉDICO

COD ESPECIALIDAD: CARD DESCRIPCIÓN: CARDIOLOGÍA

CMP: 12132 NOMBRE : FORTUNATO PAZ GOMEZ

DIAGNÓSTICO

CIE-10 ENFERMEDAD TIPO DIAG

B81i CARDIOPATÍA ANSIOSA P

MEDICAMENTOS

CODIGO NOMENCLATURA CANT

MA-123 VALIUM 10MG 30

GR-111 ASPIRINA 30

Page 74: Diseño de base de datos

PARTE DE ATENCIÓN HOSPITALARIO

• PARTE(NP, FECHA-HORA, HISTORIA CLINICA, PACIENTE, NGARANTE,

NOMBRE GARANTE, ESPECIALIDAD MEDICO, DESCRIPCION DE

ESPECIALIDAD, CODIGO MEDICO, NOMBRE MEDICO,

• CODIGO DIAGNOSTICO, DESCRIPCION DE DIGNOSTICO, TIPO DIAGNOSTICO,

• CODIGO MEDICAMENTO, NOMENCLATURA, CANTIDAD)

• 4FN • PARTE1(NP, FECHA-HORA, HISTORIA CLINICA, PACIENTE, NGARANTE,

NOMBRE GARANTE, ESPECIALIDAD MEDICO, DESCRIPCION DE

ESPECIALIDAD, CODIGO MEDICO, NOMBRE MEDICO,

• CODIGO DIAGNOSTICO, DESCRIPCION DE DIGNOSTICO, TIPO DIAGNOSTICO)

• PARTE2(NP,CODIGO MEDICAMENTO, NOMENCLATURA, CANTIDAD)

Page 75: Diseño de base de datos

• NORMALIZANDO PARTE1

• 1FN

• PARTE1(NP, FECHA-HORA, HISTORIA CLINICA, PACIENTE, NGARANTE, NOMBRE GARANTE, ESPECIALIDAD MEDICO, DESCRIPCION DE ESPECIALIDAD, CODIGO MEDICO, NOMBRE MEDICO, CODIGO DIAGNOSTICO, DESCRIPCION DE DIGNOSTICO, TIPO DIAGNOSTICO)

• 2FN

NP FECHA-HORA, HISTORIA

CLINICA, PACIENTE, NGARANTE,

NOMBRE GARANTE,

ESPECIALIDAD MEDICO,

DESCRIPCION DE

ESPECIALIDAD, CODIGO

MEDICO, NOMBRE MEDICO

CODIGO

DIAGNOSTICO DESCRIPCION DE DIGNOSTICO

NP

+ CODIGO

DIAGNOSTICO

TIPO DIAGNOSTICO

Page 76: Diseño de base de datos

• PARTE1 (NP, FECHA-HORA, HISTORIA CLINICA, PACIENTE, NGARANTE, NOMBRE GARANTE, ESPECIALIDAD MEDICO, DESCRIPCION DE ESPECIALIDAD, CODIGO MEDICO, NOMBRE MEDICO)

• DIAGNOSTICO(CODIGO DIAGNOSTICO, DESCRIPCION DE DIGNOSTICO)

• PARTE1_DIAGNOSTICO(NP, CODIGO DIAGNOSTICO, TIPO DIAGNOSTICO)

Page 77: Diseño de base de datos

• 3FN

• PARTE1(NP, FECHA-HORA, HISTORIA CLINICA, NGARANTE, CODIGO

MEDICO)

• PACIENTE(HISTORIA CLINICA, PACIENTE)

• GARANTE(NGARANTE, NOMBRE GARANTE)

• MEDICO(CODIGO MEDICO, NOMBRE MEDICO, ESPECIALIDAD MEDICO, DESCRIPCION DE ESPECIALIDAD)

• DIAGNOSTICO(CODIGO DIAGNOSTICO, DESCRIPCION DE DIGNOSTICO)

• PARTE1_DIAGNOSTICO(NP, CODIGO DIAGNOSTICO, TIPO DIAGNOSTICO)

X Y Z

NP HISTORIA CLINICA PACIENTE

NP NGARANTE NOMBRE GARANTE

NP CODIGO MEDICO NOMBRE MEDICO

NP CODIGO MEDICO ESPECIALIDAD MEDICO

NP CODIGO MEDICO DESCRIPCION DE ESPECIALIDAD

Page 78: Diseño de base de datos

• MEDICO AUN NO ESTA EN 3FN

• PARTE1(NP, FECHA-HORA, HISTORIA CLINICA, NGARANTE, CODIGO

MEDICO)

• PACIENTE(HISTORIA CLINICA, PACIENTE)

• GARANTE(NGARANTE, NOMBRE GARANTE)

• MEDICO(CODIGO MEDICO, NOMBRE MEDICO, ESPECIALIDAD MEDICO)

• ESPECIALIDAD(ESPECIALIDAD MEDICO, DESCRIPCION DE ESPECIALIDAD)

• DIAGNOSTICO(CODIGO DIAGNOSTICO, DESCRIPCION DE DIGNOSTICO)

• PARTE1_DIAGNOSTICO(NP, CODIGO DIAGNOSTICO, TIPO DIAGNOSTICO)

X Y Z

CODIGO MEDICO ESPECIALIDAD MEDICO DESCRIPCION DE ESPECIALIDAD

Page 79: Diseño de base de datos

PARTE2

• PARTE2(NP,CODIGO MEDICAMENTO, NOMENCLATURA, CANTIDAD)

• 1FN

• PARTE2(NP,CODIGO MEDICAMENTO, NOMENCLATURA, CANTIDAD)

• 2FN

• MEDICAMENTO(CODIGO MEDICAMENTO, NOMENCLATURA)

• PARTE_MEDICAMENTO(NP, CODIGO MEDICAMENTO,CANTIDAD)

NP

CODIGO MEDICAMENTO NOMENCLATURA

NP+CODIGO MEDICAMENTO CANTIDAD

Page 80: Diseño de base de datos

• LAS RELACIONES PRODUCTO DE LA NORMALIZACION

• PARTE(NP, FECHA-HORA, HISTORIA CLINICA, NGARANTE, CODIGO MEDICO)

• PACIENTE(HISTORIA CLINICA, PACIENTE)

• GARANTE(NGARANTE, NOMBRE GARANTE)

• MEDICO(CODIGO MEDICO, NOMBRE MEDICO, ESPECIALIDAD MEDICO)

• ESPECIALIDAD(ESPECIALIDAD MEDICO, DESCRIPCION DE ESPECIALIDAD)

• DIAGNOSTICO(CODIGO DIAGNOSTICO, DESCRIPCION DE DIGNOSTICO)

• PARTE_DIAGNOSTICO(NP, CODIGO DIAGNOSTICO, TIPO DIAGNOSTICO)

• MEDICAMENTO(CODIGO MEDICAMENTO, NOMENCLATURA)

• PARTE_MEDICAMENTO(NP, CODIGO MEDICAMENTO,CANTIDAD)