1. UNIVERSIDAD NACIONAL DE
TRUJILLO
FACULTAD DE CIENCIAS FISICAS Y
MATEMATICAS
ESCUELA DE INFORMATICA
“PROYECTO FINAL”
CURSO : BASE DE DATOS I
PROFESOR : JOSEA. DIAZ PULIDO
CICLO : V
SECCION : A
ALUMNOS :
CASTREJONCHUNGA CESAR
HUAMANTAPIA CARLOS
RUELAS VASQUEZ DAYANARA
VALDERRAMA HUINGO RICHARD
ZUÑIGA CRUZ JUNIOR
2018
2. INDICE
RESUMEN.........................................................................................................................3
INTRODUCCIÓN..............................................................................................................4
REALIDAD PROBLEMÁTICA.........................................................................................5
OBJETIVO ........................................................................................................................7
MARCO TEÓRICO...........................................................................................................7
ÁLGEBRA RELACIONAL............................................................................................7
MODELO E-R................................................................................................................7
NORMALIZACIÓN DE BD...........................................................................................7
MODELO RELACIONAL.............................................................................................8
DICCIONARIO DE DATOS INTERPRETADO............................................................8
DISEÑO DE INTERFACES USANDO JDBC................................................................8
INGENIERIA DEL PROYECTO.....................................................................................10
Algebra Relacional........................................................................................................10
Modelo E-R...................................................................................................................11
Normalización de la BD................................................................................................12
Modelo Relacional en MySQL......................................................................................14
Diccionario de Datos interpretado ................................................................................16
DISEÑO DE INTERFACES USANDO JDBC..............................................................20
CONCLUSIONES..................................................................................................................25
3. RESUMEN
El presenteproyecto trata de dar respuestaa un problema dado en un cine,
creando así una base de datos en un sitio web con información referente a
la organización del CINE-UNT. Por lo cual se ha tenido que considerar cada
aspecto de información brindado en el problema, tanto de la información
general como de la información específica.
Este se llevará a cabo desarrollándolo mediante el Modelo E-R,
Normalización de la BD, Modelo Relacional en MySQL, Diccionario deDatos
interpretado, el Álgebra Relacional, y finalmente el Diseño de Interfaces
usando JDBC.
4. INTRODUCCIÓN
Las bases de datos son de vital importancia para cualquier empresa, en este
caso específicamente lo realizaremos para un cine.
En la actualidad, y debido al desarrollo tecnológico de campos como la
Informática y la Electrónica, la mayoría de las bases de datos están en
formato digital (electrónico), que ofrece un amplio rango de soluciones al
problema de almacenar datos.
5. REALIDAD PROBLEMÁTICA
Se desea crear un sitio web para un cine llamado CINE_UNT, donde se
tendrá información referente a las películas en cartel en las salas.
De cada película, se almacena una ficha con su título de distribución,
su título original, su género (drama, terror, acción, comedia, ciencia
ficción) el idioma original, si tiene subtítulos en español o no, países
de origen, el año dela producción, la URL del sitio web de la película,
la duración (en horas y minutos), la calificación dependiendo al tipo
de público (Apta todo público, apta solo para mayores de edad (18
años), apta para menores desde 9 años en adelante), resumen de la
película y la fecha de estreno en la ciudad de Trujillo.
De cada película interesa conocerla lista de directores y el reparto, es
decir para cada actor que trabaja, se conoce el nombre de los
personajes que interpreta. Además, se sabe nombre y nacionalidad de
ambos. Se conoce la cantidad de películas en las que dirigieron o
actuaron. Tenga en cuenta que hay personas que cumplen los dos
roles.
El CINE_UNT debe tener más de una sala y envía la cartelera para
cada semana, indicando el detalle de las funciones que se llevaran a
6. cabo. Para cada función se conoce el día de la semana y la hora de
comienzo, y obviamente la sala y la película que exhibe. De cada sala
se conoce el nombre, un número que la identifica y la cantidad de
butacas que posee.
El cine cuenta también con una recepción de ventas de boletos
(ventanilla y boletos) para una función, en dondeseconoce, elnúmero
y precio de la butaca, la cantidad deboletos, precio total delos boletos,
fecha y hora donde fue emitido la compra.
Del cine se conoceel nombre, su dirección y teléfono para consultas,
su URL de página web, y el RUC.
El cine también cuenta conpromociones, que dependen de la función.
De cada promoción se conoce una descripción y el descuento que
aplica.
Además, interesa mostrar la opinión de las personas que vieron la
película. De cada opinión se conoce el nombre de la persona que la
realiza, su edad, le fecha en que registró suopinión, la calificación que
le dio a la película (Obra Maestra, Muy Buena, Buena, Regular, Mala)
y el comentario propiamente dicho. A cada opinión se le asigna un
número que la identifica respecto de la película sobre la cual opina
El usuario debe tener una cuenta en la página web del cine, si no lo
tiene, se registrara (una cuenta por usuario), tendrá también la opción
de pedir un combo la cual se conoce su tipo, la cantidad a comprar y
el precio.
La mala administración por parte del CINE-UNT, está siendo en algunas
ocasiones algo lento la atención a los clientes a la hora de dar un buen
servicio. Por ello planteamos una organización más adecuada usando base
de datos en un sitio web; para que así el CINE-UNT pueda satisfacer las
necesidades del cliente de una manera eficiente.
7. OBJETIVO
Crear una base de datos para poderdar una mejor organización en el CINE-
UNT. Para lograr satisfacer necesidades del usuario como Organizar,
Manipular y realizar consultas; teniendo así que el sistema funcione de
manera eficaz.
MARCO TEÓRICO
ÁLGEBRA RELACIONAL
Conjunto de operadores para consultar BD- Rs.
Define conjunto de ops estándar en BD- Rs
Sintaxis:
Qué símbolos seutilizan para cadaoperador y qué parámetros recibe.
MODELO E-R
Está basado en una percepción del mundo real.
Consta de Objetos básicos llamados entidades y de relaciones entre
estos objetos.
Una entidad es una cosa u objeto del mundo real que es distinguible
de otras cosas u objetos.
Las entidades se describen en función de sus atributos
NORMALIZACIÓN DE BD
La normalización de bases de datos es un proceso queconsisteen designar y
aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo
entidad-relación al modelo relacional.
8. Las bases de datos relacionales se normalizan para:
1. Evitar la redundancia de los datos.
2. Disminuir problemas de actualización de los datos en las tablas.
3. Proteger la integridad de datos.
MODELO RELACIONAL
Se usa una colección de tablas para representar
Los datos y las relaciones entre ellos
Cada tabla tiene varias columnas y cada
columna tiene un nombre único
DICCIONARIO DE DATOS INTERPRETADO
Un diccionario de datos contiene las características lógicas de los datos que
se van a utilizar en un sistema, incluyendo nombre, descripción, alias,
contenido y organización.
DISEÑO DE INTERFACESUSANDO JDBC
La API Java Database Connectivity (JDBC) es el estándar de la industria
para la conectividad independiente de la base de datos entre el lenguaje de
programación Java y una amplia gama de bases dedatos SQLy otras fuentes
dedatos tabulares, como hojas decálculo o archivos planos. La API de JDBC
proporciona una API de nivel de llamada para el acceso a bases de datos
basadas en SQL.
La tecnología JDBC le permite usar el lenguaje de programación Java para
explotar las capacidades "Write Once, RunAnywhere" para aplicaciones que
requieren acceso a datos empresariales. Con un controlador habilitado para
tecnología JDBC, puede conectartodos los datos corporativos incluso en un
entorno heterogéneo.
9. MYSQL
MySQL es la base de datos de código abierto más popular del mercado.
Características de MySQL:
* MySQL está escrito en C y C++
* Emplea el lenguaje SQL para consultas a la base de datos.
* MySQL Server está disponible como freeware bajo licencia GPL.
* MySQL Enterprise es la versión por suscripción para empresas, con
soportelas 24 horas.
* Trabaja en múltiples plataformas como:AIX, BSDi, FreeBSD, HP-UX,
GNU/Linux, Mac OS X, NetBSD, Novell NetWare, OpenBSD, OS/2
Warp, QNX, SGIIRIX, Solaris, SunOS, SCO OpenServer, SCO
UnixWare, Tru64, Microsoft Windows.
10. INGENIERIA DEL PROYECTO
Algebra Relacional
Lista de Consultas:
1. Mostrar las fichasde las Películas.
2. Mostrar las promociones de cada función y para
qué película y en que sala.
11. 3. Obtener el número de boletasdisponiblesde
ventanilla para las 20 horas.
4. Mostrar las boletascompradas por la ventanilla
2.
Modelo E-R
A continuación, se realiza la construccióndel modelo entidad relación, para
el CINE-UNT, el cual se desarrolla mediante la información establecida en
la realidad problemática en el programa DIA.
12. Normalización de la BD
Presentaremos la Normalización de la base de datos CINE UNT para
explicar cómo obtuvimos la estructura de nuestra Diagrama Entidad-
Relación.
BASE DE DATOS “CINE_UNT”
13. Como vemos, la tabla Funcion tiene un atributo llamado
“promocion” lo cual no está en 1FN, de mismo modo con las
entidades “actor” y”director” de la tabla Pelicula, igualmente con
“pedir combo” de la tabla Usuario.
Primera forma normal(1FN):
Tiene que tener: Atributos atómicos, una clave primaria única.
- Se crearon tres tablas nuevas “Promoción”, “Participantes”,
”Combo”, para que puedan cumplir conla 1FN.
- A continuación se muestra la base de datos actualizada en 1FN.
Observamos que no todos los atributos de la tabla película depende
de la clave primaria (cod_peli), igual en la tabla Usuario, “cuenta”
no depende de la clave primaria “codigo_Usuario”.
Segunda Forma Normal(2FN):
Tiene que estar en 1FN.
Los atributos de una tabla tienen que depender de la clave primaria
de dicha tabla (Dependencia Funcional),
Sala(num_id,nombre_sala, cantidad_butaca)
Funcion(cod_funcion,día, promoción,descripción,descuento)
Película(cod_peli,título,pais,titulo_original,genero,resumen,
fecha_estr,subtítulos,clasificación,hora,opinion, actor,director)
Ventanilla(codigo_vent,Numero_boletos,hora,fecha,precio_total,
boleto,precio_boleto)
Usuario(codigo_Usuario,edad,Nombre, pedircombo,tipo,cantidad)
Sala(num_id,nombre_sala,cantidad_butaca)
Funcion(cod_funcion,día)
Promoción(cod_pro,descripción,descuento)
Película(cod_peli,titulo,pais,titulo_original,genero,resumen,fecha_estr,
subtítulos,clasificación,hora)
Participantes(cod_persona,nacionalidad,participaciones,nombre)
Ventanilla(codigo_vent,Numero_boletos,hora,fecha, precio_total,boleto,
precio_boleto)
Usuario(codigo_Usuario,Nombre,edad, cuenta,email,password)
Combo(cod_combo,precio,tipo,cantidad)
14. - Se crearon dos tablas nuevas “Ficha” y “Cuenta” para el
cumplimiento de la 2FN.
- A continuación se muestra la base de datos actualizada en 2FN.
Tercera Forma Normal(3FN):
Tiene que estar en 2FN.
No tiene que existir ninguna dependencia funcional transitiva
Modelo Relacional en MySQL
A continuación, se muestra el Modelo Relacional que se logró desarrollar en MySQL,
donde cada tabla es una entidad conformada a la vez por campos que tienen su propio
nombre y se establecen relaciones mediante relaciones fuertes y relaciones débiles de
acuerdo al contexto.
Sala(num_id, nombre_sala,cantidad_butaca)
Función(cod_funcion,día)
Promoción(cod_pro,descripción,descuento)
Película(cod_peli,titulo)
Participantes(cod_persona,nacionalidad,participaciones,nombre)
Ficha(codigo_ficha,país, titulo_original,genero,resumen,fecha_estr,
subtítulos,clasificación,hora)
Ventanilla(codigo_vent,Numero_boletos,hora,fecha, precio_total,boleto,
precio_boleto)
Usuario(codigo_Usuario,Nombre,edad)
Combo(cod_combo,precio,tipo,cantidad)
Cuenta(nomUsuario,e-mail,password)
Sala(num_id, num_butaca,nombre_sala)
Funcion(cod_funcion,día)
Promocion(cod_pro,descripción,descuento)
Pelicula(cod_pelicula,titulo)
Ficha(codigo_ficha,país, titulo_original,genero,resumen,fecha_estr,subtítulos,
clasificación,hora)
Actor (id_actor, nombre,participaciones,nacionalidad)
Director(id_director,nombre,nacionalidad,participaciones)
Ventanilla(codigo_vent,Numero_boletos,hora,fecha,precio_total,boleto,
precio_boleto)
Usuario(codigo_Usuario,Nombre,edad)
Combo(cod_combo,precio,tipo,cantidad)
Cuenta(nomUsuario,e-mail,password)
20. DISEÑO DE INTERFACESUSANDO JDBC
ComoInterfazprincipal ode ingresotenemosa:
En el cual primeramente pedirá el Usuario y su respectiva contraseña, en caso de ser nuevo
usuario tendrá que registrarse en la opción “Crear Nuevo Usuario” llevándonos a la segunda
interface:
Despuésde llenartodosloscampos,guardamoslainformaciónyvolvemosaingresarala
aplicaciónlocual la siguienteinterface mostraría:
21. En estainterfazpodemoselegirenlaparte superiorunaopciónque puede ser:lamuestrade
películas,de promociones,informaciónyporúltimolaopción“Salir”para finalizarel
programa.
Por ejemplo,acontinuación,se muestraunalistade laspelículas que estánencarteleracomo
laspelículasque estaránenpróximosestrenos.
22. Conectamos nuestra base de datos en MYSQL con JAVA para la realizar las consultas, a
continuacion se muestra los procesos para lograr la conexión:
23. JDBC
Las siguientes consultas están implementadas en Mysql.
CONSULTAS EN MYSQL
1. SELECT * FROM película
2. SELECT * FROM usuario
3. SELECT * FROM cuenta WHERE nomUsuario.
25. CONCLUSIONES
Llegamos a la conclusión que con una buena organización usando base de
datos podemos satisfacer al usuario las comodidades que permite nuestro
sistema a través de un interfaz gráfico, como consultar, comprar boletos,
comprar combo, etc, de una manera eficiente.