当今社会,人们的日常生活越来越丰富,小型音像租赁店逐渐成长起来,业务量也在不断扩大,传统低效的人工管理已经不合时宜。可以通过 建立一个 易于访问并便于更新的 音像租赁数据库管理系统,实现 随时掌握影碟租赁的情况, 管理顾客, 快速有效地 查询顾客
当今社会,人们的日常生活越来越丰富,小型音像租赁店逐渐成长起来,业务量也在不断扩大,传统低效的人工管理已经不合时宜。可以通过建立一个易于访问并便于更新的音像租赁数据库管理系统,实现随时掌握影碟租赁的情况,管理顾客,快速有效地查询顾客租赁记录和电影出租记录等功能。
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
本文原创发布php中文网,转载请注明出处,感谢您的尊重!