UD2_Ejemplo_Centro_Estudios

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 8

EJEMPLO CENTRO DE ESTUDIOS DIAGRAMA E/R y MODELO RELACIONAL

Ejemplo Centro de Estudios.

Enunciado
Un centro de estudios desea diseñar una base de datos para llevar el control de los alumnos matriculados
y los profesores que imparten clases en ese centro.
 De cada profesor y cada alumno se desea almacenar el nombre, apellidos, dirección, población,
dni, fecha de nacimiento, código postal y teléfono. Un alumno puede tener hermanos en el
centro, nos interesaría saber que alumnos son hermanos de otros.
 Los alumnos se pueden matricular en una o más asignaturas hasta un máximo de 8 y en una
asignatura se pueden matricular hasta un máximo de 30 alumnos por cuestiones de
disponibilidad en las aulas. De cada asignatura se desea almacenar el código de asignatura,
nombre y número de horas que se imparten a la semana.
 Un profesor del centro puede impartir varias asignaturas, pero una asignatura sólo es impartida
por un único profesor. De cada una de las asignaturas se desea almacenar también la nota que
saca el alumno y las incidencias que puedan darse con él.
 Además, se desea llevar un control de los cursos que se imparten en el centro de enseñanza. De
cada curso se guardará el código y el nombre. En un curso se imparten varias asignaturas, y una
asignatura sólo puede ser impartida en un único curso.
 Las asignaturas se imparten en diferentes aulas del centro. En el centro hay varios tipos de aulas,
entre ellas: Aulas TIC con ordenadores y acceso a Internet y aulas normales sin ordenadores. De
cada aula se quiere almacenar el código y piso del centro en el que se encuentra. De las Aulas
TIC también nos interesa saber el número de ordenadores que tiene y de las aulas normales el
número de pupitres de que dispone.
 Una asignatura se puede dar en diferentes aulas, y en un aula se pueden impartir varias
asignaturas. Se desea llevar un registro de las asignaturas que se imparten en cada aula. Para ello
se anotará el mes, día y hora en el que se imparten cada una de las asignaturas en las distintas
aulas.
 La dirección del centro también designa a varios profesores como tutores en cada uno de los
cursos. Un profesor es tutor tan sólo de un curso. Un curso tiene un único tutor. Se habrá de
tener en cuenta que puede que haya profesores que no sean tutores de ningún curso.

Se pide realizar el análisis y diseño de la base de datos. Para ello vamos a obtener el diagrama E/R
resultante (entidades, atributos, relaciones, claves, cardinalidades y otras características del modelo
Entidad Relación Extendido) y su posterior transformación al Modelo Relacional (conjunto de tablas con
sus claves correspondientes y sus relaciones)

1.- Elaboración del diagrama Entidad-Relación.

1.1. Identificación de entidades, atributos y relaciones.


Empezamos identificando las entidades, para ello leemos el texto e intentamos identificar los
sustantivos o sintagmas nominales que puedan representar algo importante en nuestro sistema de
información. Las entidades que encontramos son: ALUMNO, PROFESOR, ASIGNATURA, CURSO,
AULA (TIC, NORMAL)

Seguimos el estudio identificando los atributos. Al leer los requerimientos del sistema nos preguntamos:
¿Qué información necesitamos almacenar de las distintas entidades encontradas?

 ALUMNO: „nombre‟, „apellidos‟, „direccion‟, „poblacion‟, „DNI‟, „fecha_nacimiento‟,


„codigo_postal‟, „telefono‟
 PROFESOR: „nombre‟, „apellidos‟, „direccion‟, „poblacion‟, „DNI‟, „fecha_nacimiento‟,
„codigo_postal‟, „telefono‟
 ASIGNATURA: „codigo_asignatura‟, „nombre‟, „numero_horas‟
 CURSO: „codigo_curso‟, „nombre‟
 AULA_TIC: „codigo_aula‟, „piso‟ y „numero_ordenadores‟

Pág. 1 / 8
EJEMPLO CENTRO DE ESTUDIOS DIAGRAMA E/R y MODELO RELACIONAL

 AULA_NORMAL: „codigo_aula‟, „piso‟ y „numero_pupitres‟

Continuamos nuestro estudio identificando las relaciones, para ello volvemos a leer el texto.

¿De qué manera se relacionan las entidades que hemos descubierto en el paso anterior?

Estudiamos cómo se relacionan las entidades identificadas.

 Un alumno puede tener hermanos en el centro que también serán alumnos, por tanto aquí nos
encontramos con una relación reflexiva o cíclica donde la entidad ALUMNO se relaciona con
ella misma mediante ‘es_hermano’.
 ALUMNO se relaciona con ASIGNATURA mediante ‘matriculado’
 PROFESOR se relaciona con ASIGNATURA mediante ‘imparte’
 CURSO se relaciona con ASIGNATURA mediante ‘tiene’
 ASIGNATURA se relaciona con AULA mediante ‘se_da’
 PROFESOR se relaciona con CURSO mediante ‘es_tutor’

Ya hemos identificado todos los atributos de las entidades pero, ¿las relaciones no pueden tener
también atributos? Por supuesto que sí.

De hecho en nuestro caso de estudio encontramos que la relación „matriculado’ que asocia ALUMNO
con ASIGNATURA tendrá como atributos „nota’ e „incidencias’, ya que en los requerimientos se
especifica que para cada asignatura se quiere guardar la nota y las incidencias que puedan darse con un
alumno en dicha asignatura, esta información no es propia del alumno o de la asignatura de forma
independiente, sino que corresponde a la relación que las une, en este caso „matriculado‟.

También la relación „se_da’ entre ASIGNATURA y AULA tiene los atributos „mes’, „dia’ y „hora’. Esta
información se utilizará para llevar el control de las asignaturas impartidas en cada aula.

En cuanto a las entidades y una vez estudiadas las relaciones que hay entre ellas, ¿Podríamos
considerarlas todas como entidades fuertes, o hay alguna que en principio pueda ser una entidad
débil?

En este caso no se contempla ninguna entidad débil. Todas son fuertes.

1.2. Estudio de las cardinalidades de entidades y cardinalidades


de relaciones.
Ahora que ya sabemos cuáles son las entidades y las relaciones implicadas, ¿cómo calculamos la
cardinalidad de las entidades y por consiguiente de las relaciones?

Muy sencillo, haciéndonos la siguiente pregunta para cada entidad: una instancia de la entidad que nos
interesa, ¿con cuántas instancias se relaciona de la otra entidad que estamos estudiando? La
respuesta para cada caso es la siguiente:

En la relación ALUMNO ‘es_hermano’ de ALUMNO

 Un ALUMNO, ¿cuántos alumnos puede tener como hermanos? Podría tener como mínimo
ninguno o como máximo varios alumnos más que son sus hermanos. Así pues la cardinalidad en
un sentido sería (0,n).
 Y en el sentido contrario y aunque en una relación reflexiva no se vea muy claro, la cardinalidad
se estudiaría así: un ALUMNO, ¿de cuántos otros alumnos podría ser hermano? En este caso la
contestación sería la misma, podría no tener ningún hermano o muchos. Cardinalidad (0,n)

En la relación ALUMNO ‘matriculado’ ASIGNATURA

 Una ASIGNATURA, ¿cuántos alumnos puede tener? Según el enunciado como máximo se
pueden matricular 30 alumnos en una asignatura, no se dice nada del número mínimo de

Pág. 2 / 8
EJEMPLO CENTRO DE ESTUDIOS DIAGRAMA E/R y MODELO RELACIONAL

alumnos, suponemos que para que una asignatura se imparta debe matricularse al menos un
alumno, por tanto la cardinalidad de ALUMNO con ASIGNATURA en la relación „matriculado‟
será (1,30).
 Un ALUMNO, ¿en cuántas asignaturas puede matricularse? Un alumno puede matricularse
como mínimo en 1 asignatura y como máximo en 8, la cardinalidad será (1,8).

Para la relación PROFESOR ‘imparte’ ASIGNATURA

 Una ASIGNATURA, ¿cuántos profesores la pueden impartir? Se indica en el enunciado que sólo
puede ser impartida por un profesor, por lo que la cardinalidad será (1,1).
 Un PROFESOR, ¿cuántas asignaturas podrá impartir? Se supone que como mínimo un profesor
imparte una asignatura, el enunciado no fija el número máximo de asignaturas que puede dar,
pero sí se dice que pueden ser varias, la cardinalidad será (1,n).

Para la relación CURSO ‘tiene’ ASIGNATURA

 Una ASIGNATURA, ¿en cuántos cursos podrá estar? Una asignatura sólo puede ser impartida
en un único curso tal y como se dice en el enunciado. Por tanto la cardinalidad sería (1,1).
 Y, un CURSO, ¿cuántas asignaturas podrá tener? Por supuesto que varias asignaturas,
normalmente un curso lo forman más de una asignatura como mínimo, así tendremos como
cardinalidad (1,n).

Para la relación ASIGNATURA ‘se_da’ AULA

 En un AULA, ¿cuántas asignaturas se dan? Pues como mínimo una y como máximo varias
asignaturas, por tanto la cardinalidad sería (1,n).
 Una ASIGNATURA, ¿en cuántas aulas se puede dar? Según el enunciado en una o en varias
aulas así que la cardinalidad sería (1,n).

Para la relación PROFESOR ‘es_tutor’ CURSO

 Un CURSO, ¿cuántos tutores puede tener? Cada curso debe tener un único profesor que sea
tutor por lo que la cardinalidad es (1,1).
 Un PROFESOR, ¿de cuántos cursos puede ser tutor? Pues podemos encontrarnos profesores que
no sean tutores de ningún curso o bien que como máximo lo sean de uno. Así que la cardinalidad
será (0,1).

NOTA: es importante recordar que cuando representemos las cardinalidades de las entidades en el
diagrama E/R, cada cardinalidad estudiada no se representa en su propia entidad, sino junto a la
otra entidad con la que participa en la relación.

Estudiadas las cardinalidades de las entidades, pasamos a definir las cardinalidades de las relaciones
cogiendo en cada caso la cardinalidad máxima con la que participa cada entidad en una relación. Tenemos

 La relación “es_hermano” de tipo N:M


 La relación “matriculado” de tipo N:M
 La relación “imparte” de tipo 1:N
 La relación “tiene” de tipo 1:N
 La relación “se_da” de tipo N:M
 La relación “es_tutor” de tipo 1:1

1.3 Identificando claves candidatas y elección de clave primaria.


El siguiente paso a dar es identificar las claves candidatas y elegir la clave principal.

¿Sabemos cómo identificar las claves en una entidad? En cuanto a las claves candidatas y primarias en
cada entidad debemos analizar los atributos de la especificación que hemos identificado anteriormente
para elegir entre todos ellos el que mejor identifique en cada caso a las entidades. Cabe decir que aunque

Pág. 3 / 8
EJEMPLO CENTRO DE ESTUDIOS DIAGRAMA E/R y MODELO RELACIONAL

en la vida real las claves primarias utilizadas son del tipo código, número, id, etc. debemos elegir sólo
entre aquellos atributos que se nos dan en el documento de especificación. Así tenemos que:

Con los atributos definidos como se ha hecho anteriormente, todas las entidades tienen una única clave
candidata, así que también será su clave principal.

 ALUMNO, clave candidata y principal, „DNI‟


 PROFESOR, clave candidata y principal, „DNI‟
 ASIGNATURA, clave candidata y principal, „codigo_asignatura‟
 CURSO, clave candidata y principal, „codigo_curso‟
 AULA_TIC, clave candidata y principal, „codigo_aula‟
 AULA_NORMAL, clave candidata y principal, „codigo_aula‟

1.4 Estudio de otras características con el modelo Entidad


Relación Extendido.
¿Crees que ya hemos terminado con el estudio de nuestro diagrama? Si observas con detenimiento
los contenidos de la unidad, te fijarás que en determinadas ocasiones no se puede representar ciertas
características con el modelo Entidad-Relación y por eso surgió el modelo EER (Entidad-Relación
Extendido). Por tanto, aún nos queda estudiar si hay ciertas características a implementar.

En primer lugar el enunciado habla de dos tipos de aulas, las TIC y las normales, se diferencian en que las
primeras tienen ordenadores y acceso a Internet y las segundas no, con este matiz podemos diferenciar o
especializar la entidad AULA en dos nuevas entidades: AULA_TIC y AULA_NORMAL. La entidad
AULA almacenará la información común a los dos tipos de aula, es decir, los atributos „codigo_aula‟ y
„piso‟, mientras que los atributos „numero_ordenadores‟ y „numero_pupitres‟ corresponderán
respectivamente a las especializaciones AULA_TIC y AULA_NORMAL. Esta especialización es
exclusiva porque un AULA no puede ser a la vez AULA_TIC o AULA_NORMAL y parcial, porque
según dice el enunciado “en el centro hay varios tipos de aulas entre ellas aulas_tic y aulas normales”
pero deja a entender que también existen otros tipos de aulas.

Otra cuestión a estudiar son las entidades ALUMNO y PROFESOR. Al ser idénticos los atributos de las
ambas entidades, podríamos pensar en una generalización de estas entidades en otra superior, pero aunque
la información que almacenamos de estas dos entidades es la misma, el papel que juega cada una de ellas
en el sistema es muy diferente. Además, realizando esa generalización nuestro diagrama de entidad-
relación sería más difícil de entender y podría no cumplir algunos de los criterios de calidad, como por
ejemplo, expresividad, legibilidad o autoexplicación. No tendría mucho sentido tener mezclados a los
alumnos y a los profesores.

Comprobamos que no hay ninguna otra característica a tener en cuenta del modelo EER para nuestro caso
de estudio pero antes de representar el diagrama E/R final, tendremos que comprobar que no exista
redundancia en nuestro diagrama, sobre todo si existe algún ciclo en nuestro diseño. En nuestro caso,
ninguna de las relaciones que forman el ciclo se puede eliminar porque no existe ningún camino
alternativo para relacionar las entidades que están unidas mediante las distintas relaciones.

Y por último tendremos que comprobar que se cumplen los criterios de calidad mencionados en la
unidad, es decir, la cualidad de ser completo, la corrección, la minimalidad, la sencillez, la legibilidad y
la flexibilidad del diagrama

Pág. 4 / 8
EJEMPLO CENTRO DE ESTUDIOS DIAGRAMA E/R y MODELO RELACIONAL

1.5. Representación del diagrama E/R.


Una vez analizado todo lo anterior debemos proceder a representarlo siguiendo estrictamente la notación
elegida de entre las posibles. Es muy importante utilizar bien cada tipo de representación para no llevar a
equívocos al equipo que pueda transformar este diagrama al modelo relacional. El diagrama E/R quedaría
de la siguiente forma:

(1,n)

Pág. 5 / 8
EJEMPLO CENTRO DE ESTUDIOS DIAGRAMA E/R y MODELO RELACIONAL

2.- Paso al Modelo Relacional

2.1. Paso a tablas de entidades y sus atributos.


Empezamos nuestra transformación al Modelo Relacional:

 Todas las entidades se convierten en tablas y sus atributos en sus propios campos. Las claves
primarias las pondremos en primer lugar y las identificaremos de forma subrayada y en negrita para
distinguirlas del resto de campos de la tabla. Así tenemos las siguientes tablas de momento:

PROFESOR (DNI_profesor, nombre, apellidos, dirección, población,


fecha_nacimiento, teléfono, código_postal)
ALUMNO (DNI_alumno, nombre, apellidos, dirección, población,
fecha_nacimiento, teléfono, código_postal)
ASIGNATURA (código, nombre, número_horas)
CURSO (código, nombre)

2.2. Paso a tablas de los casos especiales.


En este caso, tanto AULA_TIC como AULA_NORMAL pueden considerarse claramente como casos de
especialización sobre la entidad AULA. (O bien AULA como una generalización de
AULA_TIC y AULA_NORMAL). Vamos a ver cómo se pasa a tablas este caso:

 Pasamos la especialización a tablas: En este caso debido a que las entidades especializadas
tienen atributos propios optamos por pasar las entidades subtipo a tablas. Además, debemos
tener en cuenta que el tipo de generalización es PARCIAL, lo que nos indica que no todas las
ocurrencias están representadas en las entidades especializadas, por tanto también es necesario
pasar a tabla la entidad AULA. De esta forma, al tener que pasar las tres tablas, optaremos por
pasar a tabla la entidad supertipo con todos sus atributos como campos y las entidades subtipo
heredarán la clave principal de AULA y además contendrán sus propios atributos como campos.
Las tablas quedarán de la siguiente forma:

AULA(código, piso)
AULA_TIC (código_aula, número_ordenadores)
AULA_NORMAL(código_aula, número_pupitres)

2.3 Paso a tablas de las relaciones y posibles atributos.


Ya hemos generado las primeras tablas de las entidades y los casos especiales, vamos a realizar el paso a
tablas de las relaciones, para lo que debemos de fijarnos en el tipo de cardinalidad de la relación. Las
relaciones muchos a muchos siempre se convierten en tabla, las relaciones uno a uno dependerá de
las cardinalidades de las entidades que participan en la relación y las relaciones uno a muchos
normalmente se propagará la clave principal de la entidad que tiene la cardinalidad máxima 1 en el
diagrama E/R hasta la entidad que tiene la cardinalidad máxima N salvo algún caso excepcional.

 Paso a tabla de las relaciones con cardinalidad muchos a muchos: Si nos fijamos en el
diagrama E/R tenemos tres relaciones de este tipo.

Las entidades ALUMNO y ASIGNATURA están relacionadas mediante “matricula” y además


la relación tiene dos atributos propios. Por tanto debemos crear la tabla “matricula” que estará
formada con las claves primarias de cada una de las entidades que participan en la relación y que
son propagadas a esta tabla formando la clave primaria conjuntamente. Además también se
incluirá como campo en la tabla los atributos de dicha relación quedando finalmente así:

matricula (DNI_alumno, cod_asig, nota, incidencias)

Pág. 6 / 8
EJEMPLO CENTRO DE ESTUDIOS DIAGRAMA E/R y MODELO RELACIONAL

Las entidades AULA y ASIGNATURA están relacionadas mediante “se_da” y además la


relación tiene tres atributos propios. Por tanto debemos crear la tabla “se_da” que estará formada
con las claves primarias de cada una de las entidades que participan en la relación y que son
propagadas a esta tabla formando la clave primaria conjuntamente. Además también se incluirá
como campo en la tabla los atributos de dicha relación quedando finalmente así:

se_da (cod_aula, cod_asig, hora, dia, mes)

La relación reflexiva o cíclica es_hermano de la entidad ALUMNO, también tiene cardinalidad


muchos a muchos, por tanto tendremos que pasarla de igual forma que hemos hecho
anteriormente. Para ello, la nueva tabla generada será “es_hermano” y estará formada por las
claves primarias de las entidades que relaciona. Como la entidad es la misma y debemos reflejar
qué alumno es hermano de otro/s, las claves propagadas se nombrarán así: DNI_alumno y
DNI_hermano.

es_hermano (DNI_alumno, DNI_hermano)

 Paso a tabla de las relaciones con cardinalidad uno a uno: Si nos fijamos en el diagrama E/R
la única relación uno a uno que tenemos es la de “es_tutor” entre PROFESOR y CURSO, por
tanto nos fijamos en las cardinalidades de sus entidades para ver si debemos crear una nueva
tabla o tan sólo es necesario propagar claves. Si nos fijamos en las cardinalidades (1,1) y (0,1)
debemos propagar la clave primaria de la entidad PROFESOR a CURSO por las cardinalidades
mínimas que observamos en el diagrama. La entidad que tiene la cardinalidad mínima 1 en el
diagrama E/R propaga su clave primaria a la entidad que tiene la cardinalidad mínima 0. Así
pues la tabla PROFESOR mantiene sus campos mientras que la tabla CURSO quedaría de la
siguiente forma:

CURSO (código, nombre, DNI_tutor)

 Paso a tabla de las relaciones uno a muchos: El resto de relaciones son de tipo uno a muchos,
y aunque alguna de ellas tenga atributo propio, es más común propagar la clave que crear una
nueva tabla (sólo casos muy excepcionales donde se produzca redundancia se utiliza la creación
de tablas). En nuestro caso es más efectiva la propagación de claves. La clave principal que se
debe propagar es la de la tabla que tiene junto a su entidad la cardinalidad máxima UNO,
a la tabla que tiene junto a su entidad la cardinalidad máxima MUCHOS. Por tanto, es
importantísimo fijarse en el diagrama E/R más que en el estudio de las cardinalidades previo.
Visualmente será más fácil saber qué entidad propaga su clave a la otra entidad.

La relación “imparte” entre ASIGNATURA y PROFESOR, propaga la clave de PROFESOR a


la tabla ASIGNATURA quedando la tabla de la siguiente forma:

ASIGNATURA (código, nombre, número_horas, DNI_prof)

La relación “tiene” entre ASIGNATURA y CURSO propaga la clave de CURSO a la tabla


ASIGNATURA quedando la tabla finalmente de la siguiente forma:

ASIGNATURA (código, nombre, número_horas, DNI_prof, cód_curso

2.4 Representación del modelo relacional.


Para la representación del modelo relacional, identificaremos en cada una de las tablas resultantes las
claves primarias con un subrayado continuo y las claves foráneas o ajenas con un subrayado discontinuo.
Además, representaremos mediante una flecha las relaciones entre todas las tablas quedando la
representación de la siguiente forma:

Pág. 7 / 8
EJEMPLO CENTRO DE ESTUDIOS DIAGRAMA E/R y MODELO RELACIONAL

Pág. 8 / 8

También podría gustarte