You are on page 1of 70

Sistemas y Computacin

UNDAC

TEORA Y DISEO
DE
BASES DE DATOS

DOCENTE

Ing. Williams A. MUOZ ROBLES


Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Concepto de Modelo de Datos


Conjunto de conceptos, reglas y convenciones bien definidos que
nos permiten aplicar una serie de abstracciones a fin de describir
y manipular los datos de un cierto mundo real que deseamos almacenar
en la base de datos.

Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Diferencia entre Modelo y Esquema


Mundo
Real
Modelo de
Datos
Esquema

Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Modelo de Datos

Lgicos
Fsicos
MODELO DE DATOS

EXTERNO
* (Punto de vista de cada usuario
en particular)
GLOBAL
* (Punto de vista del conjunto de
usuarios -empresa-)
INTERNO
* (Punto de vista de la mquina)

Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Clasificacin de los MD Globales


CONCEPTUALES
- Enfocados a describir el mundo real con
independencia de la mquinaMD
GLOBALES

CONVENCIONALES O LGICOS
- Implementados en SGBD-

Ing. Williams A. MUOZ ROBLES

Jerrquico
Codasyl
Relacional
Objeto Relacional

Sistemas y Computacin

UNDAC

Transformacin del Mundo real a la


BD Fsica
MUNDO REAL
Objetos y asociaciones con
sus propiedades y reglas

Valores

MODELO CONCEPTUAL

Estrutura percibida
(no formalizada)

Esquema
conceptual
DISEO LGICO
Esquema
de base
de datos
DISEO FSICO
Esquema interno

Ing. Williams A. MUOZ ROBLES

MODELO
CONCEPTUAL

SGBD
MODELO
DE BD

MODELO
INTERNO

BASE DE
DATOS
FSICA

Sistemas y Computacin

UNDAC

El Modelo Relacional
R.E. Levein y M.E. Maron por el ao de 1967.
Eddgar F. Codd en Junio de 1970 publica el artculo A Relational Model of Data
for Large Shared Data banks.
Uno de los primeros prototipos fue el Peterlee Relational Test Vehicle desarrollado
por el centro Cientfico de Peterlee.
El segundo prototipo se le llam XRM ( Extended Relational Memory) y fue de
IBM.
En 1978 se desarrollo el Q.B.E., Query By Example.
El prototipo base y ms completo fue el famoso Sistema R, desarrollado por IBM
(1980) y luego muchos ms.
Codd decidi establecer una referencia de 12 reglas para sealar cuando un SGBD
cumple con el modelo relacional o no. |
Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Definicin del Modelo relacional


Representa a la BD como una coleccin de relaciones,
donde cada relacin es una tabla.
COLUMNAS
codEstud nombre ciclo

espec

100

Ana

Contabilidad

150

Alex

Sistemas

estudiante

250

Ins

Contabilidad

( relacin )

350

Max

Sistemas

TABLA

Ciclo = 1 al 10 (
DOMINIO )

Ing. Williams A. MUOZ ROBLES

FILAS

Sistemas y Computacin

UNDAC

Definicin de relacin
Una relacin

del esquema de relacin :

es denotado por : r ( R )

R(A1,A2

, ...,A

Una relacin r ( R ) es un conjunto de n-tuplas en un instante dado :


r = { t

, t

, ... ,t

( filas )

Cada n-tupla ( o fila ) t i es una lista de n valores v i


t = { v

,v

, ... ,v

relacin
t1
t2
t3
t4

nombre

ciclo

espec

100

Ana

Contabilidad

150

Alex

Sistemas

250

Ins

Contabilidad

350

Max

Sistemas

codEstud

Ing. Williams A. MUOZ ROBLES

Es una instancia
de un esquema
de relacin

Sistemas y Computacin

UNDAC

Comparacin de Terminologa

RELACIN

TUPLA
ATRIBUTO
GRADO
CARDINALIDAD

TABLA

FILA
COLUMNA
N DE COLUMNAS
N DE FILAS

Ing. Williams A. MUOZ ROBLES

FICHERO

REGISTRO
CAMPO
N DE CAMPOS
N DE REGISTROS

Sistemas y Computacin

UNDAC

Restricciones del Modelo


Son las que se pueden especificar en un esquema de base
de datos relacional. Estas restricciones se enumeran a
continuacin :
De Dominio
De Clave
De Integridad de entidades

Para
normalizacin

De Integridad Referencial
De Dependencias de los datos
Ing. Williams A. MUOZ ROBLES

( funcionales y
multivaluadas)

Sistemas y Computacin

UNDAC

Restricciones de Dominio
Los valores que forman el dominio de los atributos deben
ser atmicos.
las formas de especificar los dominios pueden ser, por
rangos de valores, datos enumerados o por tipos de datos
entre los que se incluyen enteros, reales, caracteres,
cadenas de longitud fija y cadenas de longitud variable,
adems de otros tipos especiales como son fecha, dinero,
etc

Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Restricciones de Clave
Las restricciones de clave exigen que todas las tuplas de una
relacin deben ser distintas.

SUPER CLAVE

De un esquema de relacin

Es cualquier conjunto de atributos, para los cuales sea imposible


que dos tuplas diferentes, tengan los mismos valores ( propiedad
de unicidad ).
Sin embargo en una superclave pueden haber atributos
redundantes. Por ejemplo, veamos el esquema de relacin :
ESTUDIANTE ( codigo, nombre, direc, sexo, fechNac )
Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Restricciones de Clave
Analizando el esquema de relacin :
ESTUDIANTE ( codigo, nombre, direc, sexo,
fechNac )
Son superclaves :

{ codigo, nombre, sexo }


{ codigo, nombre }
{ nombre, fechNac, sexo }
{ nombre, fechNac }
{ codigo } , etc

No son superclaves :

{ nombre }
{ nombre, sexo }

Ing. Williams A. MUOZ ROBLES

conjuntos
de
atributos

Sistemas y Computacin

UNDAC

Restricciones de Clave
CLAVE

De un esquema de relacin

Es una super clave mnima, es decir una super clave a la cual no


podemos quitarle atributos sin que deje de ser una superclave ( prdida
de unicidad ).
Por ejemplo, en el esquema de relacin anterior,
ESTUDIANTE ( codigo, nombre, direc, sexo, fechNac )
Analizemos las siguientes superclaves :
{ codigo, nombre, sexo }

No es clave

{ codigo, nombre }

No es clave

{ nombre, fechNac, sexo }

No es clave

{ nombre, fechNac }

Es una clave

{ codigo }

Es una clave

Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Restricciones de Clave
CLAVE CANDIDATA
Es toda clave que se puede encontrar en un esquema de
relacin.
Por ejemplo, en el esquema de relacin anterior,
ESTUDIANTE ( codigo, nombre, direc, sexo, fechNac )
Son claves candidatas :
{ nombre, fechNac }
{ codigo }
Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Restricciones de Clave
CLAVE PRIMARIA
Es la clave candidata que se elige por que sus valores sirven
para identificar inequvocamente a las tuplas de la relacin.
Por ejemplo, en el esquema de relacin anterior,
ESTUDIANTE ( codigo , nombre, direc, sexo, fechNac )

Especificando
clave primaria
Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Restriccin de Integridad de Entidad


Una clave primaria nunca puede tener el valor
NULO. Esto se debe a que el valor de la clave
primaria sirve para identificar las tuplas individuales
en una relacin
NOTA : las restricciones de clave y de integridad
de entidades se especifican sobre relaciones
individuales.

Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Valor Nulo
Se aplica cuando el valor de algn atributo dentro de una tupla en
particular sea desconocido o no corresponda. Por ejemplo
cuando en una encuesta una persona no quiso decir
su fecha de nacimiento o cuando no todas las
personas tienen telfono.

Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Restriccin de Integridad
Referencial
Se especifica entre dos relaciones y sirve para mantener la
consistencia entre tuplas de las dos relaciones.
Dicho de otro modo, establece que una tupla en una relacin que
haga referencia a una segunda relacin, deber referirse a una tupla
existente en la segunda relacin. Por ejemplo analizemos los
esquemas de relaciones empleado y departamento.
Clave FORANEA
EMPLEADO ( codEm , nom, fechNac, direc, sexo, suel, codSuper, nDep )

Clave PRIMARIA
DEPARTAMENTO ( numDep , nombre, codJefe , fechIniJefe)
Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Restriccin de Integridad
Referencial
( FK ) Foreign Key

Clave FORANEA

Una clave fornea FK es un atributo de una relacin R1 asociado a otra


relacin R2 , donde aparece replicada como clave primaria de R2.

R1

EMPLEADO
codEm

nom

fechNac

direc

Clave FORANEA
sexo suel

100
5
300
4
400
5
150

Tovar

15-07-57

Lomas 234

5400

Silva

07-03-65

Grau 935

Sierra

22-10-67

Rosas 732

Castro

12-11-72

America 912

200
4
700

Rios

04-04-70

Vicus 138

Sillars

12-11-72

America 912

9800

600
5

Nieto

25-08-73

Flores 1731

4600

4500
7200
2800
8700

Si fuese insertado un nuevo empleado y


le asignamos el departamento 8,
estaramos violando la restriccin de
Integridad Referencial, ya que no existe
la tupla con numDep = 8 en la relacin
Departamento

codSuper nDep
400
200
700
200

Clave PRIMARIA

700
nulo

R2

400
numDep

95
92

Ing. Williams A. MUOZ ROBLES 90

nom

DEPARTAMENTO
codJefefe
200

fechIniJefe

Administracin

07-06-

Ingeniera

400

11-07-

Gerencia

700

14-10-

Sistemas y Computacin

UNDAC

Restriccin de Integridad
Referencial
Tabla Empleado
Cod-Emp
200
150
155
70
160

Nom-Emp
Dura nd
Portillo
Seme rene
Rojas
Rodrigue z

Cod-De pto.
2
10
4
6
10

PK

3 columnas
5 filas

FK
Tabla-De par tam e nto

2 columnas
4 filas

Cod-De pto.

Nom -Dpto.

Contabilidad

10

Re cur s os

Pr oduccin

V e ntas

PK

Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Grafo Relacional
Una forma sencilla de representar el esquema relacional
es el denominado grafo relacional. Es un grafo compuesto
de un conjunto de nodos multiparticionados, donde cada nodo
representa un esquema de relacion, es decir, una tabla
de la BD. Para cada esquema de relacion ha de aparecer,
como minimo, su nombre y sus atributos, indicando
su clave alternativas y las claves ajenas

Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Grafo Relacional Representacin


EDITORIAL

LIBRO

Cdigo

EJEMPLAR Cd_doc

PRETA

Cdigo

Ttulo

Idioma

Numero_e

Nmero_e

Nm_s

SOCIO

Nm_copias

TRATA Cdigo

Fecha_p

Nm_s

DNI

Nombre_ e

Editorial

Domicilio

TEMA Nombre_t

CONSTA

Tel

Ing. Williams A. MUOZ ROBLES

Ciudad

Pas

......

Nombre_t

Fecha_d

Direccin

Tipo_s

Tema s

Desc.

Temas p.

Sistemas y Computacin

UNDAC

Las doce reglas de Codd


)

Regla de Informacin
)

Regla de acceso garantizado:


)

Se debe disponer de una representacin de valores desconocidos y no aplicables


diferente de los valores normales

Catlogo activo en lnea basado en el modelo relacional


)

Se accede slo por nombre de columna y valor de llave candidata

Manejo sistemtico de valores nulos


)

Toda la informacin se presenta mediante tablas y slo mediante tablas

Debe estar a disposicin de los usuarios con el mismo lenguaje de consulta que
la base de datos.

Sublenguaje de datos completo:


)
)
)
)

Sintaxis lineal
Utilizacin interactiva y mediante lenguajes de programacin
Definicin de datos, manipulacin completa de datos,
Restricciones de seguridad, integridad y manejo de transacciones
Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Las doce reglas de Codd


)

Actualizacin de vistas
)

Insercin, modificacin y borrado de alto nivel:


)

El acceso lgico a los datos debe mantenerse incluso cuando cambien


los mtodos de acceso o la forma de alamcenamiento.

Independencia lgica de los datos


)

Se debe modificar, insertar y borrar todo un conjunto de tuplas a la


vez

Independencia fsica de los datos


)

Se deben poder actualizar todas las vistas que en teora se puedan


actualizar

Los programas de aplicacin no deben verse afectados por cambios


realizados en las tablas que estn permitidos.

Independencia de integridad
)

La integridad no forma parte de los programas de aplicacin sino del


esquema conceptual
Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Las doce reglas de Codd


)

Independencia a la distribucin
Debe existir un sublenguaje de datos que pueda soportar bases de
datos distribuidas sin alterar lso programas de aplicacin cuando se
distribuyan los datos por primera vez se redistribuyan estos
posteriormente.

No subversin
Si el sistema ofrece una interfaz de acceso a bajo nivel, dicho acceso
no se podr usar para salvar restricciones de integridad o seguridad
)

Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Dinmica del Modelo Relacional


Estructura
Restricciones

Esttica
Modelo
relacional
Dinmica

Insercin
Borrado
Modificacin
Consulta

Lenguajes
de definicin

Lenguajes
de
manipulacin

El modelo relacional, como todo modelo de datos lleva asociado a su parte esttica,
una dinmica que permite la transformacin entre estados de las bases de datos.
Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Lenguajes de Manipulacin
Relacionales
En toda consulta a una BDR genera como resultado una relacin
) Existen dos mecanismos formales para especificar:
Algebra relacional:
El resultado es la aplicacin sucesiva de operaciones a las relaciones
de la base.
Calculo relacional
El resultado es el conjunto de constantes que hacen cierta una
determinada formula de consulta.
)

Historia:
)

Se define el Algebra Relacional como lenguaje de consulta y diseo en


1970 (Codd)
Se define una versin del Calculo Relacional en 1971. Tambin se
establece la equivalencia entre el Clculo y el Algebra relacional
Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Algebra relacional

Es un lenguaje de consultas procedimental (instrucciones para


realizar secuencia de operaciones: que y como)
Realiza operaciones de uno o dos relaciones de entrada que
generan una nueva relacin como resultado
Operaciones fundamentales

Unitarias
Seleccin
Proyeccin
Renombre
Binarias
Producto cartesiano
Unin
Diferencia

Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Seleccin y Proyeccin
Supongamos la tabla:
Prestamo = (nombre_sucursal, monto, direccin)

Seleccin: selecciona tuplas que satisfacen un predicado dado.


Operador:

Prstamos otorgados por la sucursal La Molina.


Prstamos otorgados por la sucursal La Molina y con monto superior a
1200$

Proyeccin: devuelve la relacin argumento con columnas omitidas.


Operador:

Nombres de sucursal que figuran en Prstamo


Sucursal cuyo monto sea superior a $10000.

Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Seleccin
Ejemplo: si P= status>=25 tenemos

r=

Codigo
S1
S2
S3
S4
S6
S7
S8
S9
S10

Nombre
Juan Lopez
Jose Sanchez
Antonio Perez
Jose Lopez
Carmen Lopez
Julia Sanchez
Juana Perez
Luis Gomez
Maria Galvez

Ciudad
Lima
Jaen
Trujillo
Lima
Tacna
Lima
Jaen
Iquitos
Tumbes

Status
20
15
20
25
30
25
10
35
30

P (r)=

Codigo
S4
S6
S7
S9
S10

Ing. Williams A. MUOZ ROBLES

Nombre
Jose Lopez
Carmen Lopez
Julia Sanchez
Luis Gomez
Maria Galvez

Ciudad
Lima
Tacna
Lima
Iquitos
Tumbes

Status
25
30
25
35
30

Sistemas y Computacin

UNDAC

Proyeccin

r=

Codigo
S1
S2
S3
S4
S6
S7
S8
S9
S10

Nombre
Juan Lopez
Jose Sanchez
Antonio Perez
Jose Lopez
Carmen Lopez
Julia Sanchez
Juana Perez
Luis Gomez
Maria Galvez

Ciudad
Lima
Jaen
Trujillo
Lima
Tacna
Lima
Jaen
Iquitos
Tumbes

Status
20
15
20
25
30
25
10
35
30

Ciudad
Granada
Jaen
Cadiz
Sevilla
Cordoba
Granada
Ejemplos:
Jaen
Almeria
ciudad,status(r)= Sevilla

Status
20
15
20
25
30
25
10
35
30

Ing. Williams A. MUOZ ROBLES

Ciudad
Granada
Jaen
Cadiz
Sevilla
Cordoba
(r)= Almeria

ciudad

Sistemas y Computacin

UNDAC

Producto Cartesiano
Producto Cartesiano: (una relacin se define como un
subconjunto de un producto cartesiano de un conjunto
de dominios) Conecta dos entidades de acuerdo a la
definicin matemtica de la operacin.

Operador

Tabla Cliente = (nombre_cte, direccin, te)


Opera = (nombre_cte, nombre_banquero, monto)
Cada cliente con sus datos personales y banquero que
opera.
Todos los clientes y su direccin del banquero YYY.
Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Producto Cartesiano
Ejemplo: supongamos

R[A,B] y S[D], y sean r y s


dos instancias:

A
a1
a2
a3
a4

B
b1
b2
b2
b4

D
d1
d2
d3

A
a1
a1
a1
a2
a2
a2
a3
a3
a3
a4
a4
a4

Ing. Williams A. MUOZ ROBLES

B
b1
b1
b1
b2
b2
b2
b3
b3
b3
b4
b4
b4

D
d1
d2
d3
d1
d2
d3
d1
d2
d3
d1
d2
d3

Sistemas y Computacin

UNDAC

Otros

Renombrar: permite utilizar la misma tabla para una


consulta, para almacenar resultados intermedios para
cambiar de nombres. Operador

Unin: tuplas comunes a dos relaciones, equivalente a la


unin matemtica. Debe efectuarse entre relaciones
compatibles. Operador

Clientes que viven en la misma direccin que el cliente ZZZ

Clientes que tengan cta corriente y caja ahorro

Diferencia: Igual caso que el anterior equivale a,


diferencia de Conjuntos. Operador

Clientes que tienen tiene caja ahorro y no cta cte


Cliente con monto mayor
Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Operadores bsicos: Unin,


Interseccin y diferencia
A
a1
a2
r= a
3
a4

B
b1
b2
b2
b4

A
a1
s= a2
a5

B
b1
b2
b5

A
a1
a2
rs= a3
a4
a5

A
r-s= a3
a4

B
b1
b2
b2
b4
b5

B
b2
b4

Ing. Williams A. MUOZ ROBLES

rs= A B
a1 b1
a2 b2

Sistemas y Computacin

UNDAC

Operadores fundamentales del


Algebra relacional
Seleccin

Proyeccin

Producto

x
y

a
b
c

Unin

Diferencia

Ing. Williams A. MUOZ ROBLES

x
a
a
b
b
c
c

x
y
x
y
x
y

Sistemas y Computacin

UNDAC

Calculo relacional
De
Atributos
Tipos de
calculo
relacional
De
Dominios

Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Calculo relacional

Clculo Relacional de Tuplas:

No procedural, describe informacin deseada sin


dar un proceso especfico para obtener esa
informacin (que).
Expresin de consultas

{ t / P(t) }
Conjunto de tuplas tal que P(Predicado) es verdadero en
t.

Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Calculo relacional de Tuplas

Criterio para la Interpretacin

Las variables se asocian a tuplas


Las constantes se asocian a valores de los
dominios subyacentes a los ateibutos
Los operadores son los permitidos de
comparacin, los lgicos NOT, And y OR, as
como el existencial y el universal

Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Calculo relacional de Dominio

Clculo relacional de dominios

Se utilizan variables de dominio que toman valores


del dominio de un atributo (en lugar de tuplas
completas)

Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Calculo relacional de Dominio

Criterio para la Interpretacin

Las variables se asocian a dominios


Las constantes se asocian a valores de los
dominios subyacentes a los ateibutos
Los operadores son los permitidos de
comparacin, los lgicos NOT, And y OR, as
como el existencial y el universal

Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

S
I
S
T
E
M
A
S
D
E
B
A
S
E
S
I

SISTEMAS DE BASES I
TEMA:

NORMALIZACION

Ing. Williams A. MUOZ ROBLES


Ing. Williams MUOZ ROBLES

Sistemas y Computacin

UNDAC

Normalizacin
Fue Codd quien en 1972 propuso el proceso de normalizacin,
as cualquier esquema de relacin se puede someter a una serie
de pruebas para certificar si pertenece o no a cierta forma normal,
que originalmente fueron tres : primera, segunda y tercera formas
normales.
Posteriormente Boyce y Codd replantearon la tercera forma
normal que se conoce hoy como Boice - Codd Norm Form (
BCNF). La segunda y tercera formas se fundamentan en el
concepto de dependencias funcionales.
Despus se formularon la cuarta y quinta forma normal, basados
en dependencias multivaluadas y dependencias de reunin.
Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Concepto
El termino normalizacin se refiere a la manera en que los
atributos son agrupados en los esquemas de relaciones de una
base de datos, a fin de evitar anomalas y problemas que
pueden ocurrir con los datos.

Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Anomalas
Son problemas que se presentan en el manejo de
los datos, ocasionados por un mal diseo de la
base de datos. Estas anomalas pueden clasificarse
en :
Anomalas de Insercin
Anomalas de Eliminacin
Anomalas de Modificacin

Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Anomala de Insercin
Aqu vemos un mal diseo, donde como se nota hay datos de
empleado y de departamento juntos.
EMPLEADO
codEm
nom
codJefe
100
Soler Ana

fechNac

direc

suel

10-06-65

Flores 129

3400

Ingeniera

800

200

Alva Juan

19-03-67

Valles 722

6200

Ingeniera

800

250

Jobe Alan

11-09-69

Mar 1824

3600

Ventas

900

300

Vall Kate

05-02-75

Jan 181

2400

Ventas

900

800

Com Ivan

15-03-72

Grau 485

7600

Ingeniera

999

900

Kori Rony

07-12-59

Lomas 18

7200

Ventas

999

999

Pita Ins

25-03-72

Liz 1151

9500

Gerencia

999

Datos del
empleado
Ing. Williams A. MUOZ ROBLES

nDep nomDep

Cod_jefe

Datos del
departamento

Sistemas y Computacin

UNDAC

Que se busca en la normalizacin


Que todo atributo (campo) dependa
totalmente de la clave, y de ningn otro
campo que no sea la clave

Supuesto Basico: Buen conocimiento del negocio.

Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Formas de Normalizacin
1NF
2NF
3NF
Boyce&Codd NF
4NF
5NF

1FNDKNF

Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Reglas de uso de 1ra. FN


Conversin a la 1FN
(Retirar grupos repetitivos)
A

CC

DD
C

E
D

Se descompone
en

Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Reglas de uso de 1ra. FN


NRO. EMPLEADO
NOMBRE_EMPLEADO
COD_TRABAJO
NOM_TRABAJO
NRO_PROYECTO1
TERMINO_PROYECTO_1
HORAS_TRAB_PROY_1
NRO_PROYECTO2
TERMINO_PROYECTO_2
HORAS_TRAB_PROY_2
.
.
.

NRO EMPLEADO
NOMBRE_EMPLEADO
COD_TRABAJO
NOM_TRABAJO

1FN

Retirar grupos
repetitivos

NRO EMPLEADO
NRO PROYECTO
TERMINO_PROYECTO
HORAS_TRAB_PROYECTO

Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Reglas de uso de 1ra. FN


OBRERO
codObr

nom

fechNac

direc

jornal

codJefe oficio

codJefe oficio

aosExp

OBRERO
codObr

nom

fechNac

direc

jornal

aosExp

300

Huaman Jorge

10-05-67

Surco

25

800

carpintero

300

Huaman Jorge

10-05-67

Surco

25

800

albail

300

Huaman Jorge

10-05-67

Surco

25

800

pintor

350

Sulca Amrico

22-11-70

Comas

30

900

electrnico

HABILIDADES
codObr

EJEMPLO :

oficio

aosExp

OBRERO
codObr

nom

fechNac

direc

jornal

Ing. Williams A. MUOZ ROBLES

codJefe

Grupo
repetitivo

Sistemas y Computacin

UNDAC

Dependencia Funcional
Sea el esquema de relacin R :
R ( A1 , A2 , A3 , . . . Ak , Ak+1 , . . . Am , Am+1 , . . . At , At+1 , . . . An-1 , An )

Y los subconjuntos

Se dice que Y depende funcionalmente de X ,

que X determina Y
que X implica Y

determinante

determinado

Si y solo si , cada valor de X tiene asociado en todo momento un nico valor de Y


Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Dependencia funcional

LIBRO ( cod_Lib, titulo, editorial )

Se puede decir
que el cdigo de
un libro
determina su
ttulo.

Aqu se dice que titulo depende funcionalmente de codLib


Este concepto de dependencia funcional tambin nos
dice que el titulo es una informacin acerca del libro o
tambin que para algn cdigo de libro existe un
nico ttulo que le corresponde.
Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Dependencia funcional
EMP_PROY
codEmp

numProy

nomEmp nomProy lugarProy

EMP_PROY ( codEmp, numProy, nomEmp, nomProy, lugarProy )

Se lee :

codEmp

nomEmp

numProy

{ nomProy , lugarProy }

El valor de cdigo del empleado ( codEmp ) determina de manera nica el


nombre de ese empleado ( nomEmp ). Para un codEmp existe un nico
nombre de empleado.
El valor del nmero de proyecto ( numProy ) determina de manera nica el
nombre del proyecto ( nomProy ) y su lugar ( lugarProy ).
Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

En 2 FN dos tipos importantes de DF

Dependencia funcional completa

PROGRAM

Dependencia funcional parcial

codProgramador codModulo nomProgramador nomModulo horasTrab

Dependencia funcional parcial

Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Regla de Uso de 2 FN
Conversin a la 2FN
(Retirar dependencias funcionales parciales)

Se
descompone
en

D
Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Regla de Uso de 2 FN
NRO PROYECTO
TERMINO_PROYECTO

NRO EMPLEADO
NRO PROYECTO
TERMINO_PROYECTO
HORAS_TRAB_PROYECTO

2FN
NRO EMPLEADO
NRO PROYECTO

Retirar dependencias
parciales

HORAS_TRAB_PROYECTO

Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Regla de Uso de 2 FN
EMP_PROY
codEmp

numProy

horas nomEmp nomProy

lugarProy

solucin
Identificadas las dependencias,
quedan definidas las nuevas relaciones

EMPLE

codEmp

nomEmp

HORAS_TRAB

codEmp

numProy

PROYEC

horas
numProy numProy

Ing. Williams A. MUOZ ROBLES

lugarProy

Sistemas y Computacin

UNDAC

Dependencia Funcional Transitiva


Suponga que se tiene la siguiente relacin R y sus atributos :

De donde se puede interpretar :


C es funcionalmente dependiente de B y
B es funcionalmente dependiente de A , entonces :

C es funcionalmente dependiente de A
Ing. Williams A. MUOZ ROBLES

Tenemos as una
dependencia
funcional transitiva

Sistemas y Computacin

UNDAC

Reglas de Uso de 3 FN
Conversin a la 2FN
(Retirar dependencias funcionales transitivas)

Se
descompone
en

Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Reglas de Uso de 3 FN
NRO EMPLEADO

NRO EMPLEADO
NOMBRE_EMPLEADO
COD_PUESTO
NOM_PUESTO

NOMBRE EMPLEADO
COD_PUESTO

3FN
COD PUESTO

Retirar dependencias
indirectas (transitivas)

NOM_PUESTO

Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

Reglas de Uso de 3 FN
Normalizar el siguiente esquema de relacin :
EMPLEPROY
CodEmp nomEmp

sueldo

numProy

dependencia funcional transitiva


EJEMPLO :

Ing. Williams A. MUOZ ROBLES

fechaFin

Esta en 1FN
por que no
hay grupos
repetitivos
Esta en 2FN
pues no
existe clave
compuesta
Pero la
dependencia
transitiva
viola la 3FN

Sistemas y Computacin

UNDAC

Reglas de Uso de 3 FN
EMPLEADO
codEmp

nomEmp

sueldo nProy

PROYECTO
numProy

As,
As,ya
yaesta
estaen
en1FN
1FNpor
porque
queno
nohay
hay
grupos
gruposrepetitivos,
repetitivos,en
en2FN
2FNporque
porqueno
no
existen
existendependencias
dependenciasparciales
parcialessobre
sobre
claves
clavescompuestas,
compuestas,yyen
en3FN
3FNpor
porque
que
no
noexisten
existentransitividades.
transitividades.
Ing. Williams A. MUOZ ROBLES

fechaFin

Sistemas y Computacin

UNDAC

Resumen Conversiones
Conversin a PRIMERA FORMA NORMAL
A

D
C

E
D

F
E

B
A

G
CC D

Conversin a SEGUNDA FORMA NORMAL


A

CC D

CB D
A

Conversin a TERCERA FORMA NORMAL


A

A
Ing. Williams A. MUOZ ROBLES

Sistemas y Computacin

UNDAC

EJEMPLO
TABLA SIN NORMALIZAR
ORDEN VENTA
NUMERO FECHA- NUMERO NOMBRE DIRECCIN NUMERO
ORDEN CLIENTE CLIENTE CLIENTE PRODUC.
ORDEN

NOMBRE CANT.
PRODUC. ORDEN.

Ing. Williams A. MUOZ ROBLES

PRECIO TOTAL- TOTAL


PRODUC. PRODUC. ORDE
NADO

Sistemas y Computacin

UNDAC

PRIMERA FORMA NORMAL:


Eliminar los atributos no atmicos (campos repetitivos)
ORDEN VENTA

NUMEROORDEN

FECHAORDEN

NUMEROCLIENTE

NOMBRECLIENTE

DIRECCINCLIENTE

TOTALORDEN

ORDEN-PRODUCTO

NUMEROORDEN

NUMEROPRODUCTO

NOMBREPRODUCTO

PRECIOPRODUCTO

CANTIDADORDENADA

Ing. Williams A. MUOZ ROBLES

TOTALPRODUCTO

Sistemas y Computacin

UNDAC

SEGUNDA FORMA NORMAL:

Eliminar los atributos no dependientes de la llave primaria completa


(dependencia funcional parcial).
ORDEN VENTA
NUMEROORDEN

FECHAORDEN

NUMEROCLIENTE

NOMBRECLIENTE

DIRECCINCLIENTE

ORDEN-PRODUCTO
NUMEROORDEN

NUMEROPRODUCTO

CANTIDADORDENADA

PRODUCTO
NUMEROPRODUCTO

NOMBREPRODUCTO

PRECIOPRODUCTO

Ing. Williams A. MUOZ ROBLES

TOTALPRODUCTO

TOTALORDEN

Sistemas y Computacin

UNDAC

TERCERA FORMA NORMAL:

Eliminar los atributos dependientes de atributos diferentes a la


llave primera (dependencia funcional transitiva).
ORDEN VENTA

NUMEROORDEN

FECHAORDEN

CLIENTE

NUMEROCLIENTE

TOTALORDEN

ORDEN- PRODUCTO

NUMEROORDEN

NUMEROPRODUCTO

CANTIDADORDENADA

NUMEROCLIENTE

NOMBRECLIENTE

DIRECCINCLIENTE

PRODUCTO

TOTALPRODUCTO

NUMEROPRODUCTO

Ing. Williams A. MUOZ ROBLES

NOMBREPRODUCTO

PRECIOPRODUCTO

You might also like