Beruflich Dokumente
Kultur Dokumente
Mara
Ingenieras fsicas y formales
Ingeniera de Sistemas
Nombres:
Arequipa Per
Contenido
RESUMEN.................................................................................................................... 3
INTRODUCCIN.......................................................................................................... 4
OBJETIVOS.................................................................................................................. 5
CAPTIULO 1. FUNDAMENTO TERICO.................................................................5
1.1. Diagrama entidad Relacin.....................................................................5
1.2. DIA (Programa).-....................................................................................... 5
1.3. MICROSOFT SQL SERVER 2008 R2..........................................................6
1.4. NORMALIZACIN....................................................................................... 6
1.5. PROCEDIMIENTOS ALMACENADOS.........................................................7
CAPITULO 2. DESARROLLO.................................................................................. 7
2.1. DIAGRAMA ENTIDAD-RELACIN..............................................................7
2.2.
DESCRIPCIN DE VNCULOS...............................................................9
2.3. NORMALIZACIN....................................................................................... 9
2.4. MODELO ENTIDAD RELACIN................................................................10
2.5. DICCIONARIO DE DATOS.........................................................................11
2.6. CONSULTAS............................................................................................... 15
2.7. PROCEDIMIENTOS ALMACENADOS.......................................................20
2.8. APLICACIN WEB..................................................................................... 24
CONCLUSIONES....................................................................................................... 30
REFERENCIAS........................................................................................................... 30
RESUMEN
2
INTRODUCCIN
3
OBJETIVOS
4
1.2. DIA (Programa).Es un software libre con el propsito de generar diagramas, fue realizada
como parte del proyecto GNOME. Realizado de forma modular, con
diferentes paquetes para diferentes necesidades.
El formato que utiliza para poder leer y almacenar grficos es XML. [2]
Proyecto Gnome.Entorno de escritorio e infraestructura de desarrollo para sistemas
operativos como LINUX y UNIX.
XML.Extensible MarkupLanguage, es un lenguaje de programacin que define
un conjunto de reglas para realizar cdigo legible por la mquina. [3]
1.4. NORMALIZACIN
La normalizacin es el proceso mediante el cual se transforman datos
complejos a un conjunto de estructuras de datos ms pequeas, que
adems de ser ms simples y ms estables, son ms fciles de mantener.
Tambin se puede entender la normalizacin como una serie de reglas que
sirven para ayudar a los diseadores de bases de datos a desarrollar un
esquema que minimice los problemas de lgica. [6]
2. DESARROLLO
2.1. DIAGRAMA ENTIDAD-RELACIN
2.4.
2.5.
DICCIONARIO DE DATOS
3. Tabla Persona
Campo
ID Persona
Nombre
Apellido
Paterno
Apellido
Materno
Correo
DNI
TipoPersona
Tamao
8
20
20
Tipo de dato
Char
Char
Char
Descripcin
Clave Primaria de la tabla Persona
Nombre del Persona
Primer apellido del Persona
20
Char
20
4
Char
Int
Char
Tabla Trabajador
Campo
IDTrabajador
Tamao
8
Tipo de dato
Char
Cargo
Salario
20
8,2
Char
Decimal
Descripcin
Clave Primaria de la tabla
Trabajador
11
20
10
Char
Char
Tamao
8
20
20
20
20
Tipo de dato
Char
Char
Char
Char
Char
Descripcin
Clave Primaria de tabla Usuario
Login del Usuario
Contrasea del Usuario
Tipo del Usuario
Tipo del Evento contratado
Tamao
8
8
8
Tipo de dato
Char
Char
Char
Char
Descripcin
Clave Primaria de la tabla Recibo
Clave fornea de la tabla Usuario
Clave fornea de la tabla
Participante
Clave fornea de la tabla Usuario
8,2
bit
Date
Decimal
Tipo de Operacin
Fecha del movimiento
Cantidad del movimiento
Nacionalidad
CodigoHojade
Vida
Tabla Usuario
Campo
ID Usuario
Login
Password
TipoUsuario
Tipo Evento
Tabla Recibo
Campo
IDRecibo
IDUsuario
IDParticipante
IDAdministrado
r
Operacin
Fecha
Total
Tabla Evento
Campo
IDEvento
Tamao
8
Tipo de dato
Char
IDUsuario
Char
FechaIni
FechaFin
NroVecesContrat
ado
Descripcin
Date
Date
Int
50
Char
Tabla Actividad
Campo
IDActividad
Tamao
8
Tipo de dato
Char
IDEvento
Nombre
8
20
Char
Char
12
Descripcin
Clave Primaria de la tabla
DatosEvento
Clave fornea de la tabla
Usuario
Inicio del Evento
Fin del Evento
Nmero de veces que se
contrata el evento
Descripcin del Evento
Descripcin
Clave Primaria de la tabla
Actividad
Clave fornea de la tabla Evento
Nombre del Evento
Tema
Descripcin
20
50
Tabla Lugar
Campo
Tamao
IDLugar
Nombre
Descripcion
Capacidad
8
20
150
-
Tabla Actividad_Lugar
Campo
Tamao
IDActividad
IDLugar
8
8
Tabla DetalleActividad
Campo
Tamao
IDActividad
Fecha
Horario
8
30
Tabla ActividadTrabajador
Campo
Tamao
IDActividad
IDTrabajador
8
8
Char
Char
Tipo de
dato
Char
Char
Char
Int
Descripcin
Tipo de
dato
Char
Char
Descripcin
Tipo de
dato
Char
Date
Char
Descripcin
Tipo de
dato
Char
Char
Descripcin
Tabla Paquete
Campo
IDPaquete
Tamao
8
Tipo de dato
Char
IDEvento
Nombre
Descripcion
Precio
8
20
50
8.2
Char
Char
Char
decimal
Tabla Promocin
Campo
13
Tamao
Tipo de
Descripcin
Clave Primaria de la tabla
Paquete
Clave fornea de la tabla Evento
Nombre del paquete
Detalles del paquete
Valor del paquete
Descripcin
IDPromocion
dato
Char
PorcentajeDescu
ento
FechaInicio
FechaFin
Descripcin
Int
50
Date
Date
Char
Tabla DetalleRecibo
Campo
Tamao
IDRecibo
8
IDPaquete
8
IDPromocion
8
Tipo de dato
Char
Char
Char
ValorUnitario
Cantidad
Concepto
8.2
8.2
50
Decimal
Decimal
Char
Descripcin
Clave fornea de la tabla Recibo
Clave fornea de la tabla Paquete
Clave fornea de la tabla
Promocin
Valor por unidad
Cantidad total
Detalle del recibo
Tabla Turno
Campo
IDTurno
Descripcin
TipoTurno
Horario
Tamao
8
50
10
50
Tipo de dato
Char
Char
Char
Char
Descripcin
Clave Primaria de la tabla Turno
Detalles del turno
Tipo de turno
Horario del Turno
Tabla TurnoActividad
Campo
Tamao
IDTurno
8
IDActividad
8
Tipo de dato
Char
Char
Fecha
Date
Descripcin
Clave Fornea de la tabla Turno
Clave Fornea de la tabla
Actividad
Fecha del turno de la actividad
Tabla AsistenciaTurno
Campo
Tamao
IDParticipante
IDTurno
8
Asistencia
Fecha
Tabla Promocion_Evento
Campo
Tamao
IDPromocion
14
Tipo de
dato
Char
Char
Int
Date
Tipo de
dato
Char
Descripcin
Clave Fornea de la tabla
Participante
Clave Fornea de la tabla Turno
Asistencia al Turno
Fecha de la Asistencia al Turno
Descripcin
Clave Fornea de la tabla
Promocin
IDEvento
Char
Tabla Material
Campo
Tamao
Descripcin
IDMaterial
Descripcin
TipoMaterial
Nombre
CantidadTotal
8
50
2
255
-
Tipo de
dato
Char
Char
Char
Varchar
Int
Tipo de
dato
Char
Char
Decimal
Int
Date
Descripcin
Tipo de
dato
Bit
Date
Int
Char
Char
Char
Descripcin
Descripcin
Tabla OperacinMaterial
Campo
Tamao
IDMaterial
Operacion
ValorUnitario
Cantidad
Fecha
8
1
8.2
-
Tabla RecojoMaterial
Campo
Tamao
Recojo
Fecha
Cantidad
IDTurno
IDParticipante
IDMaterial
8
8
8
Tabla Preinscripcin
Campo
Tamao
IDPreInscripcion
Tipo de
dato
Char
IDPaquete
IDParticipante
8
8
Char
Char
Tabla Inscripcin
Campo
Tamao
IDInscripcion
Tipo de
dato
Char
IDRecibo
IDParticipante
8
8
Char
Char
15
Recogi o no
Fecha del recojo
Cantidad del Material
Clave Fornea de Turno
Clave Fornea de Participante
Clave Fornea de Material
Descripcin
Clave Primaria de la tabla
Inscripcin
Clave Fornea de la tabla Recibo
Clave Fornea de la tabla
Participante
Clave Fornea de la tabla
Preinscripcin
PreInscripcion
Char
Tabla Solicitud
Campo
Tamao
Descripcin
IDSolicitud
Descripcin
8
50
Tipo de
dato
Char
Char
Tabla Contrato
Campo
Tamao
Descripcin
IDSolicitud
IDRecibo
Fecha
8
8
-
Tipo de
dato
Char
Char
Date
2.6
CONSULTAS
4.
5.
6.
7.
8.
USE GESTOR_EVENTOS;
--CONSULTA 1: Listado de eventos contratados, con los datos completos de los
--contratantes. En caso que un contratante tenga ms de un evento
--contratado, deber mostrarse el resultado agrupado por contratante.
SELECT U.IDUsuario AS 'CODIGO USUARIO',(P.Nombre+ P.ApellidoPaterno+
P.ApellidoMaterno)AS 'NOMBRE COMPLETO',
9. P.DNI , E.Descripcion AS 'EVENTO'
10.
FROM Usuario AS U
11.
INNER JOIN Persona AS P
12.
ON U.IDUsuario = P.IDPersona
13.
INNER JOIN Evento AS E
14.
ON U.IDUsuario = E.IDUsuario
15.
GROUP BY U.IDUsuario,(P.Nombre+ P.ApellidoPaterno+
P.ApellidoMaterno),P.DNI, E.Descripcion
16.
17.
--CONSULTA 2: Nmero de participantes en un evento. Se debe mostrar el
total de
18.
--participantes y el total de participantes en los diferentes paquetes
del evento.
19.
SELECT E.Descripcion AS 'EVENTO',(SELECT COUNT(INS.IDInscripcion) AS
TOTAL FROM Inscripcion AS INS)AS 'TOTAL EVENTO',
20.
P.Nombre AS 'PAQUETE', COUNT(DR.IDPaquete) AS'TOTAL PAQUETE'
21.
FROM Inscripcion AS INS
22.
INNER JOIN Recibo AS R
23.
ON INS.IDRecibo = R.IDRecibo
24.
INNER JOIN DetalleRecibo AS DR
25.
ON R.IDRecibo = DR.IDRecibo
26.
INNER JOIN Paquete AS P
27.
ON DR.IDPaquete = P.IDPaquete
28.
INNER JOIN Evento AS E
16
29.
30.
ON P.IDEvento = E.IDEvento
GROUP BY E.Descripcion, P.Nombre
31.
17
73.
ON TA.IDActividad = A.IDActividad
74.
INNER JOIN Evento AS E
75.
ON A.IDEvento = E.IDEvento
76.
GROUP BY E.Descripcion, A.Tema, T.Descripcion, AT.IDturno , AT.Fecha
77.
78.
--CONSULTA 6: Listar los ingresos y egresos por una fecha dada.
79.
SELECT R.IDAdministrador , VAR='2010-08-17' ,
80.
sum(case when R.Operacion ='I' then (R.Total) end) as Ingreso,
81.
sum(case when R.Operacion ='E' then (R.Total) end) as Egreso
82.
FROM Usuario AS U
83.
INNER JOIN Recibo AS R
84.
ON U.IDUsuario = R.IDAdministrador
85.
WHERE R.Fecha='2010-06-15'
86.
GROUP BY
R.IDAdministrador
87.
88.
89.
90.
--CONSULTA 7: Mostrar el balance por un rango de fechas.
91.
SELECT R.IDAdministrador ,
92.
sum(case when R.Operacion ='I' then (R.Total) end) as 'INGRESO',
93.
sum(case when R.Operacion ='E' then (R.Total) end) as 'EGRESO' ,
94.
(sum(case when R.Operacion ='I' then (R.Total) end) 95.
sum(case when R.Operacion ='E' then (R.Total) end) ) AS 'BALANCE'
96.
FROM Usuario AS U
97.
INNER JOIN Recibo AS R
98.
ON U.IDUsuario = R.IDAdministrador
99.
WHERE R.Fecha BETWEEN '2010-06-12' AND '2010-08-17'
100. GROUP BY
R.IDAdministrador
101.
102. --CONSULTA 8: Listar los 5 gastos ms altos y los 5 gastos ms bajos, por
una fecha o rango de fechas.
103. SELECT TOP 5 DR.Cantidad*DR.ValorUnitario AS 'EGRESOS MINIMOS', P.Nombre
, DR.Concepto FROM Recibo AS R
104.
INNER JOIN Persona AS P
105.
ON R.IDParticipante = P.IDPersona
106.
INNER JOIN DetalleRecibo DR
107.
ON R.IDRecibo = DR.IDRecibo
108. WHERE R.Operacion='E'
109. ORDER BY DR.Cantidad*DR.ValorUnitario ASC
110.
111. SELECT TOP 5 DR.Cantidad*DR.ValorUnitario AS 'EGRESOS MINIMOS', P.Nombre
, DR.Concepto FROM Recibo AS R
112.
INNER JOIN Persona AS P
113.
ON R.IDParticipante = P.IDPersona
114.
INNER JOIN DetalleRecibo DR
115.
ON R.IDRecibo = DR.IDRecibo
116. WHERE R.Operacion='E'
117. ORDER BY DR.Cantidad*DR.ValorUnitario DESC
118.
119. --CONSULTA 9: Listar los 5 ingresos ms altos y los 5 ingresos ms bajos,
por una fecha o rango de fechas.
120. SELECT TOP 5 DR.Cantidad*DR.ValorUnitario AS 'INGRESOS MINIMOS', P.Nombre
, DR.Concepto FROM Recibo AS R
121.
INNER JOIN Persona AS P
122.
ON R.IDParticipante = P.IDPersona
123.
INNER JOIN DetalleRecibo DR
124.
ON R.IDRecibo = DR.IDRecibo
125. WHERE R.Operacion='I'
18
19
175. --CONSULTA 12: Listar todos los participantes, identificando si se preinscribi o no.
176. SELECT I.IDInscripcion, P.IDPersona,
(P.Nombre+P.ApellidoPaterno+P.ApellidoMaterno) AS 'PARTICIPANTE',
I.PreInscripcion
177. FROM Persona AS P
178.
INNER JOIN Inscripcion AS I
179.
ON P.IDPersona = I.IDParticipante
180. WHERE P.TipoPersona ='P'
181.
182.
183. --CONSULTA 13:Mostrar el evento ms vendido y el menos vendido.
184. SELECT E.Descripcion ,E.NroVecesContratado AS 'MAS/MENOS VENDIDO '
185. FROM Evento AS E
186. GROUP BY E.Descripcion,E.NroVecesContratado
187. HAVING E.NroVecesContratado= MAX(E.NroVecesContratado) OR
E.NroVecesContratado=MIN(E.NroVecesContratado)
188.
189. --CONSULTA 14: Listar todos los participantes que hayan participado en
ms de un evento.
190. SELECT (P.Nombre+P.ApellidoPaterno+P.ApellidoMaterno)AS 'NOMBRE
COMPLETO', COUNT(I.IDParticipante) AS 'NRO DE EVENTOS'
191. FROM Persona AS P
192. INNER JOIN Inscripcion as I
193.
ON P.IDPersona = I.IDParticipante
194. GROUP BY (P.Nombre+P.ApellidoPaterno+P.ApellidoMaterno)
195. HAVING COUNT(I.IDParticipante) > 1
196.
197. --CONSULTA 15: Listar todos los ponentes que hayan participado en ms de
un evento.
198. SELECT (P.Nombre+P.ApellidoPaterno+P.ApellidoMaterno)AS 'NOMBRE
COMPLETO', COUNT(P.IDPersona) AS 'NRO DE EVENTOS'
199. FROM Persona AS P
200. INNER JOIN ActividadTrabajador AT
201.
ON P.IDPersona = AT.IDTrabajador
202. INNER JOIN Actividad AS A
203.
ON AT.IDActividad = A.IDActividad
204. INNER JOIN Evento AS E
205.
ON A.IDEvento = E.IDEvento
206. GROUP BY (P.Nombre+P.ApellidoPaterno+P.ApellidoMaterno)
207. HAVING COUNT(P.IDPersona) > 1
208.
209.
210. --CONSULTA 16: Listar los turnos con mayor/menor cantidad de asistentes.
211. SELECT E.Descripcion AS 'EVENTO', AT.Fecha AS 'FECHA', A.Tema AS
'ACTIVIDAD' ,T.Descripcion AS 'TURNO' ,
212. SUM(CONVERT(INT,AT.Asistencia)) AS 'ASISTENCIA'
213. FROM AsistenciaTurno AS AT
214. INNER JOIN Turno AS T
215.
ON AT.IDturno = T.IDTurno
216. INNER JOIN TurnoActividad AS TA
217.
ON T.IDTurno = TA.IDTurno
218. INNER JOIN Actividad AS A
219.
ON TA.IDActividad = A.IDActividad
220. INNER JOIN Evento AS E
221.
ON A.IDEvento = E.IDEvento
222. GROUP BY E.Descripcion, A.Tema, T.Descripcion, AT.IDturno , AT.Fecha
223. HAVING SUM(CONVERT(INT,AT.Asistencia)) > 100
20
2.7
PROCEDIMIENTOS ALMACENADOS
3 CrearCuenta
4 El administrador crea la cuenta de un nuevo usuario.
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 REALIZAR PREINSCRIPCION
24 Un participante se preinscribe al evento
25
26
27
28
29
30
31
32
33
34
35
21
51
52 CREAR SALA/AUDITORIO
53 El administrador crea una sala o auditorio, con todas las caractersticas
54 necesarias.
55
56
57
58
59
60
61
62
63
64
65
66
67
68 CIERRE DIARIO
69 Tomando la fecha del sistema, debe entregar el saldo del da: Ingresos,
Egresos
70 y Saldo. En caso no se tengan datos, mostrar el mensaje Aun no se
tienen
71 datos
72 CREATE PROCEDURE CierreDiario @fecha date
73 AS
74 begin try
75
declare @cont int;
76
declare @egresos int;
77
declare @ingresos int;
78
declare @total int;
79
set @cont = (select COUNT(*) from Recibo where Fecha = @fecha) ;
80
print getdate();
81
if @cont < 1
82
print 'no se tienen datos';
83
else
84
begin
85
set @egresos = (select SUM(Total) as egresos from Recibo where
Operacion = 'e' and Fecha = @fecha ) ;
86
set @ingresos = (select SUM(Total) as ingresos from Recibo where
Operacion = 'i'and Fecha = @fecha );
87
print 'ingresos';
88
print @ingresos ;
89
print 'egresos';
90
print @egresos;
91
print 'total';
92
print @ingresos - @egresos ;
93
end
94 end try
95 begin catch
96
PRINT
97
ERROR_MESSAGE();
98 end catch
99
100
EXEC CierreDiario '2010-06-15'
22
101
102
103 EMITIR CERTIFICADO
104 Listar los participantes que tienen derecho a certificado, y los que no
tienen
105 derecho a certificado. Para hacer el listado, se debe ingresar un
porcentaje lmite
106 de inasistencias.
107
108
109
110
111
112
113
114
USE GESTOR_EVENTOS
CREATE
PROCEDURE EMITIR_CERTIFICADO @Evento CHAR(8)
AS
BEGIN TRY
SELECT E.Descripcion ,
(P.Nombre+P.ApellidoPaterno+P.ApellidoMaterno)AS 'PARTICIPANTE'
,SUM(CONVERT(INT,AT.Asistencia)) AS 'NRO ASISTENCIAS'
115
FROM Evento AS E, AsistenciaTurno AS AT
116
INNER JOIN Persona AS P
117
ON AT.IDParticipante= P.IDPersona
118
WHERE E.IDEvento = @Evento
119
GROUP BY E.Descripcion,
(P.Nombre+P.ApellidoPaterno+P.ApellidoMaterno)
120
HAVING SUM(CONVERT(INT,AT.Asistencia)) > 15
121
END TRY
122
BEGIN CATCH
123
PRINT
124
ERROR_MESSAGE();
125
END CATCH
126
127
drop procedure EMITIR_CERTIFICADO;
128
129
EXEC EMITIR_CERTIFICADO 'E00002'
130
131
132 CREAR TALLER/TUTORIAL
133 El administrador crea un taller/tutorial en un evento especfico. Debe
ingresar
134 todas las caractersticas necesarias.
135
136
137
23
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
end try
begin catch
PRINT
ERROR_MESSAGE();
end catch
begin try
INSERT INTO DetalleActividad VALUES(@IDActividad,@Fecha,@Horario)
end try
begin catch
PRINT
ERROR_MESSAGE();
end catch
begin try
INSERT INTO TurnoActividad VALUES(@IDActividad,@IDTurno,@Fecha)
end try
begin catch
PRINT
ERROR_MESSAGE();
end catch
DROP PROCEDURE TALLER
EXEC TALLER 'AC0019','Ponencia9','Programacion','Programacion en C+
+','E00001','LU0003','2014-08-12','5:00pm A 5:45pm','TU0004'
171
172 LISTAR KARDEX
173 Debe mostrar el krdex (entrada y salida de materiales) de todo el
evento, desde
174
la fecha de inicio hasta el da de la consulta.
175
176
177
178
24
25
Imgenes
de aplicacin programada
en capas
2.7.2 Estrategia de implementacin
Los eventos implican la coincidencia temporal. Es decir, un nmero de personas se
renen en un determinado da u horario para asistir al mismo suceso. Con la
aparicin de Internet y de aplicaciones mviles que permiten la transmisin en vivo
ya no es necesario coincidir en un mismo espacio geogrfico para asistir a un evento
social, acadmico, artstico, entre otros.
Un evento en vivo se transmite en tiempo real a travs de la utilizacin de
herramientas y plataformas de comunicacin especficas que permiten la difusin a
un amplio pblico. La plataforma donde se realiza el evento oficia como auditorio o
como una sala para las conferencias. Los participantes asisten y participan en el
evento en vivo siguiendo la propuesta de los moderadores u organizadores del
evento.
Existen diversas alternativas para realizar un evento. La eleccin del tipo de evento a
realizar depender de las particularidades del contexto, las posibilidades tcnicas y
los objetivos del mismo. En este caso el sistema de gestor de eventos est centrado
a los eventos acadmicos y de capacitacin
26
2. Debate
3. Clase Magistral
4. Conferencia
5. Congreso
27
28
Login: Se ingresa los datos de tu usuario, se selecciona el tipo de usuario que eres ,
finalmente se da click en la opcin ingresar.
Crear usuario: Se ingresan todos los datos del usuario, el nombre de su evento con el
que va a ser relacionado, una ves comprobado todo se apretara el botn guardar,
para guardar toda la informacin ingresada del nuevo usuario, aparte se tienen las
opciones actualizar, reportes y buscar usuarios.
29
30
Actualizar: Se realiza primero la bsqueda de un usuario, muestra todos sus datos los
cuales pueden ser modificados y al darle click en el botn actualizar, si es que se ah
realizado algn cambio este se realizara.
Finalmente la opcin cerrar Sesin se utiliza para salir de tu cuenta
CONCLUSIONES
-Para el desarrollo eficientemente el sistema gestor de eventos se realizo un
eficaz diagrama entidad-relacion, que fue usado como base.
-SQL SERVER 2008 R2 nos permite gestionar bases de datos, realizar la creacion
de tablas con sus relaciones, las consultas son utilizadas para obtener
informacion de la base de datos, los procedimientos almacenados fueron
utilizados para evitar sobrecargar la base de datos.
-Un sistema es mas efectivo mientras mas simple sea su manipulacion para el
usuario y que ofrezca un rapido acceso y disponibilidad de los datos o reportes
que este necesita
REFERENCIAS
-[6]Perez M. SQl server 2008 R2 Motor de base de datos y administracin.
Madrid, Espaa: RC Libros
-[7]Gabillaud J. (2009). SQL Server 2008 sql, transact sql Diseo y creacin
de una base de datos. Cornella de Llobregat, Barcelona, Espaa: Ediciones
ENI
- [8]Barker R. (1990). Case Method, Entity Relationship Modelling.
Massachusetts, Estados Unidos: Compaa Addison- Wesley.
31
32