CREAR UNA TABLA
La sentencia básica para crear una tabla es la siguiente:CREATE TABLE <nombre_de_la_tabla>
(
b <nombre_de_la columna1> <tipo_de_datos> [(tamaño)] [NOT NULL] [DEFAULT],
..........................
<nombre_de_la_columnaN> <tipo_de_datos> [(tamaño)] [NOT NULL] [DEFAULT],
[UNIQUE [nombre]({<lista_de_columnas>})],
[PRIMARY KEY [nombre]({<lista_de_columnas>})],
[CHECK [nombre] <condición>],
[FOREIGN KEY [nombre] ({<lista_de_columnas>})
REFERENCES <nombre_de_tabla_referenciada> ({<lista_de_columnas>})
[ON DELETE CASCADE] ] );
RESTRICCIONES:
- Los nombres de las tablas de un usuario no se pueden repetir
- Los nombres de las columnas deben ser únicos dentro de cada tabla
- Los nombres pueden tener como máximo 30 caracteres
- Cada tabla puede contener hasta 254 columnas
EJEMPLO:
A continuación se crearan 3 tablas en donde los ejemplos van desde una tabla muy compleja hasta algo mas complicado utilizando dobles llaves foráneas.
CREATE TABLE PROFESOR
(DNI CHAR(9) PRIMARY KEY,
Nombre_P VARCHAR2(50),
i l ió 2(30));
CREATE TABLE DEPARTAMENTO
(Nombre_D VARCHAR2(50) PRIMARY KEY,
Télefono NUMBER(9),
Director CHAR(9),
CONSTRAINT C1 FOREIGN KEY (Director)
REFERENCES PROFESOR (DNI) ON DELETE CASCADE);
CREATE TABLE GRUPO
(Nombre G VARCHAR2(30)
Titulación VARCHAR2(30));
Nombre_30),
Nombre_D VARCHAR2(50),
Área VARCHAR2(30),
Líder CHAR(9),
PRIMARY KEY (Nombre_G, Nombre_D),
CONSTRAINT C2 FOREIGN KEY (Nombre_D)
REFERENCES DEPARTAMENTO (Nombre_D) ON DELETE CASCADE,
CONSTRAINT C3 FOREIGN KEY (Líder)
REFERENCES PROFESOR (DNI) ON DELETE CASCADE);
MODIFICACIÓN DE TABLAS
ALTER TABLE
- Cambiar la definición de una columna para permitir valores nulos o no, así como el tipo de datos
- Aumentar o disminuir el tamaño de una columna
- Añadir columnas
ESTRUCTURA
- ALTER TABLE
{ADD|MODIFY|DROP|DISABLE|ENABLE}
ALTER TABLE <nombre_de_la_tabla> MODIFY
(<nombre_de_la_columna1> <tipo_de_datos> [NULL|NOT NULL] [constraint],
...........................
<nombre_de_la_columnaN> <tipo_de_datos> [NULL|NOT NULL] [constraint]);
ALTER TABLE <nombre_de_la_tabla> DROP
(<constraint> <nombre_de_la_columna|s> CASCADE;
ALTER TABLE <nombre_de_la_tabla> {DISABLE|ENABLE}
(<constraint> <nombre_de_la_columna|s> CASCADE;
ALTER TABLE Profesor ADD (Sueldo NUMBER(10,3));
ALTER TABLE Profesor ADD (Dept VARCHAR2(50));
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
No hay comentarios.:
Publicar un comentario