Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1a Forma Normal
id Nombre Telefono Observamos que hay repetidos y dependencia funcional
1 Ana 241-122-76-63
2 Ana 222-345-67-89
3 Amelia 246-144-56-78
4 Amelia 246-234-56-78
5 Anabel 248-456-67-89
6 Anabel 249-123-45-67
7 Anabel 241-156-78-90
Ejemplo 2.
Tabla sin normalizar
Nombre Recursos Observamos que aquí la columna recursos, tiene varios valores; es decir no son
Juan Mochila,Computadora
María Libreta
Pedro Mochila, Computadora, Libreta
102 241-156-78-90 T7
Telefonos de
Numero Nombre Fecha de NacimiE_mail dirección contacto
Cel 241-
1227674, Casa
Privada Moreslos No. 3, 044 246 46 4 32
1 Juan Perez 4/22/1970 Juanperez@correo.com Apizaco, Tlaxcala, cp 90300 39
Cel 241-
1227674, Casa
Privada Moreslos No. 3, 044 246 46 4 32
2 Juan Perez 4/22/1970 Juanperez@correo.com Apizaco, Tlaxcal, cp 90302 40
1a Forma Normal
1. Obtencion de atributos Atomicos o Monovalentes.
Probabilida y
Estadistica Matwmaticas Villalobos Martin Mexico
Fundamentos
de Bases de
Datos Computación Henrry F. Korth Estados Unidos
Contabilida
Financiera Adminsitraciòn Elias Lara Leal Mexico
Algebra Lineal Matematicas Baldor Estados Unidos
El esquema serìa:
Usuario(Usuario,Cp, Nombre, Apellidos, Email, Calle, Ciudad, Estado)
Localidades Localidades
Cp CiudAD Estado Cp CiudAD
90300 Apizaco Tlaxcala 90300 Apizaco
90000 Tlaxcala Tlaxcala 90000 Tlaxcala
90000 Tlaxcala Tlaxcala 90500 Humantla
90500 Huamantla Tlaxcala
Entonces para la tercera forma norma revisamos , nuestras tablas de base de datos quedan de la siguiente maner
Usuarios
Id_Usuario Nombre Feca de nacimei Email Calle Telefono de Casa
U001 Juan Perez 4/22/1970 Juanperez@correo.com Privada Morelos No. 3 044 246 46 4 32 3
U002 Ana Miranda 4/22/1980 anamiranda@correo.com Av. Juarez No. 105 044 246 46 4 54 0
U003 Hugo Lopez 4/22/1990 hugolopez@correo.com Juan Escutia No. 20
U004 Gabriel Garcia 4/22/1990 gavrielgarcia@correo.com Principal no. 35.
Libros Esquema:
id_libro Titulo del Libro Area Autor Nacionalidad Autor
Usuario=(id_usuario, Nom
Fundamentos Telefono_Movil, cp)
de Bases de Libros = (id_libro, Titulo, A
L001 Datos Computación Henrry F. Korth Estados Unidos Prestamo=(Id_usuario, id_
Localidades=(cp, Cidad, Es
Probabilida y
L002 Estadistica Matematicas Villalobos Martin Mexico
Contabilida
L003 Financiera Adminsitraciòn Elias Lara Leal Mexico
L004 Algebra Lineal Matematicas Baldor Estados Unidos
Prestamo Localidad
Id_UsuarioFecha de prestamo
Fecha de Devolución id_Libro Cp
U001 3/25/2020 3/27/2020 L001 90300
U001 3/25/2020 3/27/2020 L002 90000
U002 3/26/2020 3/27/2020 L001 90500
U003 3/27/2020 3/28/2020 L003
U004 3/27/2020 3/28/2020 L004
Fecha de prestamo/FechaTitulo del libro Area Áutores Nacionalidad del Autor
26 de Marzo de 2020, 27
de Marxo de 2020 Probabilida y EstaMatematicas Villalobos Martin Mexico
CiudAD Estado Telefono de Casa Telefono Movil Fecha de Prestamo Fecha de Devoluciòn.
Cp CiudAD Estado
90300 Apizaco Tlaxcala
90300 Apizaco Tlaxcala
90000 Tlaxcala Tlaxcala
90000 Tlaxcala Tlaxcala
90500 Huamantla Tlaxcala
Telefono Movil Cp Estado CiudAD
241-1227674 90300 Tlaxcala Apizaco
246 122 45 56 90000 Tlaxcala Tlaxcala
246 123 45 67 90000 Tlaxcala Tlaxcala
90500 Huamantla Tlaxcala
Probabilida y
L002 Estadistica Matwmaticas Villalobos Martin Mexico
Contabilida
L003 Financiera Adminsitraciòn Elias Lara Leal Mexico
Estado
Tlaxcala
Tlaxcala
Tlaxcala
an de la siguiente manera:
Telefono Movil CP
241-1227674 90300
246 122 45 56 90000
246 123 45 67 90000
90500
Esquema:
Usuario=(id_usuario, Nombre, Apellidos, Email, Calle, Telefono_Casa,
Telefono_Movil, cp)
Libros = (id_libro, Titulo, Area, Autor, Nacionalidad)
Prestamo=(Id_usuario, id_libro, Fecha_prestamo,fecha_devolución)
Localidades=(cp, Cidad, Estado)
Localidades
CiudAD Estado
Apizaco Tlaxcala
Tlaxcala Tlaxcala
Humantla Tlaxcala
Nacionalidad
Titulo del Libro Area Autor Autor
Sucursal y
número de Fecha de la Forma de Código de Nombre de Código de Nombre de Cantidad del
factura pago cliente cliente artículo artículo artículo
factura
01-100 10/1/2015 Crédito 1 PEREZ 1 CAMISA 2
01-100 10/1/2015 Crédito 1 PEREZ 2 ZAPATOS 3
01-100 10/1/2015 Crédito 1 PEREZ 5 MESA 1
01-101 10/2/2015 Contado 33 GARCÍA 9 TINTA 4
02-100 10/3/2015 Crédito 45 GOMEZ 13 CUADRO 5
02-100 10/3/2015 Crédito 45 GOMEZ 5 MESA 1
Observamos que no se encuentra en 1FN, pues Sucursal y número de factura no es un dato atómico. Un primer cambio que p
Encontramos que todavía existen grupos repetitivos. Para eliminarlos y no eliminar los detalles de la factura no queda otra op
FACTURA
ucursal Número de Fecha de la Forma de Código de Nombre de Total de
factura factura pago cliente cliente factura
1 100 10/1/2015 Crédito 1 PEREZ 440
1 100 10/1/2015 Crédito 1 PEREZ 440
1 100 10/1/2015 Crédito 1 PEREZ 440
1 101 10/2/2015 Contado 33 GARCÍA 100
1 100 10/3/2015 Crédito 45 GOMEZ 550
2 100 10/3/2015 Crédito 45 GOMEZ 550
Agregamos las columnas que componen la clave primaria de la primera tabla, a la segunda tabla para poder relacionar ambas
Detalle de la factura
Precio
Número de Código de Nombre de Cantidad del Subtotal del
Sucursal unitario del
factura artículo artículo artículo artículo
artículo
1 100 1 CAMISA 2 50 100
1 100 2 ZAPATOS 3 80 240
1 100 5 MESA 1 100 100
1 101 9 TINTA 4 25 100
2 100 13 CUADRO 5 90 450
2 100 5 MESA 1 100 100
Establecemos los tres primeros atributos como clave primaria para esta tabla. Y por último establecemos los dos primeros atri
Detalle de la factura
PK
Precio
Número de Código de Nombre de Cantidad del unitario del Subtotal del
Sucursal
factura artículo artículo artículo artículo
artículo
1 100 1 CAMISA 2 50 100
1 100 2 ZAPATOS 3 80 240
1 100 5 MESA 1 100 100
1 101 9 TINTA 4 25 100
2 100 13 CUADRO 5 90 450
2 100 5 MESA 1 100 100
Fk
2a forma normal
Retomando las tablas.
Detalle de la factura
PK
Precio
Número de Código de Nombre de Cantidad del Subtotal del
Sucursal unitario del
factura artículo artículo artículo artículo
artículo
1 100 1 CAMISA 2 50 100
1 100 2 ZAPATOS 3 80 240
1 100 5 MESA 1 100 100
1 101 9 TINTA 4 25 100
2 100 13 CUADRO 5 90 450
2 100 5 MESA 1 100 100
Fk
Detalle de Factura
PK
Precio
Número de Código de Cantidad del Subtotal del
Sucursal unitario del
factura artículo artículo artículo
artículo
1 100 1 2 50 100
1 100 2 3 80 240
1 100 5 1 100 100
1 101 9 4 25 100
2 100 13 5 90 450
2 100 5 1 100 100
Fk Fk
3a Forma Normal
Factura
Número de Fecha de la Forma de Código de Nombre de Total de
Sucursal
factura factura pago cliente cliente factura
1 100 10/1/2015 Crédito 1 PEREZ 440
1 101 10/2/2015 Contado 33 GARCÍA 100
2 100 10/3/2015 Crédito 45 GOMEZ 550
1 100 1 2 50 100
1 100 2 3 80 240 Esquema relacional
1 100 5 1 100 100
1 101 9 4 25 100
2 100 13 5 90 450
2 100 5 1 100 100
Fk Fk
Precio
unitario del Subtotal del Total de
artículo factura
artículo
50 100 440
80 240 440
100 100 440
25 100 100
90 450 550
100 100 550
Precio
Cantidad del Subtotal del
unitario del Total de factura
artículo artículo artículo
2 50 100 440
3 80 240 440
1 100 100 440
4 25 100 100
5 90 450 550
1 100 100 100
articulos
Código de Nombre de Cantidad del Precio unitario del Subtotal del
artículo artículo artículo artículo artículo
1 CAMISA 2 50 100
2 ZAPATOS 3 80 240
5 MESA 1 100 100
9 TINTA 4 25 100
13 CUADRO 5 90 450
5 MESA 1 100 100
Factura
Número de Fecha de la Código de Nombre de Total de
Sucursal Forma de pago
factura factura cliente cliente factura
1 100 10/1/2015 Crédito 1 PEREZ 440
1 101 10/2/2015 Contado 33 GARCÍA 100
2 100 10/3/2015 Crédito 45 GOMEZ 550
articulos
1 CAMISA 2 50 100
2 ZAPATOS 3 80 240
5 MESA 1 100 100
9 TINTA 4 25 100
13 CUADRO 5 90 450
poder relacionar ambas tablas; por lo que se creara una nueva tabla.
1 CAMISA 50 100
2 ZAPATOS 80 240
5 MESA 100 100
9 TINTA 25 100
13 CUADRO 90 450
5 MESA 100
Observamos que el subtotal del artículo es parte de la factura y no del articulo en sí.
Clientes
Código de Nombre de
cliente cliente
1 PEREZ
33 GARCÍA
45 GOMEZ
Artículos
Precio
Código de Código de Nombre de
unitario del
cliente artículo artículo
artículo
1 1 CAMISA 50
33 2 ZAPATOS 80
45 5 MESA 100
9 TINTA 25
13 CUADRO 90
5 MESA 100
entes=(Codigo_Cliente, CombreCliente)
ctura =(Sucursal, Numero de Factura; Fecha_Factura, Forma de Pago, Tatoal factura, Codigo_Cliente)
quema relacional
otal, Total, Total Factura)
VENTAINMUEBLE = (idinmueble, idpropietario, nombre_propietario, valor_inmueble, idcomprador, nombre_comprador, idven
Vendedor Comprador
Id_vendedor Comision_venta id_comprador
V_001 $ 100,000.00 C_001
V_002 $ 500,000.00 C_002
V_001 $ 1,000,000.00 C_003
Venta_Inmueble
id_Inmueble Id_propietario id_comprador Id_vendedor
I001 P001 C_001 V_001
I002 P001 C_002 V_002
I003 P002 C_003 V_001
Comprador Propietario
NombreComprador Id_propietario NombrePropietario
Ana Miranda P001 Juan Perez
Beatriz Muñoz P002 Omar Nava
Maximiliano Flors