欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

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

程序员文章站 2022-04-06 16:53:11
...

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

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

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
基于oracle,SQL,Mysql的影片租赁管理系统数据库设计