Base de datos

Páginas: 31 (7670 palabras) Publicado: 2 de abril de 2013
Ficheros y Bases de Datos

Tema 3
Lenguaje SQL

Lenguaje SQL

1

Introducción a SQL
Structured Query Language (SQL)
Lenguaje declarativo de acceso a bases de datos que combina
construcciones del álgebra relacional y el cálculo relacional.
Originalmente desarrollado en los '70 por IBM en su Research
Laboratory de San José a partir del cálculo de predicados creado por
Codd.
Lenguajeestándar de facto en los SGBD comerciales
Estándares:
SEQUEL(Structured English QUEry Language), IBM 1976
SQL-86 (ANSI SQL)
SQL-89 (SQL1)
SQL-92 (SQL2), gran revisión del estándar
SQL:1999 (SQL3), Añade disparadores, algo de OO, ...
SQL:2003. Añade XML, secuencias y columnas autonuméricas.

Lenguaje SQL

2

Características de SQL
El Lenguage de Definición de Datos (LDD)Proporciona comandos para la creación, borrado y modificación de
esquemas relacionales

El Lenguaje de Manipulación de Datos (LMD)
Basado en el álgebra relacional y el cálculo relacional permite realizar
consultas y adicionalmente insertar, borrar y actualizar de tuplas
Ejecutado en una consola interactiva
Embebido dentro de un lenguaje de programación de propósito general

Definición de vistasAutorización
Definición de usuarios y privilegios

Integridad de datos
Control de Transacciones

Lenguaje SQL

3

Estructura de la sentencia SELECT
SELECT A1, …, An

-Describe la salida deseada con:
•Nombres de columnas
•Expresiones aritméticas
•Literales
•Funciones escalares
•Funciones de columna

FROM T1, …, Tn
WHERE P

- Nombres de las tablas / vistas
- Condiciones deselección de filas

GROUP BY Ai1, …, Ain
HAVING Q

- Nombre de las columnas
- Condiciones de selección de grupo

ORDER BY Aj1, …, Ajn

- Nombres de columnas

Lenguaje SQL

4

Estructura básica de la sentencia SELECT
Consta de tres cláusulas: SELECT, FROM y WHERE.
SELECT corresponde a la operación de proyección del álgebra
relacional.
La lista de los atributos que se incluirán enel resultado de una consulta.

FROM corresponde al producto cartesiano del álgebra relacional.
Especifica las relaciones que se van a usar como origen en el proceso de
la consulta.

WHERE corresponde al predicado de selección del álgebra relacional.
Consta de un predicado que implica atributos de las relaciones de la
cláusula FROM.

Lenguaje SQL

5

Estructura básica de la sentenciaSELECT
Una consulta SQL tiene la forma:
SELECT A1, ..., An
FROM R1, ..., Rm
WHERE P;

/* Lista de atributos */
/* Lista de relaciones */
/* Condición. Cláusula OPCIONAL */

Es posible que existan el mismo nombre de atributo en dos relaciones
distintas.
Se añade "NOMBRE_RELACION." antes del nombre para desambiguar.

Es equivalente a la siguiente expresión del álgebra relacional:ΠA1,A2,...,An ( σP ( R1 × R2 × … × Rm ) )
El orden de ejecución de la expresión anterior es el mismo que el de la
consulta SQL.
ADVERTENCIA: la selección del AR y el SELECT de SQL no
funcionan igual.
El resultado de una consulta SELECT puede tener tuplas repetidas.

Lenguaje SQL

6

Proyección de algunas columnas

SELECT DEPTNO, DEPTNAME, ADMRDEPT
FROM DEPARTMENT

DEPTNO
A00
B01C01
D01
D11
D21
E01
E11
E21

DEPTNAME

ADMRDEPT

SPIFFY COMPUTER SERVICE DIV.
PLANNING
INFORMATION CENTER
DEVELOPMENTCENTER
MANUFACTURING SYSTEMS
ADMINISTRATION SYSTEMS
SUPPORT SERVICES
OPERATIONS
SOFTWARE SUPPORT

A00
A00
A00
A00
D01
D01
A00
E01
E01

Lenguaje SQL

7

Eliminación de filas duplicadas
SQL permite duplicados debido a la gran cantidad de tiempo
quepuede llevar eliminarlos
Para eliminar las tuplas repetidas se utiliza la cláusula
DISTINCT.
También es posible pedir explícitamente la inclusión de
tuplas repetidas mediante el uso de la cláusula ALL.
SELECT ADMRDEPT
FROM DEPARTMENT
ADMRDEPT
A00
A00
A00
A00
D01
D01
A00
E01
E01

SELECT DISTINCT ADMRDEPT
FROM DEPARTMENT

SELECT ALL ADMRDEPT
FROM DEPARTMENT

Lenguaje SQL...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Que es una base de datos y tipos de base de datos
  • Bases de datos y usuarios de bases de datos
  • Base De Datos
  • Base De Datos
  • Base de datos
  • Base De Datos
  • Base de datos
  • Bases de datos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS