Download ¿Qué es el SQL

Document related concepts

SQL wikipedia , lookup

Lenguaje de definición de datos wikipedia , lookup

Null (SQL) wikipedia , lookup

Clave primaria wikipedia , lookup

Lenguaje de manipulación de datos wikipedia , lookup

Transcript
BASE DE DATOS
INTRODUCCIÓN AL SQL
SQL (structured query Language)
¿Qué es el SQL ?
El SQL (Structured query language), lenguaje de consulta estructurado, es
un lenguaje surgido de un proyecto de investigación de IBM para el acceso a
bases de datos relacionales. Actualmente se ha convertido en un estándar de
lenguaje de bases de datos, y la mayoría de los sistemas de bases de datos lo
soportan, desde sistemas para ordenadores personales, hasta grandes
ordenadores.
Por supuesto, a partir del estándar cada sistema ha desarrollado su propio SQL
que puede variar de un sistema a otro, pero con cambios que no suponen
ninguna complicación para alguien que conozca un SQL concreto.
Como su nombre indica, el SQL nos permite realizar consultas a la base de
datos. Pero el nombre se queda corto ya que SQL además realiza funciones de
definición, control y gestión de la base de datos.
Componentes del 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.
Comandos DLL
Comando
Descripción
CREATE
Utilizado para crear nuevas tablas, campos e índices
DROP
Empleado para eliminar tablas e índices
ALTER
Utilizado para modificar las tablas agregando campos o cambiando la
definición de los campos.
Comandos DML
Comando
Descripción
1
BASE DE DATOS
INTRODUCCIÓN AL SQL
SELECT
Utilizado para consultar registros de la base de datos 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
Características del lenguaje
Una sentencia SQL es como una frase (escrita en inglés ) con la que decimos lo
que queremos obtener y de donde obtenerlo.
Todas las sentencias empiezan con un verbo (palabra reservada que indica la
acción a realizar), seguido del resto de cláusulas, algunas obligatorias y otras
opcionales que completan la frase. Todas las sentencias siguen una sintaxis
para que se puedan ejecutar correctamente, para describir esa sintaxis
utilizaremos un diagrama sintáctico como el que se muestra a continuación.
Cómo interpretar un diagrama sintáctico
Las
palabras
que
aparecen en mayúsculas
son palabras reservadas se
tienen que poner tal cual y
no se pueden utilizar para
otro fin, por ejemplo, en el
diagrama de la figura
tenemos
las
palabras
reservadas SELECT, ALL,
DISTINCT,
FROM,
WHERE.
Las palabras en minúsculas
son
variables
que
el
usuario deberá sustituir por
un dato concreto. En el
diagrama
tenemos
nbcolumna,
expresiontabla
y
condicion-debusqueda.
Una sentencia válida se construye siguiendo la línea a través del diagrama
hasta el punto que marca el final. Las líneas se siguen de izquierda a derecha
y de arriba abajo. Cuando se quiere alterar el orden normal se indica con una
flecha.
2
BASE DE DATOS
INTRODUCCIÓN AL SQL
¿Cómo se interpretaría el diagrama sintáctico de la figura?
Hay que empezar por la palabra SELECT, después puedes poner ALL o bien
DISTINCT o nada, a continuación un nombre de columna, o varios separados
por comas, a continuación la palabra FROM y una expresión-tabla, y por último
de forma opcional puedes incluir la cláusula WHERE con una condición-debúsqueda.
Por ejemplo:
SELECT ALL col1,col2,col3 FROM mitabla
SELECT col1,col2,col3 FROM mitabla
SELECT DISTINCT col1 FROM mitabla
SELECT col1,col2 FROM mitabla WHERE col2 = 0
Todas estas sentencias se podrían escribir y no darían lugar a errores sintácticos.
Diferentes tipos campos empleados en las bases de datos
Como sabemos una base de datos esta compuesta de tablas donde almacenamos
registros catalogados en función de distintos campos (características).
Un aspecto previo a considerar es la naturaleza de los valores que introducimos en
esos campos. Dado que una base de datos trabaja con todo tipo de informaciones,
es importante especificarle qué tipo de valor le estamos introduciendo de manera a,
por un lado, facilitar la búsqueda posteriormente y por otro, optimizar los recursos
de
memoria.
Cada base de datos introduce tipos de valores de campo que no necesariamente
están presentes en otras. Sin embargo, existe un conjunto de tipos que están
representados en la totalidad de estas bases. Estos tipos comunes son los
siguientes:
Alfanuméricos
Contienen cifras y letras. Presentan una longitud limitada
(255 caracteres)
Numéricos
Existen de varios tipos, principalmente, enteros (sin
decimales) y reales (con decimales).
Booleanos
Poseen dos formas: Verdadero y falso (Sí o No)
Fechas
Almacenan fechas facilitando posteriormente su explotación.
Almacenar fechas de esta forma posibilita ordenar los
registros por fechas o calcular los días entre una fecha y
otra...
Memos
Son campos alfanuméricos de longitud ilimitada. Presentan
el inconveniente de no poder ser indexados (veremos más
adelante lo que esto quiere decir).
3
BASE DE DATOS
INTRODUCCIÓN AL SQL
Son campos numéricos enteros que incrementan en una
unidad su valor para cada registro incorporado. Su utilidad
Autoincrementables
resulta más que evidente: Servir de identificador ya que
resultan exclusivos de un registro.
LENGUAJE DE DEFINICION DE DATOS
Sentencias en SQL que permiten definir los objetos de las base de Datos entre
ellas tenemos:
1. CREATE TABLE Permite crear una tabla. Su sintaxis es la siguiente:
CREATE TABLE nombre_tabla
(
Nombre_campo_1 tipo_1
Nombre_campo_2 tipo_2
Nombre_campo_n tipo_n )
Ejemplo:

crear la tabla PRODUCTO, la cual consta de los siguientes atributos y tiene
a código como clave primaria.
CREATE TABLE producto (
Codigo
numeric NOT NULL PRIMARY KEY,
DESCRIP
VARCHAR(50) null,
Medida
char(3) null,
stockActual
numeric NOT NULL,
codfamilia
numeric NOT NULL REFERNECES FAMILIA)
2. ALTER TABLE añadir o redefinir una columna, modificar la asignación de
almacenamiento, su sintaxis es la siguiente:
Adición de una nueva columna a la tabla
ALTER TABLE nombre_tabla ADD [COLUMN] definición_columna
Eliminación de una columna de la tabla
ALTER
TABLE
nombre_tabla
nombre_columna{RESTRICT/CASCADE}
DROP
EJEMPLOS:

Altera la tabla producto para agregar la columna precio_unitario
4
[COLUMN]
BASE DE DATOS
INTRODUCCIÓN AL SQL
ALTER TABLE producto ADD precio_unitario decimal(10,2) NULL

Altera la tabla producto para quitar la columna medida
ALTER TABLE producto DROP COLUMN medida
LENGUAJE DE MANIPULACION DE DATOS (DML)
INSERTAR DATOS
INSERT Permite añadir filas de datos a una tabla. Su sintaxis es la siguiente:
INSERT INTO nombre de la tabla a la que se le va insertar el registro
VALUES (conjunto de valores del registro);
La inserción de datos se realiza conforme se la estructura se implantó en la tabla.
Es decir en el orden en que se creó la tabla. En el caso de querer omitir un dato
que no es nulo, solamente se ponen las comillas indicando el vacío de la cadena.
EJEMPLOS:
INSERT INTO producto VALUES(1, ‘Pintura Latex’,’GLN’,22,26210);
INSERT INTO producto VALUES(2, ‘Soldadura’,’UND’,100,26210);
EJERCICIOS
Probar la creación de las siguientes tablas:
create table clientes
(numcli int not null,
nomcli char(30)not null,
dircli char(30),
fax int,
e_mail char(30),
sal_0_30 decimal(10,2),
sal_31_60 decimal(10,2),
sal_61_90 decimal(10,2),
primary key(numcli))
/******************************/
create table vendedor
(codvendedor int not null,
5
BASE DE DATOS
INTRODUCCIÓN AL SQL
nomvendedor char(20)not null,
apellvend char(20)not null,
dirvendedor char(30),
telvend int,
e_mail char(30),
cuota decimal(10,2),
ventas decimal(10,2),
primary key(codvendedor))
/***********************************************/

Luego crear las consultas para el ingreso de datos a las tablas cliente y
vendedor.

Crear una consulta para agregar el campo dni de tipo numérico en la tabla
cliente.

Crear una consulta para eliminar el campo ventas de la tabla vendedor.
6