Modelo Relacional
Módulo 3
INTRODUCCIÓN
Módulo a módulo nos vamos acercando a la implementación de una base de datos. Este módulo tiene como propósito explicar el concepto de modelo relacional, con el cual los lectores y estudiantes lograrán tecnificar mucho más un modelo de base de datos, el cual se implementará en un SGBD.
Después de constituir el modelo entidad relación (M-E-R), ya se tienen las nociones de lo que es una entidad, un atributo y una relación; además, sus diferentes particularidades y tipificación con las cuales se puede hacer un análisis más detallado de dicho modelo. Con dichos conceptos se podrá pasar de un modelo conceptual (el cual ya se debe tener construido e interiorizado) a diseñar y crear un modelo lógico o modelo relacional (M-R), que nos permita el cumplimiento de la 3 fase de la construcción de una base de datos.
De este modo, teniendo estos dos modelos claros y construidos podremos dar el paso hacia la construcción del modelo físico sobre el sistema de gestión de base datos.
En la actualidad los sistemas de gestión de base de datos pueden estar basados sobre múltiples modelos, tales como: jerárquico, en red, relacional, no relacional u orientado a objetos. El modelo relacional a diferencia de los demás modelos, es el que hoy en día predomina en el mercado, ya que las empresas creadoras de los SGBD colocan todos sus esfuerzos en realizar sus implementaciones bajo este modelo. Aunque, otros modelos como el no relacional están teniendo un crecimiento importante, aún no logran acaparar la atención que el modelo relacional tiene en el mundo de las bases de datos, debido a que no cuentan con una arquitectura tan estable y con las prestaciones de una base de datos relacional.
El modelo relacional cuenta con características bastante completas, tal como el algebra relacional, por lo cual, este modelo tiene aspectos matemáticos muy bien fundamentados que son aplicados al almacenamiento y acceso de la información.
En conclusión, el modelo relacional parte de la basa del modelo entidad relación, con el cual se puede tener a disposición un modelo lógico de una base de datos. Este se representa mediante tablas bidimensionales que almacenan información, es decir, que esta constituida por filas (registros o tuplas) y columnas (atributos o campos). De tal modo que la información en estas tablas constituye un almacenamiento de N registros o tuplas. Por ejemplo, en el modelo entidad relación se define una entidad ESTUDIANTE, entonces, en el modelo relacional se crea una tabla de esta misma entidad y se almacenara una lista de estudiantes, donde cada registro, fila o tupla constituye un estudiante. Veamos la representación:
Modelo relacional
En la actualidad los sistemas de gestión de base de datos pueden estar basados sobre múltiples modelos, tales como: jerárquico, en red, relacional, no relacional u orientado a objetos. El modelo relacional a diferencia de los demás modelos, es el que hoy en día predomina en el mercado, ya que las empresas creadoras de los SGBD colocan todos sus esfuerzos en realizar sus implementaciones bajo este modelo. Aunque, otros modelos como el no relacional están teniendo un crecimiento importante, aún no logran acaparar la atención que el modelo relacional tiene en el mundo de las bases de datos, debido a que no cuentan con una arquitectura tan estable y con las prestaciones de una base de datos relacional.
El modelo relacional cuenta con características bastante completas, tal como el algebra relacional, por lo cual, este modelo tiene aspectos matemáticos muy bien fundamentados que son aplicados al almacenamiento y acceso de la información.
En conclusión, el modelo relacional parte de la basa del modelo entidad relación, con el cual se puede tener a disposición un modelo lógico de una base de datos. Este se representa mediante tablas bidimensionales que almacenan información, es decir, que esta constituida por filas (registros o tuplas) y columnas (atributos o campos). De tal modo que la información en estas tablas constituye un almacenamiento de N registros o tuplas. Por ejemplo, en el modelo entidad relación se define una entidad ESTUDIANTE, entonces, en el modelo relacional se crea una tabla de esta misma entidad y se almacenara una lista de estudiantes, donde cada registro, fila o tupla constituye un estudiante. Veamos la representación:
ESTUDIANTE
Cédula
Nombre
Apellido
Nacimiento
Genero
52.768.987
Juan
Loza
15/06/1976
H
56.876.983
Isabel
Gálvez
23/12/1969
M
34.678.987
Micaela
Ruiz
02/10/1985
M
Conceptos de un modelo relacional
Veamos los elementos claves de un modelo relacional:
Relación (Tabla)
Todas las entidades del modelo entidad relación se convierten en tablas en el modelo relacional, en la cuales se almacenará la información. Una relación consta de:
Atributos (campos)
Los campos son cada una de las columnas que forman la tabla. En el modelo entidad relación corresponde a las propiedades o atributos de las entidades.
Tuplas (Filas o Registros)
Describen los elementos u ocurrencias que configuran la tabla (es decir, los elementos de la relación establecida por la tabla). Las tuplas, en el modelo relacional, cumplen estas premisas:
Cada tupla se debe corresponder con un elemento del mundo real.
No puede haber dos tuplas iguales (con todos los valores iguales).
Toda tabla debe cumplir con unas propiedades básicas, que se mencionan a continuación:
Cada tabla debe tener un nombre distinto.
Cada atributo de la tabla solo puede tener un valor en cada tupla.
Cada atributo tiene un nombre distinto en cada tabla (aunque puede coincidir en tablas distintas).
Cada tupla es única (no hay tuplas duplicadas).
El orden de los atributos no importa.
El orden de las tuplas no importa.
Cardinalidad
Número de tuplas (m) de una relación, o número de filas de una tabla. Hay tablas que pueden tener una enorme cardinalidad: cientos, miles e incluso millones de filas.
Grado
Indica el tamaño de una relación en base al número de columnas (atributos) de la misma (n). Lógicamente cuanto mayor es el grado de una relación o tabla, mayor es su complejidad de manejo. Número de atributos (n).
Dominio
Un dominio está formado por un conjunto finito de valores del mismo tipo. A los dominios se les asigna un nombre y así podemos referirnos a ese nombre en más de un atributo, facilitando la aplicación de los mismos.
Por ejemplo, pensemos en una fecha de nacimiento con formato día/mes/año, vemos que posibles valores se pueden asignar a este campo.
“Hola mundo”, esta cadena de texto no cumple con el formato para ser almacenado como una fecha, por lo cual no hace parte del dominio, que se pueda asignar.
“12/45/2005”, esta fecha no está dentro del dominio de la fecha de nacimiento, debido a que el mes 45 no existe.
“10/10/2000”, esta fecha se encuentra dentro del dominio y es aceptable como fecha de nacimiento.
La forma de indicar un dominio se puede hacer utilizando dos posibles técnicas:
Intensión: Se define el domino indicando la definición exacta de sus posibles valores. Por intensión se puede definir el dominio de edades de los trabajadores como: números enteros entre el 16 y el 65 (un trabajador sólo podría tener una edad entre 16 y 65 años).
Extensión: Se indican algunos valores y se sobreentiende el resto gracias a que se autodefinen con los anteriores. Por ejemplo, el dominio localidad se podría definir por extensión así: Medellín, Bogotá, Barranquilla, Cartagena, etc.
Además, pueden ser:
Generales: Los valores están comprendidos entre un máximo y un mínimo y pueden tomar cualquier valor intermedio.
Restringidos: Solo pueden tomar un conjunto de valores.
Unificando terminología
Debido a la gran variedad de textos y bibliografía que referencian esta temática, es prudente unificar algunos términos para tener una buena orientación con relación a otras definiciones literarias que se encuentren.
Términos 1
(nomenclatura relacional)
Términos 2
(nomenclatura visual o de tabla)
Términos 3
(nomenclatura ficheros)
relación
=
tabla
=
fichero
tupla
=
fila
=
registro
atributo
=
columna
=
campo
grado
=
nº de columnas
=
nº de campos
cardinalidad
=
nº de filas
=
nº de registros
Claves
En el modelo relacional existen algunos atributos que tiene una particularidad al momento de almacenar información, estos son claves que permiten caracterizar una tupla o relacionar información entre tuplas de las tablas. Estas claves son campos que no pueden tomar valores nulos o vacíos. Veamos su clasificación:
Clave candidata: Conjunto de atributos que identifica a cada una de las tuplas de una tabla, por ende, cada una estas deben tener al menos una clave candidata en el modelo relacional, aunque puede contar con muchas más claves candidatas.
Clave primaria: Clave candidata que se escoge como identificador de la tabla, es decir, que este atributo representa cada una de las tuplas presentes en la tabla. Se debe elegir la clave que represente e identifique mejor cada una de los registros de la tabla. Adicionalmente, al momento de seleccionar dicho atributo, se debe tener en cuenta que este sea eficiente en el almacenamiento en disco y el procesamiento que la máquina debe hacer sobre este atributo para realizar operaciones internas, tales como puede el cruce entre tablas. Veamos el siguiente ejemplo.
CLIENTE
CAMPOS
CLAVE CANDIDATA
CLAVE PRIMARIA
DNI
x
Nombre
Teléfono
Código Cliente
x
x
En este caso el DNI y el Código Cliente son claves candidatas, pero el Código Cliente representa mejor la clave primaria en este contexto, adicionalmente cuenta con unas características que facilitaran operaciones en la máquina de cara al futuro.
También es importante tener en cuenta que las claves primarias serán los atributos que relacionen y vinculen a las tablas, por lo cual se debe tener en cuenta algunos tipos de datos con unas características muy puntuales:
Fechas en cualquiera de los formatos.
Números enteros, de los cuales se pueden derivar los auto incrementables que administre SGBD.
Textos cortos y de tamaño fijo. Por lo tanto, cadenas de texto grades o títulos son una pésima elección.
Para representar una clave primaria, utilizaremos las letras PK (Primary Key), ubicándola a un lado del atributo o atributos que son las claves primarias.
Por último, en diferentes ocasiones se presentará la dificultad para identificar una llave primaria, por lo cual, se recomienda asignador un campo identificador auto incrementable, para cumplir con las propiedades básicas de una tabla.
Claves alternativas: son claves candidatas que no fueron seleccionadas como clave(s) primaria(s). En casi todos los sistemas gestores de bases de datos no es posible marcar claves alternativas de forma explícita. Sin embargo, las claves alternativas, debido a que debe adoptar valores que no se repitan y que no puedan estar vacíos o nulos, se puede marcar con una restricción de unicidad (unique) y de obligatoriedad (not null).
Clave externa o secundaría: son datos o atributos cuyos valores están relacionados con atributos de otra tabla. Lo más común es relacionar estos campos con la clave primaria de otra tabla. Veamos el siguiente ejemplo:
Materia
Código
Química
QU01
Español
EP02
Ciencias Naturales
CIN05
En la tabla anterior la clave principal es el Código, en la siguiente tabla tenemos:
DNI Logro
Logro
Código Materia
20
Comprende los conceptos de las ciencias naturales aplicadas.
CIN05
40
Aplica el concepto de la célula en los diferentes ejercicios que se plantean.
CIN05
90
Identifica los elementos químicos en la tabla periódica.
QU01
En esta tabla, el atributo Código Materia es clave externa para relacionar los logros con las materias. Note en el ejemplo, que este tipo clave se puede repetir entre tuplas.
En el modelo relacional utilizaremos para representar esta clave con las letras FK (Foreign Key). Estas las colocaremos a un lado del atributo, que permita identificar este campo.
Veamos el siguiente ejemplo, que enmarca algunos aspectos vistos anteriormente.
Valores nulos
El valor nulo es un elemento que está presente, tanto en los SGBD, como en los lenguajes de programación (una variable o un objeto que no tienen ningún contenido).
El los SGBD que aplican el modelo relación, este elemento indica la ausencia de un valor existente para un atributo de una de las tuplas almacenada en una tabla. De igual forma, también se busca expresar un significado en el contexto real donde aplica dicho modelo, por ejemplo, un valor nulo para un atributo o campo teléfono en una tabla de docentes, indica que un docente no tiene teléfono. De igual forma en una clave externa, puede suceder que un campo de estos almacene un valor nulo, indicando que el registro no tiene relación con alguna clave primaria de la tabla de la cual se estableció dicha relación.
Es importante indicar que el texto vacío ‘ ’, no significa lo mismo que el valor nulo; tampoco el valor numérico cero (0) significa nulo.
Notación de Diagrama Entidad Relación
Veamos como representar una tabla con sus atributos en el modelo relacional. Para ello, representaremos la tabla PROPIETARIO (entidad representa del ejemplo COMPAÑÍA DE “BOTES EL PEÑOL” en el módulo 2, donde se trató el tema modelo entidad relación)
Cardinalidad y ordinalidad
Cardinalidad se refiere al número máximo de veces que una instancia en una entidad se puede relacionar con instancias de otra entidad. Por otra parte, ordinalidad es el número mínimo de veces que una instancia en una entidad se puede asociar con una instancia en la entidad relacionada.
La cardinalidad y la ordinalidad se muestran a través del estilo de una línea y su extremo, según el estilo de notación seleccionado.
Convertir una relación M-E-R a M-R
Las relaciones presentes en el modelo entidad relación, se pueden convertir en el modelo relacional, solo se debe tener en cuenta algunos aspectos generales:
Los atributos son columnas de en una tabla.
Los atribuidos identificadores se convierten en campos o columnas y se marcan como PK.
Cada columna procedente de una tabla relacionada será una clave secundaría, siendo este un atributo marcado como FK.
Relación Binaria
Relación N-Aria
En estos tipos de relaciones además de tener en cuenta los aspectos generales, se debe considerar:
La relación que une las entidades en el M-E-R, se convierte en una tabla.
La llave principal (PK) de la tabla formada de la relación, es la composición de las claves primarias de las entidades que se están conectadas con la relación en el M-E-R. Estas al igual que las otras entidades se convierten en tablas, por lo tanto, los atributos de la nueva tabla (que representa la relación) son marcados como PK y FK.
Si las llaves no se quieren marcar como PK, debido a que pueden ser el insumo en otra tabla, se recomiendo marcar la composición de campos con una restricción única (unique) y crear un campo auto incrementable y se marca como llave primaria.
Relación Reflexiva
En este caso, la tabla que se crea a partir de la entidad, se le debe adicionar un campo en la misma tabla y se marca con FK, el cual se relacione con el atributo de la llave primaria de la misma tabla.
Ejercicio “Colegio La Trinidad"
El universo del discurso de este ejercicio se encuentra planteado en el módulo 2 de Base de Datos. Del cual se partirá para realizar parte del M-R, teniendo como insumo el M-E-R.
Quiero saber más ...
Ejercicios
Ejercicio 1
Complete el modelo relacional del ejercicio “Colegio La Trinidad”,
Ejercicio 2
Desarrolle el modelo relacional para el ejercicio COMPAÑÍA DE “BOTES EL PEÑOL”. También debe tener en cuenta para este ejercicio:
Marcar llaves primarias (PK).
Marcar las llaves foráneas (FK).
En cada relación describa la cardinalidad, por ejemplo: “Un propietario es dueño de cero o muchos botes”.
Establezca las relaciones entre las entidades y su cardinalidad.
Ejercicio 3
Diseñe el modelo relacional del PPI con su equipo de trabajo, teniendo en cuenta los conceptos vistos durante este módulo.
Last updated
Was this helpful?