Documentos de Académico
Documentos de Profesional
Documentos de Cultura
(INS-377)
FAUSTO R. RICHARDSON HERNÁNDEZ, PH.D
UNIDAD 3
MODELO RELACIONAL
OBJETIVOS DE LA UNIDAD 3
En esta unidad aprenderá:
1. Que el modelo relacional ofrece una vista
lógica de la data.
2. Sobre los principales componentes del
modelo relacional: las relaciones.
3. Que las relaciones son construcciones
lógicas compuestas por filas (tuplas) y
columnas (atributos).
4. Que las relaciones son implementadas
como tablas en los DBMS relacionales.
5. Sobre los operadores de las bases de
datos, los diccionarios de datos, y el
catálogo del sistema.
6. Como se maneja la redundancia de la
data en los sistemas relacionales.
7. La importancia de la indexación.
SECCIÓN #1
UNA VISTA LÓGICA DE LOS DATOS
MODELO RELACIONAL DE BASES DE DATOS
• Fue introducido por Edgar F. Codd
• En 1970
• Basado en la lógica de predicados, utilizada
ampliamente en matemáticas, proporciona
un marco en el que una afirmación
(declaración de hecho) se puede verificar
como verdadera o falsa.
• Teoría de conjuntos
• Ejemplo:
A = 16, 24, 77
B = 44, 77, 90, 11
A ∩ B ó A and B = 77
UNA VISTA LÓGICA DE LA DATA
▪ El modelo de datos relacionales le permite al diseñador enfocarse más en la representación
lógica de la data y sus relaciones, en vez de los detalles de su almacenamiento físico.
▪ La simplicidad lógica tiende a aplicar de manera simple y efectiva las metodologías para el
diseño de una base de datos.
▪ El modelo relacional es más fácil de entender que los modelos jerárquicos y de red.
LAS TABLAS Y SUS CARACTERÍSTICAS
▪ La vista lógica de una base de datos relacional es facilitada por la creación de las relaciones entre
data basada en una construcción lógica llamada relación.
▪ Una tabla es percibida como una estructura de dos dimensiones compuestas por filas y columnas.
▪ Características de una “tabla relacional”
a. Está compuesta de filas y columnas.
b. Cada fila de la tabla (o tupla) representa una ocurrencia de la entidad dentro del conjunto de
entidades.
c. Cada columna de la tabla representa un atributo, y cada una tiene un nombre diferente.
d. Cada intersección de filas / columnas representa un valor de datos único.
e. Todos los valores en una columna deben estar conformados por el mismo formato de data.
f. Cada columna tiene un rango específico de valores conocidos como dominio del atributo.
g. Cada tabla deberá contener al menos un atributo o una combinación de atributos que identifique
únicamente cada fila.
SECCIÓN #2
LOS DIFERENTES TIPOS DE “LLAVES”
LOS DIFERENTES TIPOS DE “LLAVES”
▪ En el modelo relacional, las “llaves” son importantes porque aseguran que cada fila en una tabla sea
identificable de forma única.
▪ Son también utilizadas para establecer relaciones entre tablas y asegurar la integridad de la data.
▪ Una “llave” consiste en un atributo que determina otros atributos.
➢ Ejemplo: un número de factura identifica todos los atributos de la factura.
▪ Dependencia funcional
➢ El atributo B es funcionalmente dependiente del atributo A, si a determina B.
▪ En una tabla, cada llave primaria debe ser un valor único que identifique cada fila. En ese caso, la
tabla se dice que contiene integridad de entidad. Para mantener este concepto, no se debe permitir
un valor null en el registro de datos en el atributo identificado como llave primaria.
▪ Un valor nulo (null), no es un valor de ningún tipo.
➢ Los valores nulos nunca deben ser parte de una llave primaria.
➢ Los valores nulos pueden crear problemas en funciones como COUNT, AVERAGE, SUM.
➢ Pueden crear problemas lógicos cuando las tablas relacionales son relacionadas.
LOS DIFERENTES TIPOS DE “LLAVES”
▪ Una súper llave, es un atributo o combinación de atributos, que identifica de manera única cada fila
en una tabla. Ej: id, cédula, teléfono.
▪ Una llave candidata, es especie de una súper llave que no contiene un subconjunto de atributos que
son en sí mismo una super llave. Ej: teléfono.
▪ Una llave primaria, es la que identifica de manera única todos los demás atributos en una fila. No
puede contener registros nulos. Ej: id, cédula, teléfono, correo electrónico.
▪ Llave secundaria, consiste en aquella que es utilizada para fines de recuperación de datos. Por
ejemplo, número teléfono. Ej: cédula, teléfono.
▪ Llave foránea, es un atributo o la combinación de atributos en una tabla que su valor puede coincidir
con la llave primaria en alguna otra tabla.
SECCIÓN #3
REGLAS DE INTEGRIDAD
REGLAS DE INTEGRIDAD
1. Todas las llaves primarias son registros únicos, y ninguno debe de tener un dato nulo.
2. Cada registro debe de tener una identidad única, y el valor de las llaves foráneas puede ser
propiamente una referencia para el valor de una llave primaria.
3. Por ejemplo: una factura no puede tener un número de factura duplicado, tampoco puede ser nulo.
4. Una llave foránea tampoco puede tener un valor nulo.
5. Es posible que un atributo no tenga un valor que le corresponde, pero es imposible que tenga un
registro inválido.
6. Por ejemplo: un cliente puede que no tenga asignado un representante de ventas, pero no puede ser
posible que tenga un representante de ventas inválido.
SECCIÓN #4
OPERADORES DE CONJUNTOS RELACIONALES
OPERADORES DE CONJUNTOS RELACIONALES
▪ Los operadores de conjuntos relacionales utilizan el álgebra relacional para manipular el contenido de
una base de datos. En total hay ocho tipos diferentes de operadores. Estos operadores son comandos
SQL.
✓ Select
✓ Union
✓ Intercept
✓ Difference
✓ Product
✓ Project
✓ Join
SELECT
▪ Es el comando para mostrar todas las filas en una tabla. Se puede usar para seleccionar solo datos
específicos de la tabla que cumplan con ciertos criterios. Este comando también se conoce como el
comando Restringir.
PROJECT
▪ Es el comando que proporciona todos los valores para los atributos especificados después del
comando. Muestra una vista vertical de la tabla dada.
UNION
▪ Combina todas las filas de una tabla con todas las filas de otra tabla, excepto las tuplas duplicadas.
▪ Se requiere que las tablas tengan las mismas características de atributo para que funcione el comando
Union.
▪ Las tablas deben ser compatibles con la unión, lo que significa que dos tablas que se utilizan tienen la
misma cantidad de columnas y las columnas tienen los mismos nombres.
INTERSECT
▪ Es el segundo comando SQL que toma dos tablas y combina solo las filas que aparecen en ambas
tablas. Las tablas deben ser compatibles con la unión para poder usar el comando Intersect o, de lo
contrario, no funcionará.
DIFFERENCE
▪ Es otro comando SQL que obtiene todas las filas de una tabla que no se encuentran en la otra tabla.
▪ Básicamente, resta una tabla de la otra para dejar solo los atributos que no son iguales en ambas
tablas.
▪ Para que este comando funcione, ambas tablas deben ser compatibles con la unión.
PRODUCT
▪ El comando PRODUCT mostraría todos los posibles pares de filas de ambas tablas que se están
utilizando. Este comando también puede denominarse producto cartesiano.
JOIN
▪ Este comando toma dos o más tablas y las combina en una sola.
▪ Esto se puede usar en combinación con otros comandos para obtener información específica.
JOIN – PASO 1
▪ Un producto de las tablas es creado.
JOIN – PASO 2
▪ Un SELECT es ejecutado para extraer solamente las filas en donde los valores son iguales.
▪ Las columnas en comunes son referidas como join columns.
JOIN – PASO 3
▪ Un PROJECT es creado en los resultados anteriores, tomando solamente como referencia aquellos
atributos que no se repiten, es decir, eliminando las columnas duplicadas.
JOIN - LEFT Y RIGHT
▪ LEFT JOIN le permite consultar datos de dos o más tablas. Similar a la cláusula INNER JOIN, LEFT
JOIN es una cláusula opcional de la instrucción SELECT, que aparece inmediatamente después de la
cláusula FROM. Produce todas las filas de la tabla de la izquierda, incluyendo aquellas que no
coinciden con valores de la tabla de la derecha.
▪ RIGHT JOIN es similar a LEFT JOIN, excepto que el tratamiento de las tablas unidas se invierte.
SECCIÓN #5
EL DICCIONARIO DE DATOS Y EL CATÁLOGO DEL SISTEMA
EL DICCIONARIO DE DATOS Y EL CATÁLOGO DEL SISTEMA
▪ El Diccionario de Datos, provee una descripción detallada de todas las tablas que se encuentran
dentro del diseño y creación de una base de datos.
▪ Este contiene, al menos, todos los nombres de los atributos y sus características para cada tabla del
sistema.
▪ El Catálogo del Sistema contiene la metadata del diccionario de datos.
EL DICCIONARIO DE DATOS Y EL CATÁLOGO DEL SISTEMA
SECCIÓN #6
RELACIONES EN LAS BASES DE DATOS RELACIONALES
RELACIÓN 1:M
▪ Cada pintura es pintada por uno y solo un pintor, pero cada
pintor puede haber pintado muchas pinturas.
RELACIÓN 1:1
RELACIÓN M:N
Dependencia
Dependencia Dependencia Dependencia Transitiva
Parcial Parcial Parcial
REGLAS DE NORMALIZACIÓN – 1FN
ID_Curso Curso Docente Manual Teléfono Horas
1 Curso de Excel Juan Pérez Manual de Excel 829-123-1234 32
2 Curso Power Point Carla Rodríguez Manual de Power Point 809-735-2222 40
3 Curso de Project Luis Marcano Manual de Project 829-777-2121 82
1 Curso de Excel Luis Marcano Manual de Excel 829-777-2121 32
Dependencia Transitiva
TABLA: Docentes
TABLA: Cursos ID_Docente Nombre Apellido Teléfono
ID_Curso ID_Docente ID_Manual Horas Fecha
1 Juan Pérez 829-123-1234
1 1 1 32 06 / 07 / 2021
2 2 2 40 06 / 03 / 2021
2 Carla Rodríguez 809-735-2222
3 3 3 82 01 / 05 / 2021 3 Luis Marcano 829-777-2121
1 3 1 32 01 / 08 / 2021
TABLA: Manual
ID_Manual Manual
1 Manual de Excel
2 Manual de Power Point
3 Manual de Project
REGLAS DE NORMALIZACIÓN – 2FN
1. Haber cumplido con la 1FN.
2. Relacionar estas tablas mediante una llave foránea.