Sunteți pe pagina 1din 4

EJERCICIOS DE REPASO SQL

EJERCICIO 1. A CONTINUACIN SE DEFINE LA SIGUIENTE BD LLAMADA mi_club CONSTITUIDA POR DOS TABLAS COMO SE MUESTRA EN EL SIGUIENTE DICCIONARIO DE DATOS Y DIAGRAMA.

Diccionario de dato
Base de datos: mi_club Esta base de datos tiene como objetivo llevar el control de los socios del club y el pago de cuotas mensuales, as como realizar recuperaciones de informacin, segn sea necesario. Tabla: Socio Descripcin: almacena informacin importante respecto al cliente
CLAVE PK CAMPO Id_socio Nombre Apellido DNI Domicilio localidad tipo_socio fecha_alta DATE, DESCRIPCION Almacena el cdigo de socio Nombre del socio Apellidos del socio Nmero de Identificacin nacional Domicilio del socio Localidad de residencia Describe el tipo de socio Fecha en la que se realiz el registro al club Fecha en que se dio de baja el socio Bandera para indicar si pag el ltimo recibo Campo para escribir anotaciones TIPO Entero Texto Texto Texto Texto Texto ENUM Fecha 15 25 9 50 30 ('A','B','C'), TAMAO NULL No No No No OTRA

fecha_baja paga_ult_recibo

Fecha

SET

('S','N')

anotaciones

BLOB

Tabla: Cuota Descripcin: tabla encargada de almacenar los registros de cuotas de cada socio del club

CLAVE PK

CAMPO Id_cuota

DESCRIPCION Identificador que controla cada una de las cuotas pagadas

TIPO Entero

TAMAO

NULL No

OTRA Auto_increment

FK

Id_socio Fecha de pago

Almacena el cdigo de socio Registra la fecha en que se realiza el pago Importe por pago de cuota Anotaciones al pago de cuota

Entero Fecha

No No

REFERENCE socio.id_socio.

Importe_cuota Anotaciones

Decimal Texto

8,2

Modelo relacional

REALIZAR LAS SIGUIENTES ACCIONES. a) CREAR LA BASE DE DATOS b) CREAR LAS TABLAS SOCIOS Y CUOTAS c) INSERTAR LOS REGISTROS PARA CADA UNA DE LAS TABLAS d) EJECUTAR LAS CONSULTAS (SELECT ) Y EXPLICAR Y MOSTRAR QUE ES LO QUE REALIZA CADA UNA DE ELLAS TODO LO ANTERIOR APOYADO DE LAS DEFINICIONES QUE A CONTINUACIN SE PRESENTAN

-- ZONA DE DEFINICION DE TABLA CREATE DATABASE mi_club; USE mi_club; CREATE TABLE socios ( id_socio INT NOT NULL AUTO_INCREMENT, nombre VARCHAR(15) NOT NULL, apellidos VARCHAR(25) NOT NULL, dni VARCHAR(9) NOT NULL,

domicilio VARCHAR(50), localidad VARCHAR(30), tipo_socio ENUM('A','B','C'), fecha_alta DATE, fecha_baja DATE, paga_ult_recibo SET ('S','N'), anotaciones BLOB, PRIMARY KEY (id_socio) ) CREATE TABLE cuotas ( id_cuota INT NOT NULL AUTO_INCREMENT , id_socio INT, fecha_pago DATE, importe_cuota DECIMAL(8,2), anotaciones TEXT, PRIMARY KEY(id_cuota), FOREIGN KEY (id_socio) REFERENCES socios(id_socio) ) -- ZONA DE EJEMPLO DE INSERCIN -- Insercin de datos en la base, tabla socios.
INSERT INTO socios VALUES (1,'Oscar','De la Cuesta ','12660481','La direcion', 'Palencia','A','2010-11-25','2010-12-20','S','Este cliente es especial'); INSERT INTO socios VALUES (2,'Joel', 'Morta','78546754','C\ Gandia','Valencia','C', '201011-25',NULL,'N','Este cliente es un moroso'); INSERT INTO socios VALUES (3,'Pedro','Anero','124342340','C\ Buenos aires','Barcelona','B','2010-12-01','2010-12-20','S','Cliente habitual'); INSERT INTO socios VALUES (4,'Ana','Rodriguez','34343444','C\ Serrano','Madrid','B','201012-01','2010-12-20','S','Solo veranos'); INSERT INTO socios VALUES (5,'Luis','Serrit','12776043','C\ Las brisas','Santander','C','2010-11-25','2010-12-25','S','Invierno'); INSERT INTO socios VALUES (6,'Maria','Arcona','33176043','C\ Asador','Santander','C',NULL,NULL,'S','Epoca de Verano'); INSERT INTO socios VALUES (7,'Jose','Coma','12773343','C\ Valverde','Palencia','A','2010-1125','2010-12-25','S','No es un cliente habitual'); INSERT INTO socios VALUES (8,'Marcos','Garcia','12224343','C\ Los pedernales','Palencia','A','2010-11-25','2010-12-25','S','Le gusta el senderismo'); INSERT INTO socios VALUES (9,'Beatriz','Arconada','12324343','C\ Los Girasoles','Palencia','B','2010-11-25','2010-12-25','S','Posee tarjeta de descuento'); INSERT INTO socios VALUES (10,'Veronica','Artea','54124343','C\ lobro','Palencia','A','201011-25','2010-12-25','S','Cliente bastante formal'); -- Insercin de datos en la base, tabla cuotas. INSERT INTO cuotas VALUES(1,1,'2010-12-25', 100,' El cliente tiene las cuentas saldadas'); INSERT INTO cuotas VALUES(2,2,NULL, 0,' El cliente no paga'); INSERT INTO cuotas VALUES(3,3,'2010-12-25', 50,' El cliente tiene las cuentas saldadas');

INSERT INTO cuotas VALUES(4,4,'2010-12-25', 40,' El cliente tiene las cuentas saldadas'); INSERT INTO cuotas VALUES(5,5,'2010-12-25', 30,' El cliente tiene las cuentas saldadas'); INSERT INTO cuotas VALUES(6,6,'2010-12-25', 5,' El cliente debe dinero'); INSERT INTO cuotas VALUES(7,7,'2010-12-25', 4,' El cliente debe dinero'); INSERT INTO cuotas VALUES(8,8,'2010-12-25', 2,' El cliente debe dinero'); INSERT INTO cuotas VALUES(9,1,'2010-12-25', 15,'El cliente tiene dinero'); INSERT INTO cuotas VALUES(10,10,'2010-12-25',120,'Cliente solvente');

-- ZONA DE CONSULTAS -- en funcin de los datos introducidos SELECT * FROM SOCIOS; SELECT nombre, apellidos, fecha_alta, localidad FROM socios WHERE tipo_socio = 'A' OR tipo_socio='C'; SELECT dni, id_socio, tipo_socio, fecha_baja FROM socios WHERE paga_ult_recibo = 'N'; SELECT cuotas.* FROM cuotas RIGHT JOIN socios ON cuotas.id_socio=socios.id_socio WHERE socios.fecha_baja IS NULL; SELECT SUM(cuotas.importe_cuota) FROM cuotas WHERE cuotas.id_socio=1;

S-ar putea să vă placă și