Está en la página 1de 13

SQL

Prof. Leidy Dayana Hernández

PNF-Informática.
Trayecto II-Trimestre II
SQL
Lenguaje de Consultas Estructurado. Es el lenguaje que permite la
comunicación con el Sistema Gestor de Bases de Datos .

El SQL es un lenguaje unificado Lo utilizan todo tipo de usuarios, desde


el administrador de la base de datos, DBA, hasta el usuario final.

El SQL es un lenguaje no procedimental. El usuario especifica Qué


quiere, no Cómo ni Dónde conseguirlo.

El SQL es relacionalmente completo. Permite la realización de cualquier


consulta de datos.

SQL= DDL + DML


SQL
• El lenguaje SQL está compuesto por comandos, cláusulas,
operadores y funciones de agregado. Estos elementos se
combinan en las instrucciones para crear, actualizar y
manipular las bases de datos.

Comandos
• Existen dos tipos de comandos SQL:
• Los DLL que permiten crear y definir nuevas bases de datos,
campos e índices.
• Los DML que permiten generar consultas para ordenar, filtrar
y extraer datos de la base de datos.
DDL
Sentencia DDL Objetivo
Create Database Crea una base de datos
Create Table Crear una tabla.
Create Index Crear un índice.
Drop Table Eliminar una tabla.
Drop Index Eliminar un índice.
Alter Table Añadir o redefinir una columna, modificar la asignación de almacenamiento.

Estas no son todas, pero son las


primeras que debemos entender.
DDL
La sentencia CREATE TABLE sirve para crear la estructura de una tabla no
para rellenarla con datos, nos permite definir las columnas que tiene y ciertas  
restricciones que deben cumplir esas columnas.

CREATE TABLE alumno (


cedula INTEGER (15) PRIMARY KEY,
nombre CHAR(25) NOT NULL,
apellido CHAR(10) NOT NULL,
sexo CHAR (1),
seccion INT (3)
);

Alumno
Cedula Nombre Apellido Sexo Sección
DDL
Una RESTRICCIÓN consiste en la definición de una característica
adicional que tiene una columna o una combinación de columnas, suelen
ser características como valores no nulos (campo requerido), definición de
índice sin duplicados, definición de clave principal y definición de clave
foránea (clave ajena o externa, campo que sirve para relacionar dos tablas
entre sí).

RESTRICCIÓN1: una restricción de tipo 1 es una restricción que aparece


dentro de la definición de la columna después del tipo de dato y afecta a
una columna, la que se está definiendo.

RESTRICCIÓN2: una restricción de tipo 2 es una restricción que se


define después de definir todas las columnas de la tabla y afecta a una
columna o a una combinación de columnas.
DDL
La cláusula CONSTRAINT sirve para definir una restricción que se
podrá eliminar cuando queramos sin tener que borrar la columna. A
cada restricción se le asigna un nombre que se utiliza para
identificarla y para poder eliminarla cuando se quiera.

La cláusula NOT NULL indica que la columna no podrá


contener un valor nulo, es decir que se deberá rellenar
obligatoriamente y con un valor válido (equivale a la propiedad
requerido Sí de las propiedades del campo).
DDL
La cláusula PRIMARY KEY se utiliza para definir la columna como
clave principal de la tabla. Esto supone que la columna no
puede contener valores nulos ni pueden haber valores
duplicados en esa columna, es decir que dos filas no pueden tener el
mismo valor en esa columna.

En una tabla no pueden haber varias claves principales, por lo


que no podemos incluir la cláusula PRIMARY KEY más de una vez,
en caso contrario la sentencia da un error.

No hay que confundir la definición de varias claves principales con la


definición de una clave principal compuesta por varias columnas, esto
último sí está permitido y se define con una restricción de tipo 2.
DDL
La cláusula UNIQUE sirve para definir un índice único sobre la
columna. Un índice único es un índice que no permite valores
duplicados, es decir que si una columna tiene definida un restricción
de UNIQUE no podrán haber dos filas con el mismo valor en esa
columna.

Se suele emplear para que el sistema compruebe el mismo que no se


añaden valores que ya existen, por ejemplo si en una tabla de clientes
queremos asegurarnos que dos clientes no puedan tener la misma
cedula y la tabla tiene como clave principal un código de cliente,
definiremos la columna cedula con la restricción de UNIQUE.
Cliente
Cod.cliente Cedula Nombre Apellido Teléfono
DDL
Otra restricción que podemos definir sobre una columna es la de clave
foránea, una clave foránea es una columna o conjunto de
columnas que contiene un valor que hace referencia a una fila
de otra tabla, en una restricción de tipo 1 se puede definir con la
cláusula REFERENCES, después de la palabra reservada indicamos
a qué tabla hace referencia, opcionalmente podemos indicar entre
paréntesis el nombre de la columna donde tiene que buscar el valor de
referencia.

Alter Table: La sentencia ALTER TABLE sirve para modificar la


estructura de una tabla que ya existe. Mediante esta instrucción
podemos añadir columnas nuevas, eliminar columnas. Suele
acompañarse de add, drop, modify, change, etc.
DDL
Vamos a mostrar un ejemplo de clave foránea. Revisa las siguientes 2
tablas:
La tabla PERSONAS
cedula apellido nombre ciudad
18786531 ABREU DIAZ JESUS RAFAEL Las Mercedes
18697524 AFONSO HERNANDEZ JUAN DIEGO Espino
16506593 ALMEA LUIS Cabruta
La tabla ORDENES
NrodeOrden OrderNo Cedula
1 77895 18786531
2 44678 18697524
3 22456 16506593

Nota que la columna “cedula“ en la tabla ÖRDENES hace referencia a


la columna “cedula“ en la tabla PERSONAS.

La columna “cedula“ en la tabla PERSONAS es la llave primaria en esa tabla.


La columna “cedula“ en la tabla ORDENES es la llave foránea en la tabla ORDENES.
DML
Son las siglas de Data Manipulation Language y se refiere a los
comandos que permiten a un usuario manipular los datos en un
repositorio, es decir, añadir, consultar, borrar o actualizar.
Sentencia DML Objetivo
Insert Añadir filas de datos a una tabla.
Delete Eliminar filas de datos de una tabla.
Update Modificar los datos de una tabla.
Select Recuperar datos de una tabla.

Estas no son todas, pero son las


primeras que debemos entender.
Cláusula FROM
La cláusula FROM define las tablas de las que se van a seleccionar las columnas.
Se puede añadir al nombre de las tablas el usuario propietario de las mismas de la
forma usuario.tabla. De esta manera podemos distinguir entre las tablas de un
usuario y otro. sentencia SQL:
SQL> select * from jperez.dep;
También se puede asociar un alias a las tablas para abreviar los nombres de las
tablas. Un ejemplo se puede ver en la sentencia SQL siguiente:
SQL> select d.nombre from dep d;

Cláusula WHERE
Hasta ahora hemos visto como puede utilizarse la sentencia SELECT para recuperar
todas las columnas o un subconjunto de ellas de una tabla. Pero este efecto afecta a
todas las filas de la tabla, a menos que especifiquemos algo más en la cláusula
WHERE. Es aquí donde debemos proponer la condición que han de cumplir todas
las filas para salir en el resultado de la consulta. La complejidad del criterio de
búsqueda es prácticamente ilimitada, y en él se pueden conjugar operadores de
diversos tipos con funciones de columnas, componiendo expresiones más o menos
complejas.

También podría gustarte