O GoConqr está de visual novo! Conte para nós o que você achou.

Notas

PRACTICA SQL PRACTICO 6

Cristian Montoya Inglês 11 páginas

Conteúdo das notas (11)

Página 1

BASE DE DATOS 2 INF166-I8

PRACTICO 6 MYSQL

CRISTIAN MONTOYA PUTARE

R.-212105434

1. Usando SQL crear la base de datos bdclub.

CREATE DATABASE bdclub;

2. Usando SQL crear la base de datos practico2 usando la opción si no existe.

CREATE DATABASE if NOT exists practico2;

Página 2

3. Usando SQL crear la base de datos practico3 usando la opción si no existe

CREATE DATABASE if NOT exists practico3;

4. Usando SQL crear la base de datos practico4

CREATE DATABASE practico4;

5. Usando SQL borrar la base de datos practico2.

DROP DATABASE practico2;

6. Usando SQL mostrar la fecha y hora actual del sistema

select NOW();

Página 3

7. Usando SQL calcular la expresión 10 * 500 – (34 – 3 * 2) / 3 y mostrar el año actual tomado de la fecha actual del sistema

SELECT 10 * 500 - (34 - 3 * 2) / 3;

SELECT YEAR(NOW());

SELECT CONCAT((10 * 500 - (34 - 3 * 2) / 3)," ",YEAR(NOW()));

8. Usando SQL mostrar el usuario actual y la base de datos activa

select CURRENT_USER();

SELECT LEFT(CURRENT_USER(), INSTR(CURRENT_USER(), '@') - 1);

9. Usando SQL en la base de datos bdclub crear las siguientes tablas con los tipos de datos especificados y con las restricciones que se especifican. Elija los tipos de datos adecuados para cada campo.

CREATE TABLE socio(

COD_SOC INT(5)UNSIGNED NOT NULL PRIMARY KEY ,

NOMBRE VARCHAR(60) NOT NULL,

FECHA_NAC DATE NULL,

PRIMA DOUBLE(8,2)UNSIGNED NOT NULL ,

ESTADO ENUM('activo','inactivo')NOT NULL

);

CREATE TABLE email(

COD_SOC INT(5)UNSIGNED NOT NULL ,

NRO INT(3)UNSIGNED NOT NULL ,

CUENTA VARCHAR(100) NOT NULL,

ESTADO VARCHAR(1) NOT NULL ,

PRIMARY KEY (COD_SOC, NRO) ,

FOREIGN KEY (COD_SOC) REFERENCES socio(COD_SOC)

);

CREATE TABLE telf_soc(

TELEFONO VARCHAR(15) NOT NULL ,

COD_SOC INT(5)UNSIGNED NOT NULL ,

TIPO VARCHAR(1) NOT NULL,

PRIMARY KEY (TELEFONO, COD_SOC) ,

FOREIGN KEY (COD_SOC) REFERENCES socio(COD_SOC)

Página 4

10. Usando SQL agregar a la tabla socio el campo Sexo el cual solo debe aceptar Masculino o Femenino. El campo debe agregarse después del campo nombre

ALTER TABLE socio

ADD COLUMN SEXO ENUM('masculino','femenino')NOT NULL AFTER NOMBRE ;

11. Usando SQL agregar a la tabla socio el campo trato que solo acepte los valores Preferencia o Normal.

ALTER TABLE socio

ADD COLUMN TRATO ENUM('prefencia','normal')NOT NULL ;

12. Usando SQL crear un índice para la tabla socio que incluya el campo nombre

CREATE INDEX NOMBRE_SOCIO ON socio (NOMBRE);

Página 5

13. Usando SQL eliminar el campo estado de la tabla socio.

ALTER TABLE socio DROP ESTADO;

14. Usando SQL insertar 5 registros en la tabla socio

/*INSERT INTO socio(COD_SOC,NOMBRE,SEXO,FECHA_NAC,PRIMA,TRATO) VALUES

(1,'mateo','masculino','2015-05-14',158, 'normal'),

(2,'ana','femenino','2005-05-23',300, 'prefencia'),

(3,'mateo','masculino','2015-05-14',158, 'normal'),

(4,'ana','femenino','2005-05-23',300, 'prefencia'),

(5,'laura','femenino','1999-01-23',100, 'normal');

15. Usando SQL insertar 10 registros en la tabla telf_socio

INSERT INTO telf_soc(TELEFONO,COD_SOC,TIPO) VALUES

('123-1',1,'d'),

('123-2',2,'t'),

('123-3',3, 'o'),

('123-4',4, 'd'),

('123-5',5, 't'),

('123-6',4, 't'),

('123-7',2, 'd'),

('123-8',1, 'd'),

('123-9',2, 'o'),

('123-10',2,'o');

Página 6

16. Usando SQL inserte al menos un email para cada socio insertado en el punto 11

INSERT INTO email(COD_SOC,NRO,CUENTA,ESTADO) VALUES

(1,1,'correo1@cmp.bo','a'),

(2,2,'correo2@cmp.bo','a'),

(3,3,'correo3@cmp.bo','a'),

(4,4,'correo4@cmp.bo','a'),

(5,5,'correo5@cmp.bo','a');

17. Usando SQL crear una vista sobre la tabla socio que solo visualice los campos nombre y fecha_nac de los contactos de sexo femenino.

CREATE VIEW

vista_socio AS

SELECT NOMBRE, FECHA_NAC FROM socio WHERE sexo = 'femenino';

Página 7

18. Usando SQL mostrar todos los correos del socio con código 5

SELECT * FROM email WHERE COD_SOC = 5 ;

19. Usando SQL elimine los correos de los socios que tienen código entre el 500 y 750

DELETE FROM email WHERE COD_SOC BETWEEN 500 AND 750;

20. Usando SQL muestre todos los registros de los socios que nacieron el año 2000 o el 2003

SELECT * FROM socio WHERE YEAR(FECHA_NAC) = 2000 OR YEAR(FECHA_NAC) = 2003;

Página 8

21. Usando SQL agregar un campo comentario a la tabla socio que sea un campo que acepte nulo y que permita ingresar un texto de máximo 500 caracteres.

ALTER TABLE socio ADD COLUMN COMENTARIO VARCHAR(500) NULL;

22. Como haría para listar las bases de datos en su servidor

SHOW DATABASES;

23. Como haría para listar las tablas en su base de datos bdclub

USE information_schema;

SELECT TABLE_NAME FROM information_schema.tables

WHERE TABLE_SCHEMA='bdclub' AND table_type='base table';*/

Página 9

24. Como haría para listar los campos de su tabla socio.

USE information_schema;

SELECT COLUMN_NAME FROM COLUMNS

WHERE TABLE_SCHEMA = 'bdclub' AND TABLE_NAME = 'socio';

25. Usando SQL mostrar el nombre, fecha_nac y prima de los socios varones. El resultado que salga ordenado por nombre enforma descendente

SELECT NOMBRE, FECHA_NAC, PRIMA

FROM socio WHERE sexo = 'masculino'

ORDER BY NOMBRE DESC;

Página 10

26. Usando SQL mostrar el nombre, fecha_nac y prima de los socios varones.El resultado que salga ordenado por nombre en forma descendente y limite el resultado a los primeros 5 registros

SELECT NOMBRE, FECHA_NAC, PRIMA

FROM socio WHERE sexo = 'masculino'

ORDER BY NOMBRE DESC LIMIT 0, 5;

27. Usando SQL crear un índice sin repetidos sobre el campo cuenta de la tabla email

CREATE UNIQUE INDEX EMAIL_UNICO ON email (CUENTA);

28. Usando SQL eliminar el índice creado en el punto 9

drop INDEX NOMBRE_SOCIO ON socio;

Página 11

29. Usando SQL eliminar la tabla email

DROP table email;

30. Usando SQL eliminar la base de datos practica1

DROP DATABASE practica1;

31. Crear la base de datos bdaerolinea y dentro crear con sql las tablas

#que mapeo en el ejercicio 1 de la tarea 4

#CREATE DATABASE bdaerolinea;

#USE bdaerolinea;

/*

CREATE TABLE Aeropuerto(

Cod_Aeropuerto smallint NOT NULL ,

Ciudad VARCHAR(30) NOT NULL ,

Provincia VARCHAR(30) NOT NULL,

Nombre VARCHAR(30) NOT NULL ,

PRIMARY KEY (Cod_Aeropuerto)

);*/

/*

CREATE TABLE Plan_Vuelo_Llegada(

Num_Plan_LLegada smallint NOT NULL ,

Cod_Aeropuerto smallint NOT NULL ,

Hora_Llegada_Prog datetime NOT NULL,

PRIMARY KEY (Num_Plan_LLegada) ,

FOREIGN KEY (Cod_Aeropuerto) REFERENCES Aeropuerto(Cod_Aeropuerto)

);*/

/*

CREATE TABLE Plan_Vuelo_Salida(

Num_Plan_Salida smallint NOT NULL ,

Cod_Aeropuerto smallint NOT NULL ,

Hora_Salida_Prog datetime NOT NULL,

PRIMARY KEY (Num_Plan_Salida) ,

FOREIGN KEY (Cod_Aeropuerto) REFERENCES Aeropuerto(Cod_Aeropuerto)

);*/

/*

CREATE TABLE Tipo_Avion(

Nombre_tipo VARCHAR(30) NOT NULL ,

Compania VARCHAR(30) NOT NULL ,

Max_Asientos smallint NOT NULL,

PRIMARY KEY (Nombre_tipo)

);*/

/*

CREATE TABLE Puede_Aterrizar(

Cod_Aeropuerto smallint NOT NULL ,

Nombre_tipo VARCHAR(30) NOT NULL ,

FOREIGN KEY (Cod_Aeropuerto) REFERENCES Aeropuerto(Cod_Aeropuerto),

FOREIGN KEY (Nombre_tipo) REFERENCES Tipo_Avion(Nombre_tipo)

);*/

/*

CREATE TABLE Avion(

Id_Avion CHAR(20) NOT NULL ,

Num_Total_Asientos smallint NOT NULL ,

Nombre_tipo VARCHAR(30) NOT NULL,

PRIMARY KEY (Id_Avion) ,

FOREIGN KEY (Nombre_tipo) REFERENCES Tipo_Avion(Nombre_tipo)

);*/

/*

CREATE TABLE Vuelo(

Numero smallint NOT NULL ,

Aerolinea VARCHAR(30) NOT NULL ,

Dias_Sem DATE NOT NULL,

PRIMARY KEY (Numero)

);*/

/*

CREATE TABLE Plan_Vuelo(

Numero smallint NOT NULL ,

Num_Plan smallint NOT NULL ,

PRIMARY KEY (Numero,Num_Plan)

);*/

/*

CREATE TABLE Tarifa(

Numero smallint NOT NULL ,

Codigo smallint NOT NULL ,

Cantidad DECIMAL(9,2) NOT NULL,

Restricciones VARCHAR(30) NULL,

PRIMARY KEY (Numero,Codigo)

);*/

/*

CREATE TABLE Instancia_Plan(

Num_Plan smallint NOT NULL ,

Fecha date NOT NULL ,

Num_plazas_disp smallint NOT NULL ,

PRIMARY KEY (Num_Plan)

);*/

/*

CREATE TABLE Asignado(

Id_Avion CHAR(20) NOT NULL ,

Fecha date NOT NULL ,

PRIMARY KEY (Id_Avion)

);*/

/*

CREATE TABLE Instancia_plan_llegada(

Id_Plan_Llegada smallint NOT NULL ,

Fecha_llegada date NOT NULL ,

Cod_Aeropuerto smallint NOT NULL ,

Num_plazas_disp smallint NOT NULL ,

Hora_llegada datetime NOT NULL ,

PRIMARY KEY (Id_Plan_Llegada) ,

FOREIGN KEY (Cod_Aeropuerto) REFERENCES Aeropuerto(Cod_Aeropuerto)

);

*/

/*

CREATE TABLE Instancia_plan_Salida(

Id_Instancia_Plan_Salida smallint NOT NULL ,

Fecha_Salida date NOT NULL ,

Cod_Aeropuerto smallint NOT NULL ,

Num_plazas_disp smallint NOT NULL ,

Hora_Salida datetime NOT NULL ,

PRIMARY KEY (Id_Instancia_Plan_Salida) ,

FOREIGN KEY (Cod_Aeropuerto) REFERENCES Aeropuerto(Cod_Aeropuerto)

);

*/

/*

CREATE TABLE Plaza(

Id_Plaza smallint NOT NULL ,

Fecha date NOT NULL ,

Num_plaza smallint NOT NULL ,

Nombre_Cliente VARCHAR(30) NOT NULL ,

Tlfc smallint NOT NULL ,

PRIMARY KEY (Id_Plaza, Num_plaza)

);

Informações

Descrição
Notas sobre PRACTICA SQL PRACTICO 6, criado por Cristian Montoya em 13-10-2020.
Visualizações
5
Avaliação

Fale Conosco

Sobre o que é sua mensagem?

O que você acha do novo visual?

Você gostou?