Control 4 fundamentos de base de datos
Enviado por yurek • 9 de Enero de 2018 • Trabajo • 693 Palabras (3 Páginas) • 586 Visitas
INSTRUCCIONES: Revise el siguiente caso de estudio y responda a los requerimientos
planteados:
Imagínese que usted ha sido contratado para diseñar la base de datos de un sistema que se
encargará de registrar las citas médicas de una clínica que recién empezará a ofrecer sus
servicios. Es por ello que debe crear una tabla para médicos, una para pacientes y una para la
cita_médica. Usted será el encargado de decidir los atributos que almacenará en cada tabla.
Es por ello que deberá elaborar:
1) Sentencia de creación de tablas para cada una de las tablas. Deberá entregar tres (3)
en total.
2) Sentencia de inserción de datos en cada tabla, mínimo 3 registros en cada tabla.
Deberá entregar como mínimo nueve (9) sentencias (3 por cada tabla).
3) Consulta en SQL que retorne por cada tabla los registros que esta tiene. Deberá
entregar tres (3) consultas en SQL.
Incluir en cada una de las sentencias y consultas una breve explicación de lo realizado.
DESARROLLO:
Para la creación se las sentencas de creación de tablas, se apoya en la herramienta Mysql Workbench.
1) Tablas
Tabla Medico: Se podrían crear tablas apartes para guardar datos dedicados aparte de los doctores, por ejemplo una tabla especialidad, números de contacto. Etc. (se reducen los datos por formalización)
CREATE TABLE `test`.`Tbl_Medicos` (
`idTbl_Medicos` INT NOT NULL,
`Med_Rut` VARCHAR(45) NULL COMMENT ' ',
`Med_Nombres` VARCHAR(45) NULL,
`Med_Apellidos` VARCHAR(45) NULL,
`Med_Celular` VARCHAR(45) NULL,
`Med_Fec_Nac`DATE NULL,
`Med_Especialidad` VARCHAR(45) NULL,
PRIMARY KEY (`idTbl_Medicos`));
Tabla Pacientes: Mismo criterio, se puede utilizar otra tabla para medios de contacto, y para guardar las previsiónes e isapres.
CREATE TABLE `test`.`Tbl_Pacientes` (
`idTbl_Pacientes` INT NOT NULL,
`Pac_Rut` VARCHAR(45) NULL,
`Pac_Nombres` VARCHAR(45) NULL,
`Pac_Apellidos` VARCHAR(45) NULL,
`Pac_Fec_Nac` DATE NULL,
`Pac_Celular` VARCHAR(45) NULL,
`Pac_Prevision` VARCHAR(45) NULL,
PRIMARY KEY (`idTbl_Pacientes`));
Tabla Citas Medicas: Para la creación de las citas, sólamente se considera un costo total, y no un desglose que llevaría una boleta con detalles de la atención. Se tiene mayor cuidado de referenciar el ID del doctor con el ID del paciente, que en este caso serían los Primary Keys de cada tabla, resultando en referencias de llaves foráneas.
CREATE TABLE `test`.`Tbl_CitasMedicas` (
`idTbl_CitasMedicas` INT NOT NULL,
`Tbl_idDoc` INT NOT NULL,
`Tbl_idPac` INT NOT NULL,
`Tbl_CitasMedicas_Fecha_Atencion` DATE NOT NULL,
`Tbl_CitasMedicas_Diagnostico` VARCHAR(1000) NOT NULL,
`Tbl_CitasMedicas_Fecha_ProxChequeo` DATE NULL,
`Tbl_CitasMedicas_Costo_Total` INT NOT NULL,
`Tbl_CitasMedicas_Medio_Pago` VARCHAR(45) NOT NULL,
PRIMARY KEY (`idTbl_CitasMedicas`),
INDEX `fk_Tbl_CitasMedicas_1_idx` (`Tbl_idDoc` ASC),
INDEX `fk_Tbl_CitasMedicas_Tbl_Pacientes_idx` (`Tbl_idPac` ASC),
CONSTRAINT `fk_Tbl_CitasMedicas_Tbl_Medicos`
FOREIGN KEY (`Tbl_idDoc`)
REFERENCES `test`.`Tbl_Medicos` (`idTbl_Medicos`)
ON DELETE RESTRICT
ON UPDATE CASCADE,
CONSTRAINT `fk_Tbl_CitasMedicas_Tbl_Pacientes`
FOREIGN KEY (`Tbl_idPac`)
REFERENCES `test`.`Tbl_Pacientes` (`idTbl_Pacientes`)
ON DELETE RESTRICT
ON UPDATE CASCADE);
2) Sentencias de insernción
2.1) Medicos
Se insertan los siguientes datos de prueba (datos ficticios con nombres falsos) para verificar integridad de la base de datos:
INSERT INTO `test`.`Tbl_Medicos`(`idTbl_Medicos`, `Med_Rut`, `Med_Nombres`, `Med_Apellidos`, `Med_Celular`, `Med_Fec_Nac`, `Med_Especialidad`)
...