Proyecto Final Bases de Datos - Videoclub

Post on 24-Mar-2016

234 views 3 download

description

Se trata del proyecto llevado a cabo en la FP de Desarrollo de Aplicaciones Informáticas. Éste incluye MEER, análisis de todos sus componentes (formas normales) y la base de datos en sí, incluyendo INSERTS, TRIGGERS...

Transcript of Proyecto Final Bases de Datos - Videoclub

César Miguel Santiago Núñez

Jaime Álvarez-Ossorio Varela

ÍNDICE

MEER VIDEOCLUB...........................................................................................................................................................3

MEER CONTROL DE USUARIOS....................................................................................................................................4

RELACIONAL MEER: CASO A........................................................................................................................................5

RELACIONAL CONTROL DE USUARIOS......................................................................................................................6

ESTUDIO 3FN.....................................................................................................................................................................7

TABLA DE VALORES......................................................................................................................................................39

SQL: CREACIÓN BBDD Y TABLAS..............................................................................................................................42

SQL: TRIGGERS...............................................................................................................................................................47

SQL: INSERTS...................................................................................................................................................................49

RELACIONAL MEER: CASO ATIPO_DISP=( {Cod_Tipo , Descripcion})

GENERO=( {Cod_Genero , Tipo})

PLATAFORMA=({Cod_Plat , Tipo})

FORMATO=({Cod_Form , Tipo})

PRODUCTO=({ASIN,Imagen,Cant_Tienda})

DISPOSITIVO=({ASIN,Descripcion,Cod_Tipo})

MEDIA=({ASIN,Titulo,Resumen,Edad_Minima,Cod_Genero})

VIDEOJUEGO=({ASIN,Cod_Plat})

PELICULA=({ASIN,Director,Duracion,Reparto,Cod_Form})

PRECIO_VENTA=({ASIN,Fecha,Precio})

PRECIO_ALQ=({ASIN,Fecha,Precio})

CATEGORIA=({Cod_Cat , Descripcion,Influye})

PROMOCION=({Cod_Cat,Cod_Prom,Descripcion,Fec_Ini,Fec_Fin})

CLASIFICACION=({ASIN,Cod_Cat})

TURNO=({Cod_Turno,Hora_Ini,Hora_Fin})

PERSONA=({DNI,Nombre,Telefono,Direccion,Email,Fec_Nac})

SOCIO=({DNI,Fec_Alta,Fec_Baja})

EMPLEADO=({DNI,Fec_Contrato,Fin_Contrato,Sueldo,Cod_Turno})

TARJETA=({DNI,Cod_Tarjeta,Fecha,Valida})

TICKET=({Cod_Ticket,Fecha,Hora,DNI_Emp,DNI_Soc})

DETALLE_TICKET=({Cod_Ticket,Num_Linea,Cantidad,ASIN})

PROVEEDOR=({CIF,Nombre,Telefono,Direccion,Email})

PEDIDO=({Cod_Pedido,Fecha,Hora,Atendido,CIF})

LINEA_PEDIDO=({Cod_Pedido,N_Linea_Pedido,Cantidad,Atendido,ASIN})

ALBARAN=({Cod_Albaran,Fecha,Hora})

LINEA_ALBARAN=({Cod_Albaran,N_Linea_Alb,Cantidad})

ASOCIADO=({Cod_Albaran,N_Linea_Alb,Cod_Pedido,N_Linea_Pedido})

FACTURA=({Cod_Factura,Fecha,Hora})

LINEA_FACTURA=({Cod_Factura,N_Linea_Fac,Cantidad,Precio,ASIN})

GENERA=({Cod_Factura,Cod_Albaran})

ALQUILA=({DNI,ASIN,Fec_Alq,CantidadAlq,Fec_Dev})

RELACIONAL CONTROL DE USUARIOS

USUARIO=({Cod_Usuario,Nombre,Password,Bloqueado,N_Intentos,Habilitado,1_vez})

INICIO_SESION=({Cod_Usuario,Fecha,Hora , Correcto,IP})

GRUPO=({Cod_Perfil , Tipo})

PERTENECEN=({Cod_Usuario,Cod_Perfil})

MENU=({Cod_Menu , Nombre,Influye})

ACCEDEN=({Cod_Perfil,Cod_Menu,Lectura,Escritura,Borrado})

PARAM_CONF=({N_Intentos_Fall,T_Desbloqueo,Pass_Long_Min,Pass_N_Mayus,N_Digitos, N_Car_Esp})

INICIO_ERRONEO=({Codigo,Password,Fecha,Hora,IP,Nombre})

ESTUDIO 3FN

DEPENDENCIAS FUNCIONALES

TIPO_DISP=( {Cod_Tipo , Descripcion}, ℑ)

ℑ={ Cod_Tipo -->Descripcion

Descripcion -->Cod_Tipo}

RECUBRIMIENTO MÍNIMO

Cod_Tipo-->Descripcion : Rdte?(Cod_Tipo)+ con respecto a ℑ - { Cod_Tipo-->Descripcion}(Cod_Tipo)+ = Cod_TipoVese que Descripcion ∉ (Cod_Tipo)+ ⇒ Cod_Tipo-->Descripcion non é Rdte

Descripcion-->Cod_Tipo : Rdte?(Descripcion)+ con respecto a ℑ - {Descripcion-->Cod_Tipo}(Descripcion)+ = DescripcionVese que Cod_Tipo ∉ (Descripcion)+ ⇒ Descripcion-->Cod_Tipo non é Rdte

CLAVESCod_Tipo

Descripcion

CC.CC. = {Cod_Tipo},{Descripcion}C.P. = {Cod_Tipo}CC.AA. = {Descripcion}

FORMAS NORMALES1FN: Sí. Todo atributo es atómico para cada tupla.2FN: Sí. Está en 1FN y ningún atributo no clave depende parcialmente de un atributo que forma parte de la clave.3FN: Sí. Ningún atributo no clave depende de otro atributo no clave.

DEPENDENCIAS FUNCIONALES

GENERO=( {Cod_Genero,Tipo}, ℑ)

ℑ={ Cod_ Genero --> Tipo

Tipo -->Cod_Genero}

RECUBRIMIENTO MÍNIMO

Cod_Genero--> Tipo : Rdte?

(Cod_Genero)+ con respecto a ℑ - { Cod_Genero-->Tipo}(Cod_Genero)+ = Cod_GeneroVese que Tipo ∉ (Cod_Genero)+ ⇒ Cod_Genero--> Tipo non é Rdte

Tipo-->Cod_ Genero : Rdte?(Tipo)+ con respecto a ℑ - {Tipo-->Cod_Genero}(Tipo)+ = TipoVese que Cod_ Genero ∉ (Tipo)+ ⇒ Tipo-->Cod_ Genero non é Rdte

CLAVES

Cod_ Genero

Tipo

CC.CC. = {Cod_Genero},{Tipo}C.P. = {Cod_Genero}CC.AA. = {Tipo}

FORMAS NORMALES1FN: Sí. Todo atributo es atómico para cada tupla.2FN: Sí. Está en 1FN y ningún atributo no clave depende parcialmente de un atributo que forma parte de la clave.3FN: Sí. Ningún atributo no clave depende de otro atributo no clave.

DEPENDENCIAS FUNCIONALES

PLATAFORMA=({Cod_Plat , Tipo}, ℑ)

ℑ={ Cod_Plat --> Tipo

Tipo -->Cod_Plat}

RECUBRIMIENTO MÍNIMO

Cod_Plat--> Tipo : Rdte?(Cod_Plat)+ con respecto a ℑ - { Cod_Plat-->Tipo}(Cod_Plat)+ = Cod_PlatVese que Tipo ∉ (Cod_Plat)+ ⇒ Cod_Plat--> Tipo non é Rdte

Tipo-->Cod_ Plat : Rdte?(Tipo)+ con respecto a ℑ - {Tipo-->Cod_Plat}(Tipo)+ = TipoVese que Cod_ Plat ∉ (Tipo)+ ⇒ Tipo-->Cod_ Plat non é Rdte

CLAVES

Cod_Plat

Tipo

CC.CC. = {Cod_Plat},{Tipo}C.P. = {Cod_Plat}CC.AA. = {Tipo}

FORMAS NORMALES1FN: Sí. Todo atributo es atómico para cada tupla.2FN: Sí. Está en 1FN y ningún atributo no clave depende parcialmente de un atributo que forma parte de la clave.3FN: Sí. Ningún atributo no clave depende de otro atributo no clave.

DEPENDENCIAS FUNCIONALES

FORMATO=({Cod_Form , Tipo}, ℑ)

ℑ={ Cod_Form --> Tipo

Tipo -->Cod_Form}

RECUBRIMIENTO MÍNIMO

Cod_Form--> Tipo : Rdte?(Cod_Form)+ con respecto a ℑ - { Cod_Form-->Tipo}(Cod_Form)+ = Cod_FormVese que Tipo ∉ (Cod_Form)+ ⇒ Cod_Form--> Tipo non é Rdte

Tipo-->Cod_ Form : Rdte?(Tipo)+ con respecto a ℑ - {Tipo-->Cod_Form}(Tipo)+ = TipoVese que Cod_ Form ∉ (Tipo)+ ⇒ Tipo-->Cod_ Form non é Rdte

CLAVES

Cod_Form

Tipo

CC.CC. = {Cod_Form},{Tipo}C.P. = {Cod_Form}CC.AA. = {Tipo}

FORMAS NORMALES1FN: Sí. Todo atributo es atómico para cada tupla.2FN: Sí. Está en 1FN y ningún atributo no clave depende parcialmente de un atributo que forma parte de la clave.3FN: Sí. Ningún atributo no clave depende de otro atributo no clave.

DEPENDENCIAS FUNCIONALES

PRODUCTO=({ASIN,Imagen,Cant_Tienda}, ℑ)

ℑ={ ASIN -->Imagen

ASIN -->Cant_Tienda}

RECUBRIMIENTO MÍNIMO

ASIN-->Imagen : Rdte?

(ASIN)+ con respecto a ℑ - { ASIN-->Imagen}(ASIN)+ = ASIN,Cant_TiendaVese que Imagen ∉ (ASIN)+ ⇒ ASIN--> Imagen non é Rdte

ASIN--> Cant_Tienda : Rdte?(ASIN)+ con respecto a ℑ - { ASIN-->Cant_Tienda}(ASIN)+ = ASIN,ImagenVese que Cant_Tienda ∉ (ASIN)+ ⇒ ASIN--> Cant_Tienda non é Rdte

CLAVESASIN

Imagen

Cant_Tienda

CC.CC. = C.P. ={ASIN}

FORMAS NORMALES1FN: Sí. Todo atributo es atómico para cada tupla.2FN: Sí. Está en 1FN y ningún atributo no clave depende parcialmente de un atributo que forma parte de la clave.3FN: Sí. Ningún atributo no clave depende de otro atributo no clave.

DEPENDENCIAS FUNCIONALES

DISPOSITIVO=({ASIN,Descripcion,Cod_Tipo}, ℑ)

ℑ={ ASIN -->Descripcion

ASIN -->Cod_Tipo}

RECUBRIMIENTO MÍNIMO

ASIN-->Descripcion : Rdte?(ASIN)+ con respecto a ℑ - { ASIN-->Descripcion}(ASIN)+ = ASIN,Cod_TipoVese que Descripcion ∉ (ASIN)+ ⇒ ASIN--> Descripcion non é Rdte

ASIN--> Cod_ Tipo : Rdte?(ASIN)+ con respecto a ℑ - { ASIN-->Cant_Tipo}(ASIN)+ = ASIN,DescripcionVese que Cant_ Tipo ∉ (ASIN)+ ⇒ ASIN--> Cant_ Tipo non é Rdte

CLAVESASIN

Descripcion

Cod_Tipo

CC.CC. = C.P. ={ASIN}

FORMAS NORMALES1FN: Sí. Todo atributo es atómico para cada tupla.2FN: Sí. Está en 1FN y ningún atributo no clave depende parcialmente de un atributo que forma parte de la clave.3FN: Sí. Ningún atributo no clave depende de otro atributo no clave.

DEPENDENCIAS FUNCIONALES

MEDIA=({ASIN,Titulo,Resumen,Edad_Minima,Cod_Genero}, ℑ)

ℑ={ ASIN -->Titulo

ASIN -->Resumen

ASIN -->Edad_Minima

ASIN -->Cod_Genero

Titulo -->ASIN

Titulo -->Resumen

Titulo -->Edad_Minima

Titulo -->Cod_Genero}

RECUBRIMIENTO MÍNIMO

ASIN-->Titulo : Rdte?(ASIN)+ con respecto a ℑ - { ASIN-->Titulo}(ASIN)+ = ASIN, Resumen, Edad_Minima,Cod_GeneroVese que Titulo ∉ (ASIN)+ ⇒ ASIN--> Titulo non é Rdte

ASIN-->Resumen : Rdte?(ASIN)+ con respecto a ℑ- { ASIN-->Resumen}(ASIN)+ = ASIN, Titulo, Edad_Minima,Cod_Genero,ResumenVese que Resumen ∈ (ASIN)+ ⇒ ASIN--> Resumen é Rdte

ℑ1=ℑ- { ASIN-->Resumen}ℑ1 ={ ASIN -->Titulo

ASIN -->Edad_Minima

ASIN -->Cod_Genero

Titulo -->ASIN

Titulo -->Resumen

Titulo -->Edad_Minima

Titulo -->Cod_Genero}

ASIN-->Edad_Minima : Rdte?(ASIN)+ con respecto a ℑ1 - { ASIN-->Edad_Minima}(ASIN)+ = ASIN, Titulo,Cod_Genero,Resumen,Edad_MinimaVese que Edad_Minima ∈ (ASIN)+ ⇒ ASIN--> Edad_Minima é Rdte

ℑ2=ℑ1-{ ASIN-->Edad_Minima}ℑ

2 ={ ASIN -->Titulo

ASIN -->Cod_Genero

Titulo -->ASIN

Titulo -->Resumen

Titulo -->Edad_Minima

Titulo -->Cod_Genero}

ASIN-->Cod_Genero : Rdte?(ASIN)+ con respecto a ℑ

2 - { ASIN-->Cod_Genero}

(ASIN)+ = ASIN, Titulo,Resumen,Edad_Minima,Cod_GeneroVese que Cod_Genero ∈ (ASIN)+ ⇒ ASIN--> Cod_Genero é Rdte

ℑ3=ℑ2-{ ASIN—>Cod_Genero}ℑ

3 ={ ASIN -->Titulo

Titulo -->ASIN

Titulo -->Resumen

Titulo -->Edad_Minima

Titulo -->Cod_Genero}

Titulo-->ASIN : Rdte?(Titulo)+ con respecto a ℑ

3 - { Titulo-->ASIN}

(Titulo)+ = Titulo, Resumen, Edad_Minima,Cod_GeneroVese que ASIN ∉ (Titulo)+ ⇒ Titulo-->ASIN non é Rdte

Titulo-->Resumen : Rdte?(Titulo)+ con respecto a ℑ

3 - { Titulo-->Resumen}

(Titulo)+ = Titulo, ASIN, Edad_Minima,Cod_GeneroVese que Resumen ∉ (Titulo)+ ⇒ Titulo-->Resumen non é Rdte

Titulo-->Edad_Minima : Rdte?(Titulo)+ con respecto a ℑ

3 - { Titulo-->Edad_Minima}

(Titulo)+ = Titulo,ASIN, Resumen,Cod_GeneroVese que Edad_Minima ∉ (Titulo)+ ⇒ Titulo--> Edad_Minima non é Rdte

Titulo--> Cod_Genero : Rdte?(Titulo)+ con respecto a ℑ

3 - { Titulo-->Cod_Genero}

(Titulo)+ = Titulo,ASIN, Resumen, Edad_MinimaVese que Cod_Genero ∉ (Titulo)+ ⇒ Titulo--> Cod_Genero non é Rdte

CLAVESASIN

Titulo

Resumen

Edad_Minima

Cod_Genero

CC.CC. = {ASIN},{Titulo}C.P. = {ASIN}CC.AA. = {Titulo}

FORMAS NORMALES1FN: Sí. Todo atributo es atómico para cada tupla.2FN: Sí. Está en 1FN y ningún atributo no clave depende parcialmente de un atributo que forma parte de la clave.3FN: Sí. Ningún atributo no clave depende de otro atributo no clave.

DEPENDENCIAS FUNCIONALES

VIDEOJUEGO=({ASIN,Cod_Plat}, ℑ)

ℑ={ ASIN -->Cod_Plat}

CLAVES

ASIN

Cod_Plat

CC.CC. = C.P. = {ASIN}

FORMAS NORMALES1FN: Sí. Todo atributo es atómico para cada tupla.2FN: Sí. Está en 1FN y ningún atributo no clave depende parcialmente de un atributo que forma parte de la clave.3FN: Sí. Ningún atributo no clave depende de otro atributo no clave.

DEPENDENCIAS FUNCIONALES

PELICULA=({ASIN,Director,Duracion,Reparto,Cod_Form}, ℑ)

ℑ={ ASIN -->Director

ASIN -->Duracion

ASIN -->Reparto

ASIN -->Cod_Form}

RECUBRIMIENTO MÍNIMO

ASIN-->Director : Rdte?(ASIN)+ con respecto a ℑ - { ASIN-->Director}(ASIN)+ = ASIN, Duracion,Reparto,Cod_FormVese que Director ∉ (ASIN)+ ⇒ ASIN--> Director non é Rdte

ASIN-->Duracion : Rdte?(ASIN)+ con respecto a ℑ - { ASIN-->Duracion}(ASIN)+ = ASIN, Director,Reparto,Cod_FormVese que Duracion ∉ (ASIN)+ ⇒ ASIN--> Duracion non é Rdte

ASIN-->Reparto : Rdte?(ASIN)+ con respecto a ℑ - { ASIN-->Reparto}(ASIN)+ = ASIN, Director,Duracion,Cod_FormVese que Reparto ∉ (ASIN)+ ⇒ ASIN--> Reparto non é Rdte

ASIN--> Cod_Form : Rdte?(ASIN)+ con respecto a ℑ - { ASIN-->Cod_Form}(ASIN)+ = ASIN, Director,Duracion,RepartoVese que Cod_Form ∉ (ASIN)+ ⇒ ASIN--> Cod_Form non é Rdte

CLAVESASIN

Director

Duracion

Reparto

Cod_Form

CC.CC. = C.P. = {ASIN}

FORMAS NORMALES1FN: Sí. Todo atributo es atómico para cada tupla.2FN: Sí. Está en 1FN y ningún atributo no clave depende parcialmente de un atributo que forma parte de la clave.3FN: Sí. Ningún atributo no clave depende de otro atributo no clave.

DEPENDENCIAS FUNCIONALES

PRECIO_VENTA=({ASIN,Fecha,Precio}, ℑ)

ℑ={ ASIN,Fecha -->Precio}

CLAVES

ASIN

Fecha

Precio

CC.CC. = C.P. ={ASIN,Fecha}

FORMAS NORMALES1FN: Sí. Todo atributo es atómico para cada tupla.2FN: Sí. Está en 1FN y ningún atributo no clave depende parcialmente de un atributo que forma parte de la clave.3FN: Sí. Ningún atributo no clave depende de otro atributo no clave.

DEPENDENCIAS FUNCIONALES

PRECIO_ALQ=({ASIN,Fecha,Precio}, ℑ)

ℑ={ ASIN,Fecha -->Precio}

CLAVES

ASIN

Fecha

Precio

CC.CC. = C.P. ={ASIN,Fecha}

FORMAS NORMALES1FN: Sí. Todo atributo es atómico para cada tupla.2FN: Sí. Está en 1FN y ningún atributo no clave depende parcialmente de un atributo que forma parte de la clave.3FN: Sí. Ningún atributo no clave depende de otro atributo no clave.

DEPENDENCIAS FUNCIONALES

CATEGORIA=({Cod_Cat , Descripcion,Influye}, ℑ)

ℑ={ Cod_Cat -->Descripcion

Cod_Cat -->Influye

Descripcion -->Cod_Cat

Descripcion -->Influye}

RECUBRIMIENTO MÍNIMO

Cod_Cat-->Descripcion : Rdte?(Cod_Cat)+ con respecto a ℑ - { Cod_Cat-->Descripcion}(Cod_Cat)+ = Cod_Cat,InfluyeVese que Descripcion ∉ (Cod_Cat)+ ⇒ Cod_Cat--> Descripcion non é Rdte

Cod_Cat-->Influye : Rdte?(Cod_Cat)+ con respecto a ℑ - { Cod_Cat-->Influye}(Cod_Cat)+ = Cod_Cat,Descripcion,InfluyeVese que Influye ∈ (Cod_Cat)+ ⇒ Cod_Cat--> Influye é Rdte

ℑ1=ℑ-{ Cod_Cat-->Influye}ℑ1={ Cod_Cat -->Descripcion

Descripcion -->Cod_Cat

Descripcion -->Influye}

Descripcion-->Cod_Cat : Rdte?(Descripcion)+ con respecto a ℑ1 - { Descripcion-->Cod_Cat}(Descripcion)+ = Descripcion,InfluyeVese que Cod_Cat ∉ (Descripcion)+ ⇒ Descripcion--> Cod_Cat non é Rdte

Descripcion--> Influye : Rdte?(Descripcion)+ con respecto a ℑ1 - { Descripcion-->Influye}(Descripcion)+ = Descripcion,Cod_CatVese que Influye ∉ (Descripcion)+ ⇒ Descripcion-->Influye non é Rdte

CLAVESCod_Cat

Descripcion

Influye

CC.CC. = {Cod_Cat},{Descripcion}C.P. = {Cod_Cat}CC.AA. = {Descripcion}

FORMAS NORMALES1FN: Sí. Todo atributo es atómico para cada tupla.2FN: Sí. Está en 1FN y ningún atributo no clave depende parcialmente de un atributo que forma parte de la clave.3FN: Sí. Ningún atributo no clave depende de otro atributo no clave.

DEPENDENCIAS FUNCIONALES

PROMOCION=({Cod_Cat,Cod_Prom,Descripcion,Fec_Ini,Fec_Fin}, ℑ)

ℑ={ Cod_Cat,Cod_Prom -->Descripcion

Cod_Cat,Cod_Prom -->Fec_Ini

Cod_Cat,Cod_Prom -->Fec_Fin}

RECUBRIMIENTO MÍNIMO

Cod_Cat,Cod_Prom-->Descripcion : Rdte?(Cod_Cat,Cod_Prom)+ con respecto a ℑ - { Cod_Cat,Cod_Prom-->Descripcion}(Cod_Cat,Cod_Prom)+ = Cod_Cat,Cod_Prom,Fec_Ini,Fec_FinVese que Descripcion ∉ (Cod_Cat,Cod_Prom)+ ⇒ Cod_Cat,Cod_Prom-->Descripcion non é Rdte

Cod_Cat,Cod_Prom--> Fec_Ini : Rdte?(Cod_Cat,Cod_Prom)+ con respecto a ℑ - { Cod_Cat,Cod_Prom-->Fec_Ini}(Cod_Cat,Cod_Prom)+ = Cod_Cat,Cod_Prom,Descripcion,Fec_FinVese que Fec_Ini ∉ (Cod_Cat,Cod_Prom)+ ⇒ Cod_Cat,Cod_Prom--> Fec_Ini non é Rdte

Cod_Cat,Cod_Prom-->Fec_Fin : Rdte?(Cod_Cat,Cod_Prom)+ con respecto a ℑ - { Cod_Cat,Cod_Prom-->Fec_Fin}(Cod_Cat,Cod_Prom)+ = Cod_Cat,Cod_Prom,Descripcion,Fec_IniVese que Fec_Fin ∉ (Cod_Cat,Cod_Prom)+ ⇒ Cod_Cat,Cod_Prom-->Fec_Fin non é Rdte

CLAVESCod_Cat

Cod_Prom

Descripcion

Fec_Ini

Fec_Fin

CC.CC. = C.P. = {Cod_Cat,Cod_Prom}

FORMAS NORMALES1FN: Sí. Todo atributo es atómico para cada tupla.2FN: Sí. Está en 1FN y ningún atributo no clave depende parcialmente de un atributo que forma parte de la clave.3FN: Sí. Ningún atributo no clave depende de otro atributo no clave.

DEPENDENCIAS FUNCIONALES

CLASIFICACION=({ASIN,Cod_Cat}, {})

CLAVES

ASIN

Cod_Cat

CC.CC. = C.P. = {ASIN,Cod_Cat}

FORMAS NORMALES1FN: Sí. Todo atributo es atómico para cada tupla.2FN: Sí. Está en 1FN y ningún atributo no clave depende parcialmente de un atributo que forma parte de la clave.3FN: Sí. Ningún atributo no clave depende de otro atributo no clave.

DEPENDENCIAS FUNCIONALES

TURNO=({Cod_Turno,Hora_Ini,Hora_Fin}, ℑ)

ℑ={ Cod_Turno -->Hora_Ini

Cod_Turno -->Hora_Fin}

RECUBRIMIENTO MÍNIMO

Cod_Turno-->Hora_Ini: Rdte?(Cod_Turno)+ con respecto a ℑ - { Cod_Turno-->Hora_Ini}(Cod_Turno)+ = Cod_Turno,Hora_FinVese que Hora_Ini ∉ (Cod_Turno)+ ⇒ Cod_Turno-->Hora_Ini non é Rdte

Cod_Turno-->Hora_Fin: Rdte?(Cod_Turno)+ con respecto a ℑ - { Cod_Turno-->Hora_Fin}(Cod_Turno)+ = Cod_Turno,Hora_IniVese que Hora_ Fin ∉ (Cod_Turno)+ ⇒ Cod_Turno-->Hora_ Fin non é Rdte

CLAVESCod_Turno

Hora_Ini

Hora_Fin

CC.CC. = C.P. = {Cod_Turno}

FORMAS NORMALES1FN: Sí. Todo atributo es atómico para cada tupla.2FN: Sí. Está en 1FN y ningún atributo no clave depende parcialmente de un atributo que forma parte de la clave.3FN: Sí. Ningún atributo no clave depende de otro atributo no clave.

DEPENDENCIAS FUNCIONALES

PERSONA=({DNI,Nombre,Telefono,Direccion,Email,Fec_Nac}, ℑ)

ℑ={ DNI -->Nombre

DNI -->Telefono

DNI -->Direccion

DNI -->Email

DNI -->Fec_Nac

Email -->DNI

Email -->Nombre

Email -->Telefono

Email -->Fec_Nac}

RECUBRIMIENTO MÍNIMO

DNI-->Nombre: Rdte?(DNI)+ con respecto a ℑ - { DNI-->Nombre}(DNI)+ = DNI,Telefono,Direccion,Email,Fec_Nac,NombreVese que Nombre ∈ (DNI)+ ⇒ DNI-->Nombre é Rdte

ℑ1=ℑ-{ DNI-->Nombre}ℑ1={ DNI -->Telefono

DNI -->Direccion

DNI -->Email

DNI -->Fec_Nac

Email -->DNI

Email -->Nombre

Email -->Telefono

Email -->Fec_Nac}

DNI-->Telefono: Rdte?(DNI)+ con respecto a ℑ1 - { DNI-->Telefono}(DNI)+ = DNI,Direccion,Email,Fec_Nac,Nombre,TelefonoVese que Telefono ∈ (DNI)+ ⇒ DNI-->Telefono é Rdte

ℑ2=ℑ1-{ DNI-->Telefono}ℑ2={ DNI -->Direccion

DNI -->Email

DNI -->Fec_Nac

Email -->DNI

Email -->Nombre

Email -->Telefono

Email -->Fec_Nac}

DNI-->Direccion: Rdte?(DNI)+ con respecto a ℑ2 - { DNI-->Direccion}(DNI)+ = DNI,Email,Fec_Nac,Nombre,Telefono,DireccionVese que Direccion ∈ (DNI)+ ⇒ DNI-->Direccion é Rdte

ℑ3=ℑ2-{ DNI-->Direccion}ℑ3={ DNI -->Email

DNI -->Fec_Nac

Email -->DNI

Email -->Nombre

Email -->Telefono

Email -->Fec_Nac}

DNI-->Email: Rdte?(DNI)+ con respecto a ℑ3 - { DNI-->Email}(DNI)+ = DNI,Fec_NacVese que Email ∉ (DNI)+ ⇒ DNI-->Email non é Rdte

DNI-->Fec_Nac: Rdte?(DNI)+ con respecto a ℑ3 - { DNI-->Fec_Nac}(DNI)+ = DNI,Email,Nombre,Telefono,Direccion,Fec_NacVese que Fec_Nac ∈ (DNI)+ ⇒ DNI-->Fec_Nac é Rdte

ℑ4=ℑ3-{ DNI-->Fec_Nac}ℑ4={ DNI -->Email

Email -->DNI

Email -->Nombre

Email -->Telefono

Email -->Fec_Nac}

Email-->DNI: Rdte?(Email)+ con respecto a ℑ4 - { Email-->DNI}(Email)+ = Email,Nombre,Telefono,Fec_nacVese que DNI ∉ (Email)+ ⇒ Email-->DNI non é Rdte

Email-->Nombre: Rdte?(Email)+ con respecto a ℑ4 - { Email-->Nombre}(Email)+ = Email,DNI,Telefono,Fec_nacVese que Nombre ∉ (Email)+ ⇒ Email-->Nombre non é Rdte

Email-->Telefono: Rdte?(Email)+ con respecto a ℑ4 - { Email-->Telefono}(Email)+ = Email,DNI,Nombre,Fec_nacVese que Telefono ∉ (Email)+ ⇒ Email-->Telefono non é Rdte

Email-->Fec_Nac: Rdte?(Email)+ con respecto a ℑ4 - { Email-->Fec_Nac}(Email)+ = Email,DNI,Nombre,TelefonoVese que Fec_Nac ∉ (Email)+ ⇒ Email--> Fec_Nac non é Rdte

CLAVESDNI

Email

Nombre

Telefono

Fec_Nac

CC.CC. = {DNI},{Email}C.P. = {DNI}CC.AA. = {Email}

FORMAS NORMALES1FN: Sí. Todo atributo es atómico para cada tupla.2FN: Sí. Está en 1FN y ningún atributo no clave depende parcialmente de un atributo que forma parte de la clave.3FN: Sí. Ningún atributo no clave depende de otro atributo no clave.

DEPENDENCIAS FUNCIONALES

SOCIO=({DNI,Fec_Alta,Fec_Baja}, ℑ)

ℑ={ DNI -->Fec_Alta

DNI -->Fec_Baja}

RECUBRIMIENTO MÍNIMO

DNI-->Fec_Alta: Rdte?(DNI)+ con respecto a ℑ - { DNI-->Fec_Alta}(DNI)+ = DNI,Fec_BajaVese que Fec_Alta ∉ (DNI)+ ⇒ DNI-->Fec_Alta non é Rdte

DNI-->Fec_Baja: Rdte?(DNI)+ con respecto a ℑ - { DNI-->Fec_Baja}(DNI)+ = DNI,Fec_AltaVese que Fec_ Baja ∉ (DNI)+ ⇒ DNI-->Fec_ Baja non é Rdte

CLAVESDNI

Fec_Alta

Fec_Baja

CC.CC. = C.P. = {DNI}

FORMAS NORMALES1FN: Sí. Todo atributo es atómico para cada tupla.2FN: Sí. Está en 1FN y ningún atributo no clave depende parcialmente de un atributo que forma parte de la clave.3FN: Sí. Ningún atributo no clave depende de otro atributo no clave.

DEPENDENCIAS FUNCIONALES

EMPLEADO=({DNI,Fec_Contrato,Fin_Contrato,Sueldo,Cod_Turno}, ℑ)

ℑ={ DNI -->Fec_Contrato

DNI -->Fin_Contrato

DNI -->Sueldo

DNI -->Cod_Turno}

RECUBRIMIENTO MÍNIMO

DNI-->Fec_Contrato: Rdte?(DNI)+ con respecto a ℑ - { DNI-->Fec_Contrato}(DNI)+ = DNI,Fin_Contrato,Sueldo,Cod_TurnoVese que Fec_ Contrato ∉ (DNI)+ ⇒ DNI-->Fec_ Contrato non é Rdte

DNI-->Fin_Contrato: Rdte?(DNI)+ con respecto a ℑ - { DNI-->Fin_Contrato}(DNI)+ = DNI,Fec_Contrato,Sueldo,Cod_TurnoVese que Fin_ Contrato ∉ (DNI)+ ⇒ DNI-->Fin_ Contrato non é Rdte

DNI-->Sueldo: Rdte?(DNI)+ con respecto a ℑ - { DNI-->Sueldo}(DNI)+ = DNI,Fec_Contrato,Fin_Contrato,Cod_TurnoVese que Sueldo ∉ (DNI)+ ⇒ DNI-->Sueldo non é Rdte

DNI-->Cod_Turno: Rdte?(DNI)+ con respecto a ℑ - { DNI-->Cod_Turno}(DNI)+ = DNI,Fec_Contrato,Fin_Contrato,SueldoVese que Cod_Turno ∉ (DNI)+ ⇒ DNI--> Cod_Turno non é Rdte

CLAVESDNI

Fec_Contrato

Fin_Contrato

Sueldo

Cod_Turno

CC.CC. = C.P. = {DNI}

FORMAS NORMALES1FN: Sí. Todo atributo es atómico para cada tupla.2FN: Sí. Está en 1FN y ningún atributo no clave depende parcialmente de un atributo que forma parte de la clave.3FN: Sí. Ningún atributo no clave depende de otro atributo no clave.

DEPENDENCIAS FUNCIONALES

TARJETA=({DNI,Cod_Tarjeta,Fecha,Valida}, ℑ)

ℑ={ DNI,Cod_Tarjeta -->Fecha

DNI,Cod_Tarjeta -->Valida}

RECUBRIMIENTO MÍNIMO

DNI,Cod_Tarjeta-->Fecha: Rdte?(DNI,Cod_Tarjeta)+ con respecto a ℑ - { DNI,Cod_Tarjeta-->Fecha}(DNI,Cod_Tarjeta)+ = DNI,Cod_Tarjeta,ValidaVese que Fecha ∉ (DNI,Cod_Tarjeta)+ ⇒ DNI,Cod_Tarjeta--> Fecha non é Rdte

DNI,Cod_Tarjeta-->Valida: Rdte?(DNI,Cod_Tarjeta)+ con respecto a ℑ - { DNI,Cod_Tarjeta-->Valida}(DNI,Cod_Tarjeta)+ = DNI,Cod_Tarjeta,FechaVese que Valida ∉ (DNI,Cod_Tarjeta)+ ⇒ DNI,Cod_Tarjeta--> Valida non é Rdte

CLAVESDNI

Cod_Tarjeta

Fecha

Valida

CC.CC. = C.P. = {DNI,Cod_Tarjeta}

FORMAS NORMALES1FN: Sí. Todo atributo es atómico para cada tupla.2FN: Sí. Está en 1FN y ningún atributo no clave depende parcialmente de un atributo que forma parte de la clave.3FN: Sí. Ningún atributo no clave depende de otro atributo no clave.

DEPENDENCIAS FUNCIONALES

TICKET=({Cod_Ticket,Fecha,Hora,DNI_Emp,DNI_Soc}, ℑ)

ℑ={ Cod_Ticket -->Fecha

Cod_Ticket -->Hora

Cod_Ticket -->DNI_Emp

Cod_Ticket -->DNI_Soc}

RECUBRIMIENTO MÍNIMO

Cod_Ticket-->Fecha: Rdte?(Cod_Ticket)+ con respecto a ℑ - {Cod_Ticket-->Fecha}(Cod_Ticket)+ = Cod_Ticket,Hora,DNI_Emp,DNI_SocVese que Fecha ∉ (Cod_Ticket)+ ⇒ Cod_Ticket---> Fecha non é Rdte

Cod_Ticket-->Hora: Rdte?(Cod_Ticket)+ con respecto a ℑ - {Cod_Ticket-->Hora}(Cod_Ticket)+ = Cod_Ticket,Fecha,DNI_Emp,DNI_SocVese que Hora ∉ (Cod_Ticket)+ ⇒ Cod_Ticket---> Hora non é Rdte

Cod_Ticket-->DNI_Emp: Rdte?(Cod_Ticket)+ con respecto a ℑ - {Cod_Ticket-->DNI_Emp}(Cod_Ticket)+ = Cod_Ticket,Fecha,Hora,DNI_SocVese que DNI_Emp ∉ (Cod_Ticket)+ ⇒ Cod_Ticket---> DNI_Emp non é Rdte

Cod_Ticket-->DNI_Soc: Rdte?(Cod_Ticket)+ con respecto a ℑ - {Cod_Ticket-->DNI_Soc}(Cod_Ticket)+ = Cod_Ticket,Fecha,Hora,DNI_EmpVese que DNI_Soc ∉ (DNI)+ ⇒ Cod_Ticket---> DNI_Soc non é Rdte

CLAVESCod_Ticket

Fecha

Hora

DNI_Emp

DNI_Soc

CC.CC. = C.P. = {Cod_Ticket}

FORMAS NORMALES1FN: Sí. Todo atributo es atómico para cada tupla.2FN: Sí. Está en 1FN y ningún atributo no clave depende parcialmente de un atributo que forma parte de la clave.3FN: Sí. Ningún atributo no clave depende de otro atributo no clave.

DEPENDENCIAS FUNCIONALES

DETALLE_TICKET=({Cod_Ticket,Num_Linea,Cantidad,ASIN}, ℑ)

ℑ={ Cod_Ticket,Num_Linea -->Cantidad

Cod_Ticket,Num_Linea -->ASIN}

RECUBRIMIENTO MÍNIMOCod_Ticket,Num_Linea-->Cantidad: Rdte?

(Cod_Ticket,Num_Linea)+ con respecto a ℑ - {Cod_Ticket,Num_Linea-->Cantidad}(Cod_Ticket,Num_Linea)+ = Cod_Ticket,,Num_Linea,ASINVese que Cantidad ∉ (Cod_Ticket,Num_Linea)+ ⇒ Cod_Ticket,Num_Linea-->Cantidad non é Rdte

Cod_Ticket,Num_Linea-->ASIN: Rdte?(Cod_Ticket,Num_Linea)+ con respecto a ℑ - {Cod_Ticket,Num_Linea-->ASIN}(Cod_Ticket,Num_Linea)+ = Cod_Ticket,,Num_Linea,CantidadVese que ASIN ∉ (Cod_Ticket,Num_Linea)+ ⇒ Cod_Ticket,Num_Linea-->ASIN non é Rdte

Cod_Ticket

Num_Linea

Cantidad

ASIN

CC.CC. = C.P. = {Cod_Ticket,Num_Linea}

FORMAS NORMALES1FN: Sí. Todo atributo es atómico para cada tupla.2FN: Sí. Está en 1FN y ningún atributo no clave depende parcialmente de un atributo que forma parte de la clave.3FN: Sí. Ningún atributo no clave depende de otro atributo no clave.

DEPENDENCIAS FUNCIONALES

PROVEEDOR=({CIF,Nombre,Telefono,Direccion, Email }, ℑ)

ℑ={ CIF -->Nombre

CIF -->Telefono

CIF -->Direccion

CIF -->Email

Nombre -->CIF

Nombre -->Telefono

Nombre -->Direccion

Nombre -->Email

Telefono -->CIF

Telefono -->Nombre

Telefono -->Direccion

Telefono -->Email

Direccion -->CIF

Direccion -->Nombre

Direccion -->Telefono

Direccion -->Email

Email -->CIF

Email -->Nombre

Email -->Telefono

Email -->Direccion}

RECUBRIMIENTO MÍNIMO

CIF-->Nombre: Rdte?(CIF)+ con respecto a ℑ - {CIF-->Nombre}(CIF)+ = CIF,Telefono,Direccion,Email,NombreVese que Nombre ∈ (CIF)+ ⇒ CIF-->Nombre é Rdte

ℑ1=ℑ-{CIF-->Nombre}ℑ1={ CIF -->Telefono

CIF -->Direccion

CIF -->Email

Nombre -->CIF

Nombre -->Telefono

Nombre -->Direccion

Nombre -->Email

Telefono -->CIF

Telefono -->Nombre

Telefono -->Direccion

Telefono -->Email

Direccion -->CIF

Direccion -->Nombre

Direccion -->Telefono

Direccion -->Email

Email -->CIF

Email -->Nombre

Email -->Telefono

Email -->Direccion}

CIF-->Telefono: Rdte?(CIF)+ con respecto a ℑ1 - {CIF-->Telefono}(CIF)+ = CIF,Direccion,Email,Nombre,TelefonoVese que Telefono ∈ (CIF)+ ⇒ CIF-->Telefono é Rdte

ℑ2=ℑ1-{CIF-->Telefono}ℑ2={ CIF -->Direccion

CIF -->Email

Nombre -->CIF

Nombre -->Telefono

Nombre -->Direccion

Nombre -->Email

Telefono -->CIF

Telefono -->Nombre

Telefono -->Direccion

Telefono -->Email

Direccion -->CIF

Direccion -->Nombre

Direccion -->Telefono

Direccion -->Email

Email -->CIF

Email -->Nombre

Email -->Telefono

Email -->Direccion}

CIF-->Direccion: Rdte?(CIF)+ con respecto a ℑ2 - {CIF-->Direccion}(CIF)+ = CIF,Email,Nombre,Telefono,DireccionVese que Direccion ∈ (CIF)+ ⇒ CIF-->Direccion é Rdte

ℑ3=ℑ2-{CIF-->Direccion}ℑ3={ CIF -->Email

Nombre -->CIF

Nombre -->Telefono

Nombre -->Direccion

Nombre -->Email

Telefono -->CIF

Telefono -->Nombre

Telefono -->Direccion

Telefono -->Email

Direccion -->CIF

Direccion -->Nombre

Direccion -->Telefono

Direccion -->Email

Email -->CIF

Email -->Nombre

Email -->Telefono

Email -->Direccion}

CIF-->Email: Rdte?(CIF)+ con respecto a ℑ3 - {CIF-->Email}(CIF)+ = CIFVese que Email ∉ (CIF)+ ⇒ CIF--> Email non é Rdte

Nombre -->CIF: Rdte?(Nombre)+ con respecto a ℑ3 - {Nombre-->CIF}(Nombre)+ = Nombre,Telefono,Direccion,Email,CIFVese que CIF ∈ (Nombre)+ ⇒ Nombre-->CIF é Rdte

ℑ4=ℑ3-{Nombre-->CIF}ℑ4={ CIF -->Email

Nombre -->Telefono

Nombre -->Direccion

Nombre -->Email

Telefono -->CIF

Telefono -->Nombre

Telefono -->Direccion

Telefono -->Email

Direccion -->CIF

Direccion -->Nombre

Direccion -->Telefono

Direccion -->Email

Email -->CIF

Email -->Nombre

Email -->Telefono

Email -->Direccion}

Nombre -->Telefono: Rdte?(Nombre)+ con respecto a ℑ4 - {Nombre-->Telefono}(Nombre)+ = Nombre,Direccion,Email,CIF,TelefonoVese que Telefono ∈ (Nombre)+ ⇒ Nombre-->Telefono é Rdte

ℑ5=ℑ4-{Nombre-->Telefono}ℑ5={ CIF -->Email

Nombre -->Direccion

Nombre -->Email

Telefono -->CIF

Telefono -->Nombre

Telefono -->Direccion

Telefono -->Email

Direccion -->CIF

Direccion -->Nombre

Direccion -->Telefono

Direccion -->Email

Email -->CIF

Email -->Nombre

Email -->Telefono

Email -->Direccion}

Nombre -->Direccion: Rdte?(Nombre)+ con respecto a ℑ5 - {Nombre-->Direccion}(Nombre)+ = Nombre,Email,CIF,Telefono,DireccionVese que Direccion ∈ (Nombre)+ ⇒ Nombre-->Direccion é Rdte

ℑ6=ℑ5-{Nombre-->Direccion}ℑ6={ CIF -->Email

Nombre -->Email

Telefono -->CIF

Telefono -->Nombre

Telefono -->Direccion

Telefono -->Email

Direccion -->CIF

Direccion -->Nombre

Direccion -->Telefono

Direccion -->Email

Email -->CIF

Email -->Nombre

Email -->Telefono

Email -->Direccion}

Nombre -->Email: Rdte?(Nombre)+ con respecto a ℑ6 - {Nombre-->Email}(Nombre)+ = NombreVese que Email ∉ (Nombre)+ ⇒ Nombre-->Email non é Rdte

Telefono-->CIF: Rdte?(Telefono)+ con respecto a ℑ6 - {Telefono-->CIF}(Telefono)+ = Telefono,Nombre,Direccion,Email,CIFVese que CIF ∈ (Telefono)+ ⇒ Telefono-->CIF é Rdte

ℑ7=ℑ6-{Telefono-->CIF}ℑ7={ CIF -->Email

Nombre -->Email

Telefono -->Nombre

Telefono -->Direccion

Telefono -->Email

Direccion -->CIF

Direccion -->Nombre

Direccion -->Telefono

Direccion -->Email

Email -->CIF

Email -->Nombre

Email -->Telefono

Email -->Direccion}

Telefono-->Nombre: Rdte?(Telefono)+ con respecto a ℑ7 - {Telefono-->Nombre}(Telefono)+ = Telefono,Direccion,Email,CIF,NombreVese que Nombre ∈ (Telefono)+ ⇒ Telefono-->Nombre é Rdte

ℑ8=ℑ7-{Telefono-->Nombre}ℑ8={ CIF -->Email

Nombre -->Email

Telefono -->Direccion

Telefono -->Email

Direccion -->CIF

Direccion -->Nombre

Direccion -->Telefono

Direccion -->Email

Email -->CIF

Email -->Nombre

Email -->Telefono

Email -->Direccion}

Telefono-->Direccion: Rdte?(Telefono)+ con respecto a ℑ8 - {Telefono-->Direccion}(Telefono)+ = Telefono,Email,CIF,Nombre,DireccionVese que Direccion ∈ (Telefono)+ ⇒ Telefono-->Direccion é Rdte

ℑ9=ℑ8-{Telefono-->Direccion}ℑ9={ CIF -->Email

Nombre -->Email

Telefono -->Email

Direccion -->CIF

Direccion -->Nombre

Direccion -->Telefono

Direccion -->Email

Email -->CIF

Email -->Nombre

Email -->Telefono

Email -->Direccion}

Telefono-->Email: Rdte?(Telefono)+ con respecto a ℑ9 - {Telefono-->Email}(Telefono)+ = TelefonoVese que Email ∉ (Telefono)+ ⇒ Telefono-->Email non é Rdte

Direccion-->CIF: Rdte?(Direccion)+ con respecto a ℑ9 - {Direccion-->CIF}(Direccion)+ = Direccion,Nombre,Telefono,Email,CIFVese que CIF ∈ (Direccion)+ ⇒ Direccion-->CIF é Rdte

ℑ10=ℑ9-{Direccion-->CIF}ℑ10={ CIF -->Email

Nombre -->Email

Telefono -->Email

Direccion -->Nombre

Direccion -->Telefono

Direccion -->Email

Email -->CIF

Email -->Nombre

Email -->Telefono

Email -->Direccion}

Direccion-->Nombre: Rdte?(Direccion)+ con respecto a ℑ10 - {Direccion-->Nombre}(Direccion)+ = Direccion,Telefono,Email,CIF,NombreVese que Nombre ∈ (Direccion)+ ⇒ Direccion-->Nombre é Rdte

ℑ11=ℑ10-{Direccion-->Nombre}ℑ11={ CIF -->Email

Nombre -->Email

Telefono -->Email

Direccion -->Telefono

Direccion -->Email

Email -->CIF

Email -->Nombre

Email -->Telefono

Email -->Direccion}

Direccion-->Telefono: Rdte?(Direccion)+ con respecto a ℑ11 - {Direccion-->Telefono}(Direccion)+ = Direccion,Email,CIF,Nombre,TelefonoVese que Telefono ∈ (Direccion)+ ⇒ Direccion-->Telefono é Rdte

ℑ12=ℑ11-{Direccion-->Telefono}ℑ12={ CIF -->Email

Nombre -->Email

Telefono -->Email

Direccion -->Email

Email -->CIF

Email -->Nombre

Email -->Telefono

Email -->Direccion}

Direccion-->Email: Rdte?(Direccion)+ con respecto a ℑ12 - {Direccion-->Email}(Direccion)+ = DireccionVese que Email ∉ (Direccion)+ ⇒ Direccion--> Email non é Rdte

Email-->CIF: Rdte?(Email)+ con respecto a ℑ12 - {Email-->CIF}(Email)+ = Email,Nombre,Telefono,DireccionVese que CIF ∉ (Email)+ ⇒ Email-->CIF non é Rdte

Email-->Nombre: Rdte?(Email)+ con respecto a ℑ12 - {Email-->Nombre}(Email)+ = Email,CIF,Telefono,DireccionVese que Nombre ∉ (Email)+ ⇒ Email-->Nombre non é Rdte

Email-->Telefono: Rdte?(Email)+ con respecto a ℑ12 - {Email-->Telefono}(Email)+ = Email,CIF,Nombre,DireccionVese que Telefono ∉ (Email)+ ⇒ Email-->Telefono non é Rdte

Email-->Direccion: Rdte?(Email)+ con respecto a ℑ12 - {Email-->Direccion}(Email)+ = Email,CIF,Nombre,TelefonoVese que Direccion ∉ (Email)+ ⇒ Email--> Direccion non é Rdte

CLAVESCIF

Email

Nombre

Telefono

Direccion

CC.CC. = {CIF},{Email},{Nombre},{Telefono},{Direccion}C.P. = {CIF}CC.AA. = {Email},{Nombre},{Telefono},{Direccion}

FORMAS NORMALES1FN: Sí. Todo atributo es atómico para cada tupla.2FN: Sí. Está en 1FN y ningún atributo no clave depende parcialmente de un atributo que forma parte de la clave.3FN: Sí. Ningún atributo no clave depende de otro atributo no clave.

DEPENDENCIAS FUNCIONALES

PEDIDO=({Cod_Pedido,Fecha,Hora,Atendido,CIF}, ℑ)

ℑ={ Cod_Pedido -->Fecha

Cod_Pedido -->Hora

Cod_Pedido -->Atendido

Cod_Pedido -->CIF}

RECUBRIMIENTO MÍNIMO

Cod_Pedido-->Fecha: Rdte?(Cod_Pedido)+ con respecto a ℑ - {Cod_Pedido-->Fecha}(Cod_Pedido)+ = Cod_Pedido,Hora,Atendido,CIFVese que Fecha ∉ (Cod_Pedido)+ ⇒ Cod_Pedido-->Fecha non é Rdte

Cod_Pedido-->Hora: Rdte?(Cod_Pedido)+ con respecto a ℑ - {Cod_Pedido-->Hora}(Cod_Pedido)+ = Cod_Pedido,Fecha,Atendido,CIFVese que Hora ∉ (Cod_Pedido)+ ⇒ Cod_Pedido-->Hora non é Rdte

Cod_Pedido-->Atendido: Rdte?(Cod_Pedido)+ con respecto a ℑ - {Cod_Pedido-->Atendido}(Cod_Pedido)+ = Cod_Pedido,Fecha,Hora,CIFVese que Atendido ∉ (Cod_Pedido)+ ⇒ Cod_Pedido-->Atendido non é Rdte

Cod_Pedido-->CIF: Rdte?(Cod_Pedido)+ con respecto a ℑ - {Cod_Pedido-->CIF}(Cod_Pedido)+ = Cod_Pedido,Fecha,Hora,AtendidoVese que CIF ∉ (Cod_Pedido)+ ⇒ Cod_Pedido--> CIF non é Rdte

CLAVESCod_Pedido

Fecha

Hora

Atendido

CIF

CC.CC. = C.P. = {Cod_Pedido}

FORMAS NORMALES1FN: Sí. Todo atributo es atómico para cada tupla.2FN: Sí. Está en 1FN y ningún atributo no clave depende parcialmente de un atributo que forma parte de la clave.3FN: Sí. Ningún atributo no clave depende de otro atributo no clave.

DEPENDENCIAS FUNCIONALES

LINEA_PEDIDO=({Cod_Pedido,N_Linea_Pedido,Cantidad,Atendido,ASIN}, ℑ)

ℑ={ Cod_Pedido,N_Linea_Pedido -->Cantidad

Cod_Pedido,N_Linea_Pedido -->Atendido

Cod_Pedido,N_Linea_Pedido -->ASIN}

RECUBRIMIENTO MÍNIMO

Cod_Pedido,N_Linea_Pedido-->Cantidad: Rdte?(Cod_Pedido,N_Linea_Pedido)+ con respecto a ℑ - {Cod_Pedido,N_Linea_Pedido-->Cantidad}(Cod_Pedido,N_Linea_Pedido)+ = Cod_Pedido,N_Linea_Pedido,Atendido,ASINVese que Cantidad ∉ (Cod_Pedido,N_Linea_Pedido)+ ⇒ Cod_Pedido,N_Linea_Pedido--> Cantidad non é Rdte

Cod_Pedido,N_Linea_Pedido-->Atendido: Rdte?(Cod_Pedido,N_Linea_Pedido)+ con respecto a ℑ - {Cod_Pedido,N_Linea_Pedido-->Atendido}(Cod_Pedido,N_Linea_Pedido)+ = Cod_Pedido,N_Linea_Pedido,Cantidad,ASINVese que Atendido ∉ (Cod_Pedido,N_Linea_Pedido)+ ⇒ Cod_Pedido,N_Linea_Pedido--> Atendido non é Rdte

Cod_Pedido,N_Linea_Pedido-->ASIN: Rdte?(Cod_Pedido,N_Linea_Pedido)+ con respecto a ℑ - {Cod_Pedido,N_Linea_Pedido-->ASIN}(Cod_Pedido,N_Linea_Pedido)+ = Cod_Pedido,N_Linea_Pedido,Cantidad,AtendidoVese que ASIN ∉ (Cod_Pedido,N_Linea_Pedido)+ ⇒ Cod_Pedido,N_Linea_Pedido--> ASIN non é Rdte

CLAVESCod_Pedido

N_Linea_Pedido

Cantidad

Atendido

ASIN

CC.CC. = C.P. = {Cod_Pedido,N_Linea_Pedido}

FORMAS NORMALES1FN: Sí. Todo atributo es atómico para cada tupla.2FN: Sí. Está en 1FN y ningún atributo no clave depende parcialmente de un atributo que forma parte de la clave.3FN: Sí. Ningún atributo no clave depende de otro atributo no clave.

DEPENDENCIAS FUNCIONALES

ALBARAN=({Cod_Albaran,Fecha,Hora}, ℑ)

ℑ={ Cod_Albaran -->Fecha

Cod_Albaran -->Hora}

RECUBRIMIENTO MÍNIMO

Cod_Albaran-->Fecha: Rdte?(Cod_Albaran)+ con respecto a ℑ - {Cod_Albaran-->Fecha}(Cod_Albaran)+ = Cod_Albaran,HoraVese que Fecha ∉ (Cod_Albaran)+ ⇒ Cod_Albaran--> Fecha non é Rdte

Cod_Albaran-->Hora: Rdte?(Cod_Albaran)+ con respecto a ℑ - {Cod_Albaran-->Hora}(Cod_Albaran)+ = Cod_Albaran,FechaVese que Hora ∉ (Cod_Albaran)+ ⇒ Cod_Albaran--> Hora non é Rdte

CLAVESCod_Albaran

Fecha

Hora

CC.CC. = C.P. = {Cod_Albaran}

FORMAS NORMALES1FN: Sí. Todo atributo es atómico para cada tupla.2FN: Sí. Está en 1FN y ningún atributo no clave depende parcialmente de un atributo que forma parte de la clave.3FN: Sí. Ningún atributo no clave depende de otro atributo no clave.

DEPENDENCIAS FUNCIONALES

LINEA_ALBARAN=({Cod_Albaran,N_Linea_Alb,Cantidad}, ℑ)

ℑ={ Cod_Albaran,N_Linea_Alb -->Cantidad}

CLAVES

Cod_Albaran

N_Linea_Alb

Cantidad

CC.CC. = C.P. = {Cod_Albaran,N_Linea_Alb}

FORMAS NORMALES1FN: Sí. Todo atributo es atómico para cada tupla.2FN: Sí. Está en 1FN y ningún atributo no clave depende parcialmente de un atributo que forma parte de la clave.3FN: Sí. Ningún atributo no clave depende de otro atributo no clave.

DEPENDENCIAS FUNCIONALES

ASOCIADO=({Cod_Albaran,N_Linea_Alb,Cod_Pedido,N_Linea_Pedido}, {})

CLAVES

Cod_Albaran

N_Linea_Alb

Cod_Pedido

N_Linea_Pedido

CC.CC. = C.P. = {Cod_Albaran,N_Linea_Alb,Cod_Pedido,N_Linea_Pedido}

FORMAS NORMALES1FN: Sí. Todo atributo es atómico para cada tupla.2FN: Sí. Está en 1FN y ningún atributo no clave depende parcialmente de un atributo que forma parte de la clave.3FN: Sí. Ningún atributo no clave depende de otro atributo no clave.

DEPENDENCIAS FUNCIONALES

FACTURA=({Cod_Factura,Fecha,Hora}, ℑ)

ℑ={ Cod_Factura -->Fecha

Cod_Factura -->Hora}

RECUBRIMIENTO MÍNIMO

Cod_Factura-->Fecha: Rdte?(Cod_Factura)+ con respecto a ℑ - {Cod_Factura-->Fecha}(Cod_Factura)+ = Cod_Factura,HoraVese que Fecha ∉ (Cod_Factura)+ ⇒ Cod_Factura--> Fecha non é Rdte

Cod_Factura-->Hora: Rdte?(Cod_Factura)+ con respecto a ℑ - {Cod_Factura-->Hora}(Cod_Factura)+ = Cod_Factura,FechaVese que Hora ∉ (Cod_Factura)+ ⇒ Cod_Factura--> Hora non é Rdte

CLAVESCod_Factura

Fecha

Hora

CC.CC. = C.P. = {Cod_Factura}

FORMAS NORMALES1FN: Sí. Todo atributo es atómico para cada tupla.2FN: Sí. Está en 1FN y ningún atributo no clave depende parcialmente de un atributo que forma parte de la clave.3FN: Sí. Ningún atributo no clave depende de otro atributo no clave.

DEPENDENCIAS FUNCIONALES

LINEA_FACTURA=({Cod_Factura,N_Linea_Fac,Cantidad,Precio,ASIN}, ℑ)

ℑ={ Cod_Factura,N_Linea_Fac -->Cantidad

Cod_Factura,N_Linea_Fac -->Precio

Cod_Factura,N_Linea_Fac -->ASIN}

RECUBRIMIENTO MÍNIMO

Cod_Factura,N_Linea_Fac-->Cantidad: Rdte?(Cod_Factura,N_Linea_Fac)+ con respecto a ℑ - {Cod_Factura,N_Linea_Fac-->Cantidad}(Cod_Factura,N_Linea_Fac)+ = Cod_Factura,N_Linea_Fac,PrecioVese que Cantidad ∉ (Cod_Factura,N_Linea_Fac)+ ⇒ Cod_Factura,N_Linea_Fac--> Cantidad non é Rdte

Cod_Factura,N_Linea_Fac-->Precio: Rdte?(Cod_Factura,N_Linea_Fac)+ con respecto a ℑ - {Cod_Factura,N_Linea_Fac-->Precio}(Cod_Factura,N_Linea_Fac)+ = Cod_Factura,N_Linea_Fac,CantidadVese que Precio ∉ (Cod_Factura,N_Linea_Fac)+ ⇒ Cod_Factura,N_Linea_Fac--> Precio non é Rdte

Cod_Factura,N_Linea_Fac-->ASIN: Rdte?(Cod_Factura,N_Linea_Fac)+ con respecto a ℑ - {Cod_Factura,N_Linea_Fac-->ASIN}(Cod_Factura,N_Linea_Fac)+ = Cod_Factura,N_Linea_Fac,Cantidad,PrecioVese que ASIN ∉ (Cod_Factura,N_Linea_Fac)+ ⇒ Cod_Factura,N_Linea_Fac-->ASIN non é Rdte

CLAVESCod_Factura

N_Linea_Fac

Cantidad

Precio

ASIN

CC.CC. = C.P. = {Cod_Factura,N_Linea_Fac}

FORMAS NORMALES1FN: Sí. Todo atributo es atómico para cada tupla.2FN: Sí. Está en 1FN y ningún atributo no clave depende parcialmente de un atributo que forma parte de la clave.3FN: Sí. Ningún atributo no clave depende de otro atributo no clave.

DEPENDENCIAS FUNCIONALES

GENERA=({Cod_Factura,Cod_Albaran}, {})

CLAVES

Cod_Factura

Cod_Albaran

CC.CC. = C.P. = {Cod_Factura,Cod_Albaran}

FORMAS NORMALES1FN: Sí. Todo atributo es atómico para cada tupla.2FN: Sí. Está en 1FN y ningún atributo no clave depende parcialmente de un atributo que forma parte de la clave.3FN: Sí. Ningún atributo no clave depende de otro atributo no clave.

DEPENDENCIAS FUNCIONALES

ALQUILA=({DNI,ASIN,Fec_Alq,CantidadAlq,Fec_Dev}, ℑ)

ℑ={ DNI,ASIN,Fec_Alq -->CantidadAlq

DNI,ASIN,Fec_Alq -->Fec_Dev}

RECUBRIMIENTO MÍNIMO

DNI,ASIN,Fec_Alq-->CantidadAlq : Rdte?(DNI,ASIN,Fec_Alq)+ con respecto a ℑ - { DNI,ASIN,Fec_Alq-->CantidadAlq}(DNI,ASIN,Fec_Alq)+ = DNI,ASIN,Fec_Alq,Fec_DevVese que CantidadAlq ∉ (DNI,ASIN,Fec_Alq)+ ⇒ DNI,ASIN,Fec_Alq-->CantidadAlq non é Rdte

DNI,ASIN,Fec_Alq--> Fec_Dev : Rdte?(DNI,ASIN,Fec_Alq)+ con respecto a ℑ - { DNI,ASIN,Fec_Alq-->Fec_Dev}(DNI,ASIN,Fec_Alq)+ = DNI,ASIN,Fec_Alq,CantidadAlqVese que Fec_Dev ∉ (DNI,ASIN,Fec_Alq)+ ⇒ DNI,ASIN,Fec_Alq--> Fec_Dev non é Rdte

CLAVES

DNI

ASIN

Fec_Alq

CantidadAlq

Fec_Dev

CC.CC. = C.P. = {DNI,ASIN,Fec_Alq}

FORMAS NORMALES1FN: Sí. Todo atributo es atómico para cada tupla.2FN: Sí. Está en 1FN y ningún atributo no clave depende parcialmente de un atributo que forma parte de la clave.3FN: Sí. Ningún atributo no clave depende de otro atributo no clave.

DEPENDENCIAS FUNCIONALES

USUARIO=({Cod_Usuario,Nombre,Password,Bloqueado,N_Intentos,Habilitado,1_vez},ℑ)

ℑ={ Cod_Usuario -->Nombre

Cod_Usuario -->Password

Cod_Usuario -->Bloqueado

Cod_Usuario -->N_Intentos

Cod_Usuario -->Habilitado

Cod_Usuario -->1_vez}

RECUBRIMIENTO MÍNIMO

Cod_Usuario-->Nombre: Rdte?(Cod_Usuario)+ con respecto a ℑ - {Cod_Usuario-->Nombre}(Cod_Usuario)+ = Cod_Usuario,Password,Bloqueado,N_Intentos,Habilitado,1_vezVese que Nombre ∉ (Cod_Usuario)+ ⇒ Cod_Usuario-->Nombre non é Rdte

Cod_Usuario-->Password: Rdte?(Cod_Usuario)+ con respecto a ℑ - {Cod_Usuario-->Password}(Cod_Usuario)+ = Cod_Usuario,Nombre,Bloqueado,N_Intentos,Habilitado,1_vezVese que Password ∉ (Cod_Usuario)+ ⇒ Cod_Usuario-->Password non é Rdte

Cod_Usuario-->Bloqueado: Rdte?(Cod_Usuario)+ con respecto a ℑ - {Cod_Usuario-->Bloqueado}(Cod_Usuario)+ = Cod_Usuario,Nombre,Password,N_Intentos,Habilitado,1_vezVese que Bloqueado ∉ (Cod_Usuario)+ ⇒ Cod_Usuario-->Bloqueado non é Rdte

Cod_Usuario-->N_Intentos: Rdte?(Cod_Usuario)+ con respecto a ℑ - {Cod_Usuario-->N_Intentos}(Cod_Usuario)+ = Cod_Usuario,Nombre,Password,Bloqueado,Habilitado,1_vezVese que N_Intentos ∉ (Cod_Usuario)+ ⇒ Cod_Usuario-->N_Intentos non é Rdte

Cod_Usuario-->Habilitado: Rdte?(Cod_Usuario)+ con respecto a ℑ - {Cod_Usuario-->Habilitado}(Cod_Usuario)+ = Cod_Usuario,Nombre,Password,Bloqueado,N_Intentos,1_vezVese que Habilitado ∉ (Cod_Usuario)+ ⇒ Cod_Usuario-->Habilitado non é Rdte

Cod_Usuario-->1_vez: Rdte?(Cod_Usuario)+ con respecto a ℑ - {Cod_Usuario-->1_vez}(Cod_Usuario)+ = Cod_Usuario,Nombre,Password,Bloqueado,N_Intentos,HabilitadoVese que 1_vez ∉ (Cod_Usuario)+ ⇒ Cod_Usuario-->1_vez non é Rdte

CLAVES

Cod_Usuario

Nombre

Password

Bloqueado

N_Intentos

Habilitado

1_vez

CC.CC. = C.P. = {Cod_Usuario}

FORMAS NORMALES1FN: Sí. Todo atributo es atómico para cada tupla.2FN: Sí. Está en 1FN y ningún atributo no clave depende parcialmente de un atributo que forma parte de la clave.3FN: Sí. Ningún atributo no clave depende de otro atributo no clave.

DEPENDENCIAS FUNCIONALES

INICIO_SESION=({Cod_Usuario,Fecha,Hora , Correcto,IP},ℑ)

ℑ={ Cod_Usuario,Fecha,Hora -->Correcto

Cod_Usuario,Fecha,Hora -->IP}

RECUBRIMIENTO MÍNIMO

Cod_Usuario,Fecha,Hora-->Correcto: Rdte?(Cod_Usuario,Fecha,Hora)+ con respecto a ℑ - {Cod_Usuario,Fecha,Hora-->Correcto}(Cod_Usuario,Fecha,Hora)+ = Cod_Usuario,Fecha,Hora,IPVese que Correcto ∉ (Cod_Usuario,Fecha,Hora)+ ⇒ Cod_Usuario,Fecha,Hora-->Correcto non é Rdte

Cod_Usuario,Fecha,Hora-->IP: Rdte?(Cod_Usuario,Fecha,Hora)+ con respecto a ℑ - {Cod_Usuario,Fecha,Hora-->IP}(Cod_Usuario,Fecha,Hora)+ = Cod_Usuario,Fecha,Hora,CorrectoVese que IP ∉ (Cod_Usuario,Fecha,Hora)+ ⇒ Cod_Usuario,Fecha,Hora--> IP non é Rdte

CLAVES

Cod_Usuario

Fecha

Hora

Correcto

IP

CC.CC. = C.P. = {Cod_Usuario,Fecha,Hora}

FORMAS NORMALES1FN: Sí. Todo atributo es atómico para cada tupla.2FN: Sí. Está en 1FN y ningún atributo no clave depende parcialmente de un atributo que forma parte de la clave.3FN: Sí. Ningún atributo no clave depende de otro atributo no clave.

DEPENDENCIAS FUNCIONALES

GRUPO=({Cod_Perfil , Tipo},ℑ)

ℑ={ Cod_Perfil -->Tipo

Tipo -->Cod_Perfil}

RECUBRIMIENTO MÍNIMO

Cod_Perfil-->Tipo: Rdte?(Cod_Perfil)+ con respecto a ℑ - {Cod_Perfil-->Tipo}(Cod_Perfil)+ = Cod_PerfilVese que Tipo ∉ (Cod_Perfil )+ ⇒ Cod_Perfil--> Tipo non é Rdte

Tipo-->Cod_Perfil: Rdte?(Tipo)+ con respecto a ℑ - {Tipo-->Cod_Perfil}(Tipo)+ = TipoVese que Cod_Perfil ∉ (Tipo)+ ⇒ Tipo-->Cod_Perfil non é Rdte

CLAVES

Cod_Perfil

Tipo

CC.CC. = {Cod_Perfil},{Tipo}

C.P. = {Cod_Perfil}

CC.AA. = {Tipo}

FORMAS NORMALES1FN: Sí. Todo atributo es atómico para cada tupla.2FN: Sí. Está en 1FN y ningún atributo no clave depende parcialmente de un atributo que forma parte de la clave.3FN: Sí. Ningún atributo no clave depende de otro atributo no clave.

DEPENDENCIAS FUNCIONALES

PERTENECEN=({Cod_Usuario,Cod_Perfil},{})

CLAVES

Cod_Usuario

Cod_Perfil

CC.CC. = C.P. = {Cod_Usuario,Cod_Perfil}

FORMAS NORMALES1FN: Sí. Todo atributo es atómico para cada tupla.2FN: Sí. Está en 1FN y ningún atributo no clave depende parcialmente de un atributo que forma parte de la clave.3FN: Sí. Ningún atributo no clave depende de otro atributo no clave.

DEPENDENCIAS FUNCIONALES

MENU=({Cod_Menu , Nombre,Influye},ℑ)

ℑ={ Cod_Menu -->Nombre

Cod_Menu -->Influye}

RECUBRIMIENTO MÍNIMO

Cod_Menu-->Nombre: Rdte?(Cod_Menu)+ con respecto a ℑ - {Cod_Menu-->Nombre}(Cod_Menu)+ = Cod_Menu, InfluyeVese que Nombre ∉ (Cod_Menu )+ ⇒ Cod_Menu--> Nombre non é Rdte

Cod_Menu-->Influye: Rdte?(Cod_Menu)+ con respecto a ℑ - {Cod_Menu-->Influye}(Cod_Menu)+ = Cod_Menu,NombreVese que Influye ∉ (Cod_Menu )+ ⇒ Cod_Menu--> Influye non é Rdte

CLAVES

Cod_Menu

Nombre

Influye

CC.CC. = C.P. = {Cod_Menu}

FORMAS NORMALES1FN: Sí. Todo atributo es atómico para cada tupla.2FN: Sí. Está en 1FN y ningún atributo no clave depende parcialmente de un atributo que forma parte de la clave.3FN: Sí. Ningún atributo no clave depende de otro atributo no clave.

DEPENDENCIAS FUNCIONALES

ACCEDEN=({Cod_Perfil,Cod_Menu,Lectura,Escritura,Borrado},ℑ)

ℑ={ Cod_Perfil,Cod_Menu -->Lectura

Cod_ Perfil,Cod_Menu -->Escritura

Cod_ Perfil,Cod_Menu -->Borrado}

RECUBRIMIENTO MÍNIMO

Cod_Perfil,Cod_Menu-->Lectura: Rdte?(Cod_Perfil,Cod_Menu)+ con respecto a ℑ - {Cod_Perfil,Cod_Menu-->Lectura}(Cod_Perfil,Cod_Menu)+ = Cod_Perfil,Cod_Menu,Escritura,BorradoVese que Lectura ∉ (Cod_Perfil,Cod_Menu )+ ⇒ Cod_Perfil,Cod_Menu-->Lectura non é Rdte

Cod_Perfil,Cod_Menu-->Escritura: Rdte?(Cod_Perfil,Cod_Menu)+ con respecto a ℑ - {Cod_Perfil,Cod_Menu-->Escritura}(Cod_Perfil,Cod_Menu)+ = Cod_Perfil,Cod_Menu,Lectura,BorradoVese que Escritura ∉ (Cod_Perfil,Cod_Menu )+ ⇒ Cod_Perfil,Cod_Menu-->Escritura non é Rdte

Cod_Perfil,Cod_Menu-->Borrado: Rdte?(Cod_Perfil,Cod_Menu)+ con respecto a ℑ - {Cod_Perfil,Cod_Menu-->Borrado}(Cod_Perfil,Cod_Menu)+ = Cod_Perfil,Cod_Menu,Escritura,EscrituraVese que Borrado ∉ (Cod_Perfil,Cod_Menu )+ ⇒ Cod_Perfil,Cod_Menu--> Borrado non é Rdte

CLAVES

Cod_Perfil

Cod_Menu

Lectura

Escritura

Borrado

CC.CC. = C.P. = {Cod_Perfil,Cod_Menu}

FORMAS NORMALES1FN: Sí. Todo atributo es atómico para cada tupla.2FN: Sí. Está en 1FN y ningún atributo no clave depende parcialmente de un atributo que forma parte de la clave.3FN: Sí. Ningún atributo no clave depende de otro atributo no clave.

TABLA DE VALORESCASO Táboa Atributos Dominio Chave Requirido Chave Foránea Restricións

TIPO_DISP Cod_Tipo Autonumeric X RIEDescripcion varchar(100) A

GENERO Cod_Genero Autonumeric X RIETipo varchar(100) A

PLATAFORMACod_Plat Autonumeric X RIE

Tipo varchar(100) A

FORMATOCod_Form Autonumeric X RIE

Tipo varchar(100) A

A

PRODUCTO

ASIN char(10) X RIE

Imagen Image

Cant_Tienda Integer A

DISPOSITIVO

ASIN char(10) X RIE PRODUCTO(ASIN) U->CascadeD->Cascade

Descripcion varchar(100) A

Cod_Tipo Integer PT TIPO_DISP(Cod_Tipo) U->Cascade

MEDIA

ASIN char(10) X RIE PRODUCTO(ASIN) U->CascadeD->Cascade

Titulo varchar(1000) A

Resumen varchar(2000)

Edad_Minima Integer

Cod_Genero Integer PT GENERO(Cod_Genero) U->Cascade

VIDEOJUEGOASIN char(10) X RIE MEDIA(ASIN) U->Cascade

D->CascadeCod_Plat Integer PT PLATAFORMA(Cod_Plat) U->Cascade

PELICULA

ASIN char(10) X RIE MEDIA(ASIN) U->CascadeD->Cascade

Director varchar(100)

Duracion Integer A

Reparto varchar(2000)

Cod_Form Integer PT FORMATO(Cod_Form) U->Cascade

PRECIO_VENTA

ASIN char(10) X RIE PRODUCTO(ASIN) U->CascadeD->Cascade

Fecha Date X RIE

Precio Decimal A

PRECIO_ALQ

ASIN char(10) X RIE PRODUCTO(ASIN) U->CascadeD->Cascade

Fecha Date X RIE

Precio Decimal A

CATEGORIA

Cod_Cat Autonumeric X RIE

Descripcion varchar(100) A

Influye varchar(100) CATEGORIA(Cod_Cat) U->CascadeD->Cascade

PROMOCION

Cod_Cat Integer X RIE CATEGORIA(Cod_Cat) U->CascadeD->Cascade

Cod_Prom Integer X RIE

Descripcion varchar(100) A

Fec_Ini Date

Fec_Fin Date

CLASIFICACIONASIN char(10) X RIE PRODUCTO(ASIN) U->Cascade

D->CascadeCod_Cat Integer X RIE CATEGORIA(Cod_Cat) U->Cascade

D->Cascade

TURNO

Cod_Turno Autonumeric X RIE

Hora_Ini Time A

Hora_Fin Time A

PERSONA

DNI char(9) X RIE

Nombre varchar(100) A

Telefono char(9) A

Direccion varchar(100) A

Email varchar(100) A

A

Fec_Nac Date A

SOCIO

DNI char(9) X RIE PERSONA(DNI) U->CascadeD->Cascade

Fec_Alta Date A

Fec_Baja Date

EMPLEADO

DNI char(9) X RIE PERSONA(DNI) U->CascadeD->Cascade

Fec_Contrato Date A

Fin_Contrato Date

Sueldo Decimal A

Cod_Turno Integer PT TURNO(Cod_Turno) U->Cascade

TARJETA

DNI char(9) X RIE SOCIO(DNI) U->CascadeD->Cascade

Cod_Tarjeta Integer X RIE

Fecha Date A

Valida Boolean A

TICKET

Cod_Ticket Autonumeric X RIE

Fecha Date A

Hora Time A

DNI_Emp char(9) PT EMPLEADO(DNI) U->CascadeD->Cascade

DNI_Soc char(9) SOCIO(DNI) U->CascadeD->Cascade

DETALLE_TICKET

Cod_Ticket Integer X RIE TICKET(Cod_Ticket) U->CascadeD->Cascade

Num_Linea Integer X RIE

Cantidad Integer A

ASIN char(10) PT PRODUCTO(ASIN) U->CascadeD->Cascade

PROVEEDOR

CIF char(9) X RIE

Nombre varchar(100) A

Telefono char(9) A

Direccion varchar(100) A

Email varchar(100) A

PEDIDO

Cod_Pedido Autonumeric X RIE

Fecha Date A

Hora Time A

Atendido Boolean A

CIF char(9) PT PROVEEDOR(CIF) U->CascadeD->Cascade

LINEA_PEDIDO

Cod_Pedido Integer X RIE PEDIDO(Cod_Pedido) U->CascadeD->Cascade

N_Linea_Pedido Integer X RIE

Cantidad Integer A

Atendido Boolean A

ASIN char(10) PT PRODUCTO(ASIN) U->CascadeD->Cascade

ALBARAN

Cod_Albaran Autonumeric X RIE

Fecha Date A

Hora Time A

LINEA_ALBARAN

Cod_Albaran Integer X RIE ALBARAN(Cod_Albaran) U->CascadeD->Cascade

N_Linea_Alb Integer X RIE

Cantidad Integer A

ASOCIADO

Cod_Albaran Integer X RIE (Cod_Albaran,N_Linea_Alb) U->CascadeD->Cascade

N_Linea_Alb Integer X RIE (Cod_Albaran,N_Linea_Alb) U->CascadeD->Cascade

Cod_Pedido Integer X RIE (Cod_Pedido,N_Linea_Pedido)

U->CascadeD->Cascade

N_Linea_Pedido Integer X RIE (Cod_Pedido,N_Linea_Pedido)

U->CascadeD->Cascade

FACTURA

Cod_Factura Autonumeric X RIE

Fecha Date A

Hora Time A

LINEA_FACTURA Cod_Factura Integer X RIE FACTURA(Cod_ Factura) U->CascadeD->Cascade

N_Linea_Fac Integer X RIE

Cantidad Integer A

Precio Decimal A

ASIN char(10) PT PRODUCTO(ASIN) U->Cascade

GENERACod_Factura Integer X RIE FACTURA(Cod_ Factura) U->Cascade

D->CascadeCod_Albaran Integer X RIE ALBARAN(Cod_ Albaran) U->Cascade

D->Cascade

ALQUILA

DNI char(9) X RIE SOCIO(DNI) U->CascadeD->Cascade

ASIN char(10) X RIE PRODUCTO(ASIN) U->CascadeD->Cascade

Fec_Alq Date X RIE

CantidadAlq Integer A

Fec_Dev Date

USUARIO

Cod_Usuario Autonumeric X RIE

Nombre varchar(100) A

Password varchar(100) A

Bloqueado Boolean A

N_Intentos Integer A

Habilitado Boolean A

1_vez Boolean A

INICIO_SESION

Cod_Usuario Integer X RIE USUARIO(Cod_Usuario) U->Cascade

Fecha Date X RIE

Hora Time X RIE

Correcto Boolean A

IP char(15) A

GRUPOCod_Perfil Autonumeric X RIE

Tipo varchar(100) A

PERTENECEN

Cod_Usuario Integer X RIE USUARIO(Cod_Usuario) U->CascadeD->Cascade

Cod_Perfil Integer X RIE GRUPO(Cod_Perfil) U->CascadeD->Cascade

MENU

Cod_Menu Autonumeric X RIE

Nombre varchar(100) A

Influye Integer Menu(Cod_Menu) U->Cascade

ACCEDEN

Cod_Perfil Integer X RIE GRUPO(Cod_Perfil) U->CascadeD->Cascade

Cod_Menu Integer X RIE MENU(Cod_Menu) U->CascadeD->Cascade

Lectura Boolean A

Escritura Boolean A

Borrado Boolean A

PARAM_CONF

N_Intentos_Fall Integer

T_Desbloqueo Integer

Pass_Long_Min Integer

Pass_N_Mayus Integer

N_Digitos Integer

N_Car_Esp Integer

INICIO_ERRONEO

Codigo Autonumeric A

Password varchar(100) A

Fecha Date A

Hora Time A

IP char(15) A

Nombre varchar(100) A

LENDA:RIE: Requirido pola restrición de integridade de entidade.A: Requirido polo administrador da base de datos.PT: Requirido pola restrición de integridade referencial.

SQL: CREACIÓN BBDD Y TABLAScreate database Videoclub_Proyecto;use Videoclub_Proyecto;

Create table TIPO_DISP (Cod_Tipo int identity primary key,Descripcion varchar(100) not null);

Create table GENERO (Cod_Genero int identity primary key,Tipo varchar(100) not null);

Create table PLATAFORMA (Cod_Plat int identity primary key,Tipo varchar(100) not null);

Create table FORMATO (Cod_Form int identity primary key,Tipo varchar(100) not null);

Create table PRODUCTO (ASIN char(10) primary key,Imagen Image,Cant_Tienda int not null);

Create table DISPOSITIVO (ASIN char(10) primary key,Descripcion varchar(100) not null,Cod_Tipo int not null,

Foreign key (ASIN) references PRODUCTO(ASIN) on update cascade,Foreign key (ASIN) references PRODUCTO(ASIN) on delete cascade,Foreign key (Cod_Tipo) references TIPO_DISP(Cod_Tipo) on update cascade);

Create table MEDIA (ASIN char(10) primary key,Titulo varchar(1000) not null,Resumen varchar(2000),Edad_Minima int,Cod_Genero int not null,

Foreign key (ASIN) references PRODUCTO(ASIN) on update cascade,Foreign key (ASIN) references PRODUCTO(ASIN) on delete cascade,Foreign key (Cod_Genero) references GENERO(Cod_Genero) on update cascade);

Create table VIDEOJUEGO (ASIN char(10) primary key,Cod_Plat int not null,

Foreign key (ASIN) references MEDIA(ASIN) on update cascade,Foreign key (ASIN) references MEDIA(ASIN) on delete cascade,Foreign key (Cod_Plat) references PLATAFORMA(Cod_Plat) on update cascade);

Create table PELICULA (ASIN char(10) primary key,Director varchar(100),Duracion int not null,Reparto varchar(2000),Cod_Form int not null,

Foreign key (ASIN) references MEDIA(ASIN) on update cascade,Foreign key (ASIN) references MEDIA(ASIN) on delete cascade,Foreign key (Cod_Form) references FORMATO(Cod_Form) on update cascade);

Create table PRECIO_VENTA (ASIN char(10),Fecha date,Precio decimal not null check(Precio>0),

Primary key (ASIN,Fecha),Foreign key (ASIN) references PRODUCTO(ASIN) on update cascade,Foreign key (ASIN) references PRODUCTO(ASIN) on delete cascade);

Create table PRECIO_ALQ (ASIN char(10),Fecha date,Precio decimal not null check(Precio>0), Primary key (ASIN,Fecha),Foreign key (ASIN) references PRODUCTO(ASIN) on update cascade,Foreign key (ASIN) references PRODUCTO(ASIN) on delete cascade);

Create table CATEGORIA (Cod_Cat int identity primary key,Descripcion varchar(100) not null,Influye int, Foreign key (Influye) references CATEGORIA(Cod_Cat),Foreign key (Influye) references CATEGORIA(Cod_Cat));

Create table PROMOCION (Cod_Cat int,Cod_Prom int,Descripcion varchar(100) not null,Fec_Ini Date,Fec_Fin Date,

Primary key (Cod_Cat,Cod_Prom),Foreign key (Cod_Cat) references CATEGORIA(Cod_Cat) on update cascade,Foreign key (Cod_Cat) references CATEGORIA(Cod_Cat) on delete cascade);

Create table CLASIFICACION (ASIN char(10),Cod_Cat int,

Primary key (ASIN,Cod_Cat),Foreign key (ASIN) references PRODUCTO(ASIN) on update cascade,Foreign key (ASIN) references PRODUCTO(ASIN) on delete cascade,Foreign key (Cod_Cat) references CATEGORIA(Cod_Cat) on update cascade,Foreign key (Cod_Cat) references CATEGORIA(Cod_Cat) on delete cascade);

Create table TURNO (Cod_Turno int identity primary key,Hora_Ini Time not null,Hora_Fin Time not null,);

Create table PERSONA (DNI char(9) primary key,Nombre varchar(100) not null,Telefono char(9) not null,Direccion varchar(100) not null,Email varchar(100) not null,Fec_Nac Date not null);

Create table SOCIO (DNI char(9) primary key,Fec_Alta Date not null,Fec_Baja Date,

Foreign key (DNI) references PERSONA(DNI) on update cascade,Foreign key (DNI) references PERSONA(DNI) on delete cascade);

Create table EMPLEADO (DNI char(9) primary key,Fec_Contrato Date not null,Fin_Contrato Date,Sueldo Decimal not null check(Sueldo>0),Cod_Turno int not null,

Foreign key (DNI) references PERSONA(DNI) on update cascade,Foreign key (DNI) references PERSONA(DNI) on delete cascade,Foreign key (Cod_Turno) references TURNO(Cod_Turno) on update cascade);

Create table TARJETA (DNI char(9),Cod_Tarjeta int,Fecha Date not null,Valida Bit not null,

Primary key (DNI,Cod_Tarjeta),Foreign key (DNI) references SOCIO(DNI) on update cascade,Foreign key (DNI) references SOCIO(DNI) on delete cascade,);

Create table TICKET (Cod_Ticket int identity primary key,Fecha Date not null,Hora Time not null, DNI_Emp char(9) not null,DNI_Soc char(9),

Foreign key (DNI_Emp) references EMPLEADO(DNI) on update cascade,Foreign key (DNI_Emp) references EMPLEADO(DNI) on delete cascade,Foreign key (DNI_Soc) references SOCIO(DNI),Foreign key (DNI_Soc) references SOCIO(DNI));

Create table DETALLE_TICKET (Cod_Ticket int,Num_Linea int,Cantidad int not null check(Cantidad>0), ASIN char(10) not null,

Primary key (Cod_Ticket,Num_Linea),Foreign key (Cod_Ticket) references TICKET(Cod_Ticket) on update cascade,Foreign key (Cod_Ticket) references TICKET(Cod_Ticket) on delete cascade,Foreign key (ASIN) references PRODUCTO(ASIN) on update cascade,Foreign key (ASIN) references PRODUCTO(ASIN) on delete cascade);

Create table PROVEEDOR (CIF char(9) primary key,Nombre varchar(100) not null,Telefono char(9) not null,Direccion varchar(100) not null,Email varchar(100) not null);

Create table PEDIDO (Cod_Pedido int identity primary key,Fecha Date not null,Hora Time not null,Atendido Bit not null,CIF char(9) not null,

Foreign key (CIF) references PROVEEDOR(CIF) on update cascade,Foreign key (CIF) references PROVEEDOR(CIF) on delete cascade,);

Create table LINEA_PEDIDO (Cod_Pedido int,N_Linea_Pedido int,Cantidad int not null check(Cantidad>0),Atendido Bit not null,ASIN char(10) not null,

Primary key (Cod_Pedido,N_Linea_Pedido),Foreign key (Cod_Pedido) references PEDIDO(Cod_Pedido) on update cascade,Foreign key (Cod_Pedido) references PEDIDO(Cod_Pedido) on delete cascade,Foreign key (ASIN) references PRODUCTO(ASIN) on update cascade,Foreign key (ASIN) references PRODUCTO(ASIN) on delete cascade);

Create table ALBARAN (Cod_Albaran int identity primary key,Fecha Date not null,Hora Time not null);

Create table LINEA_ALBARAN (Cod_Albaran int,N_Linea_Alb int,Cantidad int not null check(Cantidad>0),

Primary key (Cod_Albaran,N_Linea_Alb),Foreign key (Cod_Albaran) references ALBARAN(Cod_Albaran) on update cascade,Foreign key (Cod_Albaran) references ALBARAN(Cod_Albaran) on delete cascade);

Create table ASOCIADO (Cod_Albaran int,N_Linea_Alb int,Cod_Pedido int,N_Linea_Pedido int,

Primary key (Cod_Albaran,N_Linea_Alb,Cod_Pedido,N_Linea_Pedido),Foreign key (Cod_Albaran,N_Linea_Alb) references LINEA_ALBARAN(Cod_Albaran,N_Linea_Alb) on update cascade,Foreign key (Cod_Albaran,N_Linea_Alb) references LINEA_ALBARAN(Cod_Albaran,N_Linea_Alb) on delete cascade,Foreign key (Cod_Pedido,N_Linea_Pedido) references LINEA_PEDIDO(Cod_Pedido,N_Linea_Pedido) on update cascade,Foreign key (Cod_Pedido,N_Linea_Pedido) references LINEA_PEDIDO(Cod_Pedido,N_Linea_Pedido) on delete cascade);

Create table FACTURA (Cod_Factura int identity primary key,Fecha Date not null,Hora Time not null);

Create table LINEA_FACTURA (Cod_Factura int,N_Linea_Fac int,Cantidad int not null check(Cantidad>0),Precio decimal not null,ASIN char(10) not null,

Primary key (Cod_Factura,N_Linea_Fac),Foreign key (Cod_Factura) references FACTURA(Cod_Factura) on update cascade,Foreign key (Cod_Factura) references FACTURA(Cod_Factura) on delete cascade,Foreign key (ASIN) references PRODUCTO(ASIN) on update cascade,);

Create table GENERA (Cod_Factura int,Cod_Albaran int,

Primary key (Cod_Factura,Cod_Albaran),Foreign key (Cod_Factura) references FACTURA(Cod_Factura) on update cascade,Foreign key (Cod_Factura) references FACTURA(Cod_Factura) on delete cascade,Foreign key (Cod_Albaran) references ALBARAN(Cod_Albaran) on update cascade,Foreign key (Cod_Albaran) references ALBARAN(Cod_Albaran) on delete cascade);

Create table ALQUILA (DNI char(9),ASIN char(10),CantidadAlq Int not null check(CantidadAlq>0),Fec_Alq Date not null,Fec_Dev Date,

Primary key (DNI,ASIN,Fec_Alq),Foreign key (DNI) references SOCIO(DNI) on update cascade,Foreign key (DNI) references SOCIO(DNI) on delete cascade,Foreign key (ASIN) references PRODUCTO(ASIN) on update cascade,Foreign key (ASIN) references PRODUCTO(ASIN) on delete cascade);

SQL: TRIGGERScreate trigger t_Detalle_Ticket on DETALLE_TICKETinstead of insertAS

declare @Cod_Ticket intdeclare @Num_Linea intdeclare @Cantidad intdeclare @ASIN intdeclare @ComprobarCantidad int

select @Cod_Ticket=Cod_Ticket,@Num_Linea=Num_Linea,@Cantidad=Cantidad,@ASIN=ASIN from inserted

select @ComprobarCantidad=(select Cant_Tiendafrom PRODUCTOwhere ASIN=@ASIN)

If @Cantidad>@ComprobarCantidadprint 'No puedes vender mas productos de los existentes'elsebegin

insert into DETALLE_TICKET select * from inserted;update PRODUCTO set Cant_Tienda=Cant_Tienda-@Cantidad where ASIN=@ASIN

end

create trigger t_Linea_Pedido on LINEA_PEDIDOinstead of insertAS

declare @Cod_Pedido intdeclare @N_Linea_Pedido intdeclare @Cantidad intdeclare @Atendido bitdeclare @ASIN intdeclare @ComprobarAtendido int

select @Cod_Pedido=Cod_Pedido,@N_Linea_Pedido=N_Linea_Pedido,@Cantidad=Cantidad,@Atendido=Atendido,@ASIN=ASIN from inserted

If @Atendido=0print 'El pedido no puede estar atendido'elsebegin

insert into LINEA_PEDIDO select * from inserted;end

create trigger t_Linea_Factura on LINEA_FACTURAafter insertAS

declare @Precio decimaldeclare @ASIN char(10)

select @Precio=(Precio*1.15),@ASIN=ASIN from inserted

insert into PRECIO_VENTA values(@ASIN,getdate(),@Precio)

create trigger t_Alquila on ALQUILAinstead of insertAS

declare @DNI char(9)declare @ASIN char(10)declare @CantidadAlq intdeclare @CantidadDisponible int

select @DNI=DNI,@ASIN=ASIN,@CantidadAlq=CantidadAlq from insertedselect @CantidadDisponible=Cant_Tienda from PRODUCTO where ASIN=@ASIN

If @CantidadDisponible=0print 'No hay stock para este producto'

Else If @CantidadDisponible<@CantidadAlqprint 'No hay stock suficiente'

Elsebegin

insert into ALQUILA values(@DNI,@ASIN,@CantidadAlq,getdate(),NULL)update PRODUCTO set Cant_Tienda=Cant_Tienda-@CantidadAlq where ASIN=@ASIN

end

create trigger t_Devuelve on ALQUILAafter updateAS

declare @DNI char(9)declare @ASIN char(10)declare @Fecha datedeclare @FechaDev datedeclare @CantidadDevuelta int

select @DNI=DNI,@ASIN=ASIN,@Fecha=Fec_Alq from insertedselect @CantidadDevuelta=CantidadAlq,@FechaDev=Fec_Dev from ALQUILA where DNI=@DNI AND

ASIN=@ASIN AND Fec_Alq=@Fecha

If @FechaDev is nullbegin

update ALQUILA set Fec_Dev=getdate() where DNI=@DNI AND ASIN=@ASIN AND Fec_Alq=@Fecha

update PRODUCTO set Cant_Tienda=Cant_Tienda+@CantidadDevuelta where ASIN=@ASINendElse

print 'Este producto ya ha sido devuelto'

SQL: INSERTSinsert into TIPO_DISP values('Accesorios')insert into TIPO_DISP values('Consolas')insert into TIPO_DISP values('Reproductores')

select * from TIPO_DISP

insert into GENERO values('Fantasia')insert into GENERO values('Suspense')insert into GENERO values('Romantica')insert into GENERO values('Policiaca')insert into GENERO values('Musical')insert into GENERO values('Cortometraje')insert into GENERO values('Biografia')insert into GENERO values('Artes Marciales')insert into GENERO values('Animacion')insert into GENERO values('Cine Negro')insert into GENERO values('Western')insert into GENERO values('Drama')insert into GENERO values('Terror')insert into GENERO values('Arcade')insert into GENERO values('Rol')insert into GENERO values('Carreras')insert into GENERO values('Deportes')insert into GENERO values('Comedia')insert into GENERO values('Aventura')insert into GENERO values('Ciencia-Ficcion')insert into GENERO values('Belico')insert into GENERO values('Accion')insert into GENERO values('Thriller')insert into GENERO values('Estrategia')

select * from GENERO

insert into PLATAFORMA values('PS3')insert into PLATAFORMA values('PS2')insert into PLATAFORMA values('Wii')insert into PLATAFORMA values('PSP')insert into PLATAFORMA values('XBOX360')insert into PLATAFORMA values('PC')insert into PLATAFORMA values('NintendoDS')

select * from PLATAFORMA

insert into FORMATO values('DVD')insert into FORMATO values('BLU-RAY')insert into FORMATO values('UMD')

select * from FORMATO

insert into PRODUCTO (ASIN,Cant_Tienda) values('B000A63KWY',5)insert into PRODUCTO (ASIN,Cant_Tienda) values('B000HN31N8',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B001E967C6',2)insert into PRODUCTO (ASIN,Cant_Tienda) values('B001HN67RY',2)insert into PRODUCTO (ASIN,Cant_Tienda) values('B001PMFOZS',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B002BSH9J4',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B002R9J5TE',2)insert into PRODUCTO (ASIN,Cant_Tienda) values('B00352LVJ4',2)insert into PRODUCTO (ASIN,Cant_Tienda) values('B0036SPXFA',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B003V4AK84',12)insert into PRODUCTO (ASIN,Cant_Tienda) values('B003VD56KC',6)

insert into PRODUCTO (ASIN,Cant_Tienda) values('B003Z7RZWG',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B003Z7SING',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B00440CQRC',2)insert into PRODUCTO (ASIN,Cant_Tienda) values('B0044BCMYI',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B0046ANH4G',2)insert into PRODUCTO (ASIN,Cant_Tienda) values('B004FEF5PC',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B004ISLDV0',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B004JMZH4O',2)insert into PRODUCTO (ASIN,Cant_Tienda) values('B004JU0JSA',2)insert into PRODUCTO (ASIN,Cant_Tienda) values('B004KPC1Z8',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B004UOWX7K',2)insert into PRODUCTO (ASIN,Cant_Tienda) values('B0052LWDFC',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B0053C7W3I',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B0053C84SA',2)insert into PRODUCTO (ASIN,Cant_Tienda) values('B0053C856Q',4)insert into PRODUCTO (ASIN,Cant_Tienda) values('B0053C88OK',2)insert into PRODUCTO (ASIN,Cant_Tienda) values('B0053C8ONA',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B0053C9VA0',2)insert into PRODUCTO (ASIN,Cant_Tienda) values('B0053CA154',2)insert into PRODUCTO (ASIN,Cant_Tienda) values('B0053CA1NG',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B0053CAM58',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B0053CBC98',2)insert into PRODUCTO (ASIN,Cant_Tienda) values('B0053CBH6Q',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B00564H3DM',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B0056YQCS4',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B005A72S30',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B005BCOBQG',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B005BCOJI6',2)insert into PRODUCTO (ASIN,Cant_Tienda) values('B005BCOJWW',2)insert into PRODUCTO (ASIN,Cant_Tienda) values('B005BCOWWO',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B005BCP33G',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B005BCP9F8',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B005BCPDOK',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B005BCPKD4',2)insert into PRODUCTO (ASIN,Cant_Tienda) values('B005BCPKDY',2)insert into PRODUCTO (ASIN,Cant_Tienda) values('B005BCPMXC',2)insert into PRODUCTO (ASIN,Cant_Tienda) values('B005BCPNEK',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B005BCQ1LY',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B005BCQ3OO',2)insert into PRODUCTO (ASIN,Cant_Tienda) values('B005DD6R6A',2)insert into PRODUCTO (ASIN,Cant_Tienda) values('B005DWH9KO',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B005DWHCUG',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B005DWILHO',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B005DWJ48Y',2)insert into PRODUCTO (ASIN,Cant_Tienda) values('B005F3FF6Q',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B005FXO8BE',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B005GODIEK',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B005I48VR2',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B005I48VWW',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B005JWR6RO',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B005LCZKBQ',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B005LGXYUQ',2)insert into PRODUCTO (ASIN,Cant_Tienda) values('B005LGXZ6O',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B005LGXZYG',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B005OYLT5W',2)insert into PRODUCTO (ASIN,Cant_Tienda) values('B005QJODQW',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B005RX3MH8',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B005SGSRV0',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B005ST9JNC',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B005ST9K5E',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B005SYZ5QW',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B005SYZ5RG',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B005UB1KOE',6)

insert into PRODUCTO (ASIN,Cant_Tienda) values('B0069QKZ86',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B006BY1DOG',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B006IMM3PY',2)insert into PRODUCTO (ASIN,Cant_Tienda) values('B006J5ZP3C',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('B006LGH3RA',4)insert into PRODUCTO (ASIN,Cant_Tienda) values('BDP5200',3)insert into PRODUCTO (ASIN,Cant_Tienda) values('DVX592H',3)

select * from PRODUCTO

insert into DISPOSITIVO values('B000A63KWY','MandoPS2',1)insert into DISPOSITIVO values('B002R9J5TE','WiiBoard',1)insert into DISPOSITIVO values('B003V4AK84','MandoWii',1)insert into DISPOSITIVO values('B003VD56KC','MandoXBOX360',1)insert into DISPOSITIVO values('B00440CQRC','XBOX360',2)insert into DISPOSITIVO values('B004FEF5PC','Wii',2)insert into DISPOSITIVO values('B004ISLDV0','NintendoDS',2)insert into DISPOSITIVO values('B004JU0JSA','MandoPC',1)insert into DISPOSITIVO values('B0056YQCS4','PS3',2)insert into DISPOSITIVO values('B005A72S30','PSP',2)insert into DISPOSITIVO values('B005UB1KOE','MandoPS3',1)insert into DISPOSITIVO values('BDP5200','Blu-Ray',3)insert into DISPOSITIVO values('DVX592H','DVD',3)

select * from DISPOSITIVO

insert into MEDIA values('B000HN31N8','Star Wars Battlefront 2',NULL,13,20)insert into MEDIA values('B001E967C6','Lego Batman',NULL,7,18)insert into MEDIA values('B001HN67RY','101 en 1',NULL,3,13)insert into MEDIA values('B001PMFOZS','King Kong',NULL,7,19)insert into MEDIA values('B002BSH9J4','Left 4 Dead 2',NULL,18,12)insert into MEDIA values('B00352LVJ4','Distrito 9',NULL,13,19)insert into MEDIA values('B0036SPXFA','Dragon Ball Z Budokai Tenkaichi 3',NULL,13,21)insert into MEDIA values('B003Z7RZWG','Monstruos S.A.',NULL,3,8)insert into MEDIA values('B003Z7SING','UP',NULL,3,8)insert into MEDIA values('B0044BCMYI','New Super Mario Bros',NULL,3,13)insert into MEDIA values('B0046ANH4G','Avatar',NULL,7,24)insert into MEDIA values('B004JMZH4O','Zumba Fitness',NULL,7,16)insert into MEDIA values('B004KPC1Z8','Bolt',NULL,3,8)insert into MEDIA values('B004UOWX7K','Dragon Ball Z Budokai Tenkaichi 3',NULL,13,21)insert into MEDIA values('B0052LWDFC','Cars 2',NULL,3,16)insert into MEDIA values('B0053C7W3I','Atrapado en el tiempo',NULL,7,17)insert into MEDIA values('B0053C84SA','Salvar al soldado Ryan','Segunda Guerra Mundial (1939-1945). Tras el desembarco de los Aliados en Normandía, a un grupo de soldados americanos se le encomienda una peligrosa misión: poner a salvo al soldado James Ryan. Los hombres de la patrulla del capitán John Miller deben arriesgar sus vidas para encontrar a este soldado, cuyos tres hermanos han muerto en la guerra. Lo único que se sabe del soldado Ryan es que se lanzó con su escuadrón de paracaidistas detrás de las líneas enemigas.',18,20)insert into MEDIA values('B0053C856Q','El Jovencito Frankenstein',NULL,7,17)insert into MEDIA values('B0053C88OK','El Padrino Parte 1',NULL,18,11)insert into MEDIA values('B0053C8ONA','Plan de Vuelo: Desaparecida',NULL,18,22)insert into MEDIA values('B0053C9VA0','Soy Leyenda',NULL,13,21)insert into MEDIA values('B0053CA154','El Resplandor',NULL,18,12)insert into MEDIA values('B0053CA1NG','Venganza',NULL,13,21)insert into MEDIA values('B0053CAM58','Underworld 3: La rebelion de los licantropos',NULL,13,19)insert into MEDIA values('B0053CBC98','Como Entrenar a tu Dragon',NULL,3,8)insert into MEDIA values('B0053CBH6Q','Avatar',NULL,7,24)insert into MEDIA values('B00564H3DM','New Super Mario Bros',NULL,3,13)insert into MEDIA values('B005BCOBQG','Assasins Creed II',NULL,13,18)insert into MEDIA values('B005BCOJI6','StarCraft Wings of Liberty',NULL,13,23)insert into MEDIA values('B005BCOJWW','Dragon Ball Z Shin Budokai 2',NULL,13,21)insert into MEDIA values('B005BCOWWO','Smack Down VS Raw 2011',NULL,18,21)insert into MEDIA values('B005BCP33G','MahJong 2',NULL,3,13)insert into MEDIA values('B005BCP9F8','WiiParty',NULL,3,13)

insert into MEDIA values('B005BCPDOK','Pokemon Edicion Negra',NULL,3,18)insert into MEDIA values('B005BCPKD4','Formula 1 2011',NULL,7,15)insert into MEDIA values('B005BCPKDY','Formula 1 2011',NULL,7,15)insert into MEDIA values('B005BCPMXC','GTA Vice City Stories',NULL,18,14)insert into MEDIA values('B005BCPNEK','GTA Trilogy',NULL,18,14)insert into MEDIA values('B005BCQ1LY','Dante´s Inferno',NULL,13,21)insert into MEDIA values('B005BCQ3OO','Burnout Legends',NULL,13,15)insert into MEDIA values('B005DD6R6A','Star Wars Old Republic',NULL,13,20)insert into MEDIA values('B005DWH9KO','Need for Speed Most Wanted',NULL,13,15)insert into MEDIA values('B005DWHCUG','Sonic Heroes',NULL,3,13)insert into MEDIA values('B005DWILHO','FIFA 12',NULL,7,16)insert into MEDIA values('B005DWJ48Y','Dragon Ball Z Ultimate Tenkaichi',NULL,13,21)insert into MEDIA values('B005F3FF6Q','Phineas&Ferb 2D Dimension',NULL,3,18)insert into MEDIA values('B005FXO8BE','Gran Turismo 5',NULL,7,15)insert into MEDIA values('B005GODIEK','FIFA 12',NULL,7,16)insert into MEDIA values('B005I48VR2','Call of Duty Modern Warfare 3',NULL,18,20)insert into MEDIA values('B005I48VWW','Call Of Duty Modern Warfare 3',NULL,18,20)insert into MEDIA values('B005JWR6RO','Mario&Sonic JJOO London 2012',NULL,3,13)insert into MEDIA values('B005LCZKBQ','X-Men: Primera Generacion',NULL,7,19)insert into MEDIA values('B005LGXYUQ','PES 12',NULL,7,16)insert into MEDIA values('B005LGXZ6O','PES 12',NULL,7,16)insert into MEDIA values('B005LGXZYG','PES 12',NULL,7,16)insert into MEDIA values('B005OYLT5W','Little Big Planet',NULL,3,13)insert into MEDIA values('B005QJODQW','Sherlock Holmes',NULL,7,18)insert into MEDIA values('B005RX3MH8','NBA 2K12',NULL,7,16)insert into MEDIA values('B005SGSRV0','Linterna Verde',NULL,7,24)insert into MEDIA values('B005ST9JNC','Zelda',NULL,7,18)insert into MEDIA values('B005ST9K5E','El Profesor Layton y La llamada del Espectro',NULL,7,3)insert into MEDIA values('B005SYZ5QW','Harry Potter y las Reliquias de la muerte Parte 2',NULL,7,24)insert into MEDIA values('B005SYZ5RG','Transformers 3: El lado oscuro de la luna',NULL,13,19)insert into MEDIA values('B0069QKZ86','Spiderman El Reino de las Sombras',NULL,7,14)insert into MEDIA values('B006BY1DOG','Tomb Raider: Legend',NULL,7,18)insert into MEDIA values('B006IMM3PY','La piel que habito',NULL,18,11)insert into MEDIA values('B006J5ZP3C','Silent Hill 4',NULL,18,12)insert into MEDIA values('B006LGH3RA','Final Fantasy XIII-2',NULL,7,14)

select * from MEDIA;

insert into VIDEOJUEGO values('B000HN31N8',4)insert into VIDEOJUEGO values('B001E967C6',7)insert into VIDEOJUEGO values('B001HN67RY',7)insert into VIDEOJUEGO values('B002BSH9J4',6)insert into VIDEOJUEGO values('B0036SPXFA',2)insert into VIDEOJUEGO values('B0044BCMYI',7)insert into VIDEOJUEGO values('B004JMZH4O',3)insert into VIDEOJUEGO values('B004UOWX7K',3)insert into VIDEOJUEGO values('B0052LWDFC',3)insert into VIDEOJUEGO values('B00564H3DM',3)insert into VIDEOJUEGO values('B005BCOBQG',6)insert into VIDEOJUEGO values('B005BCOJI6',6)insert into VIDEOJUEGO values('B005BCOJWW',4)insert into VIDEOJUEGO values('B005BCOWWO',2)insert into VIDEOJUEGO values('B005BCP33G',7)insert into VIDEOJUEGO values('B005BCP9F8',3)insert into VIDEOJUEGO values('B005BCPDOK',7)insert into VIDEOJUEGO values('B005BCPKD4',6)insert into VIDEOJUEGO values('B005BCPMXC',4)insert into VIDEOJUEGO values('B005BCPNEK',2)insert into VIDEOJUEGO values('B005BCQ1LY',4)insert into VIDEOJUEGO values('B005BCQ3OO',4)insert into VIDEOJUEGO values('B005DD6R6A',6)insert into VIDEOJUEGO values('B005DWH9KO',2)insert into VIDEOJUEGO values('B005DWHCUG',2)

insert into VIDEOJUEGO values('B005DWILHO',2)insert into VIDEOJUEGO values('B005DWJ48Y',1)insert into VIDEOJUEGO values('B005F3FF6Q',7)insert into VIDEOJUEGO values('B005FXO8BE',1)insert into VIDEOJUEGO values('B005GODIEK',1)insert into VIDEOJUEGO values('B005I48VR2',1)insert into VIDEOJUEGO values('B005I48VWW',6)insert into VIDEOJUEGO values('B005JWR6RO',3)insert into VIDEOJUEGO values('B005LGXYUQ',1)insert into VIDEOJUEGO values('B005LGXZ6O',6)insert into VIDEOJUEGO values('B005LGXZYG',2)insert into VIDEOJUEGO values('B005OYLT5W',4)insert into VIDEOJUEGO values('B005RX3MH8',1)insert into VIDEOJUEGO values('B005ST9JNC',3)insert into VIDEOJUEGO values('B005ST9K5E',7)insert into VIDEOJUEGO values('B0069QKZ86',4)insert into VIDEOJUEGO values('B006BY1DOG',4)insert into VIDEOJUEGO values('B006J5ZP3C',2)insert into VIDEOJUEGO values('B006LGH3RA',1)

select * from VIDEOJUEGO;

insert into PELICULA values('B001PMFOZS','Peter Jackson',187,'Naomi Watts, Adrien Brody, Jack Black, Thomas Kretschmann, Jamie Bell, Lobo Chan, Kyle Chandler, Colin Hanks, Evan Parke, Andy Serkis, Ray Woolf',2)insert into PELICULA values('B00352LVJ4','Neil Blomkamp',111,'Sharlto Copley, Jason Cope, David James, Vanessa Haywood, Mandla Gaduka, Kenneth Nkosi, Eugene Khumbanyiwa, Louis Minnaar, William Allen Young',2)insert into PELICULA values('B003Z7RZWG','Pete Docter, Lee Unkrich, David Silverman',88,NULL,1)insert into PELICULA values('B003Z7SING','Pete Docter, Bob Peterson',97,NULL,1)insert into PELICULA values('B0046ANH4G','James Cameron',161,'Sam Worthington, Zoe Saldana, Sigourney Weaver, Stephen Lang, Michelle Rodríguez, Giovanni Ribisi, Joel David Moore, Wes Studi, CCH Pounder, Laz Alonso, Dileep Rao',2)insert into PELICULA values('B004KPC1Z8','Chris Williams, Byron P. Howard',96,NULL,2)insert into PELICULA values('B0053C7W3I','Harold Ramis',101,'Bill Murray, Andie MacDowell, Chris Elliott, Stephen Tobolowsky, Brian Doyle-Murray, Marita Geraghty, Angela Paton, Rick Ducommun, Rick Overton, Michael Shannon',1)insert into PELICULA values('B0053C84SA','Steven Spielberg',170,'Tom Hanks, Tom Sizemore, Edward Burns, Barry Pepper, Adam Goldberg, Vin Diesel, Giovanni Ribisi, Jeremy Davies, Matt Damon, Ted Danson, Paul Giamatti, Dennis Farina, Joerg Stadler, Max Martini, Dylan Bruno, Bryan Cranston',2)insert into PELICULA values('B0053C856Q','Mel Brooks',105,'Gene Wilder, Peter Boyle, Marty Feldman, Cloris Leachman, Teri Garr, Madeline Kahn, Gene Hackman, Richard Haydn, Kenneth Mars',1)insert into PELICULA values('B0053C88OK','Francis Ford Coppola',175,'Marlon Brando Al Pacino James Caan Richard S. Castellano Robert Duvall Sterling Hayden John Marley Richard Conte Al Lettieri Richard Bright Talia Shire John Cazale Abe Vigoda Diane Keaton',2)insert into PELICULA values('B0053C8ONA','Robert Schwentke',93,'Jodie Foster, Peter Sarsgaard, Sean Bean, Erika Christensen, Marlene Lawston, Kate Beahan, Michael Irby, Assaf Cohen, Greta Scacchi, Matt Bomer',2)insert into PELICULA values('B0053C9VA0','Francis Lawrence',100,'Will Smith, Alice Braga, Salli Richardson, Paradox Pollack, Charlie Tahan, Willow Smith, Darrell Foster, Emma Thompson',2)insert into PELICULA values('B0053CA154','Stanley Kubrick',146,'Jack Nicholson, Shelley Duvall, Danny Lloyd, Scatman Crothers, Barry Nelson, Philip Stone, Joe Turkel, Lia Beldam, Billie Gibson, Barry Dennen, David Baxt, Manning Redwood, Lisa Burns, Louise Burns, Alison Coleridge, Norman Gay',1)insert into PELICULA values('B0053CA1NG','Pierre Morel',93,'Liam Neeson, Maggie Grace, Famke Janssen, Leland Orser, Holly Valance, Goran Kostic, Katie Cassidy, Olivier Rabourdin, Xander Berkeley, David Warshofsky',1)insert into PELICULA values('B0053CAM58','Patrick Tatopoulos',92,'Rhona Mitra, Bill Nighy, Michael Sheen, Shane Brolly, Steven Machintosh, Kevin Grevioux',1)insert into PELICULA values('B0053CBC98','Dean DeBlois, Chris Sanders',98,NULL,2)insert into PELICULA values('B0053CBH6Q','James Cameron',161,'Sam Worthington, Zoe Saldana, Sigourney Weaver, Stephen Lang, Michelle Rodríguez, Giovanni Ribisi, Joel David Moore, Wes Studi, CCH Pounder, Laz Alonso, Dileep Rao',1)insert into PELICULA values('B005LCZKBQ','Matthew Vaughn',131,'James McAvoy, Michael Fassbender, Kevin Bacon, January Jones, Jason Flemyng, Rose Byrne, Oliver Platt, Jennifer Lawrence, Nicholas Hoult, Álex González, Lucas Till, Zoë Kravitz, James Remar, Matt Craven, Rade Serbedzija, Michael Ironside, Laurence Belcher, Bill Milner, Beth Goddard, Morgan Lily, Caleb Landry Jones, Edi Gathegi, Hugh Jackman',1)insert into PELICULA values('B005QJODQW','Guy Ritchie',128,'Robert Downey Jr., Jude Law, Rachel McAdams,

Mark Strong, Robert Maillet, Kelly Reilly, Eddie Marsan',1)insert into PELICULA values('B005SGSRV0','Martin Campbell',105,'Ryan Reynolds, Blake Lively, Peter Sarsgaard, Mark Strong, Tim Robbins, Angela Bassett, Temuera Morrison, Jay O. Sanders, Taika Waititi, Mike Doyle',1)insert into PELICULA values('B005SYZ5QW','David Yates',130,'Daniel Radcliffe, Emma Watson, Rupert Grint, Alan Rickman, Ralph Fiennes, Helena Bonham Carter, Michael Gambon, Jason Isaacs, Maggie Smith, David Thewlis, Julie Walters, Robbie Coltrane, Gary Oldman, Kelly McDonald, Helen McCrory, John Hurt, Natalia Tena, Ciarán Hinds, Jim Broadbent, Emma Thompson, Bonnie Wright, Matthew Lewis, Tom Felton, Evanna Lynch, Warwick Davies, Clémence Poésy, Miriam Margolyes, Gemma Jones, David Bradley, Geraldine Somerville, Adrian Rawlins, George Harris, James Phelps, Oliver Phelps, Mark Williams, Jessie Cave, Katie Leung, Devon Murray, Afshan Azad, Sean Biggerstaff, Dave Legeno, Domhnall Gleeson, Chris Rankin, Nick Moran',1)insert into PELICULA values('B005SYZ5RG','Michael Bay',157,'Shia LaBeouf, Rosie Huntington-Whiteley, John Malkovich, Josh Duhamel, Patrick Dempsey, John Turturro, Frances McDormand, Ken Jeong, Peter Cullen, Tyrese Gibson, Kevin Dunn, Alan Tudyk, Lester Speight',1)insert into PELICULA values('B006IMM3PY','Pedro Almodóvar',117,'Antonio Banderas, Elena Anaya, Marisa Paredes, Jan Cornet, Blanca Suárez, Bárbara Lennie, Eduard Fernández, Roberto Álamo, José Luis Gómez, Fernando Cayo, Susi Sánchez',1)

select * from PELICULA;

insert into PRECIO_VENTA values('B000A63KWY',getdate(),10)insert into PRECIO_VENTA values('B000HN31N8',getdate(),18)insert into PRECIO_VENTA values('B001E967C6',getdate(),15)insert into PRECIO_VENTA values('B001HN67RY',getdate(),25)insert into PRECIO_VENTA values('B001PMFOZS',getdate(),10)insert into PRECIO_VENTA values('B002BSH9J4',getdate(),20)insert into PRECIO_VENTA values('B002R9J5TE',getdate(),37)insert into PRECIO_VENTA values('B00352LVJ4',getdate(),10)insert into PRECIO_VENTA values('B0036SPXFA',getdate(),24)insert into PRECIO_VENTA values('B003V4AK84',getdate(),46)insert into PRECIO_VENTA values('B003VD56KC',getdate(),35)insert into PRECIO_VENTA values('B003Z7RZWG',getdate(),20)insert into PRECIO_VENTA values('B003Z7SING',getdate(),14)insert into PRECIO_VENTA values('B00440CQRC',getdate(),23)insert into PRECIO_VENTA values('B0044BCMYI',getdate(),38)insert into PRECIO_VENTA values('B0046ANH4G',getdate(),21)insert into PRECIO_VENTA values('B004FEF5PC',getdate(),12)insert into PRECIO_VENTA values('B004ISLDV0',getdate(),5)insert into PRECIO_VENTA values('B004JMZH4O',getdate(),44)insert into PRECIO_VENTA values('B004JU0JSA',getdate(),40)insert into PRECIO_VENTA values('B004KPC1Z8',getdate(),12)insert into PRECIO_VENTA values('B004UOWX7K',getdate(),25)insert into PRECIO_VENTA values('B0052LWDFC',getdate(),25)insert into PRECIO_VENTA values('B0053C7W3I',getdate(),10)insert into PRECIO_VENTA values('B0053C84SA',getdate(),12)insert into PRECIO_VENTA values('B0053C856Q',getdate(),10)insert into PRECIO_VENTA values('B0053C88OK',getdate(),10)insert into PRECIO_VENTA values('B0053C8ONA',getdate(),21)insert into PRECIO_VENTA values('B0053C9VA0',getdate(),16)insert into PRECIO_VENTA values('B0053CA154',getdate(),15)insert into PRECIO_VENTA values('B0053CA1NG',getdate(),10)insert into PRECIO_VENTA values('B0053CAM58',getdate(),10)insert into PRECIO_VENTA values('B0053CBC98',getdate(),10)insert into PRECIO_VENTA values('B0053CBH6Q',getdate(),35)insert into PRECIO_VENTA values('B00564H3DM',getdate(),40)insert into PRECIO_VENTA values('B0056YQCS4',getdate(),52)insert into PRECIO_VENTA values('B005A72S30',getdate(),10)insert into PRECIO_VENTA values('B005BCOBQG',getdate(),22)insert into PRECIO_VENTA values('B005BCOJI6',getdate(),43)insert into PRECIO_VENTA values('B005BCOJWW',getdate(),10)insert into PRECIO_VENTA values('B005BCOWWO',getdate(),24)insert into PRECIO_VENTA values('B005BCP33G',getdate(),14)insert into PRECIO_VENTA values('B005BCP9F8',getdate(),34)insert into PRECIO_VENTA values('B005BCPDOK',getdate(),35)

insert into PRECIO_VENTA values('B005BCPKD4',getdate(),35)insert into PRECIO_VENTA values('B005BCPKDY',getdate(),35)insert into PRECIO_VENTA values('B005BCPMXC',getdate(),10)insert into PRECIO_VENTA values('B005BCPNEK',getdate(),20)insert into PRECIO_VENTA values('B005BCQ1LY',getdate(),10)insert into PRECIO_VENTA values('B005BCQ3OO',getdate(),10)insert into PRECIO_VENTA values('B005DD6R6A',getdate(),44)insert into PRECIO_VENTA values('B005DWH9KO',getdate(),11)insert into PRECIO_VENTA values('B005DWHCUG',getdate(),15)insert into PRECIO_VENTA values('B005DWILHO',getdate(),20)insert into PRECIO_VENTA values('B005DWJ48Y',getdate(),55)insert into PRECIO_VENTA values('B005F3FF6Q',getdate(),37)insert into PRECIO_VENTA values('B005FXO8BE',getdate(),26)insert into PRECIO_VENTA values('B005GODIEK',getdate(),48)insert into PRECIO_VENTA values('B005I48VR2',getdate(),60)insert into PRECIO_VENTA values('B005I48VWW',getdate(),50)insert into PRECIO_VENTA values('B005JWR6RO',getdate(),50)insert into PRECIO_VENTA values('B005LCZKBQ',getdate(),20)insert into PRECIO_VENTA values('B005LGXYUQ',getdate(),37)insert into PRECIO_VENTA values('B005LGXZ6O',getdate(),35)insert into PRECIO_VENTA values('B005LGXZYG',getdate(),20)insert into PRECIO_VENTA values('B005OYLT5W',getdate(),10)insert into PRECIO_VENTA values('B005QJODQW',getdate(),14)insert into PRECIO_VENTA values('B005RX3MH8',getdate(),55)insert into PRECIO_VENTA values('B005SGSRV0',getdate(),18)insert into PRECIO_VENTA values('B005ST9JNC',getdate(),44)insert into PRECIO_VENTA values('B005ST9K5E',getdate(),37)insert into PRECIO_VENTA values('B005SYZ5QW',getdate(),18)insert into PRECIO_VENTA values('B005SYZ5RG',getdate(),20)insert into PRECIO_VENTA values('B005UB1KOE',getdate(),49)insert into PRECIO_VENTA values('B0069QKZ86',getdate(),10)insert into PRECIO_VENTA values('B006BY1DOG',getdate(),13)insert into PRECIO_VENTA values('B006IMM3PY',getdate(),13)insert into PRECIO_VENTA values('B006J5ZP3C',getdate(),12)insert into PRECIO_VENTA values('B006LGH3RA',getdate(),55)insert into PRECIO_VENTA values('BDP5200',getdate(),10)insert into PRECIO_VENTA values('DVX592H',getdate(),10)

select * from PRECIO_VENTA;

insert into PRECIO_ALQ values('B000A63KWY',getdate(),2)insert into PRECIO_ALQ values('B000HN31N8',getdate(),4)insert into PRECIO_ALQ values('B001E967C6',getdate(),3)insert into PRECIO_ALQ values('B001HN67RY',getdate(),5)insert into PRECIO_ALQ values('B001PMFOZS',getdate(),2)insert into PRECIO_ALQ values('B002BSH9J4',getdate(),4)insert into PRECIO_ALQ values('B002R9J5TE',getdate(),8)insert into PRECIO_ALQ values('B00352LVJ4',getdate(),2)insert into PRECIO_ALQ values('B0036SPXFA',getdate(),4)insert into PRECIO_ALQ values('B003V4AK84',getdate(),8)insert into PRECIO_ALQ values('B003VD56KC',getdate(),8)insert into PRECIO_ALQ values('B003Z7RZWG',getdate(),4)insert into PRECIO_ALQ values('B003Z7SING',getdate(),3)insert into PRECIO_ALQ values('B00440CQRC',getdate(),5)insert into PRECIO_ALQ values('B0044BCMYI',getdate(),8)insert into PRECIO_ALQ values('B0046ANH4G',getdate(),4)insert into PRECIO_ALQ values('B004FEF5PC',getdate(),3)insert into PRECIO_ALQ values('B004ISLDV0',getdate(),5)insert into PRECIO_ALQ values('B004JMZH4O',getdate(),8)insert into PRECIO_ALQ values('B004JU0JSA',getdate(),8)insert into PRECIO_ALQ values('B004KPC1Z8',getdate(),3)insert into PRECIO_ALQ values('B004UOWX7K',getdate(),5)insert into PRECIO_ALQ values('B0052LWDFC',getdate(),5)

insert into PRECIO_ALQ values('B0053C7W3I',getdate(),2)insert into PRECIO_ALQ values('B0053C84SA',getdate(),3)insert into PRECIO_ALQ values('B0053C856Q',getdate(),2)insert into PRECIO_ALQ values('B0053C88OK',getdate(),2)insert into PRECIO_ALQ values('B0053C8ONA',getdate(),4)insert into PRECIO_ALQ values('B0053C9VA0',getdate(),3)insert into PRECIO_ALQ values('B0053CA154',getdate(),3)insert into PRECIO_ALQ values('B0053CA1NG',getdate(),2)insert into PRECIO_ALQ values('B0053CAM58',getdate(),2)insert into PRECIO_ALQ values('B0053CBC98',getdate(),2)insert into PRECIO_ALQ values('B0053CBH6Q',getdate(),8)insert into PRECIO_ALQ values('B00564H3DM',getdate(),8)insert into PRECIO_ALQ values('B0056YQCS4',getdate(),10)insert into PRECIO_ALQ values('B005A72S30',getdate(),2)insert into PRECIO_ALQ values('B005BCOBQG',getdate(),4)insert into PRECIO_ALQ values('B005BCOJI6',getdate(),8)insert into PRECIO_ALQ values('B005BCOJWW',getdate(),2)insert into PRECIO_ALQ values('B005BCOWWO',getdate(),5)insert into PRECIO_ALQ values('B005BCP33G',getdate(),3)insert into PRECIO_ALQ values('B005BCP9F8',getdate(),8)insert into PRECIO_ALQ values('B005BCPDOK',getdate(),8)insert into PRECIO_ALQ values('B005BCPKD4',getdate(),8)insert into PRECIO_ALQ values('B005BCPKDY',getdate(),8)insert into PRECIO_ALQ values('B005BCPMXC',getdate(),2)insert into PRECIO_ALQ values('B005BCPNEK',getdate(),4)insert into PRECIO_ALQ values('B005BCQ1LY',getdate(),2)insert into PRECIO_ALQ values('B005BCQ3OO',getdate(),2)insert into PRECIO_ALQ values('B005DD6R6A',getdate(),8)insert into PRECIO_ALQ values('B005DWH9KO',getdate(),2)insert into PRECIO_ALQ values('B005DWHCUG',getdate(),3)insert into PRECIO_ALQ values('B005DWILHO',getdate(),4)insert into PRECIO_ALQ values('B005DWJ48Y',getdate(),10)insert into PRECIO_ALQ values('B005F3FF6Q',getdate(),8)insert into PRECIO_ALQ values('B005FXO8BE',getdate(),5)insert into PRECIO_ALQ values('B005GODIEK',getdate(),8)insert into PRECIO_ALQ values('B005I48VR2',getdate(),10)insert into PRECIO_ALQ values('B005I48VWW',getdate(),10)insert into PRECIO_ALQ values('B005JWR6RO',getdate(),10)insert into PRECIO_ALQ values('B005LCZKBQ',getdate(),40)insert into PRECIO_ALQ values('B005LGXYUQ',getdate(),8)insert into PRECIO_ALQ values('B005LGXZ6O',getdate(),8)insert into PRECIO_ALQ values('B005LGXZYG',getdate(),4)insert into PRECIO_ALQ values('B005OYLT5W',getdate(),2)insert into PRECIO_ALQ values('B005QJODQW',getdate(),3)insert into PRECIO_ALQ values('B005RX3MH8',getdate(),10)insert into PRECIO_ALQ values('B005SGSRV0',getdate(),4)insert into PRECIO_ALQ values('B005ST9JNC',getdate(),8)insert into PRECIO_ALQ values('B005ST9K5E',getdate(),8)insert into PRECIO_ALQ values('B005SYZ5QW',getdate(),4)insert into PRECIO_ALQ values('B005SYZ5RG',getdate(),4)insert into PRECIO_ALQ values('B005UB1KOE',getdate(),8)insert into PRECIO_ALQ values('B0069QKZ86',getdate(),2)insert into PRECIO_ALQ values('B006BY1DOG',getdate(),3)insert into PRECIO_ALQ values('B006IMM3PY',getdate(),3)insert into PRECIO_ALQ values('B006J5ZP3C',getdate(),3)insert into PRECIO_ALQ values('B006LGH3RA',getdate(),10)insert into PRECIO_ALQ values('BDP5200',getdate(),2)insert into PRECIO_ALQ values('DVX592H',getdate(),2)

select * from PRECIO_ALQ;

insert into CATEGORIA values('PRODUCTO',NULL)insert into CATEGORIA values('DISPOSITIVO',1)

insert into CATEGORIA values('MEDIA',1)insert into CATEGORIA values('PELICULA',3)insert into CATEGORIA values('VIDEOJUEGO',3)

select * from CATEGORIA;

insert into PROMOCION values(1,1,'2x1',getdate(),NULL)insert into PROMOCION values(2,2,'Descuento 50%',getdate(),'07/04/2012')insert into PROMOCION values(3,3,'3x2',getdate(),'07/05/2012')

select * from PROMOCION;

insert into CLASIFICACION values('B001PMFOZS',4)insert into CLASIFICACION values('B00352LVJ4',4)insert into CLASIFICACION values('B003Z7RZWG',4)insert into CLASIFICACION values('B003Z7SING',4)insert into CLASIFICACION values('B0046ANH4G',4)insert into CLASIFICACION values('B004KPC1Z8',4)insert into CLASIFICACION values('B0053C7W3I',4)insert into CLASIFICACION values('B0053C84SA',4)insert into CLASIFICACION values('B0053C856Q',4)insert into CLASIFICACION values('B0053C88OK',4)insert into CLASIFICACION values('B0053C8ONA',4)insert into CLASIFICACION values('B0053C9VA0',4)insert into CLASIFICACION values('B0053CA154',4)insert into CLASIFICACION values('B0053CA1NG',4)insert into CLASIFICACION values('B0053CAM58',4)insert into CLASIFICACION values('B0053CBC98',4)insert into CLASIFICACION values('B0053CBH6Q',4)insert into CLASIFICACION values('B005LCZKBQ',4)insert into CLASIFICACION values('B005QJODQW',4)insert into CLASIFICACION values('B005SGSRV0',4)insert into CLASIFICACION values('B005SYZ5QW',4)insert into CLASIFICACION values('B005SYZ5RG',4)insert into CLASIFICACION values('B006IMM3PY',4)

insert into CLASIFICACION values('B000HN31N8',5)insert into CLASIFICACION values('B001E967C6',5)insert into CLASIFICACION values('B001HN67RY',5)insert into CLASIFICACION values('B002BSH9J4',5)insert into CLASIFICACION values('B0036SPXFA',5)insert into CLASIFICACION values('B0044BCMYI',5)insert into CLASIFICACION values('B004JMZH4O',5)insert into CLASIFICACION values('B004UOWX7K',5)insert into CLASIFICACION values('B0052LWDFC',5)insert into CLASIFICACION values('B00564H3DM',5)insert into CLASIFICACION values('B005BCOBQG',5)insert into CLASIFICACION values('B005BCOJI6',5)insert into CLASIFICACION values('B005BCOJWW',5)insert into CLASIFICACION values('B005BCOWWO',5)insert into CLASIFICACION values('B005BCP33G',5)insert into CLASIFICACION values('B005BCP9F8',5)insert into CLASIFICACION values('B005BCPDOK',5)insert into CLASIFICACION values('B005BCPKD4',5)insert into CLASIFICACION values('B005BCPMXC',5)insert into CLASIFICACION values('B005BCPNEK',5)insert into CLASIFICACION values('B005BCQ1LY',5)insert into CLASIFICACION values('B005BCQ3OO',5)insert into CLASIFICACION values('B005DD6R6A',5)insert into CLASIFICACION values('B005DWH9KO',5)insert into CLASIFICACION values('B005DWHCUG',5)insert into CLASIFICACION values('B005DWILHO',5)insert into CLASIFICACION values('B005DWJ48Y',5)

insert into CLASIFICACION values('B005F3FF6Q',5)insert into CLASIFICACION values('B005FXO8BE',5)insert into CLASIFICACION values('B005GODIEK',5)insert into CLASIFICACION values('B005I48VR2',5)insert into CLASIFICACION values('B005I48VWW',5)insert into CLASIFICACION values('B005JWR6RO',5)insert into CLASIFICACION values('B005LGXYUQ',5)insert into CLASIFICACION values('B005LGXZ6O',5)insert into CLASIFICACION values('B005LGXZYG',5)insert into CLASIFICACION values('B005OYLT5W',5)insert into CLASIFICACION values('B005RX3MH8',5)insert into CLASIFICACION values('B005ST9JNC',5)insert into CLASIFICACION values('B005ST9K5E',5)insert into CLASIFICACION values('B0069QKZ86',5)insert into CLASIFICACION values('B006BY1DOG',5)insert into CLASIFICACION values('B006J5ZP3C',5)insert into CLASIFICACION values('B006LGH3RA',5)

insert into CLASIFICACION values('B000A63KWY',2)insert into CLASIFICACION values('B002R9J5TE',2)insert into CLASIFICACION values('B003V4AK84',2)insert into CLASIFICACION values('B003VD56KC',2)insert into CLASIFICACION values('B00440CQRC',2)insert into CLASIFICACION values('B004FEF5PC',2)insert into CLASIFICACION values('B004ISLDV0',2)insert into CLASIFICACION values('B004JU0JSA',2)insert into CLASIFICACION values('B0056YQCS4',2)insert into CLASIFICACION values('B005A72S30',2)insert into CLASIFICACION values('B005UB1KOE',2)insert into CLASIFICACION values('BDP5200',2)insert into CLASIFICACION values('DVX592H',2)

select * from CLASIFICACION;

insert into TURNO values('09:30:00','14:00:00')insert into TURNO values('16:30:00','21:00:00')

select * from TURNO;

insert into PERSONA values('44807624L','Jesus Liñares Freiria','669367410','San Pedro de Mezonzo,5,6ºIzq,Santiago','jellifre88@hotmail.com','20/05/1979')insert into PERSONA values('44824980G','Fatima Sanchez Blanco','661154173','Busto,2,Santa Comba','fatimalacor@hotmail.com','14/12/1991')insert into PERSONA values('44837153X','Ivan Perrin Pereiro','629544555','Rua Ceidon,9,Ordes','ippbellevue@hotmail.com','11/03/1991')insert into PERSONA values('45872412Q','Luis Rodriguez Soutullo','637227198','Obra-Foxas,19,Touro','luis.rodriguez.soutullo@hotmail.com','13/10/1989')insert into PERSONA values('45874155B','Jaime Alvarez-Ossorio Varela','696650474','Avd. de Lugo,125,4ºIzq,Santiago','jimmy_4_06@hotmail.com','25/11/1991')insert into PERSONA values('45874849S','Isabel Martinez Lopez','606433635','Rua de Muros, 55,C(Roxos)','isabelmartinez_89@hotmail.com','28/09/1989')insert into PERSONA values('53481327W','Pablo Rey Trillo','678917868','Rua Amarella,4,4,2ºE,Ribeira','chiwikky@hotmail.com','30/11/1991')insert into PERSONA values('78801307H','Cesar Miguel Santiago Nuñez','628211573','Loios-Valadares,2,Outes','checha_soiyo@hotmail.com','11/08/1991')

select * from PERSONA;

insert into SOCIO values('44807624L',getdate(),NULL)insert into SOCIO values('44824980G',getdate(),NULL)insert into SOCIO values('44837153X',getdate(),NULL)insert into SOCIO values('45872412Q',getdate(),NULL)insert into SOCIO values('45874849S',getdate(),NULL)

insert into SOCIO values('53481327W',getdate(),NULL)insert into SOCIO values('78801307H',getdate(),NULL)

select * from SOCIO;

insert into EMPLEADO values('78801307H',getdate(),NULL,1500,1)insert into EMPLEADO values('45874155B',getdate(),NULL,1500,2)

select * from EMPLEADO;

insert into TARJETA values('44807624L',1,getdate(),1)insert into TARJETA values('44824980G',1,getdate(),1)insert into TARJETA values('44837153X',1,getdate(),1)insert into TARJETA values('45872412Q',1,getdate(),1)insert into TARJETA values('45874849S',1,getdate(),1)insert into TARJETA values('53481327W',1,getdate(),1)insert into TARJETA values('78801307H',1,getdate(),1)

select * from TARJETA;

insert into PROVEEDOR(CIF,Nombre,Telefono,Email,Direccion) values('0A714779','Electronics Arts SL','914926000','electronics@ea.com','Vía de los Poblados, 3, Edificio 3. Parque empresarial Cristalia, Madrid, España')insert into PROVEEDOR(CIF,Nombre,Telefono,Email,Direccion) values('A59913509','ESPASA CALPE SA','913589689','contenidos@espasa.es','Carretera De Irún, Km 12, Madrid,España')insert into PROVEEDOR(CIF,Nombre,Telefono,Email,Direccion) values('B25588104','ENEA GAMES SL','902102102','eneagames@eneagames.com','Parc Gardeny, 23,Lleida,España')insert into PROVEEDOR(CIF,Nombre,Telefono,Email,Direccion) values('B95050357','ZooGames','973204774','games@zoogames.com','Avenida Fontanet, 19,Lleida,España')

select * from PROVEEDOR;