Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Lectura fundamental
Contenido
Palabras clave: modelo entidad-relación o modelo ER, modelo relacional, entidad, conjunto de entidades, atributo o
propiedad, relación o vínculo, clave primaria, grado de una relación.
Introducción
Así como para construir un edificio es necesario tener claro cuál va a ser su utilidad, para la
elaboración de un diseño y establecer cómo se puede realizar la construcción -en térmicos técnicos-
de una base de datos, es importante tener claras las necesidades del cliente, establecer un diseño
adecuado y determinar cuál es la mejor manera de implementarla.
De forma análoga, cuando se desea establecer una base de datos, es necesario tener claro cuál es la
necesidad por la que el cliente desea desarrollarla. Determinar los requerimientos del cliente de forma
adecuada es fundamental para que los diseñadores de bases de datos y los desarrolladores construyan
una solución que se ajuste a estas necesidades de la mejor manera. Para el desarrollo de una base
de datos, frecuentemente se tienen en cuenta las siguientes fases: definición del sistema, diseño,
implementación, carga y conversión de datos, conversión de aplicaciones, prueba y validación, puesta
en marcha, monitorización y mantenimiento (Figura 1).
POLITÉCNICO
POLITÉCNICO GRANCOLOMBIANO
GRANCOLOMBIANO 2
En general podemos establecer tres niveles de abstracción en el diseño de una base de datos, así:
• El diseño conceptual
• El diseño lógico
• El diseño físico
1.1.1. Entidades
Se denomina entidad a “una cosa del mundo real con una existencia independiente” (Elmasri y
Navathe, 2007, p.55). Puede representar productos, clientes, empleados, etc. En el diagrama ER se
representa normalmente por un rectángulo de línea sencilla (Figura 2).
POLITÉCNICO
POLITÉCNICO GRANCOLOMBIANO
GRANCOLOMBIANO 3
E
Cuando la entidad no tiene atributos clave propios (Elmasri y Navathe, 2007, p.67), es decir, no
tiene clave primaria y su existencia depende de la presencia de una identidad regular, tenemos lo que
se denomina una entidad débil. En lugar de clave primaria, la entidad débil tendrá una clave parcial a
la que se le denomina también discriminador. Así, la clave parcial estará compuesta en realidad por la
clave primaria de la entidad fuerte y el discriminador. En el diagrama ER se representa normalmente
por un rectángulo de línea doble (Figura 3).
Un conjunto de entidades corresponde a “un contenedor lógico para las instancias de un tipo de
entidad y las instancias de cualquier tipo que se deriven de ese tipo de entidad” (Microsoft, 2017).
Como se verá más adelante, la instancia de una entidad corresponderá a una fila de una tabla, la cual
equivaldrá al conjunto de entidades como tal. Cada instancia tendrá los atributos del conjunto de
entidades y una clave única dentro de este, y no estará presente en otro conjunto de entidades. En el
modelo conceptual no se definen las instancias de las entidades, por lo cual no se requiere representar
el conjunto de entidades dentro de este.
POLITÉCNICO
POLITÉCNICO GRANCOLOMBIANO
GRANCOLOMBIANO 4
1.1.3. Atributos
Un atributo, también denominado propiedad, es la “información que deseamos registrar sobre las
entidades” (Date, 2001, p.13). Por ejemplo, el conjunto de entidades estudiante poseería los atributos
número de identificación, apellidos, nombres y grado, lo que se representa así:
En el diagrama ER, el atributo o propiedad se representa normalmente por una elipse (Figura 4).
• Simple: son aquellos que no se pueden dividir; por ejemplo, número cédula.
• Compuesto: está constituido por varios atributos; por ejemplo, dirección_empleado puede estar
conformado por número_calle, número_carrera, número_apto, bloque, etc.
1.1.4. Claves
Asimismo, si el atributo corresponde a un identificador del registro, es decir, dos elementos del mismo
conjunto de entidades no pueden compartir el valor de ese atributo y, como veremos más adelante,
dos filas de una tabla no pueden tener este valor repetido -pues identifica el registro como tal-,
estamos haciendo referencia a un atributo que corresponde a una clave primaria. En el diagrama ER
se representa por una elipse en la que el atributo está subrayado por una línea continua (Figura 5).
POLITÉCNICO
POLITÉCNICO GRANCOLOMBIANO
GRANCOLOMBIANO 5
A
_A_
1.1.5. Relaciones
Además de las entidades que incluyen atributos, tenemos las relaciones. Una relación o vínculo
corresponde a la interacción que tienen dos o más entidades. El grado de una relación se determina
por la cantidad de tipos de entidades participantes. Si, por ejemplo, están involucrados dos tipos de
entidad, se denominará binaria; y si están involucrados tres tipos de entidad, ternaria. En el diagrama
ER estas relaciones se representarán por un rombo y línea que las conectan con las entidades
(Figuras 7 y 8).
E1 R E2
POLITÉCNICO
POLITÉCNICO GRANCOLOMBIANO
GRANCOLOMBIANO 6
E1 R E2
E3
Si la entidad es débil, se entenderá que es una relación de identificación y su símbolo será un rombo
con doble línea (Figura 9).
POLITÉCNICO
POLITÉCNICO GRANCOLOMBIANO
GRANCOLOMBIANO 7
La razón de cardinalidad N:M en la relación binaria COMPRA, CLIENTE:PRODUCTO, señala que
un cliente puede comprar uno o muchos productos, y a su vez un producto puede ser comprado por
uno o muchos clientes.
Existen ciertas restricciones que pueden darse en la razón de cardinalidad. Por un lado, tenemos la
dependencia de existencia o participación total, que consiste en que para que tengamos instancias
de una entidad es necesario que exista una instancia de otra; es decir, cada entidad de un conjunto
de entidades participa al menos en una relación del conjunto de relaciones. Por ejemplo, para tener
una instancia de empleado debe existir una instancia de departamento en el que trabaje (no podemos
tener un empleado que no pertenezca a un departamento). Por otro parte, tenemos las restricciones
de participación o participación parcial en la que solo algunas entidades del conjunto de entidades
participan en las relaciones del conjunto de relaciones. En este caso, por ejemplo, no todos los
empleados administran un departamento.
POLITÉCNICO
POLITÉCNICO GRANCOLOMBIANO
GRANCOLOMBIANO 8
1.2. Verificación del diagrama entidad-relación
Para mantener la calidad de los diagramas, se deben incluir ciertas actividades de verificación, las
cuales se describen a continuación.
Una vez establecida la manera en la que el diagrama representa la realidad, se debe verificar que:
Los atributos que determinan cada entidad y cuáles son entidades débiles.
En síntesis, la corrección sintáctica implica que se respete el lenguaje. En ese sentido es aconsejable
utilizar herramientas CASE.
En cuanto a la corrección semántica, esta se asume cuando todos los elementos del problema utilizan
las estructuras que les corresponde. Así, es importante verificar lo siguiente:
POLITÉCNICO
POLITÉCNICO GRANCOLOMBIANO
GRANCOLOMBIANO 9
1.2.3. Minimalidad del esquema
Los elementos involucrados en el problema deben aparecer una y solo una vez en el diagrama, de tal
forma que se muestren todos los elementos del mundo real y que estos correspondan a los elementos
del esquema.
Se entiende que un modelo es expresivo cuando de manera natural expresa la realidad empleando
solo la semántica del modelo. Busca determinar cuánto comunica el modelo en términos semánticos.
El diagrama no utiliza más formalismos que los incluidos en el diagrama entidad-relación; en otras
palabras, los elementos gráficos del modelo son suficientes para modelar la realidad.
La abstracción es “el proceso mental que se aplica al seleccionar algunas características y propiedades
de un conjunto de objetos y excluir otras” (Carreño, s.f.). Permite tener una definición más ajustada
a las necesidades de los objetos involucrados en la base de datos. En general, tenemos los siguientes
mecanismos:
Clasificación / instanciación
Agregación / descomposición
Generalización / especialización.
POLITÉCNICO
POLITÉCNICO GRANCOLOMBIANO
GRANCOLOMBIANO 10
1.3.1. Abstracción por clasificación / instanciación
Una clase en general define un objeto de la realidad, pero no es el objeto de la realidad como tal, sino
solo es la definición del mismo. Un objeto se materializa cuando se crea una instancia. Lo común a
todas las instancias es que posean atributos y métodos comunes a los definidos en la clase. Así, por
ejemplo, la clase vehículo se podría instanciar en un auto rojo e instanciar otro auto azul. Tanto el auto
rojo como el azul, son clasificados como vehículos y son instancias de la clase correspondiente.
Cuando un conjunto de clases constituye una clase que las comprende, hablamos de agregación. Es
decir, por la agregación de clase constituimos una nueva que las comprende. De modo contrario,
cuando de una clase desprendemos clases que la componen hablamos de descomposición. Si
agregamos las partes chasis, carrocería, silla, llanta (en la cantidad de instancias que sea necesario)
obtenemos un automóvil. A su vez, si descomponemos un automóvil, lo podemos hacer en las partes
que corresponden a clases como tal (Figura 11).
Automóvil
Al aplicar la teoría de conjuntos, vemos como algunas clases son parte de un subconjunto de otra.
Así, entendemos como especialización “el proceso de definir un conjunto de subclases de un tipo de
entidad” (Elmasri y Navathe, 2007, p.91).
POLITÉCNICO
POLITÉCNICO GRANCOLOMBIANO
GRANCOLOMBIANO 11
Por otro lado, entenderemos como generalización “el proceso inverso de abstracción en el que
eliminamos las diferencias entre distintas entidades, identifiquemos las características comunes y las
generalizamos en una única superclase” (Elmasri y Navathe, 2007, p.93). La Figura 12 muestra un
ejemplo de generalización / especialización.
Vehículo
Aeronave
Los elementos que componen el diagrama relacional son similares a los utilizados en el modelo
entidad-relación; sin embargo, su representación varía, pues busca ajustarse al sistema de gestión de
bases de datos que vamos a emplear.
POLITÉCNICO
POLITÉCNICO GRANCOLOMBIANO
GRANCOLOMBIANO 12
2.2. Componentes del diagrama relacional
De acuerdo con Date, “dado un conjunto de n tipos o dominios Ti(i=1,2,…,n), que no son
necesariamente todos distintos, r es una relación sobre esos tipos si consta de dos partes: un
encabezado y un cuerpo” (Date, 2001, p.123). Esto corresponde a (aunque no es lo mismo que) una
tabla bidimensional, en la que las filas son los registros y las columnas los campos que corresponden a
los atributos (Tabla 1).
Tabla 1 Ejemplo de tabla para representar una relación
La primera fila o cabecera muestra los nombres de los atributos representados en campos. Las
demás filas o cuerpo reciben el nombre de tupla y almacenan instancias (registros) que pertenecen al
conjunto de entidades representadas por la relación (tabla). El grado de la tabla o grado de una relación
corresponde a la cantidad de campos que posee; por ejemplo, cuatro en la relación de la Tabla 1.
La cardinalidad de una relación corresponderá el número de tuplas que contiene. Nótese que la
cardinalidad varía debido a que continuamente se insertan o eliminan registros. Una relación se
representa a través de una tabla, pero son conceptos diferentes. Por ejemplo, una tabla puede tener
filas repetidas, mientras una relación no puede tener tuplas iguales; por consiguiente, una tabla que
represente una relación no podrá tener filas repetidas.
POLITÉCNICO
POLITÉCNICO GRANCOLOMBIANO
GRANCOLOMBIANO 13
2.2.2. Dominios
Por dominio entendemos los valores que puede tomar un atributo. Por lo general, en el marco de un
sistema de gestión de bases de datos, el dominio corresponderá a los valores aportados por un tipo de
dato, que es un “conjunto específico de valores de los datos y un conjunto de operaciones que actúan
sobre los datos” (Aguilar, 2008).
Es probable que estos tipos de datos estén definidos por el sistema y por el sistema de gestión de
bases de datos, Así INTEGER, CHAR, VARCHAR, o DATE (Date, 2001) corresponderán a datos
numéricos enteros, caracteres, cadenas de caracteres o fechas correspondientemente. De esta
manera, por ejemplo, si definimos una columna (campo / atributo) denominada fecha_nacimiento
de tipo DATE, su contenido corresponderá a una fecha con las restricciones de sintaxis y de dominio
implicadas. Suponiendo que el formato requerido sea dd-mm-aaaa, colocar a dd un valor inferior a 1 o
superior a 31 (en ocasiones 30 o 28) generaría un error. El siguiente ejemplo de esquema de relación
muestra la manera en que se pueden incluir los dominios:
Por otro lado, también es posible definir un dominio señalando el conjunto de valores que puede
tomar un dato.
2.2.3. Atributos
En el modelo relacional, un atributo corresponde a una columna o campo de una relación. Cada
atributo tendrá por lo tanto un dominio. Si D es el dominio y A el atributo, D es dominio de A y se
denotará:
D=Dom(A)
Dentro de este marco de referencia, un atributo podrá tomar los valores de un domino. Un atributo
estará asociado siempre con una relación y representa una propiedad de la misma, mientras que el
dominio no depende de las relaciones como tal. Así, varios atributos pueden tener el mismo dominio.
POLITÉCNICO
POLITÉCNICO GRANCOLOMBIANO
GRANCOLOMBIANO 14
2.2.4. Llaves
Para identificar las tuplas o para hacer referencia a ellas, existen las llaves. Podemos clasificar las llaves
en llaves primarias, llaves secundarias y llaves foráneas.
Llave primaria: es el atributo o conjunto de atributos no nulos que identifican una tupla en una relación.
Llave secundaria: es un atributo que no fue seleccionada como llave primaria, pero sus características
son únicas en una relación y corresponden solo a una tupla.
Llave foránea: es un atributo de la relación que corresponde a la llave primaria de otra relación de la
cual es referenciada una tupla.
Cuando una llave foránea de una relación haga referencia a la llave primaria de otra relación, es
necesario que la llave primaria corresponda a una tupla válida en su correspondiente relación. Por esa
razón, se aplican los descriptores PK (primary key) y FK (foreign key) para que la llave foránea no
admita valores nulos.
Lo anterior es importante, debido a que entre las operaciones que podemos ejecutar en una relación
r podemos eliminar una tupla que contenga una llave primaria que corresponda a una llave foránea de
otra relación s. Esto conllevaría a que la llave foránea de s apunte a una tupla inexistente en la relación
r, lo que haría inconsistente el modelo. Por lo tanto, para mantener la integridad referencial podemos
tomar alguna de las siguientes acciones:
Rechazar la modificación.
Asignar un valor nulo a las tuplas de la tabla de referencia s y luego eliminar la tupla
correspondiente en r.
Asignar un valor por defecto a las tuplas de la tabla de referencia s y luego eliminar la tupla
correspondiente en r.
Adicionalmente, es importante tener en cuenta que eliminar una tupla de una relación puede afectar
la integridad referencial de los registros de varias tablas de forma simultánea o en cascada.
POLITÉCNICO
POLITÉCNICO GRANCOLOMBIANO
GRANCOLOMBIANO 15
2.4. Operaciones relacionales
Son aquellas que se aplican para consultar una relación. Se reconocen las siguientes operaciones
uniarias:
• Selección (select): permite seleccionar un conjunto de tuplas de una relación que satisfaga unas
condiciones dadas. Su notación es σ_(<condicion de selección>) (R).
• Unión (union): dadas las relaciones R y S, crea una nueva relación que incluye todas las tuplas
que están incluidas en las relaciones preexistentes R o en S. Su notación es RuS.
• Intersección (intersection): dadas las relaciones R y S, crea una nueva relación que incluye solo
las tuplas que están en las relaciones preexistentes R y en S. Su notación es R∩S.
POLITÉCNICO
POLITÉCNICO GRANCOLOMBIANO
GRANCOLOMBIANO 16
• Diferencia (minus): dadas las relaciones R y S, crea una nueva relación que incluye solo las
tuplas que están R, pero que no estén en S. Su notación es R - S.
• Producto cartesiano (cartesian product) o concatenación cruzada (cross join): produce nuevas
tuplas concatenando todas las posibles combinaciones entre n relaciones. Su notación es R X S.
Concatenación (join): combina tuplas de dos relaciones en una sola. Su notación es R⋈<condicion de conexión>(S).
División (division): define una relación sobre el conjunto de atributos C, incluido en la relación R, y
que contiene el conjunto de valores de S, que en las filas de R están combinadas con cada una de las
filas de S. Su notación es R(Z)÷S(Y).
POLITÉCNICO
POLITÉCNICO GRANCOLOMBIANO
GRANCOLOMBIANO 17
Así, obtenemos el modelo lógico relacional de un control de salas en un hospital:
El diseño físico de una base de datos consta de cuatro fases, las cuales se describen a continuación.
Se debe conocer la funcionalidad que ofrece el sistema de gestión de bases de datos; soporte de
llaves primarias, foráneas y alternativas; soporte a la definición de datos, dominios y reglas de negocio;
y cómo se crean las relaciones base.
POLITÉCNICO
POLITÉCNICO GRANCOLOMBIANO
GRANCOLOMBIANO 18
3.1.2. Diseñar las relaciones base para el sistema de gestión de bases de datos
La definición de las relaciones base se hacen a través del lenguaje de definición de datos (LDD) que
corresponde a cada sistema de gestión de bases de datos. Se utiliza información obtenida del diseño
lógico, como:
• Diccionario de datos: lista estructurada de los datos que pertenecen al sistema (Tabla 2).
• Esquema relacional: este incluye relaciones, atributos, llaves primarias y foráneas, y reglas de integridad.
3.1.3. Diseñar las reglas de negocio para el sistema de gestión de bases de datos
Se deben tener en cuenta las restricciones impuestas por las reglas de negocio de la empresa. Por
ejemplo, en el caso del hospital señalado en un apartado anterior, es posible restringir que el número
de camas por salas sea inferior o igual a cinco, y que una sala no puede tener asignados más del
número de camas de la sala. Teniendo esto en cuenta, las restricciones quedarían así:
CONSTRAINT num_camas_chk CHECK (num_camas <=5)
CONSTRAINT pacientes_por_sala CHECK (NOT EXIST (SELECT
Salas_cod_sala FROM Pacientes GROUP BY Salas_cod_sala HAVING
COUNT(*)<num_camas))
POLITÉCNICO
POLITÉCNICO GRANCOLOMBIANO
GRANCOLOMBIANO 19
3.1.4. Diseñar el nivel físico
• Espacio en disco: cuánto espacio se requiere para almacenar los datos soportados por el sistema.
• Memoria principal: corresponde al tamaño de la RAM para obtener un buen desempeño del sistema.
Cada día, la seguridad se convierte en un factor crítico dentro de los negocios y organizaciones. Cada
sistema de gestión de bases de datos aporta mecanismos de seguridad. Además, se recomienda:
POLITÉCNICO
POLITÉCNICO GRANCOLOMBIANO
GRANCOLOMBIANO 20
Referencias
Aguilar, L. J. (2008). Fundamentos de Programación. Madrid: Mc Graw Hill.
Date, C. (2001). Introducción a los sistemas de bases de datos. Naucalpan de Juárez, México:
Pearson Education.
POLITÉCNICO
POLITÉCNICO GRANCOLOMBIANO
GRANCOLOMBIANO 21
INFORMACIÓN TÉCNICA
POLITÉCNICO
POLITÉCNICO GRANCOLOMBIANO
GRANCOLOMBIANO 22