gestion bases de datos en oracle
DESCRIPTION
Guia para aprender paso a paso el diseño de una base de datos en oracleTRANSCRIPT
DEFINICION DE UNA INSTANCIA
GESTION DE BASES DE DATOS EN ORACLE 10G.
DIANNA RIOS BOHADA
ADMINISTRACION DE BASES DE DATOS
Identificación de curso No. 149013
SENA REGIONAL BOYACA
CENTRO INDUSTRIAL DE MANTENIMINTO Y MANUFACTURA
Sogamoso, Mayo de 2011
BASES DE DATOS EN ORACLE
2
DEFINICION DE UNA INSTANCIA Y GESTION DE UNA BASE DE
DATOS EN ORACLE 10G.
Partiendo del hecho que para iniciar a desarrollar una base de datos ,
independientemente del gestor de bases de datos que se vaya a utilizar, es
necesario identificar la necesidad que surge a partir de una situación dada ,
para el desarrollo de este tutorial se tomará como referencia el caso
planteado en http://basdatos.tripod.com/ejercicios.html:
1. Enunciado.
Se desea almacenar la información de una compañía aérea en una B.D relacional.
La compañía aérea tiene tres recursos principales: Aviones, pilotos, tripulación.
De cada piloto se desea conocer su cod. Nombre y horas de vuelo. De los
miembros de la tripulación solo se tendrá el cod y el nombre. Pilotos y
tripulación tienen una base a la que regresan después de cada jornada un vuelo
va desde un origen a un destino a una hora concreta y tiene # de vuelo, de cada
vuelo que se va a realizar durante los próximos 3 meses, así como de los vuelos
que se han realizado se desea saber el avión en el que se va a hacer o en el que
se ha hecho, el piloto y la tripulación.
Cada avión tiene un cod, es de un tipo (Boeing, Airbus, entre otros) y tiene una
base donde es sometido a mantenimiento.
BASES DE DATOS EN ORACLE
3
1.1 Como se desarrolla el modelo lógico
El modelo lógico permite establecer cada una de las variables a tener en
cuenta para el desarrollo del proyecto puesto que es en este proceso donde
se determinan aspectos relevantes como la identificación del problema, los
objetivos, los alcances, requerimientos tanto físicos como lógicos,
(específicamente la información que se va a manejar durante el desarrollo
del proyecto), los requerimientos de los usuarios, (que gestión se desea
alcanzar con la información, como debiera estar distribuida dicha
información y como se desea presentar al usuario final).
Es muy importante dedicar un tiempo suficiente para determinar cada uno
de los aspectos que se verán involucrados en el proyecto en la medida que
cuanto más se planee menos serán las modificaciones que estaremos sujetos
a realizar durante el proceso de desarrollo.
1.2 Como se desarrolla el modelo físico
Luego de hacer un análisis de la información a la que tenemos acceso
después de los diferentes procesos que realizamos para determinar cuáles
son los requerimientos específicos del sistema se tienen las herramientas
necesarias para comenzar la identificación de las entidades que harán parte
de nuestra base de datos , a partir de este momento es posible identificar
los diferentes objetos, campos, relaciones, restricciones, índices, tipos de
datos, etc, y demás elementos que concretamente conforman nuestro
sistema de información.
BASES DE DATOS EN ORACLE
4
De igual manera es importante definir el sistema gestor de bases de datos
en el que se ha de trabajar y en este momento ya se debe poseer un
conocimiento significativo sobre el manejo de éste y las posibilidades que
nos ofrece.
Al terminar el diseño físico empezamos el desarrollo del proyecto.
Según la fuente http://basdatos.tripod.com/ejercicios.html de donde se
tomo el enunciado del problema se propone el modelo entidad relación que
se trabajará en el transcurso de este tutorial.
2. creación de un tablespace
El primer paso a tener en cuenta para empezar a trabajar con Oracle es
crear un tablespace, espacio asignado para almacenar los objetos que
BASES DE DATOS EN ORACLE
5
conforman la base de datos, a cada uno de ellos se asocian uno o varios
ficheros.
Inicialmente nos conectamos con el usuario system en el SQL plus de
oracle, este usuario tiene todos los permisos necesarios para crear
realizar tareas sobre la BD tales como ejecutar comandos para crear,
alterar ,y borrar objetos.
Para el ejemplo se crea un tablespace identificado con el nombre avión,
con un tamaño de 10M y se asocia el archivo avión.dbf ubicado en la ruta
C:\oraclexe .
El tamaño asignado depende de los requerimientos y el volumen de
información que se vaya a trabajar.
Se puede comprobar la creación del tablespace por el ápex del gestor de base
de datos oracle.
BASES DE DATOS EN ORACLE
6
De igual manera se puede comprobar la creación del fichero avión en la ruta
especificada mediante el explorador de Windows.
3. Creación del Usuario para el esquema
Una vez creado el tablespace se procede a crear un usuario, identificado
con una contraseña y se le asigna el tablespace definido anteriormente para
almacenar los objetos que cree dicho usuario. Si no se asigna ninguno, el
tablespace por defecto es SYSTEM.
Para el ejercicio se ha creado el usuario cooavion, identificado con la
contraseña cooavion y por defecto se asigna al tablespace avión.
BASES DE DATOS EN ORACLE
7
3.1 Creación del usuario
A continuación se muestra el código que asigna un tablespace a un usuario
creado con anterioridad.
Para el ejercicio el usuario admavion se ha creado sin asignarle un
tablespace
El comando alter user nos permite ejecutar dicha tarea.
Si la cuenta del usuario se encuentra bloqueada se puede digitar el
siguiente código para desbloquearla y tener acceso a la conexión.
BASES DE DATOS EN ORACLE
8
El ejemplo muestra el desbloqueo del usuario admavion que se había creado
con anterioridad.
3.3. Asignación de privilegios
Un privilegio permite a un usuario acceder a ciertos objetos o realizar
ciertas acciones sobre la base de datos . A un usuario se puede otorgar
una serie de privilegios de diferentes tipo:
- Privilegios sobre Objetos ( Object privileges ) a permisos sobre vistas,
tablas, secuencias, procedimientos, paquetes.
- Privilegios del Sistema ( System privileges ) a permisos sobre “niveles
de la base de datos” como pueden ser conexión a la base de datos,
creación de usuarios, limitar cuentas.
- Privilegios sobre Roles (Role privileges ) a muchos permisos son
otorgados mediante roles agrupando un conjunto de privilegios.
Para otorgar privilegios utilizamos la sentencia GRANT, para quitar un
privilegio o permiso a un usuario utilizamos la sentencia REVOKE
En el ejemplo se están asignando roles predefinidos que a su vez tienen
permisos establecidos:
BASES DE DATOS EN ORACLE
9
CONNECT: Todos los permisos necesarios para iniciar una sesión en
Oracle
RESOURCE: Todos los permisos necesarios para tener recursos para
lacreación de objetos
4. Creación de Tablas
Una tabla es la unidad básica de almacenamiento de datos en Oracle, Los
datos son almacenados en filas y columnas.La sintaxis para crear un tabla en
oracle es :
Create table nombre _tabla ( Nombre campo tipo de dato, Nombre campo 2 tipo de dato, ………. Nombre de campo n tipo de dato );
En el ejemplo se se crean las tablas aviones, pilotos, vuelos, tripulación, con los
respectivos cambios que las conforman y la definición de los tipos de datos, la
restricción not null indica que no se pueden dejar estos campos vacios.
BASES DE DATOS EN ORACLE
10
4.1 Creación de la tabla
...
5. Definición de Restricciones
Una restricción es una condición que obliga el cumplimiento de ciertas
condiciones en la base de datos.
Las restricciones proveen un método de implementar reglas en la base de
datos. Las restricciones restringen los datos que pueden ser almacenados en
las tablas. Usualmente se definen usando expresiones que dan como resultado
un valor booleano, indicando si los datos satisfacen la restricción o no.
Las restricciones no son parte formal del modelo relacional, pero son incluidas
porque juegan el rol de organizar mejor los datos. Las restricciones son muy
discutidas junto con los conceptos relacionales. [1].
[1].Ref. www.wilkipedia. com
BASES DE DATOS EN ORACLE
11
5.1. Restricciones Primary Key /para cada tabla
Se utiliza para definir la clave primaria de una tabla, en el ejemplo se
asignan las llaves primarias de las diferentes tablas creadas mediante la
sentencia alter table, como se ilustra a continuación:
5.2. Restricciones Foreign key /para cada tabla
Las restricciones foráneas se utilizan para definir las relaciones entre dos
tablas.
La creación de las llaves foráneas para el ejemplo en cuestión se presentan
en las siguientes líneas de código , mediante la utilización de la sentencia
alter table……. add constraint:
BASES DE DATOS EN ORACLE
12
5.3 Restricciones Default
El valor por defecto es el que toma una columna cuando no se especifica su
valor en una sentencia insert.
En el ejemplo se asigna un valor por defecto de 0000 al campo id_vuelo de
la tabla vuelos.
BASES DE DATOS EN ORACLE
13
5.4. Restricciones NOT NULL
Como se había mencionado con anterioridad , la restricción NOT NULL
valida la posibilidad de dejar un campo vacio de un registro, generalmente
las llaves primarias siempre deben tener esta restricción para garantizar la
integridad referencial.
El código muestra la creación de tablas y la asignación de la restricción not
null para los diferentes campos.
BASES DE DATOS EN ORACLE
14
El cuadro de dialogo muestra el error que sucede al ingresar datos a la
tabla vuelos y dejar en el campo id_vuelo vacio, no se nos permite realizar
la inserción.
5.5. Restricciones UNIQUE
Esta restricción asegura que los datos ingresados en un campo no se
repitan, para el ejemplo se asigna una restricción unique, llamada UK_COD
al campo id_piloto de la tabla pilotos.
5.6. Restricciones Check
Permiten establecer condiciones a los valores que debe aceptar una
columna, en el ejemplo se agrega una restricción check a la tabla pilotos en
donde se condiciona que el campo teléfono sea mayor que 0, de lo contrario
genera error al momento de la inserción de datos.
BASES DE DATOS EN ORACLE
15
6. Asignación de privilegios a usuarios.
Como ya se menciono un privilegio permite el acceso, modificacion o
actualizacion a objetos de la base de datos, para el ejemplo al usuario
operador se asignan privilegios de selección e insercion a las tablas aviones
y pilotos mediante la sentencia GRA NT.