Explora Libros electrónicos
Categorías
Explora Audiolibros
Categorías
Explora Revistas
Categorías
Explora Documentos
Categorías
PROLOGO
El diseo de base de datos es una de las fases ms
importantes de una metodologa de desarrollo de
Software.
Para el diseador es un gran desafo resumir e integrar
todos los requerimientos del sistema en una vista
conceptual que todo el equipo y cliente puedan
entender.
Es por eso que es tan importante elegir las mejores
prcticas para expresar forma objetiva y adaptable la
realidad percibida.
Modelo Entidad-Relacin
El Modelo Entidad-Relacin (frecuentemente abreviado Modelo ER) es un
enfoque de abstraccin usado para la comprensin de la vista conceptual de un
Plantillas Y Checklists
Para la aplicacin del contenido de este ebook he creado contenidos extras como
lo son plantillas, checklist y formatos donde puedes practicar el uso de las
instrucciones.
Revisa la carpeta Herramientas para acceder a estos recursos. A lo largo del
temario vers anotaciones que te indicarn el archivo a estudiar.
Errores
Para Hermosa Programacin es importante mejorar hasta el mximo los
contenidos que produce para sus seguidores. Por esa razn apreciara que me
contases sobre cualquier error, sugerencia de redaccin o anomala que
encuentres al leer.
Este ebook tuvo varios filtros de correccin, pero como sabes, somos humanos y
cualquier cosa se nos puede pasar por alto.
Enva tus comentarios correo jamesreveu@gmail.com. Gracias!
CONTENIDO
PARTE 1 EL MODELO ENTIDAD-RELACIN
CASO DE ESTUDIO ............................................................................................................... 13
Requerimientos del Software ......................................................................................... 15
Facultades ........................................................................................................................ 15
Instructores ..................................................................................................................... 15
Estudiantes....................................................................................................................... 15
Cursos ................................................................................................................................ 16
Consultas Identificadas .................................................................................................... 16
Visin general ..................................................................................................................... 16
1.
ENTIDADES..................................................................................................................... 19
2.
RELACIONES .................................................................................................................. 21
2.1 Grado de una Relacin ............................................................................................... 22
2.2 Cmo identificar si es pertinente usar una relacin compleja? ................... 23
2.3 Relaciones Recursivas ................................................................................................ 23
2.4 Ms de una Relacin entre dos Entidades ............................................................ 24
3.
ATRIBUTOS ..................................................................................................................... 26
3.1 Dominio de un Atributo ............................................................................................. 26
3.2 Atributos Atmicos y Compuestos .......................................................................... 26
3.3 Atributos Monovalorados y Multivariados........................................................... 27
3.4 Atributos Derivados .................................................................................................... 27
3.5 Llaves .............................................................................................................................. 28
3.5.1 Llave Candidata .................................................................................................... 28
3.5.2 Llave Primaria o Clave Primaria ...................................................................... 28
3.5.3 Llave compuesta ................................................................................................... 28
3.6 Representacin de atributos en UML ..................................................................... 29
3.7 Atributos en Relaciones ............................................................................................. 31
5.
6.
AGREGACIN................................................................................................................. 67
9.
COMPOSICIN ............................................................................................................... 67
PARTE 1
EL MODELO
ENTIDAD-RELACION
11
INTRODUCCIN
Como se vena hablando, el modelo entidad relacin surge como el estudio formal
de las caractersticas de la informacin que debe ser almacenada en una base de
datos.
Este nos permite modelar de forma general con el fin de interpretar
correctamente la situacin que deseamos solucionar.
Para demostrar la construccin de un modelo de datos, se ha creado un caso de
estudio que nos permitir comprender el temario basndonos en una situacin
apegada a la realidad. El cual seguiremos a lo largo de todo el ebook con el fin de
ejemplificar todos los conceptos.
Luego de ello veremos en detalle cada uno de los componentes de un modelo
entidad-relacin y como son representados en el diagrama correspondiente con
la notacin UML.
Partiremos definiendo el propsito de las entidades, las cuales representan a cada
uno de los objetos que nos interesa estudiar en un negocio o situacin. En seguida
analizaremos como se relacionan con otras entidades y que atributos poseen.
Por ltimo se estudiar cmo afrontar la clasificacin de las entidades en
superclases y subclases, un concepto muy usado en la Programacin Orientada a
Objetos (POO). Veremos cmo este enfoque puede refinar nuestros modelos para
mejorar su organizacin.
12
CASO DE ESTUDIO
El Instituto Educativo San Judas es un centro de
educacin tcnica fundado en el ao 2000.
Inici con tan solo 40 estudiantes en sus
instalaciones y las facultades de Tecnologas de la
informacin y Mercadeo.
Desde entonces ha tenido un crecimiento enorme,
abriendo otras 8 facultades ms y contando con
aproximadamente 350 estudiantes activos.
Debido a este crecimiento, el personal administrativo y el cuerpo docente se ha
incrementado proporcionalmente. Con ello los procesos de gestin de la
informacin se han tornado en un flujo de papelera tediosa e innecesaria. Existen
formatos fsicos para diversas actividades, lo que hace retardar las actividades de
registro y apertura de cursos.
Su Director Administrativo Carlos Cifuentes, est preocupado por las
complicaciones que se estn generando con todos los trmites que se deben llevar
a cabo.
El cree que la solucin est en la implementacin de un sistema de informacin
basado en bases de datos, ya que ha escuchado los increbles resultados que han
obtenidos los institutos cercanos con este modelo de operacin.
Al contratar nuestro servicio, Carlos nos describe la forma en que funciona el
instituto San Judas y como fluye la informacin:
En primera instancia llega el estudiante con toda su
documentacin al rea de Registro y Control, donde se reciben sus
documentos y se le autoriza el pago del semestre actual,
entregndole un recibo de pago.
Luego de pagar se matricula financieramente y acadmicamente.
La matrcula acadmica se gestiona en la faculta a la que pertenece
el nuevo alumno, aqu se le entrega informacin detallada sobre los
horarios diurnos y nocturnos de los cursos que puede ver , adems
13
14
15
Por cada curso en que se encuentre el estudiante, deben guardarse todas las
calificaciones que el profesor le asigne por su desempeo evaluado.
Cursos
Por cada curso se requiere almacenar el cdigo institucional asignado, el nombre
del curso, la descripcin del curso y los crditos que tiene. Adicionalmente se
necesita saber la fecha en la que dio inicio al curso, el semestre en que se present,
el horario que tuvo cuando se dict junto al saln donde se llev a cabo.
Debe notificarse tambin que cursos son prerrequisito de otros para evitar que
los estudiantes sigan un flujo incorrecto de su carrera. Tambin se debe saber si
un curso es presencial o es online, o si est creado para las dos modalidades.
Consultas Identificadas
1.
2.
3.
4.
5.
Visin general
El objetivo de este caso de estudio no es abordar temas de ingeniera de
requerimientos ni el anlisis de personas. Solo hemos usado un contexto simple
acomodado a la vida real para tener una gua ilustrativa y seguir una secuencia
clara para los temas que se desarrollarn a lo largo de todo el temario.
Como ves no se han usado formatos especiales de especificacin de
requerimientos o para la creacin de historias de usuario. Tampoco se ha definido
16
17
0..1
Facultad
Coordina
1..1
1..1
CP
idFacultad
Pertenece
Contiene
1..1
Pertenece
EsPrerrequisito
1..*
1..*
Curso
CP
1..*
1..*
Estudiante
idCurso
CP
1..1
1..1
Instructor
idEstudiante
CP
0..*
Supervisa
idInstructor
1..1
0..1
1..1
1..*
1..1
Tiene
1..*
HoraTrabajoInstructor
Asiste
Dicta
nota [1..n]
/notaFinal
haAprovado
1..*
OfertaCurso
Genera
CP
idOfertaCurso
1..*
0..*
1..1
Tiene
1..*
DiaOfertaCurso
18
1. ENTIDADES
La base de los modelos de datos es la entidad (Este concepto es anlogo a las
clases en POO). Una entidad es la representacin general de un conjunto de
objetos, ya sea fsicos o abstractos, que se caracterizan por tener los mismos
atributos y pertenecer a una misma familia.
Por lo general el cliente manifiesta qu entidades desea almacenar con facilidad
para tener un registro de estas. Sin embargo cuando entiendas los procesos de la
empresa encontrars entidades ocultas necesarias para la derivacin de
informacin.
A cada elemento nico perteneciente a la entidad se le llama instancia, es decir,
que el estudiante Francisco Maldonado es una instancia de la entidad Estudiante,
ya que se habla del objeto en particular como un sustantivo propio como se ve
en la Figura 1.
En el caso del colegio San Judas se pueden identificar varios ejemplos, como
Estudiante, Instructor, Curso, Horario, etc. Pero tambin pueden ser entidades que
no tengan forma fsica, como Tarea, Evaluacin, Estadstica, Venta, etc.
19
Estudiante
20
2. RELACIONES
Una relacin es un conjunto de asociaciones entre dos o ms entidades. Por lo que
se entiende que las instancias de una entidad se relacionan con las instancias de
la otra. Este vnculo se puede basar en cualquier tipo de afeccin, clculo,
dependencia, etc. Es decir, todo lo que se refiera a un verbo.
Por ejemplo, a una facultad pertenecen uno o varios instructores. En este caso el
verbo pertenecer es identifica una relacin entre las entidades Facultad e
Instructor.
Al igual que con las entidades, una relacin tiene instancias para darle trato
particular a los elementos. Veamos una representacin en redes semnticas entre
las instancias de las facultades y los instructores:
Opcionalmente puedes usar una flecha que indique la direccin desde donde se
inicia la relacin.
Veamos como representar la relacin anteriormente descrita:
Instructor
Facultad
Pertenece
22
Instructor
OfertaCurso
Dicta
Estudiante
23
Coordina
Coordinador
Instructor
Coordinado
Figura 7 Ejemplo de una Relacin Recursiva en Instructor
24
Coordina
Facultad
CP
Coordinador
Instructor
idFacultad
CP
idInstructor
Pertenece
Figura 8 Dos relaciones entre las Entidades Facultad y Coordinador
Ubicamos solo el rol de Coordinador, ya que los dems roles se mantienen igual.
25
3. ATRIBUTOS
Los atributos son propiedades de las entidades. Un
ejemplo claro seran el nombres, apellidos, fecha de
nacimiento y telfono de un estudiante. Cada uno de
estos datos es considerado un atributo, los cuales son
el insumo necesario para realizar anlisis y gestionar
ocurrencias en los sistemas de informacin.
26
27
3.5 Llaves
3.5.1 Llave Candidata
Una llave candidata es un atributo que puede llegar a comportarse como un
identificador nico de cada instancia de una entidad.
Por ejemplo, el atributo idEstudiante asignado por el instituto es una buena opcin
para diferenciar a las instancias de Estudiante, por lo que es una llave candidata.
Adems cada estudiante como ciudadano de un pas tiene asignada una
identificacin personal, por lo que este posible atributo tambin es una llave
candidata.
3.5.2 Llave Primaria o Clave Primaria
Como ves, en una entidad pueden existir varias llaves candidatas, sin embargo
debe elegirse una como la llave primaria o principal.
El objetivo es asegurar que cada instancia de una entidad se diferencie de las
dems. Esta caracterstica permite que las relaciones entre entidades se
representen con claridad, evitando la informalidad.
Puede que por el momento existan entidades que no tengan definida su llave
primaria completamente debido a que son entidades dbiles (veremos este
trmino en el siguiente apartado), as que no te preocupes por esa circunstancia.
3.5.3 Llave compuesta
No siempre una llave primaria est compuesta de un solo atributo. En ocasiones
una sola llave primaria no es suficiente para asegurar la unicidad entre las
instancias de una entidad.
En esos casos se implementa una llave compuesta, la cual se configura a partir
de dos o ms atributos llamados tambin llaves primarias parciales.
Cabe destacar que una llave compuesta puede generarse partir de llaves
candidatas, atributos que no sean llaves candidatas o una combinacin de ambos.
Un excelente ejemplo de llave compuesta se da en la entidad HoraTrabajoInstructor,
la cual representa los horarios de trabajo de cada instructor.
28
Tipo de Atributo
Notacin
Llave Primaria
{PK} {CP}
{PPK} {CPP}
Una tabulacin a la derecha
Atributo Multivalorado
Atributo Derivado
29
Facultad
Instructor
CP
CP
idInstructor
idFacultad
Pertenece
nombre
nombre
nombres
oficina
apellidos
telefono
secretaria
direccion
oficina
telefono [1..3]
salario
Figura 9 Representacin de Atributos de una Entidad
30
31
nota [1..n]
/notaFinal
haAprovado
Estudiante
OfertaCurso
1..*
CP
idEstudiante
Asiste
1..*
CP
idOfertaCurso
32