gestion bases de datos en oracle

15
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

Upload: dianna-rios

Post on 20-Mar-2016

236 views

Category:

Documents


4 download

DESCRIPTION

Guia para aprender paso a paso el diseño de una base de datos en oracle

TRANSCRIPT

Page 1: GESTION BASES DE DATOS EN ORACLE

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

Page 2: GESTION BASES DE DATOS EN ORACLE

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.

Page 3: GESTION BASES DE DATOS EN ORACLE

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.

Page 4: GESTION BASES DE DATOS EN ORACLE

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

Page 5: GESTION BASES DE DATOS EN ORACLE

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.

Page 6: GESTION BASES DE DATOS EN 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.

Page 7: GESTION BASES DE DATOS EN ORACLE

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.

Page 8: GESTION BASES DE DATOS EN ORACLE

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:

Page 9: GESTION BASES DE DATOS EN ORACLE

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.

Page 10: GESTION BASES DE DATOS EN ORACLE

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

Page 11: GESTION BASES DE DATOS EN ORACLE

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:

Page 12: GESTION BASES DE DATOS EN ORACLE

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.

Page 13: GESTION BASES DE DATOS EN ORACLE

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.

Page 14: GESTION BASES DE DATOS EN ORACLE

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.

Page 15: GESTION BASES DE DATOS EN ORACLE

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.