Está en la página 1de 18

UNIDAD III: BASE DE DATOS RELACIONALES

1. MODELO RELACIONAL DE DATOS


Fue presentado por primera vez por Ted Codd, de IBM Research, en 1970 en un
documento ya clásico (Codd 1970). Utiliza el concepto de una relación matemática
(algo parecido a una tabla de valores) como su bloque de construcción básico, y tiene
su base teórica en la teoría de conjuntos y la lógica del predicado de primer orden
(es utilizada para expresar consultas y definir relaciones de una manera más expresiva
y compleja. La lógica de predicados permite hacer consultas que involucren
condiciones más detalladas y relaciones más complejas entre los datos almacenados
en una base de datos).
 Una fila recibe el nombre de tupla
 Una cabecera de columna es un atributo
 El nombre de la tabla una relación
 El tipo de dato que describe los valores que pueden aparecer en cada columna
está representado por un dominio de posibles valores. (Definiciones lógicas de
dominios).

Se especifica también un tipo de dato ó formato, por ejemplo:

 ESTUDIANTE (Nombre, Dni, TlfParticular, Dirección, TlfTrabajo, Edad, Mnc)

Usando los tipos de datos de cada atributo, la definición aparece escrita a veces
como:

 ESTUDIANTE (Nombre: cadena, Dni: cadena, TlfParticular: cadena, Dirección:


cadena, TlfTrabajo: cadena, Edad: entero, Mnc: real)

También existe un tipo de dato llamado:

 Valores NULL: representa los valores de atributos que pueden ser desconocidos
o no ser aplicables a una tupla

RESTRICCIONES DE DATOS
Se dividen en 3 categorías:
1. Restricciones que son inherentes al modelo de datos y que reciben el nombre de
restricciones implícitas o inherentes basadas en el modelo.
2. Restricciones que pueden expresarse directamente en los esquemas del modelo
de datos, por lo general especificándolas en el DDL (Lenguaje de definición de
datos, Data Definition Language). Las llamaremos restricciones explícitas o
basadas en el esquema.
3. Restricciones que no pueden expresarse directamente en los esquemas del
modelo de datos, y que por consiguiente deben ser expresadas e
implementadas por los programas. Las llamaremos restricciones semánticas,
basadas en aplicación o reglas de negocio.

ACTIVIDAD DE INVESTIGACION

Restricciones de dominio

Las restricciones de dominio son columnas definidas por el usuario que ayudan al
usuario a ingresar el valor según el tipo de datos. Y si encuentra una entrada
incorrecta, le da el mensaje al usuario de que la columna no se cumplió correctamente.
O en otras palabras, es un atributo que especifica todos los valores posibles que el
atributo puede contener como entero, carácter, fecha, hora, string. Define el dominio o
el conjunto de valores de un atributo y asegura que el valor tomado por el atributo debe
ser un valor atómico (no se puede dividir) de su dominio.

Ejemplo:

• Un ejemplo de restricción de dominio en una base de datos podría ser la


definición de un campo tipo “Edad”, donde se establezcan que solo se pueden ingresar
valores numéricos positivos, menores o iguales a 100. De esta manera cualquier valor
que no cumpla con esta restricción será rechazado al intentar ingresarlo a la base de
datos.

• Un intento de asignar un valor de tipo Dólares a una variable de tipo Euros


resultaría en un error sintáctico, aunque ambos tengan el mismo tipo numérico.

Restricciones de clave

En una base de datos puede tener diversas restricciones clave para garantizar la
integridad de los datos.

Las restricciones clave en una base de datos son reglas que se aplican los campos o
combinaciones de campos de una tabla para garantizar la integridad de los datos.
Estas restricciones tienen como objetivo principal asegurar que los datos almacenados
en la base de datos cumplan con ciertas condiciones o propiedades específicas.

Las restricciones son reglas que limitan los valores que se pueden insertar, suprimir o
actualizar en una tabla.

Restricciones de clave primaria

Una restricción de clave primaria es una columna o combinación de columnas que tiene
las mismas propiedades que una restricción de unicidad. Puede utilizar una clave
primaria y restricciones de clave foránea para definir relaciones entre tablas.

Ejemplo:

En una tabla de empleados, la clave primaria puede ser el número de identificación del
empleado

Restricciones de integridad referencial (o clave foránea)

Una restricción de clave foránea (también conocida como restricción referencial o


restricción de integridad referencial) es una regla lógica sobre los valores de una o más
columnas de una o más tablas. Por ejemplo, un conjunto de tablas comparte
información sobre los proveedores de una corporación. Ocasionalmente, el nombre de
un proveedor cambia. Puede definir una restricción referencial que indique que el ID del
proveedor en una tabla debe coincidir con un ID de proveedor en la información del
proveedor. Esta restricción impide las operaciones de inserción, actualización o
supresión que de lo contrario resultarían en la falta de información del proveedor.

Ejemplo: Si tienes una tabla de pedido y una de clientes, la clave foránea en la tabla de
pedido puede hacer referencia a la clave primaria de la tabla de los clientes para
asociar cada pedido con su cliente correspondiente

Restricciones de comprobación

Una restricción de comprobación (table) establece restricciones sobre los datos


añadidos a una tabla específica.

Restricciones de unicidad

Una restricción de unicidad (también conocida como restricción de clave exclusiva) es


una regla que prohíbe valores duplicados en una o más columnas de una tabla. Las
claves exclusivas y primarias son las restricciones de unicidad soportadas.

Restricción de valores null

La restricción de valores null en una base de datos son condiciones que se pueden
aplicar a las columnas de la tabla, para indicar si se permite o no la presencia de los
valores null en dicha tabla. Un valor null representa la ausencia de un valor conocido o
valido en una columna y puede ser utilizado para indicar que la información en esa
columna no está disponible o no es aplicable en cierta circunstancia. Estas
restricciones aseguran que se cumplan ciertas reglas de integridad de datos y ayudan a
mantener la consistencia y la calidad de la información almacenada en la base de
datos.

Ejemplo de restricciones de valores null:

Restricciones en una columna: Si tienes una tabla de empleado y quieres asegurarte


eque el campo “nombre” nunca este vacío puedes aplicar la restricción de valores null
en esa columna.
Restricción en la tabla: Si tienes una tabla de pedidos y quieres asegurarte de que
ninguna de las columnas de esta tabla pueda tener valores null, puedes aplicar la
restricción a nivel de tabla para que se aplique a todas las columnas.

Restricciones en una relación: Si tienes una tabla de clientes y una de pedidos, puedes
aplicar una restricción de valores null en la relación entre estas dos tablas, para
asegurarte de que exista siempre un cliente asociado a un pedido.

2. REDUCCION DE ESQUEMA CONCEPTUAL (ACTIVIDAD 1)

3. OPERACIONES DE ALGEBRA RELACIONAL


Son un conjunto de operaciones básicas del modelo relacional, el cual permite al
usuario especificar las peticiones fundamentales de recuperación. El resultado de una
recuperación es una nueva relación, la cual puede estar constituida por una o más
relaciones.

Importancia:

 Proporciona un fundamento formal para las operaciones del modelo relacional


 Se utiliza como base para la implementación y optimización de consultas en los
RDBMS (Sistemas de administración de bases de datos relacionales, Relational
DataBase Management Systems)

En resumen, proporciona una serie de procedimientos que generan la respuesta a la


consulta entre una o más entidades.

Operaciones unarias:

 SELECCIÓN: Se emplea para seleccionar un “subconjunto” de las tuplas de una


relación que satisfacen una condición de selección.

El símbolo sigma se utiliza para


especificar el operador de SELECCIÓN, mientras que la condición de selección
es una expresión lógica (o booleana) especificada sobre los atributos de la
relación.
Ejemplo:

 PROYECCIÓN: Selecciona ciertas columnas de la tabla y descarta otras, es


decir, nos permite planificar en atributos de los que estamos interesados.

El símbolo Pi es usado para representar la operación


PROYECCIÓN, mientras que <lista de atributos> contiene la lista de campos de
la relación R que queremos.
Ejemplo:
Operaciones Binarias:

 UNION: Es una relación que incluye todas las tuplas que están tanto en R como
en S o en ambas, R y S. Las tuplas duplicadas se eliminan.

El simbolo U es usado para representar la union, se aplican a dos


conjuntos (de tuplas) y debe tener compatibilidad de unión (el mismo tipo de
tuplas).
Ejemplo:

 DIFERENCIA DE CONJUNTO: El resultado de esta operación, especificada


como R - S, es una relación que incluye todas las tuplas que están en R pero no
en S.

La operación DIFERENCIA DE CONJUNTO no es


conmutativa.

 PRODUCTO CARTESIANO: Conocido también como PRODUCTO CRUZADO


(CROSS PRODUCT) o CONCATENACIÓN CRUZADA (CROSS JOIN), que se
identifica por x. Se trata también de una operación de conjuntos binarios, aunque
no es necesario que las relaciones en las que se aplica sean una unión
compatible. En su forma binaria produce un nuevo elemento combinando cada
miembro (tupla) de una relación (conjunto) con los de la otra.
Ejemplo:

 FUNCIONES DE AGREGACIÓN (AGGREGATE FUNCTION) Y


AGRUPAMIENTO: Nos permiten calcular funciones matemáticas de agregación
en las colecciones de valores de la base de datos. Por ejemplo, funciones para
recuperar la media o el sueldo total de todos los empleados o el número total de
tuplas de empleados. Se utilizan en consultas estadísticas sencillas que
resumen información a partir de tuplas.
Las más comunes son:
SUMA (SUM),
MEDIA (AVERAGE),
MÁXIMO (MAXIMUM) y MÍNIMO (MINIMUM).
CONTAR (COUNT) se emplea para contar tuplas o valores

Nota: Si no se especifican atributos de agrupamiento, las funciones se aplican a


todas las tuplas de la relación, por lo que
obtendremos como resultado una única tupla.

 Intersección (∩): La intersección de dos relaciones se puede especificar en


función de otros operadores básicos:
La intersección, como en Teoría de conjuntos, corresponde al conjunto de todas
las tuplas que están en R y en S, siendo R y S uniones compatibles.

 Unión natural (⋈) (Natural Join): La operación unión natural en el álgebra


relacional es la que permite reconstruir las tablas originales previas al proceso
de normalización. Consiste en combinar las proyección, selección y producto
cartesiano en una sola operación, donde la condición 0 es la igualdad Clave
Primaria = Clave Externa (o Foránea), y la proyección elimina la columna
duplicada (clave externa).
Expresada en las operaciones básicas, queda

Una reunión theta ( θ-Join) de dos relaciones es equivalente a:

donde la condición 0 es libre.


Si la condición 0 es una igualdad se denomina EquiJoin.

 División (/) (Cociente): Supongamos que tenemos dos relaciones A(x, y) y B(y)
donde el dominio de y en A y B, es el mismo. El operador división A / B retorna

todos los valores de x tales que para todo valor y en B existe una tupla en
A.

 Agrupación (Ģ) (Unión): Permite agrupar conjuntos de valores en función de un


campo determinado y hacer operaciones con otros campos.

RESUMEN DE TODAS LAS OPERACIONES


4. CALCULO RELACIONAL

Mientras que el álgebra define un conjunto de “operaciones” del modelo relacional, los
cálculos relacionales ofrecen una notación declarativa de alto nivel para especificar las
consultas relacionales.

Es un lenguaje de consultas declarativos basados en la lógica matemática. Una


expresión de cálculo especifica qué se quiere recuperar en lugar de cómo hacerlo, por
lo que se le considera un lenguaje no procedural. (útil para definir conjuntos, es decir,
una consulta con éste lenguaje especifica una comprensión de un conjunto de tuplas).

CARACTERISTICAS:

• Lenguaje de Consulta para bases de datos relacionales.

• Se utiliza para manipulación de datos a partir de las relaciones.

• Basado en el Cálculo de Predicados de Primer Orden (refleja las relaciones que


existen entre los elementos de un dominio).

• Variantes: de tuplas y de dominio.

Tomar en cuenta: la expresión sólo especifica la información que el resultado debería


contener.
CALCULO RELACIONAL DE DOMINIO

SIMBOLOS CUANTIFICADORES
EJERCICIO DE CALCULO RELACIONAL

5. TEORIA DE LA NORMALIZACION

Hace pasar un esquema de relación por una serie de comprobaciones para certificar
que satisface una determinada forma normal (Codd 1972)
Este análisis ofrece:

 Un marco formal para el análisis de los esquemas de relación basado en sus


claves y en las dependencias funcionales entre sus atributos.
 Una serie de pruebas de forma normal que pueden efectuarse sobre esquemas
de relación individuales, de modo que la base de datos relacional pueda
normalizarse hasta el grado deseado.

Las bases de datos relacionales se normalizan para:

 Evitar la redundancia de los datos.


 Evitar problemas de actualización de los datos en las tablas.
 Proteger la integridad de los datos.

1era. Forma Normal (1FN):

Prohíbe tener un “conjunto de valores, una tupla de valores o una combinación de


ambos” como valor de un atributo para una tupla individual. En otras palabras, 1FN
prohíbe las relaciones dentro de las relaciones o las relaciones como valores de
atributo dentro de las tuplas. Los únicos valores de atributo permitidos por 1FN son los
atómicos (o indivisibles).

2da. Forma Normal (2FN):

1FN + todo atributo no primo A en R es completa y funcionalmente dependiente de la


clave principal de R. (ó si sus atributos no principales dependen de forma completa de
la clave principal). Dependencia funcional total.
3era. Forma Normal (3FN):

2FN + Según la definición original de Codd, un esquema de relación R está en 3FN si


satisface 2FN y ningún atributo no primo de R es transitivamente dependiente en la
clave principal (Se eliminan las dependencias transitivas). Una relación R es una
dependencia transitiva si existe un conjunto de atributos Z que ni es clave candidata ni
un subconjunto de ninguna clave de dicha relación.

También podría gustarte