Documentos de Académico
Documentos de Profesional
Documentos de Cultura
5 créditos
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
TABLA DE CONTENIDO
2
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
TABLA DE ILUSTRACIONES
3
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
Semanas Compendio
Semana 4 Páginas 5 – 26
Semana 5 Páginas 26 – 34
Semana 6 Páginas 34 – 54
Semana 7 Páginas 55 – 63
RESULTADO DE APRENDIZAJE
Tema 1: Explicar los componentes principales de las bases de datos y las funciones básicas de los
sistemas de gestión de bases de datos. Diferenciar los tipos de bases de datos, en especial al modelo
jerárquico, de red y relacional, mediante sus características más relevantes y su estructura.
Tema 3: Optimizar la estructura relacional, esquema lógico de datos, de las tablas aplicando la
normalización y desnormalización.
4
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
El modelado de datos es el proceso de crear un modelo de datos para que los datos se
almacenen en una base de datos. Es decir, el modelado de datos es el proceso de describir
estructuras de información y ayuda en la representación visual de los datos y hace cumplir las
reglas de negocios, el cumplimiento normativo y las políticas gubernamentales sobre los datos
(Beynon-Davies, 2018). Tiene como finalidad simbolizar una parte del mundo real para almacenarla
en una base de datos (Sánchez, 2004). Los modelos de datos garantizan la coherencia en las
convenciones de nomenclatura, los valores predeterminados, la semántica y la seguridad, al tiempo
que garantizan la calidad de los datos y es el primer paso en el diseño de la base de datos.
El modelo de datos se define como un modelo abstracto que organiza la descripción de los
datos, la semántica de los datos y las restricciones de coherencia de los datos (Elmasri et al., 2002).
El modelo de datos enfatiza qué datos se necesitan y cómo deben organizarse en lugar de qué
operaciones se realizarán con los datos y se lo puede expresar como el plan de construcción de un
arquitecto, que ayuda a construir modelos conceptuales y establecer una relación entre los
elementos de datos. Un tipo de técnica de modelado de datos es el modelo entidad-relación (ER)
que se abarcará más adelante.
El modelo de datos se puede referir a un modelo abstracto que organiza elementos de datos
y estandariza cómo se relacionan entre sí y con las propiedades de las entidades del mundo real
(Ordoñez et al., 2016). Un modelo de datos determina explícitamente la estructura de los datos y
facilita la interacción del diseñador de la base de datos, la persona que programa las aplicaciones y
los usuarios finales y permiten entender la interacción de los datos dentro de una organización.
Asegura que todos los objetos de datos requeridos por la base de datos estén
representados con precisión. La omisión de datos dará lugar a la creación de informes
defectuosos y producirá resultados incorrectos.
5
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
Un modelo de datos ayuda a diseñar la base de datos en los niveles conceptual, físico y
lógico.
La estructura del modelo de datos ayuda a definir las tablas relacionales, las claves
primarias y externas y los procedimientos almacenados.
Proporciona una imagen clara de los datos base y los desarrolladores de bases de datos
pueden utilizarla para crear una base de datos física.
También es útil identificar datos faltantes y redundantes.
Facilita la comunicación y organiza los datos de los usuarios.
Aunque la creación inicial del modelo de datos requiere mucho tiempo y trabajo, a
largo plazo, hace que la actualización y el mantenimiento de su infraestructura de TI
sean más baratos y rápidos.
datos: https://www.youtube.com/watch?v=4qFZ-5i4GS8
6
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
caso de un hospital, podrían nombrarse: paciente, médico, sala, etc. Las relaciones entre ellos se
ilustran como líneas o flechas que conectan los rectángulos.
Los rectángulos se pueden anotar de varias formas para mostrar información adicional. Por
ejemplo, podría enumerar toda la información necesaria para un paciente: nombre, edad, sexo, etc.
• Mundo real: Contiene la información tal cual la percibimos como seres humanos. Es el
punto de partida
• Esquema interno: Representa los datos según el modelo concreto de un sistema gestor
de bases de datos. Por ejemplo, Oracle
• Base de datos física: Los datos tal cual son almacenados en disco.
7
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
• Entidad: Es un objeto específico que existe en el mundo real. Por ejemplo, una oficina,
departamento, empleado, computadora, cliente o producto. Las entidades deben tener
claves para poder relacionarse con otras entidades.
• Relación: Son los vínculos entre entidades. Por ejemplo, una relación entre la entidad
Empleado y la entidad Departamento puede ser que un empleado sea miembro de un
departamento. En una relación uno a uno (1:1 o 1..1), cada instancia de una entidad se
relaciona con una instancia de una segunda entidad. En una relación de uno a muchos
(1:M o 1..*), cada instancia de una entidad se relaciona con una o más instancias de una
segunda entidad. En una relación de muchos a muchos (M:N o *..*), muchas instancias
de una entidad se relacionan con muchas instancias de la otra entidad.
• Restricción: Son las reglas que obligan a los SGDB a verificar que los datos satisfagan la
semántica establecida. Las restricciones se utilizan para limitar el tipo de datos que
pueden incluirse en una tabla. Esto asegura la precisión y confiabilidad de los datos en
la tabla. Si hay alguna violación entre la restricción y la acción de datos, la acción se
cancela. Las restricciones pueden ser de nivel de columna o de tabla.
• Dominio: Es un objeto definido que contiene metadatos del modelo de datos. Es decir,
datos sobre datos, como tipos de datos, reglas de validación, dependencias o valores
predeterminados que agrupa datos y el comportamiento requerido para su
funcionamiento
8
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
Es importante recalcar que los nombres que se les otorguen a las entidades, atributos o
relaciones tienen que describir los objetos a los que se refiere, usando terminología que sea familiar
a los usuarios. Por ejemplo, si una entidad es referente a un estudiante, esta se debería llamar
Estudiante o Alumno. De esta forma, se facilita la comunicación entre diferentes usuarios que
intervienen en el modelo de datos.
• El objetivo principal del diseño de un modelo de datos es asegurarse de que los objetos
de datos ofrecidos por el equipo funcional se representen con precisión.
• El modelo de datos debe ser lo suficientemente detallado para ser utilizado para
construir la base de datos física.
• La información del modelo de datos se puede utilizar para definir la relación entre
tablas, claves primarias y externas y procedimientos almacenados.
• El modelo de datos ayuda a reconocer las fuentes correctas de datos para poblar el
modelo.
• Para desarrollar el modelo de datos, se deben conocer las características físicas de los
datos almacenados.
9
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
Para proceder con el modelo de datos, hay que considerar algunas propiedades importantes
de los datos y su calidad, mismos que deben cumplir los siguientes requisitos para asegurar un
buen desempeño del modelo:
10
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
Las reglas de negocios son una parte fundamental del modelo de datos. La regla de negocio
es una descripción breve, precisa e inequívoca de una política, procedimiento o principio dentro del
modelo de datos y es importante porque prepara el escenario para la identificación adecuada de
entidades, atributos, relaciones y restricciones (Pereira Toledo et al., 2020). Las reglas de negocio
están dirigidas a especificar qué restricciones o condiciones deben cumplirse para que un dato se
considere válido en una base de datos (Boggiano-Castillo et al., 2013).
También se la puede definir como una declaración que impone algún tipo de restricción
sobre un aspecto específico de la base de datos, como los elementos dentro de una especificación de
campo para un campo en particular o las características de una relación determinada. Una regla de
negocio se basa en la forma en que la organización percibe y utiliza sus datos, que se determina a
partir de la forma en que la organización funciona o realiza sus negocios.
En las reglas del negocio, generalmente los sustantivos se usan para describir entidades (i.e.,
estudiantes, clases) y los verbos para las relaciones entre las entidades (i.e., los estudiantes pueden
11
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
tomar una clase). Las relaciones pueden ser uni o bidireccionales como se explicó en los conceptos
fundamentales de modelo de datos. Es decir, un estudiante que repite por tercera ocasión debe
tomar una sola clase (1:1), o un estudiante de 4to semestre debe tomar 4 clases (1:M)
Para identificar las reglas de negocios, se pueden obtenerlas de diferentes fuentes como los
gerentes, los tomadores de decisiones, jefes departamentales, documentos escritos o entrevistas
directas con usuarios finales para determinar como usan los sistemas y cuáles son los
requerimientos y retos a los que se enfrentan cuando usan las aplicaciones. Las razones para
identificar y documentar las reglas de negocios dentro de una organización son para:
• Asistir a los diseñadores a entender la naturaleza, rol, alcance de los datos y los
procesos de la organización
Por ejemplo, una regla de negocio es que una persona puede tener varios vehículos y cada
uno de esos vehículos tiene que pertenecer a una persona. Otra puede ser que no se permita emitir
una factura a un cliente inexistente o controlar que el saldo negativo de una cuenta bancaria no
sobrepase una cantidad determinada.
• Reglas de restricción (rules): Restringen los datos que el sistema puede contener. Es
decir, su función principal es garantizar que el dato insertado o modificado cumpla con
cierta condición. Por ejemplo, en la columna teléfono sólo puede ingresarse datos
numéricos.
12
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
• Reglas de relación (foreign keys): Controlan las relaciones entre los datos. Por ejemplo,
todo pedido debe ser realizado por un cliente, quien debe estar en estado activo en la
base de datos. Además, una vez que el cliente ha hecho un pedido no se lo puede
eliminar, a menos que previamente se eliminen sus otros pedidos.
• Reglas de flujo (store procedures): Indican qué camino recorre la información y obliga a
qué sólo se siga ese camino.
Video: En el siguiente enlace pueden reforzar sus conocimientos de las reglas de negocios
https://www.youtube.com/watch?v=mb6ezioTpIc
Los modelos de datos definen cómo se modela la estructura lógica de una base de datos y
son entidades fundamentales para introducir la abstracción en un SGBD. Los modelos de datos
definen cómo se conectan los datos entre sí y cómo se procesan y almacenan dentro del sistema.
El primer modelo de datos podría ser modelos de datos planos, donde todos los datos
utilizados debían mantenerse en el mismo plano. Los modelos de datos anteriores no eran tan
científicos, por lo que eran propensos a introducir muchas anomalías de duplicación y
actualización. Sin embargo, los modelos de datos planos no califican estrictamente como un modelo
de datos ya que consta de una matriz bidimensional única de elementos de datos, en la que se
supone que todos los miembros de una columna determinada tienen valores similares y que todos
los miembros de una fila están relacionados entre sí.
13
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
A inicios de los 70 aparece el modelo relacional, que presentó un modelo conceptual más
sencillo y que demostraba independencia estructural. Si permite las consultas ad hoc a través del
lenguaje SQL. En 1976 surge el modelo relacional que es mucho más fácil de entender por su
aspecto semántico, pero estaba limitado al modelo de datos conceptual.
Finalmente, durante la última década han surgido modelos No SQL que se enfocan en el
meta datos (big data). Estos modelos presentan menos dependencia a la parte semántica y es
aprovechado cuando se trata de enormes cantidades de datos.
Este modelo de datos organiza los datos en una estructura en forma de un árbol invertido,
con una única raíz, a la que están vinculados todos los demás datos (Sánchez Romero & Villacis
Miranda, 2020). La jerarquía comienza con los datos raíz (o nodo raíz que es el nivelo 0) y se
expande como un árbol, agregando nodos secundarios a los nodos principales. El modelo de base
de datos jerárquico exige que cada nodo secundario tenga solo un padre, mientras que cada registro
principal puede tener uno o más registros secundarios. Los nodos que no tienen hijos se denominan
hojas y la altura representa el número de niveles de la estructura jerárquica. Uno de los principales
objetivos de las bases de datos jerárquicas es gestionar grandes volúmenes de datos.
14
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
en niveles múltiples en función de una estricta relación padre-hijo, de tal modo que un padre puede
tener más de un hijo, todos ellos localizados en el mismo nivel, pero un hijo sólo puede tener un
padre situado en el nivel inmediatamente superior al suyo. Las entidades en este modelo se
denominan segmentos (nodos) y los atributos campos. Los segmentos se organizan en niveles, así
en un mismo nivel estarían todos los segmentos que dependen de un segmento del nivel
inmediatamente superior. Este modelo describe de manera eficiente muchas relaciones del mundo
real, como el índice de un libro. La relación puede ser de uno a muchos (1:M) entre dos tipos
diferentes de datos, por ejemplo, un departamento puede tener muchos cursos, muchos profesores
y, por supuesto, muchos estudiantes.
Para recuperar datos de un modelo de datos jerárquico, es necesario recorrer todo el árbol
comenzando desde el nodo raíz. Este modelo es reconocido como el primer modelo de base de
datos creado por IBM en la década de 1960.
1
https://sites.google.com/site/fsisbdd/home/base-de-datos-jerarquica
15
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
En este tipo de modelos se establece en forma de árbol donde la raíz es un nodo ficticio. Así
tenemos que, una base de datos jerárquicas es una colección de árboles.
• Este modelo funciona bien con medios de almacenamiento de datos lineales como cintas.
• Es compatible con sistemas que funcionan a través de una relación de uno a muchos. Por
ejemplo, la estructura orgánica funcional en una empresa, representada mediante un
organigrama. Hay un presidente con muchos gerentes debajo de ellos, y esos gerentes
tienen muchos empleados debajo de ellos, pero cada empleado tiene solo un gerente.
Si bien el modelo jerárquico es adecuado para estructuras simples, solo admite relaciones de
uno a muchos (1:M). Esto significa que cada nodo hijo solo puede tener un padre. Si, por ejemplo, la
base de datos contiene los nombres de ambos padres y sus hijos que trabajan para una empresa, no
puede describir el hecho de que ambos padres de cada hijo trabajaban para esa empresa. En el
lenguaje de las bases de datos, esto sería una relación de "muchos a uno" (o "muchos a muchos" si
hay más de un hijo involucrado) y las bases de datos jerárquicas no las describen bien. Otras
desventajas incluyen:
16
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
• Los conjuntos se utilizan para definir relaciones de uno a varios entre registros que
contienen un propietario, muchos miembros.
• Un registro en el nodo miembro no puede existir sin estar relacionado con un registro
existente en el nodo propietario. Por ejemplo, un cliente debe asignarse a un agente, pero
un agente sin clientes aún puede aparecer en la base de datos.
Un conjunto se diseña con la ayuda de listas circulares enlazadas donde un tipo de registro,
el propietario del conjunto también llamado padre, aparece una vez en cada círculo, y un segundo
tipo de registro, también conocido como subordinado o hijo, puede aparecer múltiples veces en
cada círculo. Se establece una jerarquía entre dos tipos de registros en los que un tipo (A) es
17
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
propietario de otro tipo (B). Al mismo tiempo, se puede desarrollar otro conjunto donde el último
conjunto (B) es el propietario del primer conjunto (A). En este modelo, la propiedad se define por la
dirección, por lo que todos los conjuntos comprenden un gráfico dirigido general. El acceso a los
registros se desarrolla mediante la estructura de indexación de listas enlazadas circulares.
• Puede representar la redundancia en los datos de manera más eficiente que en el modelo
jerárquico.
• Puede haber más de una ruta desde un nodo anterior a los nodos sucesores.
2
https://www.dataprix.com/es/mineria-datos-aplicada-encuesta-permanente-hogares/262-bases-datos-red
18
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
El modelo de red conserva casi todas las ventajas del modelo jerárquico al tiempo que
elimina algunas de sus deficiencias. Las principales ventajas del modelo de red son:
• Capacidad para manejar más tipos de relaciones: El modelo de red puede manejar las
relaciones de uno a muchos (1: M) y de muchos a muchos (M:N), lo que es una ayuda real
para modelar las situaciones de la vida real.
• Facilidad de acceso a los datos: El acceso a los datos es más fácil y flexible que el modelo
jerárquico.
• Integridad de los datos: El modelo de red no permite que un miembro exista sin un
propietario. Por lo tanto, un usuario debe definir primero el registro de propietario y luego
el registro de miembro. Esto asegura la integridad de los datos.
• Independencia de los datos: El modelo de red es mejor que el modelo jerárquico para aislar
los programas de los complejos detalles de almacenamiento físico.
• Estándares de bases de datos: Uno de los principales inconvenientes del modelo jerárquico
fue la no disponibilidad de estándares universales para el diseño y modelado de bases de
datos. El modelo de red se basa en los estándares formulados por DBTG y aumentados por
ANSI / SPARC (Instituto Nacional Estadounidense de Estándares / Comité de Requisitos y
Planificación de Estándares) en la década de 1970. Todos los sistemas de gestión de bases
de datos de la red se ajustaban a estos estándares. Estos estándares incluyen un lenguaje de
definición de datos (DDL) y el lenguaje de manipulación de datos (DML), lo que mejora
enormemente la administración y portabilidad de la base de datos.
19
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
• Complejidad del sistema: Todos y cada uno de los registros deben mantenerse con la ayuda
de punteros, lo que hace que la estructura de la base de datos sea más compleja.
• Defectos funcionales: Debido a que una gran cantidad de punteros es esencial, la inserción,
las actualizaciones y la eliminación se vuelven más complejas.
• Flexibilidad incompleta: Aunque más flexible que el modelo jerárquico, el modelo de red
aún no puede satisfacer todas las relaciones asignando otro propietario.
El modelo relacional representa la base de datos como una colección de relaciones (Beynon-
Davies, 2018), la que expresa la base de datos como un conjunto de relaciones (tabla de valores).
Cada relación tiene columnas y filas que se denominan formalmente atributos y tuplas,
respectivamente. Cada tupla en relación es una entidad o relación del mundo real. El nombre de la
relación y el nombre de los atributos contribuyen a interpretar el sentido de cada tupla.
20
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
Ejemplo3: La Figura 5 muestra las relaciones entre Clientes que hacen Compras. Las compras
tienen uno o más Productos, y estos productos son distribuidos por proveedores.
• Cada relación tiene un nombre que indica qué tipo de tuplas tiene la relación. Por ejemplo,
una relación denominada "Estudiante" indica que tiene entidades de estudiante.
• Cada relación tiene un conjunto de atributos (nombres de columna) que representa qué tipo
de información tienen las entidades o tuplas.
3
https://sites.google.com/site/michellesyllabus/unidad-2-implementacion-de-base-de-datos-relacionales/2-2modelos-
relacionales
21
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
• Una tupla (fila) en una relación, es una entidad del mundo real, tiene un conjunto de
valores para los atributos correspondientes.
El modelo relacional es uno de los modelos de base de datos más utilizados. Algunas de
las ventajas clave de un modelo de datos relacional son:
• El acceso a los datos no se ve afectado por los cambios en la estructura de la base de datos.
• Las entradas de la base de datos se pueden modificar sin especificar todo el cuerpo.
• Evitan errores al permitir que un registro se aplique a cualquier número de otras tablas. Por
ejemplo, puede hacer referencia a un registro secundario en una relación 'es el hijo de' y
puede usar el mismo registro en una tabla de 'niños que asisten a un evento de la empresa'. Esto
ayuda a evitar la replicación y puede usar la misma información de varias formas, sin
cambiar involuntariamente ningún registro.
• Son eficientes para proporcionar otros tipos de datos ocultos en los registros, utilizando
consultas escritas en SQL. Esto le permite explorar la base de datos de formas que no son
evidentes de inmediato, como encontrar a todos los niños mayores de cierta edad o a todos
los padres con tres o más niños.
En el caso de una base de datos relacional, los datos están normalizados, lo que significa
muchas uniones. Esto puede afectar el rendimiento. Además, tiene problemas para trabajar con
datos semiestructurados porque no obedecen a la estructura tabular de los modelos de datos
asociados. En general, una base de datos relacional tiene los siguientes inconvenientes:
22
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
Una tabla se percibe como una estructura bidimensional compuesta por filas y columnas. En
una tabla se guardan los datos recogidos por un SGBD y su estructura general se asemeja a la vista
general de programas de hojas de cálculo. Una tabla también se llama relación porque el creador del
modelo relacional, E. F. Codd, usó el término relación como sinónimo de tabla. Una tabla es el
componente principal en el modelo de datos relacionales.
• Una tabla se percibe como una estructura bidimensional compuesta de filas y columnas.
• Cada fila de la tabla (tupla) representa una ocurrencia de entidad única dentro del
conjunto de entidades.
• Todos los valores de una columna deben ajustarse al mismo formato de datos.
• Cada columna tiene un rango específico de valores conocido como dominio de atributo.
• Cada tabla debe tener un atributo o una combinación de atributos que identifique de
forma única cada fila.
23
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
Tomemos un ejemplo de la vida real de la base de datos de cada estudiante que estudia en
una escuela de ingeniería. ¿Qué atributo del estudiante van a identificar de manera única a cada
uno de ellos? Se puede referir a un estudiante usando su nombre, departamento, año y sección. O
bien, puede mencionar solo el número de registro universitario del estudiante, y puede obtener
todos los demás detalles del estudiante. Una clave puede ser una combinación de uno o más de un
atributo. El motivo principal de esto es darle a cada registro una identidad única.
24
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
• Clave primaria: Es la clave candidata que se escoge como identificador de las tuplas. Se
elige clave primaria a la clave candidata que identifique mejor a cada tupla en el
contexto de la base de datos. Por ejemplo, un campo con la cédula de identidad sería
clave candidata de una tabla de clientes. Aunque, si en esa relación existe un campo de
código de cliente, este sería mejor candidato para clave principal, porque es mejor
identificador para ese contexto. En el caso de la Figura 44, la clave primaria sería
Id_cliente.
• Clave foránea: Se utiliza para establecer relaciones entre dos tablas. Una clave externa
requerirá que cada valor de una columna o conjunto de columnas coincida con la clave
principal de la tabla de referencia. Las claves externas ayudan a mantener los datos y la
integridad referencial.
El diseño de bases de datos es una colección de procesos que facilitan el diseño, desarrollo,
implementación y mantenimiento de sistemas de gestión de datos empresariales. Las bases de datos
correctamente diseñadas son fáciles de mantener, mejoran la coherencia de los datos y son rentables
25
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
• Diseño conceptual: este modelo de datos define QUÉ contiene el sistema. Este modelo
lo suelen crear las partes interesadas de la empresa y los arquitectos de datos. El
propósito es organizar, ampliar y definir conceptos y reglas comerciales.
26
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
La fase inicial del diseño de la base de datos es caracterizar completamente las necesidades de datos
de los posibles usuarios de la base de datos. El diseñador de la base de datos necesita interactuar
ampliamente con los expertos y los usuarios del dominio para llevar a cabo la tarea. El resultado de
esta fase es una especificación de los requisitos del usuario. En la siguiente fase, el diseñador elige
un modelo de datos y, aplicando los conceptos del modelo de datos elegido, traduce estos requisitos
en un esquema conceptual de la base de datos. El esquema desarrollado en esta fase de diseño
conceptual proporciona una descripción detallada de la empresa. El modelo ER se utiliza
normalmente para representar el diseño conceptual.
27
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
El esquema conceptual especifica las entidades que están representadas en la base de datos,
los atributos de las entidades, las relaciones entre las entidades y las restricciones sobre las
entidades. La fase de diseño conceptual da como resultado la creación de un diagrama entidad-
relación que proporciona una representación gráfica del esquema. El diseñador revisa el esquema
para confirmar que todos los requisitos de datos están efectivamente satisfechos y no están en
conflicto entre sí.
El esquema conceptual de alto nivel es una descripción general simplificada y detallada del
proceso de diseño de la base de datos. El primer paso que se realiza es la recopilación y el análisis
de requisitos (Museros & Sanz, 2010). Durante este paso, los diseñadores de la base de datos
entrevistan a los posibles usuarios de la base de datos para comprender y documentar sus
requisitos de datos. El resultado de este paso es un conjunto de requisitos de los usuarios escrito de
forma concisa. Estos requisitos deben especificarse de la forma más detallada y completa posible.
28
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
Una vez recopilados y analizados los requisitos, el siguiente paso es crear un esquema
conceptual para la base de datos, utilizando un modelo de datos conceptual de alto nivel. Este paso
se llama diseño conceptual. El esquema conceptual es una descripción concisa de los requisitos de
datos de los usuarios e incluye descripciones detalladas de los tipos de entidad, relaciones y
restricciones; estos se expresan utilizando los conceptos proporcionados por el modelo de datos de
alto nivel. Debido a que estos conceptos no incluyen detalles de implementación, generalmente son
más fáciles de entender y pueden usarse para comunicarse con usuarios no técnicos. El esquema
conceptual de alto nivel también se puede utilizar como referencia para garantizar que se cumplan
todos los requisitos de datos de los usuarios y que los requisitos no entren en conflicto. Este enfoque
permite a los diseñadores de bases de datos concentrarse en especificar las propiedades de los
datos, sin preocuparse por los detalles de almacenamiento e implementación. Esto facilita la
creación de un buen diseño de base de datos conceptual. El objetivo de esta etapa es elaborar un
modelo conceptual del problema. Este modelo se representa mediante algún modelo de datos de
alto nivel. Uno de los modelos más conocidos es el modelo entidad-relación (ER).
Durante o después del diseño del esquema conceptual, las operaciones básicas del modelo
de datos se pueden utilizar para especificar las consultas y operaciones de los usuarios de alto nivel
identificadas durante el análisis funcional. Esto también sirve para confirmar que el esquema
conceptual cumple con todos los requisitos funcionales identificados. Se pueden introducir
modificaciones al esquema conceptual si algunos requisitos funcionales no se pueden especificar
utilizando el esquema inicial.
Un esquema de datos conceptual identifica las relaciones de más alto nivel entre las
diferentes entidades. Las características del esquema de datos conceptuales son:
29
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
En la Figura 32, podemos ver que la única información que se muestra a través del modelo
de datos conceptual son las entidades que describen los datos y las relaciones entre esas
entidades. No se muestra ninguna otra información a través del modelo de datos conceptual.
El modelo entidad relación es el modelo conceptual más utilizado para el diseño conceptual
de base de datos y permite representar de manera simplificada los componentes que participan en
un proceso de negocio y el modo en el que estos se relacionan entre sí.
30
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
1. Entidades: El modelo contará con una entidad por cada uno de los componentes del proceso
de negocio. Así, en un negocio de venta de suscripciones a revistas, podemos tener
entidades “Cliente”, “Dirección”, “Factura”, “Producto”, o “Incidencias”, entre otras.
2. Atributos: Los atributos, componente fundamental de cada modelo entidad-relación, nos
permiten describir las propiedades que tiene cada entidad. “Nombre”, “Primer Apellido”,
“Segundo Apellido”,” Fecha de nacimiento”, “Género” o “Segmento de valor” serán
atributos de la entidad “Cliente”.
3. Relaciones: Con las relaciones se establecen vínculos entre parejas de entidades. Cada
“Cliente” tendrá una “Dirección” de envío en la que recibirá la suscripción, podrá estar
suscrito a uno o varios “Productos”, y recibirá una “Factura” con la periodicidad acordada.
El diagrama entidad relación (DER) es la expresión gráfica del modelo entidad-relación. En él las
entidades se representan utilizando rectángulos, los atributos por medio de círculos o elipses y las
relaciones como líneas que conectan las entidades que tienen algún tipo de vínculo, en algunos
cases se denotan con un rombo. También es muy común el formato de diagrama en el que los
atributos de una entidad aparecen listados en filas dentro del rectángulo que representa a esa
entidad.
Como se mencionó anteriormente, para diagramar ER se usan tres símbolos básicos que son el
rectángulo, óvalo y rombo para representar relaciones entre elementos, entidades y atributos. Hay
31
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
algunos sub-elementos que se basan en los elementos principales del diagrama ER. A continuación,
se muestran los componentes principales y sus símbolos en los diagramas ER:
• Rectángulo: Representa tipos de entidades como cosas, objetos, conceptos del mundo real
que pueden ser concretos o abstractos. Se puede asociar a las entidades con sustantivos, Por
ejemplo, una persona, casa o un carro son entidades concretas, mientras que una asignatura
o un trabajo son entidades abstractas. Una relación también se conoce como tabla. Dentro
de una tabla, cada fila representa un grupo de valores de datos relacionados. Una fila o
registro también se conoce como tupla. Las columnas de una tabla son un campo y también
se las denomina atributo. Los nombres de las tablas deben ser únicos en la base de datos.
• Elipse: Representa los atributos de una entidad. Es decir, son las características que
identifican o definen una entidad. Por ejemplo, la entidad persona tiene atributos como
cédula, nombres, apellidos, sexo, edad. Los nombres de los atributos tienen que ser únicos
dentro de cada entidad.
• Rombo: Representa tipos de relaciones entre las entidades. Es decir, cómo las entidades
interactúan o se asocian entre sí. Piensen en las relaciones como si fueran verbos. Por
ejemplo, el estudiante mencionado podría inscribirse en un curso. Las dos entidades serían
el estudiante y el curso, y la relación representada es el acto de inscribirse, que conecta
ambas entidades de ese modo.
• Líneas: Vincula atributos a tipos de entidad y tipos de entidad con otros tipos de relación.
32
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
Recuerde que: Una base de datos se compone de varias tablas y cada tabla contiene los
datos. En cada tabla, el orden o la secuencia de columnas o filas es insignificante.
Como se abordó en la subsección anterior, una entidad puede ser un lugar, una persona, un
objeto, un evento o un concepto, que almacena datos en la base de datos. Las características de las
entidades es que deben tener un atributo y una clave única. Cada entidad está formada por algunos
atributos que representan esa entidad. Como ejemplos de entidades encontramos:
33
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
Tipos de entidades
Las entidades pueden existir por sí mismas o solo pueden existir cuando están asociadas con
algún otro tipo de entidad. Podemos diferenciar dos tipos de entidades en base a su asociación:
• Entidad fuerte: Es un tipo de entidad que si tiene un atributo considerado como clave primaria.
• Entidad débil: Es un tipo de entidad que no tiene un atributo como clave primaria, es decir,
necesita de una entidad fuerte para existir. Por este motivo Puede identificarse de forma
única considerando la clave principal de otra entidad. Para eso, los conjuntos de entidades
débiles deben tener participación. Los registros que pertenecen a una entidad débil son
identificados por estar relacionados con registros específicos de una entidad fuerte.
Por ejemplo, en un video-club que renta videos, las copias tienen que estar asociadas a una
película. Por lo tanto, la entidad COPIA es débil y depende de la entidad PELÍCULA. El diagrama
ER quedaría así:
34
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
Nótese que la clave primaria de la Figura 13 está asociada con la entidad fuerte que es
CUENTA. Recordar que la entidad TRANSACCIÓN puede identificarse con un número de
transacción, pero no tiene sentido sin estar asociada con una cuenta bancaria.
Tabla 1
Siempre tiene una clave primaria. No tiene suficientes atributos para construir
una clave primaria.
4
http://dryvalleycomputer.com/index.php/bases-de-datos/el-modelo-entidadrelacion/56-entidades-fuertes-ydebiles
5
https://virtual.itca.edu.sv/Mediadores/dbd/u1/entidades_dbiles.html
35
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
Contiene una clave principal representada Contiene una clave parcial que puede
por el símbolo de subrayado. representarse por un símbolo de subrayado
discontinuo.
A menudo, algunas instancias de una entidad tienen atributos y / o relaciones que otras
instancias no tienen. Imaginen una empresa que necesita realizar un seguimiento de los pagos de
los clientes. Los clientes pueden pagar en efectivo, con cheque o con tarjeta de crédito. Todos los
pagos tienen algunos atributos comunes: fecha de pago, monto del pago, etc. Pero solo las tarjetas
de crédito tendrían un atributo de "número de tarjeta". Y para pagos con tarjeta de crédito y
cheques, es posible que necesitemos saber qué CLIENTE realizó el pago, aunque esto no es
necesario para pagos en efectivo. ¿Deberíamos crear una sola entidad de PAGO o tres entidades
separadas EFECTIVO, CHEQUE y TARJETA DE CRÉDITO? ¿Y qué pasa si en el futuro
introducimos un cuarto método de pago?
A veces, tiene sentido subdividir una entidad en diferentes tipos. Este puede ser el caso
cuando un grupo de instancias tiene propiedades especiales, como atributos o relaciones que
existen solo para ese grupo o, por otro lado, atributos que pueden ser compartidos entre entidades.
Dependiendo de si comparte o no atributos, las entidades pueden estar clasificadas en supertipo y
subtipo, donde la entidad supertipo puede ser considerada la entidad padre y la entidad subtipo
como entidad hijo:
• Supertipo: Es un tipo de entidad que tiene relación con uno o más subtipos y contiene
atributos que son comunes a los subtipos.
• Subtipo: Son subgrupos dentro de las entidades supertipo que tienen atributos únicos, pero
que serán distintos para cada subtipo. Posee las siguientes características:
36
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
Las claves primarias de las entidades supertipo y subtipo son siempre idénticas. Por
ejemplo, en el diagrama de la figura 14 se muestra una representación al diseñar la base de datos
para PERSONAS, se puede definir a una entidad supertipo llamada PERSONA y sus entidades
subtipo pueden ser ESTUDIANTE y PROFESOR. La entidad PERSONA puede tener atributos
como cédula, nombres, etc. que son comunes a las entidades subtipo descritas anteriormente. Y a las
tres entidades subtipo, se pueden agregar atributos específicos a cada una de ellas.
Otro ejemplo, se podría citar en una entidad SEGURO es supertipo y entidades como
SEGURO DE SALUD, SEGURO CONTRA ACCIDENTES o SEGURO DE MUERTE se
consideran subtipo.
Así mismo el ejemplo sobre la entidad TARJETA DE CRÉDITO es supertipo, mientras que
TARJETA DE TRANSFERENCIA, CRÉDITO DE REEMBOLSO EN EFECTIVO o TARJETA DE
CREDITO ESTUDIANTIL son consideradas entidades subtipo.
37
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
Es una propiedad de valor único de un tipo de entidad o de un tipo de relación. Por ejemplo,
una conferencia puede tener atributos: hora, fecha, duración, lugar, etc. Un atributo en el diagrama
ER está representado por un óvalo.
Tipo Descripción
Simple Los atributos simples no se pueden dividir más. Por ejemplo, el número
de teléfono de un estudiante. También se le llama valor atómico.
Multivalente Pueden tener más de un valor. Por ejemplo, un estudiante puede tener
más de un número de teléfono o dirección de correo electrónico.
Derivado Este tipo de atributo no se incluye en la base de datos física. Sin embargo,
sus valores se derivan de otros atributos presentes en la base de datos.
Por ejemplo, la edad no debe almacenarse directamente, sino que se
deriva de la fecha de nacimiento. Igual con el salario promedio que se
deduce del promedio de todos los salarios.
La razón para tener una base de datos es almacenar valores de datos sobre entidades y luego
recuperar los valores de datos sobre esas entidades según sea necesario. Para lograr esto, debe haber
alguna forma de distinguir una entidad de otra. Los identificadores de entidad realizan esta función.
Los identificadores de entidad son atributos, específicamente, atributos clave que identifican de
forma única a cada entidad.
38
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
39
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
• Identificador externo: A veces, sin embargo, los atributos de una entidad no son
suficientes para identificar sus ocurrencias sin ambigüedades. Considere, por
ejemplo, la entidad ESTUDIANTE en la Figura 17. A primera vista, puede parecer
que el atributo Registro puede ser un identificador de dicha entidad, pero no es así.
El esquema, de hecho, describe a los estudiantes matriculados en varias
universidades, y dos estudiantes matriculados en diferentes universidades podrían
tener el mismo número de registro. En este caso, para identificar a un estudiante de
forma inequívoca, necesitamos la universidad correspondiente, así como el número
de matrícula. Así, un identificador correcto para la entidad ESTUDIANTE en este
esquema se compone del atributo Registro y de la entidad UNIVERSIDAD. A esto se
le llama un identificador externo. Cabe señalar que esta identificación es posible
gracias a la relación obligatoria uno a muchos (1:M) entre las entidades
UNIVERSIDAD y ESTUDIANTE, que asocia a cada estudiante con una sola
universidad. Así, una entidad E puede ser identificada por otras entidades solo si
40
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
cada una de estas entidades está involucrada en una relación en la que E participa
con cardinalidad (1,1).
En base a lo que hemos dicho sobre el tema de los identificadores, podemos hacer algunas
observaciones generales:
• Un identificador puede involucrar uno o más atributos, siempre que cada uno de
ellos tiene una cardinalidad (1:1).
• Un identificador externo puede involucrar a una o más entidades, siempre que cada
una de ellas sea miembro de una relación en la que participa la entidad a identificar
con cardinalidad igual (1:1).
• Cada entidad debe tener un identificador (interno o externo), pero puede tener más
de uno. En realidad, si hay más de un identificador, el indicador se denomina mixto.
Cada entidad tiene al menos un identificador. En este paso, se trata de encontrar todos los
identificadores de cada una de las entidades. Los identificadores pueden ser simples o compuestos.
De cada entidad se escoger uno de los identificadores como clave primaria en la fase del diseño
lógico.
• Identificador simple: Cuando una clave principal está relacionada con una sola
columna, solo se puede asignar un atributo en el identificador principal.
41
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
• Identificador compuesto: Cuando la clave primaria está relacionada con más de una
columna
2.4.6 Relaciones
Las relaciones hacen referencia a la correspondencia o asociación entre dos o más entidades
y se se representan gráficamente mediante rombos y su nombre aparece en el interior
Según el número de tipos de entidad que están conectados, tenemos el siguiente grado de
relaciones: unaria, binaria, ternaria y n-aria
42
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
• Unaria: Existe una relación unaria cuando ambos tipos de entidad participante son
iguales. Cuando existe tal relación, decimos que el grado de relación es 1. Por ejemplo,
supongamos que en un aula tenemos muchos estudiantes que pertenecen a un club de
baile y de baloncesto y algunos de ellos son líderes de club. Entonces, un grupo
particular de estudiantes es administrado por su respectivo líder de club. Aquí, el grupo
está formado por estudiantes y también, los líderes del club se eligen entre los
estudiantes. Entonces, la entidad ESTUDIANTE es la única entidad que participa aquí.
Podemos representar esta relación usando el diagrama ER en la figura 19.
• Binaria: Existe una relación binaria cuando participan exactamente dos tipos de
entidad. Cuando existe tal relación, decimos que el grado es 2. Este es el grado de
relación más común. Es fácil lidiar con esta relación, ya que se pueden convertir
fácilmente en tablas relacionales. Por ejemplo, en la figura 20, se muestran dos tipos de
entidades: CLIENTE y CUENTA, donde cada cliente tiene una cuenta que almacena los
detalles de la cuenta del cliente. Dado que tenemos dos tipos de entidades que
participan, lo llamamos una relación binaria. Además, un CLIENTE puede tener
muchas CUENTAS, pero cada CUENTA debe pertenecer a un solo CLIENTE. Podemos
decir que es una relación binaria de uno a muchos.
43
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
• Ternaria: Existe una relación ternaria cuando participan exactamente tres tipos de
entidad. Cuando existe tal relación, decimos que el grado es 3. A medida que aumenta
el número de entidades en la relación, se vuelve complejo convertirlas en tablas
relacionales. Por ejemplo, en la figura 21, se muestran tres tipos de entidad
EMPLEADO, DEPARTAMENTO y UBICACIÓN. La relación entre estas entidades se
define como un empleado trabaja en un departamento, un empleado trabaja en una
ubicación particular. Entonces, podemos ver que tenemos tres entidades participando
en una relación, por lo que es una relación ternaria.
• N-aria: Existe una relación N-aria cuando participan "n" entidades. Entonces, cualquier
número de entidades puede participar en una relación. No hay limitación al número
máximo de entidades que pueden participar. Pero las relaciones con un grado superior
no son comunes. Esto se debe a que la conversión de relaciones de grado superior en
tablas relacionales se vuelve compleja. Estamos haciendo un modelo ER porque se
puede convertir fácilmente en cualquier otro modelo para implementar la base de
44
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
datos. Pero este beneficio no está disponible si usamos relaciones de mayor grado. Por
tanto, las relaciones binarias son más populares y utilizadas. Esta representación se
ilustra en la figura 22, en donde E1 denota el primer tipo de entidad, E2 denota el
segundo tipo de entidad y así sucesivamente. R representa la relación. Entonces, aquí
tenemos un total de 5 tipos de entidades que participan en la relación. Por lo tanto, el
grado de la relación n-aria anterior es 5
La cardinalidad se especifica para cada entidad que participa en una relación y describe el
número máximo y mínimo de ocurrencias de relación en las que una ocurrencia de entidad puede
participar. Por lo tanto, establece cuántas veces en una relación entre entidades una ocurrencia de
una de estas entidades puede estar vinculada a ocurrencias de las otras entidades involucradas.
Por ejemplo, en la figura 23 se muestra una relación ASIGNAR entre las entidades
EMPLEADO y TAREA; especificamos para la primera entidad una cardinalidad mínima igual a
uno y una cardinalidad máxima igual a cinco (1,5). Esto significa que deseamos indicar que un
empleado puede participar en un mínimo de una y un máximo de cinco ocurrencias de la relación
de ASIGNAR. En otras palabras, deseamos decir que, en nuestra aplicación, se debe asignar al
menos una tarea a un empleado, pero no más de cinco. Por otro lado, suponga que para la entidad
TAREA especificamos una cardinalidad mínima igual a cero y una cardinalidad máxima igual a 50
(0, 50). En este caso, solo imponemos la restricción de que una tarea puede aparecer en un máximo
de 50 ocurrencias de la relación ASIGNAR. Así, una determinada tarea podría no ser asignada a
ningún empleado o podría asignarse a 50 o menos empleados. En un esquema ER, las
cardinalidades mínima y máxima de la participación de las entidades en las relaciones se
especifican entre paréntesis.
45
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
• Asociación de (1:1): Cuando decimos que hay una relación 1:1 entre dos entidades,
significa que por cada ocurrencia de una entidad hay exactamente una ocurrencia de
una entidad relacionada. Las relaciones (1:1) no son muy frecuentes en los modelos de
datos. A menudo, este tipo de relación se puede capturar suficientemente dentro de una
sola entidad. Dividimos estos valores en tablas separadas con una relación de (1:1)
cuando se obtiene una ventaja de rendimiento utilizando la tabla separada. Por ejemplo,
en la figura 24 se muestra que la entidad PAÍS con la entidad CAPITAL manejan una
relación (1:1) ya que cada país tiene exactamente una capital y viceversa. La
cardinalidad “uno” puede ser representada visualmente con una raya vertical.
46
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
• Asociación de (1:M): Cuando decimos que hay una relación 1:M entre dos entidades,
significa que por cada ocurrencia de una entidad hay dos o muchas ocurrencias de una
entidad relacionada. Es una de las relaciones más comunes en las bases de datos. Por
ejemplo, en la figura 25 se muestra que cada ciudad está en exactamente un país, pero la
mayoría de los países tienen muchas ciudades. La cardinalidad “muchos” se lo
representa visualmente con el siguiente símbolo
• Asociación (M:N): Cuando decimos que hay una relación M:N entre dos entidades
relacionadas, significa que para cada ocurrencia de cualquiera de las entidades, hay dos
o muchas ocurrencias de la otra entidad. Por ejemplo, en la figura 26 se muestra que un
ESTUDIANTE puede inscribirse en muchas MATERIAS y una MATERIA puede tener
muchos ESTUDIANTES matriculados.
47
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
Para fortalecer las bases de datos, es necesario establecer la clase de membresía que se refiere
a la condición de participación, la cual puede ser de tipo obligatoria u opcional:
48
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
A veces, en los modelos ER va a existir una relación redundante. Son relaciones que ya están
indicadas por otras relaciones, aunque no directamente. Por ejemplo, En la Figura 33, si todos los
empleados pertenecen a un servicio y todos los servicios a un departamento, la asociación directa
de DEPARTAMENTO y EMPLEADO es redundante y por tanto habría que eliminarla. Sin
embargo, si se da la especificación o requisito de usuario de que un empleado puede trabajar en un
departamento sin pertenecer a ningún servicio, esta asociación no será redundante.
49
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
De forma general, podemos decir que la cobertura parcial o total permite especificar una
restricción entre el tipo de entidad genérica y sus tipos de entidad subconjunto, donde todos los
elementos del tipo de entidad genérica deben pertenecer a alguno de sus tipos de entidad
subconjunto (si es total), o no (si es parcial). La cobertura exclusiva o superpuesta permite
especificar una restricción entre los tipos de entidad subconjunto, donde los elementos que
pertenecen a un tipo de entidad subconjunto pueden pertenecer también a otro tipo de entidad
subconjunto (si es superpuesto) o no (si es exclusiva).
50
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
• Parcial: Especifica que cada entidad del conjunto de entidades puede participar o no en
la instancia de relación de ese conjunto de relaciones. Por eso, también se denomina
participación opcional. La participación parcial se representa mediante una única línea
entre el conjunto de entidades y el conjunto de relaciones. Por ejemplo, la gráfica 29 se
muestra una línea entre la entidad CURSO y la relación "enrolar", el cual significa
participación parcial. Especifica que pueden existir algunos cursos para los que no se
realizan enrolamientos o matriculaciones.
51
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
• Exclusiva: Los elementos que pertenecen a una entidad no pueden pertenecer a otra
entidad. Por ejemplo, el sexo de una persona es mujer u hombre.
• Superpuesta: Los elementos que pertenecen a una entidad pueden pertenecer también
a otra entidad. Por ejemplo, un empleado de una universidad puede ser al mismo
tiempo administrativo y dar clases.
52
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
cruzan los límites del sistema para solidificar conceptualmente las interfaces que un sistema
proporciona o requiere.
Los pasos para diseñar el esquema de datos lógicos son los siguientes:
53
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
En un modelo de datos lógicos, las claves primarias están claramente presente, mientras que
en un modelo de datos conceptual no se incluyen claves primerias.
En un modelo de datos lógicos, se deben incluir todos los atributos específicos dentro de una
entidad, mientras que en un modelo de datos conceptual no.
Las relaciones entre entidades se especifican mediante claves primarias y claves foráneas en
un modelo de datos lógicos. En un modelo de datos conceptual, las relaciones simplemente
se establecen, no se especifican, por lo que simplemente sabemos que dos entidades están
relacionadas, pero no especificamos qué atributos se utilizan para esta relación.
El objetivo del diseño lógico es construir un esquema relacional que representa correcta y
eficientemente toda la información descrita por un esquema ER producido durante la fase de diseño
54
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
conceptual. Este proceso no es solo una simple transformación de un modelo a otro por dos razones
principales:
No todos los constructos del modelo ER pueden ser transformado naturalmente al modelo
relacional
El esquema debe reestructurarse de tal manera que la ejecución de las operaciones
proyectadas de la manera más eficiente posible.
Las reglas básicas para convertir un esquema conceptual a un esquema lógico relacional son
las siguientes:
55
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
56
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
Relación varios a varios: La relación se transforma en una tabla cuyos atributos son: los
atributos de la relación y las claves de las entidades relacionadas, que pasarán a ser
claves externas. La clave de la tabla la forman todas las claves externas (figura 39).
Relación uno a varios o uno a uno: La relación de tipo uno a varios no requiere ser
transformadas en una tabla en el modelo relacional. En su lugar la tabla del lado varios
(tabla relacionada) incluye como clave externa el identificador de la entidad del lado
uno (tabla principal). En el caso de que el número mínimo de la relación sea de cero
(puede haber ejemplares de la entidad uno sin relacionar), se deberá permitir valores
nulos en la clave externa identificador2. En otro caso no se podrán permitir, ya que
siempre habrá un valor relacionado (figura 40).
57
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
En el caso de las relaciones reflexivas o recursivas se tratan de la misma forma que las
otras, sólo que un mismo atributo puede figurar dos veces en una tabla como resultado
de la transformación.
58
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
E.F Codd fue un informático que inventó el modelo relacional para la gestión de bases de
datos. Codd propuso 13 reglas conocidas popularmente como las 12 reglas de Codd para probar el
concepto de SGBD contra su modelo relacional (las reglas empiezan por la Regla cero). La regla de
Codd actualmente define qué calidad requiere un SGBD para convertirse en un SGBDR. Hasta
ahora, casi no hay ningún producto comercial que siga las 13 reglas de Codd. Incluso Oracle tiene
ocho y medio (8.5) de trece. Las reglas de Codd son las siguientes:
1. Regla cero: Regla de fundación: Esta regla establece que para que un sistema califique
como SGBDR, debe poder administrar la base de datos por completo a través de las
capacidades relacionales.
3. Regla 2: Regla de acceso garantizado: Cada dato único (valor atómico) debe ser accesible
por: Nombre de la tabla + Clave principal (Fila) + Atributo (columna). NOTA: La
posibilidad de acceder directamente a través de POINTER es una violación de esta regla.
59
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
consistente. Además, la clave principal nunca debe ser nula. La expresión en NULL debe
dar un valor nulo.
6. Regla 5: Lenguaje potente y bien estructurado: Debe existir un lenguaje bien estructurado
para proporcionar todas las formas de acceso a los datos almacenados en la base de datos,
como por ejemplo el SQL. Si la base de datos permite el acceso a los datos sin el uso de este
lenguaje, entonces represente una violación.
7. Regla 6: Regla de actualización de vistas: Todas las vistas que son teóricamente
actualizables también deben serlo por el sistema.
8. Regla 7: Operación a nivel relacional: Debe haber operaciones para Insertar, Eliminar,
Actualizar en cada nivel de relaciones. También se deben admitir operaciones de
configuración como Unión, Intersección y borrados.
11. Regla 10: Independencia de la integridad: La base de datos debe hacer cumplir su propia
integridad en lugar de utilizar otros programas. Las restricciones de clave y verificación,
disparadores, etc. deben almacenarse en el diccionario de datos. Esto también hace que
SGBDR sea independiente de las interfaces existentes.
60
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
12. Regla 11: Independencia de distribución: Una base de datos debería funcionar de forma
correcta, independientemente de su distribución en una red. Incluso si una base de datos
está distribuida geográficamente, con datos almacenados en diferentes partes, el usuario
final debe tener la impresión de que está almacenada en el mismo lugar. Esto sienta las
bases de una base de datos distribuida.
13. Regla 12: Regla de no subversión: Si se permite el acceso de bajo nivel a un sistema, no
debería poder subvertir o eludir las reglas de integridad para cambiar los datos. Esto se
puede lograr mediante algún tipo de búsqueda o cifrado.
• Gómez, Á. P., Jalca, J. J. R., García, J. G., Sánchez, O. Q., Parrales, K. M., & Merino, J. M.
(2017). Fundamentos sobre la gestión de base de datos (Vol. 23).
REFERENCIAS
Boggiano-Castillo, M. B., Pereira, A., Pérez, A., González-González, L.-M., & Pérez-Vázquez, R.
Castillo Arrojo, Y. (2018). Diseño de una base de datos aplicada al proceso de tramitación en
Facultad de Ingeniería ….
61
Bases de datos
Unidad 1: Diseño de bases de datos relacionales
Tema 2: Diseño de bases de datos
Elmasri, R., Navathe, S. B., Castillo, V. C., Pérez, G. Z., & Espiga, B. G. (2002). Fundamentos de
Museros, L., & Sanz, I. (2010). Tema 8: Diseño Lógico de Bases de Datos Relacionales.
Ordoñez, M. Z., Tapia, J. H., & Asanza, W. R. (2016). Fundamentos de base de datos.
Machala: Ecuador.
Pereira Toledo, A., Rodríguez Morffi, A., Pérez Alonso, A., & González González, L. M. (2020).
Sánchez Romero, C. R., & Villacis Miranda, S. P. (2020). Análisis, diseño y desarrollo de prototipo
62