ÍNDICE
[Link] ESTÁNDAR DE CONSULTA SQL
[Link]ÓN, MODIFICACIÓN Y ELIMINACIÓN DE BASES DE
DATOS.
[Link]ÓN, MODIFICACIÓN Y ELIMINACIÓN DE TABLAS.
[Link]ÓN DE RESTRICCIONES SOBRE TABLAS.
[Link] DE TABLAS.
1. LENGUAJE ESTÁNDAR DE CONSULTA
1. LENGUAJE ESTÁNDAR DE SQL
CONSULTA SQL
2. CREACIÓN, MODIFICACIÓN Y
ELIMINACIÓN DE BASES DE DATOS. El lenguaje estándar de consulta estructurado llamado SQL
3. CREACIÓN, MODIFICACIÓN Y (Structured Query Language) es un lenguaje de consulta,
ELIMINACIÓN DE TABLAS.
manipulación y acceso a bases de datos relacionales.
4. IMPLEMENTACIÓN DE
RESTRICCIONES SOBRE TABLAS.
Las operaciones que se pueden realizar sobre la base de datos
5. TRUNCADO DE TABLAS.
mediante SQL se pueden dividir en tres grandes grupos y se
distinguen tres “sublenguajes” SQL, cada uno de ellos asociado a
uno de los grupos.
Lenguaje de Definición de Datos (DDL): se encarga de la
modificación de la estructura de los objetos de la base de
datos, Se utilizan para ello las sentencias CREATE, ALTER,
DROP y TRUNCATE. Este tema se centra en estas operaciones.
Lenguaje de Manipulación de Datos (DML): se encarga de las
tareas de consulta y manipulación de los datos de la base de
datos. Se utilizan para ello las sentencias SELECT, INSERT,
UPDATE y DELETE.
Lenguaje de Control de Datos (DCL): se encarga de las tareas
de confirmación y anulación de transacciones de datos.
1. LENGUAJE ESTÁNDAR DE CONSULTA
1. LENGUAJE ESTÁNDAR DE SQL
CONSULTA SQL
2. CREACIÓN, MODIFICACIÓN Y
ELIMINACIÓN DE BASES DE DATOS. Aunque SQL es un lenguaje estandar, se pueden encontrar
3. CREACIÓN, MODIFICACIÓN Y pequeñas variaciones en la sintaxis, dependiendo del Sistema
ELIMINACIÓN DE TABLAS.
Gestor de Bases de Datos en el que se use.
4. IMPLEMENTACIÓN DE
RESTRICCIONES SOBRE TABLAS.
5. TRUNCADO DE TABLAS. A medida que se profundice en el estudio de SQL, se irá
detallando la sintáxis estandar de cada comando o sentencia, si
bien puede ser que se tenga que adaptar alguno de ellos a los
ejemplos, por lo dicho anteriormente.
2. CREACIÓN, MODIFICACIÓN Y
1. LENGUAJE ESTÁNDAR DE ELIMINACIÓN DE BASES DE DATOS.
CONSULTA SQL
2. CREACIÓN, MODIFICACIÓN Y
ELIMINACIÓN DE BASES DE DATOS. La creación de base de datos puede ser diferente para cada
3. CREACIÓN, MODIFICACIÓN Y sistema gestor de base de datos.
ELIMINACIÓN DE TABLAS.
4. IMPLEMENTACIÓN DE
RESTRICCIONES SOBRE TABLAS. Normalmente se utiliza la sintaxis que se verá a continuación.
5. TRUNCADO DE TABLAS.
En algunas ocasiones se necesita definir previamente una
serie de parámetros en ficheros de configuración.
En otras ocasiones no será necesario y se creara la base de
datos directamente con la sentencia SQL.
Por último, habrá otras ocasiones en las que se necesitará
especificar en la sentencia de creación de la base de datos, una
serie de parámetros específicos tales como el juego de
caractéres a utilizar, localización de los ficheros en los que se
almacenarán los datos, etc.
Está sentencia es la siguiente:
CREATE DATABASE Nombre_de_la_base_de_datos ;
2. CREACIÓN, MODIFICACIÓN Y
1. LENGUAJE ESTÁNDAR DE ELIMINACIÓN DE BASES DE DATOS.
CONSULTA SQL
2. CREACIÓN, MODIFICACIÓN Y
ELIMINACIÓN DE BASES DE DATOS. Ejemplo de creación de bases de datos en Mysql:
3. CREACIÓN, MODIFICACIÓN Y
ELIMINACIÓN DE TABLAS.
Desde el gestor de bases de datos se puede introducir
4. IMPLEMENTACIÓN DE
RESTRICCIONES SOBRE TABLAS. directamente la sentencia siguiente.
5. TRUNCADO DE TABLAS.
CREATE DATABASE ejemplo CHARACTER SET utf8
COLLATE utf8_spanish_ci;
Ejemplo de creación de bases de datos en Oracle:
Se realizarán unas tareas previas desde el sistema operativo y
posteriormente se entrará en el gestor de bases de datos de
oracle. Se podrá introducir entonces la sentencia siguiente.
CREATE DATABASE ejemplo MAXINSTANCES 1
MAXLOGFILES 5 MAXLOGMEMBERS 5 MAXDATAFILES 100
CHARACTER SET UTF8 …(y otras opciones adicionales) ;
2. CREACIÓN, MODIFICACIÓN Y
1. LENGUAJE ESTÁNDAR DE ELIMINACIÓN DE BASES DE DATOS.
CONSULTA SQL
2. CREACIÓN, MODIFICACIÓN Y
ELIMINACIÓN DE BASES DE DATOS. La modificación de base de datos puede ser también diferente
3. CREACIÓN, MODIFICACIÓN Y para cada sistema gestor de base de datos.
ELIMINACIÓN DE TABLAS.
4. IMPLEMENTACIÓN DE
RESTRICCIONES SOBRE TABLAS. En ocasiones un gestor de bases de datos permitirá cambiar
5. TRUNCADO DE TABLAS. múltiples parámetros y en otros casos solamente una serie de
parámetros concretos y muy limitados.
Normalmente se utiliza la sintaxis que se verá a continuación:
ALTER DATABASE Nombre_de_la_base_de_datos
parametro_a_cambiar nuevo_valor;
2. CREACIÓN, MODIFICACIÓN Y
1. LENGUAJE ESTÁNDAR DE ELIMINACIÓN DE BASES DE DATOS.
CONSULTA SQL
2. CREACIÓN, MODIFICACIÓN Y
ELIMINACIÓN DE BASES DE DATOS. Ejemplo de modificación de bases de datos en Mysql:
3. CREACIÓN, MODIFICACIÓN Y
ELIMINACIÓN DE TABLAS.
Desde el gestor de bases de datos se puede introducir
4. IMPLEMENTACIÓN DE
RESTRICCIONES SOBRE TABLAS. directamente la sentencia siguiente.
5. TRUNCADO DE TABLAS.
ALTER DATABASE ejemplo COLLATE utf8_spanish2_ci;
Ejemplo de modificación de bases de datos en Oracle:
Desde el gestor de bases de datos se puede introducir
directamente la sentencia siguiente.
ALTER DATABASE ejemplo CHARACTER SET AL16UTF16;
2. CREACIÓN, MODIFICACIÓN Y
1. LENGUAJE ESTÁNDAR DE ELIMINACIÓN DE BASES DE DATOS.
CONSULTA SQL
2. CREACIÓN, MODIFICACIÓN Y
ELIMINACIÓN DE BASES DE DATOS. El borrado de base de datos puede ser también diferente para
3. CREACIÓN, MODIFICACIÓN Y cada sistema gestor de base de datos.
ELIMINACIÓN DE TABLAS.
4. IMPLEMENTACIÓN DE
RESTRICCIONES SOBRE TABLAS. En ocasiones un gestor de bases de datos necesitará indicar la
5. TRUNCADO DE TABLAS. base de datos que va a ser borrada, en otros casos se debe
estar posicionado en la base de datos que va a ser borrada, etc.
Normalmente se utiliza la sintaxis que se verá a continuación:
DROP DATABASE;
2. CREACIÓN, MODIFICACIÓN Y
1. LENGUAJE ESTÁNDAR DE ELIMINACIÓN DE BASES DE DATOS.
CONSULTA SQL
2. CREACIÓN, MODIFICACIÓN Y
ELIMINACIÓN DE BASES DE DATOS. Ejemplo de borrado de bases de datos en Mysql:
3. CREACIÓN, MODIFICACIÓN Y
ELIMINACIÓN DE TABLAS.
Desde el gestor de bases de datos se puede introducir
4. IMPLEMENTACIÓN DE
RESTRICCIONES SOBRE TABLAS. directamente la sentencia siguiente.
5. TRUNCADO DE TABLAS.
DROP DATABASE ejemplo;
Ejemplo de borrado de bases de datos en Oracle:
Desde el gestor de bases de datos se debe situar la base de
datos en un estado de parada y a continuación se puede
introducir directamente la sentencia siguiente.
DROP DATABASE;
3. CREACIÓN, MODIFICACIÓN Y
1. LENGUAJE ESTÁNDAR DE ELIMINACIÓN DE TABLAS.
CONSULTA SQL
2. CREACIÓN, MODIFICACIÓN Y
ELIMINACIÓN DE BASES DE DATOS. La creación de tablas en una base de datos puede ser
3. CREACIÓN, MODIFICACIÓN Y diferente para cada sistema gestor de base de datos, si bien está
ELIMINACIÓN DE TABLAS.
más estandarizado que la creación de bases de datos.
4. IMPLEMENTACIÓN DE
RESTRICCIONES SOBRE TABLAS.
5. TRUNCADO DE TABLAS.
Normalmente se utiliza la sintaxis que se verá a continuación.
CREATE TEMPORARY TABLE Nombre_de_la_tabla
Definicion_create;
TEMPORARY es un campo opcional y se especificará si se
desea crear la tabla temporalmente y se destruirá
automáticamente, al abandonar la conexión a la base de datos el
usuario que la crea.
Nombre_de_la_tabla es un campo obligatorio y se refiere al
nombre que se asignará a la tabla.
Definicion_create es un campo obligatorio y especifica la
definición de los campos o atributos que va a contener la tabla.
Se incluirán también a continuación las restricciones que se
aplicarán sobre la tabla y sus atributos.
3. CREACIÓN, MODIFICACIÓN Y
1. LENGUAJE ESTÁNDAR DE ELIMINACIÓN DE TABLAS.
CONSULTA SQL
2. CREACIÓN, MODIFICACIÓN Y
ELIMINACIÓN DE BASES DE DATOS. En la Definición Create habrá tantos atributos como se necesiten,
3. CREACIÓN, MODIFICACIÓN Y por lo tanto esta parte de las sentencia create se repetirá tantas
ELIMINACIÓN DE TABLAS.
veces como atributo tenga la tabla.
4. IMPLEMENTACIÓN DE
RESTRICCIONES SOBRE TABLAS.
5. TRUNCADO DE TABLAS. El formato que se sigue para esta definición será el siguiente:
Nombre_Atributo Tipo_Dato_del_atributo
Restriccion_Atributo .
El tipo de dato del atributo será numérico, texto, fecha, etc. y la
sintaxis del tipo dependerá del gestor de bases de datos.
La restricción del atributo es un campo opcional que puede
contener los siguientes valores: NULL o NOT NULL, UNIQUE o
UNIQUE KEY, PRIMARY KEY, DEFAULT valor.
3. CREACIÓN, MODIFICACIÓN Y
1. LENGUAJE ESTÁNDAR DE ELIMINACIÓN DE TABLAS.
CONSULTA SQL
2. CREACIÓN, MODIFICACIÓN Y
ELIMINACIÓN DE BASES DE DATOS. Los valores NULL y NOT NULL son excluyentes.
3. CREACIÓN, MODIFICACIÓN Y NOT NULL implica que ese atributo tiene que tomar un valor
ELIMINACIÓN DE TABLAS.
obligatoriamente cuando se cree una tupla nueva en la tabla,
4. IMPLEMENTACIÓN DE
RESTRICCIONES SOBRE TABLAS. mientras que NULL implica que no es obligatorio que tome un
5. TRUNCADO DE TABLAS. valor. Si se omiten, se asume que se aplica la restricción NULL
Los valores UNIQUE o UNIQUE KEY son excluyentes.
UNIQUE implica que el valor que tome ese atributo no puede
repetirse en toda la tabla para ese mismo atributo, UNIQUE KEY
implica que ese atributo pasa a ser un índice de la tabla (se
utilizará para hacer búsquedas rápidas). Si se omiten, los valores
para ese atributo se pueden repetir entre tuplas sin problemas.
PRIMARY KEY implica que ese atributo pasa a ser la clave
primaria de la tabla. Si la clave primaria está compuesta por
varios atributos, este valor se debe especificar al final de la tabla
con todos los atributos que conforman la clave primaria.
DEFAULT establece el valor indicado por defecto para el
atributo, si no se introdujese uno al crear una nueva tupla en la
3. CREACIÓN, MODIFICACIÓN Y
1. LENGUAJE ESTÁNDAR DE ELIMINACIÓN DE TABLAS.
CONSULTA SQL
2. CREACIÓN, MODIFICACIÓN Y
ELIMINACIÓN DE BASES DE DATOS. Ejemplo de creación de tablas:
3. CREACIÓN, MODIFICACIÓN Y
ELIMINACIÓN DE TABLAS.
Desde el gestor de bases de datos se puede introducir
4. IMPLEMENTACIÓN DE
RESTRICCIONES SOBRE TABLAS. directamente la sentencia siguiente.
5. TRUNCADO DE TABLAS.
CREATE TABLE ejemplo (
Dni varchar(9) PRIMARY KEY,
Nombre varchar(20) NOT NULL,
Edad int DEFAULT 1 ,
Nickname varchar(10) UNIQUE
);
Existe una sentencia que suele ser compatible en la mayoría de
los Sistemas Gestores de Bases de datos y que permite mostrar
la estructura de una tabla, una vez creada.
La sentencia es “ describe Nombre_Tabla“.
describe ejemplo;
3. CREACIÓN, MODIFICACIÓN Y
1. LENGUAJE ESTÁNDAR DE ELIMINACIÓN DE TABLAS.
CONSULTA SQL
2. CREACIÓN, MODIFICACIÓN Y
ELIMINACIÓN DE BASES DE DATOS. La modificacion de tablas en una base de datos puede ser
3. CREACIÓN, MODIFICACIÓN Y diferente para cada sistema gestor de base de datos, si bien está
ELIMINACIÓN DE TABLAS.
más estandarizado que la modificación de bases de datos.
4. IMPLEMENTACIÓN DE
RESTRICCIONES SOBRE TABLAS.
5. TRUNCADO DE TABLAS. Normalmente se utiliza la sintaxis que se verá a continuación.
ALTER TABLE Nombre_de_la_tabla Definicion_alter;
Nombre_de_la_tabla es un campo obligatorio y se refiere al
nombre que tiene la tabla.
Definicion_alter es un campo obligatorio y está compuesto por
pares de datos que van precedidos de la palabra clave que indica
el cambio a realizar.
Estas palabras clave son: ADD , CHANGE o RENAME, MODIFY
y DROP.
3. CREACIÓN, MODIFICACIÓN Y
1. LENGUAJE ESTÁNDAR DE ELIMINACIÓN DE TABLAS.
CONSULTA SQL
2. CREACIÓN, MODIFICACIÓN Y
ELIMINACIÓN DE BASES DE DATOS. ADD permite añadir un atributo, una restricción sobre un atributo
3. CREACIÓN, MODIFICACIÓN Y o una restricción sobre la tabla.
ELIMINACIÓN DE TABLAS.
4. IMPLEMENTACIÓN DE
RESTRICCIONES SOBRE TABLAS. CHANGE o RENAME permite cambiar el nombre de un atributo.
5. TRUNCADO DE TABLAS. Hay gestores de base de datos que solamente permiten una de
esas palabras clave.
MODIFY permite cambiar el tipo de datos de un atributo o
también modificar restricciones en algunos gestores de bases de
datos.
DROP permite eliminar atributos, restricciones sobre atributos o
restricciones sobre tablas.
3. CREACIÓN, MODIFICACIÓN Y
1. LENGUAJE ESTÁNDAR DE ELIMINACIÓN DE TABLAS.
CONSULTA SQL
2. CREACIÓN, MODIFICACIÓN Y
ELIMINACIÓN DE BASES DE DATOS. Ejemplo de modificación de tablas:
3. CREACIÓN, MODIFICACIÓN Y
ELIMINACIÓN DE TABLAS.
Desde el gestor de bases de datos se puede introducir
4. IMPLEMENTACIÓN DE
RESTRICCIONES SOBRE TABLAS. directamente la sentencia siguiente.
5. TRUNCADO DE TABLAS.
ALTER TABLE ejemplo ADD nacionalidad varchar(20);
ALTER TABLE ejemplo MODIFY nacionalidad varchar(10);
ALTER TABLE ejemplo CHANGE nacionalidad nacion_usu
varchar(15);
ALTER TABLE ejemplo DROP nacionalidad;
Si se desea cambiar el nombre de una tabla, se deberá utilizar la
sentencia “ RENAME TABLE Nombre_Tabla TO
Nuevo_Nombre_Tabla “, si bien puede haber cambios de un
gestor de Bases de Datos a otro.(en Oracle no es necesario
incluir TABLE, en mysql si).
3. CREACIÓN, MODIFICACIÓN Y
1. LENGUAJE ESTÁNDAR DE ELIMINACIÓN DE TABLAS.
CONSULTA SQL
2. CREACIÓN, MODIFICACIÓN Y
ELIMINACIÓN DE BASES DE DATOS. El borrado de tablas en una base de datos puede ser diferente
3. CREACIÓN, MODIFICACIÓN Y para cada sistema gestor de base de datos, si bien está más
ELIMINACIÓN DE TABLAS.
estandarizado que el borrado de bases de datos.
4. IMPLEMENTACIÓN DE
RESTRICCIONES SOBRE TABLAS.
5. TRUNCADO DE TABLAS. Normalmente se utiliza la sintaxis que se verá a continuación.
DROP TABLE Nombre_de_la_tabla;
Ejemplo de borrado de tablas:
Desde el gestor de bases de datos se puede introducir
directamente la sentencia siguiente.
DROP TABLE ejemplo;
4. IMPLEMENTACIÓN DE RESTRICCIONES
1. LENGUAJE ESTÁNDAR DE SOBRE TABLAS.
CONSULTA SQL
2. CREACIÓN, MODIFICACIÓN Y
ELIMINACIÓN DE BASES DE DATOS. Para la implementación de restricciones sobre tablas de una base de
3. CREACIÓN, MODIFICACIÓN Y datos, se puede utilizar diferente sintaxis para cada sistema gestor de
ELIMINACIÓN DE TABLAS.
base de datos, como ocurre con las sentencias vistas hasta ahora.
4. IMPLEMENTACIÓN DE
RESTRICCIONES SOBRE TABLAS.
5. TRUNCADO DE TABLAS. Las restricciones se establecen en la última parte de la definición de la
sentencia CREATE, una vez definidos los atributos que compondrán la
tabla o se pueden añadir posteriormente con la sentencia ALTER.
Estas restricciones son las conocidas como claves primarias y claves
externas o foráneas.
La sintaxis de la clave primaria es: PRIMARY KEY (Atributo);
Se pueden incluir varios atributos si la clave es compuesta.
La sintaxis de la clave foránea es: FOREIGN KEY (Atributo)
REFERENCES Tabla_Referenciada(Atributo_de_Tabla_Referenciada)
Se pueden incluir acciones a realizar en caso de que el atributo de la
tabla a la que se referencia se cambie.
4. IMPLEMENTACIÓN DE RESTRICCIONES
1. LENGUAJE ESTÁNDAR DE SOBRE TABLAS.
CONSULTA SQL
2. CREACIÓN, MODIFICACIÓN Y
ELIMINACIÓN DE BASES DE DATOS. Las posibles modificaciones son el borrado y la actualización y se
3. CREACIÓN, MODIFICACIÓN Y especifican de la siguiente manera: ON DELETE , ON UPDATE.
ELIMINACIÓN DE TABLAS.
4. IMPLEMENTACIÓN DE
RESTRICCIONES SOBRE TABLAS. Las acciones a realizar en caso de la modificación son las siguientes:
5. TRUNCADO DE TABLAS.
NO ACTION : Se impedirá el borrado o actualización del atributo de la
tabla referenciada.
CASCADE : La operación se realiza en cascada, de tal manera que si
se actualiza la tabla referenciada, se actualizarán los registros
relacionados de la tabla desde la que se referencia. Si se borra un
registro de la tabla referenciada, se borrarán los registros relacionados
de la tabla desde la que se referencia.
SET NULL: Se pondrá a NULL el valor del atributo afectado de la tabla
por un borrado o actualización del atributo de la tabla a la que se
referencia.
No todos los Sistemas Gestores de Bases de datos incluyen estas
acciones.
4. IMPLEMENTACIÓN DE RESTRICCIONES
1. LENGUAJE ESTÁNDAR DE SOBRE TABLAS.
CONSULTA SQL
2. CREACIÓN, MODIFICACIÓN Y
ELIMINACIÓN DE BASES DE DATOS. Ejemplo de implementación de restricciones sobre tablas:
3. CREACIÓN, MODIFICACIÓN Y
ELIMINACIÓN DE TABLAS. Desde el gestor de bases de datos se puede introducir
4. IMPLEMENTACIÓN DE directamente la sentencia siguiente.
RESTRICCIONES SOBRE TABLAS.
5. TRUNCADO DE TABLAS. CREATE TABLE ejemplo (
Dni varchar(9),
Nombre varchar(20),
Edad int,
Nickname varchar(10),
CodigoPostal int,
PRIMARY KEY (Dni),
FOREIGN KEY (CodigoPostal) REFERENCES
CodigosPostales(Id_CodigoPostal) ON DELETE SET NULL
ON UPDATE CASCADE
);
ALTER TABLE ejemplo ADD
FOREIGN KEY (CodigoPostal) REFERENCES
Codigos_Postales(Id_Codigo_Postal) ON DELETE SET NULL
ON UPDATE CASCADE;
5. TRUNCADO DE TABLAS.
1. LENGUAJE ESTÁNDAR DE
CONSULTA SQL
2. CREACIÓN, MODIFICACIÓN Y
ELIMINACIÓN DE BASES DE DATOS. El truncado de una tabla, permite el borrado completo de los
3. CREACIÓN, MODIFICACIÓN Y datos que contiene esa tabla.
ELIMINACIÓN DE TABLAS.
4. IMPLEMENTACIÓN DE Todas las tuplas que la forman se borrarán, si bien no se altera la
RESTRICCIONES SOBRE TABLAS.
estructura de la tabla.
5. TRUNCADO DE TABLAS.
Este truncado solo se podrá realizar si no existen restricciones
establecidas sobre esta tabla, de tal manera que si hay una clave
externa de otra table que referencia a un atributo de la tabla a
truncar, el truncado provocará un error y no se realizará.
Generalmente se utiliza la sintaxis que se verá a continuación.
TRUNCATE TABLE Nombre_Tabla;
Ejemplo de truncado de tabla:
Desde el gestor de bases de datos se puede introducir
directamente la sentencia siguiente.
TRUNCATE TABLE ejemplo;
RESUMEN
[Link] ESTÁNDAR DE CONSULTA SQL
[Link]ÓN, MODIFICACIÓN Y ELIMINACIÓN DE BASES DE
DATOS.
[Link]ÓN, MODIFICACIÓN Y ELIMINACIÓN DE TABLAS.
[Link]ÓN DE RESTRICCIONES SOBRE TABLAS.
[Link] DE TABLAS.
Información extraída de bibliografía básica.