|
S.Q.L. Definición de Datos (DDL)
- Sentencias DDL son:
- CREATE TABLE
Crea una tabla. Para ello el usuario debe de tener el privilegio CREATE TABLE.
- ALTER TABLE
Permite modificar la estructura definida para una tabla.
- DROP TABLE
Elimina una tabla (datos y estructura) y sus índices. No se puede hacer Rollback de esta sentencia.
- RENAME
Cambia el nombre de una tabla, vista, secuencia o sinónimo.
S.Q.L. Sentencia CREATE TABLE
- Necesario tener privilegio CREATE TABLE.
- Ha de especificar:
- Nombre de tabla
- Para las columnas: nombre, tipo de dato y tamaño.
S.Q.L. Reglas para los nombres
- Deben de comenzar con una letra.
- Pueden tener una longitud de 1 – 30 caracteres de largo.
- Deben contener solamente A-Z, a-z, 0-9, _, $ y #.
- No deben duplicar el nombre de otro objeto que sea propiedad del mismo usuario o schema.
- No debe ser una palabra reservada del servidor Oracle8.
S.Q.L. Tipos de Datos
| VARCHAR2(tamaño) | Dato carácter de longitud variable. Máx. 4000. |
| CHAR(tamaño) | Dato carácter de longitud fija. Máx. 255. |
| NUMBER(p,s) | Dato numérico de longitud variable.p entre 1..38; s entre 84..127 |
| DATE | Valores de fecha y hora. Entre el 1 Enero 4712 A.C. Y el 31 Diciembre del 4712 D.C. |
| LONG | Dato carácter de long.variable hasta 2 Gb. |
| CLOB | Dato carácter “single-byte” de hasta 4 Gb. |
| RAW(tamaño) y LONG RAW | Datos Binarios según tamaño especificado y Datos Binarios de long.variable hasta 2 Gb. |
| BLOB | Datos Binarios hasta 4 Gb. |
| BFILE | Datos binarios almacenados en fich. Externo. Hasta 4 Gb. |
S.Q.L. Creación de tabla por subconsulta
- Se puede crear una tabla e insertar filas combinando el comando CREATE TABLE con la opción AS subconsulta.
- Es necesario hacer coincidir la cantidad de columnas especificadas con las de la subconsulta.
- Si no se indican nombres de columnas, éstas serán los mismos que los de la subconsulta.
S.Q.L. Creación de tabla por subconsulta
S.Q.L. Sentencia ALTER TABLE
- Permite añadir nuevas columnas o modificar una ya existente.
S.Q.L. Añadir una Columna
- La nueva columna aparecerá en el último lugar de la tabla. No se puede especificar el orden.
- Puede añadir o modificar columnas, pero no eliminarlas de una tabla.
- Si la tabla ya contiene registros al añadir una nueva columna, ésta se inicializará con valores nulos para todos los registros.
- Puede definir una columna NOT NULL sólo si la tabla está vacía.
S.Q.L. Modificar una Columna
- Puede cambiar el tipo de datos de una columna, su tamaño y valor por defecto
- Si cambia el valor por defecto, afectará sólo a sucesivas inserciones en la tabla.
S.Q.L. Sentencia DROP TABLE
- Se borra estructura, datos e índices de la tabla. Borrado Físico.
- No se puede hacer Rollback de la sentencia.
- Sólo el propietario de la tabla u otro usuario con el permiso DROP ANY TABLE puede eliminar una tabla.
S.Q.L. Sentencia RENAME
- Permite cambiar el nombre de una tabla, vista, secuencia o sinónimo.
- Debe ser el propietario del objeto.
|