0% encontró este documento útil (0 votos)
20 vistas11 páginas

Claves foráneas en SQLite

Este documento contiene el script SQL para crear una base de datos que modela una escuela con tablas para carreras, alumnos, materias, profesores y las relaciones entre ellas. Incluye 5 consultas SQL para obtener: 1) los nombres y matrículas de los alumnos que cursan la materia 1, 2) los nombres y claves de los profesores que imparten la materia 2, 3) los nombres y claves de los profesores que imparten la materia 5, 4) los nombres de los alumnos y la materia que cursan la

Cargado por

Jorge Alvarado
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
20 vistas11 páginas

Claves foráneas en SQLite

Este documento contiene el script SQL para crear una base de datos que modela una escuela con tablas para carreras, alumnos, materias, profesores y las relaciones entre ellas. Incluye 5 consultas SQL para obtener: 1) los nombres y matrículas de los alumnos que cursan la materia 1, 2) los nombres y claves de los profesores que imparten la materia 2, 3) los nombres y claves de los profesores que imparten la materia 5, 4) los nombres de los alumnos y la materia que cursan la

Cargado por

Jorge Alvarado
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

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);

También podría gustarte