Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Contenido
Conceptos bsicos
El servidor de base de datos Oracle
Objetos de base de datos
El diccionario de datos
Familias de sentencias SQL
Tipos de datos en Oracle
Operadores, funciones, expresiones y
condiciones
Contenido
La sentencia SELECT
Formas bsicas
SQL analtico
Uso de subconsultas (subqueries)
Consultas jerrquicas
Manejo de transacciones y el modelo
de consistencia de lectura multiversin
de Oracle (MVRC)
Material de referencia
Oracle Database Concepts
Oracle Database SQL Language
Reference
Oracle Database Reference
AskTom
http://asktom.oracle.com
Oracle Technology Network
http://otn.oracle.com
Homework
Explicacin de 10 por tema
Qu es, en qu consiste
Para qu puede servir
Ejemplos de aplicacin
Demostracin
Conceptos bsicos
sobre base de datos
Oracle
Oracle Server
Oracle Server
SQL
PL/SQL
Aplicacin
Cliente
Resultado
Instancia y Base de Datos
Procesos
Oracle
System Global
Area
Instancia Oracle
Base de datos Oracle
Objetos de base de datos
Tablas
Vistas
ndices
Secuencias
Sinnimos
Usuarios
Roles
Privilegios
Restricciones
Stored procedures
Stored functions
Packages
Triggers
Tablespaces
Etc.
El usuario SYS
Es el usuario propietario de los objetos
del sistema
Tiene privilegios para realizar cualquier
operacin en la base de datos
Es el usuario de base de datos cuando
se realiza una conexin AS SYDBA
El diccionario de datos
Es un conjunto de vistas que permiten leer la
definicin de cualquier objeto de base de
datos utilizando el lenguaje SQL
Hay tres grupos de vistas del diccionario:
Vistas Contienen informacin sobre
USER_* Objetos cuyo propietario es el usuario conectado
ALL_*
Objetos sobre los que el usuario conectado tiene
privilegios
DBA_* Todos los objetos de la base de datos
Familias de sentencias SQL
Data Definition Language (DDL)
Data Control Language (DCL)
SELECT
Data Manipulation Language (DML)
Transaction Control
Data Definition Language
Permite crear, modificar y eliminar
definiciones de objetos
Sentencias:
CREATE
ALTER
DROP
RENAME
TRUNCATE
COMMENT
Data Control Language
Permite asignar y revocar privilegios a
usuarios y roles
Sentencias:
GRANT
REVOKE
SELECT
Permite leer datos de tablas y vistas
La operacin ms frecuente en una
base de datos
Data Manipulation Language
(DML)
Permite modificar datos de tablas de
usuario (no del sistema)
Sentencias:
DELETE
INSERT
UPDATE
MERGE
Transaction Control
Una transaccin es un conjunto de una o ms
modificaciones a los datos (sentencias DML)
Cada transaccin debe tener cuatro
caractersticas:
Atomicidad: todo o nada
Consistencia: que se cumplan las reglas de
integridad definidas en la base de datos
Aislamiento: las transacciones incompletas no
son visibles para otras transacciones
Durabilidad: la transaccin se hace permanente
cuando slo despus de ser confirmada
(COMMIT)
Transaction Control
Sentencias:
COMMIT
ROLLBACK
SAVEPOINT
Cuando se ejecuta una sentencia DDL
o una sentencia DCL, la transaccin se
confirma de manera implcita (como si
se hubiera hecho COMMIT)
Tipos de datos en Oracle
CHAR y NCHAR
VARCHAR2 y NVARCHAR2
NUMBER
DATE
TIMESTAMP
BLOB, CLOB, NCLOB y BFILE
ROWID
Tipos definidos por usuario
Operadores
Existen operadores unarios y binarios
Los unarios tienen slo un argumento
Los binarios tienen dos argumentos
Tener en cuenta la precedencia (orden
de aplicacin) de los operadores
Revisar Oracle Database SQL
Language Reference 11g Release 2,
captulo 4
Operadores
Aritmticos
+ y (identidad y negacin, unarios)
+, -, *, / (operaciones aritmticas, binarios)
Concatenacin de cadenas de caracteres (binario)
||
De conjuntos (binarios)
UNION
UNION ALL
MINUS
INTERSECT
Si el operando es NULL, el resultado es NULL,
excepto con el operador de concatenacin
Funciones
Hay funciones escalares, de totalizacin o
resumen (aggregate) y analticas
Muchas funciones escalares ofrecen
versiones sobrecargadas
Familias de funciones con el mismo nombre y
variacin en los argumentos que aceptan
Revisar Oracle Database SQL Language
Reference 11g Release 2, captulo 5
Funciones
Escalares
Numricas
De caracteres
De fecha y hora
De comparacin
De conversin
Para codificar y decodificar
Para manejar valores nulos
De ambiente e identificacin
De totalizacin
Analticas
Expresiones
Una expresin es una combinacin de
uno o ms valores, operadores y
funciones, que da como resultado un
valor
En general, las expresiones pueden
reemplazar un valor del tipo adecuado
Hay expresiones
Simples y compuestas
CASE
Revisar Oracle Database SQL Language
Reference 11g Release 2, captulo 6
Condiciones
En SQL, se manejan tres valores lgicos:
VERDADERO (TRUE)
FALSO (FALSE)
NULO (NULL)
Nulo significa DESCONOCIDO
No significa vaco
Las tablas de verdad de las operaciones lgicas
(AND, OR, NOT), se deben ajustar de acuerdo
con esta definicin
Tener en cuenta la precedencia (orden de
aplicacin) de los operadores
Revisar Oracle Database SQL Language
Reference 11g Release 2, captulo 7
Condiciones
Operadores de comparacin
>, >=, =, !=, <>, ^=,<, <=
IS [NOT] NULL
LIKE
BETWEEN
IN
EXISTS
Operadores lgicos
NOT
AND
OR
La sentencia SELECT:
Generalidades
Qu es una base de datos
relacional?
Elementos
Atributos o columnas
Tuplas o filas
Relaciones o tablas
Operaciones relacionales
SELECT
PROJECT
JOIN
Utiliza un lenguaje declarativo para
manejar los datos (p. ej. SQL)
SELECT simples
Clusulas
SELECT
FROM
WHERE
GROUP BY
ORDER BY
Operadores de
conjuntos
SQL Analtico
Subconsultas
Consultas jerrquicas
El modelo de consistencia
de lectura multiversin
(MVRC)
Consistencia de lectura
multiversin
Consistencia de lectura
multiversin
Quienes leen no bloquean a quienes modifican
Quienes modifican no bloquean a quienes leen
Se produce un bloqueo a nivel de fila cuando se
intenta modificar el mismo registro a la vez, en
transacciones diferentes
Consistencia a nivel de sentencia
Siempre se cumple, es el modelo preferido
El resultado de una consulta se obtiene en referencia al
mismo momento en el tiempo (inicio de la sentencia)
Consistencia a nivel de transaccin
Opcional, se debe declarar la transaccin como
SERIALIZABLE
El resultado de todas las consultas en la misma
transaccin corresponden al mismo momento en el tiempo
Checklist
Concepto de parsing
Leer e interpretar planes de ejecucin
Arquitectura general de Oracle Database
Mecanismo de consistencia de datos y undo
Diferencia entre CBO y RBO
Diferencia entre los modos del optimizador
FIRST_ROWS y ALL_ROWS
Concepto de estadsticas del optimizador
Diferencia entre PIO y LIO, cmo aparecen
stos en los reportes de trace
Checklist
Mtodos de acceso en planes de ejecucin
Table access full o full table scan (FTS)
Full index scan
Index range scan, Index unique Scan
Table access by index rowid
Cundo conviene Full Table Scan y cundo acceso
por ndice
Diferencia entre nested loops join, sort-merge join y
hash join
Diferencia entre ndices B*Tree e ndices bitmap
PL/SQL
Qu es PL/SQL?
Lenguaje propietario de Oracle
Extensin procedimental a SQL
Variables
Bucles
Condicionales
Manejo de excepciones
Tipos de datos definidos por el
desarrollador
Ventajas PL/SQL
Manejo de seguridad
Opciones para control de acceso:
AUTHID CURRENT_USER y AUTHID
DEFINER
Encriptacin de cdigo
Enmascaramiento de informacin
Separacin de interfaz e
implementacin
Optimizacin de trfico en la red
Arquitectura de PL/SQL