Modelo ER
Docente (ID_Docente, Nombre, Apellido)
Curso (ID_Curso, Nombre, Año)
Estudiante (ID_Estudiante, Nombre, Apellido)
Inscripcion (ID_Inscripcion, ID_Estudiante, ID_Curso)
Asignacion (ID_Asignacion, ID_Docente, ID_Curso)
Modelo Logico DDL
CREATE DATABASE Gestion;
GO
USE GestionAcademica;
GO
-- Creo la tabla Docente
CREATE TABLE Docente (
ID_Docente INT IDENTITY(1,1) PRIMARY KEY,
Nombre NVARCHAR(50) NOT NULL,
Apellido NVARCHAR(50) NOT NULL
);
-- Creo la tabla Curso
CREATE TABLE Curso (
ID_Curso INT IDENTITY(1,1) PRIMARY KEY,
Nombre NVARCHAR(100) NOT NULL,
Año INT NOT NULL
);
-- Creo la tabla Estudiante
CREATE TABLE Estudiante (
ID_Estudiante INT IDENTITY(1,1) PRIMARY KEY,
Nombre NVARCHAR(50) NOT NULL,
Apellido NVARCHAR(50) NOT NULL
);
-- Creo la tabla asignación (Docentes asignados a cursos)
CREATE TABLE Asignacion (
ID_Asignacion INT IDENTITY(1,1) PRIMARY KEY,
ID_Docente INT NOT NULL,
ID_Curso INT NOT NULL,
FOREIGN KEY (ID_Docente) REFERENCES Docente(ID_Docente),
FOREIGN KEY (ID_Curso) REFERENCES Curso(ID_Curso)
);
-- Creo la tabla Inscripción (Estudiantes inscritos en cursos)
CREATE TABLE Inscripcion (
ID_Inscripcion INT IDENTITY(1,1) PRIMARY KEY,
ID_Estudiante INT NOT NULL,
ID_Curso INT NOT NULL,
FOREIGN KEY (ID_Estudiante) REFERENCES Estudiante (ID_Estudiante),
FOREIGN KEY (ID_Curso) REFERENCES Curso (ID_Curso)
);
GO
Consultas SQL
-- Inserto datos en la tabla Docente
INSERT INTO Docente (Nombre, Apellido)
VALUES
('Juan', 'Perez'),
('Maria', 'Lopez');
--- Inserto datos en la tabla Curso
INSERT INTO Curso (Nombre, Año)
VALUES
('SQL SERVER', YEAR(GETDATE()) - 1), -- Curso del año pasado
('Python Básico', YEAR(GETDATE())); -- Curso de este año
-- Inserto datos en la tabla Estudiante
INSERT INTO Estudiante (Nombre, Apellido)
VALUES
('Carlos', 'Ramirez'),
('Ana', 'Sanchez');
-- Inserto datos en la tabla Asignacion
INSERT INTO Asignacion (ID_Docente, ID_Curso)
VALUES
(1, 1), -- Juan asignado a SQL SERVER
(2, 2); -- Maria asignada a Python Básico
-- Inserto datos en la tabla Inscripcion
INSERT INTO Inscripcion (ID_Estudiante, ID_Curso)
VALUES
(1, 1), -- Carlos inscrito en SQL SERVER
(2, 2); -- Ana inscrita en Python Básico
GO