SQL está dividido en tres sub lenguajes:
DDL (Data Definition Language)
Lenguaje de definición de datos. Definen la estructura de los datos
DML (Data Manipulation Language)
Lenguaje de manipulación de datos. Instrucciones que trabajan sobre los datos
DCL (Data Control Language)
Lenguaje de control de datos. Permite administrar la seguridad de datos y el control de consistencia.
Lenguaje de definición de datos DDL
Permite:
– Crear una base de datos.
– Crear, suprimir, modificar una tabla.
– Definir una tabla virtual (o vista) de datos.
– Construir un índice para hacer más rápido el acceso a una tabla.
– Controlar el almacenamiento físico de los datos por parte del SGBD.
Comprende instrucciones como: • CREATE, ALTER, DROP, etc.
Lenguaje de Manipulación de datos DML
Permite:
• Insertar, modificar o eliminar registros de una tabla.
• Realizar consultas a una o varias tablas.
• Implementar procedimientos y funciones almacenadas.
• Abarca instrucciones como:
– INSERT – UPDATE – DELETE – SELECTLenguaje de Control de datos DCL
Permite:
• Crear usuarios.
• Otorgar y/o revocar permisos a usuarios.
• Abarca instrucciones como:
– GRANT – REVOKE – DENY – etc.Scripts
Los scripts son un conjunto de instrucciones generalmente almacenadas en un archivo de texto que deben ser interpretados línea a línea en tiempo real para su ejecución.
Se distinguen de los programas, en que estos ultimos deben ser convertidos a un archivo binario ejecutable para correrlos.
Lenguaje de definición de datos
DDL
Crear, modificar, eliminar una Base de Datos
Crear una BD: CREATE DATABASE
Modificar una BD: ALTER DATABASE < nombre base de datos>
Eliminar una BD: DROP DATABASE < nombre base de datos>
Ejemplos:
CREATE DATABASE BDPrueba; use master;
DROP DATABASE BDPrueba;
ALTER DATABASE BDPrueba SET READ_ONLY; --establece de solo lectura GO
Crear, modificar y eliminar Tablas
CREATE TABLEnombre_columnaN tipo [restricción de columna], [restricción_de_tabla]);
drop table
alter table
[ALTER COLUMN | ADD ]
| DROP COLUMN
Crear, modificar y eliminar Registros
CREATE TABLE
(nombre_columna1 tipo [restricción de columna],
........nombre_columnaN tipo [restricción de columna], [restricción_de_tabla]);
Eliminar
drop table
Borrar una tabla: drop table departamento;
Insertando registos:
1. Cuando se va ha introducir todos los datos en el mismo orden que fué definido: insert into pais values (2,'Peru',100)
2. Cuando se va ha asignar datos a ciertas columnas:
insert into continente(ContNombre) values ('America');
insert into pais(paisId, paisNombre, continenteId) values (1,'Bolivia',100)
insert into
CREATE TABLE: Restricciones
La sentencia CREATE TABLE se utiliza para crear una tabla dentro de la cual habrá columnas que contienen datos y restricciones.
Sintaxis General de la sentencia CREATE TABLE:
CREATE TABLE
(nombre_columna1 tipo [restricción de columna],
........nombre_columnaN tipo [restricción de columna],
[restricción_de_tabla]);
CREATE TABLE: Restricciones de columnas
• NOT NULL. La columna no permitirá valores nulos.
• CONSTRAINT. Permite asociar un nombre a una restricción.
• DEFAULT valor. La columna tendrá un valor por defecto. El SBGD utiliza este valor cuando no se especifica un valor para dicha columna.
• PRIMARY KEY. Permite indicar que esta columna es la clave primaria.
• REFERENCES. Es la manera de indicar que este campo, es clave ajena y hace referencia a un campo llave de otra tabla. Esta foreign key es sólo de una columna.
• UNIQUE. Obliga a que los valores de una columna tomen valores únicos (no puede haber dos filas con igual valor). Se implementa creando un índice para dicha(s) columna(s).
• CHECK (condición). Permite indicar una condición que debe de cumplir esa columna.
CREATE TABLE: Restricciones de tablas
PRIMARY KEY (columna1, columna2...).
Permite indicar las columnas que forman la clave primaria.
FOREIGN KEY (columna1, columna2....) REFERENCES NombreTabla
Indica las. columnas que son clave ajena referenciando a una clave candidata de otra tabla.
UNIQUE (columna1, columna2...)
El valor combinado de una o varias columnas es único.
CHECK (condición)
Permite indicar una condición que deben cumplir las filas de la tabla. Puede afectar a varias columnas.
CREATE TABLE: Restricciones sobre llaves foráneass
CREATE TABLE
( nombre_colum1 tipo [restricción de columna], :
nombre_columN tipo references TablaPrimaria(campo)
[ ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ]
[ ON UPDATE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ]
[restricción_de_tabla] );
Ejemplo: ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT }
• Especifica la acción que tiene lugar en las filas de una tabla B cuyas filas tienen una relación referencial con una fila de la tabla A que se acaba de eliminar. El valor predeterminado es NO ACTION. NO ACTION Genera un error y se revierte la acción de eliminación de la fila de la tabla primaria. CASCADE Se eliminan las filas correspondientes de la tabla B que hacen referencia a la fila eliminada en la tabla A.
SET NULL Todos los valores que forman la clave foránea se establecen en NULL si se elimina la fila correspondiente de la tabla primaria.
Restricción: Las columnas de clave externa deben admitir valores NULL.
SET DEFAULT Todos los valores que forman la clave foranea se establecen en los valores predeterminados si se elimina la fila correspondiente de la tabla primaria.
Restricción: Las columnas de clave externa deben tener valores predeterminados. Si la columna admite valores NULL y no hay ningún valor predeterminado establecido de forma explícita, NULL se convierte en el valor predeterminado implícito de la columna.
No hay comentarios:
Publicar un comentario