Professional Documents
Culture Documents
En general, las primeras tres formas normales son suficientes para cubrir las necesidades
de la mayoría de las bases de datos. El creador de estas 3 primeras formas normales (o
reglas) fue Edgar F. Codd, éste introdujo la normalización en un artículo llamado A
Relational Model of Data for Large Shared Data Banks Communications of the ACM, Vol.
13, No. 6, June 1970, pp. 377-387.
Primera Forma Normal (1FN)
Una relación está en Primera Forma Normal si y sólo si todos los atributos son atómicos.
Un atributo es atómico si los elementos del dominio son indivisibles, mínimos.
Por ejemplo:
La Relación:
En Otras palabras pudiésemos decir que la segunda forma normal está basada en el
concepto de dependencia completamente funcional. Una dependencia funcional X -> Y es
completamente funcional si al eliminar los atributos A de X significa que la dependencia no
es mantenida, esto es que A Є X, (X – {A}) -x-> Y. Una dependencia funcional X-> Y es una
Pagina 0
dependencia parcial si hay algunos atributos A Є X que pueden ser removidos de X y la
dependencia todavía se mantiene, esto es A Є X, (X – {A}) -> Y . Por ejemplo
{SSN,PNUMBER} -> HOURS es completamente dependencia dado que ni SSN -> HOURS
ni PNUMBER -> HOURS mantienen la dependencia. Sin embargo {SSN,PNUMBER} ->
ENAME es parcialmente dependiente dado que SSN->ENAME mantiene la dependencia
Tercera Forma Normal (3FN)
La tabla se encuentra en 3FN si es 2FN y cada atributo que no forma parte de ninguna
clave, depende directamente y no transitivamente, de la clave primaria.
Un ejemplo de este concepto sería que, una dependencia funcional X->Y en un esquema
de relación R es una dependencia transitiva si hay un conjunto de atributos Z que no es un
subconjunto de alguna clave de R, donde se mantiene X->Z y Z->Y.. Por ejemplo, la
dependencia SSN->DMGRSSN es una dependencia transitiva en EMP_DEPT de la
siguiente figura. Decimos que la dependencia de DMGRSSN el atributo clave SSN es
transitiva via DNUMBER porque las dependencias SSN->DNUMBER y DNUMBER-
>DMGRSSN son mantenidas, y DNUMBER no es un subconjunto de la clave de
EMP_DEPT. Intuitivamente, podemos ver que la dependencia de DMGRSSN sobre
DNUMBER es indeseable en EMP_DEPT dado que DNUMBER no es una clave de
EMP_DEPT.
Forma Normal de Boyce-Codd (FNBC)
La tabla se encuentra en BCNF si cada determinante, atributo que determina
completamente a otro, es clave candidata.
Reglas de Codd
Codd se percató de que existían bases de datos en el mercado las cuales decían ser
relacionales, pero lo único que hacían era guardar la información en las tablas, sin estar
estas tablas literalmente normalizadas; entonces éste publicó 12 reglas que un verdadero
sistema relacional debería tener, en la práctica algunas de ellas son difíciles de realizar. Un
sistema podrá considerarse "más relacional" cuanto más siga estas reglas.
Pagina 1
Regla No. 2 - La regla del acceso garantizado
"Cada ítem de datos debe ser lógicamente accesible al ejecutar una búsqueda que
combine el nombre de la tabla, su clave primaria, y el nombre de la columna".
Esto significa que dado un nombre de tabla, dado el valor de la clave primaria, y
dado el nombre de la columna requerida, deberá encontrarse uno y solamente un
valor. Por esta razón la definición de claves primarias para todas las tablas es
prácticamente obligatoria.
Regla No. 3 - Tratamiento sistemático de los valores nulos
"La información inaplicable o faltante puede ser representada a través de valores
nulos".
Un RDBMS (Sistema Gestor de Bases de Datos Relacionales) debe ser capaz de
soportar el uso de valores nulos en el lugar de columnas cuyos valores sean
desconocidos o inaplicables.
Regla No. 4 - La regla de la descripción de la base de datos
"La descripción de la base de datos es almacenada de la misma manera que los
datos ordinarios, esto es, en tablas y columnas, y debe ser accesible a los usuarios
autorizados".
La información de tablas, vistas, permisos de acceso de usuarios autorizados, etc,
debe ser almacenada exactamente de la misma manera: En tablas. Estas tablas
deben ser accesibles igual que todas las tablas, a través de sentencias de SQL.
Regla No. 5 - La regla del sub-lenguaje Integral
"Debe haber al menos un lenguaje que sea integral para soportar la definición de
datos, manipulación de datos, definición de vistas, restricciones de integridad, y
control de autorizaciones y transacciones".
Esto significa que debe haber por lo menos un lenguaje con una sintaxis bien
definida que pueda ser usado para administrar completamente la base de datos.
Regla No. 6 - La regla de la actualización de vistas
"Todas las vistas que son teóricamente actualizables, deben ser actualizables por el
sistema mismo".
La mayoría de las RDBMS permiten actualizar vistas simples, pero deshabilitan los
intentos de actualizar vistas complejas.
Regla No. 7 - La regla de insertar y actualizar
"La capacidad de manejar una base de datos con operandos simples aplica no solo
para la recuperación o consulta de datos, sino también para la inserción,
actualización y borrado de datos".
Pagina 2
Esto significa que las cláusulas SELECT, UPDATE, DELETE e INSERT deben estar
disponibles y operables sobre los registros, independientemente del tipo de
relaciones y restricciones que haya entre las tablas.
Regla No. 8 - La regla de independencia física
"El acceso de usuarios a la base de datos a través de terminales o programas de
aplicación, debe permanecer consistente lógicamente cuando quiera que haya
cambios en los datos almacenados, o sean cambiados los métodos de acceso a los
datos".
El comportamiento de los programas de aplicación y de la actividad de usuarios vía
terminales debería ser predecible basados en la definición lógica de la base de
datos, y éste comportamiento debería permanecer inalterado, independientemente
de los cambios en la definición física de ésta.
Regla No. 9 - La regla de independencia lógica
"Los programas de aplicación y las actividades de acceso por terminal deben
permanecer lógicamente inalteradas cuando quiera que se hagan cambios (según
los permisos asignados) en las tablas de la base de datos".
La independencia lógica de los datos especifica que los programas de aplicación y
las actividades de terminal deben ser independientes de la estructura lógica, por lo
tanto los cambios en la estructura lógica no deben alterar o modificar estos
programas de aplicación.
Regla No. 10 - La regla de la independencia de la integridad
"Todas las restricciones de integridad deben ser definibles en los datos, y
almacenables en el catalogo, no en el programa de aplicación".
Las reglas de integridad son:
1. Ningún componente de una clave primaria puede tener valores en blanco o nulos.
(esta es la norma básica de integridad).
2. Para cada valor de clave foránea deberá existir un valor de clave primaria
concordante. La combinación de estas reglas aseguran que haya Integridad
referencial.
Regla No. 11 - La regla de la distribución
"El sistema debe poseer un lenguaje de datos que pueda soportar que la base de
datos esté distribuida físicamente en distintos lugares sin que esto afecte o altere a
los programas de aplicación".
El soporte para bases de datos distribuidas significa que una colección arbitraria de
relaciones, bases de datos corriendo en una mezcla de distintas máquinas y distintos
Pagina 3
sistemas operativos y que esté conectada por una variedad de redes, pueda
funcionar como si estuviera disponible como en una única base de datos en una sola
máquina.
Pagina 4
Guía de Ejercicios Prácticos
sobre Normalización
EJERCICIO 1
Dados los siguientes listados , confeccionar las estructuras de datos correspondientes :
Pagina 5
EJERCICIO 2
Dados los siguientes listados , confeccionar las estructuras de datos correspondientes :
Pagina 6
EJERCICIO 3
3.1 – Factura
Pagina 7
EJERCICIO 4
Dados los siguientes documentos, confeccionar las estructuras de datos correspondientes:
1-Listado de ventas
Emitido en $
Código Denom inación Nro. de Tipo de Importe del Fecha del
Jurisdicción
cliente cliente documento documento documento documento
375 Maxicomp S.A 171.643 Factura 18,375.00 10/01/91 1
171.652 Nota de débito 5,276.00 15/01/91 1
171.660 Nota de crédito (1,643.63) 23/01/91 1
456 Midicomp S.A 171.583 Factura 3,658.00 12/01/91 1
Total mes 01 25,665.37
2-Resumen de cuenta
RESUMEN DE CUENTA AL 28/02/92
Cliente: EJERCICO DIFICIL S.A
Domicilio: HUMBERTO PRIMO 1869
(1229) CAP. FED.
Pagina 8
EJERCICIO 5
Dado el siguiente documento, confeccionar la estructura de datos correspondiente :
1-Recibo
Pagina 9
EJERCICIO 6
Dado el siguiente documento, confeccionar la estructura de datos correspondiente :
6.1. -Factura
Pagina 10
EJERCICIO 7
Dados los siguientes listados, confeccionar las estructuras de datos correspondientes :
7.1. -Ventas
MAYORISTAS
LINEA XXX
PROD. A 7.000,00 3.500,00 3.000,00
PROD. B 750,00 - 950,00
PROD. C 200,00 6.990,00 5.000,00
TOTAL LINEA 7.950,00 10.490,00 8.950,00
TOTAL CANAL 7.950,00 10.490,00 8.950,00
VENTA DIRECTA
LINEA YYY
PROD. D 15.000,00 20.000,00 17.000,00
PROD. E 50.000,00 - -
TOTAL LINEA 65.000,00 20.000,00 17.000,00
TOTAL CANAL 65.000,00 20.000,00 17.000,00
Pagina 11
EJERCICIO 8:
8.1.-Listado de detalle de llamadas internacionales por discado directo
Pagina 12
EJERCICIO 9:
Dado el siguiente listado, confeccionar la estructura de datos correspondiente :
EMPRESA ABC
COSTO DE MANO DE OBRA JORNALIZADA
MES DE ENERO 1999
Pagina 13
EJERCICIO 10:
Dado el siguiente listado, confeccionar la estructura de datos correspondiente :
En miles de dólares
**********************DIAS VENCIDA*********************
00-30 31-60 61-90 91-180 >180
0320 Textil Sud S.A
FC.11021 18/12/1998 150,00
ND. 89 10/02/1999 98,00
TOTAL CLIENTE 150,00 98,00
.........................
.........................
.........................
.........................
.........................
.........................
.........................
.........................
.........................
.........................
.........................
.........................
.........................
.........................
.........................
.........................
.........................
.........................
.........................
.........................
.........................
.........................
.........................
.........................
.........................
.........................
.........................
.........................
.........................
.........................
TOTAL COMPAÑIA 3.500,00 2.100,00 3.780,00 1.942,00 362,00
Pagina 14
EJERCICIO 11:
Dado el siguiente listado, confeccionar la estructura de datos correspondiente :
LA SEGUIDORA S.A.C.I.F.I.A
Sistema de administración del personal
DETALLE ANALITICO DE AUSENTISMO DEL:22/07/99
Total inasistencias 13
Porcentual inasistencias 6,99%
Enfermos 6
Accidentados 2
Sin aviso 2
Con aviso 2
Con licencia 1
Suspendidos 0
Total llegadas tarde 10
Porcentual llegadas tarde 5,38%
CORTE
CORTE
Pagina 15
EJERCICIO 12:
Dados los siguientes documentos, confeccionar las estructuras de datos correspondientes:
Pagina 16
EJERCICIO 13:
Dados los siguientes documentos, confeccionar las estructuras de datos correspondientes:
Pagina 17
EJERCICIO 14:
Dado el siguiente documento, confeccionar la estructura de datos correspondiente :
Pagina 18
EJERCICIO 15:
Dado el siguiente documento, confeccionar la estructura de datos correspondiente :
Pagina 19
EJERCICIO 16:
Dado el siguiente listado:
Pagina 20
EJERCICIO 17:
Dadas las siguientes tablas, efectuar los pasos necesarios para que las relaciones queden expresadas en 3FN,
indicando la clave primaria de cada relación.
1-Orden de compra
2-Calificaciones
Pagina 21
EJERCICIO 18
Dadas las siguientes estructuras de datos:
1-Confeccionar el archivo plano correspondiente
2-Definir la clave primaria
3-Realizar los pasos necesarios para que las entidades queden expresadas en 3FN,
. indicando la clave primaria de cada relación.
1-Horas trabajadas
POR EMPLEADO
LEGAJO EMPLEADO
NOMBRE EMPLEADO
SUELDO EMPLEADO
Datos categoría
CODIGO CATEGORIA
TIPO CATEGORIA
Datos del proyecto
* Por proyecto
NUMERO PROYECTO
DENOMINACION PROYECTO
FECHA FINALIZACION PROYECTO
HORAS APLICADAS
2-Legajo personal
LEGAJO PERSONAL
Datos personales
DNI EMPLEADO
NOMBRE EMPLEADO
DOMICILIO EMPLEADO
TELEFONO EMPLEADO
FECHA NACIMIENTO EMPLEADO
SEXO EMPLEADO
Datos incorporación
FECHA INGRESO EMPLEADO
CODIGO CATEGORIA EMPLEADO
TIPO CATEGORIA EMPLEADO
NRO. SECCION
NRO. DEPARTAMENTO
NOMBRE DEPARTAMENTO
Datos familiares
DNI CONYUGE
NOMBRE CONYUGE
DATOS HIJOS ( DNI, NOMBRE, EDAD, SEXO )
Pagina 22
EJERCICIO 19
1-Orden de elaboración
Descomponer la siguiente tabla, expresando su contenido en relaciones normalizadas (3FN ), indicando la CLAVE
PRIMARIA de cada relación.
2- La siguiente es la relación universal que define el contenido lógico de la base de datos del sistema contable de una
organización estructurada en centros de costos . La base a su vez , permite procesar datos para más de una compañía del mismo
grupo (el plan de cuentas es uniforme para toda la organización).
Nro Desc.
Desc Desc. Cod. Desc. Nro Nro. Cod. Desc. Mes Año
Cia Imp. Centro de asiento Scta
.Cia. asiento Cta. Cta. C.C. Scta. contable cont
. costos
075 Arg. Vta ctado 1500 1130 Caja 100 Adm. 001 0002 Mon 03 98
075 Arg. Vta ctado -1500 3010 Vta. 111 Semicond 001 0000 Fab. 03 98
075 Arg. Deposito 1500 1110 Banco 100 Adm. 002 0001 Bco. 03 98
Rio
075 Arg. Deposito -1500 1130 Caja 100 Adm. 002 0002 Mon 03 98
077 Urug Export. 5000 1234 Clientes 121 Sist. Dig. 001 0063 Italia 03 98
internac
077 Urug Export. -5000 3081 Vta.int. 121 Sist. Dig. 001 0063 Italia 03 98
075 Arg. Vta.distrib 2000 1221 Clientes 111 Semicond 001 0001 Revent 02 98
locales
075 Arg. Vta.distrib -2000 3010 Ventas 111 Semicond 001 0001 Revent 02 98
locales
LE SOLICITAMOS LO SIGUIENTE:
1-Defina la clave primaria del archivo plano.
2-Descomponga la relación , para que las relaciones resultantes queden expresadas en 3FN.
3-Indique el identificador en cada relación expresada en 3FN.
4-Completar las tablas normalizadas con los datos de la relación universal.
Pagina 23
EJERCICIO 20
1-Programación televisiva
Descomponer la siguiente tabla, expresando su contenido en relaciones normalizadas (3FN ), indicando la CLAVE PRIMARIA de
cada relación.
2. -La siguiente es la relación universal que define el contenido lógico de la base de datos del sistema comercial de una organización que
atiende el mercado local.
Nro. Denom. Tipo Nro %desc Desc Fecha Cod. Cant % Cod.
P.U Jurisd C.P
Cliente cliente doc. doc cliente art doc art art IVA Jurisd
356 Sol S.A FC 5412 20 Moni- 250 1/3/99 A-15 5 Cap. 21 1402 01
tor Fed
356 Sol S.A FC 5412 20 Lotus 550 1/3/99 C-03 10 C.Fed 0 1402 01
175 Moxi S.A ND 3181 15 Tecla- 80 2/3/99 A-09 10 Bs.As 21 1704 02
do
146 Lu S.A FC 5489 0 AT-286 600 4/3/99 A-16 1 Cap. 21 1400 01
1.6 Fed
641 FX S.A FC 7335 25 AT-286 770 9/3/99 A-17 3 Cord. 21 5000 05
2
641 FX S.A FC 7335 25 CPU 25 9/3/99 B-10 50 Cord. 21 5000 05
641 FX S.A FC 7335 25 Monit. 100 9/3/99 A-15 10 Cord. 21 5000 05
356 Sol S.A FC 2586 20 Monit. 284 1/4/99 A-15 2 C.Fed 21 1402 01
LE SOLICITAMOS LO SIGUIENTE:
1-Defina la clave primaria del archivo plano.
2-Descomponga la relación , para que las relaciones resultantes queden expresadas en 3FN.
3-Indique el identificador en cada relación expresada en 3FN.
4-Completar las tablas normalizadas con los datos de la relación universal.
Pagina 24
EJERCICIO 21
1-Cobertura de seguros
Im
Nro.de Fecha Riesgo Identifi- Descrip- Mone-
Cobertura Emisor Prima Vto. FC -port Fecha
poliza emisión cubierto cación ción da
e
25340 1/1/99 Incendio 217500 Edif. Adm. 1.000.000 Omega 10.000 31-12-99 U$S 136 3333 15/1/99
25340 1/1/99 Incendio 217500 Edif. Adm. 1.000.000 Omega 10.000 31-12-99 U$S 148 3333 15/2/99
25340 1/1/99 Incendio 217500 Edif. Adm. 1.000.000 Omega 10.000 31-12-99 U$S 164 3334 15/3/99
25341 1/1/99 Incendio 217501 Fábrica 2.500.000 Omega 15.000 31-12-99 U$S 137 5000 15/1/99
25341 1/1/99 Incendio 217501 Fábrica 2.500.000 Omega 15.000 31-12-99 U$S 149 5000 15/2/99
25341 1/1/99 Incendio 217501 Fábrica 2.500.000 Omega 15.000 31-12-99 U$S 165 5000 15/3/99
29870 1/6/98 Todo 217403 Fiat Duna 12.000 Juncal 1.000 31-5-99 U$S 78 622 10/6/98
riesgo
29870 1/6/98 Todo 217458 Renault 21 15.000 Juncal 1.200 31-5-99 U$S 78 658 10/6/98
riesgo
29870 1/6/98 Todo 217486 VW Golf 21.000 Juncal 1500 31-5-99 U$S 78 732 10/6/98
riesgo
25348 1/3/99 Terceros 217502 Fiat 1 8.900 Omega 990 28-2-00 U$S 200 600 15/3/99
25348 1/3/99 Terceros 217503 VW Gol 12.500 Omega 1.050 28-2-00 U$S 201 670 15/3/99
ACLARACIONES:
Identificación: Nro. de identificación del activo asegurado
Descripción:Descripción del bien asegurado.
Cobertura: Riesgo cubierto por la póliza.
Moneda: Moneda de emisión de póliza.
FC:Nro de factura emitida contra la póliza.
Fecha:Fecha de emisión de factura.
LE SOLICITAMOS LO SIGUIENTE:
1-Defina la clave primaria del archivo plano.
2-Descomponga la relación , para que las relaciones resultantes queden expresadas en 3FN.
3-Indique el identificador en cada relación expresada en 3FN.
4-Completar las tablas normalizadas con los datos de la relación universal.
Pagina 25
EJERCICIO 22
1-Remises
Km.
Mode- Fecha Fecha Com-
Marca Interno Conductor T.E D.N.I Patente recorri Viajes
lo act. R.T.V bustible
dos
Ford 15 Morales 478-9854 7.598.320 ASW 111 Gol 96 200 1-5-97 1-99 Gas 2
Ford 15 Morales 478-9854 7.598.320 ASW 111 Gol 96 350 1-5-97 1-99 Gas 7
Ford 15 Ramirez 4231-1111 2.362.128 ASW 111 Gol 96 80 1-5-97 1-99 Gas 4
Ford 17 Ramirez 4231-1111 2.362.128 RTU 458 Uno 95 150 30-1-96 3-99 Gas 3
Peugeot 23 Lopez 4245-9865 9.963.999 SEI 888 Uno 94 100 30-1-96 3-99 Gas Oil 10
Peugeot 25 Lopez 4245-9865 9.963.999 RNM458 505 92 300 30-1-96 3-99 Gas Oil 4
Peugeot 25 Ramirez 4231-1111 7.752.210 RNM458 505 92 120 30-1-96 3-99 Gas Oil 3
12 Luna 4789-6523 5.632.213 AYU810 405 98 60 17-6-98 6-99 Gas 2
Fiat 12 Rial 4859-6251 7.856.321 AYU810 405 98 110 17-6-98 6-99 Gas 9
Fiat 12 Abuin 4256-6500 8.865.210 AYU810 405 98 270 17-6-98 6-99 Gas 7
Fiat 12 Miguel 4321-3333 6.321.289 AYU810 405 98 210 17-6-98 6-99 Gas 3
ACLARACIONES:
Interno: Nro. asignado a cada unidad de la flota.
Km.recorridos: Km recorridos por la unidad en una fecha dada.
Viajes: Viajes con los cuales se totalizo la cantidad de Km.recorridos
LE SOLICITAMOS LO SIGUIENTE:
1-Defina la clave primaria del archivo plano.
2-Descomponga la relación , para que las relaciones resultantes queden expresadas en 3FN.
3-Indique el identificador en cada relación expresada en 3FN.
4-Completar las tablas normalizadas con los datos de la relación universal.
Pagina 26
EJERCICIO 23
LE SOLICITAMOS LO SIGUIENTE:
1-Defina la clave primaria del archivo plano.
2-Descomponga la relación , para que las relaciones resultantes queden expresadas en 3FN.
3-Indique el identificador en cada relación expresada en 3FN.
4-Llene las tablas normalizadas con los datos de la relación universal.
Cada préstamo se efectúa por período mínimo de 48 horas y máximo de 10 días . Cada socio sólo puede
tener un ejemplar en préstamo en todo momento .
Pagina 27
EJERCICIO 24
LE SOLICITAMOS LO SIGUIENTE:
1-Defina la clave primaria del archivo plano.
2-Descomponga la relación , para que las relaciones resultantes queden expresadas en 3FN.
3-Indique el identificador en cada relación expresada en 3FN.
4-Llene las tablas normalizadas con los datos de la relación universal.
Sub-total 0 4.270,00
Pagina 28
EJERCICIO 25
LE SOLICITAMOS LO SIGUIENTE:
1-Defina la clave primaria del archivo plano.
2-Descomponga la relación , para que las relaciones resultantes queden expresadas en 3FN.
3-Indique el identificador en cada relación expresada en 3FN.
4-Completar las tablas normalizadas con los datos de la relación universal.
Pagina 29