Beruflich Dokumente
Kultur Dokumente
Facultad de Ingeniería
Escuela de Ingeniería de Sistemas y Computación
Bases de Datos I
Pregunta #1
Pregunta #2
Pregunta #4
SELECT *
FROM ESTUDIANTE;
Pregunta #6
SELECT *
FROM PRESTAMO;
Pregunta #7
SELECT *
FROM MULTAS;
Pregunta #8
No olvide crear las llaves primarias para cada tabla !!... Como se hace?
R// Para crear una llave primaria se debe escribir “PRIMARY KEY” al lado del atributo que
funcionará como llave primaria.
Trabajo 2
Pregunta #9
SELECT *
FROM TITULO;
Pregunta #10
SELECT *
FROM EDITOR;
Pregunta #11
SELECT *
FROM AUTOR;
Pregunta #12
SELECT *
FROM COPIA;
Pregunta #13
SELECT *
FROM ESTUDIANTE;
Pregunta #14
SELECT *
FROM PRESTAMO;
Pregunta #15
SELECT *
FROM MULTAS;
Pregunta #16
Al escribir la instrucción:
SELECT *
FROM information_schema.columns
WHERE table_name = 'asignacion';
R// Esta vista me devuelve una fila para cada columna a la que puedo acceder como usuario
a la base de datos actual. Esto me permite obtener información sobre todas las columnas
para todas la tablas y vistas dentro de la base de datos.
Pregunta #17
Trate de insertar la siguiente tupla en la tabla TITULO:
R// Se debe a que estoy ingresando una tupla con los mismo datos que ya se habían
ingresado anteriormente, exceptuando el atributo annoTit que cambia a 2005, pero por lo
tanto duplicando el atributo de la llave primaria que es codigoTit = 'L04'; ya que existe un
atributo con el mismo nombre como llave primaria el programa muestra una restricción de
llave duplicada.
Trabajo 3
Pregunta #18
SELECT *
FROM EDITOR;
Pregunta #19
SELECT *
FROM AUTOR;
Pregunta #20
SELECT *
FROM TITULO
WHERE autorTit = 'Ruben Males';
Pregunta #22
SELECT *
FROM COPIA
WHERE fechaAdquisicion > '2015-04-01';
Pregunta #23
SELECT nombreTit
FROM TITULO, COPIA
WHERE TITULO.codigoTit = COPIA.codigoTit AND fechaAdquisicion > '2015-04-01';
Pregunta #24
SELECT nombreEst
FROM ESTUDIANTE, MULTAS
WHERE ESTUDIANTE.codigoEst = MULTAS.codigoEst;
Trabajo 3
Pregunta #25
UPDATE EDITOR
SET nombreEditor = 'Nueva Editorial'
WHERE codEditorial = 'E3';
Pregunta #26
UPDATE AUTOR
SET paisAutor = 'Mexico'
WHERE nombreAutor = 'AT4';
Pregunta #27
Pregunta #29
Realice una consulta con cada una de las funciones agregadas de SQL:
-Consultar el codigo, nombre y autor del titulo más reciente de la tabla TITULO.
SELECT *
FROM MULTAS
WHERE valorMulta=(SELECT MIN (valorMulta)
FROM MULTAS);
Trabajo 5
Pregunta #30
SELECT nombreTit
FROM TITULO
WHERE codEditorial IN
(SELECT codEditorial
FROM EDITOR
WHERE sedeEditor='Cali');
Pregunta #31
SELECT nombreTit
FROM Titulo
WHERE codigoTit IN
(SELECT codigoTit
FROM COPIA
WHERE costoVolumen >
(
SELECT AVG(costoVolumen)
FROM COPIA));
Pregunta #32
SELECT *
FROM ESTUDIANTE
WHERE PlanEstudio='Ing. Civil' AND NOT EXISTS
(SELECT *
FROM TITULO
WHERE autorTit='AT1' AND NOT EXISTS
(SELECT *
FROM PRESTAMO
WHERE
TITULO.codigoTit=PRESTAMO.codigoTit AND
ESTUDIANTE.codigoEst=PRESTAMO.codigoEst));
Pregunta #33
SELECT nombreTit
FROM TITULO NATURAL JOIN EDITOR
WHERE sedeEditor='Cali';
-Segunda Consulta sin subconsulta
Trabajo 6
Vistas
-Consultar la información de vistaEstudiante de los estudiantes cuyo plan de estudio sea Ing.
Civil.
SELECT *
FROM vistaEstudiante
WHERE planEstudio='Ing. Civil';
Pregunta #34
SELECT *
FROM TituloAutor;
Pregunta #35
SELECT *
FROM VistaEstudiante;
Problema del Curso: Harinera UV
Pregunta #36
SELECT *
FROM Almacen;
CREATE TABLE Producto(
idProducto int PRIMARY KEY,
nombrePr varchar (30),
materialUtilizado varchar (30)
);
SELECT *
FROM Producto;
CREATE TABLE Jefe(
codJefe int PRIMARY KEY,
nomJefe varchar(30),
edad int
);
SELECT *
FROM Jefe;
SELECT *
FROM Planta;
CREATE TABLE Empleado(
codEmp int PRIMARY KEY,
cargo varchar(30),
turno varchar(10),
codPlant int REFERENCES Planta(codPlanta),
nombreE varchar(30)
);
SELECT *
FROM Empleado;
CREATE TABLE Materia_prima(
idMateria int PRIMARY KEY,
tipo varchar (30),
cantidadKg int
);
SELECT *
FROM Materia_prima;
SELECT *
FROM Procesamiento;
CREATE TABLE Empaque(
idEmpaque int PRIMARY KEY,
material varchar (30),
cantidadUnidad int,
idPlanta int REFERENCES Planta (codPlanta)
);
SELECT *
FROM Empaque;
CREATE TABLE Maquina (
idMaquina int PRIMARY KEY,
nombreM varchar (30),
estado varchar (30),
idPlanta int REFERENCES Planta(codPlanta)
);
SELECT *
FROM Maquina;
CREATE TABLE Mantenimiento(
idMantenimiento int PRIMARY KEY,
tipoM varchar(30),
codEmp int REFERENCES Empleado(codEmp),
fecha date,
hora varchar (30),
coste int,
TiempoDetenida varchar (30),
idMaquina int REFERENCES Maquina(idMaquina)
);
SELECT *
FROM Mantenimiento;
--Insertando datos a las tablas
Pregunta #37
SELECT table_name
FROM information_schema.tables
WHERE table_name='almacen'OR table_name='empaque'
OR table_name='empleado'OR table_name='jefe'
OR table_name='mantenimiento' OR table_name='maquina'
OR table_name='materia_prima' OR table_name='planta'
OR table_name='procesamiento' OR table_name='producto';
Pregunta #38
SELECT *
FROM EMPLEADO
WHERE nombreE='Sandra Buitron'
--Valor antiguo:
--Valor después del update:
UPDATE Empleado
set turno='nocturo'
WHERE nombreE='Sandra Buitron';
SELECT *
FROM Empleado
WHERE nombreE= 'Sandra Buitron';
Pregunta #39
SELECT *
FROM Empleado;
--Valor antiguo:
DELETE FROM Empleado
WHERE nombreE='Felipe Gomez';
SELECT *
FROM Empleado;
--Nuevo valor:
Pregunta #40
Responder a una consulta simple para cada una de las tablas creadas inicialmente en el
punto 36:
SELECT nombreE
FROM Empleado;
SELECT nomJefe,edad
FROM Jefe;
3) Mostrar el estado de las máquinas con su código.
SELECT estado,idMaquina
FROM Maquina;
SELECT idEmpaque,cantidadUnidad
FROM Empaque;
5) Mostrar el nombre de las plantas.
SELECT nombrePlanta
FROM Planta;
SELECT fecha,idProcesamiento
FROM Procesamiento;
7) Mostrar los tipos de mantenimiento.
SELECT tipoM
FROM Mantenimiento;
SELECT idMateria,cantidadKg
FROM Materia_prima;
9) Mostrar el nombre de los productos.
SELECT nombrePr
FROM Producto;