Documente Academic
Documente Profesional
Documente Cultură
902 01 44 01 | 91 730 16 66
Modelo entidad-relación, un
ejemplo práctico I
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
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.
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
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
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):
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.
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
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).
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
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
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
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
Gracias.
Hola,
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
Hola walter,
Saludos!
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
@lesmer:
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
Resumiendo:
Asignatura:
– id
– nombre
– profesor
– libros
– curso
Estudiante:
– id
– nombre
– apellidos
–…
Notas:
– id
– id_asignatura
– id_alumno
– calificación
@JOANA:
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
Citas:
– id
– fecha
– hora
– id_cliente_citado
– id_dentista
– id_tratamiento
Un saludo.
gracias
Hola Witamo,
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
Saludos
>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
gracias
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
- ‘Boleta’
Num_boleta
Cliente
Total
- ‘Detalle de boleta’
Num_Boleta
Cod_producto
precio
cantidad
De nada. Gracias a ti
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,
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,
- Alumnos
- Materias
- Áreas
- Calificaciones
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