Make your own free website on Tripod.com

PROGRAMA PROFESIONAL DE INGENIERÍA DE SISTEMAS

 

PRÁCTICAS DE BASE DE DATOS

4

MIRELY CATACORA

INTEGRANTES

ALCAZAR SALAS, NOE

DE LA CRUZ HUALPA, TALIA

LAZARTE ARANAGA ARMANDO

MAYSUNDO FERNÁNDEZ, JAMES RICHARD

VALENCIA, DIAZ, ALEJANDRO FRANCISCO

VICENTE MILLA, ROBERTO CARLOS

 

 

 

31/07/2003

AREQUIPA - PERÚ

 

 

 

 

 

 

 

 

INDICE

REQUERIMIENTOS DE LA EMPRESA……………………………………Pág 3

LÓGICA DEL NEGOCIO……………………………………………………..Pág 4

DISEÑO LÓGICO……………………………………………………………..-Erwin

MODELO ENTIDAD- RELACIÓN…………………………………………..Pág 4

NORMALIZACIÓN…………………………………………………………....Pág 5

DISEÑO FISICO……………………………………………………………… Erwin

CREACIÓN DE LA BASE DE DATOS: ………………………………….....Pág 9

CREACIÓN DE USUARIOS DE LA BASE DE DATOS Y PERMISOS.....Pág 9

CREACIÓN DE LA TABLAS, INDICES Y SUS RESTRICCIONES……..Pág 10

LLENADO DE DATO DE PRUEBA DE LAS TABLAS E INDICES ….…Pág 13

DICCIONARIO DE DATOS…………………………………………………..Pág 17

RESTRICCIONES……………………………………………………………..Pág 20

PROCEDIMIENTOS ALMACENADOS…………………………………….Pág 20

COPIAS DE SEGURIDAD……………………………………………………Pág 21

 

 

 

 

 

 

 

 

 

 

 

 

REQUERIMIENTOS DE LA EMPRESA

La tienda de videos Criaturas Místicas requiere de un nuevo sistema para el manejo de su empresa. Esta empresa desea que todos los alquileres de videos tanto como los ingresos, modificaciones, eliminaciones, deben ser automatizados.

Tecnología de Información (HW, SW, BD, TEL, RRHH)

Hardware

Una maquina por cada sucursal con la siguiente configuración:

Un servidor en la tienda principal

Software

BD

 

Recursos Humanos

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Lógica del Negocio

 

DISEÑO LÓGICO

MODELO ENTIDAD- RELACIÓN

 

 

NORMALIZACIÓN

CodCli

ApeCli

DirCli

TelCli

DniCli

CodRen

FecRen

EstRen

FecDev

CodRen

CodVid

PreUni

CodAct

Nomact

ApeAct

NacAct

CodTem

CodDir

NomVid

CanVid

DisVid

NomDir

ApeDir

NacDir

CodTem

DesTem

 

ACTORES POR VIDEO

CodVid

DesTem

CodDir

NomVid

CodAct

NomAct

ApeAct

NacAct

 

 

1RA FORMA NORMAL

 

 

Grupo no Repetitivo

Video

 

Grupo Repetitivo

VideoActor

CodVid PK

DesTem

CodDir

NomVid

 

CodVid PK

CodAct PK

NomAct

ApeAct

NacAct

 

 

 

 

 

 

 

 

2DA FORMA NORMAL

 

 

Video

 

VideoActor

CodVid PK

DesTem

CodDir

NomVid

 

CodVid PK

CodAct PK

NomAct

ApeAct

NacAct

 

 

 

 

 

Actor

CodAct PK

NomAct

ApeAct

NacAct

 

 

 

 

 

 

 

 

 

3RA FORMA NORMAL

 

Video

 

VideoActor

CodVid PK

DesTem

CodDir

NomVid

 

CodVid PK

CodAct PK

 

 

Actor

 

Tema

CodAct PK

NomAct

ApeAct

NacAct

 

CodTem PK

DesTem

 

 

 

RENTA DE VIDEOS

 

CodRen

CodCli

Nomcli

ApeCli

DirCli

TelCli

DniCli

FecRen

EstRen

FecDev

CodVid

NomVid

DesTem

CodDir

NomDir

ApeDir

NacDir

CanVid

DisVid

PreUni

 

1RA FORMA NORMAL

Grupo no Repetitivo

Renta

 

Grupo Repetitivo

DetalleRenta

CodRen PK

CodCli

Nomcli

ApeCli

DirCli

TelCli

DniCli

FecRen

EstRen

FecDev

 

CodRen PK

CodVid PK

NomVid

DesTem

CodDir

NomDir

ApeDir

NacDir

CanVid

DisVid

PreUni

 

 

2DA FORMA NORMAL

 

 

Video

 

DetalleRenta

CodVid PK

Nomvid

DesTem

CodDir

NomDir

ApeDir

NacDir

CanVid

DisVid

 

CodRen PK

CodVid PK

PreUni

Renta

CodRen PK

CodCli

Nomcli

ApeCli

DirCli

TelCli

DniCli

FecRen

EstRen

FecDev

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3RA FORMA NORMAL

 

Renta

 

Cliente

CodRen PK

CodCli

FecRen

EstRen

FecDev

 

 

CodCli

Nomcli

ApeCli

DirCli

TelCli

DniCli

 

DetalleRenta

 

Video

CodRen PK

CodVid PK

PreUni

 

CodVid PK

NomVid

CodTem

CodDir

CanVid

DisVid

 

Tema

 

Director

CodTem PK

DesTem

 

CodDir PK

NomDir

ApeDir

NacDir

 

 

 

 

DISEÑO FÍSICO

CREACIÓN DE LA BASE DE DATOS

C:\svrmgrl

Svrmgrl>connect internal

Crear archivo de base de datos

Svrmgrl>create tablespace cursos datafile’c:\orawin95\database\cursos\cursis.dbf’ size 200m

 

 

CREACIÓN DE USUARIOS DE LA BASE DE DATOS Y

PERMISOS

Conectándose como administrador

SQL> connect

Enter user-name: system

Enter password: *******

 

Creando usuario

create user Noe identified by Noe default tablespace cursos;

Grant connect to Noe;

Grant resource to Noe;

 

Asignandole un password al usuario

SQL> password noe

Changing password for noe

New password: odelay

Retype new password: odelay

 

Conectándome como el usuario creado

SQL> connect

Enter user-name: noe

Enter password: odelay

Connected.

 

 

 

 

 

 

CREACIÓN DE LAS TABLAS , INDICES Y SUS RESTRICCIONES

 

CREATE TABLE Actor (

CodAct INTEGER NOT NULL,

NomAct VARCHAR2(30) NOT NULL,

ApeAct VARCHAR2(30) NOT NULL,

NacAct VARCHAR2(20) NOT NULL

);

CREATE UNIQUE INDEX XPKActor ON Actor

(

CodAct ASC

);

 

ALTER TABLE Actor

ADD ( PRIMARY KEY (CodAct) ) ;

 

CREATE TABLE Cliente (

CodCli SMALLINT NOT NULL,

NomCli VARCHAR2(30) NOT NULL,

ApeCli VARCHAR2(30) NOT NULL,

TelCli INTEGER NULL,

DirCli VARCHAR2(40) NOT NULL,

DniCli CHAR(8) NOT NULL

);

CREATE UNIQUE INDEX XPKCliente ON Cliente

(

CodCli ASC

);

 

ALTER TABLE Cliente

ADD ( PRIMARY KEY (CodCli) ) ;

 

CREATE TABLE DetalleRenta (

CodRen INTEGER NOT NULL,

CodVid INTEGER NOT NULL,

PreUni INTEGER NOT NULL

);

CREATE UNIQUE INDEX XPKDetalleRenta ON DetalleRenta

(

CodRen ASC,

CodVid ASC

);

 

ALTER TABLE DetalleRenta

ADD ( PRIMARY KEY (CodRen, CodVid) ) ;

 

CREATE TABLE Director (

CodDir INTEGER NOT NULL,

NomDir VARCHAR2(30) NOT NULL,

ApeDir VARCHAR2(30) NOT NULL,

NacDir VARCHAR2(20) NOT NULL

);

CREATE UNIQUE INDEX XPKDirector ON Director

(

CodDir ASC

);

 

ALTER TABLE Director

ADD ( PRIMARY KEY (CodDir) ) ;

 

CREATE TABLE Renta (

CodRen INTEGER NOT NULL,

FecRen DATE NOT NULL,

CodCli SMALLINT NOT NULL,

EstRen CHAR(1) NOT NULL,

FecDev DATE NOT NULL

);

CREATE UNIQUE INDEX XPKRenta ON Renta

(

CodRen ASC

);

 

ALTER TABLE Renta

ADD ( PRIMARY KEY (CodRen) ) ;

 

CREATE TABLE Tema (

CodTem INTEGER NOT NULL,

DesTem VARCHAR2(20) NOT NULL

);

CREATE UNIQUE INDEX XPKTema ON Tema

(

CodTem ASC

);

 

ALTER TABLE Tema

ADD ( PRIMARY KEY (CodTem) ) ;

 

CREATE TABLE Video (

CodVid INTEGER NOT NULL,

NomVid VARCHAR2(50) NOT NULL,

CodTem INTEGER NOT NULL,

CodDir INTEGER NOT NULL,

disVid SMALLINT NOT NULL,

CanVid SMALLINT NOT NULL

);

CREATE UNIQUE INDEX XPKVideo ON Video

(

CodVid ASC

);

 

ALTER TABLE Video

ADD ( PRIMARY KEY (CodVid) ) ;

 

CREATE TABLE VIdeoActor (

CodVid INTEGER NOT NULL,

CodAct INTEGER NOT NULL

);

CREATE UNIQUE INDEX XPKVIdeoActor ON VIdeoActor

(

CodVid ASC,

CodAct ASC

);

 

ALTER TABLE VIdeoActor

ADD ( PRIMARY KEY (CodVid, CodAct) ) ;

 

ALTER TABLE DetalleRenta

ADD ( FOREIGN KEY (CodVid)

REFERENCES Video ) ;

 

ALTER TABLE DetalleRenta

ADD ( FOREIGN KEY (CodRen)

REFERENCES Renta ) ;

 

ALTER TABLE Renta

ADD ( FOREIGN KEY (CodCli)

REFERENCES Cliente ) ;

 

ALTER TABLE Video

ADD ( FOREIGN KEY (CodDir)

REFERENCES Director ) ;

 

ALTER TABLE Video

ADD ( FOREIGN KEY (CodTem)

REFERENCES Tema ) ;

 

ALTER TABLE VIdeoActor

ADD ( FOREIGN KEY (CodAct)

REFERENCES Actor ) ;

 

ALTER TABLE VIdeoActor

ADD ( FOREIGN KEY (CodVid)

REFERENCES Video ) ;

 

 

 

 

 

LLENADO DE DATO DE PRUEBA DE LAS TABLAS

 

CLIENTES

insert into cliente (codcli,nomcli,apecli,dircli,telcli,dnicli)values(1,'Armando','Lazarte','Urb Casa Blanca g-5',421397,'41395836');

insert into cliente (codcli,nomcli,apecli,dircli,telcli,dnicli)values(2,'Talia','De la Cruz','Urb Casa Blanca g-6',421398,'41395831');

insert into cliente (codcli,nomcli,apecli,dircli,telcli,dnicli)values(3,'Alejandro','Maldonado','Urb Casa Blanca g-7',421399,'41395832');

insert into cliente (codcli,nomcli,apecli,dircli,telcli,dnicli)values(4,'Diosalina','Salas','Urb Casa Blanca g-8',421393,'41395833');

insert into cliente (codcli,nomcli,apecli,dircli,telcli,dnicli)values(5,'Alejo','De Nuñez','Urb Casa Blanca g-8',421593,'41395831');

 

ACTORES

insert into actor(codact,nomact,apeact,nacact) values (1,'Noe','Alcazar','Arequipeño');

insert into actor(codact,nomact,apeact,nacact) values (2,'Mays','Cruz','Internacional');

insert into actor(codact,nomact,apeact,nacact) values (3,'Roberto','Deniro','Camanejo');

insert into actor(codact,nomact,apeact,nacact) values (4,'Mirely','Catacora','Peruana');

insert into actor(codact,nomact,apeact,nacact) values (5,'Jordan','Banner','USA');

 

TEMA

insert into tema(codtem,destem) values(1,'Comedia');

insert into tema(codtem,destem) values(2,'Drama');

insert into tema(codtem,destem) values(3,'Suspenso');

insert into tema(codtem,destem) values(4,'Accion');

insert into tema(codtem,destem) values(5,'Romantica');

 

 

DIRECTOR

 

insert into director(coddir,nomdir,apedir,nacdir) values (1,'Fernando','Paredes','Arequipeño');

insert into director(coddir,nomdir,apedir,nacdir) values (2,'Feto','Llosa','Deportado');

insert into director(coddir,nomdir,apedir,nacdir) values (3,'Cali','Bonn Apetit','Francia');

insert into director(coddir,nomdir,apedir,nacdir) values (4,'Vince','Vangho','Ruso');

VIDEO

 

insert into video(codvid,codtem,coddir,nomvid,canvid,disvid) values(1,1,2,'No se lo digas a nadie',5,3);

 

insert into video(codvid,codtem,coddir,nomvid,canvid,disvid) values(2,1,2,'No se lo digas a nadie II',2,2);

insert into video(codvid,codtem,coddir,nomvid,canvid,disvid) values(3,3,3,'mi vida',3,3);

 

insert into video(codvid,codtem,coddir,nomvid,canvid,disvid) values(4,3,3,'Mi vida rosa II',5,3);

insert into video(codvid,codtem,coddir,nomvid,canvid,disvid) values(5,4,2,'El increible Hiulk',5,0);

 

 

VIDEOACTOR

 

 

insert into videoActor(codvid,codact) values(1,1);

insert into videoActor(codvid,codact) values(2,2);

insert into videoActor(codvid,codact) values(3,3);

insert into videoActor(codvid,codact) values(4,5);

insert into videoActor(codvid,codact) values(5,5);

 

RENTAVIDEO

insert into renta(codren,codcli,fecren,estren,fecdev) values (1,1,'27-jun-03','A','30-jun-03');

insert into renta(codren,codcli,fecren,estren,fecdev) values (2,2,'27-jun-03','A','30-jun-03');

insert into renta(codren,codcli,fecren,estren,fecdev) values (3,3,'28-jun-03','A','29-jun-03');

insert into renta(codren,codcli,fecren,estren,fecdev) values (4,4,'28-jun-03','A','29-jun-03');

insert into renta(codren,codcli,fecren,estren,fecdev) values (5,5,'27-jun-03','A','1-jul-03');

insert into renta(codren,codcli,fecren,estren,fecdev) values (6,1,'25-jun-03','D','26-jun-03');

insert into renta(codren,codcli,fecren,estren,fecdev) values (7,4,'15-jun-03','D','16-jun-03');

 

DETALLERENTA

insert into detallerenta(codren,codvid,preuni) values(6,1,5);

insert into detallerenta(codren,codvid,preuni) values(6,5,6);

insert into detallerenta(codren,codvid,preuni) values(7,1,5);

insert into detallerenta(codren,codvid,preuni) values(7,3,6);

 

insert into detallerenta(codren,codvid,preuni) values(1,5,6);

insert into detallerenta(codren,codvid,preuni) values(1,1,5);

insert into detallerenta(codren,codvid,preuni) values(2,5,6);

insert into detallerenta(codren,codvid,preuni) values(3,5,6);

insert into detallerenta(codren,codvid,preuni) values(3,1,5);

insert into detallerenta(codren,codvid,preuni) values(3,4,5);

insert into detallerenta(codren,codvid,preuni) values(4,5,6);

insert into detallerenta(codren,codvid,preuni) values(4,1,5);

insert into detallerenta(codren,codvid,preuni) values(5,5,6);

insert into detallerenta(codren,codvid,preuni) values(5,4,5);

DICCIONARIO DE DATOS

DATOS

Entidad

Nemotécnico

Nombre

Descripcion

Tipo

Ancho

Valores

Observaciones

Cliente

CodCli

Codigo de Cliente

Codigo que identifica univocamente

S

PRIMARY KEY

a cada cliente.

IDENTITY

Cliente

NomCli

Nombre deCliente

Nombre del cliente.

V2

30

NOT NULL

Cliente

ApeCli

Apellido de Cliente

Apellidos del cliente.

V2

30

NOT NULL

Cliente

DirCli

Direccion de Cliente

Direccion del cliente.

V2

40

NOT NULL

Cliente

TelCli

Telefono de Cliente

Telefono de contacto del cliente.

I

NULL

Cliente

DniCli

DNI del Cliente

Dni del Cliente.

C

8

NOT NULL

Renta

CodRen

Codigo de Renta

Codigo que identifica univocamente

I

PRIMARY KEY

a cada renta.

IDENTITY

Renta

CodCli

Codigo del Cliente

Codigo del cliente que realizo el

S

NOT NULL

alquiler.

Renta

FecRen

Fecha de Renta

Fecha en que se realizo el alquiler.

D

8

NOT NULL

Renta

EstRen

Estado de la Renta

Estado de la Renta

C

1

A=Alquilado

NOT NULL

D=Devuelto

Renta

FecDev

Fecha de Devolución

Fecha en que se devolvio los videos.

D

8

NOT NULL

Entidad

Nemotécnico

Nombre

Descripcion

Tipo

Ancho

Valores

Observaciones

VideoActor

CodVid

Codigo de Video

Codigo del video.

I

PRIMARY KEY

NOT NULL

VideoActor

CodAct

Codigo de Actor

Codigo del actor.

I

PRIMARY KEY

NOT NULL

DetalleRenta

PreUni

Precio Unitario

Precio unitario del alquiler de la

I

NOT NULL

pelicula.

DetalleRenta

CodRen

Codigo de Renta

Codigo de la renta a la que pertene-

I

PRIMARY KEY

ce el detalle.

NOT NULL

DetalleRenta

CodVid

Codigo de Video

Codigo del video que se esta alqui-

I

PRIMARY KEY

lando.

NOT NULL

Vides

CodVid

Codigo de Video

Codigo que identifica univocamente

I

PRIMARY KEY

a cada video.

IDENTITY

Vides

CodTem

Codigo de Tema

Codigo del tema al que pertenece

I

NOT NULL

el video.

Vides

CodDir

Codigo de Director

Codigo del director que realizo el

I

NOT NULL

film.

Vides

NomVid

Nombre de Video

Nombre del video.

V2

50

NOT NULL

Vides

CanVid

Cantidad de Video

Numero de copias del mismo video

S

NOT NULL

con el que contamos.

Vides

DisVid

Disponible Video

Numero de copias disponibles del

S

NOT NULL

video.

Actor

CodAct

Codigo de Actor

Codigo que identifica univocamente

I

PRIMARY KEY

a cada actor.

IDENTITY

Actor

NomAct

Nombre de Actor

Nombre del actor

V2

30

NOT NULL

Entidad

Nemotécnico

Nombre

Descripcion

Tipo

Ancho

Valores

Observaciones

Actor

ApeAct

Apellido de Actor

Apellido del actor

V2

30

NOT NULL

Actor

NacAct

Lugar de Nacimiento

Lugar de nacimiento del actor (pais).

V2

20

NOT NULL

Tema

CodTem

Codigo de Tema

Codigo que identifica univocamente

I

PRIMARY KEY

a cada tema.

IDENTITY

Tema

DesTem

Descripción de Tema

Descripcion del tema.

V2

20

NOT NULL

Director

CodDir

Codigo de Director

Codigo que identifica univocamente

I

PRIMARY KEY

a cada director.

IDENTITY

Director

NomDir

Nombre de Director

Nombre del director

V2

30

NOT NULL

Director

ApeDir

Apellido de Director

Apellido del director

V2

30

NOT NULL

Director

NacDir

Lugar de Nacimiento

Lugar de nacimiento del director.

V2

20

NOT NULL

 

 

 

 

 

 

 

 

 

 

PROCEDIMIENTOS ALMACENADOS

CONSULTA_DIRECTOR

create or replace procedure consulta_director(

NomDir varchar2(30),

ApeDir varchar2(30),

)

as

begin

select V.CodVid, V.NomVid, V.DisVid from Video V, Director D, where D.CodDir = V and NomDir = D.NomDir and

D.ApeDir = ApeDir

end

 

CONSULTA_ACTOR

create or replace procedure consulta_actor(

NomAct varchar2(30),

ApeAct varchar2(30),

)

as

begin

select V.CodVid, V.NomVid, V.DisVid from Video V, Actor A, VideoActor VA where A.CodAct = VA.CodAct and VA.CodVid = V.CodVid and NomAct = A.NomAct and A.ApeAct = ApeAct

end

CONSULTA_TEMA

create or replace procedure consulta_tema(

DesTem varchar2(20)

)

as

begin

select V.CodVid, V.NomVid, V.DisVid from Video V, Tema T

where T.CodTem = V.CodTem and DesTem = T.DesTem

end

CONSULTA_ALQUILADOS

create or replace procedure consulta_Alquilados(

)

as

begin

select R.CodRen, C.CodCli, C.NomCli, C.ApeCli, C.DniCli,

DR.CodVid, V.NomVid

from Cliente C, Renta R, DetalleRenta DR, Video V

where C.CodCli = R.CodCli and R.CodRen = DR.CodRen

and DR.CodVid = V.CodVid and R.EstRen=΄A`

end

 

 

 

COPIAS DE SEGURIDAD

La base de datos Oracle 8i es altamente seguro, el soporte para conexiones cliente servidor es muy buena, mejor que la del SQL Server, además es una base dee datos relacional extremadamente potente y flexible, pero sin embargo muy compleja.

Es por ello que las copias de seguridad en Oracle 8i casi no se hacen debido a su alta fiabilidad, es decir los datos nunca se pierden.