Issuu on Google+

DESARROLLO DE UNA BASE DE DATOS EN ORACLE El actual documento fue elaborado por Ana Mariela Cáceres Tecnóloga en Sistemas, aprendiz Sena en la Especialización en Administración de Bases de Datos, dirigida por el Instructor Ingeniero Alexander Montaña Bello, en el Centro Industrial de Mantenimiento y Manufactura de la ciudad de Sogamoso, Sena Regional Boyacá. El propósito con el que fue desarrollado es para usarlo como guía de referencia a aquellas personas que empiezan en el mundo de las bases de datos diseñadas en una de las herramientas más completas creadas para este fin como lo es oracle. A continuación se hace una breve descripción de los pasos que se deben tener en cuenta para el análisis, diseño y elaboración de una base de datos, así como las implementaciones que se pueden realizar. 1. PLANTEAR EL CASO A DESARROLLAR Diseño de una base de datos para una biblioteca para el control de préstamo de libros. 1.1 Comentar como se desarrolla el modelo lógico El modelo lógico se comienza por hacer un análisis referente a lo que se desea implementar en una base de datos, con qué fin y qué necesidades se deben suplir. Para ello se diseña un modelo entidad relación el cual contiene entidades, relaciones, atributos y cardinalidad, el cual es una herramienta de ayuda para el modelado de la bases de datos.

USUARIO DNI NOMBRE DIRECCION TELEFONO EMAIL

LIBROS_PRESTADOS

PRESTAMO COD FECHA_SALIDA FECHA_DEVOLUCION FECHA_ENTREGA USUARIO_DNI

LIBRO AUTOR DNI NOMBRE PAIS_ORIGEN

COD NOMBRE EDITORIAL ANO_EDICION No_PAG CANTIDAD AUTOR_DNI

COD_PRESTAMO COD_LIBROS


1.2 Comentar como se desarrolla el modelo físico. Una vez se realiza el modelo lógico se le asigna a cada tabla o a cada entidad los atributos correspondientes a cada una de ellas y la llave primaria y el tipo de dato correspondiente por ejemplo si es de tipo entero, carácter, fecha, etc.

2

CREACIÓN DEL USUARIO PARA EL ESQUEMA

2.1 Creación del usuario Primero que todo se conecta al sysdba de oracle y se crea un tablespace para asignar a este el usuario que se va a crear así: SQL> CREATE TABLESPACE NOMBRE_TABLESPACE DATAFILE ‘ruta _y_nombre_del_datafile’ size tamaño; Ejemplo:

SQL> CREATE TABLESPACE BIBLIOTECA DATAFILE ‘C:\oraclexe\oradata\XE\BIBLIOTECA.DBF’ size 100M;

Luego creamos el usuario de la siguiente forma:


SQL> CREATE

USER TABLESPACE USERS;

NOMBRE_USUARIO IDENTIFIED

BY CONTRASEÑA DEFAULT

Donde nombre_usuario: Es el nombre del usuario que va a hacer uso de la base de datos. Contraseña: Es la clave con la que el usuario podrá ingresar. Ejemplo:

SQL> create user Ana identified by DBA defafult tablespace BIBLIOTECA;

2.2 Asignación de privilegios

Se le asignan privilegios o permisos al usuario Ana en este caso, para que pueda acceder a la base de datos mediante los roles connect y resoruce y pueda ejecutar alguna sentencia o crear un determinado objeto. Ejemplo: SQL> GRANT CONNECT, RESOURCE TO ANA; De esta forma el usuario podrá Ana crear los objetos que corresponden a la base de datos. 3

CREACIÓN DE TABLAS {SIN LA AYUDA DE HERRAMIENTAS CASE} 3.1 Creación de la tabla USUARIO CREATE TABLE USUARIO( DNI NUMBER(10), NOMBRE VARCHAR2(45), DIRECCION VARCHAR2(45), TELEFONO VARCHAR2(10), E-MAIL VARCHAR2(45) );

3.2 Creación de la tabla PRESTAMO CREATE TABLE PRESTAMO( COD NUMBER(10), FECHA_SALIDA DATE, FECHA_ DEVOLUCION DATE, FECHA_ENTREGA DATE, DNI_USUARIO NUMBER(10) );

3.3 Creación de la tabla LIBRO CREATE TABLE LIBRO( COD NOMBRE

NUMBER(10), VARCHAR2(45),


EDITORIAL ANO_EDICION No_PAG CANTIDAD DNI_AUTOR

VARCHAR2(15), VARCHAR2(5), NUMBER(5), NUMBER(3), NUMBER(10)

);

3.4 Creaci贸n de la tabla AUTOR CREATE TABLE AUTOR( DNI NOMBRE PAIS_ORIGEN );

NUMBER(10), VARCHAR2(45), VARCHAR2(15)

3.5 Creaci贸n de la tabla LIBROS_PRESTADOS CREATE TABLE LIBROS_PRESTADOS( COD_PRESTAMO NUMBER(10), COD_LIBRO NUMBER(10), );

4

RESTRICCIONES PRIMARY KEY /para cada tabla SQL>Alter table USUARIO add Constraint (PK_USUARIO) primary key (DNI); SQL>Alter table PRESTAMO add Constraint (PK_PRESTAMO) primary key (COD); SQL>Alter table LIBRO add Constraint (PK_LIBRO) primary key (COD); SQL>Alter table AUTOR add Constraint (PK_AUTOR) primary key (DNI);

5

RESTRICCIONES FOREIGN KEY /para cada tabla SQL>Alter table PRESTAMO add Constraint FK_PRESUS_USDNI foreign key (DNI_USUARIO) references USUARIO(DNI); SQL>Alter table LIBROS_PRESTADOS add( Constraint FK_LIBPP_PRESCOD foreign key (COD_PRESTAMO) references PRESTAMO(COD), Constraint FK_LIBPL_LIBCOD foreign key (COD_LIBRO) references LIBRO(COD) ); SQL>Alter table LIBRO add Constraint FK_LIBAUT_AUTDNI foreign key (DNI_AUTOR) references AUTOR(DNI);


6. RESTRICCIONES DEFAULT

Alter table libros modify (autor default ‘desconocido’); Alter table libros modify (cantidad default 4); 7.

RESTRICCIONES NOT NULL Alter table USUARIO Modify (DNI NOT NULL); Alter table USUARIO Modify (NOMBRE NOT NULL); Alter table USUARIO Modify (DIRECCIO NOT NULL); Alter table USUARIO Modify (TELEFONO NOT NULL); Alter table USUARIO Modify (CORREO_E NOT NULL); Alter table PRESTAMO Modify (COD NOT NULL); Alter table PRESTAMO Modify (FECHA_SALIDA NOT NULL); Alter table PRESTAMO Modify (FECHA_DEVOLUCION NOT NULL); Alter table PRESTAMO Modify (FECHA_ENTREGA NOT NULL); Alter table PRESTAMO Modify (DNI_USUARIO NOT NULL); Alter table LIBRO Modify (COD NOT NULL); Alter table LIBRO Modify (NOMBRE NOT NULL); Alter table LIBRO Modify (EDITORIAL NOT NULL); Alter table LIBRO Modify (AÑO_EDICION NOT NULL); Alter table LIBRO Modify (No.PAG NOT NULL); Alter table LIBRO Modify (DNI_AUTOR NOT NULL); Alter table AUTOR Modify (DNI NOT NULL); Alter table AUTOR Modify (NOMBRE NOT NULL); Alter table AUTOR Modify (PAIS_ORIGEN NOT NULL); Alter table LIBROS_PRESTADOS Modify (COD_PRESTAMO NOT NULL); Alter table LIBROS_PRESTADOS Modify (COD_LIBRO NOT NULL);

8. RESTRICCIONES UNIQUE Alter table USUARIO add Constraint U_usuarios_nombre Unique (NOMBRE); 9.

RESTRICCIONES CHECK Alter table nombre_tabla add Constraint CK_nombretabla_nombrecolumna Check (condicion);

10. ASIGNACIÓN DE PRIVILEGIOS A USUARIOS. Grant privilegio on Objeto to Usuario; SQL> Grant select on usuario to Ana;


oracle paso a paso