Lenguaje SQL Eduardo Andrés Flores Sepúlveda Fundamentos de Bases de Datos Instituto IACC 22 de Julio de 2018
Desarrollo 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:
Sentencia de creación de tablas para cada una de las tablas. Deberá entregar tres (3) en total.
Tabla para médicos Create table TblMedico (MedIdentificacion Char(10) Primary Key not null, MedNombres Varchar (50) not null, MedApellidos Varchar(50) not null MedRegistro Char(10) not null )
Tabla para pacientes Create table Tblpacientes (Id_pacientes(10) Primary Key not null, Pac_Nombres Varchar (50) not null, Pac_Apellidos Varchar(50) not null )
Tabla para citas Create table Tblcitas (Cod_citas Char(10) Primary Key not null, Fecha_citas date, Nom_especialidad Varchar(18) not null)
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 Siguiendo con la tabla de la pregunta anterior, esto puede quedar de la siguiente manera: En la tabla medico se va a insertar los datos del nombre del doctor, con su identificación (cedula de identidad) y el número de registro médico. Por lo que la sentencia de inserción quedaría de la siguiente forma: INSERT INTO TblMedico (MedIdentificacion, MedNombres, MedApellidos, MedRegistro) VALUES (17845356-2, ‘Eduardo’, ‘Flores’, 6556874)
El registro de los datos de tipo alfanumérico, y las fechas, generalmente se escriben entre comillas simples o también pueden ser doble comillas, dependiendo del SMBD a usar.
Tabla para pacientes INSERT INTO Tblpacientes (Id_pacientes, Pac_Nombres, Pac_Apellidos) VALUES (02, ‘Eduardo’, ‘Flores’); INSERT INTO Tblpacientes (Id_pacientes, Pac_Nombres, Pac_Apellidos) VALUES (03, ‘María’, ‘Toro’); INSERT INTO Tblpacientes (Id_pacientes, Pac_Nombres, Pac_Apellidos) VALUES (04, ‘Jesús’, ‘Parra’) OTRA FORMA INSERT INTO Tblpacientes VALUES (04, ‘Leonor ’, ‘Gutiérrez’) Ambos ejemplos son lo mismo y con los que se obtienen el mismo resultado, sin embargo la diferencia está en que, en la primera se especifican cada una de las columnas en la cual insertaremos datos. Tabla para citas INSERT INTO Tblcitas (Cod_citas, Nom_especialidad) VALUES (04, ‘TRAUMATOLOGIA’); INSERT INTO Tblcitas Cod_citas, Fecha_citas, Nom_especialidad) VALUES (05, ’04-032017’,
‘TRAUMATOLOGIA’);
INSERT
INTO
Tblcitas
Cod_citas,
Fecha_citas,
Nom_especialidad) VALUES (06,’04-03-2017’, ‘MEDICINA GENERAL’);
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;
SELECT Id_pacientes, Pac_Nombres, Pac_Apellidos FROM Tblpacientes ORDER BY Id_pacientes;
Tabla para Médicos SELECT * FROM TblMedico ORDER BY MedIdentificacion;
SELECT MedIdentificacion, MedNombres, MedApellidos, MedRegistro FROM TblMedico ORDER BY MedIdentificacion; Si solo se requiere realizar la consulta donde solo se necesitan aquellos registros donde el nombre sea “Eduardo Flores”, el código quedaría de la siguiente forma: SELECT * FROM TblMedico WHERE MedNombres = 'Eduardo', MedApellidos = 'Flores'; SELECT MedIdentificacion, MedNombres, MedApellidos, MedRegistro FROM TblMedico WHERE MedNombres = 'Eduardo', MedApellidos = 'Flores';
Tabla para citas Si la consulta que se quiere hacer, requiere que se devuelvan todos los registros, quedaría de la siguiente manera: SELECT * FROM Tblcitas; 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.
Las sentencias SQL se dividen en dos categorías; Lenguaje de Definición de Datos; Data Definition Language (DDL) y Lenguaje de Manipulación de Datos; Data Manipulation Language (DML). Lenguaje de definición de datos (DDL), se refiere a las sentencias DDL que se utilizan para crear y modificar la estructura de las tablas, así como también crear y modificar otros objetos de la base de datos.
Quedando por ejemplo de la siguiente forma:
CREATE – que es para crear objetos en la base de datos.
ALTER – que se utiliza para modificar la estructura de la base de datos.
DROP – utilizado para borrar objetos de la base de datos.
TRUNCATE – que se utiliza para eliminar todos los registros de la tabla, incluyendo todos los espacios asignados a los registros. Lenguaje de manipulación de datos (DML), se refiere a las sentencias que son utilizadas para gestionar datos dentro de los schemas. Quedando por ejemplo de la siguiente forma:
SELECT – utilizados para obtener datos de una base de datos.
INSERT – que se utilizan para insertar datos a una tabla.
UPDATE – utilizados para modificar datos existentes dentro de una tabla.
DELETE – se utiliza para eliminar todos los registros de la tabla; no borra los espacios asignados a los registros
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 cliente para calmarlo? Fundamente su respuesta.
Bibliografía
-
Fundamentos de Bases de Datos. Contenido semana 4. IACC 2018