Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TEMA:
CONSULTA SOBRE: ALGEBRA RELACIONAL Y LA
NORMALIZACIÓN DE UNA BASE DE DATOS
MATERIA:
PROGRAMACIÓN BASE DE DATOS
AUTOR:
Lanchimba M. Christian V.
DOCENTE:
ING. CARLOS E. CHAVEZ P.
La Maná-Ecuador
Junio-10
ÍNDICE
Contenido
INTRODUCCIÓN ................................................................................................................................... 1
DESARROLLO ....................................................................................................................................... 2
ALGEBRA RELACIONAL .................................................................................................................... 2
Definición .................................................................................................................................... 2
Específicas del álgebra relacional.................................................................................................... 3
NORMALIZACIÓN ................................................................................................................................ 5
PRIMERA FORMA NORMAL ............................................................................................................. 6
SEGUNDA FORMA NORMA ............................................................................................................. 6
TERCERA FORMA NORMA ............................................................................................................... 7
FORMA NORMAL 4 .......................................................................................................................... 7
FORMA NORMAL 5 .......................................................................................................................... 7
EJEMPLO. ............................................................................................................................................. 7
Primera forma normal..................................................................................................................... 8
Segunda forma normal.................................................................................................................... 9
Forma normal 3 ............................................................................................................................... 9
CARDINALIDAD .................................................................................................................................. 11
Ejemplo de una cardinalidad ......................................................................................................... 11
Multiplicidad ................................................................................................................................. 12
Claves de una entidad ................................................................................................................... 12
CONCLUSIONES ................................................................................................................................. 13
BIBLIOGRAFIA .................................................................................................................................... 14
INTRODUCCIÓN
Como una breve introducción podemos mencionar que hoy en día cualquier actividad que
desarrollemos nosotros siempre llevamos un registro ya sea de operaciones bancarias,
mercantiles, en fin de varias cosas es por eso que en la actualidad que contamos con la
mejor tecnología es sumamente importante contar con un sistema automatizado que me
permita gestionar ya sea la información de mis clientes, productos o servicios que se
ofertan en nuestra vida diaria.
Tomando en cuenta eso hoy podemos generar sistemas de control mediante la utilización
de bases de los cuales permiten guardar en una base de datos toda esta información pero
para su buen desarrollo se debe conocer conceptos fundamentales como algebra
relacional las cuales me permitirán enlazar cada uno de los elementos que intervienen en
este proceso de diseño de una automatización.
Para ello también es muy conveniente conocer acerca de la normalización de las bases
de datos las cuales no son otra cosa que unas cuantas reglas que me permiten tener una
base datos lo suficientemente fácil de trabajar mediante ya que con esto se podrá enlazar
las diferentes entidades con las que se cuente, ya que una base de datos normalizada al
máximo permitirá trabajar de mejor manera.
Algo también muy importante que tiene mucho que ver con la normalización de las bases
de datos es la cardinalidad ya que mediante este proceso se podrá establecer si una
entidad puede estar o no ligada a otra y de qué manera.
1
DESARROLLO
ALGEBRA RELACIONAL
Definición
El Álgebra Relacional es un lenguaje procedural para la manipulación de relaciones. El
álgebra relacional define nueve operaciones: unión, intersección, diferencia y producto
(que vienen de la teoría de conjuntos de la matemática), selección, proyección, reunión y
división (que son las que se aplican específicamente al modelo de datos relacional) y
asignación (operación estándar de los lenguajes de computación) que le da un valor a un
nombre, para la operación de asignación ocuparemos:=. (GONZALO, 2005, pág. 1)
Para especificar una consulta en álgebra relacional, es preciso definir uno o más pasos
que sirven para ir construyendo, mediante operaciones de álgebra relacional, una nueva
relación que contenga los datos que responden a la consulta a partir de las relaciones
almacenadas. Los lenguajes basados en el álgebra relacional son procedimentales, dado
que los pasos que forman la consulta describen un procedimiento.
Las operaciones del álgebra relacional han sido clasificadas según distintos criterios; de
todos ellos indicamos los tres siguientes:
2
2. Según el número de relaciones que tienen como operandos:
a. Operaciones binarias: son las que tienen dos relaciones como operandos. Son
binarias todas las operaciones, excepto la selección y la proyección.
b. Operaciones unarias: son las que tienen una sola relación como operando. La
selección y la proyección son unarias.
Las operaciones fundamentales del álgebra relacional son selección, proyección, unión,
diferencia de conjuntos, producto cartesiano y re nombramiento.
Selección SELECT: Operación del álgebra relacional que usa una condición para
seleccionar filas de una relación.
Si quisiéramos resolver la siguiente consulta: Dar toda la información de los vendedores
en la oficina de Tokyo.
Noten que las condiciones de selección (las que van después del ':') son similares a las
usadas en la instrucciones IF.
Consulta: ¿Qué vendedores tienen ID 23?
SELECT (VENDEDOR : VEND_ID_VENDEDOR = 23)
Consulta: ¿Qué vendedores tienen trabajan en Tokio y tienen comisión superior a
11%?
SELECT (VENDEDOR : VEND_OFICINA = 'Tokyo' and VEND_COMISION > 11)
3
Proyección [.]: Operación del álgebra relacional que crea una relación borrando
columnas de una relación existente.
A[X]
10
11
Consulta: ¿Quiénes son los vendedores que tienen una comisión menor que 20%?
SELECT (VENDEDOR : VEND_COMISION < 11) [VEND_NOMBRE]
Reunión natural: Noten que la reunión natural hace la asociación de las llaves y atributos
comunes solita, no hay que especificar nada.
Consulta: Adjunte la información de las ventas a la información sobre los vendedores.
JOIN(VENDEDOR, VENTA)
Consulta: Indique los nombres de los clientes que han comprado el producto 2518
A := SELECT (VENTA: VTA_ID_PROD = 2518)
B := JOIN (A, CLIENTE) [CLI_NOMBRE]
Consulta: ¿Identifique los vendedores cuyos jefes obtienen una tasa de comisión por
encima del 11%?
Para esto tenemos que hacer un JOIN de la tabla VENDEDORES con la tabla
VENDEDORES !!, porque así podemos encontrar directamente cual es la comisión del
jefe, pero el join natural intentara calzar todos los atributos (porque ambas tablas tienen
los mismos atributos, es más es la misma tabla), así que haremos un JOIN pero
especificando los atributos de calce.
4
VEND1 := VENDEDOR
VEND2 := VENDEDOR
Reunión externa: Primero se ejecuta una reunión natural. Entonces si un registro en una
relación no se corresponde con un registro de la otra relación en la reunión natural, ese
registro se añade a la relación que ha sido reunida y las columnas adicionales se llenan
con valores nulos.
División /: Operación del álgebra relacional que crea una nueva relación, seleccionando
las filas en una relación que se corresponden con todas las filas en otra relación.
Conslta: Liste los vendedores que han vendido todos los productos.
PI := PRODUCTO [PROD_ID_PRODUCTO]
PI_VI := VENTA [PROD_ID_PRODUCTO, VTA_ID_VENDEDOR]
A := PI_VI / PI
NORMALIZACIÓN
Que es la normalización
5
La normalización también hace las cosas fáciles de entender. Los seres humanos
tenemos la tendencia de simplificar las cosas al máximo. Lo hacemos con casi todo,
desde los animales hasta con los automóviles. Vemos una imagen de gran tamaño y la
hacemos más simple agrupando cosas similares juntas. Las guías que la normalización
provee crean el marco de referencia para simplificar una estructura de datos compleja.
Hablaremos de las 3 primeras formas de normalización básica para el diseño de una base
de datos.
PRIMERA FORMA NORMAL: Una relación está en primera forma normal (1FN) si y sólo
si todos los dominios simples subyacentes contienen sólo valores atómicos.
La regla de la Primera Forma Normal establece que las columnas repetidas deben
eliminarse y colocarse en tablas separadas.
Poner la base de datos en la Primera Forma Normal resuelve el problema de los
encabezados de columna múltiples.
SEGUNDA FORMA NORMA: Una relación está en segunda forma normal (2FN) si y sólo
si está en 1FN y todos los atributos no clave dependen por completo de cualquier clave
candidata.
La regla de la Segunda Forma Normal establece que todas las dependencias parcial es
se deben eliminar y separar dentro de sus propias tablas. Una dependencia parcial es un
término que describe a aquellos datos que no dependen de la llave primaria de la tabla
para identificarlos.
6
TERCERA FORMA NORMA: Una relación está en tercera forma normal (3FN) si y sólo si
está en 2FN y todos los atributos no clave dependen de manera no transitiva de cualquier
clave candidata. Una tabla está normalizada en esta forma si todas las columnas que no
son llave son funcionalmente dependientes por completo de la llave primaria y no hay
dependencias transitivas. Una dependencia transitiva es aquella en la cual existen
columnas que no son llave que dependen de otras columnas que tampoco son llave.
(UNIVERSIDAD SEÑOR DE SIPAN, pág. 1:3)
FORMA NORMAL 4
La cuarta forma normal (4NF) es una forma normal usada en la normalización de bases
de datos. La 4NF se asegura de que las dependencias multivaluadas independientes
estén correctas y eficientemente representadas en un diseño de base de datos. La 4NF
es el siguiente nivel de normalización después de la forma normal de Boyce-Codd
(BCNF).
Una tabla está en 4NF si y solo si está en Tercera forma normal o en BCNF (Cualquiera
de ambas) y no posee dependencias multivaluadas no triviales. La definición de la 4NF
confía en la noción de una dependencia multivaluada. Una tabla con una dependencia
multivaluada es una donde la existencia de dos o más relaciones independientes muchos
a muchos causa redundancia; y es esta redundancia la que es suprimida por la cuarta
forma normal.
FORMA NORMAL 5
La quinta forma normal (5FN), también conocida como forma normal de proyección-unión
(PJ/NF), es un nivel de normalización de bases de datos diseñado para reducir
redundancia en las bases de datos relacionales que guardan hechos multi-valores
aislando semánticamente relaciones múltiples relacionadas. Una tabla se dice que está en
5NF si y sólo si está en 4NF y cada dependencia de unión (join) en ella es implicada por
las claves candidatas. (Developer, 2018, págs. 2,3)
Ahora bien una vez que ya se ha explicado un poco la teoría sobre la normalización
vamos a explicar esto brevemente mediante un ejemplo práctico donde aplicaremos las
reglas para normalizar de una base de datos en este caso con el uso de las tres primeras
formas normales que son las esenciales para nuestro estudio. (LEON, 2014, pág. 9)
EJEMPLO.
Se desea implantar en una base de datos las ventas de una papelería por la relación
ORDENES-VENTA. De donde obtendremos en primer lugar la siguiente información como
lo muestra la siguiente tabla. (LEON, 2014, pág. 9)
7
Tabla 1: RELACIÓN ORDENES VENTAS
Sacaremos por separado en una sola tabla los datos del cliente de esta manera
lograremos obtener una sola clave para este, para lo cual nuestras tablas quedaría así.
Tabla 2: Clientes
Tabla 3: Ventas
8
Segunda forma normal
Ahora bien una vez hecho esto nos podemos dar cuenta que todavía dentro de la tabla
cliente y ventas hay campos los cuales podemos sacar y dejar totalmente libre estas
tablas con datos únicos entonces aplicando la segunda forma nuestras tablas quedarían
de la siguiente forma y a su vez a estas tablas podría aumentar otros datos importante.
Tabla 4: Clientes
Tabla 5: Ventas
Tabla 6: Localidad
Forma normal 3
Por último ya prácticamente tenemos tablas puras con datos necesarios pero en la tabla
ventas vamos a aplicar la siguiente forma normal sacando de la tabla ventas todo los
atributos del articulo dejando exclusivamente todo lo referente a las ventas en una sola
tabla, de tal manera que nuestras tablas ya normalizadas quedarían así:
Tabla 7: Clientes
9
Tabla 8: Artículos
Articulo ID Articulo
A1 Papel 100
A3 Cinta 50
A4 Grapas 200
A9 Lápiz 100
Tabla 9: Localidad
De esta manera cada una de nuestras tablas cliente, artículos, localidad y ventas ya
cuentan con una clave primaria mediante las cuales se pueden asociar entre si mediante
las respectivas relaciones (cardinalidad).
10
CARDINALIDAD
La cardinalidad de una base de datos expresa el número máximo de entidades que están
relacionadas con una única entidad del otro conjunto de entidades que interviene en la
relación. Aunque normalmente nos interesa sólo la cardinalidad máxima, a veces es útil
especificar la cardinalidad mínima. Según su cardinalidad, podemos clasificar las
relaciones de los siguientes tipos:
1:N
Uno a muchos: La 1 N
cardinalidad máxima en
una dirección es 1 y en la
otra muchos.
N:M
Muchos a muchos: La N M
cardinalidad máxima en
ambas direcciones en
muchos.
Fuente: https://jliccing8a.files.wordpress.com/2011/01/cardinalidad-y-multilicidad-de-una-base-de-datos.pdf
Fijado un ALUMNO, al menos, estará matriculado en una asignatura, y puede cursar varias
asignaturas.
Fijada una ASIGNATURA, puede que ningún alumno se haya matriculado de la asignatura, y puede
ser cursada por muchos alumnos.
Fuente: http://www.cs.us.es/blogs/bd2012/files/2012/10/BD-Tema-1_v02.pdf
11
Multiplicidad
Cada asociación tiene dos multiplicidades (Una para cada extremo de la relación)
Para especificar la multiplicidad de una asociación hay que indicar la multiplicidad
mínima y la multiplicidad máxima. (Anonimo, 2011, pág. 1)
Multiplicidad Significado
1 Uno y solo uno
0. .1 Cero y uno
N. .M Desde N hasta M
* Cero o varios
0. .* Cero o varios
1. .* Uno o varios (al menos uno)
Fuente: https://jliccing8a.files.wordpress.com/2011/01/cardinalidad-y-multilicidad-de-una-base-de-datos.pdf
Clave: conjunto de uno o más atributos que permiten identificar de forma única a cada
instancia de la entidad. Además, dicho conjunto de atributos debe ser minimal, esto es,
ningún subconjunto de atributos de la clave puede actuar también como clave.
Clave candidata: cada uno de los conjuntos de atributos que pueden actuar como clave
de una entidad.
12
CONCLUSIONES
Podemos concluir que para realizar un buen trabajo de un sistema el cual funcione
con una base de datos es muy necesario conocer el conocimiento necesario sobre
cómo realizar enlaces entre las distintas entidades mediante un estudio adecuado
de la lógica relacional.
No podemos olvidar algo muy importante que para desarrollar un proyecto de esta
índole es muy importante de igual manera estudiar sobre las normas básicas
sobre como normalizar una base de datos, algo que para nosotros utilizaremos
hasta la tercera forma ya que el resto se las emplearía para trabajos más refinados
como por ejemplo para cálculos que necesitaría realizar la NASA.
Por último no debemos olvidar que todas nuestras tablas o entidades deben contar
con una clave primaria la cual nos servirá para identificarle con las demas
13
BIBLIOGRAFIA
-------------------------------------------
CHRISTIAN V. LANCHIMBA M
1720634730
14