Академический Документы
Профессиональный Документы
Культура Документы
Introducción
En vista del auge que toma cada vez la tecnología, es preciso saber hacer de todo lo relacionado
son software, pero no podemos olvidar que también existe la parte de cómo
manejar datos e información.
Para ello existen afortunadamente formas o maneras de como poder guardar información
necesaria y de vital importancia para nuestras empresas o compañías.
Es por tal motivo, es preciso conocer muy de fondo las diferentes plataformas o manejadores
de bases de datos para poder optar por la más adecuada para ser implantada en nuestras
compañías o empresas, como lo son SQL, ORACLE, INFORMIX.
Fue creado en los laboratorios de IBM en la década de los 70, se denominó inicialmente SEQUEL
(Structured Query Language), el cual se basaba en la propuesta del modelo relacional y
proporcionada por Codd, posteriormente este lenguaje fue liberado y se estandarizó como el
lenguaje a ser usado por los diferentes Sistemas de Gestión de Base de Datos que se crearon.
En 1986 fue estandarizado por el ANSI (American National Estándar Institute – Instituto
Nacional Estadounidense de Estándares
III. Definición
Es una herramienta para la organización, gestión y recuperación de los daos almacenados en
bases de datos informáticos. (Base de datos: Una base de datos es una colección de información
organizada de tal modo que sea fácilmente accesible, gestionada y actualizada).
IV. Características
SQL es un lenguaje de acceso a bases de datos que explota la flexibilidad y potencia de los
sistemas relacionales y permite así gran variedad de operaciones.
De esta forma, una sola sentencia puede equivaler a uno o más programas que se utilizarían en
un lenguaje de bajo nivel orientado a registros
Estructuras de datos simples
Operadores potentes
Periodos de aprendizaje inicial cortos
Mejora de la independencia de datos
Modo de uso dual (interactivo o inmerso)
Optimización
V. Lenguaje de definición de datos - DDL
El lenguaje de definición de datos puede tener algunas variaciones respecto al SMBD (Sistema
Manejador de Base de Datos) que se utilice para manipularlo, sin embargo, existe una
codificación estándar que nos permite identificar una serie de características del lenguaje y las
sentencias utilizadas en él.
Sintaxis:
CREATE DATABASE <Nombre de la base de datos>
Ejemplo
Para crear la base de datos CITAS, la sentencia sería:
CREATE DATABASE citas
Una vez que se ha construido la base de datos, se deben construir las tablas en su interior, es
decir que debe estar predefinida o seleccionado ese espacio de trabajo.
La sentencia que se utiliza para establecer como la base de datos activa es USE, a continuación,
su sintaxis:
USE <Nombre de la base de datos>
Ejemplo
Para realizar actividades con los objetos de la base de datos cita, debemos dejarla como la base
de datos activa:
USE citas
Antes de presentar la sentencia es necesario hacer claridad respecto a las posibles restricciones
que se manejan para las columnas de una tabla.
A continuación, se presenta a manera de resumen las restricciones que se pueden asignar a las
columnas en una tabla, el nivel identifica si afecta a nivel de registro (fila).
Sintaxis:
CREATE TABLE <Nombre_tabla> (
<Nombre_columna1> <tipo_de_dato> <restricción>,
<Nombre_columna2> < tipo_de_dato > <restricción>...
<Nombre_columnaN> < tipo_de_dato > <restricción>)
Consideraciones:
Los nombres de la tabla y columnas, deben conservar las mismas características de un
identificador, es decir, no espacios en blanco, de preferencia usar los nemotécnicos definidos
en la organización, nombres significativos, no iniciar con números, etc.
Los tipos de datos están directamente relacionados con el SMBD que se utilice, para los
ejemplos que se presentan a continuación se utilizarán tipos de datos y expresiones propias de
MySql.
Ejemplo
Ya con “CITAS” como base de datos predeterminada, se procede a crear las respectivas tablas,
para crear la tabla “MEDICO”, se debe tener previamente definida la estructura de datos,
producto de los procesos de modelamiento o normalización vista anteriormente:
Sin embargo, para proceder a incorporar el cambio el SMBD realiza una serie de verificaciones
para que estos cambios no afecten los datos previamente registrados (si ya existieran) o entren
en contravención con reglas anteriores. Por ejemplo, para que una columna pueda modificarse
y convertirse en llave primaria, debe tener la restricción de not null y los datos (si los hubiese)
no podrían tener valores repetidos.
Sintaxis:
ALTER TABLE <Nombre_tabla>
ADD (COLUMN) <Nombre_columna> <tipo_de_dato> <Restricción>
ADD (CONSTRAINT) <Nombre_restricción> <tipo_de_restricción> <texto restricción>
DROP (COLUMN) <Nombre_columna>
DROP (CONSTRAINT) <Nombre_restricción>
Ejemplo
Se requiere agregar una columna a la tabla Medico, para almacenar el registro médico del
doctor, que es un número de tipo entero y no puede repetirse.
Alter table TblMedico
Add Column MedRegistro int
Alter table TblMedico
Add Constraint UNIQUE (MedRegistro)
Sintaxis:
DROP TABLE <Nombre_tabla>
Ejemplo
Si se deseara eliminar la tabla Medico y no existieran referencias de otras tablas, la sentencia a
utilizar es:
DROP TABLE TblMedico
La sentencia TRUNCATE TRABLE trunca todo el contenido de una tabla. La ventaja sobre el
comando DROP, es que, si se quiere borrar todo el contenido de la tabla, es mucho más rápido,
especialmente si la tabla es muy grande. La desventaja es que TRUNCATE sólo sirve cuando se
quiere eliminar absolutamente todos los registros.
Sintaxis:
TRUNCATE TABLE <Nombre_tabla>
VI. Lenguaje de manipulación de datos – DML
Es un lenguaje proporcionado por los sistemas gestores de bases de datos que permite a los
usuarios de la misma llevar a cabo las tareas de consulta o modificación de los datos contenidos
en las Bases de Datos del Sistema Gestor de Bases de Datos.
Este lenguaje se utiliza para “manipular” los datos de una base de Datos, es decir Insertar,
Borrar, Modificar y Consultar los registros de las tablas que conforman una base de Datos.
Las sentencias DML son:
Insert
Update
Delete
Select
La fila siempre es agregada al final de la tabla y el valor de cada campo de coincidir con el tipo
de dato establecido para cada columna.
Sintaxis
Por ejemplo, en nuestra tabla "usuarios", queremos cambiar los valores de todas las claves, por
"Sevilla":
Utilizamos "update" junto al nombre de la tabla y "set" junto con el campo a modificar y su
nuevo valor.
El cambio afectará a todos los registros.
Podemos modificar algunos registros, para ello debemos establecer condiciones de selección
con "where".
Por ejemplo, queremos cambiar el valor correspondiente a la clave de nuestro usuario llamado
'Martín', queremos como nueva clave 'Boca', necesitamos una condición "where" que afecte
solamente a este registro:
Si no encuentra registros que cumplan con la condición del "where", ningún registro es
afectado.
Para ello colocamos "update", el nombre de la tabla, "set" junto al nombre del campo y el nuevo
valor y separado por coma, el otro nombre del campo con su nuevo valor.
La ejecución del comando indicado en la línea anterior borra TODOS los registros de la tabla.
Si queremos eliminar uno o varios registros debemos indicar cuál o cuáles, para ello utilizamos
el comando "delete" junto con la cláusula "where" con la cual establecemos la condición que
deben cumplir los registros a borrar. Por ejemplo, queremos eliminar aquel registro cuyo
nombre de usuario es 'Martín':
delete from usuarios where nombre='Martín';
Si solicitamos el borrado de un registro que no existe, es decir, ningún registro cumple con la
condición especificada, no se borrarán registros, pues no encontró registros con ese dato.
Ejemplo
Se desea consultar los nombres y apellidos de todos los médicos, la sentencia para hacer esta
consulta sería:
SELECT MedNombres, MedApellidos
FROM TblMedico
Antes de realizar cualquier consulta a la base de Datos, es muy importante tener claro cuál o
cuáles son los datos que se requiere visualizar y de que tabla o tablas se van a extraer.
En caso de que se deseara consultar TODOS los campos de la tabla, no es necesario escribir
todos los campos, a menos que se desee escribirlo en un orden particular, si no es así se utiliza
el comodín * (asterisco) que representa todos los campos.
En el ejemplo anterior se requería solo nombre y apellido, en caso de desear visualizar todos
los campos de una tabla, utilizando el comodín *, quedaría la sentencia de la siguiente manera:
SELECT From TblMedico;
Vamos ahora a configurar la salida por pantalla a los datos incluidos en la tabla medicos, La
salida debe ser, la columna Medldentificacion con título Identificacion; la columna
MedNombres, con título Nombre y la columna MedApellidos con título Apellidos, la sintaxis
sería la siguiente:
Select MedIdentificacion as Identificacion,
MedNombres as Nombre,
MedApellidos as Apellidos
From Tblmedicos
La sintaxis es:
SELECT <Nombre columna> o <lista de columnas>
FROM <Nombre de la tabla>
WHERE <condición>
Cuando se van a comparar dos valores se realizan según las siguientes reglas:
Sólo se pueden comparar dos valores cuando son del mismo tipo.
Todos los datos de tipo numérico pueden ser comparados unos con otros (por ejemplo,
un decimal con un entero)
Se pueden comparar dos valores alfanuméricos, tomando como referencia el código de
cada uno de los caracteres que conforman la cadena.
La selección de filas se especifica en la cláusula WHERE mediante predicados. Un
predicado expresa una condición y su resultado puede ser verdadero, falso o
desconocido.
Ejemplos
• Las ciudades que empiecen por S
SELECT ... FROM...
WHERE ciudad LIKE ‘S%’
Ejemplo
• Listar los clientes a los que no se le haya registrado dirección
SELECT * FROM TbiClientes
WHERE direccion IS NULL
Ejemplo
• Los pacientes de estrato 1 al 3
SELECT * FROM Tb1Pacientes
WHERE estrato BETWEEN 1 AND 3
• Predicado IN: Sirve para averiguar si el resultado de una expresión está incluido en
la lista de valores especificados.
<Nombre_columna> [NOT] IN ( Constantel, constante2, ....)
<Nombre_columna> [NOT] IN ( Subconsulta )
Ejemplo
• Los clientes de Bogotá, Tunja, Villavicencio e Ibague.
SELECT * FROM TblClientes
WHERE ciudad IN ( 'Bogota', `Tunja', 'Villavicencio', `Ibague')
Ejemplo:
• Los clientes de Tunja, que NO tengan registrada alguna dirección.
SELECT * FROM Tb1Clientes
WHERE ciudad = 'Bogota' AND dirección IS NULL,
La sintaxis,
SELECT <Nombre_columna> o <lista de columnas>
FROM <Nombre de la_tabla>
WHERE <condición;
ORDER BY <Nombre columna> o <Número de columnas>
3. Visualizar todos los datos de los pacientes, el reporte debe ordenarse de mayor a menor
por documento de identidad:
SELECT *
FROM pacientes
ORDER BY PacIdentificacion asc