Está en la página 1de 51

BASES DE DATOS I

(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

▪ Las tablas crearían demasiado


redundancias.
▪ Ver el caso de STU_NUM
▪ Imaginar que en la tabla
estudiante se adicionara la
dirección, el teléfono y/o algún
otro dato relacionado al
estudiante.
▪ Lo mismo sería el caso si la tabla
CLASS adicionara las horas de
crédito, la descripción del curso,
etc.
RELACIÓN M:N

▪ Se crea una entidad puente.


▪ Ejemplo la tabla ENROLL.
SECCIÓN #7
REPASO A LA REDUNDANCIA DE LOS DATOS
REPASO A LA REDUNDANCIA DE LOS DATOS
1. La redundancia provoca anomalía en la data.
2. Esas anomalías pueden destruir la efectividad de la base de datos.
3. Las bases de datos relacionales hacen posible el control de la redundancia de la data.
4. El uso apropiado de las llaves foráneas es crucial para controlar la redundancia de la data.
5. Tan importante como lo es el control de la redundancia de la data, existen momentos en donde el nivel
de la redundancia de la data debe ser incrementado para hacer la base de datos servir informaciones
con propósito cruciales.
6. De igual manera, hay que identificar también cuando es necesario de que exista redundancia de datos
para preservar la precisión de la data.
REPASO A LA REDUNDANCIA DE LOS DATOS
SECCIÓN #8
REGLAS DE BASES DE DATOS RELACIONALES DE CODD
REGLAS DE BASES DE DATOS RELACIONALES DE CODD

Regla Nombre Descripción


1 Regla de fundación Cualquier sistema que se proclame como relacional, debe ser capaz de gestionar sus bases de
datos enteramente mediante sus capacidades relacionales.
2 Regla de la información Toda la información en la base de datos es representada unidireccionalmente por valores en
posiciones de las columnas dentro de filas de tablas. Toda la información en una base de datos
relacional se representa explícitamente en el nivel lógico exactamente de una manera: con
valores en tablas.
3 Regla del acceso garantizado Todos los datos deben ser accesibles sin ambigüedad. Esta regla es esencialmente una nueva
exposición del requisito fundamental para las claves primarias. Dice que cada valor escalar
individual en la base de datos debe ser lógicamente direccionable especificando el nombre de la
tabla, la columna que lo contiene y la clave primaria.
4 Regla del tratamiento sistemático de los El sistema de gestión de base de datos debe permitir que haya campos nulos. Debe tener una
valores nulos representación de la «información que falta y de la información inaplicable» que sea sistemática
y distinta de todos los valores regulares.
5 Regla comprensiva del sublenguaje de los 1. Tenga una sintaxis lineal.
datos 2. Puede ser utilizado de manera interactiva.
3. Tenga soporte de operaciones de definición de datos, operaciones de manipulación de datos
(actualización así como la recuperación), de control de la seguridad e integridad y
operaciones de administración de transacciones.
6 Regla de actualización de vistas Todas las vistas que son actualizables deben ser actualizadas por el sistema.
REGLAS DE BASES DE DATOS RELACIONALES DE CODD
Regla Nombre Descripción
7 Alto nivel de inserción, actualización y El sistema debe permitir la manipulación de alto nivel en los datos, es decir, sobre conjuntos de
borrado tuplas. Esto significa que los datos no solo se pueden recuperar de una base de datos relacional
a partir de filas múltiples y/o de tablas múltiples, sino que también pueden realizarse inserciones,
actualizaciones y borrados sobre varias tuplas y/o tablas al mismo tiempo y no solo sobre
registros individuales.
8 Independencia física de los datos Los programas de aplicación y actividades del terminal permanecen inalterados a nivel lógico
aunque se realicen cambios en las representaciones de almacenamiento o métodos de acceso.
9 Independencia lógica de los datos Los programas de aplicación y actividades del terminal permanecen inalterados a nivel lógico
aunque se realicen cambios a las tablas base que preserven la información. La independencia
de datos lógica es más difícil de lograr que la independencia física de datos.
10 Independencia de la integridad Las restricciones de integridad se deben especificar por separado de los programas de
aplicación y almacenarse en la base de datos. Debe ser posible cambiar esas restricciones sin
afectar innecesariamente a las aplicaciones existentes.
11 Independencia de la distribución La distribución de porciones de base de datos en distintas localizaciones debe ser transparente
para los usuarios de la base de datos. Los usos existentes deben continuar funcionando con
éxito:
1. cuando una versión distribuida del SGBD se carga por primera vez
2. cuando los datos existentes se redistribuyen en el sistema.
12 Regla de la no subversión Si el sistema proporciona una interfaz de bajo nivel de registro, aparte de una interfaz relacional,
esa interfaz de bajo nivel no debe permitir su utilización para subvertir el sistema. Por ejemplo
para sortear las reglas de seguridad relacional o las restricciones de integridad. Esto es debido a
que a algunos sistemas no relacionales previamente existentes se les añadió una interfaz
relacional pero, al mantener la interfaz nativa, seguía existiendo la posibilidad de trabajar no
relacionalmente.
SECCIÓN #9
NORMALIZACIÓN DE BASES DE DATOS
NORMALIZACIÓN DE BASES DE DATOS
1. Tener un buen sistema de gestión de bases de datos no es suficiente para evitar la redundancia de la
data.
2. Es posible crear estructuras pobres, aún teniendo un buen diseño de una base de datos. Para resolver
esta situación se utiliza el proceso de normalización.
3. Normalización, es un proceso de evaluar y corregir las estructuras de las tablas para minimizar la
redundancia, y la probabilidad de las anomalías en la inserción de datos.
4. La normalización funciona a través de una serie de etapas llamadas formas normales.
5. Para llegar al mejor nivel de optimización de una base de datos es necesario llegar hasta la 3FN,
aunque existen 5FN.
6. En muchas ocasiones, para resolver problemas de mayor rendimiento de la base de datos,
ocasionalmente, se puede realizar el proceso de desnormalización.
7. Una dependencia parcial sucede, cuando existe una dependencia funcional en donde la determinante
es solo parte de la llave primaria.
8. Una dependencia transitiva sucede, cuando existe una dependencia funcional como x -> y, y -> z en
donde “x” es la llave primaria.
REGLAS DE NORMALIZACIÓN – 1FN
1. Eliminar los campos con grupos repetitivos de las tablas individuales.
2. Crear una tabla por cada campo o columna de datos relacionados.
3. Identificar cada campo esté dependiente relacionado con una llave primaria.
¿Cómo validar que la tabla está correcta?
1. Los datos o atributos deben ser atómicos. Un atributo es atómico si los elementos son indivisibles.
2. La llave primaria no debe tener atributos nulos.
3. Los campos no clave deben identificarse con la clave (dependencia funcional).
4. La tabla normalizada no debe tener múltiples valores en una determinada columna.
ID_Curso Curso Docente Manual Teléfono Horas Fecha
1 Curso de Excel Juan Pérez Manual de Excel 829-123-1234 32 06 / 07 / 2021
2 Curso Power Point Carla Rodríguez Manual de Power Point 809-735-2222 40 06 / 03 / 2021
3 Curso de Project Luis Marcano Manual de Project 829-777-2121 82 01 / 05 / 2021
4 Curso de Excel Luis Marcano Manual de Excel 829-777-2121 32 01 / 08 / 2021
Tabla de Normalización Cero
REGLAS DE NORMALIZACIÓN – 1FN

Dependencia Dependencia TABLA: Cursos


Parcial Parcial

ID_Curso Curso Docente Manual Teléfono Horas Fecha


1 Curso de Excel Juan Pérez Manual de Excel 829-123-1234 32 06 / 07 / 2021
2 Curso Power Point Carla Rodríguez Manual de Power Point 809-735-2222 40 06 / 03 / 2021
3 Curso de Project Luis Marcano Manual de Project 829-777-2121 82 01 / 05 / 2021
4 Curso de Excel Luis Marcano Manual de Excel 829-777-2121 32 01 / 08 / 2021

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.

TABLA: Cursos TABLA: Docentes


Campo Llave Campo Llave
ID_Curso PK ID_Docente PK
ID_Docente FK Nombre
ID_Manual FK Apellido
Dependencia
Transitiva

Horas - TABLA: Manual Teléfono


Fecha - Campo Llave
ID_Manual PK
Manual
REGLAS DE NORMALIZACIÓN – 3FN
1. Haber cumplido con la 2FN.
2. No deben existir dependencias transitivas.

TABLA: Cursos TABLA: Docentes


Campo Llave Campo Llave
ID_Curso PK ID_Docente PK
ID_Docente FK Nombre
ID_Manual FK Apellido
Horas - TABLA: Manual Teléfono
Campo Llave
TABLA: Cronograma ID_Manual PK
Campo Llave Manual
ID_Curso FK
Fecha -
Year -
RESUMEN
1. Las tablas son la base de las bases de datos relacionales. Conceptualmente hablando, las tablas
relacionales están compuestas por filas (tuplas) y columnas. Cada fila representa una simple entidad,
y cada columna representa las características (atributos) de las entidades.
2. Las “llaves” son el aspecto más importante de las tablas relacionales. Las llaves definen las
dependencias funcionales.
3. Cada tabla debe tener una “llave primaria”. Esta es un atributo o una combinación de atributos que
únicamente identifica los demás atributos que se encuentran en un registro.
4. Independientemente de que las tablas son independientes, estas pueden ser enlazadas por atributos
comunes. La “llave primaria” en una tabla puede ser encontrada como “llave foránea” en otra tabla.
5. El modelo relacional soporta funciones algebraicas: SELECT, PROJECT, JOIN, INTERSECT,
UNION, DIFFERENCE, PRODUCT, y DIVIDE. La base de datos relacional realiza la mayor parte
del trabajo en la manipulación de datos.
6. Una vez se conoce los aspectos básicos de la base de datos relacional, usted se puede enfocar en el
diseño. Un buen diseño inicia con la identificación de las entidades y atributos apropiados y,
posteriormente, la relación entre las entidades.
RESUMEN
7. La normalización es una técnica usada para diseñar tablas cuyo objetivo es minimizar la
redundancia de la data.
8. Una tabla está en 1FN, cuando todos los atributos “claves” están definidos, y los demás atributos
dependen de la “llave primaria”.
9. Una dependencia transitiva es cuando un atributo es funcionalmente dependiente de otro atributo
que no es una llave primaria.
10. Una tabla está en 2FN, cuando está en 1FN y no tiene dependencias parciales. De igual manera, una
tabla está automáticamente en 2FN, cuando su llave primaria está basada en un simple atributo. Aún
así puede contener dependencias transitivas.
11. Una tabla está en 3FN, cuando está en 2FN y no contiene dependencias transitivas.
12. Una tabla que no esté en 3FN, deberá ser dividida en nuevas tablas hasta que pueda cumplir con los
requerimientos.
13. Un gran número de tablas significa una mayor cantidad de procesamiento lógico y de las operaciones
de la base de datos, por lo cual, muchas tablas se someten al proceso de desnormalización, como
una manera de incrementar la velocidad de procesamiento.
CITAS Y REFERENCIAS
BIBLIOGRÁFICAS
REFERENCIAS BIBLIOGRÁFICAS

▪ Database Systems: Design, Implementation, and Management (Management Information


Systems) 9th Edition
▪ Las 10 bases de datos más grande del mundo
✓ https://jobandwork.asia/10-largest-databases-world-really-know/
✓ https://www.wheelhouse.com/resource/10-largest-databases-in-the-world-a7843#gref
▪ National Energy Research Scientific Computing Center Announces Acceptance of One of the
World's Largest Supercomputers
✓ https://www.nersc.gov/news-publications/nersc-news/nersc-center-news/2007/National-Energy-
Research-Scientific-Computing-Center-Announces-Acceptance-of-One-of-the-World-s-Largest-
Supercomputers/
▪ Ranking mundial de bases de datos
✓ https://db-engines.com/en/ranking
▪ Tutorial de MySQL
✓ https://www.mysqltutorial.org/

También podría gustarte