You are on page 1of 7

Ejercicios

Normalización
del esquema
relacional

Ejemplo: Al examinar estos registros. Ciudad. Tenemos que crear una nueva tabla con la PK (clave) de la tabla base y el grupo repetido. ordenes (Id_Orden.Ejercicios Normalización del esquema relacional EJERCICIOS NORMALIZACIÓN 1.1 Fecha 23/02/11 23/02/11 23/02/11 25/02/11 27/02/11 27/02/11 Id_cliente 101 101 101 107 110 110 Nom_cliente Martin Martin Martin Herman Pedro Pedro Ciudad Riobamba Riobamba Riobamba Ambato Quito Quito Id_art 3786 4011 9132 5794 4011 3141 Nom_art Red Raqueta Paq-3 Paq-6 Raqueta Funda Cant 3 6 8 4 2 2 Precio 35. Precio) Ordenes Id_orden 2301 2301 2301 2302 2303 2303 1. por lo tanto tenemos que convertir a la primera forma normal. Id_art. Ciudad) articulos_ordenes (Id_orden. NOM_ART. Id_Cliente. Nom_art. Nom_cliente.75 5. CANT y PRECIO.00 10. podemos darnos cuenta que contienen un grupo repetidos ID_ART. Nom_art.00 65. Nom_Cliente. Fecha. Precio) ordenes Id_orden 2301 2302 2303 Fecha 23/02/11 25/02/11 27/02/11 Id_cliente 101 107 110 Id_Art 3786 4011 9132 5794 4011 3141 Nom_art Red Raqueta Paq-3 Paq-6 Raqueta Funda Nom_cliente Martin Herman Pedro Ciudad Riobamba Ambato Quito articulos_ordenes Id_orden 2301 2301 2301 2302 2303 2303 Cant 3 6 8 4 2 2 Precio 35.00 65.00 4.00 . EJEMPLO 1 Vamos a considerar los datos de la siguiente tabla. Fecha.00 PRIMERA FORMA NORMAL (1FN)    Una relación está en primera forma normal si todos los dominios contienen sólo valores atómicos.00 4. Id_cliente. La 1FN prohíbe los grupos repetidos. Los pasos a seguir son:   Tenemos que eliminar los grupos repetidos.75 5. Id_Art. Los registros quedan ahora conformados en dos tablas que llamaremos ORDENES y ARTICULOS_ORDENES ordenes (Id_orden. Cant.00 65. Cant. 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.00 65.00 10.

no dependen de la clave primaria de la tabla.00 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. Crear una segunda tabla con esas columnas y la(s) columna(s) de la PK de la cual dependen. tenemos que eliminar cualquier columna no clave. Cualquier valor único de ID_ORDEN determina un sólo valor para cada columna.75 5. 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.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. que no dependa de la clave primaria de la tabla. Eliminar esas columnas de la tabla base. Las tablas quedan ahora de la siguiente manera. Id_Art. articulos_ordenes (Id_orden. pero no son dependientes de ID_ORDEN. Por su parte. Precio) articulos_ordenes Id_orden 2301 2301 2301 2302 2303 2303 1.3 artículos Id_Art 3786 4011 9132 5794 4011 3141 Cant 3 6 8 4 2 2 Id_Art 3786 4011 9132 5794 3141 Nom_art Red Raqueta Paq-3 Paq-6 Funda Precio 35.Ejercicios Normalización del esquema relacional 1. es decir.00 10. Los pasos a seguir son:    Determinar las columnas que son dependientes de otra columna no clave. . 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. Ejemplo: Ahora procederemos a aplicar la segunda formal normal al ejemplo. Eliminar esas columnas de la tabla base. la tabla ARTICULOS_ORDENES no se encuentra en 2FN ya que las columnas PRECIO y NOM_ART son dependientes de ID_ART. todas las columnas son dependientes de la llave primaria ID_ORDEN.00 4. Por lo tanto.00 65. Crear una segunda tabla con esas columnas y con la columna no clave de la cual son dependientes. Los pasos a seguir son:    Determinar cuáles columnas que no son clave. Cant) artículos ( Id_Art. La tabla ORDENES está en 2FN. Nom_art.

nos damos cuenta que tanto la tabla ARTICULOS.Ejercicios Normalización del esquema relacional Al observar las tablas. Para normalizar esta tabla. Las nuevas tablas CLIENTES y ORDENES se muestran a continuación. Sin embargo la tabla ORDENES no lo está. Nom_cliente. Id_cliente) clientes (Id_cliente. ordenes (Id_orden. moveremos las columnas no clave y la columna clave de la cual dependen dentro de una nueva tabla CLIENTES. como la tabla ARTICULOS_ORDENES se encuentran en 3FN. Id_cliente) Clientes (Id_cliente. Id_Art. ya que NOM_CLIENTE y CIUDAD son dependientes de ID_CLIENTE. y esta columna no es la llave primaria. Precio) Articulos_ordenes (Id_orden. Cant) . Ciudad) Articulos ( Id_Art. Ciudad) ordenes Id_orden 2301 2302 2303 Fecha 23/02/11 25/02/11 27/02/11 Id_cliente 101 107 110 clientes Id_cliente 101 107 110 Nom_cliente Martin Herman Pedro Ciudad Riobamba Ambato Quito Por lo tanto la base de datos queda de la siguiente manera: Ordenes (Id_orden. Nom_cliente. Fecha. Nom_art. Fecha.

VAL_UNIT. TELEF_CLIENTE. COD_PROD. por lo tanto tenemos que convertir a la primera forma normal. DIR_CLIENTE. 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 . CEDULA_CLIENTE. EJEMPLO 2 La empresa EcuadorSYSTEMS lo ha contratado para sistematizar la facturación.1 PRIMERA FORMA NORMAL (1FN) La 1FN prohíbe los grupos repetidos. PRECIO) 2.Ejercicios Normalización del esquema relacional 2. CANT_PROD. Factura (NUM_FAC. usted debe analizar toda la información disponible de la factura y aplicar el proceso de normalización. FECHA. CIUDAD_CLIENTE. DESP_PROD. NOM_CLIENTE. CATEGORIA_PROD.

2 SEGUNDA FORMA NORMA (2FN) Ahora procederemos a aplicar la segunda formal normal al ejemplo. Por su parte. DIR_CLIENTE. Los pasos a seguir son:   Tenemos que eliminar los grupos repetidos.Ejercicios Normalización del esquema relacional Al examinar estos registros. CANT_PROD. VAL_UNIT. Crear una segunda tabla con esas columnas y con la columna no clave de la cual son dependientes. DIR_CLIENTE. Eliminar esas columnas de la tabla base. NOM_CLIENTE. PRECIO) 2. VAL_UNIT son dependientes de COD_PROD. PRECIO) Producto (COD_PROD. CIUDAD_CLIENTE. La 1FN prohíbe los grupos repetidos. ya que NOM_CLIENTE. Al observar las tablas. cualquier valor único de NUM_FAC determina un sólo valor para cada columna. no dependen de la clave primaria de la tabla. CEDULA_CLIENTE. FECHA. que no dependa de la clave primaria de la tabla. Las tablas quedan ahora de la siguiente manera. PRECIO) Producto (COD_PROD. DESP_PROD. FECHA. y esta columna no es la llave primaria. FECHA. Para normalizar esta tabla. Los pasos a seguir son:    Determinar las columnas que son dependientes de otra columna no clave. 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. Eliminar esas columnas de la tabla base. COD_PROD. CATEGORIA_PROD. CANT_PROD. VAL_UNIT y CANT_PROD. CATEGORIA_PROD. DIR_CLIENTE. CATEGORIA_PROD. Crear una segunda tabla con esas columnas y la(s) columna(s) de la PK de la cual dependen. TELEF_CLIENTE) . COD_PROD. Sin embargo la tabla FACTURA no lo está.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 registros quedan ahora conformados en dos tablas que llamaremos FACTURA y DETALLE_FACTURA Factura (NUM_FAC. TELEF_CLIENTE) Detalle_Factura (NUM_FAC. por lo tanto tenemos que convertir a la primera forma normal. CEDULA_CLIENTE) Detalle_Factura (NUM_FAC. Factura (NUM_FAC. NOM_CLIENTE. moveremos las columnas no clave y la columna clave de la cual dependen dentro de una nueva tabla CLIENTES. Por lo tanto. TELEF_CLIENTE son dependientes de CEDULA_CLIENTE. VAL_UNIT) Cliente (CEDULA_CLIENTE. la tabla DETALLE_FACTURA no se encuentra en 2FN ya que las columnas CATEGORIA_PROD. pero no son dependientes de NUM_FAC. tenemos que eliminar cualquier columna no clave. TELEF_CLIENTE) Detalle_Factura (NUM_FAC. DESP_PROD. CANT_PROD. CIUDAD_CLIENTE. CIUDAD_CLIENTE. todas las columnas son dependientes de la llave primaria NUM_FAC. es decir. VAL_UNIT) 2. NOM_CLIENTE. DIR_CLIENTE. CIUDAD_CLIENTE. DESP_PROD. COD_PROD. CEDULA_CLIENTE. podemos darnos cuenta que contienen un grupo repetidos CATEGORIA_PROD. DESP_PROD. Los pasos a seguir son:    Determinar cuáles columnas que no son clave. Por lo tanto la base de datos queda de la siguiente manera: Factura (NUM_FAC. PRECIO . La tabla FACTURA está en 2FN. Tenemos que crear una nueva tabla con la PK (clave) de la tabla base y el grupo repetido. COD_PROD. nos damos cuenta que tanto la tabla DETALLE_FACTURA como la tabla PRODUCTOS se encuentran en 3FN. DESP_PROD.

titulo. cod_pelicula. fecha_inicio. fecha. EJEMPLO 7 Teniendo las siguientes entidades. cod_consulta. cod_cliente. formato_cassette. fecha_fin) 7. nom_med. editorial. cod_cassette. nom_alumno. id_pac. categoría. nom_curso. telef_cliente. cod_actor. Id_curso. Reporte_Matricula (Id_alumno. Alquiler (cod_alquiler. fecha_dev. receta. dir_cliente. nom_actor. recurso. ubicación. fechanac_actor. nombre_prof. autor. sección) 4. fecha_dev) 5. valor_alquiler) Cassettte (cod_cassette.Ejercicios Normalización del esquema relacional 3. nom_cliente. fecha_alquiler. 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. aplicar las reglas de normalización simplificando hasta la tercera forma normal Uso (cod__prof. EJEMPLO 5 La Clínica SanaSana necesita normalizar los procesos. nom_lector. nombre_pac) 6. aplicar las reglas de normalización simplificando hasta la tercera forma normal. titulo. aplicar las reglas de normalización hasta la tercera forma normal. . despacho_prof. Medico (id_med. oficina. Prestamos_libro (cod_libro. nom_docente. num_membresia. EJEMPLO 4 Se tiene la relación PRESTAMOS_LIBRO de una biblioteca. aplicar las reglas de normalización simplificando hasta la tercera forma normal. 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. especialidad. num_copias. EJEMPLO 3 Se tiene una relación del REPORTE_MATRICULA. diagnostico.