Sunteți pe pagina 1din 20

13/9/2014 Ender | Modelo entidad-relación, un ejemplo práctico I

+34 902 01 44 01 info@ender.es



Contacto Blog Empleo Extranet Login Soporte Remoto 

902 01 44 01 | 91 730 16 66

Modelo entidad-relación, un
ejemplo práctico I

En el desarrollo de software para empresas, el almacenamiento de la


información de un modo organizado es fundamental… la mayoría de
Pídenos
los casos en los que el programador contesta “no se puede hacer” a
un requerimiento de un cliente se debe a un error en el modelado de
información
la base de datos que funciona como soporte a la aplicación. En este
* Nombre
artículo voy a intentar explicar, con un ejemplo práctico, un modelo
entidad-relación. * e-mail

Como, de alguna forma, estamos especializados en el software de * Teléfono

gestión de empresas de enseñanza, voy a utilizar un ejemplo de uno Asunto


de esos modelos: la gestión de matriculación de los alumnos, Introduce el
incluyendo los recibos que tienen que pagar, y el pago parcial de los captcha
mismos. Voy a explicar en este artículo el funcionamiento del proceso
(para que podamos hacer el seguimiento de la implementación), las
tablas que utilizamos y los campos (de forma resumida) que
componen cada una de las tablas. De paso, daré una idea de los
Enviar
índices, procedimientos almacenados y triggers que nos pueden
resultar útiles para que el rendimiento de la base de datos sea bueno.

Descripción del proceso Últimas


de matriculación (el caso entradas

de uso) Matriculación
online para
Vamos a imaginarnos que nos encontramos en una academia de la extranet
idiomas, en la que los alumnos se matriculan y asisten a clase de de Turno
forma temporal. En este caso me voy a centrar en lo que se llaman 27 junio, 2014
“grupos abiertos”, es decir, grupos en los que cualquiera se puede

http://www.ender.es/2010/03/modelo-entidad-relacion-un-ejemplo-practico-i-matriculacion/ 1/20
13/9/2014 Ender | Modelo entidad-relación, un ejemplo práctico I

matricular (en oposición a los grupos de empresa o grupos cerrados, Últimas


que suelen funcionar de forma diferente). modificaciones
en el formato
Cuando llegamos a la academia, se nos ofrece un folleto o catálogo
SEPA,
de productos y servicios, en el que se detallan los diferentes cursos
respecto a
en los que nos podemos matricular, y las diferentes formas de pago
nuestros
que podemos utilizar. Seleccionamos uno de los cursos, la forma de
programas de
pago que más nos conviene, el horario al que vamos a asistir, y con
gestión.
esta información nos matriculamos. Como forma de pago, en este
26 mayo, 2014
caso, vamos a utilizar un pago mensual, y queremos que se nos
domicilie el pago a través de nuestra cuenta bancaria.
8 motivos
En la academia, llegado este punto, introducen en su sistema de
básicos por
información nuestros datos y nos imprimen el contrato de prestación
los que
de servicios, en el que se incluyen todos nuestros datos, el curso en
renovar el
el que nos hemos matriculado y todos los pagos que vamos a tener
diseño de la
 Inicio
que realizar mientras estemos matriculados. Nos piden, de paso, que
web
paguemos una reserva de plaza, que es una pequeña cantidad del
Empresas de Formación 20 mayo,
primer recibo.
2014
Desarrollo web
En el siguiente día de clase, nos presentamos, y el profesor
comprueba en su hoja de asistencia que estamos incluidos aenmedida
Desarrollo el
9 consejos
grupo… nos da la bienvenida, y empezamos a estudiar.
Quiénes somos para tener

El modelo de datos
éxito con tu
Casos de éxito tienda
virtual
A partir de aquí haré una descripción de la estructura de tablas y
28 enero,
columnas para almacenar la información de este proceso. Primero,
2014
algunas generalidades sobre cómo crear los campos.

Generalidades (modelo Adaptarse al


SEPA:

entidad-relación) modificaciones
en nuestro
Hay algunas cosas básicas a la hora de modelizar el modelo de datos programa de
que usamos como convenciones (nomenclatura, cosas así). Por gestión Turno
ejemplo: 14 enero, 2014

1. La clave primaria de las tablas siempre es un identificador


autoincremental. Todas las tablas tienen así un identificador
interno, mantenido por el sistema. Así, las claves ajenas son más
fáciles de mantener.
2. En general, nosotros no solemos poner campos requeridos…
preferimos hacer la gestión dentro de la lógica de negocio. Nunca
se sabe lo que te vas a encontrar, y se nos han dado casos de
campos de los que estábamos completamente seguros que eran

http://www.ender.es/2010/03/modelo-entidad-relacion-un-ejemplo-practico-i-matriculacion/ 2/20
13/9/2014 Ender | Modelo entidad-relación, un ejemplo práctico I

requeridos y hemos tenido que quitar la marca.


3. No se duplica información. Es decir, una de las reglas básica es
que la misma información no puede estar en dos sitios, salvo…
4. En muchos casos, creamos campos calculados, que permiten
acceder de forma rápida a información… por ejemplo, el importe
pendiente de un recibo, en realidad, se calcula como el importe
total del recibo menos la suma de los pagos parciales… como
hacer este cálculo cada vez que nos hace falta ralentiza el
funcionamiento del sistema, hacemos un campo calculado que se
mantiene automáticamente (en nuestro caso, a través de Triggers
de la base de datos). La información está duplicada en dos sitios,
sí, pero por motivos de rendimiento (y siempre está sincronizada).
5. En los nombres de los campos no ponemos caracteres especiales
(ni acentos, ni espacios, etc.). Aunque el gestor de base de datos
lo admita, no lo hacemos, porque luego nunca se sabe desde
dónde vas a tener que acceder.

Descripción de las
entidades
El primer paso para hacer el modelo de datos es identificar las
entidades (tablas) que vamos a tener. Según el caso de uso descrito,
las tablas necesarias son las siguientes (al menos, son las que
nosotros usamos):

Cursos: almacena la oferta formativa del centro. Representa el


catálogo o folleto que te dan al llegar al centro.
Formas de Pago: para cada curso, las distintas opciones de pago
que existen (es parte del folleto también). Trimestral, mensual,
anual, etc.
Grupos: dentro de cada curso, los diferentes horarios a los que se
puede asistir. En este caso, el modelo que utilizamos es bastante
más complejo que el que voy a describir aquí… en un artículo
posterior lo describiré en detalle.
Clientes: el que paga… puede ser el mismo que el alumno, pero
también puede que no.
Medios de pago: Contiene los diferentes métodos que los clientes
pueden usar para pagar (contado, domicilación bancaria, etc),
incluyendo las cuentas bancarias del cliente.
Alumnos: la gente que va a clase. Los clientes pueden ser
empresas (personas jurídicas), los alumnos son personas físicas.
Un mismo cliente puede tener múltiples alumnos.
Matrículas: Refleja en qué curso nos matriculamos, las fechas, la
forma de pago, etc. De forma física, se refleja en el contrato que
http://www.ender.es/2010/03/modelo-entidad-relacion-un-ejemplo-practico-i-matriculacion/ 3/20
13/9/2014 Ender | Modelo entidad-relación, un ejemplo práctico I

te dan para firmar.


Recibos: almacena los recibos que el cliente tiene que pagar (o
ha pagado) en el centro.
Pagos: esta tabla refleja los pagos que el cliente ha hecho (un
recibo no necesariamente se paga de una vez). Como antes, la
gestión de recibos y pagos que hacemos en realidad es más
compleja de lo que voy a describir aquí. En otro artículo haré una
descripción más completa.
Alumnos en grupos: refleja los alumnos que están asignados a
los distintos grupos. El alumno puede cambiar de grupo, y no
queremos perder esa información histórica, así que necesitamos
una tabla para gestionarlo.

Aquí podéis ver el modelo gráficamente:

Con PK se marcan las claves primarias, y con FK, las claves


ajenas… algunas líneas se cruzan, no lo puedo evitar. Las flechas
indican que una tabla es ‘hija’ de otra, con la punta de flecha
apuntando al padre.

Como podéis ver, sólo están indicados los campos que forman el
modelo de datos… las claves primarias y las claves ajenas, que en
cualquier caso deben estar ocultas al usuario final. En la siguiente
sección describiremos los campos de cada tabla.

Campos para las


http://www.ender.es/2010/03/modelo-entidad-relacion-un-ejemplo-practico-i-matriculacion/ 4/20
13/9/2014 Ender | Modelo entidad-relación, un ejemplo práctico I

entidades
Sólo describiré los campos más importantes, y no incluiré los campos
de clave primaria y ajena que se describen en el gráfico.

Cursos
nombre: varchar(100)
descripcion: Memo. Se utilizará, en el contrato que se imprime
para el cliente, para hacer una descripción larga del curso en el
que el alumno se está matriculando. En uno de los sistemas que
tenemos, en lugar de tener un campo memo, tenemos una tabla
separada en la que se guardan, por tipologías, distintos campos
memo, que se imprimen en distintos lugares del contrato.
fecha_inicio: date
fecha_fin: date

Formas de pago
nombre: varchar(100)
importe: float. Es el importe de cada recibo que se cobrará
numero_meses: integer. El número de meses de cada recibo. Si
es 1, se creará un recibo cada mes mientras dure la matriculación,
si es 3, uno cada tres meses, etc. En algún sistema hemos hecho,
en lugar de esto, una estructura de plantillas de recibos, con
fechas, descripciones, etc. personalizadas. Eso permite más
flexibilidad y más control, pero el modelo es bastante más
complejo.
numero_orden: integer. A la hora de presentárselo al cliente,
poder mostrar primero las que más nos interesen.
importe_matricula: float. Si además del importe del curso hay un
importe de matrícula, se marca aquí.
concepto_matricula. El concepto del recibo de matrícula, si
creamos uno.

Grupos
nombre: varchar(100)
codigo: varchar(20). Siempre viene bien tener una codificación
además del nombre. Por ejemplo, en algunos sistemas lo
utilizamos para guardar el código del grupo en la Fundación
Tripartita.
fecha_inicio: date
fecha_fin: date. Por defecto, las del curso al que pertenece el
grupo, y además estas fechas no pueden estar fuera de las fechas
del curso al que pertenecen.
http://www.ender.es/2010/03/modelo-entidad-relacion-un-ejemplo-practico-i-matriculacion/ 5/20
13/9/2014 Ender | Modelo entidad-relación, un ejemplo práctico I

lugar: varchar(100) de impartición del grupo. En general, hacemos


una gestión de aulas, pero eso lo ampliaré en otro artículo.
notas: memo, del grupo
horario: varchar(100) del grupo. En realidad, el horario se trata
como una tabla por debajo de esta, pero no voy a entrar en tanto
nivel de detalle ahora.
maximo_alumnos: Integer. Máximo número de alumnos permitidos
en el grupo.
numero_alumnos: Integer. Es el número de alumnos existentes en
el grupo. Este campo es de sólo lectura para el usuario, y es
calculado, a través de una serie de Triggers en la base de datos,
para poder saber rápidamente el número de alumnos activos en
cada grupo sin tener que estar sumando.

Clientes
nombre: varchar(100). En nuestros sistemas, normalmente, este
es el único campo requerido (por código, no en la base) que
tenemos. Así, el usuario puede dar de alta el registro aunque no
tenga todos los datos, y volver después.
primer_apellido: varchar(100)
segundo_apellido: varchar(100)
nombre_completo: varchar(300): Esto es un campo calculado, que
se mantiene con Triggers, para poder coger de forma rápida el
conjunto Nombre+’ ‘+primer_apellido+’ ‘+segundo_apellido
direccion: memo
codigo_postal: varchar(20): no hay que ser tacaño… de vez en
cuando hay que meter una dirección extranjera y el código postal
puede ser más grande.
poblacion: varchar(50)
notas_internas: memo
etc. de datos personales (profesión, teléfonos, email, etc.)

Alumnos
nombre: varchar(100). Lo mismo que en clientes, pero lo
requerido es nombre y primer apellido (en clientes es sólo nombre
por si
primer_apellido: varchar(100)
segundo_apellido: varchar(100)
nombre_completo: varchar(300):
etc. de datos personales (profesión, teléfonos, email, etc.)

Medios de pago
tipo_medio: Integer. Normalmente tiene una tabla asociada con

http://www.ender.es/2010/03/modelo-entidad-relacion-un-ejemplo-practico-i-matriculacion/ 6/20
13/9/2014 Ender | Modelo entidad-relación, un ejemplo práctico I

los tipos de medios de pago, que suelen ser: Sin Pago, Contado,
Banco
nombre_titular: varchar(100)
direccion_titular: memo
entidad: varchar(4)
oficina: varchar(4)
dc: varchar(2)
numero_cuenta: varchar(10). Si el tipo_medio es banco, entonces
se tiene que rellenar la información bancaria del cliente.
por_defecto: boolean. Se suele preguntar el medio de pago, pero
teniendo uno por defecto, para no tener que rellenarlo siempre.
Normalmente, cada cliente, al crearse, se crea un medio de pago
“contado”, y se le pone por defecto.

Matrículas
Además de los datos de curso, forma de pago, medio de pago,
alumno y cliente (esto último puede parece redundante, pero no lo
es… podemos tener el caso (yo lo he visto) de un alumno que se
matricula para estudiar, digamos, inglés y francés… el inglés lo paga
el padre y el francés la madre. Así, es necesario que cada matrícula
esté asociada con el alumno, y también con el cliente), necesitamos
los siguientes campos:

fecha_inicio: date.
fecha_fin: date. Por defecto, las del curso, pero hay gente que
puede matricularse después o terminar antes (si se da de baja,
por ejemplo).
importe: real. Por defecto, el de la forma de pago escogida, pero
puede ser también distinto… descuentos por familiares, cosas así.
Suele ser buena idea dejarlo abierto, para que el cliente lo pueda
cambiar.
motivo_baja: varchar(100). Normalmente, los motivos de baja son
una tabla separada, para luego poder obtener estadísticas de
número de bajas por tipo, cosas así.

Recibos
fecha_emision: date
fecha_cobro_completo: date
numero_recibo: varchar(20)
concepto: varchar(50)
importe_recibo: float.
importe_pendiente: float. Es un campo de sólo lectura, actualizado
a través de triggers, que permite acceder a la información sin
tener que sumar.

http://www.ender.es/2010/03/modelo-entidad-relacion-un-ejemplo-practico-i-matriculacion/ 7/20
13/9/2014 Ender | Modelo entidad-relación, un ejemplo práctico I

Pagos
fecha: date
importe: real
forma_cobro: varchar(20). Normalmente es una tabla separada,
igual que el caso de los tipos de baja. Puede ser: contado,
transferencia, tarjeta, talón, etc.

Alumnos en grupos
fecha_inicio: date
fecha_fin: date. Suele ser una intersección entre la duración del
grupo y la de la matrícula, pero cuando el alumno cambia de
grupo, para una matrícula puede haber varios registros de
alumnos en grupos. Hay que tener en cuenta también la
posibilidad de que en un mismo curso, pagando más, un alumno
pueda asistir a varios grupos (esto también lo he visto).

Triggers y
procedimientos
almacenados
El modelo de datos y la lógica del negocio están muy estrechamente
relacionados. Los sistemas de base de datos nos permiten
desarrollar triggers y procedimientos almacenados, lo que es muy
conveniente para dejar trozos de la lógica de negocio asociados con
la base de datos, tanto por motivos de organización del código como
por motivos de rendimiento (un procedimiento almacenado es varios
órdenes de magnitud más rápido que hacer el mismo proceso a
través de un lenguaje de programación).

En el ejemplo que estoy describiendo, hay varios triggers y


procedimientos que se usan:

Actualización de los campos “NombreCompleto” de alumnos y


clientes: normalmente, es un trigger BEFORE INSERT y BEFORE
UPDATE, que actualiza el campo en base al contenido del
nombre y los apellidos.
Actualización del campo “ImportePagado” de recibos, AFTER
INSERT, UPDATE y DELETE de pagos, que actualiza el campo
ImportePendiente de recibos como la suma de los pagos de ese
recibo.
Es habitual hacer un procedimiento CREARRECIBOS, que se
ejecuta en el proceso de creación de la matrícula (o un trigger

http://www.ender.es/2010/03/modelo-entidad-relacion-un-ejemplo-practico-i-matriculacion/ 8/20
13/9/2014 Ender | Modelo entidad-relación, un ejemplo práctico I

AFTER INSERT), que crea los recibos de la matrícula en base al


importe y forma de pago seleccionadas.

En las próximas semanas continuaré esta serie de artículos,


describiendo otros submodelos de sistemas que hemos
desarrollado… algunas ideas que tengo:

1. Gestión de horarios y citas


2. Facturación
3. Gestión de horas trabajadas
4. Stock

Espero que este ejemplo de modelo entidad-relación os sirva de


ayuda, me gustará leer vuestros comentarios.

29 marzo, 2010 Por Jonathan Blog tecnológico 35 comentarios

Acerca del autor

Networking profesional, la crisis como excusa para hacer buenos


amigos
Avanza 2 – Puesta en marcha

Entradas relacionadas
Matriculación Últimas 8
online para modificaciones motivos
la extranet en el formato básicos
de Turno SEPA, por los
27 junio, 2014 respecto a que
nuestros renovar
programas de el
9 Adaptarse al Integración
gestión. diseño
consejos SEPA: de los
26 mayo, 2014 de la
para modificaciones portales de
web
tener en nuestro oferta de
20
éxito programa de cursos en
mayo,
con tu gestión Turno Atenea
2014
tienda 14 enero, 2014 19
virtual diciembre,
28 enero, 2013
http://www.ender.es/2010/03/modelo-entidad-relacion-un-ejemplo-practico-i-matriculacion/ 9/20
13/9/2014 Ender | Modelo entidad-relación, un ejemplo práctico I
28 enero, 2013
35 comentarios
2014 en “Modelo entidad-
relación, un ejemplo práctico I”
wilson 11 abril, 2010 at 3:20 pm

Gracias amigo exelente articulo saludos desde


colombia..

Maria 4 mayo, 2010 at 12:14 pm

Muchas GRacias, me fue de gran ayuda Salu2

zitonguito 12 mayo, 2010 at 2:14 pm

Excelente muy claro y bien explicado. Y me fascino su


menu !!!

s0lecito 9 junio, 2010 at 9:57 pm

hi ! tienes el modelo relacion de facturacion pok necesito


uno para hacer mi trabajo en java!!! avisame please! mi
correo es lu_bq@hotmail.com

JOSE 7 septiembre, 2010 at 8:04 am

COM PUEDO HACER ESTO EN DIAGRAMA E/R

1.- La empresa de desarrollo de software ABC.NET tiene


en la actualidad 5 proyectos en ejecución y 4 proyectos
por iniciar. Cada uno de los proyectos incluye software,
equipos y repuestos (hardware) que son abastecidos por
8 empresas mayoristas. El gerente general desea que
se elabore un reporte donde se indique la cantidad de
productos que cada proveedor abasteció a cada uno de
los proyectos. Dibujar el diagrama E/R.

2.-El instituto de computación IST dicta cursos libres


(Windows XP, Word 2007, SQL Server 2005, etc.) para
público en general. Los cursos tienen una duración de
24 horas académicas (6 sesiones de 4 horas cada una)
y se dictan en las 24 aulas ubicadas en los tres pisos del

http://www.ender.es/2010/03/modelo-entidad-relacion-un-ejemplo-practico-i-matriculacion/ 10/20
13/9/2014 Ender | Modelo entidad-relación, un ejemplo práctico I

local principal (8 laboratorios por piso). Cada curso tiene


asignado un día de la semana, horas en la que se dicta
el curso y un laboratorio (solo un laboratorio) desde el
inicio hasta el fin del curso.
El director requiere un reporte donde se indique:
Día Hora Laboratorio Curso
Lunes 8:00-12:00 L201 SQL Server 2005
Dibujar el diagrama E/R
Nota: Para los ejercicios propuestos indique los atributos
que considere necesarios según su criterio.

Domingo 7 septiembre, 2010 at 9:14 am

Bueno, obviamente no te voy a resolver el ejercicio, pero


sí te puedo dar algunas guías de cómo proceder:

Primero, identifica las entidades… para hacer eso


piensa para empezar en cosas que existan en el mundo
real. Por ejemplo, en el primer caso, podrías usar
proyectos, materiales y proveedores (y más cosas,
claro).

Para cada una de las entidades, busca primero campos


(atributos) que la definan, y después relaciones. Por
ejemplo: los proyectos tendrán un nombre, posiblemente
un cliente (que puede ser otra entidad), una fecha de
inicio y una fecha de fin.

Al definir los atributos puede que te encuentres con más


entidades.

Una vez definidos los atributos, busca las relaciones.


Por ejemplo, en la especificación te dicen que cada
proyecto incluye software, equipos y repuestos… estas
son las frases que te indican una relación uno a muchos
(un proyecto tiene muchos elementos de software, cosas
así)…

marcos 13 septiembre, 2010 at 2:31 am

interesante gracias ……………………….

Edilson 27 noviembre, 2010 at 2:48 pm

http://www.ender.es/2010/03/modelo-entidad-relacion-un-ejemplo-practico-i-matriculacion/ 11/20
13/9/2014 Ender | Modelo entidad-relación, un ejemplo práctico I

he una preguntik este modelo no violaria principios de


diagrama entidad relacion como la circularidad

Domingo 29 noviembre, 2010 at 11:36 am

No debería, porque este modelo está en producción


ahora mismo. ¿En qué entidades ves el problema?

EdriamFree 8 febrero, 2011 at 4:47 pm

Hola, estoy en un nuevo proyecto , que ya estaba


desarrollado, y ahora soy la coordinadora de este
proyecto. llego a pedir modelo entidad relacion de una
base de datos de 700 tablas aprox y me dice el DBA que
no lo tienen y me entregan el Diccionario de datos(
imcompleto por cierto) qué me recomiendas para iniciar
con el levantamiento de modelo?

Gracias.

Domingo 8 febrero, 2011 at 6:18 pm

Hola,

Pues… que no te pase nada! Lo primero que necesitas


es asegurarte de que las relaciones en la base de datos
están definidas como claves ajenas (si no, no te quedará
más remedio que hacerlo a mano, con mucha
paciencia).

Si las relaciones están correctamente creadas, puedes


buscar una herramienta que te ayude a dibujar los
modelos, presentándote las tablas y sus relaciones, para
que fácilmente las puedas colocar en tu gráfico.

Algunas opciones:

http://www.embarcadero.com/products/dbartisan
http://squirrel-sql.sourceforge.net/ (open source)
http://www.sqlmaestro.com/

Suerte!

Domingo

http://www.ender.es/2010/03/modelo-entidad-relacion-un-ejemplo-practico-i-matriculacion/ 12/20
13/9/2014 Ender | Modelo entidad-relación, un ejemplo práctico I

walter 21 mayo, 2011 at 4:49 am

hola gracias por compartir este material, tengo una duda


en el colegio donde enseño, esta compuesto por tres
niveles (inicial, primaria, secundaria) y cada nivel en
grados (primer grado, segundo, …. quinto grado) y los
alumnos están agrupados en aulas según su
rendimiento académico como puedo hacer para
adaptarlo a modelo que presenta en este artículo.

Domingo 21 mayo, 2011 at 10:51 am

Hola walter,

Pues… puedes poner una clase más por encima de


cursos, que se llame “niveles”, en la que das de alta
inicial, primaria y secundaria.

En cursos, crearías, por ejemplo: Inicial 2011/12,


Primaria 2011/12, Secundaria 2011/12.

A la hora de crear los grupos, crearías, por ejemplo,


“Inicial Grado 1″, e incluirías los alumnos. Si quieres
posteriormente filtrar más fácilmente por grados, creas
una clase nueva “grados” y la asocias con los grupos.

Por último, creas una clase “aulas” (nosotros la tenemos,


no la incluí en este ejemplo para no alargarlo), que
asocias con los grupos. Así, creo, tienes todo recogido.

Saludos!

MARY 7 febrero, 2012 at 10:37 pm

hola, sta muy interesante m gustaria que subieran mas


ejemplos.
gracias…

Fidel 12 febrero, 2012 at 2:47 am

No veo para nada tu modelo de datos E-R, y encima


pones ejemplo practico… zzz

Kevin RC 22 junio, 2012 at 6:26 pm

http://www.ender.es/2010/03/modelo-entidad-relacion-un-ejemplo-practico-i-matriculacion/ 13/20
13/9/2014 Ender | Modelo entidad-relación, un ejemplo práctico I

muy interesante … informacion valiosa y vista de


diferentes puntos de vista es lo que personas como yo (
hablando en lo personal) necesitamos.
Gracias y porfavor continua subiendo mas material

danya aracena 5 septiembre, 2012 at 1:06 am

Es muy detallado tú articulo y preciso

lesmer 6 septiembre, 2012 at 8:22 pm

Hola me gustaria saber como puedo hacer la entidad


relacion para mi proyecto de grado que es sobre un sitio
web para una universidad, en la que se lleva un control
de notas y datos de estudiantes entre otras cosas.
gracias de ante mano…….

JOANA 6 septiembre, 2012 at 8:44 pm

esta bien especificado y bueno ahora me gustaria que


me ayudaras con esto porfavor es una tarea del instituto:
esn este caso no es sobre matriculas sino sobre citas en
una clinica odontologico

clopez 7 septiembre, 2012 at 9:29 am

@lesmer:

A falta de más detalles, entiendo que Estudiantes y


Asignaturas serán entidades. Como dice el artículo,
empieza por determinar que atributos describen cada
entidad:
- Un estudiante tendrá nombre, apellidos, etc; datos
personales, en definitiva.
- Una asignatura tendrá el nombre de la asignatura,
curso, bibliografía de referencia, nombre del profesor (o
si el profesor es otra entidad, habrá una relación
intermedia).

Las Notas, en este caso, califican una relación (entre


Estudiante y Asignatura), por lo que tendrán, a parte del

http://www.ender.es/2010/03/modelo-entidad-relacion-un-ejemplo-practico-i-matriculacion/ 14/20
13/9/2014 Ender | Modelo entidad-relación, un ejemplo práctico I

valor numérico de la calificación (o A-F en el sistema


anglosajón), las claves tanto del alumno como la
asignatura.

Resumiendo:

Asignatura:
– id
– nombre
– profesor
– libros
– curso

Estudiante:
– id
– nombre
– apellidos
–…

Notas:
– id
– id_asignatura
– id_alumno
– calificación

Espero que te sea de ayuda, pero, como ves, estoy


haciendo muchas suposiciones. Lo primero y
fundamental es entender todos los detalles del problema
y definir bien las entidades, utilizando el artículo como
guía.

clopez 7 septiembre, 2012 at 9:38 am

@JOANA:

Necesitas especificar con más detalle el problema. En


este caso, las Citas y los Clientes (que presupongo) son
entidades. Una cita se da para un cliente en una fecha y
hora (ahí tienes la relación).

Clientes:
– id
– nombre
– apellidos

Citas:
– id
– fecha
http://www.ender.es/2010/03/modelo-entidad-relacion-un-ejemplo-practico-i-matriculacion/ 15/20
13/9/2014 Ender | Modelo entidad-relación, un ejemplo práctico I

– hora
– id_cliente_citado

Como digo, falta especificar un poco más el problema.


Supongamos que la clínica ofrece tipos de tratamientos
(blanqueamientos, limpiezas, etc), o que tenga varios
dentistas. Serían dos nuevas entidades, y en ese caso
las citas podrían cambiar:

Citas:
– id
– fecha
– hora
– id_cliente_citado
– id_dentista
– id_tratamiento

Un saludo.

JESSI 1 octubre, 2012 at 9:53 pm

MUY INTERESANTE GRACIAS POR LA


INFORMACION..

lenin 25 octubre, 2012 at 2:14 pm

gracias !!!! te vas defrente a lo que uno quiere !!! … todo


el dia estado buscando algo parecido y no encontraba
nada ..!!!! esper porfavor sigas subiendo mas ejemplos

witamo 28 diciembre, 2012 at 5:18 am

como puedo realizar un diagrama entidad relación

1. arriendo una casa y el el cliente hace el pago.


2. y de ese pago se le paga a mi empleado

gracias

admin 28 diciembre, 2012 at 9:45 am

Hola Witamo,

Mira, explícanos tú lo que has hecho hasta

http://www.ender.es/2010/03/modelo-entidad-relacion-un-ejemplo-practico-i-matriculacion/ 16/20
13/9/2014 Ender | Modelo entidad-relación, un ejemplo práctico I

ahora y te damos nuestra opinión. Nos das


muy pocos datos como para desarrollar un
diagrama.

Saludos

Witamo 8 enero, 2013 at 5:47 am

quiero generar un recibo de caja:

>direccion de la casa
>mes pagado “el pago tiene fecha limite sino tiene una
multa”
el cliente puede hacer abonos “los abonos no tiene
multa”
>valor por administracion
>valor arqueadero
>fecha de pago “ese se hace cada mes”
>pago pendiente
>el cliente puede ser “propietario, arrendatario, anticres”
del cliente registro “nombre , telefono,placa decarro,
obserbaciones”
> tengo empleados “seles paga nomina del pago de los
clientes cada mes ”
a los empleados se les puede hacer prestamos los
cuales descuentan de el salario”

yo tengo

estas clases:

>administracion
>vivenda
>monto vivienda
>clientes
>pagos echo por clientes
>caja
>empleados
>monina
>credito empleados

si puedes ayudarme te lo agradecería mucho

gracias

Jonathan 8 septiembre, 2013 at 3:01 am

http://www.ender.es/2010/03/modelo-entidad-relacion-un-ejemplo-practico-i-matriculacion/ 17/20
13/9/2014 Ender | Modelo entidad-relación, un ejemplo práctico I

Me intereso mucho esta informacion, queria consutlarte


algo, en caso tuviera estas tablas:
‘Producto’
Cod_Producto
Nombre_producto
Estado

- ‘Boleta’
Num_boleta
Cliente
Total

- ‘Detalle de boleta’
Num_Boleta
Cod_producto
precio
cantidad

es un ejemplo sencillo, si supongamos basado en esto,


como y con que tabla deberia relacionar la tabla
pagos??.. quisiera añadir a mi proyecto la posibilidad de
pagar por partes(mensualmente), pero esa es la duda
que tengo, si pudiera ayudarme se lo agradeceria, y si
hay algo q añadir a mi ejemplo o mejorarlo pues mejor.
de antemano gracias

Hernan 13 septiembre, 2013 at 10:36 pm

Muchas gracias! Desde Peru

leon.domingo 14 septiembre, 2013 at 9:14 am

De nada. Gracias a ti

jessica 8 octubre, 2013 at 5:12 am

deseo ayuda para realizar mi entidad relacion de una


empresa de lubricantes

8 octubre, 2013 at 8:54 am

http://www.ender.es/2010/03/modelo-entidad-relacion-un-ejemplo-practico-i-matriculacion/ 18/20
13/9/2014 Ender | Modelo entidad-relación, un ejemplo práctico I

Jonathan

Hola Jessica,

Escríbenos, si quieres, a info@ender.es y nos cuentas


qué necesitas. Intentaremos ayudarte.

Raul Vedia Aceituno 20 noviembre, 2013 at 4:35 pm

Hola, es interesante los ejemplos que das a conocer,


uno de ellos me ayudo mucho, felicitarte gracias.

Rosa Martínez 21 noviembre, 2013 at 11:05 am

Nos alegramos de que te haya resultado de ayuda, Raul.


¡Muchas gracias por leernos!

Sonia 9 diciembre, 2013 at 5:35 am

Buenas noches, me gustaría nada que me orientaras en


relación a un tema en específico que es el diseño del
diagrama entidad-relación y el relacional, mi caso de
estudio, considero que es sencillo y según yo tengo
identificados los siguientes elementos: Semestre, área
propedéutica, grupo, nombre del alumno, alumnos en
área propedutica, calificación parcial 1, calificación
parcial 2, calificación final.

Te describo mi caso de estudio: En una escuela un


profesor quiere llevar un control interno de las
calificaciones de sus alumnos que se encuentran en
quinto semestre y que llevan diferentes áreas de
estudio, las cuales son Económico-Administrativo,
Ciencias de la Salud, Técnica y Humanidades. Con la
observación de que todas las áreas llevan 4 materias de
tronco común y 4 del área respectivamente. pero no
entiendo muy bien como generar el diagrama y
posteriormente las tablas.

De antemano te agradezco tu orientación

9 diciembre, 2013 at 6:00 pm

http://www.ender.es/2010/03/modelo-entidad-relacion-un-ejemplo-practico-i-matriculacion/ 19/20
13/9/2014 Ender | Modelo entidad-relación, un ejemplo práctico I

clopez

Hola Sonia,

simplificado, tu ejercicio se reduce a cuatro entidades:

- Alumnos
- Materias
- Áreas
- Calificaciones

Dejo fuera del alcance los semestres, puesto que indicas


que quieres controlar uno en concreto.

Sin contar con más detalles, los atributos de estas


entidades serán los que consideres obvios (nombre y
apellidos, por ejemplo, para un alumno), a los que habrá
que añadir:

- Para Materias: el id_area al que pertenece.


- Para Calificaciones: el id_alumno al que califica, y el
id_materia que se evalúa (junto con los tres valores de
calificación, final y parciales).

Así, una calificación consiste en los tres valores (dos


parciales y un total) asignados a un alumno en una
materia. Es un modelo válido, aunque podría variar en
función de las necesidades (por ejemplo, tener un único
valor, y añadir un atributo indicando a qué evaluación se
refiere: final, parcial1 o parcial2).

Esencialmente se reduce a la respuesta que ya dí en


septiembre de 2012. Sobre eso deberías tener una base
suficiente con la que desarrollar el resto del ejercicio con
algo más de complejidad.

Saludos.

Comentarios cerrados

© Ender Aplicaciones, s.l. - Aviso legal - Avda. Cerro del Águila, 7. 28703 - San Sebastián de los Reyes
(Madrid - España)

http://www.ender.es/2010/03/modelo-entidad-relacion-un-ejemplo-practico-i-matriculacion/ 20/20

S-ar putea să vă placă și