utilizando ddl sql oracle z051 cap 11
DESCRIPTION
Utilizando DDL SQL oracle Z051 Cap 11TRANSCRIPT
Usando DDL
Cap 11
Alexander Calderón Peraza
Principales objetos:
TablasVistasSinónimos
Es un alias para una tabla o vista ÍndicesSecuencias
Una estructura que genera números únicos
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
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
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
Ejercicios
SELECT object_type, count(*) FROM user_objectsGROUP BY object_type;
SELECT table_name, cluster_name, iot_type
FROM user_tables;DESCRIBE regions;
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.
Tipos de dato alfanuméricos
VARCHAR2
NVARCHAR2 Igual varchar2 pero permite
caracteres unicode
CHAR
Tipos de datos numéricos
NUMBER
FLOAT es la versión ANSI de number
INTEGER, equivale a number con cero decimales.
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
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
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.
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
Ejercicio
SELECT column_name, data_type, nullable, data_length, data_precision, data_scale
FROM user_tab_columns WHERE table_name=‘EMPLOYEES’
Creando tablas
CREATE TABLE [esquema].NombreTabla
(Columna DATATYPE [DEFAULT expresion],
Columna DATATYPE [DEFAULT expresion…
);
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;
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;
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.
CONSTRAINTS
Limitaciones o medios por el cual podemos aplicar reglas de negocio a las tablas.
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.
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
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);
ejercicio
Alter table emp add constraint dept_FK foreing key (deptno) references dept on delete set null;
Cuando NO sonreímos se nos acaba la existencia