Sei sulla pagina 1di 20

A) CREAMOS LA BASE DE DATOS LIBRERIA

1.- /*Trabajamos con la tabla "libros" de una librería.*/

create database librería

-Creamos la base de datos LIBRERÍA

2.- /*Eliminamos la tabla, si existe y la creamos:*/

if object_id('libros') is not null

drop table libros;

create table libros

codigo int identity,


titulo varchar(40),
autor varchar(30),
editorial varchar(20),
precio decimal(5,2)

);

-Cuando el objeto_id de la tabla libros es no nulo

Eliminamos la tabla Libros

Creamos tabla libros

Campo código de tipo int identity,


Campo titulo de tipo varchar de tamaño 40,
Campo autor de tipo varchar de tamaño 30,
Campo editorial de tipo varchar de tamaño 20,
Campo precio de tipo decimal con 5 enteros y 2 decimales

3.- /*Ingresamos los siguientes registros:*/

INSERT INTO libros VALUES

('Alicia en el pais de las maravillas','Lewis Carroll','Emece',20.00);

-Inserta dentro de la tabla libros los siguientes valores

(Cadena de caracteres titulo Alicia en el país de las maravillas, cadenas de caracteres autor
Lewis Carroll, cadena de caracteres editorial Emece, cadena de caracteres precio decimal
20.00)
INSERT INTO libros VALUES

('Alicia en el pais de las maravillas','Lewis Carroll','Plaza',35.00);

-Inserta dentro de la tabla libros los siguientes valores

(Cadena de caracteres titulo Alicia en el país de las maravillas, cadenas de caracteres autor
Lewis Carroll, cadena de caracteres editorial Emece, cadena de caracteres precio decimal
35.00)

INSERT INTO libros VALUES

('Aprenda PHP','Mario Molina','Siglo XXI',40.00);

-Inserta dentro de la tabla libros los siguientes valores

(Cadena de caracteres titulo Aprenda PHP, cadenas de caracteres autor Mario Molina, cadena
de caracteres editorial Siglo XXI, cadena de caracteres precio decimal 40.00)

INSERT INTO libros VALUES

('El aleph','Borges','Emece',10.00);

-Inserta dentro de la tabla libros los siguientes valores

(Cadena de caracteres titulo El Aleph, cadenas de caracteres autor Borgues, cadena de


caracteres editorial Emece, cadena de caracteres precio decimal 10.00)

INSERT INTO libros VALUES

('Ilusiones','Richard Bach','Planeta',15.00);

-Inserta dentro de la tabla libros los siguientes valores

(Cadena de caracteres titulo Ilusiones, cadenas de caracteres autor Richard Bach, cadena de
caracteres editorial Planeta, cadena de caracteres precio decimal 15.00)

INSERT INTO libros VALUES

('Java en 10 minutos','Mario Molina','Siglo zXI',50.00);

-Inserta dentro de la tabla libros los siguientes valores

(Cadena de caracteres titulo Java en 10 minutos, cadenas de caracteres autor Mario Molina,
cadena de caracteres editorial Siglo XXI, cadena de caracteres precio decimal 50.00)
INSERT INTO libros VALUES

('Martin Fierro','Jose Hernandez','Planeta',20.00);

-Inserta dentro de la tabla libros los siguientes valores

Cadena de caracteres titulo Martin Fierro, cadenas de caracteres autor José Hernández, cadena
de caracteres editorial Planeta, cadena de caracteres precio decimal 20.00

INSERT INTO libros VALUES

('Martin Fierro','Jose Hernandez','Emece',30.00);

-Inserta dentro de la tabla libros los siguientes valores

Cadena de caracteres titulo Martin Fierro, cadenas de caracteres autor José Hernández, cadena
de caracteres editorial Emece, cadena de caracteres precio decimal 30.00

INSERT INTO libros VALUES

('Uno','Richard Bach','Planeta',10.00);

-Inserta dentro de la tabla libros los siguientes valores

Cadena de caracteres titulo Uno, cadenas de caracteres autor Richard Bach, cadena de
caracteres editorial Planeta, cadena de caracteres precio decimal 10.00

4.- /*Obtenemos el título, precio de un libro específico y la diferencia entre su precio y el


máximo valor:*/

SELECT titulo, precio,

precio-(SELECT MAX(precio) FROM libros) as diferencia

FROM libros

WHERE titulo='Uno';

-Selecciona el campo titulo, el campo precio, selecciona precio y se resta con la subconsulta
que selecciona el máximo valor del campo precio de la tabla libros y etiquétalo con el nombre
diferencia de la que pertenece de la tabla libros, cuando el campo titulo sea igualado a la
cadena de caracteres uno.

5.- /*Mostramos el título y precio del libro más costoso:*/

SELECT titulo, autor, precio

FROM libros WHERE precio=

(SELECT MAX(precio) FROM libros);

-Selecciona del campo título, del campo autor, del campo precio de la tabla libros, donde el
campo precio es igual (selecciona el precio máximo de la tabla libros).
6.- /*Actualizamos el precio del libro con máximo valor:*/

UPDATE libros SET precio=45

WHERE precio= (SELECT MAX(precio)

FROM libros);

-Se actualiza la tabla libros y al campo precio le vas a poner 45, donde el precio sea 45 y se
cambia siempre y cuando el precio sea el máximo.

7.- /*Eliminamos los libros con precio menor:*/

DELETE FROM libros

WHERE precio= (SELECT MIN(precio) FROM libros);

-Eliminamos la tabla libros, donde el precio sea igual a la subconsulta cuando se selecciona el
precio mínimo de la tabla libros.

RESULTADO

B.- CREAMOS LA BASE DE DATOS COLEGIO

1. /*Elimine la tabla, si existe:*/

IF object_id('alumnos') IS Not null

DROP TABLE alumnos;

Si el objeto id del identificador alumnos no es nulo

Eliminamos la tabla alumnos.

2. /*Créela con los campos necesarios. Agregue una restricción "primary key" para el campo
"documento" y una "check" para validar que el campo "nota" se encuentre entre los valores 0 y
20:*/
create table alumnos
(
DNI char(8),
nombre varchar(30),
nota decimal(4,2),
PRIMARY KEY(DNI),
CONSTRAINT CK_ALUMNOS_NOTA_VALORES CHECK (nota>=0 and nota <=20),
);

Creamos tabla Alumnos

Campo DNI de tipo char tamaño 8

Campo Nombre de tipo varchar tamaño 30

Campo nota de tipo decimal con 4 enteros y 2 decimales

Llave primaria (DNI)

Creamos la restricción de rango Ck_Alumnos_nota_valores donde la subconsulta es que la nota


sea mayor o igual a 0 y menor o igual a -20.

3. /*Ingrese algunos registros:*/

INSERT INTO alumnos VALUES('30111111','Ana Algarbe',15.1);

Insertamos dentro de la tabla alumnos los siguientes valores

(Cadena de caracteres DNI 30111111, cadena de caracteres Nombre Ana Algarbe, cadena de
caracteres Nota 15.1)

INSERT INTO alumnos VALUES('30222222','Bernardo Bustamante',13.2);

Insertamos dentro de la tabla alumnos los siguientes valores

(Cadena de caracteres DNI 30222222, cadena de caracteres Nombre Bernardo Bustamante,


Cadena de caracteres Nota 13.2)

INSERT INTO alumnos VALUES('30333333','Carolina Conte',15.3);

Insertamos dentro de la tabla alumnos los siguientes valores

(Cadena de caracteres DNI 30333333, cadena de caracteres Nombre Carolina Conte, Cadena de
caracteres Nota 15.3)

INSERT INTO alumnos VALUES('30444444','Diana Dominguez',19.2);

Insertamos dentro de la tabla alumnos los siguientes valores

(Cadena de caracteres DNI 30444444, cadena de caracteres Nombre Diana Dominguez, Cadena
de caracteres Nota 19.2)

INSERT INTO alumnos VALUES('30555555','Fabian Fuentes',17.5);


Insertamos dentro de la tabla alumnos los siguientes valores

(Cadena de caracteres DNI 30555555, cadena de caracteres Nombre Fabian Fuentes, Cadena
de caracteres Nota 17.5)

INSERT INTO alumnos VALUES('30666666','Gaston Gonzalez',16.70);

Insertamos dentro de la tabla alumnos los siguientes valores

(Cadena de caracteres DNI 30666666, cadena de caracteres Nombre Gaston Gonzales, Cadena
de caracteres Nota 16.70)

4. /*Obtenga todos los datos de los alumnos con la nota más alta, empleando subconsulta.*/

SELECT alumnos.*

FROM alumnos

WHERE nota=(SELECT MAX(nota) FROM alumnos);

Seleccionamos todos los campos de la tabla alumnos

Donde el campo nota es igual a la subconsulta donde se selecciona la nota máxima de la tabla
alumnos)

5. /*Muestre los alumnos que tienen una nota menor al promedio, su nota, y la diferencia con
el promedio.*/

SELECT alumnos.*,

(SELECT AVG(nota) FROM alumnos)-nota as diferencia

FROM alumnos

WHERE nota<(SELECT avg(nota) FROM alumnos);

Seleccionamos todos los campos de la tabla alumnos

Selecciona la subconsulta que se obtiene del promedio del campo nota y a esto le resto nota y
lo etiqueto con el nombre Diferencia

6. /*Cambie la nota del alumno que tiene la menor nota por 14.*/

UPDATE alumnos SET nota=14

WHERE nota=(SELECT MIN(nota) FROM alumnos);

Se actualiza la tabla alumnos y al campo nota se le coloca el valor de 14, donde la nota sea 14 y
se cambia siempre y cuando la nota sea minima

7. /*Elimine los alumnos cuya nota es menor al promedio.*/

DELETE FROM alumnos

WHERE nota<(SELECT avg(nota) FROM alumnos);


Eliminamos la tabla alumnos, donde la nota sea menor a la subconsulta cuando se selecciona
el promedio de la nota de la tabla alumnos.

C) CREAMOS UNA BASE DE DATOS BODEGA

Eliminamos las tablas si existen:

if object_id('detalles') is not null


drop table detalles;
if object_id('facturas') is not null
drop table facturas;
if object_id('clientes') is not null
drop table clientes;

Si el objeto_id de la tabla detalles no es nulo, eliminamos la tabla detalles,


Si el objeto_id de la tabla facturas no es nulo, eliminamos la tabla facturas,
Si el objeto_id de la tabla clientes no es nulo, eliminamos la tabla clientes,

Las creamos con las siguientes estructuras:

CREATE TABLE clientes

codigo int identity,


nombre varchar(30),
domicilio varchar(30),
primary key(codigo)
);

Creamos la tabla clientes


(campo código de tipo int identity,
campo nombre de tipo varchar de tamaño 30,
campo domicilio de tipo varchar de tamaño 30,
elegimos de llave primaria al campo codigo

CREATE TABLE facturas

(
numero int NOT NULL,
fecha datetime,
codigocliente int NOT NULL,
PRIMARY KEY(numero),
CONSTRAINT FK_facturas_cliente
FOREIGN KEY (codigocliente)
REFERENCES clientes(codigo)
ON UPDATE CASCADE
);

Se crea tabla facturas

(campo numero de tipo int no nulo,


elegimos de llave primaria al campo numero,
elegimos de llave foránea al campo código cliente
y a la relación entre ellas la llamamos facturas_clientes
teniendo de referencia al campo código de la tabla clientes
y se actualiza en cascada

CREATE TABLE detalles


(
numerofactura int not null,
numeroitem int not null,
articulo varchar(30),
precio decimal(5,2),
cantidad int,
primary key(numerofactura,numeroitem),
CONSTRAINT FK_detalles_numerofactura
FOREIGN KEY (numerofactura)
REFERENCES facturas(numero)
ON UPDATE CASCADE
ON DELETE CASCADE,
);

Se crea la tabla detalles

(campo numerofactura de tipo int no nulo,


campo numeroitem de tipo int no nulo,
campo articulo de tipo varchar de tamaño 30,
campo precio de tipo decimal de 5 enteros y 2 decimales,
campo cantidad de tipo int,
seleccionamos dos llaves primarias llamadas numerofactura, numeroitem
seleccionamos a la llave foránea con el nombre numerofactura
y a la relación entre ellas la llamamos detalles_numerofactura
teniendo de referencia al campo numero de la tabla facturas
actualizando en cascada
y eliminando en cascada

Ingresamos algunos registros:

INSERT INTO clientes VALUES ('Juan Lopez','Colon 123');


INSERT INTO clientes VALUES ('Luis Torres','Sucre 987');
INSERT INTO clientes VALUES ('Ana Garcia','Sarmiento 576');

Insertar en la tabla clientes los valores (cadena de caracteres nombre Juan Lopez, cadena de
caracteres dirección Colon 123)
Insertar en la tabla clientes los valores (cadena de caracteres nombre Luis Torres, cadena de
caracteres dirección Sucre 987)
Insertar en la tabla clientes los valores (cadena de caracteres nombre Ana Garcia, cadena de
caracteres dirección Sarmiento 576)

INSERT INTO facturas VALUES (1200,'2007-01-15',1);


INSERT INTO facturas VALUES (1201,'2007-01-15',2);
INSERT INTO facturas VALUES (1202,'2007-01-15',3);
INSERT INTO facturas VALUES (1300,'2007-01-20',1);

Insertar en la tabla facturas los valores (cadena de caracteres numero 1200, cadena de
caracteres fecha 2007-01-15, cadena de caracteres codigo1 )
Insertar en la tabla facturas los valores (cadena de caracteres numero 1201, cadena de
caracteres fecha 2007-01-15, cadena de caracteres código 2)
Insertar en la tabla facturas los valores (cadena de caracteres numero 1202, cadena de
caracteres fecha 2007-01-15, cadena de caracteres código 3)
Insertar en la tabla facturas los valores (cadena de caracteres numero 1300, cadena de
caracteres fecha 2007-01-20, cadena de caracteres codigo1 )
INSERT INTO detalles VALUES (1200,1,'lapiz',1,100);
INSERT INTO detalles VALUES (1200,2,'goma',0.5,150);
INSERT INTO detalles VALUES (1201,1,'regla',1.5,80);
INSERT INTO detalles VALUES (1201,2,'goma',0.5,200);
INSERT INTO detalles VALUES (1201,3,'cuaderno',4,90);
INSERT INTO detalles VALUES (1202,1,'lapiz',1,200);
INSERT INTO detalles VALUES (1202,2,'escuadra',2,100);
INSERT INTO detalles VALUES (1300,1,'lapiz',1,300);

Insertar en la tabla facturas los valores (cadena de caracteres numero 1200, cadena de
caracteres código 1, cadena de caracteres articulo lápiz, cadena de caracteres precio 1, cadena
de caracteres cantidad 100)
Insertar en la tabla facturas los valores (cadena de caracteres numero 1200, cadena de
caracteres código 2, cadena de caracteres articulo goma, cadena de caracteres precio 0.5,
cadena de caracteres cantidad 150)
Insertar en la tabla facturas los valores (cadena de caracteres numero 1201, cadena de
caracteres código 1, cadena de caracteres articulo regla, cadena de caracteres precio 1.5,
cadena de caracteres cantidad 80)
Insertar en la tabla facturas los valores (cadena de caracteres numero 1201, cadena de
caracteres código 2, cadena de caracteres articulo goma, cadena de caracteres precio 0.5,
cadena de caracteres cantidad 200)
Insertar en la tabla facturas los valores (cadena de caracteres numero 1201, cadena de
caracteres código 3, cadena de caracteres articulo cuaderno, cadena de caracteres precio 4,
cadena de caracteres cantidad 90)
Insertar en la tabla facturas los valores (cadena de caracteres numero 1202, cadena de
caracteres código 1, cadena de caracteres articulo lápiz, cadena de caracteres precio 1, cadena
de caracteres cantidad 200)
Insertar en la tabla facturas los valores (cadena de caracteres numero 1200, cadena de
caracteres código 2, cadena de caracteres articulo escuadra, cadena de caracteres precio 2,
cadena de caracteres cantidad 100)
Insertar en la tabla facturas los valores (cadena de caracteres numero 1300, cadena de
caracteres código 1, cadena de caracteres articulo lápiz, cadena de caracteres precio 1, cadena
de caracteres cantidad 300)

Vamos a realizar un "select" para recuperar el número de factura, el código de cliente, la fecha
y la suma total de todas las facturas:

SELECT f.*,(SELECT SUM(d.precio*cantidad)


FROM detalles AS d
WHERE f.numero=d.numerofactura) as total
FROM facturas AS f;

Seleccionamos todos los campos de la tabla f seleccionamos la suma del producto de precio de
la tabla detalles y la cantidad, donde numero de la tabla facturas es igual al numerofactura de
la tabla detalles y a todo esto lo etiquetamos con el nombre total.
Esta consulta contiene una subconsulta correlacionada.

Ahora utilizaremos el resultado de la consulta anterior como una tabla derivada que
emplearemos en lugar de una tabla para realizar un "join" y recuperar el número de factura, el
nombre del cliente y el monto total por factura:

SELECT td.numero,c.nombre,td.total
FROM clientes as c
JOIN (select f.*,(SELECT sum(d.precio*cantidad)
FROM detalles as d
WHERE f.numero=d.numerofactura) AS total
From facturas as f) AS td
ON td.codigocliente=c.codigo;

Seleccionamos numero de la tabla

D) CREAR UNA BASE DE DATOS LIBRERÍA

Trabajamos con las tablas "libros" y "editoriales" de una librería. Eliminamos las tablas si
existen y las creamos:

if object_id('libros') is not null


drop table libros;

Si el objeto id de la tabla libros es no nulo, eliminamos la tabla libros.

if object_id('editoriales') is not null


drop table editoriales;

Si el objeto_id de la tabla editoriales es no nulo, eliminamos la tabla editoriales


CREATE TABLE editoriales
(
codigo tinyint identity,
nombre varchar(30),
PRIMARY KEY (codigo)
);

Creamos la tabla editoriales

(campo código de tipo tinyint identity,

Campo nombre de tipo varchar de tamaño 30

Elegimos el campo código como llave primaria)

CREATE TABLE libros


(
codigo int identity,
titulo varchar(40),
autor varchar(30),
codigoeditorial tinyint,
precio decimal(5,2),
PRIMARY KEY(codigo)
);

Creamos la tabla libros

(campo código de tipo int identity,

Campo titulo de tipo varchar de tamaño 40,

Campo autor de tipo varchar de tamaño 30

Campo códigoeditorial de tipo tinyint

Campo precio de tipo decimal con 5 enteros y 2 decimales

Elegimos de llave primaria al campo código)

Ingresamos algunos registros:


INSERT INTO editoriales VALUES('Planeta');

Insertamos en la tabla los siguientes valores, (cadena de caracteres editorial Planeta)

INSERT INTO editoriales VALUES('Emece');

Insertamos en la tabla editoriales los siguientes valores, (cadena de caracteres editorial EMECE

INSERT INTO editoriales VALUES('Paidos');

Insertamos en la tabla editoriales los siguientes valores, (cadena de caracteres editorial


PAIDOS)
INSERT INTO editoriales VALUES('Siglo XXI');

Insertamos en la tabla editoriales los siguientes valores,(cadena de caracteres editorial Siglo


XXI)

INSERT INTO libros VALUES('Uno','Richard Bach',1,15);

Insertamos dentro de la tabla Libros los siguientes valores, (cadena de caracteres titulo Uno,
cadena de caracteres autor Richard Bach, cadena de caracteres codigoeditorial 1, cadena de
caracteres precio 15)

INSERT INTO libros VALUES('Ilusiones','Richard Bach',2,20);

Insertamos dentro de la tabla Libros los siguientes valores, (cadena de caracteres titulo
Ilusiones, cadena de caracteres autor Richard Bach, cadena de caracteres codigoeditorial 2,
cadena de caracteres precio 20)

INSERT INTO libros VALUES('El aleph','Borges',3,10);


Insertamos dentro de la tabla Libros los siguientes valores, (cadena de caracteres titulo El
Aleph, cadena de caracteres autor Borges, cadena de caracteres codigoeditorial 3, cadena de
caracteres precio 10)

INSERT INTO libros VALUES('Aprenda PHP','Mario Molina',4,40);

Insertamos dentro de la tabla Libros los siguientes valores, (cadena de caracteres titulo
Aprenda PHP, cadena de caracteres autor Mario Molina, cadena de caracteres codigoeditorial
4, cadena de caracteres precio 40)

INSERT INTO libros VALUES('Poemas','Juan Perez',1,20);

Insertamos dentro de la tabla Libros los siguientes valores, (cadena de caracteres titulo
Poemas, cadena de caracteres autor Juan Perez, cadena de caracteres codigoeditorial 1, cadena
de caracteres precio 20)

INSERT INTO libros VALUES('Cuentos','Juan Perez',3,25);

Insertamos dentro de la tabla Libros los siguientes valores, (cadena de caracteres titulo
Cuentos, cadena de caracteres autor Juan Perez, cadena de caracteres codigoeditorial 3,
cadena de caracteres precio 25)

INSERT INTO libros VALUES('Java en 10 minutos','Marcelo Perez',2,30);


Insertamos dentro de la tabla Libros los siguientes valores, (cadena de caracteres titulo Java en
10 minutos, cadena de caracteres autor Marcelo Perez, cadena de caracteres codigoeditorial 2,
cadena de caracteres precio 30)

Actualizamos el precio de todos los libros de editorial "Emece" incrementándolos en un 10%:

UPDATE libros set precio=precio+(precio*0.1)


WHERE codigoeditorial=
(
SELECT codigo
FROM editoriales
WHERE nombre='Emece'
);

Actualizamos la tabla libros en el campo precio el cual es igual al precio mas el precio por el
10%

Donde código editorial es igual a la subconsulta(seleccionamos el código de la tabla editorial


donde el nombre es igual a EMECE.

Eliminamos todos los libros de las editoriales que tienen publicados libros de "Juan Perez":

DELETE FROM libros


WHERE codigoeditorial IN
(
SELECT e.codigo
FROM editoriales as e
JOIN libros
ON codigoeditorial=e.codigo
WHERE autor='Juan Perez'
);

Eliminamos de la tabla libros

Donde en el código editorial se selecciona código de la tabla editorial

E) CREAR UNA BASE DE DATOS CLUB

1. Elimine las tablas si existen:

if object_id('inscriptos') is not null


drop table inscriptos;
if object_id('socios') is not null
drop table socios;
Si el objeto_id de la tabla inscriptos no es nulo
eliminamos la tabla inscriptos
si el objeto id de la tabla socios no es nulo
eliminamos la tabla socios

2. Cree las tablas:

CREATE TABLE socios

(
numero int identity,
documento char(8),
nombre varchar(30),
domicilio varchar(30),
primary key (numero)
);

Se crea la tabla socios


(el campo numero de tipo int identity,
el campo documento de tipo char de tamaño 8,
el campo nombre de tipo varchar de tamaño 30,
el campo domicilio de tipo varchar de tamaño 30,
seleccionamos como llave primaria al campo numero

CREATE TABLE inscriptos


(
numerosocio int not null,
deporte varchar(20) not null,
matricula char(1),-- 'n' o 's'
PRIMARY KEY(numerosocio,deporte),
CONSTRAINT FK_inscriptos_socio
FOREIGN KEY (numerosocio)
REFERENCES socios(numero)
);

Se crea la tabla inscriptos


(el campo numerosocio de tipo int no nulo,
el campo deporte de tipo varchar de tamaño 20 no nulo,
el campo matrícula de tipo char de tamaño 1,
seleccionamos el campo numerosocio, deporte como llave primaria
seleccionamos el campo numerosocio como llave foránea
a la relación de estas la llamamos inscriptos_socio
haciendo referencia al campo numero de la tabla socios

3. Ingrese algunos registros:


INSERT INTO socios VALUES('23333333','Alberto Paredes','Colon 111');
INSERT INTO socios VALUES('24444444','Carlos Conte','Sarmiento 755');
INSERT INTO socios VALUES('25555555','Fabian Fuentes','Caseros 987');
INSERT INTO socios VALUES('26666666','Hector Lopez','Sucre 344');

Se inserta en la tabla socios los siguientes valores (cadena de caracteres numero 23333333,
cadena de caracteres nombre Alberto Paredes, cadena de caracteres dirección Colon 111)
Se inserta en la tabla socios los siguientes valores (cadena de caracteres numero 24444444,
cadena de caracteres nombre Carlos Conte, cadena de caracteres dirección Sarmiento 755)
Se inserta en la tabla socios los siguientes valores (cadena de caracteres numero 25555555,
cadena de caracteres nombre Fabian Fuentes, cadena de caracteres dirección Caseros 987)
Se inserta en la tabla socios los siguientes valores (cadena de caracteres numero 26666666,
cadena de caracteres nombre Hector Lopez, cadena de caracteres dirección Sucre 344)

INSERT INTO inscriptos VALUES(1,'tenis','s');


INSERT INTO inscriptos VALUES(1,'basquet','s');
INSERT INTO inscriptos VALUES(1,'natacion','s');
INSERT INTO inscriptos VALUES(2,'tenis','s');
INSERT INTO inscriptos VALUES(2,'natacion','s');
INSERT INTO inscriptos VALUES(2,'basquet','n');
INSERT INTO inscriptos VALUES(2,'futbol','n');
INSERT INTO inscriptos VALUES(3,'tenis','s');
INSERT INTO inscriptos VALUES(3,'basquet','s');
INSERT INTO inscriptos VALUES(3,'natacion','n');
INSERT INTO inscriptos VALUES(4,'basquet','n');

Insertar en la tabla inscriptos los siguientes valores (cadena de caracteres)


Insertar en la tabla inscriptos los siguientes valores (cadena de caracteres)
Insertar en la tabla inscriptos los siguientes valores (cadena de caracteres)
Insertar en la tabla inscriptos los siguientes valores (cadena de caracteres)
Insertar en la tabla inscriptos los siguientes valores (cadena de caracteres)
Insertar en la tabla inscriptos los siguientes valores (cadena de caracteres)
Insertar en la tabla inscriptos los siguientes valores (cadena de caracteres)
Insertar en la tabla inscriptos los siguientes valores (cadena de caracteres)
Insertar en la tabla inscriptos los siguientes valores (cadena de caracteres)
Insertar en la tabla inscriptos los siguientes valores (cadena de caracteres)
Insertar en la tabla inscriptos los siguientes valores (cadena de caracteres)
4. Actualizamos la cuota ('s') de todas las inscripciones de un socio determinado (por
documento) empleando subconsulta.

UPDATE inscriptos set matricula='s'


WHERE numerosocio=
(
SELECT numero
FROM socios
WHERE documento='25555555'
);

Actualizamos la tabla inscriptos con matricula s


donde el campo numerosocio es igual
(seleccionar el campo numero
de la tabla socios
donde el documento es igual a 25555555)

5. Elimine todas las inscripciones de los socios que deben alguna matrícula.

DELETE FROM inscriptos


WHERE numerosocio in
(
SELECT numero
FROM socios as s
JOIN inscriptos
ON numerosocio=numero
WHERE matricula='n'
);

Eliminamos la tabla inscriptos


donde en el campo numerosocio
(seleccionamos el campo numero
de la tabla socios y lo etiquetamos con el nombre s
F) CREAR UNA BASE DE DATOS COLEGIO

Un profesor almacena las notas de sus alumnos en una tabla llamada alumnos" (documento,
nombre, nota). Tiene otra tabla llamada "aprobados" (documento,nota) en la que guarda los
alumnos que han aprobado el ciclo.

Eliminamos las tablas si existen:

if object_id('alumnos') is not null

drop table alumnos;

Si el objeto ID de la tabla alumnos es no nulo

Eliminamos la tabla alumnos

if object_id('aprobados') is not null

drop table aprobados;

Si el objeto id de la tabla aprobados es no nulo

Eliminamos la tabla aprobados

Creamos las tablas:

CREATE TABLE alumnos

documento char(8) not null,

nombre varchar(30),
nota decimal(4,2)

constraint CK_alumnos_nota_valores check (nota>=0 and nota <=10),

primary key(documento), );

Creamos la tabla alumnos

(Campo documento tipo de dato char de tamaño 8 es no nulo,

Campo nombre de tipo varchar de tamaño 30

Campo nota de tipo decimal con 4enteros y 2 decimales

Tenemos la restricción de rango en alumnos nota valores que nos dice si la nota es mayor o
igual a 0 y menor o igual a 10

Elegimos el campo documento como la llave primaria)

CREATE TABLE aprobados

documento char(8) not null,

nota decimal(4,2)

constraint CK_aprobados_nota_valores check (nota>=0 and nota <=10),

primary key(documento), );

Creamos la tabla aprobados

(campo documento de tipo char de tamaño 8 es no nulo

Campo nota de tipo decimal con 4 enteros y 2 decimales

Tenemos la restricción en aprobados nota valores de rango donde la nota es mayor o igual a 0 y
menor o igual a 10

Elegimos como llave primaria al campo documento)

Ingresamos registros en "alumnos":

INSERT INTO alumnos VALUES('30000000','Ana Acosta',8);

Insertamos dentro de la tabla alumno los siguientes valores, (cadena de caracteres documento
30000000, cadena de caracteres nombre Ana Costa, cadena de caracteres nota 8)

INSERT INTO alumnos VALUES('30111111','Betina Bustos',9);

Insertamos dentro de la tabla alumno los siguientes valores, (cadena de caracteres documento
30111111, cadena de caracteres nombre Betina Bustos, cadena de caracteres nota 9)

INSERT INTO alumnos VALUES('30222222','Carlos Caseros',2.5);


Insertamos dentro de la tabla alumno los siguientes valores, (cadena de caracteres documento
30222222, cadena de caracteres nombre Carlos Caseros, cadena de caracteres nota 2.5)

INSERT INTO alumnos VALUES('30333333','Daniel Duarte',7.7);

Insertamos dentro de la tabla alumno los siguientes valores, (cadena de caracteres documento
30333333, cadena de caracteres nombre Daniel Duarte, cadena de caracteres nota 7.7)

INSERT INTO alumnos VALUES('30444444','Estela Esper',3.4);

Insertamos dentro de la tabla alumno los siguientes valores, (cadena de caracteres documento
30444444, cadena de caracteres nombre Estela Esper, cadena de caracteres nota 3.4)

Ingresamos registros en la tabla "aprobados" seleccionando registros de la tabla "alumnos":


INSERT INTO aprobados

SELECT documento,nota

FROM alumnos

WHERE nota>=4;

Insertamos dentro de la tabla aprobados

Seleccionando el campo documento, el campo nota de la tabla alumnos

Donde la nota es mayor o igual a 4

Note que no se listan los campos en los cuales se cargan los datos porque tienen el mismo
nombre que los de la tabla de la cual extraemos la información. Veamos si los registros se han
cargado:

SELECT * FROM aprobados;

Seleccionamos todos los elementos de la tabla aprobados.

Potrebbero piacerti anche