SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
FACULTADDE INGENIERIA
EAPDE INGENIERÍADE SISTEMAS
Aspectosimportantesaconsideraralahora
dediseñar
Cada atributo debe ser monovaluado
Sucursales
Nro_Suc Nombre Telefonos Direccion Localidad Departament
o
1 Sacramento 4234322 423446
7
Toranzo 350 Norte Desamparados Capital
2 Higueras 4332323 C.Cabot 335
0
Oeste Rivadavia Rivadavia
3 Espigas 4223434 422136
7
Aberastain 333 Sur Concepcion Capital
4 SantaRita 4221123 433567
8
Av.Libertado
r
123
0
Oeste Desamparados Capital
5 Excelencia 4228976 422349
0
Av.Libertado
r
30 Oeste Capital Capital
6 Castillo 4962579 Ig.delaRoza 671 Caucete Caucete
Mg.OrleansMoisésGálvezTapia
Nro_Suc Nombre Direccion Localidad Departament
o
1 Sacramento Toranzo350Norte Desamparados Capital
2 Higueras C.Cabot3350Oeste Rivadavia Rivadavia
3 Espigas Aberastain333Sur Concepcion Capital
4 SantaRita Av.Libertador1230Oeste Desamparados Capital
5 Excelencia Av.Libertador30Oeste Capital Capital
6 Castillo Ig.delaRoza671 Caucete Caucete
…Aspectosimportantesaconsiderarala
horadediseñar
Cada atributo debe ser monovaluado:
Esto implica que la relación anterior debiera reemplazarse por las siguientes:
Sucursales
Nro_Suc Telefono
1 4234467
3 4221367
4 4335678
5 4223490
1 4234322
2 4332323
3 4223434
4 4221123
5 4228976
6 4962579
Telefonos_Suc
…Aspectosimportantesaconsiderarala
horadediseñar
Reducción de valores redundantes:
Dentro de los principales objetivos en el
diseño de relaciones
Evitar anomalías de
actualización
…Aspectosimportantesaconsiderarala
horadediseñar
Minimizar el espacio de
almacenamiento
que ocupan las relaciones
base (archivos)



Normalización
Técnica para producir un conjunto de relaciones
pertinentes a través de la mejor estructuración de las
entidades involucradas.
Permite eliminar redundancia de datos y simplificar el
mantenimiento de los datos
Inicia examinando las relaciones existentes entre
atributos.
 Si y sólo si está en 1FN y los atributos NO Primos dependen
funcionalmente de la llave primaria.
1FN


2FN
ProcesodeNormalización
Si los valores en las celdas son atómicos
Si dos filas o tuplas no son idénticas
A → B
A → C
A → E
C → D
E → F
3FN
 Si está en 2FN y no existen dependencias
transitivas.
A → B
A → C
A → E
C → D
E → F
Id_orde
n
Fecha Id_client
e
Nom_client
e
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,00PRIMERAFORMALNORMAL(1FN)
La 1FN prohíbe 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.
Tenemos que crear una nueva tabla con la PK de la tabla base y el grupo repetido.
EJERCICIOCOMPLETO-01
1. ordenes (id_orden, fecha,id_cliente, nom_cliente, estado, num_art, nom_art, cant, precio)
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
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
…EJERCICIOCOMPLETO
Los registros quedan ahora conformados en dos tablas que llamaremos
ORDENES yARTICULOS_ORDENES
ordenes (id_orden, fecha, id_cliente, nom_cliente, estado)
Articulos_ordenes (id_orden, num_art, nom_art, cant, precio)
Ordenes
Id_orden Num_art cant
2301 3786 3
2301 4011 6
2301 9132 8
2302 5794 4
2303 4011 2
2303 3141 2
Num_art nom_art Precio
3786 Red 35,00
4011 Raqueta 65,00
9132 Paq-3 4,75
5794 Paq-6 5,00



SEGUNDA FORMAL
NORMAL(2FN)
Determinar cuáles columnas
que no son llave no dependen
de la llave primaria de la
tabla.
Eliminar esas columnas de la
tabla base.
Crear una segunda tabla con
esas columnas y la(s)
columna(s) de la PK de la
cual dependen.
Las tablas quedan ahora de la siguiente manera.
Articulos_ordenes (id_orden,num_art, cant)
Articulos_ordenes
Articulos ( num_art, nom_art, precio)
Articulos
Id_cliente Nom_cliente Estado
101 Martin Caracas
107 Herman Coro
110 Pedro Maracay
Id_orden Fecha Id_cliente
2301 23/02/11 101
2302 25/02/11 107
2303 27/02/11 110



TERCERAFORMALNORMAL
(3FN)
Determinar las columnas que son
dependientes de otra columna no
llave.
Eliminar esas columnas de la tabla
base.
Crear una segunda tabla con esas
columnas y con la columna no llave
de la cual son dependientes.
Al observar las tablas que hemos
creado, nos damos cuenta que tanto la
tabla ARTICULOS, como la tabla
ARTICULOS_ORDENES se
ordenes (id_orden, fecha, id_cliente)
Ordenes
Clientes (id_cliente, nom_cliente, estado)
Clientes
Por lo tanto la base de datos quedaría:
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)
encuentran en 3FN. Sin embargo la
tabla ORDENES no lo está, ya que
NOM_CLIENTE y ESTADO son
dependientes de ID_CLIENTE, y esta
columna no es la llave primaria.
Ejemplode
1FN
IDCliente Nombre Telefono
45 Francisco 444444444
275 Miguel 555555555
275 Miguel 666666666
IDCliente Nombre Telefono Telefono2 Telefono3
45 Francisco 444444444 NULL NULL
275 Miguel 555555555 666666666 NULL
IDCliente Nombre Telefono
45 Francisco 444444444
275 Miguel 555555555,666666666
No se permiten vectores de campos en una columna
No se permiten grupos repetidos en varias columnas
IDCliente Nombre Telefono
45 Francisco 444444444
275 Miguel 555555555
275 Miguel 666666666
IDCliente Telefono
45 444444444
275 555555555
275 666666666
IDCliente Nombre
45 Francisco
275 Miguel
PRIMERAFORMALNORMAL(1FN)


Tenemos que eliminar los grupos repetidos.
Tenemos que crear una nueva tabla con la PK de la tabla base y el grupo repetido.
CLIENTES
CLIENTES TELEFONOS_CLIENTES
Ejemplode
2FN
IDCliente IDProducto Cantidad Nombre_producto
29 42 1 Zapatillasdeportivasdetenis
46 9 5 Balónreglamentariodebaloncesto
204 42 1 Zapatillasdeportivasdetenis
144 10 1 Zapatillasdeportivasderugby
IDProducto Nombre_producto
9 Balónreglamentariodebaloncesto
10 Zapatillasdeportivasderugby
42 Zapatillasdeportivasdetenis
IDCliente IDProducto Cantidad
29 42 1
46 9 5
204 42 1
144 10 1
Los pasos para aplicar la segunda forma normal son muy sencillos: encontrar las claves
candidatas (compuestas), que identifican de manera única el registro; comprobar que los campos
que no forman parte de la clave candidata y no son parte de ella (en el ejemplo de antes ni
IDCliente ni IDProducto deben ser analizados) dependen totalmente de la clave candidata.
LINEAS_PEDIDO
PRODUCTOS
LINEAS_PEDIDO
Ejemplode
3FN
IDServido
r
Fecha IDServici
o
Nombre_servici
o
Carg
a
21 2009-01-
14
1 Oracle 100
21 2009-01-
15
9 MySQL 100
21 2009-01-
16
22 Apache 85
34 2009-01-
14
3 PostgreSQL 74
34 2009-01-
15
22 Apache 58
34 2009-01-
16
22 Apache 67
66 2009-01-
14
9 MySQL 98
66 2009-01-
15
22 Apache 94
66 2009-01-
16
1 Oracle10g 84
IDServido
r
Fecha IDServici
o
Carg
a
21 2009-01-
14
1 100
21 2009-01-
15
9 100
21 2009-01-
16
22 85
34 2009-01-
14
3 74
IDServici
o
Nombre_servici
o
1 Oracle
9 MySQL
22 Apache
3 PostgreSQL
22 Apache
22 Apache
9 MySQL
Una tabla está en tercera forma normal siempre que esté en segunda forma normal (y por
consiguiente en primera) y todos sus campos no primarios (campos que no forman parte de una
clave candidata) dependen únicamente de la clave candidata.
CARGA_DIARIA
CARGA_DIARIA SERVICIOS
EJEMPLO
Tenemos una empresa pública donde los puestos de trabajo están regulados por el
Estado, de modo que las condiciones salariales están determinadas por el puesto. Se ha
creado el siguiente esquema relacional:
EMPLEADOS(nss, nombre, puesto, salario, emails) con nss como clave primaria.
EMPLEADOS
EMPLEADOS
EMPLEADOS EMAILS
puesto salario
JefedeÁrea 3000
Administrativo 1500
Administrativo 1500
... ...
EMPLEADOS PUESTOS

Más contenido relacionado

Similar a Diseño de bases de datos normalizadas

5. ejercicios normalización
5. ejercicios normalización5. ejercicios normalización
5. ejercicios normalizaciónAny Saula
 
5. ejercicios normalización
5. ejercicios normalización5. ejercicios normalización
5. ejercicios normalizaciónInés Rosero
 
5. ejercicios normalización
5. ejercicios normalización5. ejercicios normalización
5. ejercicios normalizaciónYoly QC
 
5. ejercicios normalización
5. ejercicios normalización5. ejercicios normalización
5. ejercicios normalizaciónWilliam Lozano
 
5. ejercicios normalización
5. ejercicios normalización5. ejercicios normalización
5. ejercicios normalizaciónjhonny tenesaca
 
5. ejercicios normalización
5. ejercicios normalización5. ejercicios normalización
5. ejercicios normalizaciónCesar Yupa
 
5. ejercicios normalización
5. ejercicios normalización5. ejercicios normalización
5. ejercicios normalizaciónChars Orden
 
5. ejercicios normalización
5. ejercicios normalización5. ejercicios normalización
5. ejercicios normalizaciónDoris Aguagallo
 
5 150111192230-conversion-gate02
5 150111192230-conversion-gate025 150111192230-conversion-gate02
5 150111192230-conversion-gate02Dyego de Alvaro
 
5. ejercicios normalización
5. ejercicios normalización5. ejercicios normalización
5. ejercicios normalizaciónDoris Aguagallo
 
5. ejercicios normalización2
5. ejercicios normalización25. ejercicios normalización2
5. ejercicios normalización2Oscar Valdivieso
 
5. ejercicios normalización
5. ejercicios normalización5. ejercicios normalización
5. ejercicios normalizaciónLiliana Charco
 
4 formas normales informe
4 formas normales informe4 formas normales informe
4 formas normales informeNorkis2
 

Similar a Diseño de bases de datos normalizadas (20)

5. ejercicios normalización
5. ejercicios normalización5. ejercicios normalización
5. ejercicios normalización
 
5. ejercicios normalización
5. ejercicios normalización5. ejercicios normalización
5. ejercicios normalización
 
5. ejercicios normalización
5. ejercicios normalización5. ejercicios normalización
5. ejercicios normalización
 
5. ejercicios normalización
5. ejercicios normalización5. ejercicios normalización
5. ejercicios normalización
 
5. ejercicios normalización
5. ejercicios normalización5. ejercicios normalización
5. ejercicios normalización
 
5. ejercicios normalización
5. ejercicios normalización5. ejercicios normalización
5. ejercicios normalización
 
5. ejercicios normalización
5. ejercicios normalización5. ejercicios normalización
5. ejercicios normalización
 
5. ejercicios normalización
5. ejercicios normalización5. ejercicios normalización
5. ejercicios normalización
 
5
55
5
 
5. ejercicios normalización
5. ejercicios normalización5. ejercicios normalización
5. ejercicios normalización
 
5 150111192230-conversion-gate02
5 150111192230-conversion-gate025 150111192230-conversion-gate02
5 150111192230-conversion-gate02
 
5. ejercicios normalización
5. ejercicios normalización5. ejercicios normalización
5. ejercicios normalización
 
5. ejercicios normalización2
5. ejercicios normalización25. ejercicios normalización2
5. ejercicios normalización2
 
5. ejercicios normalización
5. ejercicios normalización5. ejercicios normalización
5. ejercicios normalización
 
Guía de ejercicios de normalizacion
Guía de ejercicios de normalizacionGuía de ejercicios de normalizacion
Guía de ejercicios de normalizacion
 
UNEFA Guía de Ejercicios de Normalizacion
UNEFA Guía de Ejercicios de NormalizacionUNEFA Guía de Ejercicios de Normalizacion
UNEFA Guía de Ejercicios de Normalizacion
 
Clase 5 Ejercicios de Normalización de Base de Datos
Clase 5 Ejercicios de Normalización de Base de DatosClase 5 Ejercicios de Normalización de Base de Datos
Clase 5 Ejercicios de Normalización de Base de Datos
 
4 formas normales informe
4 formas normales informe4 formas normales informe
4 formas normales informe
 
Normalizacion
NormalizacionNormalizacion
Normalizacion
 
SQL
SQLSQL
SQL
 

Último

12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdfedwinmelgarschlink2
 
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webDecaunlz
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfisrael garcia
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAdanielaerazok
 
Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenadanielaerazok
 
COMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfCOMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfOscarBlas6
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdflauradbernals
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenajuniorcuellargomez
 

Último (8)

12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf
 
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la web
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
 
Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalena
 
COMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfCOMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdf
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdf
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalena
 

Diseño de bases de datos normalizadas

  • 2.
  • 3. Aspectosimportantesaconsideraralahora dediseñar Cada atributo debe ser monovaluado Sucursales Nro_Suc Nombre Telefonos Direccion Localidad Departament o 1 Sacramento 4234322 423446 7 Toranzo 350 Norte Desamparados Capital 2 Higueras 4332323 C.Cabot 335 0 Oeste Rivadavia Rivadavia 3 Espigas 4223434 422136 7 Aberastain 333 Sur Concepcion Capital 4 SantaRita 4221123 433567 8 Av.Libertado r 123 0 Oeste Desamparados Capital 5 Excelencia 4228976 422349 0 Av.Libertado r 30 Oeste Capital Capital 6 Castillo 4962579 Ig.delaRoza 671 Caucete Caucete Mg.OrleansMoisésGálvezTapia
  • 4. Nro_Suc Nombre Direccion Localidad Departament o 1 Sacramento Toranzo350Norte Desamparados Capital 2 Higueras C.Cabot3350Oeste Rivadavia Rivadavia 3 Espigas Aberastain333Sur Concepcion Capital 4 SantaRita Av.Libertador1230Oeste Desamparados Capital 5 Excelencia Av.Libertador30Oeste Capital Capital 6 Castillo Ig.delaRoza671 Caucete Caucete …Aspectosimportantesaconsiderarala horadediseñar Cada atributo debe ser monovaluado: Esto implica que la relación anterior debiera reemplazarse por las siguientes: Sucursales
  • 5. Nro_Suc Telefono 1 4234467 3 4221367 4 4335678 5 4223490 1 4234322 2 4332323 3 4223434 4 4221123 5 4228976 6 4962579 Telefonos_Suc …Aspectosimportantesaconsiderarala horadediseñar
  • 6. Reducción de valores redundantes: Dentro de los principales objetivos en el diseño de relaciones Evitar anomalías de actualización …Aspectosimportantesaconsiderarala horadediseñar Minimizar el espacio de almacenamiento que ocupan las relaciones base (archivos)
  • 7.    Normalización Técnica para producir un conjunto de relaciones pertinentes a través de la mejor estructuración de las entidades involucradas. Permite eliminar redundancia de datos y simplificar el mantenimiento de los datos Inicia examinando las relaciones existentes entre atributos.
  • 8.  Si y sólo si está en 1FN y los atributos NO Primos dependen funcionalmente de la llave primaria. 1FN   2FN ProcesodeNormalización Si los valores en las celdas son atómicos Si dos filas o tuplas no son idénticas A → B A → C A → E C → D E → F
  • 9. 3FN  Si está en 2FN y no existen dependencias transitivas. A → B A → C A → E C → D E → F
  • 10. Id_orde n Fecha Id_client e Nom_client e 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,00PRIMERAFORMALNORMAL(1FN) La 1FN prohíbe 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. Tenemos que crear una nueva tabla con la PK de la tabla base y el grupo repetido. EJERCICIOCOMPLETO-01 1. ordenes (id_orden, fecha,id_cliente, nom_cliente, estado, num_art, nom_art, cant, precio) Ordenes
  • 11. 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 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 …EJERCICIOCOMPLETO Los registros quedan ahora conformados en dos tablas que llamaremos ORDENES yARTICULOS_ORDENES ordenes (id_orden, fecha, id_cliente, nom_cliente, estado) Articulos_ordenes (id_orden, num_art, nom_art, cant, precio) Ordenes
  • 12. Id_orden Num_art cant 2301 3786 3 2301 4011 6 2301 9132 8 2302 5794 4 2303 4011 2 2303 3141 2 Num_art nom_art Precio 3786 Red 35,00 4011 Raqueta 65,00 9132 Paq-3 4,75 5794 Paq-6 5,00    SEGUNDA FORMAL NORMAL(2FN) Determinar cuáles columnas que no son llave no dependen de la llave primaria de la tabla. Eliminar esas columnas de la tabla base. Crear una segunda tabla con esas columnas y la(s) columna(s) de la PK de la cual dependen. Las tablas quedan ahora de la siguiente manera. Articulos_ordenes (id_orden,num_art, cant) Articulos_ordenes Articulos ( num_art, nom_art, precio) Articulos
  • 13. Id_cliente Nom_cliente Estado 101 Martin Caracas 107 Herman Coro 110 Pedro Maracay Id_orden Fecha Id_cliente 2301 23/02/11 101 2302 25/02/11 107 2303 27/02/11 110    TERCERAFORMALNORMAL (3FN) Determinar las columnas que son dependientes de otra columna no llave. Eliminar esas columnas de la tabla base. Crear una segunda tabla con esas columnas y con la columna no llave de la cual son dependientes. Al observar las tablas que hemos creado, nos damos cuenta que tanto la tabla ARTICULOS, como la tabla ARTICULOS_ORDENES se ordenes (id_orden, fecha, id_cliente) Ordenes Clientes (id_cliente, nom_cliente, estado) Clientes Por lo tanto la base de datos quedaría: 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) encuentran en 3FN. Sin embargo la tabla ORDENES no lo está, ya que NOM_CLIENTE y ESTADO son dependientes de ID_CLIENTE, y esta columna no es la llave primaria.
  • 15. IDCliente Nombre Telefono 45 Francisco 444444444 275 Miguel 555555555 275 Miguel 666666666 IDCliente Nombre Telefono Telefono2 Telefono3 45 Francisco 444444444 NULL NULL 275 Miguel 555555555 666666666 NULL IDCliente Nombre Telefono 45 Francisco 444444444 275 Miguel 555555555,666666666 No se permiten vectores de campos en una columna No se permiten grupos repetidos en varias columnas
  • 16. IDCliente Nombre Telefono 45 Francisco 444444444 275 Miguel 555555555 275 Miguel 666666666 IDCliente Telefono 45 444444444 275 555555555 275 666666666 IDCliente Nombre 45 Francisco 275 Miguel PRIMERAFORMALNORMAL(1FN)   Tenemos que eliminar los grupos repetidos. Tenemos que crear una nueva tabla con la PK de la tabla base y el grupo repetido. CLIENTES CLIENTES TELEFONOS_CLIENTES
  • 18. IDCliente IDProducto Cantidad Nombre_producto 29 42 1 Zapatillasdeportivasdetenis 46 9 5 Balónreglamentariodebaloncesto 204 42 1 Zapatillasdeportivasdetenis 144 10 1 Zapatillasdeportivasderugby IDProducto Nombre_producto 9 Balónreglamentariodebaloncesto 10 Zapatillasdeportivasderugby 42 Zapatillasdeportivasdetenis IDCliente IDProducto Cantidad 29 42 1 46 9 5 204 42 1 144 10 1 Los pasos para aplicar la segunda forma normal son muy sencillos: encontrar las claves candidatas (compuestas), que identifican de manera única el registro; comprobar que los campos que no forman parte de la clave candidata y no son parte de ella (en el ejemplo de antes ni IDCliente ni IDProducto deben ser analizados) dependen totalmente de la clave candidata. LINEAS_PEDIDO PRODUCTOS LINEAS_PEDIDO
  • 20. IDServido r Fecha IDServici o Nombre_servici o Carg a 21 2009-01- 14 1 Oracle 100 21 2009-01- 15 9 MySQL 100 21 2009-01- 16 22 Apache 85 34 2009-01- 14 3 PostgreSQL 74 34 2009-01- 15 22 Apache 58 34 2009-01- 16 22 Apache 67 66 2009-01- 14 9 MySQL 98 66 2009-01- 15 22 Apache 94 66 2009-01- 16 1 Oracle10g 84 IDServido r Fecha IDServici o Carg a 21 2009-01- 14 1 100 21 2009-01- 15 9 100 21 2009-01- 16 22 85 34 2009-01- 14 3 74 IDServici o Nombre_servici o 1 Oracle 9 MySQL 22 Apache 3 PostgreSQL 22 Apache 22 Apache 9 MySQL Una tabla está en tercera forma normal siempre que esté en segunda forma normal (y por consiguiente en primera) y todos sus campos no primarios (campos que no forman parte de una clave candidata) dependen únicamente de la clave candidata. CARGA_DIARIA CARGA_DIARIA SERVICIOS
  • 21. EJEMPLO Tenemos una empresa pública donde los puestos de trabajo están regulados por el Estado, de modo que las condiciones salariales están determinadas por el puesto. Se ha creado el siguiente esquema relacional: EMPLEADOS(nss, nombre, puesto, salario, emails) con nss como clave primaria.
  • 24. puesto salario JefedeÁrea 3000 Administrativo 1500 Administrativo 1500 ... ... EMPLEADOS PUESTOS