Control N°4 ARNOLDO EYZAGUIRRE SOTO Fundamento de Base de Datos Instituto IACC 21 de mayo del 2018
Desarrollo
a. 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: a. Sentencia de creación de tablas para cada una de las tablas, donde deberá entregar tres (3) en total. b. 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). c. Consulta en SQL que retorne por cada tabla los registros que esta tiene. De berá entregar tres (3) consultas en SQL
Desarrollo a. Sentencia de creación de tablas para cada una de las tablas, donde deberá entregar tres (3) en total.
Tabla para médicos:
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 para pacientes:
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 para citas:
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);
b. 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).
Tabla para Médicos:
Para la tabla medico se va a insertar los datos del doctor Pablo Melendez, con identificación 7584352-7 y registro medico 10122018. La sentencia de inserción sería:
INSERT INTO TblMedico (MedIdentificacion, MedNombres, MedApellidos, MedRegistro) VALUES (7584352-7, ‘Pablo’, ‘Melendez’, 10122018)
En la tabla médicos se insertan los datos del doctor Pedro Pargas, con identificación 13678908-2 y registro medico 10132018 La sentencia de inserción sería:
INSERT INTO TblMedico (MedIdentificacion, MedNombres, MedApellidos, MedRegistro) VALUES (13678908-2, ‘Pedro’, ‘Pargas’, 10132018)
El siguiente dato de médico es del doctor Antonio Llanos, con identificación 14125987-8 y registro medico 10142018 La sentencia de inserción sería:
INSERT INTO TblMedico (MedIdentificacion, MedNombres, MedApellidos, MedRegistro) VALUES (14125987-8, ‘Antonio’, ‘Llanos’, 10142018)
Los datos de tipo alfanumérico, así como las fech as, generalmente se escriben entre comillas simples o dobles dependiendo del SMBD a usar.
Tabla para pacientes
INSERT INTO Tblpacientes (Id_pacientes, Pac_Nombres, Pac_Apellidos) VALUES (02, ‘Luis’, ‘Pinto’);
INSERT INTO Tblpacientes (Id_pacientes, Pac_Nombres, Pac_Apellidos) VALUES (03, ‘Lucas’, ‘Barrios’);
INSERT INTO Tblpacientes (Id_pacientes, Pac_Nombres, Pac_Apellidos) VALUES (04, ‘Claudia’, ‘Cordova’)
Tabla para citas
INSERT INTO Tblcitas (Cod_citas, Nom_especialidad) VALUES (04, ‘PEDIATRIA’); INSERT INTO Tblcitas Cod_citas, Fecha_citas, Nom_especialidad) VALUES (05, ’01-10-2017’ , ‘PEDIATRIA’); INSERT INTO Tblcitas Cod_citas, Fecha_citas, Nom_especialidad) VALUES (06, ’01-10-2017’ , ‘MEDICINA GENERAL’);
c. Consulta en SQL que retorne por cada tabla los registros que esta tiene. Deberá entregar tres (3) consultas en SQL
Tabla para pacientes:
SELECT * FROM Tblpacientes ORDER BY Id_pacientes;
o
SELECT Id_pacientes, Pac_Nombres, Pac_Apellidos FROM Tblpacientes ORDER BY Id_pacientes;
Tabla para Médicos
SELECT * FROM TblMedico ORDER BY MedIdentificacion;
o
SELECT MedIdentificacion, MedNombres, MedApellidos, MedRegistro FROM TblMedico ORDER BY MedIdentificacion;
Si la consulta que se requiere implica que solo se necesitan aquellos registros donde el nombre sea “Antonio Llanos”, el código sería así:
SELECT * FROM TblMedico WHERE MedNombres = 'Antonio', MedApellidos = 'Llanos'; O SELECT MedIdentificacion, MedNombres, MedApellidos, MedRegistro FROM TblMedico WHERE MedNombres = 'Antonio', MedApellidos = 'Llanos';
Tabla para citas
Si se quisiera hacer una consulta que devuelva todos los registros SELECT * FROM Tblcitas; O SELECT Cod_citas, Fecha_citas, Nom_especialidad FROM Tblcitas;
2. Usted ha sido seleccionado por el profesor de la asignatura de Fundamentos de Bases de Datos para explicar brevemente los Lenguajes de Manipulación (DML) y de Definición de Datos (DDL), un compañero le expone que para él son lo mismo, sin embargo, usted no está de acuerdo con ello. Ante eso, ¿qué diferencias puede indicarle a su compañero entre los DDL y DML? Fundamente con algún ejemplo lo antes mencionado.
El lenguaje de definición de datos, o comandos DDL (Data definition Language ó Lenguaje de definición de datos), se utiliza para crear, cambiar y destruir estructuras lógicas que constituyen el modelo lógico. En el fondo es para crear y modificar objetos. El resultado de la compilación de estas instrucciones es un conjunto de tablas, relaciones y reglas cuyas definiciones quedan almacenadas en un archivo (tabla u otro medio de almacenamiento) que contiene “metadatos”, esto es, datos acerca de datos. Entre estos comandos se encuentran: CREATE, ALTER, DROP, TRUNCATE, COMMENT, RENAME, entre otros.
Los comandos DML (Data Manipulation Language) o lenguaje de manipulación de datos, son aquellos que permiten insertar, devolver, actualizar o eliminar registros de determinada tabla de una base de datos, es decir, son las que permiten visualizar y modificar los datos de las tablas. Son comandos muy útiles, ya que sin ellos no sería posible tener data almacenada ni recuperarla para su posterior uso. Entre sus comandos se encuentran SELECT, INSERT, UPDATE, DELETE, etc. Un DML es un sublenguaje de consulta y manipulación de datos, entendiendo por manipulación de datos la: Recuperación de Información. Inserción de nueva Información. Eliminación (Borrado) de información existente. Modificación de Información Almacenada.
Comando
Descripción
SELECT
Utilizado para consultar registros de la base de dat os que satisfagan un criterio determinado
INSERT
Utilizado para cargar lotes de datos en la base de datos en una única operación.
UPDATE
Utilizado para modificar los valores de los campos y registros especificados
DELETE
Utilizado para eliminar registros de una tabla de una base de datos
Ejemplo de Insert. Insert into alumnos values(90,”Pedro”,”Luis”,”José”);
Ejemplo de Delete. Delete from alumnos where edad>=40;
Ejemplo de Update. Update productos set precio=precio*1.15 where categoria=farmacia;
3. Usted ha sido contratado por una empresa desarrolladora de software para trabajar directamente con la base de datos de un sistema para el control de acceso de personal. Al entrevistarse con el cliente, este le indica que está muy preocupado porque le han dicho que al tener un sistema sólo podrá contar con los reportes que se soliciten en un principio, ya que las consultas sobre la base de datos son limitadas. ¿Es real esto?, ¿qué podría indicarle al c liente para calmarlo? Fundamente su respuesta.
Una Base de Datos es una herramienta diseñada según la necesidad del cliente, por lo tanto un sistema de control de acceso solo es una Base de Datos más, pero con un diseño que permita obtener los informes diarios y en tiempo real. La Base de Datos es una herramienta que sirve para organizar, gestionar y recuperar los datos que se encuentran almacenados en una base de datos relacional, lo que implicaría que permite que exista una comunicación con el sistema de gestión de la base de datos.
Como resumen podemos indicar los siguientes aspectos importantes: a. Este lenguaje está pensado para cualquier tipo de usuarios, es decir, desde administradores de bases de datos, pasando por desarrolladores, hasta usuarios finales normales. b. Al utilizar SQL, el usuario solo se encarga de especificar lo que necesita, no se preocupa por establecer dónde ni cómo. c. El lenguaje SQL permite realizar cualquier tipo de consulta a los datos almacenados en la base de datos. d. SQL permite realizar consultas, actualizaciones, definiciones de datos y control.
Bibliografía
Contenido de la semana