Profundiza U4

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 17

Lenguaje de

Definición de
Datos (DDL)
¿Qué es?

El DDL es la parte del lenguaje SQL que realiza la función


de definición de datos del SGBD. Fundamentalmente se
encarga de la creación, modificación y eliminación de los
objetos de la base de datos (es decir de los metadatos).
Por supuesto es el encargado de la creación de las 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 definición de la base de datos.
Creación de Bases de Datos
Crear la base de datos implica indicar los archivos y
ubicaciones que se utilizarán para la misma, además de otras
indicaciones técnicas y administrativas que no se comentarán
en este tema. Lógicamente sólo es posible crear una base de
datos si se tienen privilegios DBA (DataBase Administrator)
(SYSDBA en el caso de Oracle).
El comando SQL de creación de una base de datos es
CREATE DATABASE. Este comando crea una base de datos
con el nombre que se indique. Ejemplo:
Pero normalmente se indican más parámetros.
EJEMPLO: (Parámetros de Oracle)
Objetos de la base de datos

Según los estándares actuales, una base de datos es un


conjunto de objetos pensados para gestionar datos. Estos
objetos están contenidos en esquemas, los esquemas suelen
estar asociados al perfil de un usuario en particular.

En el estándar SQL existe el concepto de catálogo que sirve


para almacenar esquemas. Así el nombre completo de un
objeto vendría dado por:

Si no se indica el catálogo se toma el catálogo por defecto. Si


no se indica el esquema se entiende que el objeto está en el
esquema actual. En Oracle, cuando se crea un usuario, se crea
un esquema cuyo nombre es el del usuario.
Creación de tablas

NOMBRE DE LAS TABLAS

Deben cumplir las siguientes reglas (reglas de Oracle, en otros SGBD podrían cambiar):

• Deben comenzar con una letra.


• No deben tener más de 30 caracteres.
• Sólo se permiten utilizar letras del alfabeto (inglés), números o el signo de subrayado
(también el signo $ y #, pero esos se utilizan de manera especial por lo que no son
recomendados).
• No puede haber dos tablas con el mismo nombre para el mismo esquema (pueden coincidir
los nombres si están en distintos esquemas).
• No puede coincidir con el nombre de una palabra reservada SQL (por ejemplo no se puede
llamar SELECT a una tabla).
• En el caso de que el nombre tenga espacios en blanco o caracteres nacionales (permitido
sólo en algunas bases de datos), entonces se suele entrecomillar con comillas dobles. En el
estándar SQL 99 (respetado por Oracle) se pueden utilizar comillas dobles al poner el nombre
de la tabla a fin de hacerla sensible a las mayúsculas (se diferenciará entre “FACTURAS” y
“Facturas”).
Creación de tablas

Orden CREATE TABLE


Es la orden SQL que permite crear una tabla. Por defecto será almacenada en el espacio y
esquema del usuario que crea la tabla. Sintaxis:

Ejemplo:

Sólo se podrá crear la tabla si el usuario posee los permisos necesarios para ello. Si la tabla
pertenece a otro esquema (suponiendo que el usuario tenga permiso para grabar tablas en ese
otro esquema), se antepone al nombre de la tabla , el nombre del esquema:

Se puede indicar un valor por defecto para el atributo mediante la cláusula DEFAULT:

De este modo si añadimos un proveedor y no indicamos localidad, se tomará Palencia como


localidad de dicho Proveedor.
Tipos de Datos
A la hora de crear tablas, hay que indicar el tipo de datos de cada
campo. Necesitamos pues conocer los distintos tipos de datos. Estos
son:
Tipos de Datos
Tipos de Datos
Borrar Tablas (DROP)

La orden DROP TABLE seguida del nombre de una tabla, permite


eliminar la tabla en cuestión. Al borrar una tabla:

• Desaparecen todos los datos.


• Cualquier vista y sinónimo referente a la tabla seguirá existiendo,
pero ya no funcionará (conviene eliminarlos).
• Las transacciones pendientes son aceptadas (COMMIT), en aquellas
bases de datos que tengan la posibilidad de utilizar transacciones.
• Lógicamente, sólo se pueden eliminar las tablas sobre las que
tenemos permiso de borrado.

Normalmente, el borrado de una tabla es irreversible, y no hay


ninguna petición de confirmación, por lo que conviene ser muy
cuidadoso con esta operación.
Modificar Tablas
CAMBIAR DE NOMBRE A UNA TABLA

De forma estándar (SQL estándar) se hace:

En Oracle, además de con la orden anterior, se realiza mediante la orden RENAME


(que permite el cambio de nombre de cualquier objeto). Sintaxis:

Pero por coherencia es mejor hacerlo de la primera forma (la del estándar).

BORRAR CONTENIDO DE TABLAS

Oracle dispone de una orden no estándar para eliminar definitivamente los datos de
una tabla; es la orden TRUNCATE TABLE seguida del nombre de la tabla a borrar.
Hace que se elimine el contenido de la tabla, pero no la estructura de la tabla en sí.
Incluso borra del archivo de datos el espacio ocupado por la tabla.
Modificar Tablas
AÑADIR COLUMNAS

Permite añadir nuevas columnas a la tabla. Se deben indicar su tipo de datos y sus
propiedades si es necesario (al estilo de CREATE TABLE).
Las nuevas columnas se añaden al final, no se puede indicar otra posición (hay que
recordar que el orden de las columnas no importa). Ejemplo:

Muchas bases de datos (pero no Oracle) requieren escribir la palabra COLUMN tras la
palabra ADD. Normalmente suele ser opcional

BORRAR COLUMNAS

Elimina la columna indicada de manera irreversible e incluyendo los datos que


contenía. No se puede eliminar la única columna de una tabla que sólo tiene esa
columna (habrá que usar DROP TABLE).
Modificar Tablas

palabra DROP. Al igual que en el caso anterior, en SQL estándar se puede escribir el texto
COLUMN tras la

MODIFICAR COLUMNA
Permite cambiar el tipo de datos y propiedades de una determinada columna. Sintaxis:

Los cambios que se permiten son (en Oracle):


• Incrementar precisión o anchura de los tipos de datos.
• Sólo se puede reducir la anchura si la anchura máxima de un campo si esa
columna posee nulos en todos los registros, o todos los valores son tan pequeños
como la nueva anchura o no hay registros.
• Se puede pasar de CHAR a VARCHAR2 y viceversa (si no se modifica la anchura).
• Se puede pasar de DATE a TIMESTAMP y viceversa.
• Cualquier otro cambio sólo es posible si la tabla está vacía.
Modificar Tablas

Ejemplo:

En el caso de SQL estándar en lugar de MODIFY se emplea ALTER (que además


opcionalmente puede ir seguida de COLUMN). Por ejemplo:

RENOMBRAR COLUMNA
Esto permite cambiar el nombre de una columna. Sintaxis :

Ejemplo:
Modificar Tablas

VALOR POR DEFECTO

A cada columna se le puede asignar un valor por defecto durante su


creación mediante la propiedad DEFAULT. Se puede poner esta
propiedad durante la creación o modificación de la tabla, añadiendo la
palabra DEFAULT tras el tipo de datos del campo y colocando detrás el
valor que se desea por defecto.
Ejemplo:

La palabra DEFAULT se puede añadir durante la creación o la


modificación de la tabla (comando ALTER TABLE)
Bibliografía

Sánchez, Jorge. (2013). Gestión de Bases de


Datos usando Oracle SQL y PL/SQL. pp-86-96.

También podría gustarte