24
Usando DDL Cap 11 Alexander Calderón Peraza

Utilizando DDL SQL oracle Z051 Cap 11

Embed Size (px)

DESCRIPTION

Utilizando DDL SQL oracle Z051 Cap 11

Citation preview

Page 1: Utilizando DDL SQL oracle Z051 Cap 11

Usando DDL

Cap 11

Alexander Calderón Peraza

Page 2: Utilizando DDL SQL oracle Z051 Cap 11

Principales objetos:

TablasVistasSinónimos

Es un alias para una tabla o vista ÍndicesSecuencias

Una estructura que genera números únicos

Page 3: Utilizando DDL SQL oracle Z051 Cap 11

Usuarios y Esquemas

En Oracle se usa indistintamente.

Un usuario es una persona que puede conectarse a la base de datos. Requiere username y password.

Un Schema es un contenedor para los objetos de los que un usuario es dueño. Cuando un usuario es creado, su esquema

es creado al mismo tiempo

Page 4: Utilizando DDL SQL oracle Z051 Cap 11

Reglas para los objetos de esquemas

De 1 a 30 caracteres de longitud, excepto database link names de 128 caracteres max

No se puede usar palabras reservadas

Se debe iniciar con letras, y se puede contener numeros, guion bajo, dólar y #

Letras minusculas se convierten en mayusculas

Page 5: Utilizando DDL SQL oracle Z051 Cap 11

NameSpace

Define un grupo de tipos de objeto, donde todos los nombres se identifican de forma única por el esquema y el nombre. Objetos que comparten el mismo

espacio de nombres:▪ Tablas▪ Vistas▪ Secuencias▪ Sinónimos privados

Page 6: Utilizando DDL SQL oracle Z051 Cap 11

Ejercicios

SELECT object_type, count(*) FROM user_objectsGROUP BY object_type;

SELECT table_name, cluster_name, iot_type

FROM user_tables;DESCRIBE regions;

Page 7: Utilizando DDL SQL oracle Z051 Cap 11

TIPOS DE DATOS

Un tipo de dato es un atributo de una parte de los datos que indica algo sobre la clase de datos sobre los que se va a procesar.

Esto incluye imponer restricciones en los datos, como qué valores pueden tomar y qué operaciones se pueden realizar.

Page 8: Utilizando DDL SQL oracle Z051 Cap 11

Tipos de dato alfanuméricos

VARCHAR2

NVARCHAR2 Igual varchar2 pero permite

caracteres unicode

CHAR

Page 9: Utilizando DDL SQL oracle Z051 Cap 11

Tipos de datos numéricos

NUMBER

FLOAT es la versión ANSI de number

INTEGER, equivale a number con cero decimales.

Page 10: Utilizando DDL SQL oracle Z051 Cap 11

Tipos de datos para fechas

DATE siglo, año, mes, día, hora, minutos y

segundos.TIMESTAMP

Igual a date pero una precisión de 9 decimales en los segundos

TIMESTAMP WITH TIMEZONE

Interval Year to Month Interval Day to Second

Page 11: Utilizando DDL SQL oracle Z051 Cap 11

Tipos de datos para objetos grandes

CLOB Tamaño prácticamente ilimitado de

caracteresNCLOBBLOB

Similar a Clob pero con datos binarios

BFILE Puntero a un archivo almacenado en

el SOLONG

Obsoleto, sustituido por CLOB

Page 12: Utilizando DDL SQL oracle Z051 Cap 11

Tipo de datos ROWID

Un valor codificado de 64 bits, que es un puntero para localizar una fila en una tabla.

Es propiedad de Oracle, y no es normalmente visible.

Page 13: Utilizando DDL SQL oracle Z051 Cap 11

Tipos mas utilizados

VARCHAR2 Debe indicarse la longitud maxima

NUMBER Puede indicarse opcionalmente la

precisión(numero max de digitos) y la escala(max de decimales)

DATE

Page 14: Utilizando DDL SQL oracle Z051 Cap 11

Ejercicio

SELECT column_name, data_type, nullable, data_length, data_precision, data_scale

FROM user_tab_columns WHERE table_name=‘EMPLOYEES’

Page 15: Utilizando DDL SQL oracle Z051 Cap 11

Creando tablas

CREATE TABLE [esquema].NombreTabla

(Columna DATATYPE [DEFAULT expresion],

Columna DATATYPE [DEFAULT expresion…

);

Page 16: Utilizando DDL SQL oracle Z051 Cap 11

Ejemplo

CREATE TABLE scott.emp ( EMPNO NUMBER(4), ENAME VARCHAR2(10), HIREDATE DATE default

trunc(sysdate), SAL NUMBER(7,2) );

Create table employees_copy as SELECT * FROM employees;

Page 17: Utilizando DDL SQL oracle Z051 Cap 11

Modificando la definicion Alter table EMP add (Job_id NUMBER(7));

Alter table EMP modify (comm number(4,2) default 0.05);

Alter table emp drop column comm;

Alter table emp rename column hiredate to recruited;

Alter table emp read only;

Page 18: Utilizando DDL SQL oracle Z051 Cap 11

Eliminando tablas

DROP TABLE [schema].TableName

Un Drop Table es irreversible a nivel de transaccion, pues ejecuta un COMMIT inmediato, ademas de forma similar a TRUNCATE no hace ninguna advertencia antes de ejecutarse.

Page 19: Utilizando DDL SQL oracle Z051 Cap 11

CONSTRAINTS

Limitaciones o medios por el cual podemos aplicar reglas de negocio a las tablas.

Page 20: Utilizando DDL SQL oracle Z051 Cap 11

Tipos de constraints

UNIQUE▪ Establece un conjunto de campos de forma unica.

NOT NULL▪ Obliga a que dicho campo contenga un valor.

PRIMARY KEY▪ Es la mejor de las llaves candidatas y nos sirve para

identificar de forma única una tupla FOREING KEY▪ Es definida en la tabla hija, y representa una

relación padre-hijo, los campos deben ser del mismo tipo en conjunto. Se aplican reglas de Eliminacion y Actualizacion.

Page 21: Utilizando DDL SQL oracle Z051 Cap 11

Tipos de constraints

CHECK Sirve para aplicar una regla simple

a un campo, la regla se verifica antes de la inserción o actualización de un valor

Page 22: Utilizando DDL SQL oracle Z051 Cap 11

Ejercicio

Create table emp as select employee_id empno, last_name ename, department_id deptno from employees;

Create table dept as select department_id deptno, department_name dname from departments;

Alter table emp add constraint emp_pk primary key(empno);

Alter table dept add constraint dept_pk primary key (deptno);

Page 23: Utilizando DDL SQL oracle Z051 Cap 11

ejercicio

Alter table emp add constraint dept_FK foreing key (deptno) references dept on delete set null;

Page 24: Utilizando DDL SQL oracle Z051 Cap 11

Cuando NO sonreímos se nos acaba la existencia