PDF de programación - El lenguaje SQL

Imágen de pdf El lenguaje SQL

El lenguaje SQLgráfica de visualizaciones

Actualizado el 13 de Julio del 2020 (Publicado el 15 de Enero del 2017)
2.815 visualizaciones desde el 15 de Enero del 2017
400,4 KB
62 paginas
Creado hace 17a (30/01/2007)
El lenguaje SQL

Carme Martín Escofet

P06/M2109/02149

© FUOC • P06/M2109/02149

Índice

El lenguaje SQL

Introducción............................................................................................... 5

Objetivos ...................................................................................................... 10

1. Sentencias de definición .................................................................... 11
1.1. Creación y borrado de una base de datos relacional......................... 12
1.2. Creación de tablas ............................................................................. 13
1.2.1. Tipos de datos ........................................................................ 13
1.2.2. Creación, modificación y borrado de dominios .................... 14
1.2.3. Definiciones por defecto ........................................................ 16
1.2.4. Restricciones de columna....................................................... 17
1.2.5. Restricciones de tabla ............................................................. 17
1.2.6. Modificación y borrado de claves primarias con claves

foráneas que hacen referencia a éstas .................................... 18
1.2.7. Aserciones............................................................................... 19
1.3. Modificación y borrado de tablas...................................................... 19
1.4. Creación y borrado de vistas ............................................................. 20
1.5. Definición de la base de datos relacional BDUOC............................ 23

2. Sentencias de manipulación ............................................................. 26
2.1. Inserción de filas en una tabla........................................................... 26
2.2. Borrado de filas de una tabla ............................................................. 27
2.3. Modificación de filas de una tabla .................................................... 27
2.4. Introducción de filas en la base de datos relacional BDUOC ........... 28
2.5. Consultas a una base de datos relacional.......................................... 29
2.5.1. Funciones de agregración....................................................... 31
2.5.2. Subconsultas........................................................................... 32
2.5.3. Otros predicados .................................................................... 32
2.5.4. Ordenación de los datos obtenidos

en respuestas a consultas ....................................................... 35
2.5.5. Consultas con agrupación de filas de una tabla .................... 36
2.5.6. Consultas a más de una tabla ................................................ 38
2.5.7. La unión ................................................................................. 43
2.5.8. La intersección ....................................................................... 44
2.5.9. La diferencia ........................................................................... 45

3. Sentencias de control .......................................................................... 48
3.1. Las transacciones ............................................................................... 48
3.2. Las autorizaciones y desautorizaciones ............................................. 49

© FUOC • P06/M2109/02149

El lenguaje SQL

4. Sublenguajes especializados .............................................................. 51
4.1. SQL hospedado .................................................................................. 51
4.2. Las SQL/CLI ....................................................................................... 52

Resumen....................................................................................................... 53

Actividad ..................................................................................................... 55

Ejercicios de autoevaluación .................................................................. 55

Solucionario................................................................................................ 56

Bibliografía................................................................................................. 58

Anexos .......................................................................................................... 59

© FUOC • P06/M2109/02149

Introducción

5

El lenguaje SQL

Recordad que el álgebra relacional,
que hemos visto en la unidad
“El modelo relacional y el álgebra
relacional”, es un lenguaje
procedimental.

El SQL es el lenguaje estándar ANSI/ISO de definición, manipulación y control
de bases de datos relacionales. Es un lenguaje declarativo: sólo hay que indicar
qué se quiere hacer. En cambio, en los lenguajes procedimentales es necesario
especificar cómo hay que hacer cualquier acción sobre la base de datos. El SQL
es un lenguaje muy parecido al lenguaje natural; concretamente, se parece al
inglés, y es muy expresivo. Por estas razones, y como lenguaje estándar, el SQL
es un lenguaje con el que se puede acceder a todos los sistemas relacionales
comerciales.

Empezamos con una breve explicación de la forma en que el SQL ha llegado a
ser el lenguaje estándar de las bases de datos relacionales:

1) Al principio de los años setenta, los laboratorios de investigación Santa Te-
resa de IBM empezaron a trabajar en el proyecto System R. El objetivo de este
proyecto era implementar un prototipo de SGBD relacional; por lo tanto, tam-
bién necesitaban investigar en el campo de los lenguajes de bases de datos rela-
cionales. A mediados de los años setenta, el proyecto de IBM dio como resultado
un primer lenguaje denominado SEQUEL (Structured English Query Language), que
por razones legales se denominó más adelante SQL (Structured Query Language).
Al final de la década de los setenta y al principio de la de los ochenta, una vez
finalizado el proyecto System R, IBM y otras empresas empezaron a utilizar el
SQL en sus SGBD relacionales, con lo que este lenguaje adquirió una gran po-
pularidad.

2) En 1982, ANSI (American National Standards Institute) encargó a uno de sus co-
mités (X3H2) la definición de un lenguaje de bases de datos relacionales. Este co-
mité, después de evaluar diferentes lenguajes, y ante la aceptación comercial del
SQL, eligió un lenguaje estándar que estaba basado en éste prácticamente en su
totalidad. El SQL se convirtió oficialmente en el lenguaje estándar de ANSI en el
año 1986, y de ISO (International Standards Organization) en 1987. También ha
sido adoptado como lenguaje estándar por FIPS (Federal Information Processing
Standard), Unix X/Open y SAA (Systems Application Architecture) de IBM.

3) En el año 1989, el estándar fue objeto de una revisión y una ampliación
que dieron lugar al lenguaje que se conoce con el nombre de SQL1 o SQL89.
En el año 1992 el estándar volvió a ser revisado y ampliado considerablemente
para cubrir carencias de la versión anterior. Esta nueva versión del SQL, que se
conoce con el nombre de SQL2 o SQL92, es la que nosotros presentaremos en
esta unidad didáctica.

Como veremos más adelante, aunque aparezca sólo la sigla SQL, siempre nos
estaremos refiriendo al SQL92, ya que éste tiene como subconjunto el SQL89;

© FUOC • P06/M2109/02149

6

El lenguaje SQL

por lo tanto, todo lo que era válido en el caso del SQL89 lo continuará siendo
en el SQL92.

De hecho, se pueden distinguir tres niveles dentro del SQL92:

1) El nivel introductorio (entry), que incluye el SQL89 y las definiciones de
clave primaria y clave foránea al crear una tabla.

El concepto de clave primaria y su
importancia en una relación o tabla
se ha visto en la unidad “El modelo
relacional y el álgebra relacional”
de este curso.

2) El nivel intermedio (intermediate), que, además del SQL89, añade algu-
nas ampliaciones del SQL92.

3) El nivel completo (full), que ya tiene todas las ampliaciones del SQL92.

El modelo relacional tiene como estructura de almacenamiento de los datos
las relaciones. La intensión o esquema de una relación consiste en el nombre
que hemos dado a la relación y un conjunto de atributos. La extensión de una
relación es un conjunto de tuplas. Al trabajar con SQL, esta nomenclatura
cambia, como podemos apreciar en la siguiente figura:

El modelo relacional se ha
presentado en la unidad
“El modelo relacional y el álgebra
relacional” de este curso.

• Hablaremos de tablas en lugar de relaciones.

• Hablaremos de columnas en lugar de atributos.

• Hablaremos de filas en lugar de tuplas.

Sin embargo, a pesar de que la nomenclatura utilizada sea diferente, los con-
ceptos son los mismos.

Con el SQL se puede definir, manipular y controlar una base de datos relacio-
nal. A continuación veremos, aunque sólo en un nivel introductorio, cómo se
pueden realizar estas acciones:

© FUOC • P06/M2109/02149

7

El lenguaje SQL

1) Sería necesario crear una tabla que contuviese los datos de los productos de
nuestra empresa:

Nombre de la tabla

CREATE TABLE productos

(codigo_producto INTEGER,

nombre_producto CHAR(20),

tipo CHAR(20),

descripcion CHAR(50),

precio REAL,

Nombre de las columnas y tipo

PRIMARY KEY (codigo_producto));

Clave primaria

2) Insertar un producto en la tabla creada anteriormente:

Nombre de la tabla

INSERT INTO productos

VALUES (1250, ‘LENA’, ‘Mesa’, ‘Diseño Juan Pi. Año 1920.’, 25000);

3) Consultar qué productos de nuestra empresa son sillas:

Valores de la fila

Columnas seleccionadas

SELECT codigo_producto, nombre_producto

FROM productos

WHERE tipo = ‘Silla’;

Filas seleccionadas

Tabla

4) Dejar acceder a uno de nuestros vendedores a la información de la tabla
productos:

Hacer consultas

Usuario

GRANT SELECT ON productos TO jmontserrat;

Nombre de la tabla

Y muchas más cosas que iremos viendo punto por punto en los siguientes
apartados.

Fijémonos en la estructura de todo lo que hemos hecho hasta ahora con SQL.
Las operaciones de SQL recib
  • Links de descarga
http://lwp-l.com/pdf1917

Comentarios de: El lenguaje SQL (1)

13 de Julio del 2017
estrellaestrellaestrellaestrellaestrella
Muy buen aporte!! gracias
Responder

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad