1、2.2数据库设计 2.2.1.1功能需求分析 根据调研得出的基本流程为:实现整个影片管理和订票管理过程中各个信息的录入存储、修改、删除、查寻。具体包括:(1) 影片信息的录入存储、修改、删除和查询;(2) 会员信息的录入存储、修改、删除、查询;2.2.1.2数据需求 (1)影片信息:电影名称、导演、演员、电影简介、语言、片场(分钟)、放映日期、价格、票数、作为编号(1-300)、海报、硬座数量、软座数量、情侣座数量、电影类别(2)座位信息:座位类别、座位票价、座位编号(3)折扣信息:折扣类型(4)订票信息:电影名称、放映日期、放映时间、放映大厅、座位号、票价(单价)、折后价格、订票数量、票数总
2、价、折扣类型(5)登记类型:用户类型、用户名、用户密码、姓名、性别(6)电影类型:电影类型(7)会员信息:会员类型、会员折扣、会员姓名、会员身份证号码、会员联系电话(8)会员类型:会员类型(9)放映时间:放映时间、放映大厅(10)放映大厅:放映大厅编号2.2.1.3数据字典Film(电影表)列名含义类型长度取值范围FID影片编号Int 40-32767FFilmName电影名称Nvarchar(20)20FDirector导演Nvarchar(10)10 FPlay演员Nvarchar(50)50FIntro电影简介Nvarchar(1000)1000FLanguage语言Nvarchar(1
3、0)10FLong片长(分钟)IntFDate放映日期Nvarchar(50)500-31FMoney价格Int0-100FNumber票数Int0-300FNum座位编号Nvarchar(50)500-300FPhoto海报Nvarchar(50)50FPew硬座数量Nvarchar(10)10150FComPew软座数量Nvarchar(10)10100FLove情侣座数量Nvarchar(10)1050FSortID电影类别Int20-99FTimeID放映日期IntSeat(座位类别)列名含义类型长度取值范围SEID主键Int1-10SType座位的类型Nvarchar(10)101-
4、10SMoney座位票价Int20-99SNumber座位编号Nvarchar(10)31-100Agio(折扣表)列名含义类型长度取值范围AID折扣类型编号IntAType折扣类型Nvarchar(10)10ARebate折扣IntTicket(订票表)列名含义类型长度取值范围TId主键IntTFName电影名称Nvarchar(20)20TPhone电话Nvarchar(13)130-9TCard身份证等证件Nvarchar(50)50TDate放映日期Nvarchar(50)50TTime放映时间Nvarchar(50)50THall放映大厅Nvarchar(10)10TNumber座位
5、号Int TTicketPrice票的单价IntTPayMoney打折后的价格IntTCount订购票的数量IntTMoney票数总价IntTAgio折扣类型Nvarchar(20)Type(登录类型表)列名含义类型长度取值范围TID用户序号Int21-10TLgoinType用户类型Nvarchar(10)101-10TLgionId用户名Nvarchar(10)1050TLgionPwd用户密码Nvarchar(10)100-9Money(钱箱表)列名含义类型长度取值范围MSum售票总额Int50-31767FID影片编号Int40-32767Sort(电影类型)列名含义类型长度取值范围S
6、OID类型编号Int20-99SSort电影类型NvarcharMember(会员信息)列名含义类型长度取值范围MID会员编号IntMType会员类型NvacharMDiscount折扣NvacharMName用户姓名NvacharMID card会员身份证号Nvacharr(18)180-9MPhone会员的联系电话Nvachar(13)130-9Menbertypes(会员类型)列名含义类型长度取值范围MID类型编号IntMType会员类型NvacharTime(放映时间)列名含义类型长度取值范围TID标识列;IntTTime放映时间NvacharHID放映大厅编号IntHall(放映大厅
7、)列名含义类型长度取值范围HID放映大厅编号IntHHall放映大厅Nvachar10)2.2.1.4数据流程图2.2.1.5数据存储数据存储名构成电影信息表Film座位类别Seat折扣表Agio订票表Ticket登录类型表Types钱箱表Money电影类型Sort会员类型MemberTypes大厅Hall会员信息Member放映时间表 Time2.2.1.6数据流数据流名称构成电影信息表Film座位类别Seat折扣表Agio订票表Ticket登录类型表Types钱箱表Money电影类型Sort会员类型MemberTypes大厅Hall会员信息Member放映时间表 Time2.2.1.7数据
8、处理数据存储名含义P1录入存储售票员信息P2录入存储、删除、更改电影信息P3录入存储、删除、修改座位类别信息P4录入存储、删除、修改折扣类别P5录入存储、查看影票销售信息P6录入存储、查看营业额P7录入存储、查看影片类别P8录入存储、查看会员信息P9录入存储、查看会员分类P10录入存储、查看放映时间P11录入存储、查看放映厅信息2.2.2数据库概念结构设计2.2.2.1E-R图 实体:管理员、售票员、消费者、影票2.2.2.2局部试图 电影-添加修改-管理员-增删-售票员2.2.2.3局部视图 售票员-出售-电影票-购买-消费者2.2.24局部试图 售票员-管理-消费者2.2.3数据库逻辑结构
9、设计Film(FID,FFilmName,FDirector,FPlay,FIntro,FLanguage,FLong,FDate,FMoney,FNumber,FNum,FPhoto,FPew ,FComPew,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,TLgoi
10、nType,TLgionId,TLgionPwd);Money (MSum,FID);Sort(SOID,SSort);Member(MID,MType,MDiscount,MName,MID card,MPhone);Membertypes (MID,MType);Time(TID,TTime,HID);Hall(HID,HHall);Film(电影表)列名含义类型长度其他FID影片编号Int 4主码FFilmName电影名称Nvarchar(20)20FDirector导演Nvarchar(10)10 FPlay演员Nvarchar(50)50FIntro电影简介Nvarchar(1000
11、)1000FLanguage语言Nvarchar(10)10FLong片长(分钟)IntFDate放映日期Nvarchar(50)50FMoney价格IntFNumber票数IntFNum座位编号Nvarchar(50)50FPhoto海报Nvarchar(50)50FPew硬座数量Nvarchar(10)10FComPew软座数量Nvarchar(10)10FLove情侣座数量Nvarchar(10)10FSortID电影类别Int2FTimeID放映日期IntSeat(座位类别)列名含义类型长度其他SEID座位号Int1-10主码SType座位的类型Nvarchar(10)10SMoney
12、座位票价Int2SNumber座位编号Nvarchar(10)3Agio(折扣表)列名含义类型长度其他AID折扣类型编号Int主码AType折扣类型Nvarchar(10)10ARebate折扣IntTicket(订票表)列名含义类型长度其他TId影票号Int主码TFName电影名称Nvarchar(20)20TPhone电话Nvarchar(13)13TCard身份证等证件Nvarchar(50)50TDate放映日期Nvarchar(50)50TTime放映时间Nvarchar(50)50HID放映大厅编号Nvarchar(10)10外部码TNumber座位号Int 外部码TTicketP
13、rice影票单价IntTPayMoney打折后的价格IntTCount订购票的数量IntTMoney票数总价IntAID折扣类型编号Int外部码Type(登录类型表)列名含义类型长度其他TID用户序号Int2主码TLgoinType用户类型Nvarchar(10)10TLgionId用户名Nvarchar(10)10TLgionPwd用户密码Nvarchar(10)10Money(钱箱表)列名含义类型长度其他MSum售票总额Int5FID影片编号Int4主码Sort(电影类型)列名含义类型长度其他SOID类型编号Int2主码SSort电影类型NvarcharMember(会员信息)列名含义类型
14、长度其他MID1会员编号Int主码MID2会员类型编号Int外部码MDiscount折扣NvacharMName用户姓名NvacharMID card会员身份证号Nvacharr(18)18MPhone会员的联系电话Nvachar(13)13Menbertypes(会员类型)列名含义类型长度其他MID2类型编号Int主码MType会员类型NvacharTime(放映时间)列名含义类型长度其他TID标识列;Int主码TTime放映时间NvacharHID放映大厅编号Int外部码Hall(放映大厅)列名含义类型长度其他HID放映大厅编号Int主码HHall放映大厅Nvachar10)2.2.4数据
15、库物理结构设计Create database FilmsOn Primary(name=Films,Filename=E:魔方小组项目魔方小组数据库Film.mdf,Size=3mb,Maxsize=unlimited,Filegrowth=1MB)Log on(name=Film_log,Filename= E:魔方小组项目魔方小组数据库Film_log.mdf,Size=5mb,Maxsize=unlimited,Filegrowth=10%)Use FilmsCreate table Film(FID int not null primary key,FfilmName nvachar(
16、20) notnull,Fdirector nvarchar(10) not null,Fplay nvachar(50) not null,FIntro nvarchar(40000) nut null,Flanguage nvarchar(10) not null,Flong int not null,Fdate nvarchar(50) not null,Fmoney int not null,Fnumber int not null,Fnum nvarchar(50) not null,Fphoto nvarchar(50) null,FPew nvarchar(10) not nul
17、l,FcomPew nvarchar(50) not null,Flove nvarchar(10) not null,FsortID int not null foreign key,FtimeID int not null foreign)GoCreate table Agio(AID nvarchar(20) not null primary key,Atype nvarchar(10) not null,Arebate int not null)GoCreate table Money (Mmoney int not null ,FID int null foreign key)GoC
18、reate table Member(MID int nor null primary key,Mtype nvarchar(20) not null,Mdiscount int not null,Mname nvarchar(10) not null,MIDcard nvarchar(25)not null,Mphone nvarchar(20) not null)goCreate table Membertypes (MID int not null primary key ,Mtype nvarchar(10) not null)goCreate table Hall(HID int n
19、ot null primary key ,Hhall nchar(10) not null)go create table Seat (SEID int not null primary key,SType nvarchar(10) not null,SMoney int not null,SNumuber nvarchar(10) not null) Go create table Sort (SOID int not null primary key,SSort nvarchar(50) not null) Go create table Ticket (TID int not null
20、primary key,TFName nvarchar(20) not null,TPhone nvarchar(20) null,TCard nvarchar(50) not null,TDate nvarchar(50) not null,TTime nvarchar(50) not null,THall nvarchar(50) not null,TNumber int null,TTicketPrice int not null,TPayMoney int not null,TCount int not null,TMoney int not null,TAgio nvarchar(2
21、0) not null) go create table Time (TID int not null primary key,TTime nvarchar(50) not null,ThallID int not null foreign key) go create table Type(TID int not null primary key,TLoginType nvarchar(10) not null,TLoginID nvarchar(10) not null,TLoginPwd nvarchar(10) not null,TName nvarchar(10) not null,TSex nchar(2) not null)2.2.5数据库安全设计