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

原创
2016-06-07 14:56:331972浏览

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

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

1 系统需求分析

1.1本系统的业务和任务

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

1.2信息需求

音像租赁店需要掌握其所拥有的所有的电影的信息,包括编号、名字、类型、国家导演、演员等,可以存储为DVD或者VHS格式,因此每个电影都有其对应的DVDVHS编号。每部电影会有多个拷贝,并且每部电影至少有一个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

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。