Professional Documents
Culture Documents
Normalizacin
Sergio Ilarri
Contexto (I)
Problema a
modelar
Modelo
(E)ER
Normalizacin
Modelo
Relacional
Propiedades
2 Noviembre, 2005 - Sergio Il
Entidades
Atributos
Relaciones
(datos)
Contexto (II)
Mundo
real
Diseo conceptual Diseo lgico
Modelado
de datos
Normalizacin
Denormalizacin
Diseo
fsico
Base de datos
Diseo de BDs
Dos
aproximaciones:
Bottom-up (sntesis)
Top-down (anlisis)
Relaciones
DiseaBD:
Entrada: conjunto de atributos
Salida:
conjunto de relaciones
atributos de cada relacin
Todas
Nombre nico
Atributos monovaluados
Requisitos
(genricos)
Filas nicas
Atributos (columnas) con nombre nico
Orden de filas/columnas irrelevantes
Joins de Relaciones
Customer ID
Invoice ID
Invoice ID
Inventory ID
Inventory ID
Item ID
Quantity
Caffeinated
Phone Number
Customer ID
Unit Price
Price
Credit Limit
Employee ID Customer PO
Discount
On Hand
Creacin
Mantenimiento
Modificacin
Solucin:
Normalizar (identificar y eliminar anomalas)
Objetivo
Mejorar
Evitar
duplicaciones de datos:
descomposicin de relaciones
Desarrollado
Es Necesaria?
Un
Gua
Modo
Ejemplo
Employees
Sno
SName
SAddress
Position
Bno
Tel_No
Fax_No
S11
Jane Doe
11 Wood St.
Manager
B5
817-256-2234
817-256-2231
S23
Ann Martin
114 S. Main
Deputy
B4
972-456-8970
972-456-8842
S2
Leslie King
112 S. Main
Deputy
B4
972-456-8970
972-456-8842
S15
Matt Hoffa
29 Market St.
Assistant
B8
317-869-4511
317-869-1123
S45
Jill Emory
11 S. Elm
Manager
B4
972-456-8970
972-456-8842
Clave primaria
Nuevo empleado en sucursal B4
Nueva sucursal
Despiden al primer empleado
Cambia el nmero de telfono de B4
2 Noviembre, 2005 - Sergio Il
Formas Normales
1FN
2FN
3FN
Boyce-Codd
MALAS
4FN
5FN
Dependencias funcionales
Dependencias multivaluadas
Dependencias de join
BUENAS
Conceptos Bsicos
Clave
Clave
candidata:
clave primaria
claves secundarias
Clave
extranjera (ajena)
Dependencia Funcional
A
determinante
Ejemplos:
ISBN BookTitle
EmpID, Course_Title DateCompleted
SSN Name, Address, Birthdate
A
Casos
B es subconjunto de A
Obtencin de Dependencias
Funcionales
A
Cules
Hay
De
Dependencias Funcionales:
Reglas de Inferencia
Amstrong
Cierre
de F
2 Noviembre, 2005 - Sergio Il
atributos multivaluados
Todas
las relaciones
Ejemplo:
PROJECTS(PROJECT_ID, HOURS)
EMP_PROJ(SSN, E_NAME, PROJECTS)
EMP_PROJ(SSN, PROJECT_ID)
PROJ_HOURS(PROJECT_ID, HOURS)
EMP (SSN, E_NAME)
Algunos
Cmo
SName
SAddress
Position
Bno
Tel_No
Fax_No
S11
Jane Doe
11 Wood St.
Manager
B5
817-256-2234
817-256-2231
S23
Ann Martin
114 S. Main
Deputy
B4
972-456-8970
972-456-8842
S2
Leslie King
112 S. Main
Deputy
B4
972-456-8970
972-456-8842
S15
Matt Hoffa
29 Market St.
Assistant
B8
317-869-4511
317-869-1123
S2
Leslie King
112 S. Main
Deputy
B4
972-456-8970
972-456-8842
SName
SAddress
Position
Bno
Tel_No
Fax_No
S11
Jane Doe
11 Wood St.
Manager
B5
817-256-2234
817-256-2231
S23
Ann Martin
114 S. Main
Deputy,
Assistant
B4
972-456-8970
972-456-8842
S2
Leslie King
112 S. Main
Deputy
B4
972-456-8970
972-456-8842
S15
Matt Hoffa
29 Market St.
Assistant
B8
317-869-4511
317-869-1123
S45
Jill Emory
11 S. Elm
Manager
B4
972-456-8970
972-456-8842
Order
Number
12489
Order
Date
9/02/01
Part
Number
AX12
Number of
Units
12491
9/02/01
12494
9/04/01
BT04
BZ66
CB03
1
1
4
11
Order
Number
12489
Order
Date
9/02/01
Part
Number
AX12
Number of
Units
12491
9/02/01
BT04
12491
9/02/01
BZ66
12494
9/04/01
CB03
11
Es 1FN Suficiente?
Employee(EmpID,
DateCompleted)
Problemas:
Insercin: insertar un empleado que no est en ningn curso
Borrado: si borramos el ltimo empleado que est en cierto curso
Modificacin de los datos de un empleado
Dependencias
funcionales:
1FN
Employee
no est en 2FN:
pasar a 2FN:
asociar los atributos implicados slo con la parte de la clave de la que depende
EmpID
EmpID
Dependencias
funcionales
completas
CourseTitle DateCompleted
Ejemplo (I)
Student:
Activity
Swimming
Golf
Golf
Hiking
Fee
30
100
100
50
Ejemplo (II)
STUDENT_ACTIVITY
Student_ID Activity
ACTIVITY_COST
Activity Fee
Student_ I D
222-22-2020
232-22-2111
222-22-2020
255-24-2332
Activity
Swimming
Golf
Golf
Hiking
Clave: Student_ID,
Activity
Clave: Activity
Activity Fee
Activity
Swimming
Golf
Hiking
Fee
30
100
50
Order
Number
Order
Date
Part
Number
Part
Number Quoted
Descript. of Units Price
12489
9/02/01
AX12
Iron
12491
9/02/01
BT04
Gas Grill 1
$149.99
12491
9/02/01
BZ66
Washer
$399.99
12494
9/04/01
CB03
Bike
$279.99
12500
9/05/01
BT04
Gas Grill 1
$149.99
11
$14.95
Order
Number
Order
Date
Part
Number
Part
Number
Descript. of Units
Quoted
Price
Parts
Order Line
Order
Number
Order
Date
Part
Number
Part
Descript.
Order
Number
Part
Number
Number
of Units
Quoted
Price
12489
9/02/01
AX12
Iron
12489
AX12
11
$14.95
12491
9/02/01
BT04
Gas Grill
12491
BT04
$149.99
12494
9/04/01
BZ66
Washer
12491
BZ66
$399.99
12494
CB03
$279.99
12500
BT04
$149.99
12500
9/05/01
CB03
Bike
Teacher
Leigh
Gowan
Roberts
Reynolds
Reynolds
Teacher
Leigh
Gowan
Roberts
Reynolds
Reynolds
Teacher
Leigh
Gowan
Roberts
Reynolds
Subject
Economy
Management
Economy
Marketing
Dependencias
funcionales:
Problemas:
Insercin: insertar un vendedor que no tenga cliente
Borrado: si borramos el ltimo cliente de cierto vendedor
Modificacin: de la regin de un vendedor
Redundancia: repetir la regin cada vez que aparezca un vendedor
y no dependencias transitivas
transitiva:
Qu
Ejemplo de Dependencia
Transitiva
Ejemplo (I)
Student:
Student_ I D
222-22-2020
232-22-2111
222-22-5554
255-24-2332
330-25-7789
Building
Dabney
Liles
The Range
Dabney
The Range
Fee
1200
1000
1100
1200
1100
Ejemplo (II)
STUDENT_HOUSIN
G
Building
Student_ID
Clave: Student_ID
BUILDING_COST
Clave: Building
Building
Fee
Student_ID Building
Building Fee
Building
Dabney
Liles
The Range
Fee
1200
1000
1100
Customer
Customer
Number
Cust Last
Name
Cust First
Name
Balance
Credit
Limit
Sales Rep
Number
Slsr Last
Name
Slsr First
Name
124
Adams
Sally
$824.45
$1000
03
Jones
Mary
256
Samuels
Ann
$21.43
$1500
06
Smith
William
311
Charles
Don
$345.54
$1000
12
Diaz
Miguel
315
Daniels
Tom
$770.45
$750
06
Smith
William
405
Williams
Al
$450.56
$1500
12
Diaz
Miguel
Sales Rep
Customer
Number
Cust Last
Name
Cust First
Name
Balance
Credit
Limit
Sales Rep
Number
Sales Rep
Number
Slsr Last
Name
Slsr First
Name
124
Adams
Sally
$824.45
$1000
03
03
Jones
Mary
256
Samuels
Ann
$21.43
$1500
06
06
Smith
William
311
Charles
Don
$345.54
$1000
12
12
Diaz
Miguel
315
Daniels
Tom
$770.45
$750
06
405
Williams
Al
$450.56
$1500
12
IDStudent
Subject
Teacher
Score
123
Physics
Hawking
4.0
123
Music
Mahler
3.3
456
Lit
Michener
3.2
789
Music
Bach
3.7
678
Physics
Hawking
3.5
Subject
En
1FN?
En 2FN?
En 3FN?
Teacher
Teacher
Score
S
S
S
Subject
no es dependencia transitiva
Subject
Teacher
Score
123
Physics
Hawking
4.0
123
Music
Mahler
3.3
456
Lit
Michener
3.2
789
Music
Bach
3.7
678
Physics
Hawking
3.5
Cambio
Problemas
Por
qu no es la 4FN?
Si
IDStudent Teacher
Teacher
Score
Subject
2 Noviembre, 2005 - Sergio Il
Proceso de Normalizacin
no
relacin
Entidad
1FN
Eliminar atributos
multivaluados y
compuestos
Eliminar dependencias
parciales
2FN
Eliminar dependencias
transitivas
3FN
BoyceCodd
Eliminar dependencias
de claves no
candidatas
Puppy
PuppyTable
Table
Puppy
PuppyNumber
Number(PK)
(PK)
Puppy
Name
Puppy Name
Kennel
KennelCode
Code
Kennel
Name
Kennel Name
Kennel
KennelLocation
Location
Trick
TrickTable
Table
Puppy
PuppyNumber
Number(PK)
(PK)
Trick
ID
(PK)
Trick ID (PK)
Trick
TrickName
Name
Trick
Where
Trick WhereLearned
Learned
Skill
SkillLevel
Level
Eliminar dependencias
parciales:
TrickID
Trick Name
Trick Table
Puppy #
Trick ID
52
27
Roll Over
16
53
16
Nose Stand
54
27
Roll Over
Tricks
Tricks
Puppy
PuppyTricks
Tricks
Puppy
PuppyTable
Table
Trick
TrickID
ID(PK)
(PK)
Trick
Name
Trick Name
Puppy
PuppyNumber
Number(PK)
(PK)
Trick
ID
(PK)
Trick ID (PK)
Trick
TrickWhere
WhereLearned
Learned
Skill
Level
Skill Level
Puppy
PuppyNumber
Number(PK)
(PK)
Puppy
Name
Puppy Name
Kennel
KennelCode
Code
Kennel
Name
Kennel Name
Kennel
KennelLocation
Location
Puppy
PuppyTable
Table
Puppies
Puppies
Puppy
PuppyNumber
Number(PK)
(PK)
Puppy
Name
Puppy Name
Kennel
KennelCode
Code
Kennel
KennelName
Name
Kennel
Location
Kennel Location
Puppy
PuppyNumber
Number(PK)
(PK)
Puppy
Name
Puppy Name
Kennel
KennelCode
Code
Kennels
Kennels
Puppy Name
Kennel Code Kennel
Name, Kennel Location
Kennel
KennelCode
Code(PK)
(PK)
Kennel
Name
Kennel Name
Kennel
KennelLocation
Location
Tricks
Tricks
Trick
TrickID
ID(PK)
(PK)
Trick
Name
Trick Name
Puppy
PuppyTricks
Tricks
Puppy
PuppyNumber
Number(PK)
(PK)
Trick
ID
(PK)
Trick ID (PK)
Trick
TrickWhere
WhereLearned
Learned
Skill
Level
Skill Level
Descomposicin si prdida
Problema:
tuplas espreas
2 Noviembre, 2005 - Sergio Il
Conservacin de dependencias:
3)
desperdicio de espacio
inconsistencias
Ejemplo
R=(A,
B, C):
AB
BC
Otro Ejemplo
NBANQUERO
1
2
3
4
NSUCURSAL
1
1
3
3
NCLIENTE
1
1
NBANQUERO
3
4
BCFN y Preservacin de
Dependencias
A veces,
Aunque
BCFN y Preservacin de
Dependencias: Ejemplo
R=(A,
B, C):
F = {AB C, C B}
descomponer se perder AB C
De Ah la Utilidad de 3FN...
Siempre
Coste:
BCFN:
3FN:
algo de redundancia
clave
2 Noviembre, 2005 - Sergio Il
street
city
title
Star Wars
C. Fisher
Star Wars
5 Locust Ln.
Malibu
C. Fisher
5 Locust Ln.
Malibu
C. Fisher
5 Locust Ln.
Malibu
Redundancia
En
(informacin de direcciones)
BCFN?
Problemas
S (todo es clave)
Dependencias Multivaluadas
A B
Generalizacin
Declaracin
de la dependencia funcional
atributos:
Si A B,
Casos
entonces A R-B
B subconjunto de A
AB=R
Dependencias Multivaluadas:
Algunas Reglas de Inferencia
Transitividad:
Si A B y A C, entonces A C
Complementariedad:
Si A B, entonces A R (A B)
Unin:
Si A B y A C, entonces A B, C
Mientras
Ejemplo (I)
Stars
name
street
city
title
Star Wars
Star Wars
Malibu
Malibu
Malibu
Ejemplo (I)
Stars
name
street
city
title
Star Wars
Star Wars
Malibu
Malibu
Malibu
Ejemplo (II)
name
Hay
street, city
que repetir:
name
street
Hechos
independientes
city
Malibu
title
Star Wars
Empire Strikes Back
Return of the Jedi
EXTENSIN
INCOMPLETA
Ejemplo (III)
Descomponer
en:
Todos
Anomalas:
insertar un nuevo profesor de bases de datos
Ejercicio 1
Normalizar
AB
AC
Clave: A,
viola R2:
Ejercicio 2
R(A,B,C)
AB
(a,b1,c1), (a,b2,c2), y (a,b3,c3) son tuplas de R
Qu tuplas sabemos que deben estar en R?
Pista: A determina
Respuesta:
Ms Formas Normales
5FN
Restricciones
Problemas
raramente
usadas
Nota al Margen
Cuando
El
diseo por sntesis, sin embargo, no goza de mucha popularidad, entre otras
cosas por el elevado nmero de dependencias que pueden estar implicadas
FIN