Está en la página 1de 26

Trabajo

Colaborati
SEPTIEMRBE
vo 1

UNAD

UNIVERSIDAD ABIERTA Y A DISTANCIA


BASE DE DATOS AVANZADA 301125_17
CEAD BARRANQUILLA

1
UNIVERSIDAD ABIERTA Y A DISTANCIA
PROYECTO DE GRADO 201014_45

TRABAJO COLABORATIVO 1
GRUPO: 301125_17

PRESENTADO POR:

DANILO JOSE GUERRERO VENCE


COD 1.143.115.304
WILLIAN ENRIQUE GARCERANT ARIZA
COD: 72051758
ARTURO ENRIQUE CASTRO
COD:

TUTOR:
MARCO ANTONIO LOPEZ OSPINA

ESCUELA DE CIENCIAS BASICAS, TECNOLOGIAS E INGENIERIA ECBTI


UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD

INGENIERIA DE SISTEMAS
ZONA CRARIBE CEAD BARANQUILLA
SEPTIEMBRE DE 2016
UNIVERSIDAD ABIERTA Y A DISTANCIA
PROYECTO DE GRADO 201014_45

INTRODUCION

En el presente trabajo se dar respuesta a 6 preguntas formuladas en el foro de trabajo


adems de realizar el proceso de puesta a punto de un entorno de trabajo para el resto del
curso y se definir el diseo lgico de la base de datos que dar solucin a una
problemtica planteada.
UNIVERSIDAD ABIERTA Y A DISTANCIA
PROYECTO DE GRADO 201014_45

OBJETIVOS

General

Configurar y dejar a punto un entorno de trabajo para desarrollar el curso de Bases


de datos avanzadas.

Especficos.

Dar respuestas a las 6 preguntas planteadas en el foro


Instalar correctamente las herramientas de uso en el curso
Realizar un modelo de datos para dar solucin al problema planteado
Entregar un instructivo completo, que explica como instalar y configurar las
herramientas

DESARROLLO DE LA ACTIVIDAD
UNIVERSIDAD ABIERTA Y A DISTANCIA
PROYECTO DE GRADO 201014_45

Modelo lgico de la base de datos grupal


UNIVERSIDAD ABIERTA Y A DISTANCIA
PROYECTO DE GRADO 201014_45

Explicacin del modelo ER


Contamos con una tabla central llamada PERSONAS la cual est destinada a almacenar
cualquier persona vinculada a la institucin inicialmente serian estudiantes, profesores y
acudientes diferenciados por un tipo de persona configurado en la tabla TIPOS_PERSONA
esto con el fin de poder adicionar cualquier persona vinculada a la institucin a futuro
podran ingresarse desde el rector hasta los empleados de oficios varios ya que solo se
tendra que crear nuevos tipos de personas para as relacionarlos a su funcin dentro de la
institucin.
Esta tabla personas integra muchas tablas de configuracin que nacen con el fin de que el
sistema sea lo ms dinmico y configurable posible estas tablas serian:
TIPOS_DOCUMENTO, DEPARTAMENTOS, LOCALIDADES, TIPOS_SEXOS
Esta tabla cuenta con una relacin de uno a mucho a ella misma debido que los acudientes
para el caso de los estudiantes pueden tener uno o ms estudiantes a su cargo
La tabla TIPOS_NIVELES_FORMACION brinda la posibilidad de poder almacenar el
grado acadmico tanto de alumno como maestros e incluso cualquier tipo de personas ya
que contara con todos los niveles acadmicos posibles como bachiller, universitario,
especialista, maestra, doctorado, etc
La tabla ESTADO se cre con la idea de poder deshabilitar profesores o estudiantes por
algn motivo como el retiro eta tabla se complementa con la tabla
LOG_CAMBIOS_ESTADOS ya que registra todos los cambios de estados que sufrir la
tabla personas y de esta forma no se perder la trazabilidad en el caso de que un profesor o
alumno se retire de la institucin y a futuro regrese a ella
La tabla INASISTENCIA administrara la ausencia de alumno o profesores personalizando
los tipos de inasistencias que se pueden presentar en la institucin en la tabla
TIPOS_INASISTENCIA de igual forma funcionaran la tabla:
PERMISOS- TIPOS_PERMISOS
SANCIONES - TIPOS_SANCIONES
La tabla ASIGNATURA administrara todas las asignaturas que se dictan en la institucin
las cuales deben tener un rea acadmica asociada valida que ser administrada en la tabla
REAS_ACADEMICAS por ejemplo el rea de ciencias naturales pertenece la materia de
fsica, biologa, qumica etc..
La tabla PROFESORES_ASIGNATURAS nace de la necesidad de romper la relacin
muchos a muchos entre las tablas asignatura y personas y a su vez integra la tabla
CURSOS (ej: un grado quinto puede tener 3 cursos 5a, 5b, 5c) previamente relacionada con
TIPOS_GRADO que especifica todos los grados disponibles en la institucin por ejemplo
desde primero a once grado
UNIVERSIDAD ABIERTA Y A DISTANCIA
PROYECTO DE GRADO 201014_45

La tabla INFORMACIN_ACADEMICA es la que almacenara las calificaciones de cada


periodo acadmico del estudiante esta cuenta con una tabla de configuracin para
personalizar los periodos acadmicos de la institucin llamada PERIODO
Por ltimo para manejar los proyecto que nacen en la institucin tenemos la tabla
PROYECTOS en la cual se registraran los proyectos existentes en la institucin y estar
relacionada con la tabla MIEMBROS_PROYECTOS donde se asociaran los participantes
de ese proyecto ya sean profesores, estudiantes e incluso acudientes especificando el rol
que cumplen dentro del proyecto ya sea lder, miembro, observador o cualquiera que este
configurado en la tabla TIPOS_ROLES.
Script
-- MySQL Workbench Forward Engineering

SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;


SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS,
FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE,
SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';

-- -----------------------------------------------------
-- Schema Colegio
-- -----------------------------------------------------

-- -----------------------------------------------------
-- Schema Colegio
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `Colegio` DEFAULT CHARACTER SET utf8 ;
USE `Colegio` ;

-- -----------------------------------------------------
-- Table `Colegio`.`Estados`
UNIVERSIDAD ABIERTA Y A DISTANCIA
PROYECTO DE GRADO 201014_45

-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Colegio`.`Estados` (
`idEstados` INT NOT NULL AUTO_INCREMENT,
`estdescripcion` VARCHAR(45) CHARACTER SET 'utf8' NOT NULL,
PRIMARY KEY (`idEstados`))
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `Colegio`.`tipos_personas`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Colegio`.`tipos_personas` (
`idtipos_personas` INT NOT NULL AUTO_INCREMENT,
`Descripcion` VARCHAR(45) NULL,
PRIMARY KEY (`idtipos_personas`))
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `Colegio`.`departamento`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Colegio`.`departamento` (
`iddepartamento` INT NOT NULL AUTO_INCREMENT,
`descripcion` VARCHAR(45) CHARACTER SET 'utf8' NOT NULL,
PRIMARY KEY (`iddepartamento`))
ENGINE = InnoDB;
UNIVERSIDAD ABIERTA Y A DISTANCIA
PROYECTO DE GRADO 201014_45

-- -----------------------------------------------------
-- Table `Colegio`.`localidad`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Colegio`.`localidad` (
`idlocalidad` INT NOT NULL AUTO_INCREMENT,
`departamento` INT NOT NULL,
`descripcion` VARCHAR(45) CHARACTER SET 'utf8' NOT NULL,
PRIMARY KEY (`idlocalidad`),
INDEX `fk_localidad_departamento1_idx` (`departamento` ASC),
CONSTRAINT `fk_localidad_departamento1`
FOREIGN KEY (`departamento`)
REFERENCES `Colegio`.`departamento` (`iddepartamento`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `Colegio`.`tipos_documentos`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Colegio`.`tipos_documentos` (
`idtipos_documentos` INT NOT NULL AUTO_INCREMENT,
`descripcion` VARCHAR(45) CHARACTER SET 'utf8' NOT NULL,
PRIMARY KEY (`idtipos_documentos`))
UNIVERSIDAD ABIERTA Y A DISTANCIA
PROYECTO DE GRADO 201014_45

ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `Colegio`.`tipos_sexos`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Colegio`.`tipos_sexos` (
`idsexos` INT NOT NULL AUTO_INCREMENT,
`descripcion` VARCHAR(45) NOT NULL,
PRIMARY KEY (`idsexos`))
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `Colegio`.`tipos_niveles_formacion`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Colegio`.`tipos_niveles_formacion` (
`idtipos_niveles_formacion` INT NOT NULL AUTO_INCREMENT,
`descripcion` VARCHAR(45) NOT NULL,
PRIMARY KEY (`idtipos_niveles_formacion`))
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `Colegio`.`Tipos_grado`
-- -----------------------------------------------------
UNIVERSIDAD ABIERTA Y A DISTANCIA
PROYECTO DE GRADO 201014_45

CREATE TABLE IF NOT EXISTS `Colegio`.`Tipos_grado` (


`idTipos_grado` INT NOT NULL AUTO_INCREMENT,
`descripcion` VARCHAR(45) NULL,
PRIMARY KEY (`idTipos_grado`))
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `Colegio`.`Cursos`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Colegio`.`Cursos` (
`idCursos` INT NOT NULL AUTO_INCREMENT,
`grado` INT NOT NULL,
`descripcion` VARCHAR(45) NOT NULL,
PRIMARY KEY (`idCursos`),
INDEX `fk_Cursos_Tipos_grado1_idx` (`grado` ASC),
CONSTRAINT `fk_Cursos_Tipos_grado1`
FOREIGN KEY (`grado`)
REFERENCES `Colegio`.`Tipos_grado` (`idTipos_grado`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `Colegio`.`Personas`
UNIVERSIDAD ABIERTA Y A DISTANCIA
PROYECTO DE GRADO 201014_45

-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Colegio`.`Personas` (
`PerCodigo` INT NOT NULL,
`Pertipodocumento` INT NOT NULL,
`perdepartamento` INT NOT NULL,
`perlocalidad` INT NOT NULL,
`pernombre1` VARCHAR(45) NOT NULL,
`pernombre2` VARCHAR(45) NOT NULL,
`perapellido1` VARCHAR(45) NOT NULL,
`perapellido2` VARCHAR(45) NOT NULL,
`pertelefono1` INT NOT NULL,
`pertelefono2` INT NULL,
`perdireccion` VARCHAR(45) NOT NULL,
`persexo` INT NOT NULL,
`peracudiente` INT NOT NULL,
`pernivelformacion` INT NOT NULL,
`percurso` INT NOT NULL,
`perfechacreacion` DATE NOT NULL,
`perestado` INT NOT NULL,
`pertipopersona` INT NOT NULL,
PRIMARY KEY (`PerCodigo`),
INDEX `fk_Personas_Estados_idx` (`perestado` ASC),
INDEX `fk_Personas_tipos_usuarios1_idx` (`pertipopersona` ASC),
INDEX `fk_Personas_localidad_idx` (`perlocalidad` ASC),
INDEX `fk_Personas_departamento_idx` (`perdepartamento` ASC),
INDEX `fk_Personas_tipos_documentos_idx` (`Pertipodocumento` ASC),
UNIVERSIDAD ABIERTA Y A DISTANCIA
PROYECTO DE GRADO 201014_45

INDEX `fk_Personas_tipos_sexos_idx` (`persexo` ASC),


INDEX `fk_Personas_acudiente_idx` (`peracudiente` ASC),
INDEX `fk_Personas_niveles_formacion_idx` (`pernivelformacion` ASC),
INDEX `fk_Personas_grado_idx` (`percurso` ASC),
CONSTRAINT `fk_Personas_Estados`
FOREIGN KEY (`perestado`)
REFERENCES `Colegio`.`Estados` (`idEstados`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Personas_tipos_personas`
FOREIGN KEY (`pertipopersona`)
REFERENCES `Colegio`.`tipos_personas` (`idtipos_personas`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Personas_localidad`
FOREIGN KEY (`perlocalidad`)
REFERENCES `Colegio`.`localidad` (`idlocalidad`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Personas_departamento`
FOREIGN KEY (`perdepartamento`)
REFERENCES `Colegio`.`departamento` (`iddepartamento`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Personas_tipos_documentos`
FOREIGN KEY (`Pertipodocumento`)
UNIVERSIDAD ABIERTA Y A DISTANCIA
PROYECTO DE GRADO 201014_45

REFERENCES `Colegio`.`tipos_documentos` (`idtipos_documentos`)


ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Personas_tipos_sexos`
FOREIGN KEY (`persexo`)
REFERENCES `Colegio`.`tipos_sexos` (`idsexos`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Personas_acudiente`
FOREIGN KEY (`peracudiente`)
REFERENCES `Colegio`.`Personas` (`PerCodigo`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Personas_niveles_formacion`
FOREIGN KEY (`pernivelformacion`)
REFERENCES `Colegio`.`tipos_niveles_formacion` (`idtipos_niveles_formacion`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Personas_grado`
FOREIGN KEY (`percurso`)
REFERENCES `Colegio`.`Cursos` (`idCursos`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;
UNIVERSIDAD ABIERTA Y A DISTANCIA
PROYECTO DE GRADO 201014_45

-- -----------------------------------------------------
-- Table `Colegio`.`Areas_academicas`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Colegio`.`Areas_academicas` (
`idAreas_academicas` INT NOT NULL AUTO_INCREMENT,
`descripcion` VARCHAR(45) NOT NULL,
PRIMARY KEY (`idAreas_academicas`))
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `Colegio`.`asignaturas`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Colegio`.`asignaturas` (
`idasignaturas` INT NOT NULL AUTO_INCREMENT,
`area_academica` INT NOT NULL,
`descripcion` VARCHAR(45) NOT NULL,
PRIMARY KEY (`idasignaturas`),
INDEX `fk_asignaturas_Areas_academicas1_idx` (`area_academica` ASC),
CONSTRAINT `fk_asignaturas_Areas_academicas1`
FOREIGN KEY (`area_academica`)
REFERENCES `Colegio`.`Areas_academicas` (`idAreas_academicas`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
UNIVERSIDAD ABIERTA Y A DISTANCIA
PROYECTO DE GRADO 201014_45

-- -----------------------------------------------------
-- Table `Colegio`.`profesores_asignaturas`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Colegio`.`profesores_asignaturas` (
`idprofesores_asignaturas` INT NOT NULL AUTO_INCREMENT,
`asignatura` INT NOT NULL,
`profesor` INT NOT NULL,
`curso` INT NOT NULL,
INDEX `fk_asignaturas_has_Personas_Personas1_idx` (`profesor` ASC),
INDEX `fk_asignaturas_has_Personas_asignaturas1_idx` (`asignatura` ASC),
PRIMARY KEY (`idprofesores_asignaturas`),
INDEX `fk_profesores_asignaturas_Cursos1_idx` (`curso` ASC),
CONSTRAINT `fk_asignaturas_has_Personas_asignaturas1`
FOREIGN KEY (`asignatura`)
REFERENCES `Colegio`.`asignaturas` (`idasignaturas`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_asignaturas_has_Personas_Personas1`
FOREIGN KEY (`profesor`)
REFERENCES `Colegio`.`Personas` (`PerCodigo`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_profesores_asignaturas_Cursos1`
FOREIGN KEY (`curso`)
UNIVERSIDAD ABIERTA Y A DISTANCIA
PROYECTO DE GRADO 201014_45

REFERENCES `Colegio`.`Cursos` (`idCursos`)


ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `Colegio`.`tipos_inasistencias`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Colegio`.`tipos_inasistencias` (
`idtipos_inasistencias` INT NOT NULL AUTO_INCREMENT,
`descripcion` VARCHAR(45) NOT NULL,
PRIMARY KEY (`idtipos_inasistencias`))
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `Colegio`.`inasistencias`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Colegio`.`inasistencias` (
`idinasistencias` INT NOT NULL AUTO_INCREMENT,
`tipo_inasistencia` INT NOT NULL,
`persona` INT NOT NULL,
`fecha` DATE NOT NULL,
PRIMARY KEY (`idinasistencias`),
INDEX `fk_inasistencias_tipos_idx` (`tipo_inasistencia` ASC),
UNIVERSIDAD ABIERTA Y A DISTANCIA
PROYECTO DE GRADO 201014_45

INDEX `fk_inasistencias_tipos_idx1` (`persona` ASC),


CONSTRAINT `fk_inasistencias_tipos`
FOREIGN KEY (`tipo_inasistencia`)
REFERENCES `Colegio`.`tipos_inasistencias` (`idtipos_inasistencias`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_inasistencias_personas`
FOREIGN KEY (`persona`)
REFERENCES `Colegio`.`Personas` (`PerCodigo`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `Colegio`.`tipos_permiso`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Colegio`.`tipos_permiso` (
`idtipos_permiso` INT NOT NULL AUTO_INCREMENT,
`descripcion` VARCHAR(45) NOT NULL,
PRIMARY KEY (`idtipos_permiso`))
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `Colegio`.`permisos`
UNIVERSIDAD ABIERTA Y A DISTANCIA
PROYECTO DE GRADO 201014_45

-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Colegio`.`permisos` (
`idpermisos` INT NOT NULL AUTO_INCREMENT,
`tipo_permiiso` INT NOT NULL,
`persona` INT NOT NULL,
`fechacreacion` DATE NOT NULL,
`descripcion` VARCHAR(100) NOT NULL,
PRIMARY KEY (`idpermisos`),
INDEX `fk_permisos_tipos_permiso1_idx` (`tipo_permiiso` ASC),
INDEX `fk_permisos_persona_idx` (`persona` ASC),
CONSTRAINT `fk_permisos_tipos_permiso1`
FOREIGN KEY (`tipo_permiiso`)
REFERENCES `Colegio`.`tipos_permiso` (`idtipos_permiso`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_permisos_persona`
FOREIGN KEY (`persona`)
REFERENCES `Colegio`.`Personas` (`PerCodigo`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `Colegio`.`tipos_sanciones`
-- -----------------------------------------------------
UNIVERSIDAD ABIERTA Y A DISTANCIA
PROYECTO DE GRADO 201014_45

CREATE TABLE IF NOT EXISTS `Colegio`.`tipos_sanciones` (


`idtipos_sanciones` INT NOT NULL AUTO_INCREMENT,
`descripcion` VARCHAR(45) NOT NULL,
PRIMARY KEY (`idtipos_sanciones`))
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `Colegio`.`sanciones`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Colegio`.`sanciones` (
`idsanciones` INT NOT NULL AUTO_INCREMENT,
`persona` INT NOT NULL,
`tipo_sancion` INT NOT NULL,
`fecha` DATE NOT NULL,
`descripcion` VARCHAR(45) NOT NULL,
PRIMARY KEY (`idsanciones`),
INDEX `fk_sanciones_tipos_idx` (`tipo_sancion` ASC),
INDEX `fk_sanciones_personas_idx` (`persona` ASC),
CONSTRAINT `fk_sanciones_tipos`
FOREIGN KEY (`tipo_sancion`)
REFERENCES `Colegio`.`tipos_sanciones` (`idtipos_sanciones`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_sanciones_personas`
FOREIGN KEY (`persona`)
UNIVERSIDAD ABIERTA Y A DISTANCIA
PROYECTO DE GRADO 201014_45

REFERENCES `Colegio`.`Personas` (`PerCodigo`)


ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `Colegio`.`proyectos`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Colegio`.`proyectos` (
`idproyectos` INT NOT NULL AUTO_INCREMENT,
`nombre` VARCHAR(45) NOT NULL,
`descripcion` VARCHAR(45) NOT NULL,
`Fechainicio` VARCHAR(45) NOT NULL,
`observacion` VARCHAR(45) NULL,
PRIMARY KEY (`idproyectos`))
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `Colegio`.`tipos_roles`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Colegio`.`tipos_roles` (
`idtipos_roles` INT NOT NULL AUTO_INCREMENT,
`descripcion` VARCHAR(45) NOT NULL,
PRIMARY KEY (`idtipos_roles`))
UNIVERSIDAD ABIERTA Y A DISTANCIA
PROYECTO DE GRADO 201014_45

ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `Colegio`.`miembros_proyectos`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Colegio`.`miembros_proyectos` (
`idmiembros_proyectos` INT NOT NULL AUTO_INCREMENT,
`proyecto` INT NOT NULL,
`persona` INT NOT NULL,
`rol` INT NOT NULL,
PRIMARY KEY (`idmiembros_proyectos`),
INDEX `fk_miembros_proyectos_proyectos1_idx` (`proyecto` ASC),
INDEX `fk_miembros_proyectos_tipos_roles1_idx` (`rol` ASC),
INDEX `fk_miembros_proyectos_Personas1_idx` (`persona` ASC),
CONSTRAINT `fk_miembros_proyectos_proyectos1`
FOREIGN KEY (`proyecto`)
REFERENCES `Colegio`.`proyectos` (`idproyectos`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_miembros_proyectos_Personas1`
FOREIGN KEY (`persona`)
REFERENCES `Colegio`.`Personas` (`PerCodigo`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_miembros_proyectos_tipos_roles1`
UNIVERSIDAD ABIERTA Y A DISTANCIA
PROYECTO DE GRADO 201014_45

FOREIGN KEY (`rol`)


REFERENCES `Colegio`.`tipos_roles` (`idtipos_roles`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `Colegio`.`periodo`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Colegio`.`periodo` (
`idperiodo` INT NOT NULL AUTO_INCREMENT,
`descripcion` VARCHAR(45) NOT NULL,
PRIMARY KEY (`idperiodo`))
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `Colegio`.`informacion_academica`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Colegio`.`informacion_academica` (
`idinformacion_academica` INT NOT NULL AUTO_INCREMENT,
`persona` INT NOT NULL,
`profesor` INT NOT NULL,
`asignatura` INT NOT NULL,
`curso` INT NOT NULL,
UNIVERSIDAD ABIERTA Y A DISTANCIA
PROYECTO DE GRADO 201014_45

`periodo` INT NOT NULL,


`calificacion` INT NOT NULL,
`ano` VARCHAR(5) NOT NULL,
`fecha_creacion` DATE NOT NULL,
PRIMARY KEY (`idinformacion_academica`),
INDEX `fk_informacion_academica_periodo1_idx` (`periodo` ASC),
INDEX `fk_informacion_acade_personas_idx` (`persona` ASC),
INDEX `fk_informacion_acade_personas2_idx` (`profesor` ASC),
INDEX `fk_informacion_acade_asignatura_idx` (`asignatura` ASC),
INDEX `fk_informacion_acade_curso_idx` (`curso` ASC),
CONSTRAINT `fk_informacion_academica_periodo1`
FOREIGN KEY (`periodo`)
REFERENCES `Colegio`.`periodo` (`idperiodo`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_informacion_acade_personas`
FOREIGN KEY (`persona`)
REFERENCES `Colegio`.`Personas` (`PerCodigo`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_informacion_acade_personas2`
FOREIGN KEY (`profesor`)
REFERENCES `Colegio`.`Personas` (`PerCodigo`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_informacion_acade_asignatura`
UNIVERSIDAD ABIERTA Y A DISTANCIA
PROYECTO DE GRADO 201014_45

FOREIGN KEY (`asignatura`)


REFERENCES `Colegio`.`asignaturas` (`idasignaturas`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_informacion_acade_curso`
FOREIGN KEY (`curso`)
REFERENCES `Colegio`.`Cursos` (`idCursos`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `Colegio`.`log_cambios_estados`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Colegio`.`log_cambios_estados` (
`idlog_cambios_estados` INT NOT NULL AUTO_INCREMENT,
`persona` INT NOT NULL,
`fecha_cambio_estado` DATE NOT NULL,
`estado_asignado` INT NOT NULL,
`observaciuon` VARCHAR(100) NULL,
PRIMARY KEY (`idlog_cambios_estados`),
INDEX `fk_log_cambios_estados_Personas1_idx` (`persona` ASC),
INDEX `fk_log_cambios_estados_Estados1_idx` (`estado_asignado` ASC),
CONSTRAINT `fk_log_cambios_estados_Personas1`
FOREIGN KEY (`persona`)
UNIVERSIDAD ABIERTA Y A DISTANCIA
PROYECTO DE GRADO 201014_45

REFERENCES `Colegio`.`Personas` (`PerCodigo`)


ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_log_cambios_estados_Estados1`
FOREIGN KEY (`estado_asignado`)
REFERENCES `Colegio`.`Estados` (`idEstados`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;

SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

También podría gustarte