Você está na página 1de 6

UNIVERSIDAD CENTRAL DE VENEZUELA

FACULTAD DE CIENCIAS
ESCUELA DE COMPUTACION
CENTRO DE INVESTIGACION EN SISTEMAS DE INFORMACION
ALMACENAMIENTO DE DATOS PARA LA TOMA DE DECISIONES

Manual: Sistema Manejador de Bases de Datos Oracle


Luego de tener instalado el producto: Oracle Database.
Es necesario mantener la clave que se indico durante el proceso de instalacin, ya que es
la clave con la cual se puede conectar el usuario administrador.
Los servicios deben estar activos:
o OracleXEClrAgent
o OracleXETNSListener

Sentencias bsicas SQL:


Sentencia
SELECT

Descripcin
Recuperar Datos

INSERT

Insertar Datos

UPDATE

Modificar Datos

DELETE
CREATE
TABLE
ALTER TABLE

Eliminar Datos
Crear una Tabla

PRIMARY KEY

Asignar una Clave


Primaria. Es un tipo de
Restriccin.

Modificar una Tabla

Estructura
SELECT atributos FROM tabla WHERE
condicin;
Se pueden usar clausulas como:
DISTINCT
ORDER BY
GROUP BY
INSERT INTO tabla VALUES (atributo1,
atributo2,, atributoN);
UPDATE tabla SET atributo1=valor1,,
atributoN=valorN WHERE condicin;
DELETE FROM tabla WHERE condicin;
CREATE TABLE table (atributo1
tipo,,atributoN tipo);
ALTER TABLE table ADD atributoY tipo;
ALTER TABLE table MODIFY atributoY
tipo;
CREATE TABLE tabla (ID NUMBER
PRIMARY KEY);
ALTER TABLE tabla ADD CONSTRAINT
pk_id PRIMARY KEY (ID);
CREATE TABLE tabla(
ID NUMBER,
CONSTRAINT pk_id PRIMARY KEY (ID));

FOREING KEY

Asignar una Clave


Fornea. Es un tipo de
Restriccin

DROP TABLE

Eliminar una Tabla de


las existentes
Crear un nuevo usuario
identificado con una
clave
Crear un nuevo rol. Es
una forma agrupar
permisos (o privilegios)
para asignarlos luego a
los usuarios. Cada
usuario puede tener
varios roles. Tambin
se puede asignar una
clave a un rol
Asignar un rol a un
usuario
Borrar un usuario
existente

CREATE USER

CREATE ROLE

GRANT ROLE
DROP USER

CREATE TABLE tabla(


ID NUMBER,
ID2 NUMBER,
CONSTRAINT fk_id FOREING KEY (ID2)
REFERENCES tabla2 (ID));
ALTER TABLE tabla ADD CONSTRAINT
fk_id FOREING KEY (ID2) REFERENCES
tabla2 (ID));
DROP TABLE tabla;
CREATE USER usuario IDENTIFIED BY clave;

CREATE ROLE rol;

GRANT rol TO usuario;


DROP USER usuario CASCADE;

Los elementos y estructuras de Base de Datos de Oracle son almacenados


lgicamente en?
En Tablespaces, no son archivos fsicos. Un objeto de BD debe estar almacenado obligatoriamente
dentro de un tablespace. Pueden ser:
Permanentes
Temporales
Deshacer
Un datafile es la representacin fsica de un tablespace. Est asociado a un tablespace, pero un
tablespace puede estar asociado a uno o ms datafiles.
TIPO DE SENTENCIA
CREATE TABLESPACE

ALTER DATAFILE
DROP TABLESPACE

EJEMPLOS
EXPLICACIN
CREATE TABLESPACE tb01
Se crea un nuevo tablespace
DATAFILE data01.dbf
SIZE 5M;
ALTER DATABASE DATAFILE Se redimensiona un datafile
data01.dbf resize 20M;
DROP TABLESPACE tb01;
Se elimina un tablespace

Si se quiere consultar acerca de los tablespaces o datafiles, Oracle define un conjunto de vistas a
partir de las cuales se puede obtener esta informacin:

NOMBRE DE VISTA
DBA_TABLESPACES
USER_TABLESPACES

V$TABLESPACE
DBA_DATAFILES
V$DATAFILES

DESCRIPCION
Tablespaces pertenecientes
a administradores
Tablespaces pertenecientes
al usuario conectado
actualmente
Tabla virtual que referencia
a los tablespaces
Datafiles pertenecientes a
los administradores
Tabla virtual que referencia
a los datafiles

SENTENCIA

SELECT * FROM
nombre_vista

Cuando se crea una tabla debe indicarse el Tablespace al que sta


pertenece?
Depende del usuario con el que se est conectado:
Si se est conectado con el usuario propietario de ese tablespace no es necesario
especificarlo: CREATE TABLE tabla (id NUMBER);
En el caso de no estar conectado con el usuario propietario se deben considerar dos
escenarios:
o Si el usuario es administrador o con privilegios de administrador se debe indicar el
tablespace al cual se asocia la tabla: CREATE TABLE tabla (id NUMBER)
TABLESPACE tb01;
o Si el usuario no tiene privilegios sobre el tablespace al que pertenece la tabla,
aunque este sea indicado se recibir un error al momento de ejecutarse. A partir
de esta consideracin se desprende que es imposible que un usuario pueda
realizar acciones sobre el tablespace de otro usuario si no se le han asignado los
privilegios.

Cul es la forma de acceder a una tabla correspondiente al Tablespace de


otro Usuario?
Para realizar esto debe indicarse a que usuario pertenece esa tabla. Ejemplo:
SELECT DISTINCT E.ID, E.APELLIDO, D.NOMBRE_D
FROM TRANS.EMPLEADO E, DIM.DEPARTAMENTO D
WHERE E.ID_DEP = D.ID_DEP ORDER BY E.ID_EMP;

Cuntos JOIN son necesarios en la clausula WHERE si se hace uso de N


Tablas en una consulta?
Cuando se realizan consultas entre N tablas se deben realizar N-1 joins para poder navegar entre
ellas por los campos comunes (claves forneas).

Cmo se le asigna un Tablespace a un Usuario?


Para asignar un tablespace a un usuario, luego de la posterior creacin de ambos por medio del
comando ALTER se asigna el tablespace indicando que es por defecto y que puede ocupar todo el
espacio disponible.
CREATE TABLESPACE tb01 DATAFILE 'tb01.bf SIZE 200M;
CREATE USER usuario IDENTIFIED BY clave;
ALTER USER usuario QUOTA UNLIMITED ON tb01;
ALTER USER usuario DEFAULT TABLESPACE tb01;

Cules son los roles que Oracle tiene predefinidos?


CONNECT
CREATE SESSION
CREATE TABLE
CREATE VIEW
CREATE SEQUENCE
CREATE DATABASE LINK
CREATE CLUSTER

ALTER SESSION
CREATE PROCEDURE
CREATE TRIGGER
CREATE TYPE
CREATE INDEXTYPE
EXECUTE ANY CLASS
EXECUTE ANY PROGRAM

Si se quiere conocer todos los roles que Oracle provee por defecto se puede consultar la siguiente
vista:
SELECT *FROM DBA_ROLES;

Cmo asignarle privilegios a un usuario?


Para ello es necesario el uso de la clausula GRANT. Esta sentencia SQL sirve para asignar a un
usuario un conjunto de privilegios a un usuario o a un rol.
Un permiso en oracle, es un derecho a ejecutar una sentencia (System privileges, los ms
utilizados fueron indicados en el punto anterior) o a acceder a un objeto de otro usuario (object

privileges: SELECT, INSERT, UPDATE, DELETE). El conjunto de permisos es fijo, esto quiere decir que
no se pueden crear nuevos tipos de permisos.
A su vez se plantean dos opciones de como asignar estos privilegios:
Con Opciones de Administrador (DBA) WITH ADMIN OPTIONS
Con Opciones de Asignar ese Privilegio a Otros Usuarios WITH GRANT OPTIONS
GRANT privilegio1,,privilegioN ON objeto
TO usuario1,,usuarioN [WITH ADMIN/GRANT OPTIONS]

Cmo un usuario puede tener privilegios sobre un tablespace de otro


usuario?
Del mismo modo que con la asignacin de roles o privilegios se puede dar a un usuario la
posibilidad de realizar operaciones sobre objetos de otro usuario. En este caso con la definicin de
objeto se define la posibilidad de dar privilegios de SELECT, INSERT, UPDATE, DELETE.
Ejemplo:
GRANT SELECT, INSERT, DELETE, UPDATE ANY TABLE TO usuario;

Qu es un archivo .sql?
Es un archivo que contiene un script de una estructura de base de datos o un respaldo de una base
de datos. Contiene los comandos o para crear la base de datos, solo es necesario carga el script y
se genera la base de datos nueva o se realiza el respaldo.

Cmo se carga un archivo .sql?


Luego de estar conectado a la consola SQL*Plus se hace uso del comando:
@ruta_del_script
Posteriormente el archivo ser cargado y la Base de Datos creada o restaurada.

Con qu usuario debe conectarse si desea correr un archivo .sql?


Depender de las sentencias sql que se ejecuten dentro del script y de los privilegios que tenga el
usuario con el que se est conectado al momento de ejecutarlo:
Si es un usuario con todos los privilegios, o un usuario administrador, se podrn realizar
cualquier tipo de sentencias sql.
Si es un usuario sin todos los privilegios y se ejecutan sentencias para los cuales son
necesarios todos no se cargara correctamente

Cul es una buena prctica de organizacin de SCRIPTS de Bases de Datos?

Donde:
El archivo main.sql contiene la informacin acerca de la creacin de los usuarios y
tablespaces, asignacin de privilegios y la invocacin a los dems archivos .sql que se
encargan de la creacin de tablas e inserciones.
Los archivos cre_transaccional y cre_dimensional contienen la definicin de los
objetos de esquema, como son las tablas, ndices y asignacin de claves primarias y
forneas.
Los archivos insert_transaccional y insert_dimensional contienen los datos que sern
insertados dentro de cada tabla.

GDAD I-2014

Você também pode gostar