Está en la página 1de 4

CREATE DATABASE ESCUELA5

USE ESCUELA5

-- CREACION DE TABLAS INDEPENDIENTES

-- TABLA CARRERA
CREATE TABLE CARRERA (
CLAVE_C varchar(5),
NOMBRE_C VARCHAR (50),
DURACION_C FLOAT,
CONSTRAINT PK_CC PRIMARY KEY (CLAVE_C))
-- PARA INSERTAR
INSERT INTO CARRERA VALUES
('C1' , 'DISEÑO GRAFICO' , 2),
('C2' , 'ANALISTA DE REDES' , 3) ,
('C3' , 'DISEÑO WEB' , 1),
('C4' , 'OFFICE MAKER' , 4),
('C5' , 'GESTOR DE BASE DE DATOS' , 4)
--
SELECT * FROM CARRERA
-- F

-- TABLA MATERIA
CREATE TABLE MATERIA (
CLAVE_M varchar(5),
NOMBRE_M VARCHAR (50),
CREDITOS_M FLOAT,
CONSTRAINT PK_CM PRIMARY KEY (CLAVE_M))
-- PARA INSERTAR
INSERT INTO MATERIA VALUES
('M1', 'MATEMATICA 1', 4),
('M2' ,'DIBUJO TECNICO', 3),
('M3', 'MATEMATICA DISCRETA', 4),
('M4', 'MODELS DE COMPUTACION', 3),
('M5', 'ARQITECTURA DE SISTEMAS OPERATIVOS', 3)
--
SELECT * FROM MATERIA
-- F

-- TABLA PROFESOR
CREATE TABLE PROFESOR (
CLAVE_P varchar(5),
NOMBRE_P VARCHAR (50),
TELEFONO_P BIGINT,
CONSTRAINT PK_CP PRIMARY KEY (CLAVE_P))
-- PARA INSERTAR
INSERT INTO PROFESOR VALUES
('P1', 'JOSE JIMENEZ', 999567967),
('P2' ,'ROSA DIAZ', 987563921),
('P3' ,'ROBERTO CAMPOS', 989265545),
('P4' ,'PATRICIA PEREZ', 990302835),
('P5' ,'MARGARITA LOPEZ', 988730804)
--
SELECT * FROM PROFESOR
-- F

-- FIN DE CREACION DE TABLAS INDEPENDIENTES

-- CREACION DE TABLAS DEPENDIENTES

/* TABLA ALUMNO (CON UNA CLAVE FORANEA) */


CREATE TABLE ALUMNO (
MATRICULA_A varchar(5),
NOMBRE_A VARCHAR (150),
SEMESTRE_A INT,
CLAVE_C1 varchar(5) -- VIENE DE CLAVE_C DE CARRERA
CONSTRAINT PK_MA PRIMARY KEY (MATRICULA_A),
CONSTRAINT FK_CC1 FOREIGN KEY (CLAVE_C1) REFERENCES
CARRERA (CLAVE_C))
-- PARA INSERTAR
INSERT INTO ALUMNO VALUES
('A1', 'CECILIA DOMINGUEZ', 3 , 'C1'),
('A2' ,'PEDRO GARCIA', 4 , 'C2'),
('A3' ,'JUANA GONZALES', 5 , 'C3'),
('A4' ,'LUIS MARTINEZ', 2 , 'C4'),
('A5' ,'RAUL JARA', 3 , 'C5')
--
SELECT * FROM ALUMNO
-- F

-- FIN DE CREACION DE TABLAS DEPENDIENTES

-- CREACION DE TABLAS INTERMEDIAS

-- TABLA ALUMNO-PROFESOR
CREATE TABLE ALUMNO_PROFESOR (
MATRICULA_A1 varchar(5), -- VIENE DE MATRICULA_A
CLAVE_P1 varchar(5), -- VIENE DE CALVE_P
CONSTRAINT FK_MA1 FOREIGN KEY (MATRICULA_A1) REFERENCES
ALUMNO (MATRICULA_A),
CONSTRAINT FK_CP1 FOREIGN KEY (CLAVE_P1) REFERENCES
PROFESOR (CLAVE_P))
-- PARA INSERTAR
INSERT INTO ALUMNO_PROFESOR VALUES
('A1', 'P2'),
('A2' ,'P1'),
('A3' ,'P5'),
('A4' ,'P4'),
('A5' ,'P3')
--
SELECT * FROM ALUMNO_PROFESOR
-- F

-- TABLA MATERIA-ALUMNO
CREATE TABLE MATERIA_ALUMNO (
CLAVE_M1 varchar(5), -- VIENE DE CLAVE_M
MATRICULA_A2 varchar(5), -- VIENE DE MATRICULA_A
CONSTRAINT FK_CM1 FOREIGN KEY (CLAVE_M1) REFERENCES
MATERIA (CLAVE_M),
CONSTRAINT FK_MA2 FOREIGN KEY (MATRICULA_A2) REFERENCES
ALUMNO (MATRICULA_A))
-- PARA INSERTAR
INSERT INTO MATERIA_ALUMNO VALUES
('M1', 'A1'),
('M2' ,'A2'),
('M3' ,'A3'),
('M4' ,'A4'),
('M5' ,'A5')
--
SELECT * FROM MATERIA_ALUMNO
-- F

-- TABLA MATERIA-PROFESOR
CREATE TABLE MATERIA_PROFESOR (
CLAVE_M2 varchar(5), -- VIENE DE CLAVE_M
CLAVE_P2 varchar(5), -- VIENE DE CLAVE_P
CONSTRAINT FK_CM2 FOREIGN KEY (CLAVE_M2) REFERENCES
MATERIA (CLAVE_M),
CONSTRAINT FK_CP2 FOREIGN KEY (CLAVE_P2) REFERENCES
PROFESOR (CLAVE_P))
-- PARA INSERTAR
INSERT INTO MATERIA_PROFESOR VALUES
--('M1', 'P2'),
--('M2' ,'P1'),
('M3' ,'P5'),
('M4' ,'P4'),
('M5' ,'P3')
--
SELECT * FROM MATERIA_PROFESOR
-- F
-- FIN DE CREACION DE TABLAS INTERMEDIAS
-- FIN DE CREACION Y LLENADO DE DATOS DE TABLAS

-- CREACION DE CONSULTAS ENTRE TABLAS

-- CONSULTA ENTRE TABLAS 1:1 O 1:MUCHOS


-- CONSULTAR POR LOS ALUMNOS Y QUE CARRERA LLEVA CADA UNO
SELECT NOMBRE_A , NOMBRE_C FROM ALUMNO
INNER JOIN CARRERA ON
CARRERA.CLAVE_C=ALUMNO.CLAVE_C1
-- F

-- CONSULTA ENTRE TABLAS N:M


-- CONSULTA POR LOS PROFESORES DE LOS ALUMNOS
-- COMO ES UNA CONSULTA ENTRE TABLAS N:M SE DEBE UNIR LA TABLA
INICIAL
-- CON LA INTERMEDIA Y LUEGO CON LA FINAL
SELECT NOMBRE_A , NOMBRE_P FROM ALUMNO
INNER JOIN ALUMNO_PROFESOR ON
ALUMNO.MATRICULA_A=ALUMNO_PROFESOR.MATRICULA_A1
INNER JOIN PROFESOR ON
ALUMNO_PROFESOR.CLAVE_P1=PROFESOR.CLAVE_P

/* SELECT NOMBRE_C , NOMBRE_A FROM ALUMNO


INNER JOIN CARRERA ON ALUMNO.CLAVE_C1 = CARRERA.CLAVE_C

SELECT * FROM ALUMNO


INNER JOIN ALUMNO_PROFESOR ON ALUMNO_PROFESOR.MATRICULA_A1
= ALUMNO.MATRICULA_A
INNER JOIN PROFESOR ON PROFESOR.CLAVE_P =
ALUMNO_PROFESOR.CLAVE_P1
+/

También podría gustarte