Documente Academic
Documente Profesional
Documente Cultură
SELECT. Se trata del comando que permite realizar consultas sobre los
datos de la base de datos. Obtiene datos de la base de datos. A sta
parte del lenguaje se la conoce como DQL (Data Query Language,
Lenguaje de consulta de datos); pero es parte del DML del lenguaje.
DML, Data Manipulation Language (Lenguaje de manipulacin de
datos). Modifica filas (registros) de la base de datos. Lo forman las
instrucciones INSERT, UPDATE, MERGE y DELETE.
Elementos del lenguaje SQL (2/3)
DDL, Data Definition Language (Lenguaje de definicin de
datos). Permiten modificar la estructura de las tablas de la
base de datos. Lo forman las instrucciones CREATE, ALTER,
DROP, RENAME y TRUNCATE.
DCL, Data Control Language (Lenguaje de control de
datos). Administran los derechos y restricciones de los
usuarios. Lo forman las instrucciones GRANT y REVOKE.
Instrucciones de control de transacciones. Administran las
modificaciones creadas por las instrucciones DML. Lo
forman las instrucciones ROLLBACK, COMMIT y
SAVEPOINT. Se las considera parte del DCL.
Elementos del lenguaje SQL (3/3)
Clusulas. Son palabras especiales que permiten
modificar el funcionamiento de un comando
(WHERE, ORDER BY,...)
Operadores. Permiten crear expresiones
complejas. Pueden ser aritmticos (+,-,*,/,...)
lgicos (>, <, !=,<>, AND, OR,...)
Funciones. Para conseguir valores complejos
(SUM(), DATE(),...)
Constantes. Valores literales para las consultas,
nmeros, textos, caracteres,...
Datos. Obtenidos de la propia base de datos
Normas de escritura
En SQL no se distingue entre maysculas y
minsculas. Da lo mismo como se escriba.
El final de una instruccin lo determina el signo
del punto y coma
Los comandos SQL (SELECT, INSERT,...) pueden ser
partidos por espacios o saltos de lnea antes de
finalizar la instruccin
Se pueden tabular lneas para facilitar la lectura si
fuera necesario
Los comentarios en el cdigo SQL comienzan por
/* y terminan por */ (excepto en algunos SGBD)
Proceso de las instrucciones SQL
El proceso de una instruccin SQL es el siguiente:
(1) Se analiza la instruccin. Para comprobar la
sintaxis de la misma
(2) Si es correcta se valora si los metadatos de la
misma son correctos. Se comprueba esto en el
diccionario de datos.
(3) Si es correcta, se optimiza, a fin de consumir los
mnimos recursos posibles.
(4) Se ejecuta la sentencia y se muestra el resultado
al emisor de la misma.
Pasos para implementar una base de
datos (1)
1) Definir en el disco duro, el rea fsica que contendr
las tablas de la base de datos.
Sentencia SQL --> CREATE DATABASE.
2) Crear las diferentes tablas de la base de datos.
Sentencia SQL --> CREATE TABLE
3) Insertar las filas de las diferentes tablas, sin violar la
integridad de datos.
Sentencia SQL --> INSERT INTO .
4) Actualizar los datos que cambien con el tiempo en las
diferentes tablas.
Sentencia SQL --> UPDATE.
Pasos para implementar una base de
datos (2)
5) Eliminar las filas que ya no se requieran en las
diferentes tablas.
Sentencia SQL --> DELETE
6) Realizar las consultas deseadas a las tablas de la base
de datos a travs de la poderosa sentencia de consultas
del SQL,
Sentencia SQL SELECT
7) Dar nombre a las consultas. elaboradas en el paso
No.6 cuando se requiera ocultar el diseo y columnas de
las tablas a travs de la creacin de vistas lgicas.
Sentencia SQL ----> CREATE VIEW.
DDL (introduccin 1/2)
Fundamentalmente se encarga de la creacin de esquemas,
tablas y vistas. Por ahora
veremos como crear tablas.
Cada usuario de una base de datos posee un esquema. El
esquema suele tener el
mismo nombre que el usuario y sirve para almacenar los
objetos de esquema, es decir
los objetos que posee el usuario.
Esos objetos pueden ser: tablas, vistas, ndices y otras objetos
relacionados con la
definicin de la base de datos. Los objetos son manipulados y
creados por los usuarios.
DDL (introduccin 2/2)
El DDL es la parte del lenguaje que realiza la funcin de definicin
de datos.
En principio slo los administradores y los usuarios propietarios
pueden acceder a cada
objeto, salvo que se modifiquen los privilegios del objeto para
permitir el acceso a otros
usuarios.
Hay que tener en cuenta que ninguna instruccin DDL puede ser
anulada por una
instruccin ROLLBACK (la instruccin ROLLBACK est relacionada
con el uso de
transacciones que se comentarn ms adelante) por lo que hay que
tener mucha
precaucin a la hora de utilizarlas. Es decir, las instrucciones DDL
son definitivas.
Lenguaje de Definicin de Datos (DDL,
Data Definiton Language)
Grupo de sentencias del SQL que soportan la definicin y declaracin
de los objetos de la base de datos. Objetos tales como:
la base de datos misma(DATABASE),
las tablas(TABLE),
las Vistas (VIEW),
los ndices (INDEX),
los procedimientos almacenados (PROCEDURE),
los disparadores (TRIGGER),
Reglas (RULE),
Dominios (Domain) y
Valores por defecto (DEFAULT).
CREATE,
ALTER y DROP
CREANDO UNA
BASE DE DATOS
Creacin de bases de datos
Crear la base de datos implica indicar los archivos y
ubicaciones que se utilizarn para la misma, adems de otras
indicaciones tcnicas y administrativas.
Lgicamente slo es posible crear una base de datos si se
tienen privilegios DBA (DataBase Administrator) o SYSDBA.
El comando SQL de creacin de una base de datos es CREATE
DATABASE. Este comando crea una base de datos con el
nombre que se indique.
Crear una base de datos:
Sentencia SQL CREATE DATABASE
TIPO DE EXTENSIN
SINTAXIS:
create database nombre_basededatos ON PRIMARY ARCHIVO DE
( NOMBRE
name = nombre_basededatos _data, DE
filename = 'c:\ nombre_basededatos.mdf', /*Direccin donde se crea*/ ARCHIVO
size = 3mb, /*Tamao de la base de datos*/ RECOMEN
maxsize = 7mb, /*Tamao de mximo de la base de datos*/ DADA
filegrowth = 2 mb /*crecimiento de la base de datos*/
) Archivo de .mdf
log on datos
( principal
name = nombre_basededatos _log,
Archivo de .ndf
filename = 'c:\ nombre_basededatos.ldf',
size = 3mb, datos
maxsize = 7mb, secundarios
filegrowth = 2 mb
) Archivo de .ldf
registro de
transacciones
Ejemplos: 1-2
Ejemplo 1:
CREATE DATABASE prueba;
Pero normalmente se indican ms parmetros.
Ejemplo 2:
CREATE DATABASE prueba
LOGFILE prueba.log
MAXLOGFILES 25
MAXINSTANCES 10
ARCHIVELOG
CHARACTER SET WIN1214
NATIONAL CHARACTER SET UTF8
DATAFILE prueba1.dbf AUTOEXTEND ON MAXSIZE 500MB;
Ejemplo 3: Creando base de datos
Ventas
CREATE DATABASE VENTAS ON PRIMARY
( En el ejemplo que se acaba de
NAME=VENTAS_data, presentar se crea un archivo
FILENAME='c:\VENTAS.mdf', principal de extensin mdf de
SIZE=5MB,
tamao inicial de 5 MB, cuando
este espacio se agote, este se
MAXSIZE=10MB, expandir en 1 MB ms para
FILEGROWTH=1MB tener espacio libre y meter ms
) registros o tablas y cuando se
LOG ON agote nuevamente el archivo
( fsico de 1MB, ste se expandir
NAME=VENTAS_log, en 1 MB nuevamente y as en lo
FILENAME='c:\VENTAS.ldf', sucesivo hasta alcanzar el
SIZE=5MB,
mximo 10 MB ya de ah no
crecer ms.
MAXSIZE=10MB,
FILEGROWTH=1MB
)
Estructura del archivo principal .mdf
EJEMPLO 2.
create database ALQUILER on primary
(
name = ALQUILER_data,
filename = 'D:\COCHES\DATA\ALQUILER.mdf',
size = 30 mb,
maxsize = 50 mb,
filegrowth = 5 mb
)
log on
(
name = ventas_log,
filename = 'D:\COCHES\DATA\ALQUILER.ldf',
size = 30 mb,
maxsize = 50 mb,
filegrowth = 5 mb
)
NOTA: ANTES DE CREAR UNA BASE DE
DATOS
Antes de proceder a crear la base de datos debemos
averiguar si existe otra base de datos VENTAS para
borrarla y crear la nuestra. Recuerde no utilizar estas
sentencias en un servidor de produccin de SQL
SERVER.
Ejemplo: Corra el siguiente cdigo en el Query
Analyser de SQLSERVER.
Ejemplos:
NOT NULL
UNIQUE
PRIMARY KEY
CHECK
DEFAULT
FOREIGN KEY
Sintaxis:
CREATE TABLE <nombre_tabla>
(
<nombre_campo> <tipo_datos(tamao)>
[null | not null] [default <valor_por_defecto>]
{
,<nombre_campo> <tipo_datos(tamao)>
[null | not null] [default <valor_por_defecto>]}
[
, constraint <nombre> primary key (<nombre_campo>[ ,...n ])]
[
, constraint <nombre> foreign key (<nombre_campo>[ ,...n ])
references <tabla_referenciada> ( <nombre_campo> [ ,...n ] ) ]
);
Ligaduras
...}
FROM tabla;
Donde:
Ejemplos:
/* Seleccin de todos los registros de la tabla clientes */
Esa consulta obtiene tres columnas. La tercera tendr como nombre la expresin utilizada, para
poner un alias basta utilizar dicho alias tras la expresin:
Ejemplos:
SELECT Tipo, Modelo FROM Pieza WHERE Precio>3;
Ejemplos:
Smbolo Significado
% Una serie cualquiera de caracteres
_ Un carcter cualquiera
Ejemplos:
SELECT expresiones
FROM tabla
[WHERE condicin]
ORDER BY listaDeCamposOAlias;
Subconsultas
Se trata de una tcnica que permite utilizar el resultado de una tabla SELECT en otra consulta SELECT. Permite
solucionar problemas en los que el mismo dato aparece dos veces.
La sintaxis es:
SELECT listaExpresiones
FROM tabla
WHERE expresin operador
(SELECT listaExpresiones
FROM tabla);
Se puede colocar el SELECT dentro de las clusulas WHERE, HAVING o FROM.
El operador puede ser >,<,>=,<=,!=, = o IN.
Ejemplo: