Notas
PRACTICA SQL PRACTICO 6
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.
- Criado por
- Cristian Montoya
- Visualizações
- 5
- Avaliação