Professional Documents
Culture Documents
Introducción
SQL-PLUS es una herramienta cliente
de Oracle
Ejecución de sentencias
– Desde el prompt de SQL-PLUS (finalizar con ‘;’)
– Desde buffer: SQL-Plus trabaja por un buffer por
defecto que almacena siempre la última
sentencia SQL (finalizar con ‘/’)
– Desde fichero denominado *.sql (finalizar con ‘;’)
1
Ejecución de sentencias (I)
Desde buffer
– Ed : invoca al editor
– R | Run : ejecuta el contenido del buffer
– L | List : lista el contenido del buffer (completo)
– L n | L n m | ... : lista el contenido de las líneas
que se especifican
– Del | Delete : borra la línea activa (por defecto
la primera línea del buffer)
– Host : devuelve el control al S.O. (salir mediante
exit)
2
Ejecución de sentencias (III)
Desde fichero / A fichero (2/2)
– Spool <fichero> : a partir de entonces todo lo
que se introduce por pantalla se
guarda en el fichero
– Spool on : a partir de entonces todo lo que se
introduce por pantalla se guarda en el
buffer (activa el spool)
– Spool off : desactiva el spool
– Spool : muestra el nombre del fichero de salida
Otras sentencias
Mostrar tablas
– Desc <tabla> : muestra la estructura de la tabla
– Select * from <tabla> : visualiza todas los
campos y registros de una tabla
– Column <columna> justify [C|center|L|left
|R|rigth]: justifica la columna de la tabla
3
Lenguaje de Definición de Datos
(LDD)
4
Tipos de Datos Nuevos
LONG : cadenas de caracteres de hasta 64
K (solo una por tabla). Normalmente para
campos resumen.
Observaciones:
* No se pueden indexar
* No se pueden utilizar en cláusulas WHERE
* No pueden ser seleccionadas en consultas anidadas
* No pueden aparecer en ningún tipo de expresiones
* No pueden aparecer en consultas que estén unidas
a otras mediante UNION|MINUS|INTERSECT
Tratamiento de Fechas
SYSDATE : fecha actual (SELECT SYSDATE
FROM DUAL;)
Las fechas en ORACLE se almacenan como
números (facilidad de conversión a otros
formatos).
Aritmética de fechas:
Fecha + X Añade X días a la fecha seleccionada
Fecha - X Resta X días a la fecha selecciona
Fecha - X/24 Resta X horas a la fecha
seleccionada (resultados de tipo
fecha) Fecha - Fecha Devuelve el número de
días transcurridos entre dos fechas
10
5
Tratamiento de Fechas
Conversión de fechas :
11
La autocombinación se implementa
directamente en la creación de la tabla
12
6
Similitudes con SQL*Base
Borrados y modificaciones (RESTRICT y
por defecto)
13
Creación de Tablas
CREATE TABLE
CREATE TABLE <nombre_de_la_tabla>
(
<nombre_de_la columna1> <tipo_de_datos> [(tamaño)] [NOT NULL] [DEFAULT],
..........................
<nombre_de_la_columnaN> <tipo_de_datos> [(tamaño)] [NOT NULL]
[DEFAULT],
[UNIQUE [nombre]({<lista_de_columnas>})],
[PRIMARY KEY [nombre]({<lista_de_columnas>})],
[CHECK [nombre] <condición>],
[FOREIGN KEY [nombre] ({<lista_de_columnas>})
REFERENCES <nombre_de_tabla_referenciada>
({<lista_de_columnas>}) [ON DELETE CASCADE] ]
);
14
7
Creación de Tablas
OBSERVACIONES:
15
Modificación de Tablas
ALTER TABLE
* Añadir columnas
16
8
Modificación de Tablas
ALTER TABLE
{ADD|MODIFY|DROP|DISABLE|ENABLE}
17
Modificación de Tablas
ALTER TABLE
{ADD|MODIFY|DROP|DISABLE|ENABLE}
18
9
Modificación de Tablas
Observaciones:
19
Borrado de Tablas
DROP TABLE <nombre_de_tabla>
Cuando se ejecuta el comando DROP:
20
10
Renombrado de Tablas
RENAME <antiguo_nombre> TO <nuevo_nombre>
Cuando se ejecuta el comando RENAME:
21
Secuencias
Secuencias. Generación de números
secuenciales (autonuméricos) para las
columnas
CREATE SEQUENCE <nombre_de_secuencia>
[INCREMENT BY entero]
[START WITH entero]
[MAXVALUE entero| NOMAXVALUE]
[MINVALUE entero| NOMINVALUE]
[CYCLE|NOCYCLE]
[CACHE entero|NOCACHE]
[ORDER|NORDER]
22
11
Secuencias
Observaciones:
* <nombre_de_columna>.CURRVAL y
<nombre_de_columna>.NEXTVAL se utilizan para consultar e insertar
los valores de la secuencia que contiene una columna
23
Diccionario de Datos
Introducción SQL-Plus 24
12
Introducción
Información sobre todos los objetos de
la BD
Consultado por:
– Oracle
– Usuarios: sólo las tablas sobre las que tiene
privilegios
Al inicializar la BD se crean una serie de
vistas
25
Grupos de vistas
USER_*: vistas para los objetos (tablas,
disparadores, ...) creados por un
usuario o los privilegios concedidos por
mí.
ALL_*: objetos creados por un usuario
a los que se puede acceder porque nos
ha dado privilegios de acceso
DBA_*: contienen información sobre la
BD. Sólo pueden acceder los DBA
26
13
Grupos de vistas. Ejemplos
Select
[<nombre_objeto>|<tipo_objeto>]
from USER_objects;
– Select * from user_tables;
– Select tabla1 from user_tables;
– Select * from user_constraints;
– Select restricción2 from user_constraints where
table_name = ‘tabla2’;
– Select * from user_sys_privs; (todos mis privilegios)
– Select * from user_tab_privs; (todos los privilegios
que he otorgado sobre mis tablas)
27
(LCD)
Introducción SQL-Plus 28
14
Introducción
Comandos usados por el BDA o el
propietario para conceder/revocar
permisos de acceso a los objetos de la
BD.
29
Roles (I)
Conjunto de privilegios/restricciones
asignados a usuarios o a otros roles.
15
Roles (II)
– EXP_FULL_DATABASE: permite la utilización de
la herramienta EXPORT de la BD
– IMP_FULL_DATABASE: permite la utilización de
la herramienta IMPORT de la BD
Creación de roles:
– Sintaxis:
CREATE ROLE <nombre_rol>;
– Ejemplos:
CREATE ROLE rol1; (crea un nuevo rol)
GRANT rol1 TO <user>; (le asigna ese rol a un usuario)
GRANT <privilegios> ON <objetos> TO rol1; (le otorga
privilegios a ese rol)
31
32
16
Privilegios. Tipos (II)
– Privilegios de sistema
ALTER ANY INDEX
ALTER ANY SECUENCE
CREATE ANY TABLE
CREATE TABLE
CREATE USER
INSERT ANY TABLE
SELECT ANY TABLE
GRANT ANY PRIVILEGE
DROP ANY VIEW
LOCK ANY TABLE
...
33
34
17
Privilegios. Revocar (IV)
REVOKE: revoca privilegios
– Sintaxis:
REVOKE [ALL] <privilegios> ON <objeto> FROM
[<user | rol | public>] [CASCADE CONSTRAINTS]
– Ejemplo:
REVOKE create any table FROM user1;
REVOKE delete ON vista1 FROM rol1;
REVOKE insert ON tabla1 FROM public CASCADE
CONSTRAINTS;
35
SGBD Oracle
Introducción SQL-Plus 36
18
Introducción
Arquitectura Cliente / Servidor
37
Introducción
Características
– Manejo de grandes BD (hasta de terabytes)
– Usuarios concurrentes
– Sistemas Distribuidos
– Entornos Replicados
– Portabilidad
38
19
Introducción
Servidor
39
Introducción
Usuarios
– Administradores de la BD
– Encargados de la seguridad
– Administradores de Aplicación
– Usuarios de la BD
40
20
Introducción
Estructura de BD ORACLE
Uno o varios Tablespace
– Estructuras Lógicas
Objetos dentro de un esquema de usuario
41
Introducción
Identificación de Versiones de
Software ORACLE
V.x.i.j
42
21
Introducción
Identificación de Versiones de
Software ORACLE
SELECT *
FROM product_component_version ;
43
22