You are on page 1of 3

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 lab!
Desde alumno"alumnolab!: ejecutar el script crea#alumno$sql %&tilitarios de
&p'irtal(
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/Alegajolab! y cargar las tablas que se usaran en el curso:
)ablas*+demobld$
Familiarizarse con SlDe!elo"er:
#rimera "arte: Cons$ltas
Cons$ltas: Select% &'ere% Order ()% *oins: Order ()
Select , -rom. / Select lista de columnas y alias de columnas
&so de Distinct para eliminar 0ilas duplicadas
Cl1usula Order by
2estriccin de 0ilas con 34ere: condiciones simples/
Operadores aritm5ticos/ lgicos y de comparacin: In/ +et6een$$7nd$$/ Li8e/ Case
Operador de concatenacin %99(
Concepto de null values : is null/ is not null
2eglas de precedencia y uso de par5ntesis
:jemplos: Consultar el contenido de algunas tablas para conocer su in0ormacin
+aria(les de s$stit$ci,n-
&so de ; en sentencias Sql
:jemplos: Consultar datos de un empleado dado$ <or id y por apellido$
*oins:
Obtener datos de m1s de una tabla$ <roducto cartesiano
Cali0icar columnas ambiguas y alias de tabla
&sando 34ere tabla$columna = tabla$columna
&sando >oin en la clausula -rom: >oin/ Inner >oin/ ?atural >oin/ Outer join
?atural join: columnas que se llaman igual en dos tablas:
Select last#name/ name
-rom :mployee natural join Department
Cl1usula On:
Select employee#id/ regional#group/ name
-rom :mployee e >oin department d On d$department#id = e$department#id
>oin location l On d$location#id = l$location#id
@
Outer join: Le0t / 2ig4t y -ull
Select last#name/ name
-rom :mployee Le0t Outer join Department using %department#id(
Sel0t join:
Select e$last#name 99 A depende de: A99 j$last#name
-rom :mployee e join :mployee j on %e$manager#id = j$employee#id(
Cross join: producto cartesiano
Select last#name/ name
-rom :mployee Cross join Departmet
:jemplos: Departamentos y sus empleados/ con outer join/ :mpleados y sus je0es$
Brado de salario de los empleados$
F$nciones de .ila sim"le: ) de /r$"o0 1ro$" () ) 2a!in/ :
-unciones de 0ila simple: Sysdate y &ser
-unciones para valores nulos: ?vl
-unciones de caracteres: Lo6er/ &pper/ Initcap/ Substr/ Lengt4/ Lpad/ 2pad/ )rim/
Decode
-unciones num5ricas: 2ound/ )runc/ Cod
-unciones de 0ec4as: Cont4s#bet6een/ 7dd#Cont4s/ ?eDt#day/ 2ound
-ormatos de 0ec4a %EEEE/ CC/ Cont4/ DD/ Day(
-unciones de conversin: )o#number/ )o#c4ar/ )o#date $
:jemplos: :mpleados y la cantidad de dFas que 4ace que trabajan$ Salarios diarios de los
empleados redondeados a ! decimales$ <rimeras tres letras del nombre de los
empleados$
F$nciones de /r$"o0 1ro$" () ) 2a!in/:
Funciones de grupo: 7vg/ Count/ CaD/ Cin/ Sum/ Count distinct
Cl1usula Broup by/ agrupar por m1s de una columna
Cl1usula Having: eDcluir grupos del resultado
:jemplos: Salarios m1Dimo y mFnimo de los empleados de un departamento dado$
Salarios m1Dimo y mFnimo por departamento$ Cantidad de empleados por
departamento$ Cantidad de empleados ingresados por cada aGo$
S$(cons$ltas sim"les ) sincronizadas:
Subconsultas: van entre par5ntesis/ a la derec4a de la comparacin/ no pueden tener
Order +y y los operadores deben coincidir con el tipo de resultado que devuelve la
subconsulta$
:jemplos: :mpleados del departamento AOperationsH/ :mpleados que ganan m1s que el
promedio de salarios$ :mpleados que ganan m1s que el promedio de salarios de su
departamento$ :mpleado m1s antiguo$ :mpleados que ganan m1s que su je0e$
!
Se/$nda "arte: 3ani"$laci,n ) De.inici,n
Sentencias de mani"$laci,n de datos: Insert% U"date ) Delete:
Inserta 0ilas: Insert into tabla I%lista de columnas(J values %lista de valores(
Insertar datos num5ricos/ al0ab5ticos y tipo 0ec4a
Insertar con datos de otras tablas: Insert into tabla Select $$$$$$$
7ctualiKar datos: &pdate tabla set columna = eDpresion I64ere condicionJ
:liminar 0ilas: Delete I0romJ tabla I64ere condicionJ
Integridad de los datos: no se puede eliminar padre con 4ijos/ insertar 4ijos sin
padre/ duplicar clave primaria/ violar otras restricciones de integridad$
:jemplos: Insertar / actualiKar y eliminar 0ilas en la tabla de departamentos$
3ane4o de transacciones: Commit ) Roll(ac5:
Control de transacciones con Commit/ 2ollbac8 y Savepoint
:stado de los datos antes y despu5s de Commit o 2ollbac8$ Concepto de Loc8$
:jemplos: Hacer modi0icaciones y asentarlas descartarlas$
7brir dos coneDiones con el mismo usuario para ver el estado de los datos y loqueos
antes y despu5s de commit"rollbac8$

Sentencias de de.inici,n de datos: Create% Alter ) Dro":
Create table: Creacin de tablas: reglas para los nombres$ )ipos de datos
Crear una tabla usando una subconsulta: crea estructura y datos
7lter table: 7gregar columnas: 7dd %columna tipo#dato IDe0ault expresinJ,...)
Codi0icar columna: Codi0y %columna tipo#dato IDe0ault expresinJ(
:liminar columna: Drop coumn columna
Drop table
Re/las de inte/ridad de la (ase ) "ri!ile/ios:
Concepto de restricciones o constraints$
?ot null/ <rimary 8ey/ &nique/ -oreign Ley/ C4ec8
SintaDis/ de0inicin a nivel de columna o de tabla$ 7lterar una tabla para agregar
constraints
Constraint id#p8 <rimary 8ey %id(
Constraint dept#p8 -oreign 8ey %dept#id( 2e0erences dept%dept#id(
:liminar una constraint con 7lter table Drop constraint nombre
O"tati!o:
Otros o(4etos: !istas% 6ndices% sec$encias:
Concepto de objeto: tabla/ vista/ secuencia/ sinnimo/ Fndice y program unit
Crear secuencias: Create sequence seq start 6it4 n maDvalue m nocycle
&so de secuencias: ?eDtval y Currval
M

You might also like