Objetivos y alcance de SQL
Enviado por richardmc • 1 de Octubre de 2013 • Trabajo • 1.361 Palabras (6 Páginas) • 542 Visitas
SQL (structured query language)
El lenguaje de consulta estructurado o SQL (por sus siglas en inglés
structured query language) es un lenguaje declarativo de acceso a bases de
datos relacionales que permite especificar diversos tipos de operaciones en
estas. Una de sus características es el manejo del álgebra y el cálculo
relacional permitiendo efectuar consultas con el fin de recuperar -de una forma
sencilla- información de interés de una base de datos, así como también hacer
cambios sobre ella.
Objetivos y alcance de SQL
a) SQL es un lenguaje estándar (ISO) para definición manipulación en SGBD
relacionales.
b) El DML de SQL es un lenguaje de especificación; es decir, las expresiones
definen el resultado esperado, dejando que el SGBD se encargue de resolver
el mejor método para ejecutar dicha especificación (optimización de la
consulta); estos métodos generados por el subsistema de proceso de consultas
se denominan planes1 de acceso o planes de ejecución de la consulta.
c) La gramática DML está basada en el cálculo relacional orientado a tuplas.
d) Permite:
• Definición de tablas y vistas.
• Especificar un modelo de seguridad de acceso a los datos
(definición de usuarios, niveles de autorización o acceso a los
datos).
• Definir restricciones de integridad declarativa.
• Especificar transacciones.
• El DML de SQL puede ser utilizado en lenguajes de programación
de propósito general como C o Pascal o bien en lenguajes
específicos del fabricante (p.ej. PL/SQL en ORACLE, TRANSACT
SQL en MS-SQL Server).
Crear la base de datos
Una base de datos en un sistema relacional está compuesta por un
conjunto de tablas, que corresponden a las relaciones del modelo relacional.
En la terminología usada en SQL no se alude a las relaciones, del mismo modo
que no se usa el término atributo, pero sí la palabra columna, y no se habla de
tupla, sino de línea. A continuación se usarán indistintamente ambas
terminologías, por lo que tabla estará en lugar de relación, columna en el de
atributo y línea en el de tupla, y viceversa.
Prácticamente, la creación de la base de datos consiste en la creación de las
tablas que la componen. En realidad, antes de poder proceder a la creación de
las tablas, normalmente hay que crear la base de datos, lo que a menudo
significa definir un espacio de nombres separado para cada conjunto de tablas.
De esta manera, para una DBMS se pueden gestionar diferentes bases de
datos independientes al mismo tiempo sin que se den conflictos con los
nombres que se usan en cada una de ellas. El sistema previsto por el estándar
para crear los espacios separados de nombres consiste en usar las instrucciones SQL "CREATE SCHEMA". A menudo, dicho sistema no se usa (o
por lo menos no con los fines y el significado previstos por el estándar), pero
cada DBMS prevé un procedimiento propietario para crear una base de datos.
Normalmente, se amplía el lenguaje SQL introduciendo una instrucción no
prevista en el estándar: "CREATE DATABASE".
La sintaxis empleada por PostgreSQL, pero también por las DBMS más
difundidas, es la siguiente:
CREATE DATABASE nombre_base de datos
Con PostgreSQL está a disposición una orden invocable por shell Unix (o por
shell del sistema usado), que ejecuta la misma operación:
createdb nombre_base de datos
Para crear nuestra base de datos bibliográfica, usaremos pues la orden:
createdb biblio
Una vez creada la base de datos, se pueden crear las tablas que la componen.
La instrucción SQL propuesta para este fin es:
CREATE TABLE nombre_tabla (
nombre_columna tipo_columna [ cláusula_defecto ] [ vínculos_de_columna ]
[ , nombre_columna tipo_columna [ cláusula_defecto ] [ vínculos_de_columna ]
... ]
[ , [ vínculo_de tabla] ... ] )
nombre_columna: es el nombre de la columna que compone la tabla.
Sería mejor no exagerar con la longitud de los identificadores de columna,
puesto que SQL Entry Level prevé nombres con no más de 18 caracteres.
Consúltese, de todos modos, la documentación de la base de datos específica.
Los nombres tienen que comenzar con un carácter alfabético.
tipo_columna: es la indicación del tipo de dato que la columna podrá
contener. Los principales tipos previstos por el estándar SQL son:
CHARACTER(n)
Una cadena de longitud fija con exactamente n caracteres.
CHARACTER
...