Les dejo la guia que preparé para crear el esquema lib, que será utilizado en la capacitación en Oracle 11g que se está realizando en la Comunidad Oracle Hispana,

http://rapidshare.com/files/455875490/Guia_de_Creacion_del_esquema_lib_-_COH.rar

Estos son los script que preparamos con Fernando Garcia:

lib_ppal.sql

prompt …Creando esquema lib
drop user lib cascade
/
create user lib identified by lib
default tablespace users
temporary tablespace temp
/
grant CREATE VIEW to lib
/
grant UNLIMITED TABLESPACE to lib
/
grant CREATE DATABASE LINK to lib
/
grant CREATE SEQUENCE to lib
/
grant CREATE SESSION to lib
/
grant ALTER SESSION to lib
/
grant CREATE SYNONYM to lib
/
grant CREATE TABLE to lib
/
conn lib/lib
@@lib_cre.sql
@@lib_popul.sql
exit



lib_cre.sql

prompt …Creando tablas

CREATE TABLE Autores
(
Aut_ID NUMBER (8),
Aut_Nombre VARCHAR2 (30) NOT NULL,
Aut_Inicial_Medio VARCHAR2 (1),
Aut_Apellido VARCHAR2 (30) NOT NULL,
Aut_Fecha_Nac DATE,
Aut_Genero VARCHAR2 (1) NOT NULL,
Aut_Contacto VARCHAR2 (30),
Aut_Otros_Detalles VARCHAR2 (200)
) ;

CREATE TABLE Clientes
(
Cli_ID NUMBER (8),
Cli_Nombre VARCHAR2 (30) NOT NULL,
Cli_Direccion VARCHAR2 (40) NOT NULL,
Cli_Telefono VARCHAR2 (15),
Cli_Email VARCHAR2 (30)
) ;

CREATE TABLE Categorias_Libros
(
Cat_ID number(8),
Cat_Descripcion varchar2(60) NOT NULL
) ;

CREATE TABLE Libros
(
Lib_ID NUMBER (8),
Lib_Aut_ID NUMBER (8) NOT NULL,
Lib_Cat_ID NUMBER (8) NOT NULL,
Lib_ISBN VARCHAR2 (15) NOT NULL,
Lib_Fecha_Publicacion DATE,
Lib_Fecha_Adquirido DATE,
Lib_Titulo_Obra VARCHAR2 (100) NOT NULL,
Lib_Precio_Recomendado NUMBER (8,2) NOT NULL,
Lib_Comentario VARCHAR2 (200)
) ;

CREATE TABLE Pedidos
(
Ped_ID NUMBER (8),
Ped_Cli_ID NUMBER (8) NOT NULL,
Ped_Fecha_Pedido DATE NOT NULL,
Ped_Monto_Pedido NUMBER (8,2) NOT NULL
) ;

CREATE TABLE Detalle_Pedidos
(
Det_ID NUMBER (8),
Det_Ped_ID NUMBER (8) NOT NULL,
Det_Lib_ID NUMBER (8) NOT NULL,
Det_Precio_Acordado NUMBER (8,2) NOT NULL,
Det_Comentario VARCHAR2 (200)
) ;

prompt …Creando las PK
 
alter table autores add constraint aut_id_pk primary key (aut_id);
alter table clientes add constraint cli_id_pk primary key (cli_id);
alter table pedidos add constraint ped_id_pk primary key (ped_id);
alter table categorias_libros add constraint cat_id_pk primary key (cat_id);
alter table libros add constraint lib_id_pk primary key (lib_id);
alter table detalle_pedidos add constraint det_id_pk primary key (det_id);
 
prompt …Creando las FK

alter table libros add CONSTRAINT Lib_Aut_fk FOREIGN KEY (Lib_Aut_ID) REFERENCES autores (Aut_ID);
alter table libros add CONSTRAINT Lib_Cat_fk FOREIGN KEY (Lib_Cat_ID) REFERENCES categorias_libros (Cat_ID);
alter table pedidos add CONSTRAINT Ped_Cli_fk FOREIGN KEY (Ped_Cli_ID) REFERENCES clientes (Cli_ID);
alter table detalle_pedidos add CONSTRAINT Det_Ped_fk FOREIGN KEY (Det_Ped_ID) REFERENCES pedidos (Ped_ID);
alter table detalle_pedidos add CONSTRAINT Det_Lib_fk FOREIGN KEY (Det_Lib_ID) REFERENCES libros (Lib_ID);

prompt …Creando los Indices

CREATE INDEX ISBN_idx1 ON Libros (Lib_ISBN);

lib_popul.sql

(Solo dejo ejemplo del script)

REM INSERTING into CATEGORIAS_LIBROS
Insert into CATEGORIAS_LIBROS (CAT_ID,CAT_DESCRIPCION) values (1,’Universal’);
Insert into CATEGORIAS_LIBROS (CAT_ID,CAT_DESCRIPCION) values (2,’Terror’);

REM INSERTING into AUTORES
Insert into AUTORES (AUT_ID,AUT_NOMBRE,AUT_INICIAL_MEDIO,AUT_APELLIDO,AUT_FECHA_NAC,AUT_GENERO,AUT_CONTACTO,AUT_OTROS_DETALLES) values (1,’Louisa’,’M’,’Alcott’,null,’F’,’null’,’null’);
Insert into AUTORES (AUT_ID,AUT_NOMBRE,AUT_INICIAL_MEDIO,AUT_APELLIDO,AUT_FECHA_NAC,AUT_GENERO,AUT_CONTACTO,AUT_OTROS_DETALLES) values (2,’Isabel’,null,’Allende’,null,’F’,’null’,’null’);

REM INSERTING into CLIENTES
Insert into CLIENTES (CLI_ID,CLI_NOMBRE,CLI_DIRECCION,CLI_TELEFONO,CLI_EMAIL) values (1,’Gonzalez Edgardo’,’Incas 2331′,’2449735′,’egonzalez@yaju.com’);
Insert into CLIENTES (CLI_ID,CLI_NOMBRE,CLI_DIRECCION,CLI_TELEFONO,CLI_EMAIL) values (2,’Muñoz Edith’,’Aztecas 6753′,’8752055′,’emunoz@jotmail.com’);

REM INSERTING into LIBROS
Insert into LIBROS (LIB_ID,LIB_AUT_ID,LIB_CAT_ID,LIB_ISBN,LIB_FECHA_PUBLICACION,LIB_FECHA_ADQUIRIDO,LIB_TITULO_OBRA,LIB_PRECIO_RECOMENDADO,LIB_COMENTARIO) values (1,1,7,’950-08-1521-4′,to_timestamp(’01-JAN-03 12.00.00.000000000 AM’,’DD-MON-RR HH.MI.SS.FF AM’),to_timestamp(’23-NOV-06 12.00.00.000000000 AM’,’DD-MON-RR HH.MI.SS.FF AM’),’Mujercitas’,24.2,’Null’);
Insert into LIBROS (LIB_ID,LIB_AUT_ID,LIB_CAT_ID,LIB_ISBN,LIB_FECHA_PUBLICACION,LIB_FECHA_ADQUIRIDO,LIB_TITULO_OBRA,LIB_PRECIO_RECOMENDADO,LIB_COMENTARIO) values (2,2,7,’9789871138906′,to_timestamp(’02-APR-07 12.00.00.000000000 AM’,’DD-MON-RR HH.MI.SS.FF AM’),to_timestamp(’11-APR-07 12.00.00.000000000 AM’,’DD-MON-RR HH.MI.SS.FF AM’),’Casa de los espíritus’,34.5,’Null’);

REM INSERTING into PEDIDOS
Insert into PEDIDOS (PED_ID,PED_CLI_ID,PED_FECHA_PEDIDO,PED_MONTO_PEDIDO) values (1,1,to_timestamp(’11-FEB-11 12.00.00.000000000 AM’,’DD-MON-RR HH.MI.SS.FF AM’),0);
Insert into PEDIDOS (PED_ID,PED_CLI_ID,PED_FECHA_PEDIDO,PED_MONTO_PEDIDO) values (2,3,to_timestamp(’11-FEB-11 12.00.00.000000000 AM’,’DD-MON-RR HH.MI.SS.FF AM’),0);

REM INSERTING into DETALLE_PEDIDOS
Insert into DETALLE_PEDIDOS (DET_ID,DET_PED_ID,DET_LIB_ID,DET_PRECIO_ACORDADO,DET_COMENTARIO) values (1,1,115,34.6,’Null’);
Insert into DETALLE_PEDIDOS (DET_ID,DET_PED_ID,DET_LIB_ID,DET_PRECIO_ACORDADO,DET_COMENTARIO) values (2,2,14,32,’Null’);

Les dejo el link para bajar los 3 scritps:

http://rapidshare.com/files/455875492/myscripts.rar

Cualquier consulta la pueden hacer a través de los foros de la Comunidad.

Licencia Creative Commons
Crear un esquema de libreria para practicas de consultas SQL por Clarisa Maman Orfali – Fernando Garcia se encuentra bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivadas 3.0 Unported.