sesión02 - creación de objetos (oracle)

6
/* Sesión02 – Creación de Objetos Estudiante: José Luis Toro Alcarraz Curso: Base de Datos Avanzado II Correo:[email protected] */ Objetivo de la sesión. Describir algunos objetos de la base de datos y sus usos. Crear, mantener y usar tablas, índices, constraints, secuencias y sinónimos. 1) Manejo de tablas. 2) Manejo de constraints. 3) Manejo de secuencias. 4) Manejo de sinónimos. 5) Manejo de índices. 1) Manejo de tablas. Unidad básica de almacenamiento, conformada por filas y columnas. Los nombres de las tablas y de sus columnas deben tener un máximo de 30 caracteres. No debe duplicar el nombre de otro objeto propiedad del mismo usuario. a) Creación de tablas. Nombre de tabla. Nombre de columna, tipo de dato de columna y tamaño de columna. Usuario creador debe tener privilegios. Usando la sentencia CREATE TABLE CREATE TABLE [schema.] table column datatype [DEFAULT expr] [, …]); Cree una tabla e inserte filas combinando la sentencia CREATE TABLE y la opción AS subquey. Haga coincidir el número de columnas especificadas con el número de columnas de las sub consultas. CREATETABLE table [(column, column…)] AS subquery;

Upload: jose-toro

Post on 13-Jun-2015

420 views

Category:

Education


3 download

DESCRIPTION

Este minitutorial tiene como objetivo captar todos los conceptos dictados en cada sesión en el curso de Base de Datos Avanzado II, así como brindar apoyo a los alumnos de la carrera técnica de Computación e Informática, que por algún motivo no hayan asistido a clases. UNIDAD 2. Creación de estructuras de datos Logro de la Unidad de Aprendizaje Al término de la unidad, el alumno diseña e implementa modelos de datos que incorporen reglas o restricciones mediante la definición de objetos tales como tablas, secuencias y sinónimos. Temario 2.1 Tema 3: CREACIÓN DE ESTRUCTURAS DE DATOS 2.1.1 Creación y modificación de tablas 2.1.2 Creación de restricciones 2.1.3 Manejo de índices 2.1.4 Manejo de secuencias 2.1.5 Manejo de sinónimos

TRANSCRIPT

Page 1: Sesión02 - Creación de objetos (Oracle)

/* Sesión02 – Creación de ObjetosEstudiante: José Luis Toro AlcarrazCurso: Base de Datos Avanzado IICorreo:[email protected]*/

Objetivo de la sesión.

Describir algunos objetos de la base de datos y sus usos.Crear, mantener y usar tablas, índices, constraints, secuencias y sinónimos.

1) Manejo de tablas.2) Manejo de constraints.3) Manejo de secuencias.4) Manejo de sinónimos.5) Manejo de índices.

1) Manejo de tablas.

Unidad básica de almacenamiento, conformada por filas y columnas. Los nombres de las tablas y de sus columnas deben tener un máximo de 30 caracteres. No debe duplicar el nombre de otro objeto propiedad del mismo usuario.

a) Creación de tablas.

Nombre de tabla. Nombre de columna, tipo de dato de columna y tamaño de columna. Usuario creador debe tener privilegios.

Usando la sentencia CREATE TABLECREATE TABLE [schema.] tablecolumn datatype [DEFAULT expr] [, …]);

Cree una tabla e inserte filas combinando la sentencia CREATE TABLE y la opción AS subquey. Haga coincidir el número de columnas especificadas con el número de columnas de las sub consultas.CREATETABLE table [(column, column…)]AS subquery;

Para confirmar la creación de una tabla utizamos la sentencia DESCRIBE, DESCDESCRIBE [schema.] table;

Ejemplo1:

SQL> CREATE TABLE DEPT_A ( DEPTNO NUMBER(4), DNAME VARCHAR2(14),

Page 2: Sesión02 - Creación de objetos (Oracle)

LOC VARCHAR2(13) );

Tabla creada.

SQL> DESCRIBE DEPT_A; Nombre ┐Nulo? Tipo ----------------------------------------- -------- --------------------------

DEPTNO NUMBER(4) DNAME VARCHAR2(14) LOC VARCHAR2(13)

Ejemplo2:

SQL> CREATE TABLE EMP10 AS SELECT EMPNO EMPLOYEE_ID, ENAME LAST_NAME, SAL * 12 ANNSAL, HIREDATE HIRE_DATE FROM EMP WHERE DEPTNO = 10;

Tabla creada.

SQL> DESC EMP10; Nombre ┐Nulo? Tipo ----------------------------------------- -------- ----------------------------

EMPLOYEE_ID NOT NULL NUMBER(4) LAST_NAME VARCHAR2(10) ANNSAL NUMBER HIRE_DATE DATE

SQL> SELECT * FROM EMP10;

EMPLOYEE_ID LAST_NAME ANNSAL HIRE_DAT----------- ---------- ---------- -------- 7782 CLARK 29400 09/06/81 7839 KING 60000 17/11/81 7782 CLARK 29400 09/06/81 7839 KING 60000 17/11/81

b) Comentar una tabla.

Podemos utilizar el comando COMMENT ON para agregar comentarios a las tablas y a sus columnas.COMMENT ON TABLE tableIS ‘Comentario’;

Page 3: Sesión02 - Creación de objetos (Oracle)

Los comentarios se pueden visualizar a través de las vistas del diccionario de datosALL_COL_COMMENTS, USER_COL_COMMENTSALL_TAB_COMMENTS, USER_TAB_COMMENTS

Ejemplo:

SQL> COMMENT ON TABLE EMP10IS ‘Tabla empleados’;

Comentario creado

c) Modificar una tabla.

Agregar una columna nueva. Modificar una columna existente. Eliminar una columna existente. Definir un valor por defecto para una columna. Actualiza constraints asociados con tabla.

Agregar una columnaALTER TABLE tableADD (column datatype [DEFAULT exp][, column datatype]…);

Modificar una columnaALTER TABLE tableMODIFY (column datatype [DEFAULT exp][, column datatype]…);

Borrar una columnaALTER TABLE tableDROP (column);

Ejemplo1:

SQL> ALTER TABLE EMP10 ADD (JOB_ID VARCHAR2(9));

Tabla modificada.

Ejemplo2:

SQL> ALTER TABLE EMP10 MODIFY (LAST_NAME VARCHAR2(30));

Tabla modificada.

Ejemplo3:

Page 4: Sesión02 - Creación de objetos (Oracle)

SQL> ALTER TABLE EMP10 DROP COLUMN JOB_ID;

Tabla modificada.

d) Sentencia TRUNCATE.

Elimina todas las filas de una tabla Libera el espacio de almacenamiento utilizado por dicha tabla. No puede realizar rollback de la eliminación de filas si utiliza TRUNCATE. También puede eliminar filas utilizando la sentencia DELETE.

SQL> delete from emp10 where employee_id=7934;

1 fila suprimida.

SQL> TRUNCATE TABLE EMP10;

Tabla truncada.

e) Eliminar una tabla.

Se suprimen todos los datos y la estructura de la tabla. Se valida cualquier transaccion pendiente. Se borran todos los índices. No puede realizar rollback de la sentencia DROP TABLE.

SQL> DROP TABLE EMP10;

Tabla borrada.

f) Renombrando un objeto.

Para cambiar el nombre de una tabla, una vista una secuencia o un sinónimo, ejecute la sentencia RENAME. Debe ser el propietario de objeto.

SQL> RENAME DEPT_A TO DEPARTAMENTO;

Nombre de tabla cambiado.

Importante:

Tipos de datos más comunes en Oracle son NUMBER, CHAR, VARCHAR2, DATE.

¿Qué tipo de dato le corresponde mejor a una llave primaria?, ¿NUMBER o CHAR?Cuando la clave identifique un registro como único pero que no represente el registro o no representa la información, entonces vendría hacer un ID por los tanto seria NUMBER.Ejemplo: COD_CINE NUMBER (4)

Page 5: Sesión02 - Creación de objetos (Oracle)

Cuando el código defina alguna cosa, es decir representa la información, entonces estaríamos aplicando un CHAR. Ejemplo: COD_EMP CHAR (5).