COMO SE CONSTRUYE UNA TABLA Y SUS RESTRICCIONES

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