Vous êtes sur la page 1sur 5

Facultad de Ingeniera Industrial y Sistemas

Curso de Base de Datos

Gua de Laboratorio
Semana 2:
Modelo de Base de Datos Relacional

Ing. Mario Traverzo Vila


Lima - 2008

Curso
BASE DE DATOS

OBJETIVOS

Gua de Laboratorio
Semana 2:
Modelo de Base de Datos Relacional

Conexin al SGBDR
Manejo de la Consola SQL
Creacin de Tablas
Creacin de claves primarias

ENUNCIADO PRACTICA

Se usa como servidor de Base de Datos a Oracle 10g XE (Express Edition).


Se implementara una Base de Datos Ventas con las siguientes tablas:

Agregar las claves correspondientes e insertar datos de prueba:

Ing. Mario Traverzo Vila

Lima, 2008

Versin 1.1

2 de 5

Curso
BASE DE DATOS

3
3.1

Gua de Laboratorio
Semana 2:
Modelo de Base de Datos Relacional

SOLUCION
Conectarse a la SGBDR Oracle 10g XE

a. Desde la consola de comandos ejecutar:


sqlplus /nolog
b. Desde la consola de comandos sql para oracle conectarse a la base de datos e
indicar el usuario y password:
Connect

3.2

Manejo de la Consola SQL

a. Escriba el comando en una o varias lneas y para ejecutar escriba ; y luego salto de
Lnea.
b. La consola tiene un buffer en memoria de todas las lneas ejecutadas puede usar las
teclas direccionales para navegar por estas.
c. Si tiene ya scripts SQL creados puede ejecutarlos copiando y pegando estos.

3.3

Creacin de Tablas

Todo el SQL se divide en tres grandes grupos:


DDL: create/drop/alter
DCL: grant/revoke/deny
DML: select/insert/update/delete
create table sucursal(
suc_id int not null,
suc_nombre varchar(50) not null
);
create table empleado(
emp_id int not null,
emp_nombre varchar(50) not null,
emp_login varchar(50) not null,
emp_clave varchar(50) default 123456 not null,
suc_id int not null
);
create table cliente(
cli_ruc char(11) not null,
cli_nombre varchar(50) not null,
cli_direccion varchar(50)
);
create table producto(
pro_id int not null,
pro_nombre varchar(50) not null,
pro_unimedida varchar(10) default 'unidad' not null,
pro_precio decimal(10,2) not null
);
create table venta(
suc_id int not null,
ven_tipo char(1) not null,
ven_nro int not null,
ven_fecha date not null,
cli_ruc char(11) not null,
emp_id int

Ing. Mario Traverzo Vila

Lima, 2008

Versin 1.1

3 de 5

Curso
BASE DE DATOS

Gua de Laboratorio
Semana 2:
Modelo de Base de Datos Relacional

);
create table detalleventa(
suc_id int not null,
ven_tipo char(1) not null,
ven_nro int not null,
pro_id int not null,
det_cantidad int default 1 not null,
det_precio decimal(10,2) not null
);

3.4

Creacin de Claves: Primarias / Candidatas / Foraneas


alter table sucursal add (
constraint pk_suc_id primary key (suc_id),
constraint un_suc_nombre unique (suc_nombre)
);
alter table empleado add (
constraint pk_emp_id primary key (emp_id),
constraint un_emp_nombre unique (emp_nombre),
constraint fk_suc_id foreign key (suc_id) references sucursal(suc_id)
);
alter table cliente add (
constraint pk_cli_ruc primary key (cli_ruc),
constraint un_cli_nombre unique (cli_nombre)
);
alter table producto add (
constraint pk_pro_id primary key (pro_id),
constraint un_pro_nombre unique (pro_nombre)
);

alter table venta add (


constraint
pk_suc_id_ven_tipo_ven_nro
primary
key
(suc_id,ven_tipo,ven_nro),
constraint
fk_cli_ruc
foreign
key
(cli_ruc)
references
cliente(cli_ruc),
constraint fk_emp_id foreign key (emp_id) references empleado(emp_id)
);
alter table detalleventa add (
constraint
pk_sucid_ventipo_vennro_proid
primary
key
(suc_id,ven_tipo,ven_nro,pro_id),
constraint
fk_sucid_ventipo_vennro
foreign
key
(suc_id,ven_tipo,ven_nro) references venta(suc_id,ven_tipo,ven_nro) ,
constraint fk_pro_id foreign key (pro_id) references producto(pro_id)
);
3.5

Diccionario de Datos
describe
describe
describe
describe

Ing. Mario Traverzo Vila

sucursal;
empleado;
cliente;
producto;

Lima, 2008

Versin 1.1

4 de 5

Curso
BASE DE DATOS

3.6

Gua de Laboratorio
Semana 2:
Modelo de Base de Datos Relacional

Insercin de datos
insert into sucursal values(0,'Sede Central Lima');
insert into sucursal values(1,'Sucursal 01 Huancayo');
insert into sucursal values(2,'Sucursal 02 Arequipa');
insert
insert
insert
insert
insert

into
into
into
into
into

empleado
empleado
empleado
empleado
empleado

values(1,'Pedro Garcia','central','123456',0);
values(2,'Juan Perez','sucursal1','123456',1);
values(3,'Ana Guerrero','sucursal2','123456',2);
values(4,'Marco Meza','mmeza','123456',1);
values(5,'Sonia Llanos','sllanos','123456',2);

insert into cliente values('99999999999','ANONIMO','S/N');


insert
insert
insert
insert
insert
insert
insert
insert
insert

3.7

into
into
into
into
into
into
into
into
into

producto
producto
producto
producto
producto
producto
producto
producto
producto

values(1,'Disco Duro Seagen','unidad',400.50);


values(2,'Memoria Kingston 1G','unidad',300.70);
values(3,'DVDs Sony','PackX12',17.50);
values(4,'Tinta HP','Fr.1Lt',50.00);
values(5,'Protector Pantalla','unidad',70);
values(6,'Mouse Optico','unidad',30);
values(7,'Teclado Ergonomico','unidad',200);
values(8,'Tinta Impresora','Litro',20.0);
values(9,'MainBoard Intel 8877','unidad',550.5);

Consulta de datos
select
select
select
select

*
*
*
*

Ing. Mario Traverzo Vila

from
from
from
from

sucursal;
empleado;
cliente;
producto;

Lima, 2008

Versin 1.1

5 de 5

Vous aimerez peut-être aussi