Upload
pilar-vieyra
View
2
Download
0
Embed Size (px)
Citation preview
CLASES PALERMO
LABORATORIO II - CLASES
UNIDAD N(1 Introduccin a Oracle y uso del lenguaje SQL
Acceso a la Base de Datos Oracle: Herramienta a usar durante el curso: SqlDeveloper
Crear un usuario en la base de datos: Alegajo/Alegajo@lab2Desde alumno/alumno@lab2: ejecutar el script crea_alumno.sql (Utilitarios de UpVirtal) Create user Alegajo identified by Alegajo
default tablespace users
temporary tablespace temp
quota unlimited on users;
Grant connect, resource, create procedure, create trigger
to Alegajo;
Conectarse como Alegajo/Alegajo@lab2 y cargar las tablas que se usaran en el curso: Tablas-Bdemobld.
Familiarizarse con SqlDeveloper:
Primera parte: ConsultasConsultas: Select, Where, Order by, Joins: Order by
Select * From , Select lista de columnas y alias de columnas
Uso de Distinct para eliminar filas duplicadas
Clusula Order by
Restriccin de filas con Where: condiciones simples,
Operadores aritmticos, lgicos y de comparacin: In, Between..And.., Like, Case
Operador de concatenacin (||)
Concepto de null values : is null, is not null
Reglas de precedencia y uso de parntesis
Ejemplos: Consultar el contenido de algunas tablas para conocer su informacin
Variables de sustitucin;
Uso de & en sentencias Sql
Ejemplos: Consultar datos de un empleado dado. Por id y por apellido.
Joins: Obtener datos de ms de una tabla. Producto cartesiano
Calificar columnas ambiguas y alias de tabla Usando Where tabla.columna = tabla.columna Usando Join en la clausula From: Join, Inner Join, Natural Join, Outer join
Natural join: columnas que se llaman igual en dos tablas:
Select last_name, name
From Employee natural join Department
Clusula On:
Select employee_id, regional_group, name
From Employee e Join department d On d.department_id = e.department_id
Join location l On d.location_id = l.location_id
Outer join: Left , Right y Full
Select last_name, name
From Employee Left Outer join Department using (department_id)Selft join:
Select e.last_name || depende de: || j.last_name
From Employee e join Employee j on (e.manager_id = j.employee_id) Cross join: producto cartesiano
Select last_name, name
From Employee Cross join Departmet
Ejemplos: Departamentos y sus empleados, con outer join, Empleados y sus jefes.
Grado de salario de los empleados.
Funciones de fila simple: y de grupo. Group by y Having :
Funciones de fila simple: Sysdate y User Funciones para valores nulos: Nvl
Funciones de caracteres: Lower, Upper, Initcap, Substr, Length, Lpad, Rpad, Trim, Decode Funciones numricas: Round, Trunc, Mod
Funciones de fechas: Months_between, Add_Months, Next_day, Round
Formatos de fecha (YYYY, MM, Month, DD, Day) Funciones de conversin: To_number, To_char, To_date . Ejemplos: Empleados y la cantidad de das que hace que trabajan. Salarios diarios de los empleados redondeados a 2 decimales. Primeras tres letras del nombre de los empleados.
Funciones de grupo. Group by y Having: Funciones de grupo: Avg, Count, Max, Min, Sum, Count distinct
Clusula Group by, agrupar por ms de una columna
Clusula Having: excluir grupos del resultado
Ejemplos: Salarios mximo y mnimo de los empleados de un departamento dado. Salarios mximo y mnimo por departamento. Cantidad de empleados por departamento. Cantidad de empleados ingresados por cada ao.Subconsultas simples y sincronizadas: Subconsultas: van entre parntesis, a la derecha de la comparacin, no pueden tener Order By y los operadores deben coincidir con el tipo de resultado que devuelve la subconsulta.
Ejemplos: Empleados del departamento Operations, Empleados que ganan ms que el promedio de salarios. Empleados que ganan ms que el promedio de salarios de su departamento. Empleado ms antiguo. Empleados que ganan ms que su jefe.Segunda parte: Manipulacin y Definicin Sentencias de manipulacin de datos: Insert, Update y Delete:
Inserta filas: Insert into tabla [(lista de columnas)] values (lista de valores) Insertar datos numricos, alfabticos y tipo fecha Insertar con datos de otras tablas: Insert into tabla Select ....... Actualizar datos: Update tabla set columna = expresion [where condicion] Eliminar filas: Delete [from] tabla [where condicion] Integridad de los datos: no se puede eliminar padre con hijos, insertar hijos sin padre, duplicar clave primaria, violar otras restricciones de integridad.
Ejemplos: Insertar , actualizar y eliminar filas en la tabla de departamentos.
Manejo de transacciones: Commit y Rollback:
Control de transacciones con Commit, Rollback y Savepoint Estado de los datos antes y despus de Commit o Rollback. Concepto de Lock.
Ejemplos: Hacer modificaciones y asentarlas descartarlas.
Abrir dos conexiones con el mismo usuario para ver el estado de los datos y loqueos antes y despus de commit/rollback.Sentencias de definicin de datos: Create, Alter y Drop:
Create table: Creacin de tablas: reglas para los nombres. Tipos de datos Crear una tabla usando una subconsulta: crea estructura y datos Alter table:Agregar columnas: Add (columna tipo_dato [Default expresin],...)
Modificar columna: Modify (columna tipo_dato [Default expresin])
Eliminar columna: Drop coumn columna Drop table
Reglas de integridad de la base y privilegios:
Concepto de restricciones o constraints. Not null, Primary key, Unique, Foreign Key, Check
Sintaxis, definicin a nivel de columna o de tabla. Alterar una tabla para agregar constraints
Constraint id_pk Primary key (id)
Constraint dept_pk Foreign key (dept_id) References dept(dept_id)
Eliminar una constraint con Alter table Drop constraint nombreOptativo:
Otros objetos: vistas, ndices, secuencias:
Concepto de objeto: tabla, vista, secuencia, sinnimo, ndice y program unit Crear secuencias: Create sequence seq start with n maxvalue m nocycle Uso de secuencias: Nextval y Currval
52