oracle电影管理系统,基于oracle,SQL,Mysql的影片租赁管理系统数据库设计

当今社会,人们的日常生活越来越丰富,小型音像租赁店逐渐成长起来,业务量也在不断扩大,传统低效的人工管理已经不合时宜。可以通过 建立一个 易于访问并便于更新的 音像租赁数据库管理系统,实现 随时掌握影碟租赁的情况, 管理顾客, 快速有效地 查询顾客

当今社会,人们的日常生活越来越丰富,小型音像租赁店逐渐成长起来,业务量也在不断扩大,传统低效的人工管理已经不合时宜。可以通过建立一个易于访问并便于更新的音像租赁数据库管理系统,实现随时掌握影碟租赁的情况,管理顾客,快速有效地查询顾客租赁记录和电影出租记录等功能。

1 系统需求分析

1.1本系统的业务和任务

音像租赁店承接影碟的租借和归还业务,它的任务是为所有的会员提供优质服务,方便快捷地完成影碟租赁业务。

1.2信息需求

音像租赁店需要掌握其所拥有的所有的电影的信息,包括编号、名字、类型、国家、导演、演员等,可以存储为DVD或者VHS格式,因此每个电影都有其对应的DVD或VHS编号。每部电影会有多个拷贝,并且每部电影至少有一个DVD或者VHS版本。每一个DVD或者VHS都是某一个单独特定的电影的拷贝,即一部电影不会需要多张DVD或者VHS。

还需要跟踪每部电影中的明星演员。顾客希望知道每一个演员的信息,包括演员的艺名、真实的名字和生日等。

音像租赁店需要掌握每一位成为会员的顾客的详细信息,包括他们的名和姓,电话号码和当前住址等。

最重要的是,音像租赁店要跟踪每一个会员的租赁情况,包括该会员当前租赁了什么电影,租借日期和归还日期等。在任何时间,顾客可以租赁多个DVD和磁带。通过了解租赁历史,音像租赁店还能够分析其租赁模式,如可以确定每一个会员租借了多少个DVD/tapes,以及每个会员推迟归还的次数,也能知道每个特定的DVD或者tape被使用的次数,从而确定它什么时候报废,也能分析音像租赁店会员的整体的电影喜好。

1.3本系统的业务规则

音像租赁店店主或管理员可为任何会员提供服务,会员是指加入video club的顾客。店主或管理员能够根据需要输入、保存和查询每张影碟及每位会员的相关信息。

采用Oracle SQL developer data modeler设计,进而生成代码。

由于不能插入图片等内容,先只发布生成的代码。

第一次发布内容,高手见笑了

Oracle SQL Developer Oracle SQLyog MySQL

-- Generated by Oracle SQL Developer Data Modeler 3.0.0.653

-- at: 2012-09-06 12:18:46 CST

-- site: Oracle Database 10g

-- type: Oracle Database 10g

CREATE TABLE actor

(

actor_id INTEGER NOT NULL ,

actor_name VARCHAR2 (20 CHAR) NOT NULL ,

actor_first_name VARCHAR2 (20 CHAR) NOT NULL ,

actor_last_name VARCHAR2 (20 CHAR) NOT NULL ,

actor_birthday DATE

)

;

ALTER TABLE actor

ADD CONSTRAINT actor_PK PRIMARY KEY ( actor_id ) ;

CREATE TABLE actorlist

(

actorlist_datetime DATE NOT NULL ,

actor_actor_id INTEGER NOT NULL ,

cinema_cinema_is INTEGER NOT NULL

)

;

CREATE TABLE cinema

(

cinema_is INTEGER NOT NULL ,

cinema_name VARCHAR2 (10 CHAR) NOT NULL ,

cinema_type VARCHAR2 (10 CHAR) NOT NULL ,

cinema_country VARCHAR2 (20 CHAR) NOT NULL ,

type_type_id INTEGER NOT NULL

)

;

ALTER TABLE cinema

ADD CONSTRAINT cinema_PK PRIMARY KEY ( cinema_is ) ;

CREATE TABLE customer

(

customer_id INTEGER NOT NULL ,

customer_first_name VARCHAR2 (20 CHAR) NOT NULL ,

customer_last_name VARCHAR2 (20 CHAR) NOT NULL ,

customer_phone_number VARCHAR2 (20 CHAR) NOT NULL ,

customer_address VARCHAR2 (40 CHAR) NOT NULL

)

;

ALTER TABLE customer

ADD CONSTRAINT customer_PK PRIMARY KEY ( customer_id ) ;

CREATE TABLE rental

(

rental_datetime DATE NOT NULL ,

return_datetime DATE ,

customer_customer_id INTEGER NOT NULL ,

video_video_id INTEGER NOT NULL

)

;

ALTER TABLE rental

ADD CONSTRAINT rental_PK PRIMARY KEY ( rental_datetime ) ;

CREATE TABLE type

(

type_id INTEGER NOT NULL ,

type_description VARCHAR2 (40 CHAR)

)

;

ALTER TABLE type

ADD CONSTRAINT type_PK PRIMARY KEY ( type_id ) ;

CREATE TABLE video

(

video_id INTEGER NOT NULL ,

video_format VARCHAR2 (10 CHAR) NOT NULL ,

video_deadline DATE NOT NULL ,

cinema_cinema_is INTEGER NOT NULL

)

;

ALTER TABLE video

ADD CONSTRAINT video_PK PRIMARY KEY ( video_id ) ;

ALTER TABLE actorlist

ADD CONSTRAINT actorlist_actor_FK FOREIGN KEY

(

actor_actor_id

)

REFERENCES actor

(

actor_id

)

;

ALTER TABLE actorlist

ADD CONSTRAINT actorlist_cinema_FK FOREIGN KEY

(

cinema_cinema_is

)

REFERENCES cinema

(

cinema_is

)

;

ALTER TABLE cinema

ADD CONSTRAINT cinema_type_FK FOREIGN KEY

(

type_type_id

)

REFERENCES type

(

type_id

)

;

ALTER TABLE rental

ADD CONSTRAINT rental_customer_FK FOREIGN KEY

(

customer_customer_id

)

REFERENCES customer

(

customer_id

)

;

ALTER TABLE rental

ADD CONSTRAINT rental_video_FK FOREIGN KEY

(

video_video_id

)

REFERENCES video

(

video_id

)

;

ALTER TABLE video

ADD CONSTRAINT video_cinema_FK FOREIGN KEY

(

cinema_cinema_is

)

REFERENCES cinema

(

cinema_is

)

;

-- Oracle SQL Developer Data Modeler Summary Report:

--

-- CREATE TABLE 7

-- CREATE INDEX 0

-- ALTER TABLE 12

-- CREATE VIEW 0

-- CREATE PACKAGE 0

-- CREATE PACKAGE BODY 0

-- CREATE PROCEDURE 0

-- CREATE FUNCTION 0

-- CREATE TRIGGER 0

-- CREATE STRUCTURED TYPE 0

-- CREATE COLLECTION TYPE 0

-- CREATE CLUSTER 0

-- CREATE CONTEXT 0

-- CREATE DATABASE 0

-- CREATE DIMENSION 0

-- CREATE DIRECTORY 0

-- CREATE DISK GROUP 0

-- CREATE ROLE 0

-- CREATE ROLLBACK SEGMENT 0

-- CREATE SEQUENCE 0

-- CREATE MATERIALIZED VIEW 0

-- CREATE SYNONYM 0

-- CREATE TABLESPACE 0

-- CREATE USER 0

--

-- DROP TABLESPACE 0

-- DROP DATABASE 0

--

-- ERRORS 0

-- WARNINGS 0

5a936b51e352556db6222593922f6db7.png

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Connect scott/****@myoracle AS SYSDBA create USER goupiaoXT IDENTIFIED BY passward DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP; grant connect to goupiaoXT; grant resource to goupiaoXT; connect goupiaoXT/passward; CREATE TABLE YINGPIAN ( YPID NUMBER NOT NULL Primary Key, YPNAME VARCHAR(50) ); CREATE TABLE YINGTING ( YTID NUMBER NOT NULL Primary Key, YTNAME VARCHAR(8), HANG NUMBER, LIE NUMBER ); CREATE TABLE HUIYUAN ( HYID NUMBER NOT NULL Primary Key, HYNAME VARCHAR(8), JINE VARCHAR(15), PASSWORD VARCHAR(20) ); CREATE TABLE PIAO ( PID NUMBER NOT NULL Primary Key, LEIXING VARCHAR(8), PRICE VARCHAR(4) ); CREATE TABLE FANGYING ( FYID NUMBER NOT NULL, YPIDO NUMBER NOT NULL REFERENCES YINGPIAN(YPID), YTIDO NUMBER NOT NULL REFERENCES YINGTING(YTID), FYDATE DATE NOT NULL, FYTIME DATE NOT NULL, Primary Key(FYID) ); CREATE TABLE ZWYD ( ZWYDID NUMBER NOT NULL PRIMARY KEY, FYIDO NUMBER NOT NULL REFERENCES FANGYING (FYID), ZWZHT VARCHAR(20) , HYIDO NUMBER REFERENCES HUIYUAN (HYID), PIDO NUMBER REFERENCES PIAO (PID), HANG NUMBER, LIE NUMBER, ZT NUMBER ); create sequence seqZWYDId increment by 1 start with 1 cache 10 ; create or replace trigger ZWYDTRI after insert on FANGYING for each row declare TMPHANG NUMBER; TMPLIE NUMBER; i NUMBER :=1; j NUMBER :=1; begin select HANG,LIE into TMPHANG,TMPLIE from YINGTING where YTID =:NEW.YTIDO; for i in 1..TMPHANG loop for j in 1..TMPLIE loop insert into ZWYD(ZWYDID,FYIDO,HANG,LIE,ZT) values(seqZWYDId.nextval,:new.FYID,i,j,0); end loop; end loop; end ZWYDTRI; / insert into HUIYUAN values(2004322888,'123456','500'); insert into HUIYUAN values(2004322889,'123456','400'); insert into HUIYUAN values(2004322898,'123456','300'); insert into YINGTING values(100,'大厅',10,10); insert into YINGTING values(101,'一号厅',4,5); insert into YINGTING values(102,'二号厅',6,8); insert into YINGPIAN values(10001,'《梅兰芳》'); insert into YINGPIAN values(10002,'《拯救飓风》'); insert into YINGPIAN values(10003,'《画皮》'); insert into HUIYUAN values(1,'he','2000','123456'); insert into HUIYUAN values(2,'lei','50','12345'); insert into HUIYUAN values(3,'helei','405','1234567'); insert into PIAO values(0,'普通票','65'); insert into PIAO values(1,'团体票','35'); insert into PIAO values(2,'学生票','30'); insert into FANGYING values(100001,10001,100,to_date('08-10-10','yy-mm-dd'),to_date('08-10-10 8:20','yy-mm-dd hh24:mi')); insert into FANGYING values(100002,10001,101,to_date('08-10-10','yy-mm-dd'),to_date('08-10-12 9:20','yy-mm-dd hh24:mi')); insert into FANGYING values(100003,10001,102,to_date('08-10-12','yy-mm-dd'),to_date('08-10-13 12:20','yy-mm-dd hh24:mi')); insert into FANGYING values(100004,10001,101,to_date('08-10-12','yy-mm-dd'),to_date('08-10-12 6:20','yy-mm-dd hh24:mi')); insert into FANGYING values(100005,10002,102,to_date('08-10-13','yy-mm-dd'),to_date('08-10-13 20:20','yy-mm-dd hh24:mi')); insert into FANGYING values(100006,10003,101,to_date('08-10-12','yy-mm-dd'),to_date('08-10-12 9:20','yy-mm-dd hh24:mi'));

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值