Sei sulla pagina 1di 18

UNIVERSIDAD CESAR VALLEJO

Escuela Profesional de Ingeniera de Sistemas

SESIN 03: FORMAS NORMALES DE UNA BASE DE DATOS

CURSO: GESTIN DE DATOS E INFORMACIN I (2017 - I) 1


DEPENDENCIA FUNCIONAL

Es una conexin entre dos o ms atributos. Por ejemplo si conocemos el valor


de FechaDeNacimiento podemos conocer el valor de edad.

Las dependencias funcionales del sistema se escriben utilizando una flecha,


de la siguiente manera:

FechaDeNacimiento Edad

dni Nombre / Apellido

A B
B es funcionalmente dependiente de A
DEPENDENCIA FUNCIONAL TRANSITIVA
Simblicamente:

Con la fecha de nacimiento podemos deducir la edad, con la edad


podemos deducir si una persona tiene permiso de conducir.
Qu debemos hacer antes de aplicar la Primera Forma Normal?
Sucursales
Nro_Suc Nombre Telefonos Direccion Localidad Departamento
1 Sacramento 4234322 4234467 Toranzo 350 Norte Desamparados Capital
2 Higueras 4332323 C.Cabot 3350 Oeste Rivadavia Rivadavia
3 Espigas 4223434 4221367 Aberastain 333 Sur Concepcion Capital
4 Santa Rita 4221123 4335678 Av. Libertador 1230 Oeste Desamparados Capital
5 Excelencia 4228976 4223490 Av. Libertador 30 Oeste Capital Capital
6 Castillo 4962579 Ig. de la Roza 671 Caucete Caucete

Nro_Suc Nombre Telefonos Direccion Localidad Departamento


1 Sacramento 4234322 Toranzo 350 Norte Desamparados Capital
1 Sacramento 4234467 Toranzo 350 Norte Desamparados Capital
2 Higueras 4332323 C.Cabot 3350 Oeste Rivadavia Rivadavia
3 Espigas 4223434 Aberastain 333 Sur Concepcion Capital
3 Espigas 4221367 Aberastain 333 Sur Concepcion Capital
4 Santa Rita 4221123 Av. Libertador 1230 Oeste Desamparados Capital
4 Santa Rita 4335678 Av. Libertador 1230 Oeste Desamparados Capital
5 Excelencia 4228976 Av. Libertador 30 Oeste Capital Capital
5 Excelencia 4223490 Av. Libertador 30 Oeste Capital Capital
6 Castillo 4962579 Ig. de la Roza 671 Caucete Caucete
Luego de aplicar la 1FN se obtienen estas dos tablas:

Sucursales
Nro_Suc * Nombre Direccion Localidad Departamento
1 Sacramento Toranzo 350 Norte Desamparados Capital
2 Higueras C.Cabot 3350 Oeste Rivadavia Rivadavia
3 Espigas Aberastain 333 Sur Concepcion Capital
4 Santa Rita Av. Libertador 1230 Oeste Desamparados Capital
5 Excelencia Av. Libertador 30 Oeste Capital Capital
6 Castillo Ig. de la Roza 671 Caucete Caucete

Telefonos_Suc
Nro_Suc * Telefono *
1 4234467
3 4221367 PRIMERA FORMAL NORMAL (1FN)
4 4335678
Tenemos que eliminar los grupos repetidos
5 4223490
1 4234322 (los cuales forman una nueva tabla).
2 4332323 Tenemos que crear una nueva tabla con la
3 4223434 PK de la tabla base y el grupo que no se
4 4221123 repite.
5 4228976
6 4962579
SEGUNDA FORMAL NORMAL (2FN)

Asegurarse que todas las columnas que no son llave, sean completamente dependientes de la llave
primaria (pk).

A
C D
B
A
D E
B
E C
A
TERCERA FORMAL NORMAL (3FN)
Consiste en eliminar Dependencias Transitivas.

AB
AC
AE
CD
EF
EJERCICIO COMPLETO - 01

1. ordenes (id_orden, fecha, id_cliente, nom_cliente, estado, num_art, nom_art, cant, precio)

Ordenes
Id_orden Fecha Id_cliente Nom_cliente Estado Num_art nom_art cant Precio
2301 23/02/11 101 Martin Caracas 3786 Red 3 35,00
2301 23/02/11 101 Martin Caracas 4011 Raqueta 6 65,00
2301 23/02/11 101 Martin Caracas 9132 Paq-3 8 4,75
2302 25/02/11 107 Herman Coro 5794 Paq-6 4 5,00
2303 27/02/11 110 Pedro Maracay 4011 Raqueta 2 65,00
2303 27/02/11 110 Pedro Maracay 3141 Funda 2 10,00

PRIMERA FORMAL NORMAL (1FN)

La 1FN prohbe los grupos repetidos, por lo tanto tenemos que convertir a la primera forma
normal. Los pasos a seguir son:
Tenemos que eliminar los grupos repetidos (los cuales forman una nueva tabla).
Tenemos que crear una nueva tabla con la PK de la tabla base y el grupo que no se repite.
EJERCICIO COMPLETO
Los registros quedan ahora conformados en dos tablas que llamaremos
ORDENES y ARTICULOS_ORDENES

ordenes (id_orden, fecha, id_cliente, nom_cliente, estado)


Articulos_ordenes (id_orden, num_art, nom_art, cant, precio)

Ordenes
Id_orden Fecha Id_cliente Nom_cliente Estado
2301 23/02/11 101 Martin Caracas
2302 25/02/11 107 Herman Coro
2303 27/02/11 110 Pedro Maracay

Articulos_ordenes
Id_orden Num_art nom_art cant Precio
2301 3786 Red 3 35,00
2301 4011 Raqueta 6 65,00
2301 9132 Paq-3 8 4,75
2302 5794 Paq-6 4 5,00
2303 4011 Raqueta 2 65,00
2303 3141 Funda 2 10,00
Las tablas quedan ahora de la siguiente manera.

Articulos_ordenes (id_orden, num_art, cant)

Articulos_ordenes
SEGUNDA FORMAL NORMAL Id_orden Num_art cant
(2FN) 2301 3786 3
2301 4011 6
Asegurarse que todas las columnas 2301 9132 8
que no son llave, sean 2302 5794 4
completamente dependientes de la
llave primaria (pk).
2303 4011 2
2303 3141 2

Articulos ( num_art, nom_art, precio)

Articulos
Num_art nom_art Precio
3786 Red 35,00
4011 Raqueta 65,00
9132 Paq-3 4,75
5794 Paq-6 5,00
3141 Funda 10,00
ordenes (id_orden, fecha, id_cliente)

Ordenes
Id_orden Fecha Id_cliente
2301 23/02/11 101
2302 25/02/11 107
2303 27/02/11 110

TERCERA FORMAL NORMAL (3FN)


Clientes (id_cliente, nom_cliente, estado)

Clientes
Consiste en eliminar Dependencias Id_cliente Nom_cliente Estado
Transitivas. 101 Martin Caracas
107 Herman Coro
110 Pedro Maracay

Por lo tanto la base de datos quedara:

ordenes (id_orden, fecha, id_cliente)


Clientes (id_cliente, nom_cliente, estado)
Articulos ( num_art, nom_art, precio)
Articulos_ordenes (id_orden, num_art, cant)
Mg. Orleans Moiss Glvez Tapia
Cul sera el Modelo Relacional?
ordenes (id_orden, fecha, id_cliente)

Ordenes
Id_orden Fecha Id_cliente
2301 23/02/11 101
2302 25/02/11 107
2303 27/02/11 110

Clientes (id_cliente, nom_cliente, estado)

Clientes
Id_cliente Nom_cliente Estado
101 Martin Caracas
107 Herman Coro
110 Pedro Maracay

Por lo tanto la base de datos quedara:

ordenes (id_orden, fecha, id_cliente)


Clientes (id_cliente, nom_cliente, estado)
Articulos ( num_art, nom_art, precio)
Articulos_ordenes (id_orden, num_art, cant)
Mg. Orleans Moiss Glvez Tapia
Ejemplo de
1FN
Mg. Orleans Moiss Glvez Tapia
IDCliente Nombre Telefono
45 Francisco 444444444
275 Miguel 555555555,666666666

IDCliente Nombre Telefono Telefono2 Telefono3


45 Francisco 444444444 NULL NULL
275 Miguel 555555555 666666666 NULL

Qu debemos hacer antes de aplicar la Primera Forma Normal?

IDCliente Nombre Telefono


45 Francisco 444444444
275 Miguel 555555555
275 Miguel 666666666
Mg. Orleans Moiss Glvez Tapia
CLIENTES

IDCliente Nombre Telefono


45 Francisco 444444444
275 Miguel 555555555
275 Miguel 666666666

CLIENTES TELEFONOS_CLIENTES

IDCliente Nombre IDCliente Telefono


45 Francisco 45 444444444
275 Miguel 275 555555555
275 666666666
Mg. Orleans Moiss Glvez Tapia
Ejemplo de
2FN
Mg. Orleans Moiss Glvez Tapia
LINEAS_PEDIDO
IDCliente IDProducto Cantidad Nombre_producto
29 42 1 Zapatillas deportivas de tenis
46 9 5 Baln reglamentario de baloncesto
204 42 1 Zapatillas deportivas de tenis
144 10 1 Zapatillas deportivas de rugby

IDCliente IDProducto Cantidad


29 42 1
LINEAS_PEDIDO 46 9 5
204 42 1
144 10 1

IDProducto Nombre_producto
PRODUCTOS 9 Baln reglamentario de baloncesto
10 Zapatillas deportivas de rugby
42 Zapatillas deportivas de tenis
Mg. Orleans Moiss Glvez Tapia