Lenguaje de definicion de datos(DDL).
Es un lenguaje proporcionado por el sistema de gestión de base de datos que permite a los usuarios de la misma llevar a cabo las tareas de definición de las estructuras que almacenarán los datos así como de los procedimientos o funciones que permitan consultarlos.
El lenguaje de programaciçon SQL, el más difundido entre los
gestores de bases de datos, admite las siguientes sentencias de definición:
CREATE, DROP y ALTER, cada una de las cuales se puede aplicar a las
tablas, vistas, procedimientos almacenados y
triggers de la base de datos.
El lenguaje de definición de datos en SQL según vimos en el tema anterior se divide en
los siguientes comandos:
- CREATE TABLE
- ALTER TABLE
- DROP TABLE.
1. CREACIÓN DE UNA TABLA
Una tabla se crea con la orden
CREATE TABLE.
La sintáxis del comando CREATE TABLE es una sintáxis reducida del comando. Luego
veremos la sintáxis completa del comando CREATE TABLE. Por ahora para crear una
tabla tenemos suficiente con la siguiente.
Sintáxis
CREATE TABLE nombre_tabla
(nombre_columna tipo_dato [longitud][NOT NULL],
nombre_columna tipo_dato [longitud][NOT NULL],
…) [TABLESPACE espacio_de_tabla};
Una vez que la tabla está creada su
definición queda en el diccionario de datos.
a) Nombre de tabla
Un nombre de tabla tiene una longitude maxima.
Su nombre tiene que ser diferente a
cualquier otra tabla o vista de la base
de de datos.
El nombre de la tabla nunca podrá ser una
palabra reservada de la base de
datos.
Puede ser mayúsculas o minúsculas, es
indiferente.
b) Definición de
columnas
Cada columna de una tabla tendrá lo
siguiente:
Nombre del campo dentro de una tabla.
Tipo de dato, con su longitud si es
que procede y NOT NULL nunca
puede estar vacío.
La definición de cada columna va
separada por ‘,’.
El nombre de campo sigue las mismas
reglas que el nombre de tabla, pero
las columnas pueden tener el mismo
nombre si son tables distintas.
Se pueden definer como máximo 254
columnas.
Las claves primarias se deben definir como NOT NULL.
Modificación de Tablas
MODIFY: para modificar el tipo o el tamaño de una columna ésta no debe contener
valores.
modificar una columna NULL a NOT NULL implica que no haya ninguna fila
con valor NULL para esa columna, o bien que la tabla esté vacía
Borrado de Tablas
DROP TABLE <nombre_de_tabla>
Cuando se ejecuta el
comando DROP:
La definición de la tabla se elimina
del catálogo.
El espacio que ocupaba la tabla se
recupera para otros elementos de la base de datos.
Se borran todas las filas de la tabla sin ninguna alerta
La ejecución de este comando elimina
la tabla definitivamente.
Renombrado de Tablas
RENAME
<antiguo_nombre> TO <nuevo_nombre>
Cuando se ejecuta el
comando RENAME:
El nuevo nombre se almacena
en el catálogo y la tabla no
podrá volver a ser
referenciada con el nombre antiguo
No se produce ninguna
repercusión sobre los datos
El propietario de la tabla
es el único que puede
cambiar el nombre
Tipos de datos:
(Algunos ejemplos)
Ejemplo:
Nuestra base de datos estará
comprendida por las siguientes tablas:
o Clientes
o Tiendas
o Proveedores
o Articulos
o Ventas
Toda tabla tiene una clave primaria. La clave primaria es aquella que identifica a una sola tupla (fila) de esa tabla. Representaremos los campos que son clave primaria con el símbolo #.
Tabla Clientes:
#clt_num clt_apell clt_nom
clt_pais clt_pob
La tabla clientes lleva un número
de identificación único no vacío (la clave
primaria clt_num), el apellido
del cliente (clt_apell), su nombre (clt_nom),
nacionalidad (clt_pais)
y su ciudad (clt_pob).
Tabla Tiendas:
#tda_num tda_pob tda_ger
La tabla tiendas incluye un número de
identificación único no vacío (la clave
primaria tda_num), el área geográfica
en que se encuentra la tienda (tda_pob), y el
nombre del gerente
(tda_ger).
Tabla Proveedores:
#prv_num prv_nom
Contiene un número de identificación único,
que es la clave primaria (prv_num),
y el nombre del proveedor (prv_nom).
Existe un enlace funcional 1:N entre la
tabla proveedores y la tabla
artículos, a través del número de proveedor que
aparece para cada artículo
en la columna art_prv.
Tabla Articulos:
#art_num art_nom
art_peso art_col art_pc art_pv
art_prv
Tiene un número de identificación
único, la clave primaria (art_num), y contiene
además el nombre del artículo
(art_nom), su peso (art_peso), su color (art_col), el
precio de compra (art_pc), el precio
de venta (art_pv) y el número de proveedor
(art_prv), el cual hace de clave
foránea para poderse relacionar con el número de
proveedores de la tabla
proveedores.
Creación de la tabla ‘clientes’
CREATE TABLE clientes
(
clt_num INTEGER NOT
NULL PRIMARY KEY,
clt_apell CHAR(10),
clt_nom CHAR(10),
clt_pais CHAR(1),
clt_pob CHAR(10)
);
La clave primaria de una tabla nunca
puede estar vacía. Esto quiere decir que en la
definición de una tabla, siempre
tendremos que poner NOT NULL en el campo que es
clave primaria.
Creación de la tabla ‘tiendas’
CREATE TABLE tiendas
(
tda_num INTEGER NOT
NULL PRIMARY KEY,
tda_pob CHAR(15),
tda_ger CHAR(25)
);
Creación de la tabla ‘proveedores’
CREATE TABLE
proveedores (
prv_num integer NOT
NULL PRIMARY KEY,
prv_nom CHAR(25)
);
Creación de la tabla ‘articulos’
CREATE TABLE
articulos (
art_num INTEGER NOT
NULL PRIMARY KEY,
art_nom CHAR(20),
art_peso INTEGER,
art_col CHAR(10),
art_pc INTEGER,
art_pv INTEGER,
art_prv INTEGER
);
Fuente:
http://subversion.assembla.com/svn/ii_0910/09-10/TABD/Oracle/Practica/TEMA%203/TEMA%20III.%20DDL.pdf
No hay comentarios:
Publicar un comentario