2. Principales objetos: Tablas Vistas Sinónimos Es un alias para una tabla o vista Índices Secuencias Una estructura que genera números únicos
3. 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
4. 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
5. 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
6. Ejercicios SELECT object_type, count(*) FROM user_objects GROUP BY object_type; SELECT table_name, cluster_name, iot_type FROM user_tables; DESCRIBE regions;
7. 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.
8. Tipos de dato alfanuméricos VARCHAR2 NVARCHAR2 Igual varchar2 pero permite caracteres unicode CHAR
9. Tipos de datos numéricos NUMBER FLOAT es la versión ANSI de number INTEGER, equivale a number con cero decimales.
10. Tipos de datos para fechas DATE siglo, año, mes, día, hora, minutosy segundos. TIMESTAMP Igual a date pero una precisión de 9 decimales en los segundos TIMESTAMP WITH TIMEZONE IntervalYeartoMonth Interval Day toSecond
11. Tipos de datos para objetos grandes CLOB Tamaño prácticamente ilimitado de caracteres NCLOB BLOB Similar a Clob pero con datos binarios BFILE Puntero a un archivo almacenado en el SO LONG Obsoleto, sustituido por CLOB
12. 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.
13. 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
14. Ejercicio SELECT column_name, data_type, nullable, data_length, data_precision, data_scale FROM user_tab_columns WHERE table_name=‘EMPLOYEES’
16. Ejemplo CREATE TABLE scott.emp ( EMPNO NUMBER(4), ENAME VARCHAR2(10), HIREDATE DATE default trunc(sysdate), SAL NUMBER(7,2) ); Createtableemployees_copy as SELECT * FROM employees;
17. Modificando la definicion Alter table EMP add (Job_id NUMBER(7)); Alter table EMP modify (commnumber(4,2) default 0.05); Alter tableempdropcolumncomm; Alter tableemprenamecolumnhiredatetorecruited; Alter tableempreadonly;
18. Eliminando tablas DROP TABLE [schema].TableName Un DropTable es irreversible a nivel de transaccion, pues ejecuta un COMMIT inmediato, ademas de forma similar a TRUNCATE no hace ninguna advertencia antes de ejecutarse.
20. 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.
21. 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
22. Ejercicio Createtableemp as selectemployee_idempno, last_nameename, department_iddeptnofromemployees; Createtabledept as selectdepartment_iddeptno, department_namednamefromdepartments; Alter tableempaddconstraintemp_pkprimarykey(empno); Alter tabledeptaddconstraintdept_pkprimarykey (deptno);