Documentos de Académico
Documentos de Profesional
Documentos de Cultura
A. DEFINICIÓN DE LLAVES
En una base de datos relacional, las tablas se relacionan a través de llaves primarias
y llaves foráneas. Cada tabla tiene una llave primaria, que es una o más columnas
que permite(n) identificar un registro de forma única. Generalmente la columna que
actúa como llave primaria se llama id.
1) Llave primaria
La clave o llave primaria es un campo, o grupo de campos que identifica en forma
única un registro. Ningún otro registro puede tener la misma llave primaria. La
llave primaria se utiliza para distinguir un registro con el fin de que se pueda tener
acceso a ellos, organizarlos y manipularlos. En el caso de un registro de un
empleado, él número de este representa un ejemplo de una llave primaria.
Ejemplo:
En la siguiente imagen podemos observar que identificación es nuestra llave
primaria, es decir que al momento que ingresemos el código o número
de identificación de X empleado de la cual queramos obtener información, nos
aparecerá toda la información o datos de dicha persona con tan solo ingresar
la identificación.
2) Llaves foráneas
Es una limitación referencial entre dos tablas. Para que un campo sea una clave
foránea, éste necesita ser definido como tal al momento de crear una tabla. Se
pueden definir claves foráneas en cualquier tipo de tabla de MySQL.
Ejemplo:
En la siguiente imagen podemos notar que las tablas : NUM_VENTAS,
VENTAS y PRODUCTOS, contienen cada una su llave primaria, en el
momento en que decidimos hacer la conexión entre las tablas el mismo
programa (si la tabla la hacemos en MYSQL), nos proporcionara
automáticamente nuestras llaves foráneas, es decir que los campos que
tienen una similitud entre sí, son los que abarcaran el campo de llave o
clave foránea, el mismo proceso debemos hacer si lo hacemos
manualmente, debemos de hacer la conexión entre las tablas los campos
que contengan una similitud entre sí.
B. DEFINICIÓN DE NORMALIZACIÓN
La normalización es el proceso mediante el cual se transforman datos complejos a un
conjunto de estructuras de datos más pequeñas, que además de ser más simples y más
estables, son más fáciles de mantener. También se puede entender la normalización
como una serie de reglas que sirven para ayudar a los diseñadores de bases de datos a
desarrollar un esquema que minimice los problemas de lógica. Cada regla está
basada en la que le antecede. La normalización se adoptó porque el viejo estilo de
poner todos los datos en un solo lugar, como un archivo o una tabla de la base de
datos, era ineficiente y conducía a errores de lógica cuando se trataban de manipular
los datos.
C. VENTAJAS
Entre las ventajas principales de la normalización cabe destacar las siguientes:
1) Una base de datos normalizada ocupa menos espacio en disco que una no
normalizada.
2) Hay menos repetición de datos, lo que tiene como consecuencia un mucho menor
uso de espacio en disco.
3) Evita anomalías en inserciones, modificaciones y borrados.
4) Mejora la independencia de datos.
5) No establece restricciones artificiales en la estructura de los datos.
Para llevar a cabo el proceso de normalización existen varias formas normales. Las
tres primeras formas normales estaban contempladas en la formulación original de la
teoría relacional de Codd. Más adelante, Boyce y Codd definieron una versión
modificada de la tercera forma normal, y posteriormente fueron definidas la cuarta y
la quinta forma normal originando un mayor refinamiento en el diseño de bases de
datos.
D. Fases de la normalización
Cada paso de la normalización consiste en reducir sistemáticamente una relación o
tabla en una colección de tablas “más pequeñas” (es decir, de menor grado) que son
equivalentes a la de partida. Es importante señalar que este procedimiento es
reversible, es decir, siempre es posible tomar los resultados del procedimiento y
transformarlos de nuevo a su origen. Esta característica es importante, ya que
significa que el proceso de normalización conserva la información.
En la tabla siguiente se describe brevemente en que consiste cada una de las reglas, y
posteriormente se explican con más detalle.
Regla Descripción
Incluye la eliminación de todos los grupos
Primera Forma Normal (1FN)
repetidos
Asegura que todas las columnas que no son llave
Segunda Forma Normal (2FN) sean completamente dependientes de la llave
primaria (PK).
Elimina cualquier dependencia transitiva. Una
dependencia transitiva es aquella en la cual las
Tercera Forma Normal (3FN)
columnas que no son llave son dependientes de
otras columnas que tampoco son llave.
Diríamos que la anterior tabla está en nivel de Normalización Cero porque ninguna
de las reglas de normalización ha sido aplicada. Observa los campos CEL_1, y
CEL_2 y CEL_3, en caso que con nuestra aplicación necesitemos agregar un cuarto
o quinto número celular, Tendríamos que añadir otros campos a la tabla y tener que
reprogramar toda la entrada de datos, obviamente eso sería demasiado trabajoso y
costoso, ya que, se quiere crear un sistema funcional que pueda crecer y adaptarse
fácilmente a los nuevos requisitos. Echemos un vistazo a las reglas del Primer Nivel
de Formalización-Normalización, y las aplicaremos a nuestra tabla.
Ahora diremos que nuestra tabla está en el primer nivel de F/N. Hemos solucionado
el problema de la limitación del campo Celular. Pero ahora se presentan nuevos
problemas. Cada vez que introducimos un nuevo registro en la tabla Tb_usuario,
tenemos que duplicar el nombre de la empresa y del usuario. No sólo nuestra BD
crecerá muchísimo, sino que será muy fácil que la BD se corrompa si escribimos mal
alguno de los datos redundantes.
2. Especificaciones:
La tabla “Tb_Amigos” deberá constar de 10 personas.
DISTRIBUCIÓN:
Copia: Coord. Acad.
Alumno.
Archivo.
Desarrollo ejercicio 01
1.
FORMA NORMAL 0
Tb_Amigos
Apellido Apellido
Nombre paterno materno Distrito E_mail 1 E_mail 2 E_mail 3
Roxy K INGA PENA Chiara Roxiinca@gmail.com Roxiinca@Hotmail.com Roxiinca@Outlook.com
Grheyshellcarrera@gmail.co Grheyshellcarrera@Hotmail.co
Grheyshell CARRERA QUISPE Quinua
m m Grheyshellcarrera@Outlook.com
Danny G HUARANCCA ROCHA Huanta Dannyflores@gmail.com Dannyflores@Hotmail.com Dannyflores@Outlook.com
RODRIGUE
Paula M FLORES Chaca
Z Paulflores@gmail.com Paulflores@hotmail.com Paulflores@Outlook.com
Jhossy L BAUTISTA SACCSARA Ayacucho Jhossybautista@gmail.com Jhossybautista@Hotmail.com Jhossybautista@Outlook.com
Juanita F CANCHO SACHA Lima Juanitacancho@gmail.com Juanitacancho@Hotmail.com Juanitacancho@Outlook.com
Luz E CANCHO SACHA Sivia Luzcancho@gmail.com Luzcancho@Hotmail.com Luzcancho@Outlook@
Brenda L GAMBOA SACCSARA Ocros Brendagamboa@gmail.com Brendagamboa@Hotmail.com Brendagamboa@Outlook.com
Sandra LLACTAHU SULCARAY Socos Sandrallactahu@gmail.com Sandrallactahu@Hotmail.com Sandrallactahua@Outlook.com
Anthony VALLEJO SULCARAY Carapo Anthonyvallejo@gmail.com Anthonyvallejo@Hotmail.com Anthonyvallejo@Outlook.com
3.
FORMA NORMAL 1
Tb_Alumnos Tb_Distritos
PRIMAR FOREIN
Y KEY G KEY
DNI Nombre Apellido paterno Apellino materno DNI DISTRITO
U1 Roxy Katherina INGA PENA U1 Chiara
U2 Grheyshell N CARRERA QUISPE U2 Quinua
U3 Danny G HUARANCCA ROCHA U3 Huanta
U4 Paula Mariel FLORES RODRIGUEZ U4 Chaca
U5 Jhossy L BAUTISTA SACCSARA U5 Ayacucho
U6 Juanita F CANCHOHUAMAN SACHA U6 Lima
U7 Luz E CANCHOHUAMAN SACHA U7 Sivia
U8 Brenda Luceo GAMBOA SACCSARA U8 Ocros
U9 Sandra LLACTAHUAMAN SULCARAY U9 Socos
Tb_Correos
FOREING
KEY
DNI E_mail 1 E_mail 2 E_mail 3
U1 Roxiinca@gmail.com Roxiinca@Hotmail.com Roxiinca@Outlook.com
U2 Grheyshellcarrera@gmail.com Grheyshellcarrera@Hotmail.com Grheyshellcarrera@Outlook.com
U3 Dannyflores@gmail.com Dannyflores@Hotmail.com Dannyflores@Outlook.com
U4 Paulflores@gmail.com Paulflores@hotmail.com Paulflores@Outlook.com
U5 Jhossybautista@gmail.com Jhossybautista@Hotmail.com Jhossybautista@Outlook.com
U6 Juanitacancho@gmail.com Juanitacancho@Hotmail.com Juanitacancho@Outlook.com
U7 Luzcancho@gmail.com Luzcancho@Hotmail.com Luzcancho@Outlook@
U8 Brendagamboa@gmail.com Brendagamboa@Hotmail.com Brendagamboa@Outlook.com
U9 Sandrallactahu@gmail.com Sandrallactahua@Hotmail.com Sandrallactahu@Outlook.com
U10 Anthonyvallejo@gmail.com Anthonyvallejo@Hotmail.com Anthonyvallejo@Outlook.com