Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PRESENTADO POR:
PRESENTADO A:
INSTRUCTOR. NELSON LOPEZ HIDALGO
Actualmente las empresas hoy en día les exigen rapidez y competitividad para tener
su información y poder tomar buenas decisiones. Para conseguirlo existe cada vez
una mayor demanda de datos y por lo tanto una mejor gestión de ellos.
En informática se conoce como dato cualquier variable, atributo que indica un valor,
elemento informativo que tenga relevancia para un usuario. Desde su nacimiento,
la informática se ha encargado de proporcionar herramientas que faciliten la
manipulación de los datos. Antes de la aparición de las aplicaciones informáticas,
las empresas tenían como únicas herramientas de gestión de datos los ficheros con
cajones, carpetas y fichas de cartón. En este proceso manual, el tiempo requerido
para manipular estos datos era enorme. Pero la propia informática ha adaptado sus
herramientas para que los elementos que el usuario utiliza en cuanto a manejo de
datos se parezcan a los manuales. Por eso se sigue hablado de ficheros,
formularios, carpetas, directorios,
OBJETIVO GENERAL
OBJETIVOS ESPECIFICOS
Visualizar el diseño lógico con cada una de sus tablas y sus relaciones
Mostrar el diccionario de Datos de cada uno de los campos de las tablas.
Generar del código MySQL del Script de la base de datos del diseño lógico
DISEÑO LOGICO DE LA BASE DE DATOS
DICCIONARIO DE DATOS
TABLA: LOCALIDADES
CAMPO TAMAÑO TIPO DE DATO DESCRIPCION
Id (Primaria) 11 Int Esta columna
representa la llave
primaria de cada
localidad
Nombre 145 Varchar Esta columna
representa el
nombre de
la localidad
TABLA: AREA
CAMPO TAMAÑO TIPO DE DATO DESCRIPCION
Id (Primaria) 11 Int Esta columna
representa la llave
primaria de cada
área
Nombre 145 Varchar Esta columna
representa el
nombre del área
TABLA: BARRIOS
CAMPO TAMAÑO TIPO DE DESCRIPCION
DATO
Id (Primaria) 11 Int Esta columna
representa la
llave primaria de
cada barrio
Nombre 145 Varchar Esta columna
representa el
nombre del
barrio
Estrato 11 Int Esta columna
representa el
nivel
socioeconómico
de cada barrio y
es un valor
entero que va
del 1 al 6
Cantidad_Habitantes 45 Varchar Esta columna
representa la
cantidad de
habitantes de
cada barrio
Fk_Barrios_Localidades_Idx Foreign key Esta columna
representa la
llave foránea de
localidades
Fk_Barrios_Area_Idx Foreign key Esta columna
representa la
llave foránea de
area
TABLA: RUTAS
CAMPO TAMAÑO TIPO DE DATO DESCRIPCION
Id (Primaria) 11 Int Esta columna
representa la llave
primaria de cada
ruta
Nombre 45 Varchar Esta columna
representa el
nombre de cada
ruta
TABLA: BARRIOS_RUTAS
CAMPO TAMAÑO TIPO DE DATO DESCRIPCION
Barrios_Id 11 Int Esta columna
representa la llave
foránea de los
barrios de estratos
1 y 2 donde está
la información de
las rutas que
cubre esos
barrios.
Rutas_Id 11 Int Esta columna
representa la llave
foránea de las
rutas de
transporte que
cubre a los
estratos 1 y 2.
TABLA: FAMILIAS
CAMPO TAMAÑO TIPO DE DATO DESCRIPCION
Id (Primaria) 11 Int Esta columna
representa la
llave primaria de
cada familia
Dirección 45 Varchar Esta columna
representa la
dirección de
cada familia.
Teléfono 45 Varchar Esta columna
representa el
teléfono de cada
familia.
Ingreso_Familiar 45 Varchar Esta columna
representa el
ingreso familiar
de cada familia.
Tipo_Habitacion 11 Int Esta columna
representa el
tipo de
habitación de la
familia, (Donde
1= propia,
2=arriendo, 3=
familiar)
Fk_Familias_Barrios1_idx Foreign key Esta columna
representa la
llave foránea de
barrios.
TABLA: MIEMBROS
CAMPO TAMAÑO TIPO DE DESCRIPCION
DATO
Id (Primaria) 11 Int Esta columna
representa la
llave primaria de
cada miembro
de cada familia.
Nombres 45 Varchar Esta columna
representa los
nombres de
cada miembro
de cada familia.
Apellidos 45 Varchar Esta columna
representa los
apellidos de
cada miembro
de cada familia.
Fecha_nacimiento 8 Date Esta columna
representa la
fecha de
nacimiento de
cada miembro
de cada familia.
Lugar_nacimiento 45 Varchar Esta columna
representa el
lugar de
nacimiento de
cada miembro
de cada familia.
Tipo_Documento 45 Varchar Esta columna
representa el
tipo de
documento de
cada miembro
de cada familia.
Numero_Identificacion 11 Int Esta columna
representa el
número de
identificación de
cada miembro
de cada familia.
Fk_Miembros_Familias1_idx Foreign key Esta columna
representa la
llave foránea de
familias.
TABLA: INFO_ESCOLAR (Jovenes)
CAMPO TAMAÑO TIPO DESCRIPCION
DE
DATO
Id (Primaria) 11 Int Esta columna
representa la llave
primaria de
información tipo
escolar.
Nombre_Plantel 45 Varchar Esta columna
representa el
nombre del plantel
de la información
tipo escolar.
Año_Grado 45 Varchar Esta columna
representa el año de
graduación de la
información tipo
escolar.
Jornada 45 Varchar Esta columna
representa la
jornada escolar (1=
Diurno, 2=Nocturno,
3=Fin de semana)
Modalidad 45 Varchar Esta columna
representa la
modalidad de la
información tipo
escolar (1= Formal,
2= Convencional).
Pertenece_Area 11 Int Esta columna
representa
PERTENECE_AREA
si es 1=Si pertenece
al área, 0= No
pertenece al área de
la localidad.
Fk_Info_Escolar_Miembros1_idx Foreign Esta columna
key representa la llave
foránea de
Miembros.
-- -----------------------------------------------------
-- Schema BD_CASO_ESTUDIO
-- -----------------------------------------------------
--
--
-- -----------------------------------------------------
-- Schema BD_CASO_ESTUDIO
--
--
--
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `BD_CASO_ESTUDIO` DEFAULT
CHARACTER SET utf8 COLLATE utf8_bin ;
USE `BD_CASO_ESTUDIO` ;
-- -----------------------------------------------------
-- Table `BD_CASO_ESTUDIO`.`LOCALIDADES`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `BD_CASO_ESTUDIO`.`LOCALIDADES` (
`Id` INT NULL AUTO_INCREMENT COMMENT 'Esta columna representa la llave
primaria de cada localidad',
`NOMBRE` VARCHAR(145) NULL COMMENT 'Esta columna representa el
nombre de la localidad',
PRIMARY KEY (`Id`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `BD_CASO_ESTUDIO`.`AREA`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `BD_CASO_ESTUDIO`.`AREA` (
`Id` INT NOT NULL AUTO_INCREMENT COMMENT 'Esta columna representa la
llave primaria de cada area',
`NOMBRE` VARCHAR(145) NULL COMMENT 'Esta columna representa el
nombre del area',
PRIMARY KEY (`Id`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `BD_CASO_ESTUDIO`.`BARRIOS`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `BD_CASO_ESTUDIO`.`BARRIOS` (
`Id` INT NOT NULL AUTO_INCREMENT COMMENT 'Esta columna representa la
llave primaria de cada barrio ',
`NOMBRE` VARCHAR(145) NULL COMMENT 'Esta columna representa el
nombre del barrio',
`LOCALIDADES_Id` INT NOT NULL,
`AREA_Id` INT NOT NULL,
`ESTRATO` INT NULL COMMENT 'Esta columna representa el nivel
socioeconomico de cada barrio y es un valor entero que va del 1 al 6',
`CANTIDAD_HABITANTES` VARCHAR(45) NULL COMMENT 'Esta columna
representa la cantidad de habitantes de cada barrio',
PRIMARY KEY (`Id`),
INDEX `fk_BARRIOS_LOCALIDADES_idx` (`LOCALIDADES_Id` ASC) VISIBLE,
INDEX `fk_BARRIOS_AREA1_idx` (`AREA_Id` ASC) VISIBLE,
CONSTRAINT `fk_BARRIOS_LOCALIDADES`
FOREIGN KEY (`LOCALIDADES_Id`)
REFERENCES `BD_CASO_ESTUDIO`.`LOCALIDADES` (`Id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_BARRIOS_AREA1`
FOREIGN KEY (`AREA_Id`)
REFERENCES `BD_CASO_ESTUDIO`.`AREA` (`Id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `BD_CASO_ESTUDIO`.`RUTAS`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `BD_CASO_ESTUDIO`.`RUTAS` (
`Id` INT NOT NULL AUTO_INCREMENT COMMENT 'Esta columna representa la
llave primaria de cada ruta',
`NOMBRE` VARCHAR(45) NULL COMMENT 'Esta columna representa el
nombre de cada ruta',
PRIMARY KEY (`Id`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `BD_CASO_ESTUDIO`.`BARRIOS_RUTAS`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `BD_CASO_ESTUDIO`.`BARRIOS_RUTAS` (
`BARRIOS_Id` INT NOT NULL,
`RUTAS_Id` INT NOT NULL,
PRIMARY KEY (`BARRIOS_Id`, `RUTAS_Id`),
INDEX `fk_BARRIOS_has_RUTAS_RUTAS1_idx` (`RUTAS_Id` ASC) VISIBLE,
INDEX `fk_BARRIOS_has_RUTAS_BARRIOS1_idx` (`BARRIOS_Id` ASC)
VISIBLE,
CONSTRAINT `fk_BARRIOS_has_RUTAS_BARRIOS1`
FOREIGN KEY (`BARRIOS_Id`)
REFERENCES `BD_CASO_ESTUDIO`.`BARRIOS` (`Id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_BARRIOS_has_RUTAS_RUTAS1`
FOREIGN KEY (`RUTAS_Id`)
REFERENCES `BD_CASO_ESTUDIO`.`RUTAS` (`Id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `BD_CASO_ESTUDIO`.`FAMILIAS`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `BD_CASO_ESTUDIO`.`FAMILIAS` (
`Id` INT NOT NULL AUTO_INCREMENT COMMENT 'Esta columna representa la
llave primaria de cada familia',
`DIRECCION` VARCHAR(45) NULL COMMENT 'Esta columna representa la
direccion de cada familia.',
`TELEFONO` VARCHAR(45) NULL COMMENT 'Esta columna representa el
telefono de cada familia.',
`INGRESO_FAMILIAR` VARCHAR(45) NULL COMMENT 'Esta columna
representa el ingreso familiar de cada familia.',
`FAMILIAScol` FLOAT NULL,
`TIPO_HABITACION` INT NULL COMMENT 'Esta columna representa el tipo de
habitacion de la familia, (Donde 1= propia, 2=arriendo, 3= familiar)',
`BARRIOS_Id` INT NOT NULL,
PRIMARY KEY (`Id`),
INDEX `fk_FAMILIAS_BARRIOS1_idx` (`BARRIOS_Id` ASC) VISIBLE,
CONSTRAINT `fk_FAMILIAS_BARRIOS1`
FOREIGN KEY (`BARRIOS_Id`)
REFERENCES `BD_CASO_ESTUDIO`.`BARRIOS` (`Id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `BD_CASO_ESTUDIO`.`MIEMBROS`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `BD_CASO_ESTUDIO`.`MIEMBROS` (
`Id` INT NOT NULL AUTO_INCREMENT COMMENT 'Esta columna representa la
llave primaria de cada miembro de cada familia.',
`FECHA_NACIMIENTO` DATE NULL COMMENT 'Esta columna representa la
fecha de nacimiento de cada miembro de cada familia.',
`LUGAR_NACIMIENTO` VARCHAR(45) NULL COMMENT 'Esta columna
representa el lugar de nacimiento de cada miembro de cada familia.',
`NOMBRES` VARCHAR(45) NULL COMMENT 'Esta columna representa el
nombre de cada miembro de cada familia.',
`APELLIDOS` VARCHAR(45) NULL COMMENT 'Esta columna representa el
apellido de cada miembro de cada familia.',
`TIPO_DOCUMENTO` VARCHAR(45) NULL COMMENT 'Esta columna
representa el tipo de documento de cada miembro de cada familia.',
`NUMERO_IDENTIFICACION` INT NULL COMMENT 'Esta columna representa
el numero de identificacion de cada miembro de cada familia.',
`FAMILIAS_Id` INT NOT NULL,
PRIMARY KEY (`Id`),
INDEX `fk_MIEMBROS_FAMILIAS1_idx` (`FAMILIAS_Id` ASC) VISIBLE,
CONSTRAINT `fk_MIEMBROS_FAMILIAS1`
FOREIGN KEY (`FAMILIAS_Id`)
REFERENCES `BD_CASO_ESTUDIO`.`FAMILIAS` (`Id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `BD_CASO_ESTUDIO`.`INFO_GUARDERIAS`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `BD_CASO_ESTUDIO`.`INFO_GUARDERIAS` (
`Id` INT NOT NULL AUTO_INCREMENT COMMENT 'Esta columna representa la
llave primaria sobre el uso de la guarderia infantil.',
`NOMBRE` VARCHAR(45) NULL COMMENT 'Esta columna representa el
nombre sobre el uso de la guarderia infantil.',
`MIEMBROS_Id` INT NOT NULL,
`MENSUALIDAD` FLOAT NULL COMMENT 'Esta columna representa la
mensualidad sobre el uso de la guarderia infantil.',
`TIPO_GUARDERIA` VARCHAR(45) NULL COMMENT 'Esta columna
representael tipo de guarderia inantil (1= publica, 2= privada). ',
`PERTENECE_AREA` INT NULL COMMENT 'PERTENECE_AREA si es 1=Si
pertenece al area, 0= No pertenece al area.',
PRIMARY KEY (`Id`),
INDEX `fk_INFO_GUARDERIAS_MIEMBROS1_idx` (`MIEMBROS_Id` ASC)
VISIBLE,
CONSTRAINT `fk_INFO_GUARDERIAS_MIEMBROS1`
FOREIGN KEY (`MIEMBROS_Id`)
REFERENCES `BD_CASO_ESTUDIO`.`MIEMBROS` (`Id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `BD_CASO_ESTUDIO`.`INFO_ENFERMEDADES`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS
`BD_CASO_ESTUDIO`.`INFO_ENFERMEDADES` (
`Id` INT NOT NULL AUTO_INCREMENT COMMENT 'Esta columna representa la
llave primaria sobre las enfermedades que tiene o ha tenido.',
`NOMBRE` VARCHAR(45) NULL COMMENT 'Esta columna representa el
nombre de las enfermedades que tiene o ha tenido.',
`MIEMBROS_Id` INT NOT NULL,
`TIPO_ENFERMEDAD` VARCHAR(45) NULL COMMENT 'Esta columna
representa el tipo de enfermedad que tiene o ha tenido.',
`AÑO_ENFERMEDAD` VARCHAR(45) NULL COMMENT 'Esta columna
representa el año en que tiene o ha tenido la enfermedad.',
PRIMARY KEY (`Id`),
INDEX `fk_INFO_ENFERMEDADES_MIEMBROS1_idx` (`MIEMBROS_Id` ASC)
VISIBLE,
CONSTRAINT `fk_INFO_ENFERMEDADES_MIEMBROS1`
FOREIGN KEY (`MIEMBROS_Id`)
REFERENCES `BD_CASO_ESTUDIO`.`MIEMBROS` (`Id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `BD_CASO_ESTUDIO`.`INFO_ESCOLAR`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `BD_CASO_ESTUDIO`.`INFO_ESCOLAR` (
`Id` INT NOT NULL AUTO_INCREMENT COMMENT 'Esta columna representa la
llave primaria de informacion tipo escolar.',
`NOMBRE_PLANTEL` VARCHAR(45) NULL COMMENT 'Esta columna
representa el nombre del plantel de la informacion tipo escolar.',
`AÑO_GRADO` VARCHAR(45) NULL COMMENT 'Esta columna representa el
año de graduacion de la informacion tipo escolar.',
`JORNADA` VARCHAR(45) NULL COMMENT 'Esta columna representa la
jornada escolar (1= Diurno, 2=Nocturno, 3=Fin de semana)',
`MODALIDAD` VARCHAR(45) NULL COMMENT 'Esta columna representa la
modalidad de la informacion tipo escolar(1= Formal, 2= Convencional).',
`MIEMBROS_Id` INT NOT NULL,
`PERTENECE_AREA` INT NULL COMMENT 'PERTENECE_AREA si es 1=Si
pertenece al area, 0= No pertenece al area.',
PRIMARY KEY (`Id`),
INDEX `fk_INFO_ESCOLAR_MIEMBROS1_idx` (`MIEMBROS_Id` ASC)
VISIBLE,
CONSTRAINT `fk_INFO_ESCOLAR_MIEMBROS1`
FOREIGN KEY (`MIEMBROS_Id`)
REFERENCES `BD_CASO_ESTUDIO`.`MIEMBROS` (`Id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `BD_CASO_ESTUDIO`.`INFO_LABORAL`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `BD_CASO_ESTUDIO`.`INFO_LABORAL` (
`Id` INT NOT NULL AUTO_INCREMENT COMMENT 'Esta columna representa la
llave primaria de informacion tipo laboral.',
`EMPRESA` VARCHAR(45) NULL COMMENT 'Esta columna representa el
nombre de la empresa para la informacion tipo laboral.',
`CARGO` VARCHAR(45) NULL COMMENT 'Esta columna representa el cargo
de la empresa para la informacion tipo laboral.',
`ANTIGUEDAD` VARCHAR(45) NULL COMMENT 'Esta columna representa la
antiguedad de la empresa para la informacion tipo laboral.',
`SUELDO` VARCHAR(45) NULL COMMENT 'Esta columna representa el sueldo
de la empresa para la informacion tipo laboral.',
`MIEMBROS_Id` INT NOT NULL,
`PERTENECE_AREA` INT NULL COMMENT 'PERTENECE_AREA si es 1=Si
pertenece al area, 0= No pertenece al area.',
PRIMARY KEY (`Id`),
INDEX `fk_INFO_LABORAL_MIEMBROS1_idx` (`MIEMBROS_Id` ASC)
VISIBLE,
CONSTRAINT `fk_INFO_LABORAL_MIEMBROS1`
FOREIGN KEY (`MIEMBROS_Id`)
REFERENCES `BD_CASO_ESTUDIO`.`MIEMBROS` (`Id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
BIBLIOGRAFÍA