SlideShare una empresa de Scribd logo
1 de 7
Descargar para leer sin conexión
Ejercicios
Normalización
del esquema
relacional
Ejercicios Normalización del esquema relacional
EJERCICIOS NORMALIZACIÓN
1. EJEMPLO 1
Vamos a considerar los datos de la siguiente tabla.
ordenes (Id_Orden, Fecha, Id_Cliente, Nom_Cliente, Ciudad, Id_art, Nom_art, Cant, Precio)
Ordenes
Id_orden Fecha Id_cliente Nom_cliente Ciudad Id_art Nom_art Cant Precio
2301 23/02/11 101 Martin Riobamba 3786 Red 3 35,00
2301 23/02/11 101 Martin Riobamba 4011 Raqueta 6 65,00
2301 23/02/11 101 Martin Riobamba 9132 Paq-3 8 4,75
2302 25/02/11 107 Herman Ambato 5794 Paq-6 4 5,00
2303 27/02/11 110 Pedro Quito 4011 Raqueta 2 65,00
2303 27/02/11 110 Pedro Quito 3141 Funda 2 10,00
1.1 PRIMERA FORMA NORMAL (1FN)
 Una relación está en primera forma normal si todos los dominios contienen sólo valores atómicos.
 Un dominio es atómico si se considera que los elementos del dominio son unidades indivisibles
 La regla de la 1FN establece que las columnas repetidas deben eliminarse y colocarse en tablas separadas.
Ejemplo:
Al examinar estos registros, podemos darnos cuenta que contienen un grupo repetidos ID_ART, NOM_ART, CANT y
PRECIO. 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 (clave) de la tabla base y el grupo repetido.
Los registros quedan ahora conformados en dos tablas que llamaremos ORDENES y ARTICULOS_ORDENES
ordenes (Id_orden, Fecha, Id_cliente, Nom_cliente, Ciudad)
articulos_ordenes (Id_orden, Id_Art, Nom_art, Cant, Precio)
ordenes
Id_orden Fecha Id_cliente Nom_cliente Ciudad
2301 23/02/11 101 Martin Riobamba
2302 25/02/11 107 Herman Ambato
2303 27/02/11 110 Pedro Quito
articulos_ordenes
Id_orden Id_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
Ejercicios Normalización del esquema relacional
1.2 SEGUNDA FORMA NORMA (2FN)
Una relación está en segunda forma normal si y sólo si está en 1FN y todos los atributos no clave dependen
por completo de cualquier clave candidata.
Ejemplo:
Ahora procederemos a aplicar la segunda formal normal al ejemplo, es decir, tenemos que eliminar cualquier columna
no clave, que no dependa de la clave primaria de la tabla.
Los pasos a seguir son:
 Determinar cuáles columnas que no son clave, no dependen de la clave 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.
La tabla ORDENES está en 2FN. Cualquier valor único de ID_ORDEN determina un sólo valor para cada columna. Por
lo tanto, todas las columnas son dependientes de la llave primaria ID_ORDEN.
Por su parte, la tabla ARTICULOS_ORDENES no se encuentra en 2FN ya que las columnas PRECIO y NOM_ART son
dependientes de ID_ART, pero no son dependientes de ID_ORDEN. Lo que haremos a continuación es eliminar estas
columnas de la tabla ARTICULOS_ORDENES y crear una tabla ARTICULOS con dichas columnas y la llave primaria
de la que dependen.
Las tablas quedan ahora de la siguiente manera.
articulos_ordenes (Id_orden, Id_Art, Cant)
artículos ( Id_Art, Nom_art, Precio)
articulos_ordenes artículos
Id_orden Id_Art Cant
2301 3786 3
2301 4011 6
2301 9132 8
2302 5794 4
2303 4011 2
2303 3141 2
Id_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
1.3 TERCERA FORMA NORMA (3FN)
Una relación está en tercera forma normal si y sólo si está en 2FN y además cada atributo del esquema de
relación que no está en la clave primaria sólo depende funcionalmente de la clave primaria, y no de ningún
otro atributo
Ejemplo:
La tercera forma normal nos dice que tenemos que eliminar cualquier columna no clave que sea dependiente de otra
columna no clave.
Los pasos a seguir son:
 Determinar las columnas que son dependientes de otra columna no clave.
 Eliminar esas columnas de la tabla base.
 Crear una segunda tabla con esas columnas y con la columna no clave de la cual son dependientes.
Ejercicios Normalización del esquema relacional
Al observar las tablas, nos damos cuenta que tanto la tabla ARTICULOS, como la tabla ARTICULOS_ORDENES se
encuentran en 3FN. Sin embargo la tabla ORDENES no lo está, ya que NOM_CLIENTE y CIUDAD son dependientes de
ID_CLIENTE, y esta columna no es la llave primaria.
Para normalizar esta tabla, moveremos las columnas no clave y la columna clave de la cual dependen dentro de una
nueva tabla CLIENTES.
Las nuevas tablas CLIENTES y ORDENES se muestran a continuación.
ordenes (Id_orden, Fecha, Id_cliente)
clientes (Id_cliente, Nom_cliente, Ciudad)
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 Ciudad
101 Martin Riobamba
107 Herman Ambato
110 Pedro Quito
Por lo tanto la base de datos queda de la siguiente manera:
Ordenes (Id_orden, Fecha, Id_cliente)
Clientes (Id_cliente, Nom_cliente, Ciudad)
Articulos ( Id_Art, Nom_art, Precio)
Articulos_ordenes (Id_orden, Id_Art, Cant)
Ejercicios Normalización del esquema relacional
2. EJEMPLO 2
La empresa EcuadorSYSTEMS lo ha contratado para sistematizar la facturación, usted debe analizar toda la
información disponible de la factura y aplicar el proceso de normalización.
Factura (NUM_FAC, FECHA, NOM_CLIENTE, DIR_CLIENTE, CEDULA_CLIENTE, CIUDAD_CLIENTE, TELEF_CLIENTE,
CATEGORIA_PROD, COD_PROD, DESP_PROD, VAL_UNIT, CANT_PROD, PRECIO)
2.1 PRIMERA FORMA NORMAL (1FN)
La 1FN prohíbe los grupos repetidos, por lo tanto tenemos que convertir a la primera forma normal.
Dividimos la lista de datos del diccionario de datos en dos grupos: uno por aquellos datos que no se repiten y otro por
aquellos datos repetitivos
No se Repiten
Se Repiten
Ejercicios Normalización del esquema relacional
Al examinar estos registros, podemos darnos cuenta que contienen un grupo repetidos CATEGORIA_PROD, COD_PROD,
DESP_PROD, VAL_UNIT y CANT_PROD, PRECIO . 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 (clave) de la tabla base y el grupo repetido.
Los registros quedan ahora conformados en dos tablas que llamaremos FACTURA y DETALLE_FACTURA
Factura (NUM_FAC, FECHA, NOM_CLIENTE, DIR_CLIENTE, CEDULA_CLIENTE, CIUDAD_CLIENTE, TELEF_CLIENTE)
Detalle_Factura (NUM_FAC, CATEGORIA_PROD, COD_PROD, DESP_PROD, VAL_UNIT, CANT_PROD, PRECIO)
2.2 SEGUNDA FORMA NORMA (2FN)
Ahora procederemos a aplicar la segunda formal normal al ejemplo, es decir, tenemos que eliminar cualquier columna
no clave, que no dependa de la clave primaria de la tabla.
Los pasos a seguir son:
 Determinar cuáles columnas que no son clave, no dependen de la clave 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.
La tabla FACTURA está en 2FN, cualquier valor único de NUM_FAC determina un sólo valor para cada columna. Por lo
tanto, todas las columnas son dependientes de la llave primaria NUM_FAC.
Por su parte, la tabla DETALLE_FACTURA no se encuentra en 2FN ya que las columnas CATEGORIA_PROD,
DESP_PROD, VAL_UNIT son dependientes de COD_PROD, pero no son dependientes de NUM_FAC. Lo que
haremos a continuación es eliminar estas columnas de la tabla DETALLE_FACTURA y crear una tabla PRODUCTOS
con dichas columnas y la llave primaria de la que dependen.
Las tablas quedan ahora de la siguiente manera.
Factura (NUM_FAC, FECHA, NOM_CLIENTE, DIR_CLIENTE, CEDULA_CLIENTE, CIUDAD_CLIENTE, TELEF_CLIENTE)
Detalle_Factura (NUM_FAC, COD_PROD, CANT_PROD, PRECIO)
Producto (COD_PROD, CATEGORIA_PROD, DESP_PROD, VAL_UNIT)
2.3 TERCERA FORMA NORMA (3FN)
La tercera forma normal nos dice que tenemos que eliminar cualquier columna no clave que sea dependiente de otra
columna no clave.
Los pasos a seguir son:
 Determinar las columnas que son dependientes de otra columna no clave.
 Eliminar esas columnas de la tabla base.
 Crear una segunda tabla con esas columnas y con la columna no clave de la cual son dependientes.
Al observar las tablas, nos damos cuenta que tanto la tabla DETALLE_FACTURA como la tabla PRODUCTOS se
encuentran en 3FN. Sin embargo la tabla FACTURA no lo está, ya que NOM_CLIENTE, DIR_CLIENTE,
CIUDAD_CLIENTE, TELEF_CLIENTE son dependientes de CEDULA_CLIENTE, y esta columna no es la llave
primaria.
Para normalizar esta tabla, moveremos las columnas no clave y la columna clave de la cual dependen dentro de una
nueva tabla CLIENTES.
Por lo tanto la base de datos queda de la siguiente manera:
Factura (NUM_FAC, FECHA, CEDULA_CLIENTE)
Detalle_Factura (NUM_FAC, COD_PROD, CANT_PROD, PRECIO)
Producto (COD_PROD, CATEGORIA_PROD, DESP_PROD, VAL_UNIT)
Cliente (CEDULA_CLIENTE, NOM_CLIENTE, DIR_CLIENTE, CIUDAD_CLIENTE, TELEF_CLIENTE)
Ejercicios Normalización del esquema relacional
3. EJEMPLO 3
Se tiene una relación del REPORTE_MATRICULA, aplicar las reglas de normalización simplificando hasta la tercera
forma normal.
Reporte_Matricula (Id_alumno, nom_alumno, especialidad, Id_curso, nom_curso, nom_docente, oficina, sección)
4. EJEMPLO 4
Se tiene la relación PRESTAMOS_LIBRO de una biblioteca, aplicar las reglas de normalización simplificando hasta la
tercera forma normal.
Prestamos_libro (cod_libro, titulo, autor, editorial, nom_lector, fecha_dev)
5. EJEMPLO 5
La Clínica SanaSana necesita normalizar los procesos.
Medico (id_med, nom_med, cod_consulta, fecha, diagnostico, receta, id_pac, nombre_pac)
6. EJEMPLO 6
La relación a continuación contiene la información de la utilización de los recursos de la universidad por parte de los
docentes en periodos de tiempo, aplicar las reglas de normalización simplificando hasta la tercera forma normal
Uso (cod__prof, nombre_prof, despacho_prof, recurso, ubicación, fecha_inicio, fecha_fin)
7. EJEMPLO 7
Teniendo las siguientes entidades, aplicar las reglas de normalización hasta la tercera forma normal,
Alquiler (cod_alquiler, num_membresia, cod_cliente, nom_cliente, dir_cliente, telef_cliente, cod_cassette,
fecha_alquiler, fecha_dev, valor_alquiler)
Cassettte (cod_cassette, num_copias, formato_cassette, cod_pelicula, titulo, categoría, cod_actor, nom_actor,
fechanac_actor, cod_tipo)
Dónde: cod_alquiler = codigo del alquiler
num_membresia = Numero de membresia
cod_cliente = código del cliente
nom_cliente = nombre del cliente
dir_cliente = dirección del cliente
telef_cliente = teléfono del cliente
cod_cassette = código del cassette
fecha_alquiler = fecha del alquiler del al película
fecha_dev = fecha de devolución de la pelicula
valor_alquiler = valor del alquiler de la película
num_copias = números de copias de cassette
formato_cassette = formato del cassette
cod_pelicula = codigo de la pelicula
titulo = nombre de la película
categoría = categoría de la película
cod_actor = código del actor
nom_actor = nombre del actor
fechanac_actor = fecha de nacimiento del actor
cod_tipo = código del tipo de película.

Más contenido relacionado

La actualidad más candente

Normalizacion de bases de datos
Normalizacion de bases de datosNormalizacion de bases de datos
Normalizacion de bases de datosCaro_Noirgean
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de DatosVictor Chavez
 
Análisis de llamadas telefónicas con Teoría de Grafos y R
Análisis de llamadas telefónicas con Teoría de Grafos y RAnálisis de llamadas telefónicas con Teoría de Grafos y R
Análisis de llamadas telefónicas con Teoría de Grafos y RRafael Nogueras
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamientodeff000001
 
Ordenamiento burbuja
Ordenamiento burbujaOrdenamiento burbuja
Ordenamiento burbujaOscar Mora
 
Forma normal de boyce codd y algoritmos de descomposición
Forma normal de boyce codd y algoritmos de descomposiciónForma normal de boyce codd y algoritmos de descomposición
Forma normal de boyce codd y algoritmos de descomposiciónJuan Anaya
 
Esquema de fragmentacion
Esquema de fragmentacionEsquema de fragmentacion
Esquema de fragmentacionDanyel Yanez
 
5. ejercicios normalización
5. ejercicios normalización5. ejercicios normalización
5. ejercicios normalizaciónYoly QC
 
Clase 3 Sistemas Operativos Administración de procesos
Clase 3 Sistemas Operativos Administración de procesos Clase 3 Sistemas Operativos Administración de procesos
Clase 3 Sistemas Operativos Administración de procesos Gabriel Loría Solís
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Juan Astudillo
 
Ejemplo de Normalización
Ejemplo de Normalización Ejemplo de Normalización
Ejemplo de Normalización Martha
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacionlongojose
 
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Sergio Sanchez
 
Insertar elementos en una cola
Insertar elementos en una colaInsertar elementos en una cola
Insertar elementos en una colajeffersoncenteno
 
Normalizacion de base de datos
Normalizacion de base de datosNormalizacion de base de datos
Normalizacion de base de datosYarquiri Claudio
 

La actualidad más candente (20)

Normalizacion de bases de datos
Normalizacion de bases de datosNormalizacion de bases de datos
Normalizacion de bases de datos
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de Datos
 
Análisis de llamadas telefónicas con Teoría de Grafos y R
Análisis de llamadas telefónicas con Teoría de Grafos y RAnálisis de llamadas telefónicas con Teoría de Grafos y R
Análisis de llamadas telefónicas con Teoría de Grafos y R
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamiento
 
Ordenamiento burbuja
Ordenamiento burbujaOrdenamiento burbuja
Ordenamiento burbuja
 
Forma normal de boyce codd y algoritmos de descomposición
Forma normal de boyce codd y algoritmos de descomposiciónForma normal de boyce codd y algoritmos de descomposición
Forma normal de boyce codd y algoritmos de descomposición
 
Normalizacion
NormalizacionNormalizacion
Normalizacion
 
Guia normalización
Guia normalizaciónGuia normalización
Guia normalización
 
Esquema de fragmentacion
Esquema de fragmentacionEsquema de fragmentacion
Esquema de fragmentacion
 
Algoritmos de Ordenamiento externo
Algoritmos de Ordenamiento externoAlgoritmos de Ordenamiento externo
Algoritmos de Ordenamiento externo
 
Listas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de DatosListas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de Datos
 
5. ejercicios normalización
5. ejercicios normalización5. ejercicios normalización
5. ejercicios normalización
 
Clase 3 Sistemas Operativos Administración de procesos
Clase 3 Sistemas Operativos Administración de procesos Clase 3 Sistemas Operativos Administración de procesos
Clase 3 Sistemas Operativos Administración de procesos
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)
 
Ejemplo de Normalización
Ejemplo de Normalización Ejemplo de Normalización
Ejemplo de Normalización
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacion
 
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
 
Insertar elementos en una cola
Insertar elementos en una colaInsertar elementos en una cola
Insertar elementos en una cola
 
Normalizacion de base de datos
Normalizacion de base de datosNormalizacion de base de datos
Normalizacion de base de datos
 
Listas doblemente enlazadas
Listas doblemente enlazadasListas doblemente enlazadas
Listas doblemente enlazadas
 

Destacado

Destacado (20)

Presentación amig@s
Presentación amig@sPresentación amig@s
Presentación amig@s
 
Cine na aula
Cine na aulaCine na aula
Cine na aula
 
Youtube herramientas
Youtube herramientasYoutube herramientas
Youtube herramientas
 
45 redentor onipotente
45   redentor onipotente45   redentor onipotente
45 redentor onipotente
 
Joaquín arteaga
Joaquín arteagaJoaquín arteaga
Joaquín arteaga
 
Adobe
AdobeAdobe
Adobe
 
Se armó el belén
Se armó el belénSe armó el belén
Se armó el belén
 
Condic.primaria narración 2 ñope santos isabel reinaldo Diplomado
Condic.primaria narración 2 ñope santos isabel reinaldo  DiplomadoCondic.primaria narración 2 ñope santos isabel reinaldo  Diplomado
Condic.primaria narración 2 ñope santos isabel reinaldo Diplomado
 
Douglas E Campbell Portfolio new edition
Douglas E Campbell Portfolio new editionDouglas E Campbell Portfolio new edition
Douglas E Campbell Portfolio new edition
 
Parcial segundo
Parcial segundoParcial segundo
Parcial segundo
 
Grupo D
Grupo DGrupo D
Grupo D
 
CHESPIRITO
CHESPIRITOCHESPIRITO
CHESPIRITO
 
BULLYNG
BULLYNGBULLYNG
BULLYNG
 
CONSUMO LIQUIDO
CONSUMO LIQUIDOCONSUMO LIQUIDO
CONSUMO LIQUIDO
 
1mayo
1mayo1mayo
1mayo
 
Teorica didactica
Teorica didacticaTeorica didactica
Teorica didactica
 
NMA National Management Association
NMA National Management AssociationNMA National Management Association
NMA National Management Association
 
Maquina virtual
Maquina virtualMaquina virtual
Maquina virtual
 
Noção de políticas publica
Noção de políticas publicaNoção de políticas publica
Noção de políticas publica
 
Maria Estela
Maria EstelaMaria Estela
Maria Estela
 

Similar a 5. ejercicios normalización

Similar a 5. ejercicios normalización (20)

Clase03 -ppt__228__0
Clase03  -ppt__228__0Clase03  -ppt__228__0
Clase03 -ppt__228__0
 
Normalizacion de base de datos
Normalizacion de base de datosNormalizacion de base de datos
Normalizacion de base de datos
 
Int_Bases_Datos_III (1).pdf
Int_Bases_Datos_III (1).pdfInt_Bases_Datos_III (1).pdf
Int_Bases_Datos_III (1).pdf
 
Int_Bases_Datos_III (1).pdf
Int_Bases_Datos_III (1).pdfInt_Bases_Datos_III (1).pdf
Int_Bases_Datos_III (1).pdf
 
4 formas normales informe
4 formas normales informe4 formas normales informe
4 formas normales informe
 
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
 
03. BASE DE DATOS 2.pptx
03. BASE DE DATOS 2.pptx03. BASE DE DATOS 2.pptx
03. BASE DE DATOS 2.pptx
 
Normalizacion
NormalizacionNormalizacion
Normalizacion
 
Normalizacion
NormalizacionNormalizacion
Normalizacion
 
Normalizacion de base de datos
Normalizacion de base de datosNormalizacion de base de datos
Normalizacion de base de datos
 
Normalizacion de Base de Datos
Normalizacion de Base de DatosNormalizacion de Base de Datos
Normalizacion de Base de Datos
 
Normalizacion
NormalizacionNormalizacion
Normalizacion
 
Normalizacion
NormalizacionNormalizacion
Normalizacion
 
Normalizacion
NormalizacionNormalizacion
Normalizacion
 
Unidad 2.2 - Normalizacion.pptx
Unidad 2.2 - Normalizacion.pptxUnidad 2.2 - Normalizacion.pptx
Unidad 2.2 - Normalizacion.pptx
 
Taller Access #2
Taller Access #2Taller Access #2
Taller Access #2
 
Normalizacion base de datos
Normalizacion base de datosNormalizacion base de datos
Normalizacion base de datos
 
formas normales.docx
formas normales.docxformas normales.docx
formas normales.docx
 
Normalizaciondebasesdedato
NormalizaciondebasesdedatoNormalizaciondebasesdedato
Normalizaciondebasesdedato
 
normalizacion de la base de datos elizabeth andrea.ppt
normalizacion de la base de datos elizabeth andrea.pptnormalizacion de la base de datos elizabeth andrea.ppt
normalizacion de la base de datos elizabeth andrea.ppt
 

Más de jhonny tenesaca

Más de jhonny tenesaca (15)

Dominioycodominio
DominioycodominioDominioycodominio
Dominioycodominio
 
Evaluacion
EvaluacionEvaluacion
Evaluacion
 
Acta de compromiso
Acta de compromisoActa de compromiso
Acta de compromiso
 
Acuerdos y compromisos
Acuerdos y compromisosAcuerdos y compromisos
Acuerdos y compromisos
 
Acta de compromiso
Acta de compromisoActa de compromiso
Acta de compromiso
 
Acta de compromiso
Acta de compromisoActa de compromiso
Acta de compromiso
 
Acuerdos y compromisos
Acuerdos y compromisosAcuerdos y compromisos
Acuerdos y compromisos
 
Data warehouse
Data warehouseData warehouse
Data warehouse
 
7. sgbd sistema gestor de bases de datos
7. sgbd   sistema gestor de bases de datos7. sgbd   sistema gestor de bases de datos
7. sgbd sistema gestor de bases de datos
 
Ejercicios sql access
Ejercicios sql accessEjercicios sql access
Ejercicios sql access
 
Bases de datos access
Bases de datos accessBases de datos access
Bases de datos access
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
 
4. normalización
4. normalización4. normalización
4. normalización
 
3 diseño de-bd
3 diseño de-bd3 diseño de-bd
3 diseño de-bd
 
Evaluacion Educativa
Evaluacion EducativaEvaluacion Educativa
Evaluacion Educativa
 

5. ejercicios normalización

  • 2. Ejercicios Normalización del esquema relacional EJERCICIOS NORMALIZACIÓN 1. EJEMPLO 1 Vamos a considerar los datos de la siguiente tabla. ordenes (Id_Orden, Fecha, Id_Cliente, Nom_Cliente, Ciudad, Id_art, Nom_art, Cant, Precio) Ordenes Id_orden Fecha Id_cliente Nom_cliente Ciudad Id_art Nom_art Cant Precio 2301 23/02/11 101 Martin Riobamba 3786 Red 3 35,00 2301 23/02/11 101 Martin Riobamba 4011 Raqueta 6 65,00 2301 23/02/11 101 Martin Riobamba 9132 Paq-3 8 4,75 2302 25/02/11 107 Herman Ambato 5794 Paq-6 4 5,00 2303 27/02/11 110 Pedro Quito 4011 Raqueta 2 65,00 2303 27/02/11 110 Pedro Quito 3141 Funda 2 10,00 1.1 PRIMERA FORMA NORMAL (1FN)  Una relación está en primera forma normal si todos los dominios contienen sólo valores atómicos.  Un dominio es atómico si se considera que los elementos del dominio son unidades indivisibles  La regla de la 1FN establece que las columnas repetidas deben eliminarse y colocarse en tablas separadas. Ejemplo: Al examinar estos registros, podemos darnos cuenta que contienen un grupo repetidos ID_ART, NOM_ART, CANT y PRECIO. 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 (clave) de la tabla base y el grupo repetido. Los registros quedan ahora conformados en dos tablas que llamaremos ORDENES y ARTICULOS_ORDENES ordenes (Id_orden, Fecha, Id_cliente, Nom_cliente, Ciudad) articulos_ordenes (Id_orden, Id_Art, Nom_art, Cant, Precio) ordenes Id_orden Fecha Id_cliente Nom_cliente Ciudad 2301 23/02/11 101 Martin Riobamba 2302 25/02/11 107 Herman Ambato 2303 27/02/11 110 Pedro Quito articulos_ordenes Id_orden Id_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
  • 3. Ejercicios Normalización del esquema relacional 1.2 SEGUNDA FORMA NORMA (2FN) Una relación está en segunda forma normal si y sólo si está en 1FN y todos los atributos no clave dependen por completo de cualquier clave candidata. Ejemplo: Ahora procederemos a aplicar la segunda formal normal al ejemplo, es decir, tenemos que eliminar cualquier columna no clave, que no dependa de la clave primaria de la tabla. Los pasos a seguir son:  Determinar cuáles columnas que no son clave, no dependen de la clave 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. La tabla ORDENES está en 2FN. Cualquier valor único de ID_ORDEN determina un sólo valor para cada columna. Por lo tanto, todas las columnas son dependientes de la llave primaria ID_ORDEN. Por su parte, la tabla ARTICULOS_ORDENES no se encuentra en 2FN ya que las columnas PRECIO y NOM_ART son dependientes de ID_ART, pero no son dependientes de ID_ORDEN. Lo que haremos a continuación es eliminar estas columnas de la tabla ARTICULOS_ORDENES y crear una tabla ARTICULOS con dichas columnas y la llave primaria de la que dependen. Las tablas quedan ahora de la siguiente manera. articulos_ordenes (Id_orden, Id_Art, Cant) artículos ( Id_Art, Nom_art, Precio) articulos_ordenes artículos Id_orden Id_Art Cant 2301 3786 3 2301 4011 6 2301 9132 8 2302 5794 4 2303 4011 2 2303 3141 2 Id_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 1.3 TERCERA FORMA NORMA (3FN) Una relación está en tercera forma normal si y sólo si está en 2FN y además cada atributo del esquema de relación que no está en la clave primaria sólo depende funcionalmente de la clave primaria, y no de ningún otro atributo Ejemplo: La tercera forma normal nos dice que tenemos que eliminar cualquier columna no clave que sea dependiente de otra columna no clave. Los pasos a seguir son:  Determinar las columnas que son dependientes de otra columna no clave.  Eliminar esas columnas de la tabla base.  Crear una segunda tabla con esas columnas y con la columna no clave de la cual son dependientes.
  • 4. Ejercicios Normalización del esquema relacional Al observar las tablas, nos damos cuenta que tanto la tabla ARTICULOS, como la tabla ARTICULOS_ORDENES se encuentran en 3FN. Sin embargo la tabla ORDENES no lo está, ya que NOM_CLIENTE y CIUDAD son dependientes de ID_CLIENTE, y esta columna no es la llave primaria. Para normalizar esta tabla, moveremos las columnas no clave y la columna clave de la cual dependen dentro de una nueva tabla CLIENTES. Las nuevas tablas CLIENTES y ORDENES se muestran a continuación. ordenes (Id_orden, Fecha, Id_cliente) clientes (Id_cliente, Nom_cliente, Ciudad) 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 Ciudad 101 Martin Riobamba 107 Herman Ambato 110 Pedro Quito Por lo tanto la base de datos queda de la siguiente manera: Ordenes (Id_orden, Fecha, Id_cliente) Clientes (Id_cliente, Nom_cliente, Ciudad) Articulos ( Id_Art, Nom_art, Precio) Articulos_ordenes (Id_orden, Id_Art, Cant)
  • 5. Ejercicios Normalización del esquema relacional 2. EJEMPLO 2 La empresa EcuadorSYSTEMS lo ha contratado para sistematizar la facturación, usted debe analizar toda la información disponible de la factura y aplicar el proceso de normalización. Factura (NUM_FAC, FECHA, NOM_CLIENTE, DIR_CLIENTE, CEDULA_CLIENTE, CIUDAD_CLIENTE, TELEF_CLIENTE, CATEGORIA_PROD, COD_PROD, DESP_PROD, VAL_UNIT, CANT_PROD, PRECIO) 2.1 PRIMERA FORMA NORMAL (1FN) La 1FN prohíbe los grupos repetidos, por lo tanto tenemos que convertir a la primera forma normal. Dividimos la lista de datos del diccionario de datos en dos grupos: uno por aquellos datos que no se repiten y otro por aquellos datos repetitivos No se Repiten Se Repiten
  • 6. Ejercicios Normalización del esquema relacional Al examinar estos registros, podemos darnos cuenta que contienen un grupo repetidos CATEGORIA_PROD, COD_PROD, DESP_PROD, VAL_UNIT y CANT_PROD, PRECIO . 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 (clave) de la tabla base y el grupo repetido. Los registros quedan ahora conformados en dos tablas que llamaremos FACTURA y DETALLE_FACTURA Factura (NUM_FAC, FECHA, NOM_CLIENTE, DIR_CLIENTE, CEDULA_CLIENTE, CIUDAD_CLIENTE, TELEF_CLIENTE) Detalle_Factura (NUM_FAC, CATEGORIA_PROD, COD_PROD, DESP_PROD, VAL_UNIT, CANT_PROD, PRECIO) 2.2 SEGUNDA FORMA NORMA (2FN) Ahora procederemos a aplicar la segunda formal normal al ejemplo, es decir, tenemos que eliminar cualquier columna no clave, que no dependa de la clave primaria de la tabla. Los pasos a seguir son:  Determinar cuáles columnas que no son clave, no dependen de la clave 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. La tabla FACTURA está en 2FN, cualquier valor único de NUM_FAC determina un sólo valor para cada columna. Por lo tanto, todas las columnas son dependientes de la llave primaria NUM_FAC. Por su parte, la tabla DETALLE_FACTURA no se encuentra en 2FN ya que las columnas CATEGORIA_PROD, DESP_PROD, VAL_UNIT son dependientes de COD_PROD, pero no son dependientes de NUM_FAC. Lo que haremos a continuación es eliminar estas columnas de la tabla DETALLE_FACTURA y crear una tabla PRODUCTOS con dichas columnas y la llave primaria de la que dependen. Las tablas quedan ahora de la siguiente manera. Factura (NUM_FAC, FECHA, NOM_CLIENTE, DIR_CLIENTE, CEDULA_CLIENTE, CIUDAD_CLIENTE, TELEF_CLIENTE) Detalle_Factura (NUM_FAC, COD_PROD, CANT_PROD, PRECIO) Producto (COD_PROD, CATEGORIA_PROD, DESP_PROD, VAL_UNIT) 2.3 TERCERA FORMA NORMA (3FN) La tercera forma normal nos dice que tenemos que eliminar cualquier columna no clave que sea dependiente de otra columna no clave. Los pasos a seguir son:  Determinar las columnas que son dependientes de otra columna no clave.  Eliminar esas columnas de la tabla base.  Crear una segunda tabla con esas columnas y con la columna no clave de la cual son dependientes. Al observar las tablas, nos damos cuenta que tanto la tabla DETALLE_FACTURA como la tabla PRODUCTOS se encuentran en 3FN. Sin embargo la tabla FACTURA no lo está, ya que NOM_CLIENTE, DIR_CLIENTE, CIUDAD_CLIENTE, TELEF_CLIENTE son dependientes de CEDULA_CLIENTE, y esta columna no es la llave primaria. Para normalizar esta tabla, moveremos las columnas no clave y la columna clave de la cual dependen dentro de una nueva tabla CLIENTES. Por lo tanto la base de datos queda de la siguiente manera: Factura (NUM_FAC, FECHA, CEDULA_CLIENTE) Detalle_Factura (NUM_FAC, COD_PROD, CANT_PROD, PRECIO) Producto (COD_PROD, CATEGORIA_PROD, DESP_PROD, VAL_UNIT) Cliente (CEDULA_CLIENTE, NOM_CLIENTE, DIR_CLIENTE, CIUDAD_CLIENTE, TELEF_CLIENTE)
  • 7. Ejercicios Normalización del esquema relacional 3. EJEMPLO 3 Se tiene una relación del REPORTE_MATRICULA, aplicar las reglas de normalización simplificando hasta la tercera forma normal. Reporte_Matricula (Id_alumno, nom_alumno, especialidad, Id_curso, nom_curso, nom_docente, oficina, sección) 4. EJEMPLO 4 Se tiene la relación PRESTAMOS_LIBRO de una biblioteca, aplicar las reglas de normalización simplificando hasta la tercera forma normal. Prestamos_libro (cod_libro, titulo, autor, editorial, nom_lector, fecha_dev) 5. EJEMPLO 5 La Clínica SanaSana necesita normalizar los procesos. Medico (id_med, nom_med, cod_consulta, fecha, diagnostico, receta, id_pac, nombre_pac) 6. EJEMPLO 6 La relación a continuación contiene la información de la utilización de los recursos de la universidad por parte de los docentes en periodos de tiempo, aplicar las reglas de normalización simplificando hasta la tercera forma normal Uso (cod__prof, nombre_prof, despacho_prof, recurso, ubicación, fecha_inicio, fecha_fin) 7. EJEMPLO 7 Teniendo las siguientes entidades, aplicar las reglas de normalización hasta la tercera forma normal, Alquiler (cod_alquiler, num_membresia, cod_cliente, nom_cliente, dir_cliente, telef_cliente, cod_cassette, fecha_alquiler, fecha_dev, valor_alquiler) Cassettte (cod_cassette, num_copias, formato_cassette, cod_pelicula, titulo, categoría, cod_actor, nom_actor, fechanac_actor, cod_tipo) Dónde: cod_alquiler = codigo del alquiler num_membresia = Numero de membresia cod_cliente = código del cliente nom_cliente = nombre del cliente dir_cliente = dirección del cliente telef_cliente = teléfono del cliente cod_cassette = código del cassette fecha_alquiler = fecha del alquiler del al película fecha_dev = fecha de devolución de la pelicula valor_alquiler = valor del alquiler de la película num_copias = números de copias de cassette formato_cassette = formato del cassette cod_pelicula = codigo de la pelicula titulo = nombre de la película categoría = categoría de la película cod_actor = código del actor nom_actor = nombre del actor fechanac_actor = fecha de nacimiento del actor cod_tipo = código del tipo de película.