Registroproyecto

Page 1

Nombre Proyecto: Cinema Objetivo del Proyecto: Realizar una aplicación que administre las acciones básicas de un cinema

Nombre del Equipo: Pokemon Esmeralda

Integrantes del Equipo:

Nombre: Picazo

Nombre: Analco

Nombre: Diaz Cortes

Nombre: Rojas

Rol: Programador y analista

Rol: DBA

Rol: Analista

Rol: Programador

Martínez Cristian Uriel

Sánchez Edwin Elias

Josue

Carreón Francisco Sinair

Descripción del proyecto: Es una aplicación que permite la compra de películas en distintos formatos, tiene gran variedad en productos y da la confiabilidad al usuario de que sus compras realizadas


estarán seguras y serán realizadas cómodamente.

Alcance: Nivel nacional Presupuesto: 50000 por la elaboración de todo el sistema Cronograma/Duración: 3 meses Grupo:IC:32

Periodo: Agosto-Noviembre 2016

Problemática El cinema tiende a confundir su información le es difícil el control y manejo de su información, otro de las dificultades es que los clientes deben acudir al cinema para recibir pagar y recibir después su producto, la promoción de sus productos es vana, de alto coste y deficiente.

Solución Generar una aplicación que le permita al cliente consultar la información de los productos deseados y hacer sus compras sin tener que acudir a la tienda y permitirá al administrador el control de la información de la tienda en una aspecto organizado y amigable.


Diagrama de casos de uso General:


Modelo Lรณgico:

Modelo Relacional:


Diccionario de datos

Tabla: COMPRA Definición nombre columna Definición

PK Fk obligatorio (NN) tipo de dato Tipo de campo Rango Dominio Valor prederteminado ejemplos

tabla que almacena los datos de la compra Idcompra fecha total identificador unico de la compra

fecha de la compra

otal de la compra

Correo

idSucursal

correo del cliente

identificador unico de la sucursal

√ √

numérico number (8) 1-9999999 0-9

date

numérico number(8,2 ) 0.5099999.50 99999999.00-

1

29/11/16

1000

√ √ Cadena Varchar(30)

elias@hotmail.c om

√ √ numerico Number(8) 1-9999999 0-9 1


Diccionario de datos Tabla: CLIENTE Definición nombre columna

tabla que guarda los datos del cliente Correo Contraseña nombr e

Definición

correo del cliente

PK FK obligatorio tipo(NN) de dato Tipo de campo

contrase ña del cliente

direccion

cp

tarjeta

apelli dos del client e

Direccion del cliente

cdigo postal del cliente

tarjeta del cliente

telefono telefono del cilente

√ √

cadena

cadena

cadena

Varchar (50)

varchar (50)

Rango Dominio Valor prederteminad ejemplos o

contras eña del cliente

Apelli dos

Varcha r(50)

√ Cadena Varch ar(50 )

Cadena

numerico

Numerico

numerico

Varchar(10 0)

numbe r(8)

number(16)

number(10)

999999 99

99999999999 99999

9-999999999

0.5099999. 50 99999.00set@gm ail.com

1234

Josua

Vazquez

Bondojito

26700

1537101327547 831

57927420


Diccionario de datos Tabla: TIPO Definición nombre columna Definición

PK FK obligatorio tipo(NN) de dato Tipo de campo Rango Dominio Valor prederteminad ejemplos o

tabla que almacena los datos del tipo de disco Id_tipo nombre nombre del tipo de identificador unico del tipo

disco

√ √

numérico number (8) 9999999 0-9

cadena varchar (50)

2

DVD


Diccionario de datos Tabla: SUCURSAL Definición nombre columna Definición

PK FK obligatorio tipo(NN) de dato Tipo de campo Rango Dominio Valor prederteminad ejemplos o

Tabla que almacena los datos de las sucrsales Id_sucursal Nombre_sucursal horario horario de la sucursal identificador unico de la sucursal

nombre de la sucursal

√ √

numérico number (8) 1-9999999 0-9

Cadena varchar (50)

234

Cinema neza

√ Cadena Varchar(50)

6:00 am a 6:00 pm


Diccionario de datos Tabla: CATEGORIA Definición nombre columna

tabla que almacena los datos de la categoria Id_categoria identificador unico del estado

Nombre nombre de la categoria

Definición

PK FK obligatorio tipo(NN) de dato Tipo de campo Rango Dominio Valor prederteminad ejemplos o

√ √

numérico number (8) 99999999 0-9

cadena varchar (50)

3

Horror


Diccionario de datos Tabla: PELICULA Definición nombre columna Definición

PK FK

abla que almacena los datos de la pelicula Id_pelicula nombre precio identificador unico de la pelicula

Nombre de la pelicula

precio de la pelicula

Descripcion descripcion de la pelicula

Imagen Imagen de la pelicula

√ √

obligatorio tipo(NN) de dato

numérico

Tipo de campo

number (8)

Rango Dominio Valor prederteminad ejemplos o

9-9999999 0-9 1

√ cadena varchar (50)

numérico

cadena

cadena

number(8)

Varchar(100)

Varchar(120)

9-9999999 0-9 saw

50

Un gran juego del miedo

Saw,jpg


Diccionario de datos. Tabla: Empleado. Definicion

Nombre columna

tabla que almacena los datos de los empleados Id_Empleado

nombre

apellid os

correo

sueldo

direccion

codigoPos tal

Nombre del emplead o

apellid o del emple ado

correo del emple ado

sueldo del empleado

direccion del empleado

codigo postal del empleado

Numero _telefoni co telefono del emplead o

puesto

contraseñ a

Sucursal_I dsucursal

puesto del empleado

contrseña del empleado

identificad or unico de la sucursal

Municipio_ idmunicipi o identificad or unico del municipio

definicion

Identificador del empleado

PK FK OBLIGATORI O (NN) Tipo de dato

√ √

√ √

√ √

numerico

cadena

cadena

numerico

cadena

numerico

numerico

varchar (50)

varchar (100)

varchar (50)

number (8) 1-99999

Number(8)

199999999999

number (5) 1-9999

varchar (50)

Rango

number (8,2) 0.5099999.50

numeric o number (10) 1-99999

cadena

number (8)

caden a varcha r (50)

numerico

Tipo de campo

caden a varcha r (50)

Dominio

0-9

99999.00-

0-9

0-9

0-9

0-9

Valor Ejemplos

1

55700

4464055 7

3

5

Raul

Varga s

va@g mail.co m

3500

Av. lopez

gerente

223

1-9999999


Diccionario de datos Tabla: Municipio Definición nombre columna Definición

PK FK obligatorio tipo(NN) de dato Tipo de campo Rango Dominio Valor prederteminad ejemplos o

Catalogo de Municipios IdMunicipio

Nombre Nombre del municipio

idEstado identificador unico del estado

identificador unico del municipio

√ √ √

numérico number (8) 1-9999999 0-9

cadena varchar (50)

numerico Number(8) 1-9999999 0-9

3

Nezahualcoyotl

7


Diccionario de datos Tabla: Estado Definición nombre columna

Catalogo de Estado IdEstado identificador unico del estado

Nombre Nombre del Estado

Definición

PK FK obligatorio tipo(NN) de dato Tipo de campo Rango Dominio Valor prederteminad ejemplos o

√ √

numérico number (8) 1-9999999 0-9

cadena varchar (25)

1

Estado de Mexico


Diccionario de datos Tabla: Detalle_Compra (Rompimiento). Definición nombre columna Definición

PK FK

detalle de la compra realizada idcompra Idsucursal Idpelicula identificador unico dentificador de la compra unico de la Clave pelicula unica de sucursal

√ √

obligatorio tipo(NN) de dato

numérico

Tipo de campo

number (8)

Rango Dominio Valor prederteminad ejemplos o

√ √ numérico

√ √

cantidad

precio

cantidad de las peliculas

precio de la peliculas

numérico

numérico

number (8)

number (8)

number (8)

number(8)

1-9999999 0-9

1-9999999 0-9

1-9999999 0-9

19999999 0-9

1-9999999 0-9

1

1

1

1

numérico

60

idTipo tipo del disco

√ numérico number(8) v 0-9 543


Diccionario de datos Tabla: Peli_sucursal (Rompimiento). Definición nombre columna Definición

PK FK

detalle de las peliculas y la sucursal idsucursal idPelicula idtipo identificador unico de la sucursal

identificado r unico de la pelicula

identificador del tipo

Stock cantidad del producto en cada sucursal

√ √

√ √

√ √

√ √

obligatorio tipo(NN) de dato

numérico

Tipo de campo

number (8)

number (8)

number (8)

number (8)

Rango Dominio Valor prederteminad ejemplos o

1-9999 0-9

1-9999 0-9

1-9999 0-9

1-9999 0-9

23

2

numérico

numérico

2

numérico

1


Diccionario de datos Tabla: Tipo_Pelicula Definición nombre columna Definición

PK FK obligatorio (NN) tipo de dato Tipo de campo Rango Dominio Valor prederteminado ejemplos

Rompimiento entre tablas tipo y pelicula. idtipo idpelicula identificador unico del identificador unico tipo de la pelicula

√ √ numérico number (8) 1-9999 0-9 1

√ √ numérico number (8) 1-9999 0-9 1

Precio Precio de la pelicula

√ numérico number(8) 1-99999 0-9 40


Diccionario de datos Tabla: Pelicula_Categoria Definición nombre columna Definición

PK FK obligatorio tipo(NN) de dato Tipo de campo Rango Dominio Valor prederteminad ejemplos o

Rompimiento entre las tablas pelicula y tipo. idpelicula

idCategoria identificador de la categoria

dentificador unico de la pelicula

√ √

√ √

numérico number (8) 99999 0-9

numérico number (8) 99999 0-9

1

3


SQL CREATE TABLE TIPO( IDTIPO

NUMBER(8)

NOT NULL,

NOMBRE

VARCHAR2(100) NOT NULL,

TIPO_IDTIPO_PK

PRIMARY KEY(IDTIPO),

);

--------------------------------CATEGORIA----------------------------------------------------------------------------------

CREATE TABLE CATEGORIA( IDCATEGORIA

NUMBER(8)

NOMBRE

NOT NULL,

VARCHAR2(50)

CATEGORIA_IDCATEGORIA_PK

NOT NULL,

PRIMARY KEY(IDCATEGORIA)

);

------------------------------------PELICULA CATEGORIA-----------------------------------------------------------------------

CREATE TABLE PELICULA_CATEGORIA( IDPELICULA

NUMBER(8)

NOT NULL,

IDCATEGORIA

NUMBER(8)

NOT NULL,

PC_IDPELICULA_IDCATEGORIA_PK

PRIMARY KEY(IDPELICULA,IDCATEGORIA),

PC_IDPELICULA_FK

FOREIGN KEY(IDPELICULA) REFERENCES PELICULA(IDPELICULA),

PC_IDCATEGORIA_FK

FOREIGN KEY(IDCATEGORIA) REFERENCES CATEGORIA(IDCATEGORIA),

);

-----------------------------------TIPO PELICULA---------------------------------------------------------------------------------


CREATE TABLE TIPO_PELICULA( IDTIPO

NUMBER(8)

NOT NULL,

IDPELICULA

NUMBER(8)

NOT NULL,

PRECIO

NUMBER(6,2)

NOT NULL,

TP_IDTIPO_IDPELICULA_PK TP_IDTIPO_FK

PRIMARY KEY(IDTIPO,IDPELICULA), FOREIGN KEY(IDTIPO) REFERENCES TIPO(IDTIPO),

TP_IDPELICULA_FK TP_PRECIO_CH

FOREIGN KEY(IDPELICULA) REFERENCES PELICULA(IDPELICULA), CHECK(PRECIO>0),

);

----------------------------------PELICULA SUCURSAL--------------------------------------------------------------------------

CREATE TABLE PELI_SUCURSAL( IDSUCURSAL

NUMBER(8)

NOT NULL,

IDPELICULA

NUMBER(8)

NOT NULL,

IDTIPO

NUMBER(8)

NOT NULL,

STOCK

NUMBER(8)

NOT NULL,

PS_IDSUCURSAL_IDPELICULA_PK PRIMARY KEY(IDSUCURSAL,IDPELICULA), PS_IDSUCURSAL_FK

FOREIGN KEY(IDSUCURSAL) REFERENCES SUCURSAL(IDSUCURSAL),

PS_IDPELICULA_FK

FOREIGN KEY(IDPELICULA) REFERENCES PELICULA(IDPELICULA),

PS_IDTIPO_FK

FOREIGN KEY(IDTIPO) REFERENCES TIPO(IDTIPO)

PS_STOCK_CH

CHECK(STOCK>0)

);

-----------------DETALLE COMPRA------------------------------------------------------------------------------------------------CREATE TABLE DETALLE_COMPRA( IDCOMPRA

NUMBER(8)

NOT NULL,

IDSUCURSAL

NUMBER(8)

NOT NULL,


IDPELICULA

NUMBER(8)

NOT NULL,

CANTIDAD

NUMBER(8)

NOT NULL,

PRECIO

NUMBER(6,2)

NOT NULL,

DC_IDCOMPRA_IDSUCURSAL_PK PRIMARY KEY(IDCOMPRA,IDSUCURSAL), DC_IDCOMPRA_FK

FOREIGN KEY(IDCOMPRA) REFERENCES COMPRA(IDCOMPRA),

DC_IDSUCURSAL_FK

FOREIGN KEY(IDSUCURSAL) REFERENCES PELI_SUCURSAL(IDSUCURSAL),

DC_IDPELICULA_FK

FOREIGN KEY(IDPELICULA) REFERENCES PELI_SUCURSAL(IDPELICULA),

DC_CANTIDAD_CH

CHECK(CANTIDAD>0),

DC_PRECIO_CH

CHECK(PRECIO>0),

); ----------------------------------------ESTADO-----------------------------------------------------------------

CREATE TABLE ESTADO( IDESTADO

NUMBER(8)

NOT NULL,

NOMBRE

VARCHAR2(50)

NOT NULL,

EST_IDESTADO_PK

PRIMARY KEY(IDESTADO)

);

-----------------TABLA MUNICIPIO----------------------------------------------------------------------

CREATE TABLE MUNICIPIO( IDMUNICIPIO

NUMBER(8)

NOMBRE IDESTADO

NOT NULL,

VARCHAR2(50) NUMBER(8)

NOT NULL,

NOT NULL,

MUN_IDMUNICIPIO_IDESTADO_PK PRIMARY KEY(IDMUNICIPIO,IDESTADO), MUN_IDESTADO_FK );

FOREIGN KEY(IDESTADO) REFERENCES ESTADO(IDESTADO),


INDICES 1.- CREATE UNIQUE INDEX DAT_EMP

ON EMPLEADO(NOMBRE, APELLIDOS, SUELDO);

2.- CREATE UNIQUE INDEX DAT_CLI ON CLIENTE (CORREO, NOMBRE, CP);

3.- CREATE UNIQUE INDEX DAT_COMPRA ON COMPRA(FECHA, TOTAL, CORREO);

4.- CREATE UNIQUE INDEX NOM_CAT ON CATEGORIA(NOMBRE);


INNER JOIN TABLA PADRE SUCURSAL

TABLA HIJO EMPLEADO

SQL SELECT S.IDSUCURSAL, EMP.IDEMPLEADO FROM SUCURSAL S, EMPLEADO EMP WHERE S.IDSUCURSAL=EMP.IDSUCURSAL;

CLIENTE

COMPRA

SELECT CORREO,IDCOMPRA FROM CLIENTE C, COMPRA, CP WHERE C.CORREO= CP.CORREO;

SUSCURSAL

COMPRA

SELECT IDSUCURSAL, IDCOMPRA FROM SUCURSAL S, COMPRA C WHERE S.IDSUCURSAL=C.IDCOMPRA;

SALIDA


ESTADO

MUNICIPIO

SELECT ES.IDESTADO, MU.IDMUNICIPIO FROM ESTADO ES, MUNICIPIO MU WHERE ES.IDESTADO=MU.IDMUNICIPIO;

SUCURSAL

PELI_SUCURSAL

SELECT SC.IDSUCURSAL, PS.IDPELICULA FROM SUCURSAL SC, PELI_SUCURSAL PS WHERE SC.IDSUCURSAL=PS.IDSUCURSAL;

COMPRA

DETALLE_COMPRA

SELECT CP.IDCOMPRA,DC.IDPELICULA,DC.CANTIDA D FROM COMPRA CP, DETALLE_COMPRA DC WHERE CP.IDCOMPRA=DC.IDCOMPRA;

PELI_SUCURSA L

DETALLE_COMPRA

SELECT PS.IDPELICULA, PS.STOCK, DC.IDPELICULA, DC.CANTIDAD, DC.CANTIDAD FROM PELI_SUCURSAL PS, DETALLE_COMPRA DC WHERE PS.IDPELICULA=DC.IDPELICULA;


TIPO_PELICUL A

PELI_SUCURSAL

SELECT TP.IDTIPO, PS.IDSUCURSAL, PS.STOCK FROM TIPO_PELICULA TP, PELI_SUCURSAL PS WHERE TP.IDTIPO=PS.IDTIPO;

TIPO

TIPO_PELICULA

SELECT TI.IDTIPO, TI.NOMBRE, TP.IDPELICULA, TP.PRECIO FROM TIPO TI, TIPO_PELICULA TP WHERE TI.IDTIPO=TP.IDTIPO;

PELICULA

PELI_SUCURSAL

SELECT PL.IDPELICULA, PL.NOMBRE, PS.IDSUCURSAL, PS.IDTIPO, PS.STOCK FROM PELICULA PL, PELI_SUCURSAL PS WHERE PL.IDPELICULA=PS.IDPELICULA;

PELICULA

TIPO_PELICULA

SELECT PL.IDPELICULA, TP.IDTIPO, PL.NOMBRE, TP.PRECIO FROM PELICULA PL, TIPO_PELICULA TP WHERE PL.IDPELICULA=TP.IDPELICULA;

PELICULA

PELICULA_CATEGORI A

SELECT PL.IDPELICULA,PC.IDCATEGORIA,PL.NOMBR E FROM PELICULA PL, PELICULA_CATEGORIA PC WHERE PL.IDPELICULA=PC.IDPELICULA;


CATEGORIA

PELICULA_CATEGORI A

SELECT CG.IDCATEGORIA,CG.NOMBRE,PC.IDPELICU LA FROM CATEGORIA CG, PELICULA_CATEGORIA PC WHERE CG.IDCATEGORIA=PC.IDCATEGORIA;


VISTAS

VISTA SQL CREATE OR REPLACE VIEW DETALLE AS SELECT S.IDSUCURSAL, S.NOMBRE, P.IDPELICULA, PS.IDTIPO, PS.STOCK FROM SUCURSAL S, PELICULA P, PELI_SUCURSAL PS WHERE S.IDSUCURSAL=PS.IDSUCURSAL AND P.IDPELICULA=PS.IDPELICULA ORDER BY IDSUCURSAL; CREATE OR REPLACE VIEW MES_SALARIO AS SELECT COUNT(IDEMPLEADO) ID_EMP, SUM(SUELDO) SUELDO, SUM(SUELDO*2) SUEL_MEN FROM EMPLEADO GROUP BY IDEMPLEADO; CREATE OR REPLACE VIEW SUCURSAL_EMPLEADO AS SELECT S.IDSUCURSAL, S.NOMBRE,E.IDEMPLEADO,E.APELLIDOS, E.CP, E.DIRECCION FROM SUCURSAL S, EMPLEADO E WHERE S.IDSUCURSAL= E.IDSUCURSAL ORDER BY S.IDSUCURSAL, E.APELLIDOS ASC; CREATE OR REPLACE VIEW VISTA_CAT AS SELECT IDPELICULA,NOMBRE, DESCRIPCION,PRECIO FROM PELICULA WHERE IDPELICULA=(SELECT IDPELICULA FROM PELI_SUCURSAL WHERE IDTIPO=2 );

SALIDA


PROGRAMACION

PROCEDIMIENTO DE REPORTE: create or replace PROCEDURE REPORTE(VL_IDSUCURSAL NUMBER) AS CURSOR C_REPORTE IS SELECT PS.IDSUCURSAL IDS, P.IDPELICULA IP, PS. IDTIPO IT, PS.STOCK ST, P.NOMBRE NB, P.PRECIO PC FROM PELICULA P, PELI_SUCURSAL PS WHERE P.IDPELICULA=PS.IDPELICULA AND IDSUCURSAL=VL_IDSUCURSAL; PELICULAS NUMBER(5); BEGIN DBMS_OUTPUT.PUT_LINE('REPORTE DE LA PELICULA'); FOR PEL IN C_REPORTE LOOP DBMS_OUTPUT.PUT_LINE('IDENTIFICADOR DE LA SUCURSAL: '|| PEL.IDS); DBMS_OUTPUT.PUT_LINE('IDENTIFICADOR DE LA PELICULA: '|| PEL.IP); DBMS_OUTPUT.PUT_LINE('TIPO DE DISCO: '|| PEL.IT); DBMS_OUTPUT.PUT_LINE('NOMBRE DE LA PELICULA: ' || PEL.NB); DBMS_OUTPUT.PUT_LINE('PRECIO DE LA PELICULA: ' || PEL.PC); DBMS_OUTPUT.PUT_LINE('CANTIDAD DISPONIBLE: ' || PEL.ST); PELICULAS:= PELICULAS+1; END LOOP; DBMS_OUTPUT.PUT_LINE('TOTAL DE REGISTROS: ' || PELICULAS); END REPORTE; SALIDA


PROCEDIMIENTO DEL TICKET: create or replace PROCEDURE TICKET(VL_IDCOMPRA NUMBER) AS CURSOR C_TICK IS SELECT IDCOMPRA IC, FECHA FC, TOTAL TT, CORREO CR, IDSUCURSAL IDS FROM COMPRA WHERE IDCOMPRA=VL_IDCOMPRA; BEGIN DBMS_OUTPUT.PUT_LINE('TICKET DE COMPRA'); FOR COMP IN C_TICK LOOP DBMS_OUTPUT.PUT_LINE('IDENTIFICADOR DE LA COMPRA: '|| COMP.IC); DBMS_OUTPUT.PUT_LINE('FECHA DE LA COMPRA: '|| COMP.FC); DBMS_OUTPUT.PUT_LINE('TOTAL DE LA COMPRA: ' || COMP.TT); DBMS_OUTPUT.PUT_LINE('CORREO DEL CLIENTE: '|| COMP.CR); DBMS_OUTPUT.PUT_LINE('IDENTIFICADOR DE LA SUCURSAL: '|| COMP.IDS); END LOOP; END TICKET; SALIDA:


PROCEDIMIENTO DE REPORTE VENTA: create or replace PROCEDURE REPORTE_VENTAS (VL_MESD VARCHAR2, VL_MESA VARCHAR2 ) AS CURSOR C_VENT IS SELECT IDCOMPRA IC, FECHA FC, TOTAL TT, CORREO CC, IDSUCURSAL IDS FROM COMPRA WHERE FECHA>=VL_MESD AND FECHA<= VL_MESA; BEGIN DBMS_OUTPUT.PUT_LINE('REPORTE DE COMPRA POR MES'); FOR COMP IN C_VENT LOOP DBMS_OUTPUT.PUT_LINE('IDENTIFICADOR DE LA COMPRA: '|| COMP.IC); DBMS_OUTPUT.PUT_LINE('FECHA DE LA COMPRA: '|| COMP.FC); DBMS_OUTPUT.PUT_LINE('TOTAL DE LA COMPRA: ' || COMP.TT); DBMS_OUTPUT.PUT_LINE('CORREO DEL CLIENTE: '|| COMP.CC); DBMS_OUTPUT.PUT_LINE('IDENTIFICADOR DE LA SUCURSAL: || COMP.IDS'); END LOOP; END REPORTE_VENTAS; Salida


TECNOLOGIAS UTILIZADAS        

JAVA SERVER FACES. ORACLE JDBC. HTML 5 SQL XHTML PRIMEFACES BOOTSTRAP JAVA


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.