La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Copyright  Oracle Corporation, 1998. All rights reserved. 9 Creación y gestión de tablas.

Presentaciones similares


Presentación del tema: "Copyright  Oracle Corporation, 1998. All rights reserved. 9 Creación y gestión de tablas."— Transcripción de la presentación:

1 Copyright  Oracle Corporation, 1998. All rights reserved. 9 Creación y gestión de tablas

2 09-2 Copyright  Oracle Corporation, 1998. All rights reserved. Objetivos Al completar esta lección, debería ser capaz de hacer lo siguiente: Describir los principales objetos de la base de datos. Crear tablas. Describir los tipos de datos que se pueden usar al definir una columna. Modificar definiciones de tabla. Borrar, renombrar y truncar tablas. Al completar esta lección, debería ser capaz de hacer lo siguiente: Describir los principales objetos de la base de datos. Crear tablas. Describir los tipos de datos que se pueden usar al definir una columna. Modificar definiciones de tabla. Borrar, renombrar y truncar tablas.

3 09-3 Copyright  Oracle Corporation, 1998. All rights reserved. Objetos de la base de datos ObjetoDescripción TablaUnidad básica de almacenamiento; formada por filas y columnas. VistaRepresenta lógicamente subjuegos de datos de una o más tablas. SecuenciaGenerador de valor numérico. IndiceMejora el rendimiento de algunas consultas. SinónimoDa nombres alternativos a los objetos.

4 09-4 Copyright  Oracle Corporation, 1998. All rights reserved. Reglas de nomenclatura Nombres de tablas y columnas: – Deben comenzar por una letra. – Deben tener entre 1 y 30 caracteres. – Sólo deben contener A–Z, a–z, 0–9, _, $, y #. – No duplicar nombre de otro objeto que sea propiedad del mismo usuario. – No debe ser una palabra reservada del Servidor Oracle. Nombres de tablas y columnas: – Deben comenzar por una letra. – Deben tener entre 1 y 30 caracteres. – Sólo deben contener A–Z, a–z, 0–9, _, $, y #. – No duplicar nombre de otro objeto que sea propiedad del mismo usuario. – No debe ser una palabra reservada del Servidor Oracle.

5 09-5 Copyright  Oracle Corporation, 1998. All rights reserved. La sentencia CREATE TABLE Debe tener : – El privilegio CREATE TABLE. – Un área de almacenamiento. Especifique: – Nombre de tabla. – Para las columnas: nombre, tipo de dato y tamaño. Debe tener : – El privilegio CREATE TABLE. – Un área de almacenamiento. Especifique: – Nombre de tabla. – Para las columnas: nombre, tipo de dato y tamaño. CREATE TABLE [schema.]table (column datatype [DEFAULT expr];

6 09-6 Copyright  Oracle Corporation, 1998. All rights reserved. Referencia a tablas de otros usuarios Las tablas propiedad de otros usuarios no están en el esquema del usuario. Debe de utilizar como prefijo de la tabla, el nombre del propietario. Las tablas propiedad de otros usuarios no están en el esquema del usuario. Debe de utilizar como prefijo de la tabla, el nombre del propietario.

7 09-7 Copyright  Oracle Corporation, 1998. All rights reserved. La opción DEFAULT … hiredate DATE DEFAULT SYSDATE, … Especifica un valor por defecto para una columna, durante una inserción. Los valores permitidos son literales, expresiones, o funciones SQL. No son válidos valores de nombres de otra columna o una pseudocolumna. El valor por defecto debe coincidir con el tipo que tiene definido la columna.

8 09-8 Copyright  Oracle Corporation, 1998. All rights reserved. Creación de tablas SQL> CREATE TABLE dept 2(deptno NUMBER(2), 3 dname VARCHAR2(14), 4 loc VARCHAR2(13)); Table created. Crear la tabla: Verificar que se ha creado correctamente: SQL> DESCRIBE dept Name Null? Type --------------------------- -------- --------- DEPTNO NOT NULL NUMBER(2) DNAME VARCHAR2(14) LOC VARCHAR2(13)

9 09-9 Copyright  Oracle Corporation, 1998. All rights reserved. Tablas de la base de datos Oracle Tablas de usuario – Recopilación de tablas creadas y mantenidas por el usuario. – Contienen información de usuario. Diccionario de datos – Recopilación de tablas creadas y mantenidas por el servidor de Oracle. – Contienen información de la base de datos. Tablas de usuario – Recopilación de tablas creadas y mantenidas por el usuario. – Contienen información de usuario. Diccionario de datos – Recopilación de tablas creadas y mantenidas por el servidor de Oracle. – Contienen información de la base de datos.

10 09-10 Copyright  Oracle Corporation, 1998. All rights reserved. Consulta del diccionario de datos Describir tablas propiedad del usuario. Ver distintos tipos de objetos propiedad del usuario. Ver tablas, vistas, sinónimos y secuencias propiedad del usuario. SQL> SELECT* 2FROMuser_tables; SQL> SELECTDISTINCT object_type 2FROM user_objects; SQL> SELECT* 2FROMuser_catalog;

11 09-11 Copyright  Oracle Corporation, 1998. All rights reserved. Tipos de Dato Tipo de DatoDescripción VARCHAR2(size)Dato carácter de longitud variable CHAR(size) Dato carácter de longitud fija NUMBER(p,s) Dato numérico de longitud variable DATE Valores de fecha y hora LONG Dato caracteres de longitud variable hasta 2 gigabytes CLOBDato de caracteres de hasta 4 gigabytes RAW y LONG RAW Datos binarios BLOBDatos binarios hasta 4 gigabytes BFILEDatos binarios almacenados en un fichero externo; hasta 4 gigabytes

12 09-12 Copyright  Oracle Corporation, 1998. All rights reserved. Tipos de dato datetime A partir de Oracle 9i se han introducido nuevos tipos de dato datetime. Se han realizado mejoras en zonas horarias y en la zona horaria local. A partir de Oracle 9i se han introducido nuevos tipos de dato datetime. Se han realizado mejoras en zonas horarias y en la zona horaria local. Tipo de DatoDescripción TIMESTAMPFecha con segundos fraccionarios INTERVAL YEARIntervalo de años y meses TO MONTH INTEVAL DAY Intervalo de días a horas, minutos y TO SECONDsegundos

13 09-13 Copyright  Oracle Corporation, 1998. All rights reserved. Tipos de dato datetime El tipo de dato TIMESTAMP es una extensión del tipo de dato DATE. Almacena el año, el mes y el día del tipo DATE más valores de hora, minuto y segundo, así como el valor de segundo fraccionario. El tipo de dato TIMESTAMP es una extensión del tipo de dato DATE. Almacena el año, el mes y el día del tipo DATE más valores de hora, minuto y segundo, así como el valor de segundo fraccionario. TIMESTAMP[(fractional_seconds_precision)]

14 09-14 Copyright  Oracle Corporation, 1998. All rights reserved. Tipo de dato TIMESTAMP WITH TIME ZONE TIMESTAMP WITH TIME ZONE es una variante de TIMESTAMP que incluye un cambio de zona horaria en su valor. El cambio de zona horaria es la diferencia, en horas y minutos, entre la hora local y UTC (Hora universal coordinada). TIMESTAMP WITH TIME ZONE es una variante de TIMESTAMP que incluye un cambio de zona horaria en su valor. El cambio de zona horaria es la diferencia, en horas y minutos, entre la hora local y UTC (Hora universal coordinada). TIMESTAMP[(fractional_seconds_precision)] WITH TIME ZONE

15 09-15 Copyright  Oracle Corporation, 1998. All rights reserved. Tipo de dato TIMESTAMP WITH LOCAL TIME TIMESTAMP WITH LOCAL TIME es otra variante de TIMESTAMP que incluye un cambio de zona horaria en su valor. El cambio de zona horaria no se almacena como parte del dato de columna; Oracle devuelve el dato en la zona horaria de la sesión del usuario. TIMESTAMP WITH LOCAL TIME es otra variante de TIMESTAMP que incluye un cambio de zona horaria en su valor. El cambio de zona horaria no se almacena como parte del dato de columna; Oracle devuelve el dato en la zona horaria de la sesión del usuario. TIMESTAMP[(fractional_seconds_precision)] WITH LOCAL TIME ZONE

16 09-16 Copyright  Oracle Corporation, 1998. All rights reserved. Tipo de dato INTERVAL YEAR TO MONTH INTERVAL YEAR TO MONTH almacena un período de tiempo que utiliza los campos datetime YEAR y MONTH. INTERVAL YEAR [(year_precision)] TO MONTH INTERVAL ‘123-2’ YEAR(3) TO MOTNH (123 años, 2 meses) INTERVAL ‘123’ YEAR (3)(123 años 0 meses) INTERVAL ‘300’ MONTH(3) (300 meses) INTERVAL ‘123’ YEAR error, precisión por defecto es 2

17 09-17 Copyright  Oracle Corporation, 1998. All rights reserved. Tipo de dato INTERVAL DAY TO SECOND INTERVAL DAY TO SECOND almacena un período de tiempo en términos de días, horas, minutos y segundos. INTERVAL DAY [(day_precision)] TO SECOND [(fractional_seconds_precision)] INTERVAL ‘4 5:12:10.222’ DAY TO SECOND(3) 4 días, 5 horas, 12 minutos, 10 segundos y 222 milésimas de segundos. INTERVAL ‘180’ DAY(3) 180 días

18 09-18 Copyright  Oracle Corporation, 1998. All rights reserved. Creación de una tabla utilizando una subconsulta Crear una tabla e insertar filas combinando CREATE TABLE con la opción AS subquery.Crear una tabla e insertar filas combinando CREATE TABLE con la opción AS subquery. Deben coincidir el número de columnas especificadas con las de la subconsulta.Deben coincidir el número de columnas especificadas con las de la subconsulta. Definir columnas con nombres de columna y valores por defecto.Definir columnas con nombres de columna y valores por defecto. Crear una tabla e insertar filas combinando CREATE TABLE con la opción AS subquery.Crear una tabla e insertar filas combinando CREATE TABLE con la opción AS subquery. Deben coincidir el número de columnas especificadas con las de la subconsulta.Deben coincidir el número de columnas especificadas con las de la subconsulta. Definir columnas con nombres de columna y valores por defecto.Definir columnas con nombres de columna y valores por defecto. CREATE TABLE table [column(, column...)] AS subquery;

19 09-19 Copyright  Oracle Corporation, 1998. All rights reserved. Creación de una tabla utilizando una subconsulta Name Null? Type ---------------------------- -------- ----- EMPNO NOT NULL NUMBER(4) ENAME VARCHAR2(10) ANNSAL NUMBER HIREDATE DATE Name Null? Type ---------------------------- -------- ----- EMPNO NOT NULL NUMBER(4) ENAME VARCHAR2(10) ANNSAL NUMBER HIREDATE DATE SQL> DESCRIBE dept30 SQL> CREATE TABLE dept30 2AS 3SELECT empno, ename, sal*12 ANNSAL, hiredate 4FROM emp 5WHERE deptno = 30; Table created.

20 09-20 Copyright  Oracle Corporation, 1998. All rights reserved. La sentencia ALTER TABLE Use la sentencia ALTER TABLE para: Añadir una nueva columna. Modificar una columna existente. Definir un valor por defecto a una columna. Borrar una columna. Use la sentencia ALTER TABLE para: Añadir una nueva columna. Modificar una columna existente. Definir un valor por defecto a una columna. Borrar una columna.

21 09-21 Copyright  Oracle Corporation, 1998. All rights reserved. La sentencia ALTER TABLE Use la sentencia ALTER TABLE para agregar, modificar o borrar columnas. ALTER TABLE table ADD (column datatype [DEFAULT expr] [, column datatype]...); ALTER TABLE table MODIFY (column datatype [DEFAULT expr] [, column datatype]...); ALTER TABLE table DROP (column)

22 09-22 Copyright  Oracle Corporation, 1998. All rights reserved. Adición de una columna DEPT30 EMPNO ENAME ANNSAL HIREDATE ------ ------------------ 7698BLAKE 3420001-MAY-81 7654MARTIN 1500028-SEP-81 7499ALLEN 1920020-FEB-81 7844TURNER 1800008-SEP-81... “…añadir una nueva columna a la tabla DEPT30” DEPT30 EMPNO ENAME ANNSAL HIREDATE ------ ------------------ 7698BLAKE 3420001-MAY-81 7654MARTIN 1500028-SEP-81 7499ALLEN 1920020-FEB-81 7844TURNER 1800008-SEP-81... JOB Nueva columna

23 09-23 Copyright  Oracle Corporation, 1998. All rights reserved. Adición de una columna Cláusula ADD para añadir columnas. EMPNO ENAME ANNSAL HIREDATE JOB --------- ---------- --------- --------- ---- 7698 BLAKE 34200 01-MAY-81 7654 MARTIN 15000 28-SEP-81 7499 ALLEN 19200 20-FEB-81 7844 TURNER 18000 08-SEP-81... 6 rows selected. EMPNO ENAME ANNSAL HIREDATE JOB --------- ---------- --------- --------- ---- 7698 BLAKE 34200 01-MAY-81 7654 MARTIN 15000 28-SEP-81 7499 ALLEN 19200 20-FEB-81 7844 TURNER 18000 08-SEP-81... 6 rows selected. SQL> ALTER TABLE dept30 2 ADD (job VARCHAR2(9)); Table altered. La nueva columna pasa a ser la última

24 09-24 Copyright  Oracle Corporation, 1998. All rights reserved. Modificación de una columna Puede cambiar el tipo de dato, tamaño y valor por defecto de una columna. Si cambia el valor por defecto, afectará sólo a posteriores inserciones en la tabla. Puede cambiar el tipo de dato, tamaño y valor por defecto de una columna. Si cambia el valor por defecto, afectará sólo a posteriores inserciones en la tabla. ALTER TABLEdept30 MODIFY(ename VARCHAR2(15)); Table altered.

25 09-25 Copyright  Oracle Corporation, 1998. All rights reserved. Eliminación de una columna Use la cláusula DROP COLUMN para borrar columnas. ALTER TABLEdept80 DROP COLUMNjob_id; Table altered.

26 09-26 Copyright  Oracle Corporation, 1998. All rights reserved. La opción SET UNUSED Use la opción SET UNUSED para marcar una o varias columnas como no utilizadas. Use la opción DROP UNUSED COLUMNS para eliminar las columnas marcadas como no uilizadas. Use la opción SET UNUSED para marcar una o varias columnas como no utilizadas. Use la opción DROP UNUSED COLUMNS para eliminar las columnas marcadas como no uilizadas. ALTER TABLEtable SET UNUSED (column); ALTER TABLEtable DROP UNUSED COLUMNS;

27 09-27 Copyright  Oracle Corporation, 1998. All rights reserved. Eliminación de una tabla Se borran todos los datos y la estructura de la tabla. Cualquier transacción pendiente termina con commit. Todos los índices de la tabla se borran. No puede hacer rollback de la sentencia Se borran todos los datos y la estructura de la tabla. Cualquier transacción pendiente termina con commit. Todos los índices de la tabla se borran. No puede hacer rollback de la sentencia SQL> DROP TABLE dept30; Table dropped.

28 09-28 Copyright  Oracle Corporation, 1998. All rights reserved. Cambio del nombre de un objeto Para cambiar el nombre de una tabla, vista, secuencia o sinónimo, ejecutaremos la instrucción RENAME. Debe ser el propietario del objeto. Para cambiar el nombre de una tabla, vista, secuencia o sinónimo, ejecutaremos la instrucción RENAME. Debe ser el propietario del objeto. SQL> RENAME dept TO department; Table renamed.

29 09-29 Copyright  Oracle Corporation, 1998. All rights reserved. Truncamiento de una tabla La Sentencia TRUNCATE TABLE: – Elimina todas las filas de una tabla. – Libera el espacio de almacenamiento ocupado por la tabla. No puede hacer rollback. Alternativamente puede borrar las filas, con la sentencia DELETE La Sentencia TRUNCATE TABLE: – Elimina todas las filas de una tabla. – Libera el espacio de almacenamiento ocupado por la tabla. No puede hacer rollback. Alternativamente puede borrar las filas, con la sentencia DELETE SQL> TRUNCATE TABLE department; Table truncated.

30 09-30 Copyright  Oracle Corporation, 1998. All rights reserved. Adición de comentarios a una tabla Puede añadir comentarios a una tabla o columna, con la instrucción COMMENT. Los comentarios se ven en determinadas estructuras del diccionario de datos. – ALL_COL_COMMENTS – USER_COL_COMMENTS – ALL_TAB_COMMENTS – USER_TAB_COMMENTS Puede añadir comentarios a una tabla o columna, con la instrucción COMMENT. Los comentarios se ven en determinadas estructuras del diccionario de datos. – ALL_COL_COMMENTS – USER_COL_COMMENTS – ALL_TAB_COMMENTS – USER_TAB_COMMENTS SQL> COMMENT ON TABLE emp 2 IS 'Employee Information'; Comment created.

31 09-31 Copyright  Oracle Corporation, 1998. All rights reserved. Resumen SentenciaDescripción CREATE TABLE Creación de tablas. ALTER TABLE Modifica la estructura de una tabla. DROP TABLE Borra la estructura y registros de la tabla RENAME Cambia el nombre de una tabla, vista, secuencia o sinónimo. TRUNCATE Borra todos los registros y libera el espacio ocupados por los registros de la tabla. COMMENT Añade comentarios a una tabla o vista.

32 09-32 Copyright  Oracle Corporation, 1998. All rights reserved. Visión general de la práctica Creación de nuevas tablas. Creación de una nueva tabla, usando la sintaxis CREATE TABLE AS. Modificación de definiciones de columnas. Verificación de la existencia de una tabla. Adición de comentarios tablas. Eliminación de tablas. Modificación de tablas. Creación de nuevas tablas. Creación de una nueva tabla, usando la sintaxis CREATE TABLE AS. Modificación de definiciones de columnas. Verificación de la existencia de una tabla. Adición de comentarios tablas. Eliminación de tablas. Modificación de tablas.


Descargar ppt "Copyright  Oracle Corporation, 1998. All rights reserved. 9 Creación y gestión de tablas."

Presentaciones similares


Anuncios Google