2020
Consultas SQLITE
MATERIA: BASE DE DATOS DE DISPOSITIVOS MOVILES
ALUMNO: ALVARADO GARCÍA JORGE
1. Mostrar el nombre y matricula de los alumnos que están tomando la materia 1
2. Mostrar el nombre y clave de los profesores que imparten la materia 2
3. Mostrar el nombre y clave de los profesores que imparten la materia 5
4. Mostrar el nombre de los alumno y materia que cursan la carrera 1
5. Mostrar el nombre del alumno y materia que cursan la carrera 3
SCRIPT
CREATE DATABASE Escuela;
USE Escuela;
CREATE TABLE "Carrera" (
"Clave_C" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
"Nom_C" TEXT NOT NULL,
"Durac_C" TEXT NOT NULL
);
INSERT INTO Carrera (Nom_C, Durac_C) VALUES ("Ing. Sistemas","4 años y medio");
INSERT INTO Carrera (Nom_C, Durac_C) VALUES ("Ing. Aeronautica","3 años y medio");
INSERT INTO Carrera (Nom_C, Durac_C) VALUES ("Ing. Gestion","4 años");
INSERT INTO Carrera (Nom_C, Durac_C) VALUES ("Ing. Contabilidad","4 años");
INSERT INTO Carrera (Nom_C, Durac_C) VALUES ("Ing. Mecatronica","4 años y medio");
SELECT * FROM Carrera;
CREATE TABLE "Alumno" (
"Mat_alu" INTEGER NOT NULL UNIQUE,
"Nom_alu" TEXT NOT NULL,
"Edad_alu" INTEGER NOT NULL,
"Sem_alu" TEXT NOT NULL,
"Gen_alu" INTEGER NOT NULL,
"Clave_C1" INTEGER NOT NULL,
FOREIGN KEY(Clave_C1) REFERENCES Carrera(Clave_C),
PRIMARY KEY("Mat_alu")
);
INSERT INTO Alumno (Mat_alu, Nom_alu,Edad_alu,Sem_alu,Gen_alu,Clave_C1) VALUES (201622650,"Jorge",28,"8°
Semestre",2016,1);
INSERT INTO Alumno (Mat_alu, Nom_alu,Edad_alu,Sem_alu,Gen_alu,Clave_C1) VALUES (201828427,"Maria",20,"1°
Semestre",2018,1);
INSERT INTO Alumno (Mat_alu, Nom_alu,Edad_alu,Sem_alu,Gen_alu,Clave_C1) VALUES (201011528,"Oscar",36,"9°
Semestre",2010,1);
INSERT INTO Alumno (Mat_alu, Nom_alu,Edad_alu,Sem_alu,Gen_alu,Clave_C1) VALUES (201418499,"Luis",22,"5°
Semestre",2014,3);
INSERT INTO Alumno (Mat_alu, Nom_alu,Edad_alu,Sem_alu,Gen_alu,Clave_C1) VALUES (201141300,"Roberta",23,"6°
Semestre",2011,3);
SELECT * FROM Alumno;
CREATE TABLE "Materia" (
"Clave_M" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
"Nom_M" TEXT NOT NULL,
"Cred_M" TEXT NOT NULL
);
INSERT INTO Materia (Nom_M,Cred_M) VALUES ("Matematicas","5 Creditos");
INSERT INTO Materia (Nom_M,Cred_M) VALUES ("Contabilidad","4 Creditos");
INSERT INTO Materia (Nom_M,Cred_M) VALUES ("Desarrollo Sustentable","3 Creditos");
INSERT INTO Materia (Nom_M,Cred_M) VALUES ("Ingles","3 Creditos");
INSERT INTO Materia (Nom_M,Cred_M) VALUES ("Programacion Web","5 Creditos");
SELECT * FROM Materia;
CREATE TABLE "Profesor" (
"Clave_P" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
"Nom_P" TEXT NOT NULL,
"Dir_P" TEXT NOT NULL,
"Tel_P" INTEGER NOT NULL,
"Hor_P" TEXT NOT NULL
);
INSERT INTO Profesor (Nom_P,Dir_P,Tel_P,Hor_P) VALUES ("Marco","Av. Insurgentes",5552695855,"7 a 9 am");
INSERT INTO Profesor (Nom_P,Dir_P,Tel_P,Hor_P) VALUES ("Sergio","Av. San Isidro",5525141156,"9 a 11 am");
INSERT INTO Profesor (Nom_P,Dir_P,Tel_P,Hor_P) VALUES ("Carlos","Av. Los Montes",5558778954,"3 a 6 pm");
INSERT INTO Profesor (Nom_P,Dir_P,Tel_P,Hor_P) VALUES ("Veronica","Av. Olimpia",5515457799,"7 a 9 pm");
INSERT INTO Profesor (Nom_P,Dir_P,Tel_P,Hor_P) VALUES ("Karla","Av. Amur",5545858803,"1 a 3 pm");
SELECT * FROM Profesor;
//Conexiones entre tablas
CREATE TABLE "Impartidor" (
"Mat_alu1" INTEGER NOT NULL UNIQUE,
"Clave_P1" INTEGER NOT NULL,
PRIMARY KEY("Mat_alu1","Clave_P1"),
FOREIGN KEY(Mat_alu1) REFERENCES Alumno(Mat_alu),
FOREIGN KEY(Clave_P1) REFERENCES Profesor(Clave_P)
);
INSERT INTO Impartidor (Mat_alu1,Clave_P1) VALUES (201622650,1);
INSERT INTO Impartidor (Mat_alu1,Clave_P1) VALUES (201828427,2);
INSERT INTO Impartidor (Mat_alu1,Clave_P1) VALUES (201011528,3);
INSERT INTO Impartidor (Mat_alu1,Clave_P1) VALUES (201418499,4);
INSERT INTO Impartidor (Mat_alu1,Clave_P1) VALUES (201141300,5);
CREATE TABLE "Asignacion" (
"Clave_M1" INTEGER NOT NULL,
"Mat_alu2" INTEGER NOT NULL UNIQUE,
PRIMARY KEY("Mat_alu2","Clave_M1"),
FOREIGN KEY(Mat_alu2) REFERENCES Alumno(Mat_alu),
FOREIGN KEY(Clave_M1) REFERENCES Materia(Clave_M)
);
INSERT INTO Asignacion (Clave_M1,Mat_alu2) VALUES (1,201622650);
INSERT INTO Asignacion (Clave_M1,Mat_alu2) VALUES (1,201418499);
INSERT INTO Asignacion (Clave_M1,Mat_alu2) VALUES (2,201828427);
INSERT INTO Asignacion (Clave_M1,Mat_alu2) VALUES (5,201011528);
INSERT INTO Asignacion (Clave_M1,Mat_alu2) VALUES (5,201141300);
CREATE TABLE "Especialidad" (
"Clave_M2" INTEGER NOT NULL,
"Clave_P2" INTEGER NOT NULL,
PRIMARY KEY("Clave_M2","Clave_P2"),
FOREIGN KEY(Clave_P2) REFERENCES Profesor(Clave_P),
FOREIGN KEY(Clave_M2) REFERENCES Materia(Clave_M)
);
INSERT INTO Especialidad (Clave_M2,Clave_P2) VALUES (2,1);
INSERT INTO Especialidad (Clave_M2,Clave_P2) VALUES (2,2);
INSERT INTO Especialidad (Clave_M2,Clave_P2) VALUES (5,3);
INSERT INTO Especialidad (Clave_M2,Clave_P2) VALUES (5,4);
INSERT INTO Especialidad (Clave_M2,Clave_P2) VALUES (2,5);
//1
SELECT A.Nom_alu[Alumno], A.Mat_alu[Matricula], M.Clave_M[Materia]
FROM Alumno A, Materia M, Asignacion AG
WHERE (AG.Clave_M1 = 1 AND M.Clave_M = 1)
AND (A.Mat_alu = AG.Mat_alu2);
//2
SELECT P.Nom_P[Profesor],P.Clave_P[Clave], M.Clave_M[Materia]
FROM Profesor P, Materia M, Especialidad E
WHERE (E.Clave_M2 = 2 AND M.Clave_M = 2)
AND (P.Clave_P = E.Clave_P2);
//3
SELECT P.Nom_P[Profesor],P.Clave_P[Clave], M.Clave_M[Materia]
FROM Profesor P, Materia M, Especialidad E
WHERE (E.Clave_M2 = 5 AND M.Clave_M = 5)
AND (P.Clave_P = E.Clave_P2);
//4
SELECT A.Nom_alu[Alumno], M.Nom_M[Materia], C.Clave_C[Carrera]
FROM Alumno A, Materia M, Carrera C, Asignacion AG
WHERE (C.Clave_C = 1 AND A.Clave_C1 = 1)
AND (A.Mat_alu = AG.Mat_alu2)
AND (M.Clave_M = AG.Clave_M1);
//5
SELECT A.Nom_alu[Alumno], M.Nom_M[Materia], C.Clave_C[Carrera]
FROM Alumno A, Materia M, Carrera C, Asignacion AG
WHERE (C.Clave_C = 3 AND A.Clave_C1 = 3)
AND (A.Mat_alu = AG.Mat_alu2)
AND (M.Clave_M = AG.Clave_M1);