简单影院订票系统数据库设计.docx
《简单影院订票系统数据库设计.docx》由会员分享,可在线阅读,更多相关《简单影院订票系统数据库设计.docx(23页珍藏版)》请在冰豆网上搜索。
简单影院订票系统数据库设计
2.2数据库设计
2.2.1.1功能需求分析
根据调研得出的根本流程为:
实现整个影片管理和订票管理过程中各个信息的录入存储、修改、删除、查寻。
具体包括:
(1)影片信息的录入存储、修改、删除和查询;
(2)会员信息的录入存储、修改、删除、查询;
2.2.1.2数据需求
〔1〕影片信息:
电影名称、导演、演员、电影简介、语言、片场〔分钟〕、放映日期、价格、票数、作为编号〔1-300〕、海报、硬座数量、软座数量、情侣座数量、电影类别
〔2〕座位信息:
座位类别、座位票价、座位编号
〔3〕折扣信息:
折扣类型
〔4〕订票信息:
电影名称、放映日期、放映时间、放映大厅、座位号、票价〔单价〕、折后价格、订票数量、票数总价、折扣类型
〔5〕登记类型:
用户类型、用户名、用户密码、、性别
〔6〕电影类型:
电影类型
〔7〕会员信息:
会员类型、会员折扣、会员、会员、会员联系
〔8〕会员类型:
会员类型
〔9〕放映时间:
放映时间、放映大厅
〔10〕放映大厅:
放映大厅编号
2.2.1.3数据字典
Film〔电影表〕
列名
含义
类型
长度
取值围
FID
影片编号
Int
4
0-32767
FFilmName
电影名称
Nvarchar(20)
20
FDirector
导演
Nvarchar(10)
10
FPlay
演员
Nvarchar(50)
50
FIntro
电影简介
Nvarchar(1000)
1000
FLanguage
语言
Nvarchar(10)
10
FLong
片长〔分钟〕
Int
FDate
放映日期
Nvarchar(50)
50
0-31
FMoney
价格
Int
0-100
FNumber
票数
Int
0-300
FNum
座位编号
Nvarchar(50)
50
0-300
FPhoto
海报
Nvarchar(50)
50
FPew
硬座数量
Nvarchar(10)
10
150
FPew
软座数量
Nvarchar(10)
10
100
FLove
情侣座数量
Nvarchar(10)
10
50
FSortID
电影类别
Int
2
0-99
FTimeID
放映日期
Int
Seat〔座位类别〕
列名
含义
类型
长度
取值围
SEID
主键
Int
1-10
SType
座位的类型
Nvarchar(10)
10
1-10
SMoney
座位票价
Int
2
0-99
SNumber
座位编号
Nvarchar(10)
3
1-100
Agio〔折扣表〕
列名
含义
类型
长度
取值围
AID
折扣类
型编号
Int
AType
折扣类型
Nvarchar(10)
10
ARebate
折扣
Int
Ticket〔订票表〕
列名
含义
类型
长度
取值围
TId
主键
Int
TFName
电影名称
Nvarchar(20)
20
TPhone
Nvarchar〔13〕
13
0-9
TCard
等证件
Nvarchar(50)
50
TDate
放映日期
Nvarchar(50)
50
TTime
放映时间
Nvarchar(50)
50
THall
放映大厅
Nvarchar(10)
10
TNumber
座位号
Int
TTicketPrice
票的单价
Int
TPayMoney
打折后的价格
Int
TCount
订购票的数量
Int
TMoney
票数总价
Int
TAgio
折扣类型
Nvarchar〔20〕
Type〔登录类型表〕
列名
含义
类型
长度
取值围
TID
用户序号
Int
2
1-10
TLgoinType
用户类型
Nvarchar(10)
10
1-10
TLgionId
用户名
Nvarchar(10)
10
50
TLgionPwd
用户密码
Nvarchar(10)
10
0-9
Money〔钱箱表〕
列名
含义
类型
长度
取值围
MSum
售票总额
Int
5
0-31767
FID
影片编号
Int
4
0-32767
Sort〔电影类型〕
列名
含义
类型
长度
取值围
SOID
类型编号
Int
2
0-99
SSort
电影类型
Nvarchar
Member〔会员信息〕
列名
含义
类型
长度
取值围
MID
会员编号
Int
MType
会员类型
Nvachar
MDiscount
折扣
Nvachar
MName
用户
Nvachar
MIDcard
会员号
Nvacharr〔18〕
18
0-9
MPhone
会员的联系
Nvachar〔13〕
13
0-9
Menbertypes〔会员类型〕
列名
含义
类型
长度
取值围
MID
类型编号
Int
MType
会员类型
Nvachar
Time(放映时间〕
列名
含义
类型
长度
取值围
TID
标识列;
Int
TTime
放映时间
Nvachar
HID
放映大厅编号
Int
Hall〔放映大厅〕
列名
含义
类型
长度
取值围
HID
放映大厅编号
Int
HHall
放映大厅
Nvachar10〕
2.2.1.4数据流程图
2.2.1.5数据存储
数据存储名
构成
电影信息表
Film
座位类别
Seat
折扣表
Agio
订票表
Ticket
登录类型表
Types
钱箱表
Money
电影类型
Sort
会员类型
MemberTypes
大厅
Hall
会员信息
Member
放映时间表
Time
2.2.1.6数据流
数据流名称
构成
电影信息表
Film
座位类别
Seat
折扣表
Agio
订票表
Ticket
登录类型表
Types
钱箱表
Money
电影类型
Sort
会员类型
MemberTypes
大厅
Hall
会员信息
Member
放映时间表
Time
2.2.1.7数据处理
数据存储名
含义
P1
录入存储售票员信息
P2
录入存储、删除、更改电影信息
P3
录入存储、删除、修改座位类别信息
P4
录入存储、删除、修改折扣类别
P5
录入存储、查看影票销售信息
P6
录入存储、查看营业额
P7
录入存储、查看影片类别
P8
录入存储、查看会员信息
P9
录入存储、查看会员分类
P10
录入存储、查看放映时间
P11
录入存储、查看放映厅信息
2.2.2数据库概念构造设计
2.2.2.1
E-R图
实体:
管理员、售票员、消费者、影票
2.2.2.2局部试图电影-添加修改-管理员-增删-售票员
2.2.2.3局部视图售票员-出售-电影票-购置-消费者
2.2.2.4局部试图售票员-管理-消费者
2.2.3数据库逻辑构造设计
Film〔FID,FFilmName,FDirector,FPlay,FIntro,FLanguage,FLong,FDate,FMoney,FNumber,FNum,FPhoto,FPew,FPew,FLove,FSortID,FTimeID〕;
Seat〔SEID,SType,SMoney,SNumber〕;
Agio〔AID,AType,ARebate〕
Ticket(TId,TFName,TPhone,TCard,TDate,TTime,THall,TNumber,TTicketPrice,TPayMoney,TCount,TMoney,TAgio);
Type〔TID,TLgoinType,TLgionId,TLgionPwd〕;
Money(MSum,FID);
Sort(SOID,SSort);
Member〔MID,MType,MDiscount,MName,MIDcard,MPhone〕;
Membertypes(MID,MType);
Time〔TID,TTime,HID〕;
Hall(HID,HHall);
Film〔电影表〕
列名
含义
类型
其他
FID
影片编号
Int
主码
FFilmName
电影名称
Nvarchar(20)
FDirector
导演
Nvarchar(10)
FPlay
演员
Nvarchar(50)
FIntro
电影简介
Nvarchar(4000)
FLanguage
语言
Nvarchar(10)
FLong
片长〔分钟〕
varChar(20)
FDate
放映日期
datetime
FMoney
价格
Int
FNumber
票数
Int
FNum
座位编号
int
FSortID
电影类别
varChar(20)
FTimeID
放映日期
Varchar(20)
Seat〔座位类别〕
列名
含义
类型
长度
其他
SEID
座位号
Int
1-10
主码
SType
座位的类型
Nvarchar(10)
10
SMoney
座位票价
Int
2
SNumber
座位编号
Nvarchar(10)
3
Agio〔折扣表〕
列名
含义
类型
长度
其他
AID
折扣类
型编号
Int
主码
AType
折扣类型
Nvarchar(10)
10
ARebate
折扣
Int
Ticket〔订票表〕
列名
含义
类型
长度
其他
TId
影票号
Int
主码
TFName
电影名称
Nvarchar(20)
20
TPhone
Nvarchar〔13〕
13
TCard
等证件
Nvarchar(50)
50
TDate
放映日期
Nvarchar(50)
50
TTime
放映时间
Nvarchar(50)
50
HID
放映大
厅编号
Nvarchar(10)
10
外部码
TNumber
座位号
Int
外部码
TTicketPrice
影票单价
Int
TPayMoney
打折后
的价格
Int
TCount
订购票的数量
Int
TMoney
票数总价
Int
AID
折扣类
型编号
Int
外部码
Type〔登录类型表〕
列名
含义
类型
长度
其他
TID
用户序号
Int
2
主码
TLgoinType
用户类型
Nvarchar(10)
10
TLgionId
用户名
Nvarchar(10)
10
TLgionPwd
用户密码
Nvarchar(10)
10
Money〔钱箱表〕
列名
含义
类型
长度
其他
MSum
售票总额
Int
5
FID
影片编号
Int
4
主码
Sort〔电影类型〕
列名
含义
类型
长度
其他
SOID
类型编号
Int
2
主码
SSort
电影类型
Nvarchar
Member〔会员信息〕
列名
含义
类型
长度
其他
MID1
会员编号
Int
主码
MID2
会员类
型编号
Int
外部码
MDiscount
折扣
Nvachar
MName
用户
Nvachar
MIDcard
会员号
Nvacharr〔18〕
18
MPhone
会员的联系
Nvachar〔13〕
13
Menbertypes〔会员类型〕
列名
含义
类型
长度
其他
MID2
类型编号
Int
主码
MType
会员类型
Nvachar
Time(放映时间〕
列名
含义
类型
长度
其他
TID
标识列;
Int
主码
TTime
放映时间
Nvachar
HID
放映大厅编号
Int
外部码
Hall〔放映大厅〕
列名
含义
类型
长度
其他
HID
放映大厅编号
Int
主码
HHall
放映大厅
Nvachar10〕
2.2.4数据库物理构造设计
CreatedatabaseFilms
OnPrimary
〔
name=Films,
Filename=’E:
\魔方小组工程\魔方小组数据库\Film.mdf’,
Size=3mb,
Maxsize=unlimited,
Filegrowth=1MB
)
Logon
(
name=Film_log,
Filename=’E:
\魔方小组工程\魔方小组数据库\Film_log.mdf’,
Size=5mb,
Maxsize=unlimited,
Filegrowth=10%
)
UseFilms
CreatetableFilm
〔
FIDintnotnullprimarykey,
FfilmNamenvachar(20)notnull,
Fdirectornvarchar(10)notnull,
Fplaynvachar(50)notnull,
FIntronvarchar(40000)nutnull,
Flanguagenvarchar(10)notnull,
Flongintnotnull,
Fdatenvarchar(50)notnull,
Fmoneyintnotnull,
Fnumberintnotnull,
Fnumnvarchar(50)notnull,
Fphotonvarchar(50)null,
FPewnvarchar(10)notnull,
FPewnvarchar(50)notnull,
Flovenvarchar(10)notnull,
FsortIDintnotnullforeignkey,
FtimeIDintnotnullforeign
〕
Go
CreatetableAgio
〔
AIDnvarchar(20)notnullprimarykey,
Atypenvarchar(10)notnull,
Arebateintnotnull
〕
Go
CreatetableMoney
(
Mmoneyintnotnull,
FIDintnullforeignkey
)
Go
CreatetableMember
〔
MIDintnornullprimarykey,
Mtypenvarchar(20)notnull,
Mdiscountintnotnull,
Mnamenvarchar(10)notnull,
MIDcardnvarchar(25)notnull,
Mphonenvarchar(20)notnull
〕
go
CreatetableMembertypes
(
MIDintnotnullprimarykey,
Mtypenvarchar(10)notnull
)
go
CreatetableHall
(
HIDintnotnullprimarykey,
Hhallnchar(10)notnull
)
go
createtableSeat
(
SEIDintnotnullprimarykey,
STypenvarchar(10)notnull,
SMoneyintnotnull,
SNumubernvarchar(10)notnull
)
Go
createtableSort
(
SOIDintnotnullprimarykey,
SSortnvarchar(50)notnull
)
Go
createtableTicket
(
TIDintnotnullprimarykey,
TFNamenvarchar(20)notnull,
TPhonenvarchar(20)null,
TCardnvarchar(50)notnull,
TDatenvarchar(50)notnull,
TTimenvarchar(50)notnull,
THallnvarchar(50)notnull,
TNumberintnull,
TTicketPriceintnotnull,
TPayMoneyintnotnull,
TCountintnotnull,
TMoneyintnotnull,
TAgionvarchar(20)notnull
)
go
createtableTime
(
TIDintnotnullprimarykey,
TTimenvarchar(50)notnull,
ThallIDintnotnullforeignkey
)
go
createtableType
(
TIDintnotnullprimarykey,
TLoginTypenvarchar(10)notnull,
TLoginIDnvarchar(10)notnull,
TLoginPwdnvarchar(10)notnull,
TNamenvarchar(10)notnull,
TSexnchar
(2)notnull
)
2.2.5数据库平安设计