Está en la página 1de 18

Tema 8

Curso de Bases de Datos SQL

Diseño de
base de datos y el
modelo Entidad-Relación
Índice
Esquema 3

Ideas clave 4
8.1. ¿Cómo estudiar este tema? 4
8.2. Visión general del proceso de diseño 4
8.3. El modelo entidad-relación 7
© Universidad Internacional de La Rioja (UNIR)

8.4. Restricciones 10

Lo + recomendado 12

+ Información 15

Test 16
© Universidad Internacional de La Rioja (UNIR)

D I S E Ñ O D E B A S E S D E D AT O S Y M O D E L O E - R

Visión general del


El modelo E-R Restricciones
proceso de diseño

Estructura conceptual que


Conjunto de fases para diseñar la representa la estructura de la Cardinalidades:
BD que modele fielmente y de empresa (cliente).
forma eficiente el sistema del - Uno a uno.
cliente. Elementos: - Uno a varios.
- Varios a varios.
Fases: - Conjuntos de entidades:
objetos distinguibles de
• Determinación de las otros. Claves:
necesidades del cliente. - Conjuntos de relaciones: - Superclaves.
• Realización del modelo asociaciones entre - Clave candidatas.
conceptual. entidades.
- Clave primaria.
• Especificación de requisitos - Atributos: características
de las entidades. - Clave externa o foránea.
funcionales.
• Implementación:
Diseño lógico.
Diseño físico.

Tema 8. Esquema
Esquema

Curso de Bases de Datos SQL


3
Ideas clave

8.1. ¿Cómo estudiar este tema?

Para estudiar este tema deberás leer las páginas 169-179 de: Silberschatz, A., Korth, H.
F. y Sudarshan, S. (2006). Fundamentos de bases de datos (5a. ed.). Madrid: McGraw-Hill
España.
Disponible a través de la Biblioteca Virtual de UNIR.
Además se deberán leer las ideas clave expuestas a continuación.

C
on este tema empezamos un bloque sobre diseño de BD. Daremos una
visión general del proceso de diseño, con una introducción al modelo
Entidad-Relación y presentaremos los conceptos de cardinalidad y claves.

A continuación, te presentamos un resumen del contenido del manual de estudio


citado de Silberschatz y Korth (2006).

8.2. Visión general del proceso de diseño

E
n los temas anteriores hemos trabajado sobre un conjunto de tablas
prestablecido que nos ha permitido aprender algunos conceptos de las BD.
Ahora comenzaremos a aprender cómo diseñar las tablas que constituirán
nuestra BD.
© Universidad Internacional de La Rioja (UNIR)

El proceso de diseño es complejo y, salvo que se trate de un sistema muy pequeño,


implica varias fases. El diseñador de la BD debe conocer las necesidades de todas las
personas que trabajarán con ella, los datos con los que trabajan y las operaciones que

Curso de Bases de Datos SQL


4
Tema 8. Ideas clave
realizan. Además, tendrá que representar de forma entendible el diseño que va a
realizar y validarlo con los usuarios.

Las fases que se realizan para el proceso de diseño son:

 Fase inicial: se caracteriza por recopilar las diferentes necesidades de los usuarios
de la BD. El diseñador interactúa intensamente con expertos y usuarios para
obtener la especificación de requisitos.

 Modelo conceptual: el diseñador selecciona el modelo de datos idóneo y traduce


los requisitos en un esquema conceptual de la BD. Será una visión detallada de la
empresa siguiendo normalmente el modelo Entidad-Relación, que reproduce la
realidad en términos de entidades, atributos, relaciones y restricciones. En esta
fase, se suele crear el diagrama Entidad-Relación, que es una representación
gráfica del esquema. En este punto, el diseñador debe confirmar que se cumplen
todos los requisitos, que no hay conflictos y no hay redundancias en el diseño.

 Especificación de requisitos funcionales: los usuarios describen las operaciones


que realizarán sobre los datos (búsqueda, modificación, borrado). Se puede
revisar el esquema para asegurar que se satisfacen los requisitos funcionales.

 El paso de un modelo abstracto de datos a la implementación de la BD se puede


dividir en dos partes:
• Diseño lógico: traduce el esquema conceptual al modelo de datos del DBMS
que se vaya a utilizar. En el modelo Entidad-Relación (E-R) será un conjunto de
esquemas de relación.
 Las modificaciones del esquema lógico son complicadas de llevar a cabo, ya
© Universidad Internacional de La Rioja (UNIR)

que pueden afectar a diferentes consultas y actualizaciones dispersas por el


código fuente de la aplicación. Por tanto, es importante llevar a cabo de una
forma cuidadosa la fase de diseño.
• Diseño físico: especificar las características físicas de la BD, como la
organización de los archivos, estructuras de almacenamiento interno, etc.

Curso de Bases de Datos SQL


5
Tema 8. Ideas clave
 Las modificaciones del esquema físico en la BD son relativamente fáciles de
realizar después de que la aplicación esté creada.

Figura 1. Etapas en el proceso de diseño de una BD.


Fuente: https://www.youtube.com/watch?v=nkY6bQ-fPRs

Alternativas de diseño

En el diseño de la BD utilizamos el término entidad para referirnos a elementos del


sistema claramente identificables: personas, lugares, productos, etc. Las entidades
se relacionan entre sí de diferentes maneras y esto debe considerarse en el diseño
de la BD.

Durante el proceso de diseño, hay dos peligros importantes que debemos conocer y
evitar:

1. Redundancia. Consiste en repetir información. Por ejemplo, almacenar la


información del cliente en cada cuenta o préstamo, si consideramos el ejemplo
bancario que estamos utilizando en esta asignatura.
2. Incompletitud. Cuando el diseño no es bueno, hay cuestiones imposibles de
© Universidad Internacional de La Rioja (UNIR)

representar. Por ejemplo, si tenemos la información de los clientes con las cuentas
y los préstamos, pero no tenemos una tabla de clientes, no podremos representar
a un cliente que no tenga contratada una cuenta o un préstamo.

Curso de Bases de Datos SQL


6
Tema 8. Ideas clave
No hay un solo diseño para una BD por lo que, a veces, tendremos que
escoger el mejor según las características del sistema.

A medida que se va teniendo experiencia, se van adquiriendo estilos de


representación y se llega a una combinación entre lo que se conoce del sistema y el
estilo personal del diseñador.

8.3. El modelo entidad-relación

E
l modelo E-R permite especificar el esquema de la empresa en una única
estructura lógica global, basado en la semántica de los datos, y que utiliza
tres conceptos básicos: conjuntos de entidades, conjuntos de relaciones y
atributos.

Conjuntos de entidades
CONCEPTOS
BÁSICOS DEL Conjuntos de relaciones
MODELO E -R
Atributos

Figura 2. Conceptos básicos del modelo E-R.

Conjuntos de entidades

Una entidad es una cosa u objeto que se distingue de los demás. Tiene un conjunto
de propiedades cuyos valores permiten identificar a la entidad de forma unívoca.
© Universidad Internacional de La Rioja (UNIR)

Un conjunto de entidades es un grupo de entidades del mismo tipo que comparten


las mismas propiedades o atributos. Los atributos son propiedades descriptivas que
posee cada miembro de un conjunto de entidades.

Curso de Bases de Datos SQL


7
Tema 8. Ideas clave
Conjuntos de relaciones

Una relación es una asociación entre varias entidades. Un conjunto de relaciones es


un conjunto de relaciones del mismo tipo. La función que representa una entidad en
una relación se denomina rol de esa entidad. Normalmente, están implícitos y no se
especifican; sin embargo, son útiles cuando la relación necesita alguna aclaración,
como cuando una entidad se relaciona consigo misma.

Una relación puede tener atributos para expresar propiedades que no son de las
entidades que participan en ella, sino de la propia relación. Por ejemplo, pensemos
en una cuenta que tiene varios titulares. En este caso, tendríamos una relación entre
la entidad cliente y la entidad cuenta, llamada, por ejemplo, es_titular. Queremos
registrar la fecha de último acceso de cada titular.

En esta situación:

 Si ponemos un atributo fecha en la entidad cliente, podremos almacenar la fecha


de último acceso de ese cliente a una cuenta, pero si el cliente tiene más de una
cuenta, solo podemos guardar la fecha del último acceso a la última cuenta a la
que accedió.
 Si por el contrario, colocamos fecha en la entidad cuenta, solo podemos almacenar
la fecha de acceso, perdiendo la información del titular que accedió. Así, la fecha
de último acceso es una propiedad de la relación que se establece entre el titular
y la cuenta, y no de ninguna de las entidades.

Habitualmente, los conjuntos de relaciones son binarios, es decir, que implica solo a
dos conjuntos de entidades. Pero también podemos encontrar conjuntos de
© Universidad Internacional de La Rioja (UNIR)

relaciones ternarios, en los que participan tres entidades. En general, el número de


conjuntos de entidades que participan en un grupo de relaciones se denomina grado
del conjunto de relaciones.

Curso de Bases de Datos SQL


8
Tema 8. Ideas clave
Atributos

Para cada atributo hay un conjunto de valores permitidos denominado dominio. Los
atributos pueden ser de distintos tipos:

 Simples y compuestos: los atributos simples no tienen subpartes, mientras que los
atributos compuestos sí las tienen.
• Usar atributos compuestos es buena idea si las subpartes se usan de forma
conjunta con cierta frecuencia, pero también se pueden usar los atributos de
forma independiente.
• También permite referirse a un conjunto relacionado de atributos de forma

única, lo que simplifica el diseño. Por ejemplo, es frecuente ver un atributo


direccion que comprende los atributos simples calle, localidad,

codigo_postal.

 Monovalorados y multivalorados:
• Los atributos monovalorados son aquellos que solo toman un valor para cada
entidad. Por ejemplo, un número de préstamo.
• Sin embargo, hay atributos que pueden tomar varios valores (multivalorados).
Un ejemplo muy común de este tipo de atributos es el número de teléfono, ya
que podemos tener un solo número de teléfono o varios.

 Derivados: un atributo es derivado cuando su valor se puede obtener a partir del


valor de otros atributos o entidades. Por ejemplo, si tenemos la fecha de
nacimiento, podemos tener un atributo derivado, edad, que se calcula cada vez
que se va a usar, en función del valor del atributo almacenado y la fecha actual.
© Universidad Internacional de La Rioja (UNIR)

Curso de Bases de Datos SQL


9
Tema 8. Ideas clave
8.4. Restricciones

E
l modelo E-R puede definir una serie de restricciones a las que el contenido
de la BD debe adaptarse. En este tema, aprenderemos dos tipos de
restricciones: la cardinalidad y las claves.

Cardinalidad

La correspondencia de cardinalidades, razón de cardinalidad o simplemente


cardinalidad es el número de entidades a las que otra entidad se puede asociar
mediante un conjunto de relaciones.

Dos conjuntos de relaciones A y B, que se relacionan por el conjunto de entidades R.


Entonces, la cardinalidad será:

TIPOS DE CARDINALIDAD

1:1 Uno a uno 1:N Uno a varios N:1 Varios a uno N:N Varios a varios

Cada entidad de A se Cada entidad de A se Cada entidad de A se Cada entidad de A se


relaciona con una relaciona con relaciona una única relaciona con
entidad de B. cualquier número entidad de B. cualquier número
(cero o más) de (cero o más) de
Cada entidad de B se Cada entidad de B se
entidades de B. entidades de B.
relaciona con una relaciona con
entidad de A. Cada entidad de B se cualquier número Cada entidad de B se
relaciona con una (cero o más) de relaciona con
única entidad de A. entidades de A. cualquier número
(cero o más) de
entidades de A.

Figura 3. Tipos de cardinalidad.

Es importante recordar que para identificar la cardinalidad de una relación,


© Universidad Internacional de La Rioja (UNIR)

hay que hacer la comprobación en los dos sentidos.

Curso de Bases de Datos SQL


10
Tema 8. Ideas clave
Claves

Es necesario establecer algún mecanismo para distinguir las entidades que


pertenecen al mismo conjunto de entidades. Conceptualmente, cada entidad es
distinta y la diferencia entre ellas se debe expresar en términos de sus atributos. Por
tanto, los valores de los atributos deben permitir identificar unívocamente a una
entidad, es decir, no puede haber dos entidades con exactamente los mismos
valores en sus atributos. Distinguimos distintos tipos de entidades:

 Superclave: conjunto de uno o más atributos que permite identificar


unívocamente una entidad.
 Claves candidatas: son superclaves mínimas, contienen el mínimo número posible
de atributos que permiten identificar la entidad de forma unívoca.
 Clave primaria: es la elegida por el diseñador del conjunto de claves candidatas
para identificar a las entidades del conjunto de entidades. La clave primaria se
debe escoger de forma que sus atributos nunca cambien, como los identificadores
internos de una empresa.

Es habitual pensar en el DNI como clave primaria para las personas. No es un atributo
que suela elegirse; se prefiere usar un identificador interno, tipo id_cliente,
id_proveedor.
© Universidad Internacional de La Rioja (UNIR)

Curso de Bases de Datos SQL


11
Tema 8. Ideas clave
Lo + recomendado

Lecciones magistrales

Diseño de bases de datos y modelo entidad-relación

Uno de los principales temas que trabajamos en esta asignatura es el diseño


conceptual de base de datos. Por ello, en esta lección nos centramos en el proceso
de recopilación de datos para abordar el diseño del modelo entidad-relación, así
como en un conjunto de buenas prácticas que nos permitirán trabajar de manera más
eficiente. Comenzamos el modelado de un sistema típico de ventas, adaptado de
Oppel, A. (2010). Fundamentos de bases de datos. México D. F.: Mc Graw Hill
Educación.

Accede a la lección magistral a través del aula virtual


© Universidad Internacional de La Rioja (UNIR)

Curso de Bases de Datos SQL


12
Tema 8. Lo + recomendado
No dejes de ver

Diseño conceptual de bases de datos

En este vídeo se explica cómo hacer el diseño conceptual de la base de datos a partir
de un ejemplo. Te enfrentarás a este tipo de situaciones en tu vida laboral, por lo que
es importante que practiques situaciones típicas.

Accede al vídeo a través del aula virtual o desde la siguiente dirección web:
https://www.youtube.com/watch?v=nkY6bQ-fPRs
© Universidad Internacional de La Rioja (UNIR)

Curso de Bases de Datos SQL


13
Tema 8. Lo + recomendado
Diseño lógico y físico de bases de datos

Este vídeo continúa el ejemplo anterior, centrándose en el diseño lógico y físico. Te


animamos a completar la serie para que te familiarices con el proceso de generación
de las tablas a partir del diagrama E-R.

Accede al vídeo a través del aula virtual o desde la siguiente dirección web:
https://www.youtube.com/watch?v=21q2XhbHmNc

Transformación del diagrama entidad relación al modelo relacional

Al igual que en el anterior vídeo, en este tienes un ejemplo de generación de tablas


a partir del diseño conceptual.
© Universidad Internacional de La Rioja (UNIR)

Accede al vídeo a través del aula virtual o desde la siguiente dirección web:
https://www.youtube.com/watch?v=Pl8Hc91MUso

Curso de Bases de Datos SQL


14
Tema 8. Lo + recomendado
+ Información

A fondo

Diseño de base de datos relacionales

CampusMVP. (9 de junio de 2014). Diseñando una base de datos en el modelo relacional.


[Blog post] CampusMVP.

En el siguiente artículo se hace un recorrido por los principales conceptos del diseño
de bases de datos relacionales.

Accede a la entrada a través del aula virtual o desde la siguiente dirección web:
https://www.campusmvp.es/recursos/post/Disenando-una-base-de-datos-en-el-
modelo-relacional.aspx
© Universidad Internacional de La Rioja (UNIR)

Curso de Bases de Datos SQL


15
Tema 8. Test
Test
1. La fase inicial de la base de datos, ¿en qué consiste?
A. Determinar el modelo lógico de la base de datos.
B. Iniciar el modelo relacional.
*C. Determinar los diferentes requisitos del usuario.
D. Determinar el planteamiento económico del proyecto.

2. Las modificaciones del esquema físico de la BD:


A. No pueden realizarse una vez creada la aplicación.
B. Son habituales y no tienen repercusión una vez creada la aplicación.
C. No afectan al funcionamiento habitual de la BD.
*D. Son más sencillas que las modificaciones del esquema lógico.

3. El modelo conceptual de la BD:


A. Corresponde con la definición de las tablas que se implementarán en la BD.
B. Se refiere a la definición de los requisitos que se hace con el cliente.
*C. Es la visión general de la empresa realizada, en nuestro caso con el modelo
E-R.
D. Todas las anteriores son correctas.

4. La especificación de la cardinalidad en un modelo E-R permite:


A. La cantidad de conjuntos de entidades que se pueden relacionar por un
conjunto de relaciones.
*B. La cantidad de entidades de un conjunto que se relacionan con entidades
de otro conjunto y viceversa.
© Universidad Internacional de La Rioja (UNIR)

C. El número de atributos que se definen como clave primaria.


D. El número de atributos que se especifican en la relación.

Curso de Bases de Datos SQL


16
Tema 8. Test
5. Los atributos multivalorados son:
*A. Atributos que pueden tener diferentes valores.
B. Atributos que se descomponen.
C. Atributos que forman parte de varios conjuntos de entidades.
D. Según el caso, pueden ser cualquiera de las anteriores.

6. Cuando hablamos del diseño de la BD, la incompletitud se refiere a:


A. La existencia de valores nulos.
*B. La imposibilidad de representar algunas situaciones.
C. La fase de construcción de la BD en la que aún no se han introducido todos
los datos.
D. Ninguna de las anteriores.

7. ¿Cómo se define un conjunto de entidades?


A. Como un conjunto de diferentes esquemas conceptuales.
*B. Como un grupo de entidades que tienen los mismos atributos o
propiedades.
C. Como un conjunto de elementos que comparten superclave.
D. Como un conjunto de requisitos funcionales que pertenecen al mismo
departamento.

8. En la base de datos que estamos usando, la relación section se obtiene de la


entidad section en el diagrama E-R correspondiente al modelo conceptual. La
entidad section es una entidad débil con un discriminador compuesto por varios
atributos. ¿Cuál es el conjunto entidad identificadora de la entidad section?
A. El mismo conjunto entidad section
*B. El conjunto entidad course
© Universidad Internacional de La Rioja (UNIR)

C. El conjunto entidad section y el conjunto entidad course


D. Las entidades débiles no necesitan entidades identificadoras

Curso de Bases de Datos SQL


17
Tema 8. Test
9. En el modelo conceptual E-R que estamos usando, se presenta una interrelación
entre el conjunto entidad instructor y el conjunto entidad student. Esa
interrelación se mapea en la relación advisor. ¿Cómo se selecciona la llave
primaria de advisor?
*A. Con la unión de las llaves primarias de los conjuntos entidades participantes
B. Con la llave primaria del conjunto entidad identificadora.
C. Creando una nueva llave primaria que no tiene en cuenta las llaves primarias de
los conjuntos entidades participantes.
D. Todas las anteriores.

10. En la relación (tabla) instructor aparece el campo siguiente:


foreign key (dept_name) references department on delete set null
¿Qué decisión de diseño se tuvo en cuenta para la restricción on delete set null
que aparece en ese campo?
A. Ninguna decisión; puede eliminarse y se tendrá el mismo comportamiento.
B. Para alterar la relación y eliminar su campo dept_name.
*C. Para evitar eliminar al instructor, en caso de que desaparezca el
departamento al que pertenece.
D. Para eliminar al instructor en caso de que desaparezca el instructor al que
pertenece.
© Universidad Internacional de La Rioja (UNIR)

Curso de Bases de Datos SQL


18
Tema 8. Test

También podría gustarte