Está en la página 1de 14

ASIGNATURA

CATEGORIA
DISCIPLINA
ESTUDIANTE
ESTUDIANTEXASIGNATURA
ESTUDIANTEXPROFESOR
PROFESOR
EJERCICIOS
1.
CREATE TABLE categoria(
idCategoria INT NOT NULL,
nombreCategoria VARCHAR(50) NOT NULL,
PRIMARY KEY (idCategoria)
);
CREATE TABLE disciplina(
idDisciplina INT NOT NULL,
nombreDisciplina VARCHAR(50) NOT NULL,
PRIMARY KEY (idDisciplina)
);
CREATE TABLE estudiante(
idEs INT NOT NULL,
nombreEs VARCHAR(50) NOT NULL,
ciudadEs VARCHAR(50) NOT NULL,
telefonoEs INT,
PRIMARY KEY (idEs)
);
CREATE TABLE Asignatura(
idAsing INT NOT NULL,
nombreAsing VARCHAR(50) NOT NULL,
idDisciplina INT NOT NULL,
PRIMARY KEY (idAsing),
FOREIGN KEY(idDisciplina)REFERENCES disciplina(idDisciplina)
);
CREATE TABLE profesor(
idProf INT NOT NULL,
nombreProf VARCHAR(50) NOT NULL,
ciudadProf VARCHAR(20) NOT NULL,
telefonoProf INT,
annosExp INT NOT NULL,
idCategoria INT NOT NULL,
PRIMARY KEY (idProf),
FOREIGN KEY(idCategoria)REFERENCES categoria(idCategoria)
);
CREATE TABLE EstudianteXAsignatura(
idEst INT NOT NULL,
idAsignatura INT NOT NULL,
nota DECIMAL NOT NULL,
FOREIGN KEY(idEst) REFERENCES estudiante(idEs),
FOREIGN KEY(idAsignatura)REFERENCES asignatura(idAsing)
);
CREATE TABLE EstudianteXProfesor(
idEst INT NOT NULL,
idProf INT NOT NULL,
curso VARCHAR(20),
FOREIGN KEY(idEst)REFERENCES estudiante(idEs),
FOREIGN KEY(idProf)REFERENCES profesor(idProf)
);
2.
INSERT INTO categoria(idCategoria, nombreCategoria) VALUES
(1, 'Insructor recién graduado'),
(2, 'Insructor'),
(3, 'Asistente'),
(4, 'Auxiliar'),
(5, 'Titular');
INSERT INTO disciplina(idDisciplina, nombreDisciplina) VALUES
(1, 'ISW-PP'),
(2, 'Programación'),
(3, 'Sistemas digitales'),
(4, 'Ciencias básicas'),
(5, 'Ciencias sociales');
INSERT INTO estudiante(idEs, nombreEs, ciudadEs, telefonoEs) VALUES
(1, 'Carlos Pérez', 'Pereira', 6789),
(2, 'Alberto Mercado', 'Medellín', 8869),
(3, 'Jorge Gómez', 'Candelaria', 4532),
(4, 'Maria Ramírez','Pererira', 9326),
(5, 'Juana Fuentes', 'Cali', NULL),
(6, 'Álvaro Losada', 'Bogotá', 7656),
(7, 'Raúl Martínez', 'Bogotá', NULL),
(8, 'Jaime Rosas', 'Cali', 5567);
INSERT INTO asignatura(idAsing, nombreAsing, idDisciplina) VALUES
(1, 'Sistemas de bases de datos', 1),
(2, 'Gestión de software', 1),
(3, 'Programación I',2),
(4, 'Programación II',2),
(5, 'Economía política',5),
(6, 'Problemas sociales de la ciencia',5),
(7, 'Teleinformática II',3),
(8, 'Sistema operativo',3),
(9, 'Mátematica I',4),
(10, 'Álgebra Lineal',4),
(11, 'Matemática discreta II',4);
INSERT INTO profesor (idProf, nombreProf, ciudadProf, telefonoProf,
annosExp, idCategoria) VALUES
(1, 'Daniel López', 'Bogotá', 3421, 29, 5),
(2, 'Brian Pérez', 'Popayánín', 4568, 2, 1),
(3, 'Gabriela Potes', 'Armenia', NULL, 31, 5),
(4, 'Sandra Blanco','Bogotá', 8996, 5, 2),
(5, 'Julio Casanova', 'Cali', 4535, 10, 3),
(6, 'Aura María Ibarra', 'Cali', 5684, 15, 4),
(7, 'Rolando Arboleda', 'Girardot', NULL, 17, 4);
INSERT INTO EstudianteXAsignatura(idEst, idAsignatura, nota) VALUES
(1, 1, 5.0),
(1, 2, 4.3),
(2, 2, 5.0),
(2, 3, 3.7),
(2, 5, 4.4),
(3, 1, 3.8),
(3, 6, 4.8),
(4, 9, 2.5),
(5, 11, 2.9),
(5, 4, 3.0),
(7, 6, 5.0),
(1, 3, 3.9),
(1, 4, 4.3),
(1, 5.0),
5,
(1, 2.2),
6,
(1, 3.6),
7,
(1, 4.5),
8,
(1, 3.8),
9,
(1, 10, 5.0),
(1, 11, 2.7);
INSE INTO EstudianteXProfesor (idEst, idProf, curso)
RT VALUES
(1, '2003-2004'),
3,
(1, '2004-2005'),
5,
(4, '2004-2005'),
1,
(4, '2006-2007'),
6,
(3, '2008-2009'),
2,
(2, '2009-2010'),
5,
(2, '2006-2007');
4,
3
.
UPDATE
estudiante
SET ciudadEs= ‘Tulancingo’
WHERE idEs=1;

4.
INSERT INTO profesor(idProf, nombreProf, ciudadProf, telefonoProf,
annosExp, idCategoria) VALUES
(8, 'Alexander Ramos', 'Manizales', 8989, 10, NULL);

5.
DELETE
FROM estudiantexasignatura
WHERE nota=3.0;
6.

SELECT *
FROM estudiante
WHERE nombreEs LIKE ('A%');

7.

SELECT nombreProf, idProf


FROM profesor
WHERE !EXISTS (SELECT * FROM estudiantexprofesor
WHERE estudiantexprofesor.idProf=profesor.idProf )
8.
SELECT nombrees, ciudades
FROM estudiante
SELECT nombrees, ciudades
FROM estudiante
SELECT nombrees, ciudades
FROM estudiante
INNER JOIN estudiantexasignatura
ON estudiante.IDEs=estudiantexasignatura.idest
WHERE nota> 2.5 GROUP BY nombrees

9.
SELECT COUNT(nombrees) AS alumnos
FROM estudiante
10.
SELECT AVG(estudiantexasignatura.nota) AS promedio
FROM estudiantexasignatura

11.
SELECT MAX(annosExp) AS maximo, MIN(annosExp) AS minimo
FROM professor

12.

SELECT
estudiante.idEs,estudiante.nombreEs,estudiante.ciudadEs,estudiante.telefo
noEs, estudiantexasignatura.nota
FROM estudiante INNER JOIN estudiantexasignatura INNER JOIN asignatura
ON estudiante.idEs=estudiantexasignatura.idEst
AND asignatura.idAsing=estudiantexasignatura.idAsignatura
WHERE asignatura.idDisciplina=4;

13.
SELECT estudiante.nombreEs ,estudiante.idEs,
count(estudiantexasignatura.nota)
FROM estudiante inner join estudiantexasignatura
ON estudiante.idEs=estudiantexasignatura.idEst
GROUP BY estudiante.nombreEs
ORDER BY estudiante.nombreEs;

14.
SELECT estudiante.nombreEs ,estudiante.ciudadEs, estudiante.telefonoEs
FROM estudiante inner join estudiantexasignatura
ON estudiante.idEs=estudiantexasignatura.idEst
GROUP BY estudiante.nombreEs HAVING count(estudiantexasignatura.nota) >
2;

También podría gustarte