24
11.- BEBEDORES Suponga que tenemos una Base de Datos de bebedores de cerveza, que tiene los siguientes conjuntos: BEBEDOR(nombre_bebedro,domicilio_bebedor) BAR(nombre_bar, domicilio_bar_horario) CERVEZA(marca, grados, tipo) FRECUENTA para indicarnos el (los) bar(es) que frecuenta cada bebedor GUSTA indica la(s) cerveza(as) preferidas por cada bebedor SIRVE nos da la cerveza(s) que sirve, cada bar y el precio de venta Considere las siguientes cuestiones siguientes sobre la base de datos. i) Dado el nombre dek bebedor saber el domicilio de este. ii) Dado el nombre del bebedor ç, conocer el nombre y domicilio de los bares que sirvan alguna cerveza que le guste iii) Dado el nombre del bebedor y el nombre del bar , conocer las cervezas que sirve, que le gustan al bebedor y que tenga el maximo valor de grados iv) Dado del nombre del bebedor y el nombre del bar, cuales son las cervezas que no le gustan y que vende el bar Se debe mantener integridad de dominio y referencial en la base de datos FORMATO DE ENTREGA DEL PROYECTO Hoja de requerimientos Diagrama entidad relacion realizado con Power Designer Modelo relacional realizado con Power Designer Listado de programas en SQL que contengan lo siguiente: Creacion de la base de datos Creacion de tablas Llaves foraneas y primarias según corresponda Creacion de reglas, constraints o defaults que permitan integridad de dominio y/o reglas de negocio Alta de 10 registros a las tablas catalogo de la BD y los registros correspondientes an las tablas relacion Creacion de indices en campos lideres de consulta comun Procedimiento almacenado sp_inserta que permite insercion de registros d e alguna tabla catalogo Procedimiento almacenado sp_actualiza que permite actualizacion de registros de alguna tabla catalogo Procedimiento almacenado sp_borra que permite eliminacion de registros de alguna tabla catalogo Triggers necesarios para el control de la integridad de la informacion Creacion de consultas que satisfagan la hoja de requerimientos.

Proyecto Base Datos

Embed Size (px)

DESCRIPTION

Desarrollo de una base de datos en SYBASE ASE

Citation preview

Page 1: Proyecto Base Datos

11.- BEBEDORES

Suponga que tenemos una Base de Datos de bebedores de cerveza, que tiene los siguientes conjuntos:BEBEDOR(nombre_bebedro,domicilio_bebedor)BAR(nombre_bar, domicilio_bar_horario)CERVEZA(marca, grados, tipo)FRECUENTA para indicarnos el (los) bar(es) que frecuenta cada bebedorGUSTA indica la(s) cerveza(as) preferidas por cada bebedorSIRVE nos da la cerveza(s) que sirve, cada bar y el precio de ventaConsidere las siguientes cuestiones siguientes sobre la base de datos.

i) Dado el nombre dek bebedor saber el domicilio de este.ii) Dado el nombre del bebedor ç, conocer el nombre y domicilio de los bares que sirvan alguna cerveza

que le gusteiii) Dado el nombre del bebedor y el nombre del bar , conocer las cervezas que sirve, que le gustan al

bebedor y que tenga el maximo valor de gradosiv) Dado del nombre del bebedor y el nombre del bar, cuales son las cervezas que no le gustan y que vende

el barSe debe mantener integridad de dominio y referencial en la base de datos

FORMATO DE ENTREGA DEL PROYECTO

Hoja de requerimientosDiagrama entidad relacion realizado con Power DesignerModelo relacional realizado con Power DesignerListado de programas en SQL que contengan lo siguiente:Creacion de la base de datosCreacion de tablasLlaves foraneas y primarias según correspondaCreacion de reglas, constraints o defaults que permitan integridad de dominio y/o reglas de negocioAlta de 10 registros a las tablas catalogo de la BD y los registros correspondientes an las tablas

relacionCreacion de indices en campos lideres de consulta comunProcedimiento almacenado sp_inserta que permite insercion de registros d e alguna tabla catalogoProcedimiento almacenado sp_actualiza que permite actualizacion de registros de alguna tabla

catalogoProcedimiento almacenado sp_borra que permite eliminacion de registros de alguna tabla catalogoTriggers necesarios para el control de la integridad de la informacionCreacion de consultas que satisfagan la hoja de requerimientos.

Page 2: Proyecto Base Datos

DIAGRAMA ENTIDAD RELACION DE LA BASE DE DATOS BEBEDORES

Page 3: Proyecto Base Datos

MODELO RELACIONAL DE LA BASE DE DATOS BEBEDORES

Page 4: Proyecto Base Datos

BASE DE DATOS BEBEDORESCREANDO LA BASE DE DATOS:

CREANDO LA TABLA CERVEZA:

Page 5: Proyecto Base Datos
Page 6: Proyecto Base Datos
Page 7: Proyecto Base Datos
Page 8: Proyecto Base Datos
Page 9: Proyecto Base Datos
Page 10: Proyecto Base Datos
Page 11: Proyecto Base Datos
Page 12: Proyecto Base Datos

CONSULTAS 1.- Dado el nombre de un bebedor , saber el domicilio de este

Nombre del bebedor: Manuel Alejandro

2.- Dado el nombre de un bebedor , conocer el nombre y domicilio de los bares que sirvan alguna cerveza que le guste

select BAR.nombre_bar, BAR.domicilio_bar FROM BEBEDOR INNER JOIN GUSTA ON BEBEDOR.id_bebedor=GUSTA.id_bebedorINNER JOIN CERVEZA ON GUSTA.id_cerveza=CERVEZA.id_cervezaINNER JOIN SIRVE ON CERVEZA.id_cerveza=SIRVE.id_cervezaINNER JOIN BAR ON SIRVE.id_bar=BAR.id_barAND BEBEDOR.nombre_bebedor='Pedro Torres'

3.- Dado el nombre del bebedor y el nombre del bar , conocer las cervezas que sirve, que le gusten al bebedor y que tenga el maximo valor de grados

select CERVEZA.marca, CERVEZA.grados FROM CERVEZA, GUSTA, BEBEDOR,SIRVE,BARwhere CERVEZA.id_cerveza=GUSTA.id_cervezaAND GUSTA.id_bebedor=BEBEDOR.id_bebedorAND BEBEDOR.nombre_bebedor='Luis Enrique'AND CERVEZA.id_cerveza=SIRVE.id_cervezaand SIRVE.id_bar=BAR.id_barAND BAR.nombre_bar='Bar Estrella'

Page 13: Proyecto Base Datos

select CERVEZA.marca, CERVEZA.gradosFROM CERVEZA, GUSTA, BEBEDOR,SIRVE,BARwhere CERVEZA.id_cerveza=GUSTA.id_cervezaAND GUSTA.id_bebedor=BEBEDOR.id_bebedorAND BEBEDOR.nombre_bebedor='Luis Enrique'AND CERVEZA.id_cerveza=SIRVE.id_cervezaand SIRVE.id_bar=BAR.id_barAND BAR.nombre_bar='Bar Estrella'

4.- Dado el nombre del bebedor y el nombre del bar , cuales son las cervezas que no le gustan y que vende el bar

Page 14: Proyecto Base Datos

PROCEDIMIENTOS ALMACENADOS:

Sp_inserta

Page 15: Proyecto Base Datos

ACTUALIZANDO TABLA DE CERVEZA

create procedure sp_actualiza2 @id_c varchar(7), @mar varchar(25) , @grad integer, @tip varchar(25)asbegin

if Exists(Select * From CERVEZA Where id_cerveza = @id_c)begin

UPDATE CERVEZA SET marca = @mar , grados = @grad, tipo = @tipWHERE id_cerveza = @id_c

endelse

beginprint "No existe el registro especificado. "

endendgo/*ejecucion*/sp_actualiza 'cer_10' , 'EXQUISITA',1,'clara'

ANTES DE ACTUALIZAR EL REGISTRO cer_10

Aplicación ACTUALIZAR:

Page 16: Proyecto Base Datos

Después de actualizar:

Page 17: Proyecto Base Datos

PROCEDIMIENTO QUE BORRA EUN REGISTRO DE LA TABLA frecuenta

create procedure sp_borra @id_f varchar(7)asbegin

if Exists(Select * From FRECUENTA Where id_frecuenta = @id_f)begin

print "este elemento se borrara"DELETE FROM FRECUENTA WHERE id_frecuenta = @id_f

endelse

beginprint "No existe este registro"

endendGO/*Ejecucion*/sp_borra 'frec_09'

LA TABLA ANTES DE BORRAR EL REGISTRO CON id_cereveza=’frec_09’

Y AL BORRAR EL REGISTRO:

Page 18: Proyecto Base Datos
Page 19: Proyecto Base Datos

CREACION DE INDICES

CREATE index indice_bebedores ON BEBEDOR (id_bebedor ASC)Go

CREATE index indice_bar ON BAR (id_bar ASC)go

CREATE index indice_cerveza ON CERVEZA (id_cerveza ASC)go

Page 20: Proyecto Base Datos