create database Alumnos go use Alumnos go create table Pais ( CodigoPais varchar(2), NombrePais varchar(20) constraint PK_CodigoPais primary key (CodigoPais) ) go create table Alumno ( Carnet varchar(10), Nombre varchar(30), Apellido varchar(30), Edad int, Direccion varchar(50), TelefonoContacto varchar(9), PaisNacionalidad varchar(2) constraint PK_Carnet primary key (Carnet) constraint FK_AlumnoPais foreign key (PaisNacionalidad) references Pais(CodigoPais) ) go create table Materias ( CodigoMateria varchar(10) Primary key, NombreMateria varchar(20) ) go create table NivelProfesor ( CodigoNivel varchar(2), NombreNivel varchar(20) constraint PK_CodigoNivel primary key (CodigoNivel) ) go create Table AFP( CodAfp int identity(1,1), NombreAfp varchar(20), Retencion decimal(9,2) , constraint PK_CodAfp primary key (CodAfp) ) create table Profesor ( CodigoProfesor varchar(10), NombreProfesor varchar(30), ApellidoProfesor varchar(30), DUI varchar(10), NIT varchar(18), ISSS varchar(12), CodAFP int, CodigoNivel varchar(2), FechaIngreso datetime, constraint PK_CodigoProfesor primary key (CodigoProfesor), constraint FK_AFPProfesor foreign key (CodAFP) references AFP(CodAfp), constraint FK_NivelProfesor foreign key (CodigoNivel) references NivelProfesor(CodigoNivel) ) create table ContratoProfesor ( CodigoContrato varchar(10), CodigoProfesor varchar(10), FechaInicioContrato datetime, FechaFinalcontrato datetime, MontoContrato decimal(9,2), Observaciones varchar(255), ContratoEnMarcha bit default 0, UsuarioCreacion varchar(10), FechaCreacion datetime, UsuarioQuePusoEnMarcha varchar(10), FechaPuestaEnMarcha datetime, constraint PK_ContratoProfesor primary key(CodigoContrato) ) create Table DetalleContratoProfesor ( CodigoContrato varchar(10), CodigoMateria varchar(10), PagoMensual decimal(9,2), constraint PKDetalleContrato Primary key (CodigoContrato,CodigoMateria), constraint FK_Contrato foreign key (CodigoContrato) references ContratoProfesor(CodigoContrato), constraint FK_Materias foreign key (CodigoMateria) references Materias(CodigoMateria) ) create table CiclosMaterias ( CodigoCiclo varchar(2), NombreCiclo varchar(10), OrdenCiclo int , CicloActivo bit Constraint PK_CodigoCiclo primary key (CodigoCiclo) ) alter table CiclosMaterias add Constraint FK_OrdenCiclo Unique (OrdenCiclo) create table DetalleCicloMateria ( CodigoCiclo varchar(2), CodigoMateria varchar(10) constraint PK_DetalleCicloMateria primary key (CodigoCiclo,CodigoMateria) ) create table InscripcionMateriaAlumno ( Carnet varchar(10), CodigoMateria varchar(10), FechaInscripcion datetime, MatriculaNo int, Observaciones varchar(30), InscripcionActiva bit, UsuarioInscriptor varchar(10), constraint PK_InscripcionMateriaAlumno primary key (Carnet,CodigoMateria,MatriculaNo), Constraint FK_AlumnoInscripcion foreign key (Carnet) references Alumno(Carnet), Constraint FK_MateriaInscripcion foreign key (CodigoMateria) references Materias(CodigoMateria) ) create table HistorialAlumno ( Carnet varchar(10), CodigoCiclo varchar(2), PromedioFinal decimal(9,2), Status varchar(9), Constraint FK_Alumno foreign key (Carnet) references Alumno(Carnet), Constraint FK_Ciclo foreign key (CodigoCiclo) references CiclosMaterias(CodigoCiclo) ) create table IngresoNotasAlumno ( Carnet varchar(10), CodigoMateria varchar(10), NotaFinal decimal(9,2), NotasCerradas bit, UsuarioCierreNotas varchar(10), FechaCierreNotas datetime, Constraint FK_IngresoNotasAlumno foreign key (Carnet) references Alumno(Carnet), Constraint FK_IngresoNotasMaterias foreign key (CodigoMateria) references Materias(CodigoMateria) ) create table usuarios( Login varchar(10) primary key, Nombreusuario varchar(30), Contraseņa varchar(10), )