0% encontró este documento útil (0 votos)
206 vistas20 páginas

Proyecto de Base de Datos CLUB SQL

El documento describe la creación de una base de datos para un club que almacena información sobre socios, cursos e inscripciones en cursos en varias tablas. Se crean vistas sobre las tablas para consultar y modificar los datos de forma segura.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
206 vistas20 páginas

Proyecto de Base de Datos CLUB SQL

El documento describe la creación de una base de datos para un club que almacena información sobre socios, cursos e inscripciones en cursos en varias tablas. Se crean vistas sobre las tablas para consultar y modificar los datos de forma segura.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Proyecto 2

Base de Datos
SQL Server y MySQL
Un club dicta cursos de distintos deportes. Almacena la información en varias tablas.

create database CLUB;

Crear tabla socios:

create table socios(


documento char(8) not null,
nombre varchar(40),
domicilio varchar(30),
constraint PK_socios_documento
primary key (documento)
);

Crear tabla cursos:

create table cursos(


numero tinyint identity,
deporte varchar(20),
dia varchar(15),
constraint CK_inscriptos_dia check (dia
in('lunes','martes','miercoles','jueves','viernes','sabado')),
profesor varchar(20),
constraint PK_cursos_numero
primary key (numero),
);

Crear tabla inscriptos:

create table inscriptos(


documentosocio char(8) not null,
numero tinyint not null,
matricula char(1),
constraint PK_inscriptos_documento_numero
primary key (documentosocio,numero),
constraint FK_inscriptos_documento
foreign key (documentosocio)
references socios(documento)
on update cascade,
constraint FK_inscriptos_numero
foreign key (numero)
references cursos(numero)
on update cascade
);

Insertar registros en la tabla socios:

insert into socios values('30000000','Fabian Fuentes','Caseros 987');


insert into socios values('31111111','Gaston Garcia','Guemes 65');
insert into socios values('32222222','Hector Huerta','Sucre 534');
insert into socios values('33333333','Ines Irala','Bulnes 345');

Insertar registros en la tabla cursos:

insert into cursos values('tenis','lunes','Ana Acosta');


insert into cursos values('tenis','martes','Ana Acosta');
insert into cursos values('natacion','miercoles','Ana Acosta');
insert into cursos values('natacion','jueves','Carlos Caseres');
insert into cursos values('futbol','sabado','Pedro Perez');
insert into cursos values('futbol','lunes','Pedro Perez');
insert into cursos values('basquet','viernes','Pedro Perez');

Insertar registros en la tabla inscriptos:

insert into inscriptos values('30000000',1,'s');


insert into inscriptos values('30000000',3,'n');
insert into inscriptos values('30000000',6,null);
insert into inscriptos values('31111111',1,'s');
insert into inscriptos values('31111111',4,'s');
insert into inscriptos values('32222222',1,'s');
insert into inscriptos values('32222222',7,'s');

4- Realice un join para mostrar todos los datos de todas las tablas, sin
repetirlos:
5- Elimine, si existe, la vista "vista_cursos":

if object_id('vista_cursos') is not null


drop view vista_cursos;

6- Cree la vista "vista_cursos" que muestre el número, deporte y día de


todos los cursos.

7- Consulte la vista ordenada por deporte.


8- Ingrese un registro en la vista "vista_cursos" y vea si afectó a
"cursos". Puede realizarse el ingreso porque solamente afecta a una tabla
base.

9- Actualice un registro sobre la vista y vea si afectó a la tabla


"cursos". Puede realizarse la actualización porque solamente afecta a una
tabla base.
11- Intente eliminar un registro de la vista para el cual haya
inscriptos. No lo permite por la restricción "foreign key".
12- Elimine la vista "vista_inscriptos" si existe y créela para que
muestre el documento y nombre del socio, el numero de curso, el deporte y
día de los cursos en los cuales está inscripto.

if object_id('vista_inscriptos') is not null


drop view vista_inscriptos;
create view vista_inscriptos
as
select [Link],[Link],[Link],[Link],dia
from inscriptos as i
join socios as s
on [Link]=documentosocio
join cursos as c
on [Link]=[Link];

13- Intente ingresar un registro en la vista.

No lo permite porque la modificación afecta a más de una tabla base.

14- Actualice un registro de la vista.

Lo permite porque la modificación afecta a una sola tabla base.


15- Vea si afectó a la tabla "socios":

16- Intente actualizar el documento de un socio.

No lo permite por la restricción.


17- Intente eliminar un registro de la vista.

No lo permite porque la vista incluye varias tablas


MySQL
Crea una base de datos llamada CLUB:
Create database CLUB;

Habilita la Base de datos del CLUB:


Use CLUB;

Elimine las tabla "inscriptos", "socios" y "cursos", si


existen:
if object_id('inscriptos') is not null drop table inscriptos;

if object_id('socios') is not null drop table socios;

if object_id('cursos') is not null drop table cursos;


I. Ingrese algunos registros para todas las tablas:
Realice un join para mostrar todos los datos de todas las
tablas, sin repetirlos:

I. Elimine, si existe, la vista "vista_cursos":


if object_id('vista_cursos') is not null
drop view vista_cursos;

II. Cree la vista "vista_cursos" que muestre el número, deporte y


día de todos los cursos.
III. Consulte la vista ordenada por deporte.

IV. Ingrese un registro en la vista "vista_cursos" y vea si


afectó a "cursos".
Puede realizarse el ingreso porque solamente afecta a una tabla
base.

V. Actualice un registro sobre la vista y vea si afectó a la


tabla "cursos".
Puede realizarse la actualización porque solamente afecta a una
tabla base.

VI. Elimine un registro de la vista para el cual no haya


inscriptos y vea si afectó a "cursos".
Puede realizarse la eliminación porque solamente afecta a una
tabla base.

VII. Intente eliminar un registro de la vista para el cual haya


inscriptos.
No lo permite por la restricción "foreign key".

VIII. Elimine la vista "vista_inscriptos" si existe y créela para


que muestre el documento y nombre del socio, el numero de
curso, el deporte y día de los cursos en los cuales está
inscripto.

IX. Intente ingresar un registro en la vista.

No lo permite porque la modificación afecta a más de una tabla


base.
VII. Actualice un registro de la vista.

Lo permite porque la modificación afecta a una sola tabla base.

VIII. Vea si afectó a la tabla "socios":


IX. Intente actualizar el documento de un socio.

No lo permite por la restricción.

XIV. Intente eliminar un registro de la vista.

No lo permite porque la vista incluye varias tablas.

 
 
 
 
 Proyecto 2  
Base de Datos 
  SQL Server y MySQL
Un club dicta cursos de distintos deportes. Almacena la información en varias tablas. 
 
create database CLUB; 
 
 
Crear t
insert into socios values('32222222','Hector Huerta','Sucre 534'); 
 insert into socios values('33333333','Ines Irala','Buln
5- Elimine, si existe, la vista "vista_cursos": 
 
if object_id('vista_cursos') is not null 
  drop view vista_cursos
8- Ingrese un registro en la vista "vista_cursos" y vea si afectó a 
"cursos". Puede realizarse el ingreso porque solamen
11- Intente eliminar un registro de la vista para el cual haya 
inscriptos. No lo permite por la restricción "f
12- Elimine la vista "vista_inscriptos" si existe y créela para que 
muestre el documento y nombre del socio, el numero d
15- Vea si afectó a la tabla "socios": 
 
 
 
 
 
16- Intente actualizar el documento de un socio. 
No lo permite por la re
17- Intente eliminar un registro de la vista. 
No lo permite porque la vista incluye varias tablas
MySQL 
 
 
Crea una base de datos llamada CLUB: 
 
 
 
Habilita la Base de datos del CLUB: 
 
 
Elimine las tabla "inscript

También podría gustarte