Sunteți pe pagina 1din 18

Normalizacin de base de

datos
Introduccin de base de datos

Profesora:
Alumno:
ID :
Fecha de entrega: 4 noviembre 2014

Algebra Relacional
Es el conjunto de operaciones usadas para manipular relaciones. Estas operaciones
toman relaciones como operandos y regresan relaciones que a su vez pueden ser
manipuladas.
La operaciones fundamentales del algebra relacional son seleccin, proyeccin,
unin, diferencia, producto cartesiano y renombramiento.
Las operaciones seleccin, proyeccin y renombramiento, se denominan
operaciones unarias, porque solo operan sobre una sola relacin.
Las operaciones de unin, diferencia y producto cartesiano operan sobre pares de
relaciones y se denominan por lo tanto operaciones binarias.
Ejemplos:
R
Nombre
John Scot
Jenna Coleman
Edgar A. Poe

Direccin
123 Maple St.
456 Oak Rd.
789 Mont St.

Sexo
M
F
M

Cumpleaos
8/8/80
9/9/88
5/3/70

Sexo
M
F

Cumpleaos
7/7/77
9/9/88

S
Nombre
Harrison Ford
Jenna Coleman

Direccin
789 Palm Dr
456 Oak Rd.

Unin

La unin de dos relaciones que contiene las tuplas de la primera relacin adems
de las tuplas de la segunda relacin.

Al adaptar los operadores de conjuntos a relaciones se debe asegurar que


exista compatibilidad entre ellas.

Nombre
John Scot

Direccin
123 Maple St.

Sexo
M

Cumpleaos
8/8/80

Jenna Coleman
Edgar A. Poe
Harrison Ford

456 Oak Rd.


789 Mont St.
789 Palm Dr

F
M
M

9/9/88
5/3/70
7/7/77

Diferencia

La diferencia de dos relaciones es otra relacin que contiene las tuplas que estn
en la relacin R, pero no estn en S.

R-S
Direccin
456 Oak Rd.
789 Mont St.

Nombre
Jenna Coleman
Edgar A. Poe

Sexo
F
M

Cumpleaos
9/9/88
5/3/70

Interseccin

La interseccin de la relacin R y S es el conjunto de elementos que aparecen en


ambos.

Direccin
456 Oak Rd.

Nombre
Jenna Coleman

Sexo
F

Cumpleaos
9/9/88

Producto Cartesiano
Define una relacin que es la concatenacin de cada una de las filas de la
relacin R con cada una de las filas de la relacin S.

R
Parte

Nombre

Material

P5
P6

Perno
Cncamo

Acero
Bronce

S
Mercado
M1
M2
M3

Parte
P5
P5
P5
P6
P6
P6

Nombre
Perno
Perno
Perno
Cncamo
Cncamo
Cncamo

Pas
USA
UE
China

RXS
Material
Acero
Acero
Acero
Bronce
Bronce
Bronce

Mercado
M1
M2
M3
M1
M2
M3

Pas
USA
UE
China
USA
UE
China

Seleccin
Define una relacin con los mimos atributos que R y que contiene solo
aquellas filas de R que satisfacen la condicin especificada (predicado).

Parte
P5
P7
P9

R
Nombre
Perno
Tuerca
Clavo

=
Parte
P5
P7

Nombre
Perno
Tuerca

Material
Acero
Acero
Titanio

(R)
Material
Acero
Acero

Proyeccin
Es una relacin obtenida de R al eliminar los atributos no-especificados.

En la tabla resultante aparecen los atributos en el mismo orden que en la


lista.

ID
150
192
193
240

R
Nombre
Jorge
Silvia
Melissa
Goku

Edad
30
23
21
50

,
Nombre
Jorge
Silvia
Melissa
Goku

(R)

Edad
30
23
21
50

Unin Natural
Natural Join (): dadas las relaciones A y B, con atributos {X1, X2, ... Xn, Y1, Y2,
...,Yn} y { Y1, Y2, ..., Yn, Z1, Z2, ..., Zn} respectivamente, es decir, (slo) con Y1, Y2,
..., Yn como atributos comunes entre ambas relaciones, el natural join de A y B,
escrito como AB, es la relacin conteniente los atributos { X1, X2, ... Xn, Y1, Y2,
...,Yn, Z1, Z2, ..., Zn} y el conjunto de todas las tuplas tales que los valores de sus
atributos X1, X2, ... Xn, Y1, Y2, ..., Yn son tuplas de A, y los valores de sus atributos
Y1, Y2, ..., Yn, Z1, Z2, ..., Znson tuplas de B.
El natural join es el ms comn de los operadores de join, y generalmente viene
llamado join.
Join Completo
A
Parte

Nombre

Material

Productor

P5
P6
P7
P9

Perno
Cncano
Tuerca
Clavo

Acero
Acero
Acero
Titanio

ABC
XYZ
FGH
ABC
B

Productor
ABC
FGH
XYZ

Pas
Chile
Italia
Mxico

Stock
bodega
5.000
12.000
24.000
9.000

Stock en
trnsito
10.000
5.000
0
2.000

Parte

Nombre

Material

A B
Productor

P5
P6
P7
P9

Perno
Cncano
Tuerca
Clavo

Acero
Acero
Acero
Titanio

ABC
XYZ
FGH
ABC

Stock
bodega
5.000
12.000
24.000
9.000

Stock en
trnsito
10.000
5.000
0
2.000

Pas
Chile
Mxico
Italia
Chile

Join incompleto

A
Parte

Nombre

Material

Productor

P5
P6
P7
P9

Perno
Cncano
Tuerca
Clavo

Acero
Acero
Acero
Titanio

ABC
XYZ
FGH
ABC

Stock
bodega
5.000
12.000
24.000
9.000

Stock en
trnsito
10.000
5.000
0
2.000

B
Productor
ABC
FGH
XYZ

Pas
Chile
Italia
Mxico

Parte

Nombre

Material

A B
Productor

P5
P6
P9

Perno
Cncano
Clavo

Acero
Acero
Titanio

ABC
XYZ
ABC

Stock
bodega
5.000
12.000
9.000

Stock en
trnsito
10.000
5.000
2.000

Pas
Chile
Mxico
Chile

Join incompleto (vacio)


A
Parte

Nombre

Material

Productor

P5

Perno

Acero

ABC

Stock
bodega
5.000

Stock en
trnsito
10.000

P6
P7
P9

Cncano
Tuerca
Clavo

Acero
Acero
Titanio

XYZ
FGH
ABC

12.000
24.000
9.000

5.000
0
2.000

B
Productor
DEF
IJK
LMN

Parte

Nombre

Material

Pas
Francia
Per
Austria

A B
Productor

Stock
bodega

Stock en
trnsito

Pas

Dependencias funcionales
Dependencias Triviales y No triviales
Una dependencia es trivial si es imposible que no pueda ser satisfecha. Esto
ocurre, en efecto, si y slo si el conjunto a la derecha es un subconjunto del
que est a la izquierda.
Ejemplo: PROVEEDOR (s#, nombre, apellidos, ciudad, status)
(nombre, apellidos) -> Status
(nombre, apellidos) ->Ciudad
(nombre, apellidos) ->s#

Las dependencias no triviales son todo aquel conjunto que es distinto de


subconjunto de las triviales.

Dependencia funcional completa


Se dice que el atributo Y de la relacin R es por completo dependiente
funcionalmente del atributo X de la relacin R si depende funcionalmente
de X y no depende funcionalmente de ningn subconjunto propio de X (es
decir, no existe un subconjunto propio Z de los atributos componentes de X
tales que Y sea funcionalmente dependiente de Z).
Ejemplo:

Registra= (CI, Sigla, Nota, SEM)


CI, Sigla, SEM -> Nota
CI--/-> Nota
Sigla--/->Nota
SEM --/-> Nota

Normalizacin de las bases de datos


Antecedentes
En 1970 Edgar F. Codd, un cientfico informtico ingls invent el modelo
relacional y dio a conocer el concepto de normalizacin y de lo que hoy
conocemos como la Primera Forma Normal. Codd pas a definir la
Segunda Forma Normal y Tercera Forma Normal en 1971, y Codd y
Raymond F. Boyce define la forma normal de Boyce-Codd en 1974.
Informalmente, una tabla de base de datos relacional es a menudo descrita
como "normalizada" si se encuentra en la tercera forma normal. No se
aplican slo a las bases de datos relacionales, sino tambin a cualquier tipo
de bases de datos o cualquier organizacin de informacin en general.
Objetivos
El objetivo de normalizar es el evitar en la creacin de relaciones:
o Los datos estn duplicados, esto quiere decir que la misma
informacin debe representarse en registros diferentes.
o Al introducir un dato, dependamos de la introduccin previa o
simultnea de otro dato que no tenemos obligacin de saber.
o Al borrar un dato, hayamos de borrar otros que no queremos perder.
Los objetivos de la normalizacin en su Primea Forma Normal se expresan
como sigue por Codd:
1 - Para liberar la coleccin de relaciones de insercin indeseable,
actualizacin y supresin de dependencias.
2 - Para reducir la necesidad de reestructuracin de la coleccin de
relaciones, como se introducen nuevos tipos de datos, y por lo tanto
aumentar la vida til de los programas de aplicacin.
3 - Para que el modelo relacional ms informativo para los usuarios;
4 - Para hacer la coleccin de relaciones neutrales a las estadsticas de
consulta, donde estas estadsticas pueden cambiar con el tiempo.

Formas Normal
o Primera Forma Normal
La primera forma normal, requiere que los datos sean atmicos. En otras
palabras, la 1FN prohbe a un campo contener ms de un valor de su
dominio de columna. Tambin exige que todas las tablas deben de tener
una clave primaria. Adicionalmente, indica que una tabla no debe tener
atributos que acepten valores nulos.

Nombre
John Smith
Carmen Aguilar

Telfono
45 35 45 12
35 46 78 98
55 25 12 45
54 36 11 28

Tabla en Primera Forma Normal


Nombre

Telfono

John Smith
John Smith
Carmen Aguilar

45 35 45 12
35 46 78 98
55 25 12 45

Carmen Aguilar

54 36 11 28

o Segunda Forma Normal


Cada atributo no clave de la relacin tiene dependencia funcional
completa (DFC) con su clave primaria (PK). Como en la 1FN no todos los
atributos no clave tenan DFC con la PK, entonces la 2FN busca separar
esos atributos en otras relaciones para que estn en DFC con su
respectiva PK. El fallo de la 2FN se debe a que existen atributos no claves
con dependencia transitiva con la clave primaria.

ID_Alumno
913645
924456
849201

Alumno
Melissa
Mario
Leon

C_Curso
C04
C03
C05

Notas
15,13,18
16,16,15
12,16,17

C_Profesor
P20
P12
P09

Segunda Forma Normal


Alumno (C_Alumno, N_Alumno, C_Curso, T_Notas)
Profesor(C_Alumno, C_Curso, C_Profesor)
o Tercera Forma Normal
La tercera forma normal elimina la dependencia transitiva que consiste
en que un atributo depende transitivamente de la clave primaria si
depende de otro atributo que a su vez depende de la clave.
pedido(pedido_id, fecha, cliente_id, cliente_nombre)
satisface 1FN y 2FN con clave primaria pedido_id pero
cliente_nombre cambia si cambia cliente_id. As que debemos
dividir la tabla en:
pedido(pedido_id, fecha, cliente_id)
cliente(cliente_id, cliente_nombre)

o Boyce Codd
La forma normal de Boyce-Codd requiere que no existan dependencias
funcionales no triviales de los atributos que no sean un conjunto de la
clave candidata. Se dice que una tabla est en FNBC si y solo si est en
3FN y cada dependencia funcional no trivial tiene una clave candidata
como determinante. En trminos menos formales, una tabla est en
FNBC si est en 3FN y los nicos determinantes son claves candidatas.
NEstudiante
Gmez
Gmez
Prez
Prez
Ramos
Ramos

Asesoria
NCurso
Mate I
Fsica
Mate I
Algebra
Fsica
Mate I

NAsesor
Arias
Flores
Arias
Snchez
Flores
Garca

Asesor-Estudiante
NEstudiante
NAsesor
Gmez
Arias
Gmez
Flores
Prez
Arias
Prez
Snchez
Ramos
Flores
Ramos
Garca
Asesor-Curso
NAsesor
Curso
Arias
Mate I
Flores
Fsica
Snchez
lgebra
Garca
Mate I
o Cuarta Forma Normal
Una relacin est en cuarta forma normal (4FN) si es BCFN (Ocurre si
una tabla est en 3FN y adems todo determinante existente en la
relacin es clave candidata) y no contiene dependencias multivalor.
Ocurre esta forma normal cuando una tabla est en forma normal de
Boyce Codd y toda dependencia multivaluada es una dependencia
funcional.

o Quinta Forma Normal

Ocurre cuando est en 4FN y adems no hay proyecciones que


combinadas formen la tabla original. Es la ms compleja y polmica de
todas. Polmica pues no est claro en muchas ocasiones que sea una
solucin mejor sacar las proyecciones de la tabla.

Proveedor
1
1
2
1

Material
1
2
1
1

Proyecto
2
1
1
1

Proveesor
1
1
2

Material
1
2
1

Material
1
2
1

Proyecto
2
1
1

Ejercicio de Normalizacin
Esta tabla no est en primera forma normal ya que contiene elementos multivaluados
como por ejemplo la url.

name
Joe
Jill

company
ABC
XYZ

Tabla Usuarios
company_adress
1 Work Lane
1 Work Street

url 1
abc.com
abc.com

url 2
xyz.com
xyz.com

Le aplicamos la primera forma normal para colocar los grupos repetidos en tablas
individuales. Luego creamos una tabla separada por cada conjunto de datos
relacionados y al final relacionaremos cada llave primaria con cada conjunto de
datos relacionados. Como al ver que no exista una llave primaria, creamos un
atributo llamado ID user que va actuar como tal.

User_ID
1
1
2
2

name
Joe
Joe
Jill
Jill

Tabla Usuarios
company company_adress
ABC
1 Work Lane
ABC
1 Work Lane
XYZ
1 Job Street
XYZ
1 Job Street

url
abc.com
xyz.com
abc.com
xyz.com

El siguiente paso es transformarla en la segunda forma normal, ya que ahora


tenemos el problema que si colocamos un nuevo registro en la tabla usuarios,
tendremos que duplicar a todos los elementos de Company y name, haciendo que
nuestra base de datos crezca.
User_ID
1
2

Tabla Usuarios
name
company
Joe
ABC
Jill
XYZ

company_adress
1 Work Lane
1 Job Street

Url_ID
1
2
3
4

Tabla Urls
User_ID
1
1
2
2

url
abc.com
xyz.com
abc.com
xyz.com

Para pasarla a segunda forma normal, lo que se hizo es crear una tabla
independiente del atributo url, le creamos una clave primaria llamada Url_ID, y
adems le agregamos una llave fornea llama User_ID que es la llave primaria de
la Tabla Usuarios.
Despus podemos observar que en la Tabla Usuarios existen atributos con
dependencia transitiva como por ejemplo company_adress que depende de otro
atributo que no es la llave primaria, a dicha tabla le debemos aplicar la tercera
forma normal creando una nueva tabla a company con una llave primaria llamada
company Id y agregaremos el atributo company_adress.
User_ID
1
2

company _Id
1
2

Tabla Usuarios
name
Company_Id
Joe
1
Jill
2
Tabla compaas
company
company_adress
ABC
1 Work Lane
XYZ
1 Job Street

Bibliografa
http://es.slideshare.net/jherry/normalizacion-boyce-codd4fn
http://www.monografias.com/trabajos98/forma-normal-boycecodd/forma-normal-boyce-codd.shtml
http://lasrsibd.blogspot.mx/2012/04/primera-y-segunda-formanormal.html
http://books.google.com.mx/books?id=xip1wtr8k58C&pg=PA141&lpg=P
A141&dq=Edgar+F.+Codd+primera+forma+normal&source=bl&ots=Oibk
mAzqKk&sig=KM_nuLVKcstoXquvKIWAU_IolJw&hl=es&sa=X&ei=JvZX
VNb9FcKsyQS9tYBw&ved=0CDMQ6AEwBA#v=onepage&q=Edgar%20F.
%20Codd%20primera%20forma%20normal&f=false
http://centrodeartigo.com/articulos-noticias-consejos/article_136008.html

S-ar putea să vă placă și