美食数据库的设计.docx
《美食数据库的设计.docx》由会员分享,可在线阅读,更多相关《美食数据库的设计.docx(6页珍藏版)》请在冰豆网上搜索。
1.1数据库设计
数据库是数据库应用程序的重要组成部分。
一个设计结构合理的数据库对于应用程序的开发效率和程序的性能都是非常重要的。
成功的数据库设计意味着数据库能够存储所有必需的数据,而且其存储方式保证能够快速的保存、提取、编辑、删除数据。
许多因素影响数据库设计是否成功,而数据库是否规范化是一个关键的因素。
一个规范化的数据库应满足第三范式的要求,即应该竭力避免部分依赖和传递依赖,这样可以减少数据冗余造成的由于数据异常引起的不必要错误Error!
Referencesourcenotfound.。
数据库的设计过程大致如下。
(1)数据库需求分析。
根据用户需求,确定数据库中要保存的数据信息。
对用户需求进行分析时数据库设计的第一个阶段。
不断的调查与研究用户需求,了解企业运作流程等系统需求,是设计概念模型的基础。
(2)设计数据库的概念模型。
概念模型是按用户的观点来对数据建模,是用于进行信息世界建模的工具。
它对整个数据库的设计具有深刻的影响。
(3)逻辑结构设计。
逻辑结构是把概念结构转化为与所采用的数据库管理系统所支持的数据模型相符合的过程。
(4)数据库的实施和维护。
在设计好前台与后台的功能模块后,就开始进行数据库的设计了。
根据网站系统的分析,数据库是整个网站的核心。
从前台显示的信息到后台操作的对象,都是围绕数据库展开的。
本系统是按照需求分析、概念模型设计、逻辑结构设计、数据库的实施和维护的流程完成数据库设计,力求满足该设计原则。
1.1.1数据库表设计
数据库的设计通常是以一个已经存在的数据库管理系统为基础的,常用的数据库管理系统有MySQL、SQLServer、Oracle等。
根据用户的需求和系统分析,本系统采用MySQL数据库管理系统。
在MySQL数据库管理系统中建立名称为db_eatery的数据库。
这个数据库需要提供各种信息的保存、更新和查询,这就要求数据库结构充分满足各种信息的输出和输入。
搜集基本数据、数据结构和数据处理的流程,组成一个详尽的数据字典,为后面的具体设计打下基础。
根据系统功能需求,网上订餐系统数据库中将建立以下10个数据表:
①管理员信息表(admin)
②会员信息表(member)
③会员级别表(memberlevel)
④餐饮类型表(foodType)
⑤餐饮信息表(foodInfo)
⑥订单信息表(orders)
⑦购餐车信息表(cart)
⑧餐饮订购细则表(foodDetail)
⑨留言评价表(messages)
⑩公告信息表(notice)
1.1.2数据库概念模型设计(E-R图)
数据模型是数据特征的抽象,从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表与操作提供一个抽象的框架。
描述了数据结构、数据操作及数据约束。
E-R模型的基本概念:
ER图概念化地构建实体间关系的模型,这使得它们区别于数据库模型图。
ER图的理念是:
项目所有参与者能理解ER图。
ER图由不同实体类型、关系、特性和类型构成。
实体是诸如用户的实际对象,有时更抽象,但必须有业务意义。
特性用于描述实体,关系用于实体之间Error!
Referencesourcenotfound.。
实体是现实世界中的事物;属性是事物的特性;联系是现实世界中事物间的关系。
实体集的关系有一对一、一对多、多对多的联系。
根据数据库的需求分析,设计规划出本系统的实体有:
管理员和会员实体,餐饮信息实体,订单实体,公告实体和留言评价实体。
下面以会员实体对象和餐饮信息实体对象为例来说明。
会员实体对象拥有会员的基本属性,包括会员编号,会员级别,用户名,密码,地址,注册时间等属性。
会员编号是识别不同会员的唯一标识,数据类型为int型,并且是数据库自增的。
其他属性是会员通用的特性。
会员信息的实体对象如图4-2所示。
图4-2会员实体对象
餐饮信息实体对象包括餐饮编号,餐饮名称,类别编号,有无特价,市场价,会员价等属性。
餐饮编号是辨别餐饮实体的唯一标识,数据类型为int型,是数据库自增的。
其余的属性是餐饮的通用属性。
餐饮信息的实体对象如图4-3所示。
图4-3餐饮实体图
订餐系统中各个实体对象之间存在着关系,将实体间的关系表示为订餐系统的系统E-R图。
如图4-4所示。
图4-4系统E-R图
1.1.3数据库逻辑结构设计
根据对网上订餐系统的分析设计如下数据表。
每个表格对应数据库中每一张表的具体设计情况。
(1)管理员信息信息表
管理员信息表主要存储管理员的基本信息,包括管理员ID,管理员级别,登录名,密码等信息。
其表结构如表4-1所示。
表4-1admin管理员信息表
列名
数据类型
长度
是否空
默认值
描述
Id
int
4
否
自动增长1
管理员ID号,主键
AdminType
Int
4
否
管理员级别编号
AdminName
char
12
否
管理员名称
LoginName
char
12
否
登录名
LoginPwd
int
4
否
登录密码
(2)会员信息表
会员信息表主要存储会员的基本信息,包括会员ID,姓名,用户名,密码,会员级别,所在地址,登陆次数,联系电话等信息。
其表结构如表4-2所示。
表4-2member会员信息表
列名
数据类型
长度
是否空
默认值
描述
Id
int
4
否
自动增长1
会员ID号,主键
LoginName
char
12
否
用户名
MemberName
char
20
否
真实姓名
LoginPwd
char
12
否
登录密码
Memberlevel
int
4
否
会员级别
Address
varchar
100
否
所在地址
Zip
char
10
否
所在地邮政编码
LoginTimes
int
4
是
登录次数
Phone
char
15
否
联系电话
Email
varchar
100
否
电子邮箱
RegDate
datetime
是
注册时间
LastDate
datetime
是
上次登录时间
(3)会员级别表
会员级别表主要存储会员级别信息,包括ID,会员级别名,折扣信息。
其表结构如表4-3所示。
表4-3memberlevel会员级别表
列名
数据类型
长度
是否空
默认值
描述
Id
int
4
否
自动增长1
ID号,主键
LevelName
char
20
否
会员级别名
Favourable
int
4
是
折扣
(4)餐饮类型表
餐饮类型表主要存储餐饮类别基本信息,包括餐饮类别ID,餐饮类别名,类别描述。
其表结构如表4-4所示。
表4-4foodType餐饮类型表
列名
数据类型
长度
是否空
默认值
描述
Id
int
4
否
自动增长1
类别ID号,主键
CateName
char
40
否
餐饮类别名
CateDesc
text
是
类别描述
(5)餐饮信息表
餐饮信息表主要存储餐饮的基本信息,包括餐饮ID,餐饮类别号,市场价,会员价,餐饮型号,图片,生产地等信息。
其表结构如表4-5所示。
表4-5foodInfo餐饮信息表
列名
数据类型
长度
是否空
默认值
描述
Id
Int
4
否
自动增长1
餐饮ID号,主键
FoodName
char
40
否
餐饮名称
FoodType
Int
4
否
餐饮类别号
Price
decimal
(8,2)
否
市场价
SPrice
decimal
(8,2)
否
会员价
FoodModel
char
40
否
餐饮型号
Picture
varchar
100
否
图片
MerDesc
Text
否
餐饮描述
FoodPlace
Char
60
是
生产地
UpDate
datetime
是
上传时间
Special
int
4
是
有无特价
(6)订单信息表
订单信息表主要存储订单那的基本信息,包括订单ID,会员编号,购餐车号,订单编号,下单日期,订单状态。
其表结构如表4-6所示。
表4-6orders订单信息表
列名
数据类型
长度
是否空
默认值
描述
Id
Int
4
否
自动增长1
订单ID号,主键
Member
Int
4
否
会员编号
Cart
Int
4
否
购餐车号
OrderNO
Char
20
否
订单编号
OrderDate
datetime
否
下单日期
OrderStatus
Int
4
否
订单状态
(7)购餐车信息表
购餐车信息表主要存储购餐车的基本信息,包括购餐车ID,会员编号,购买金额,购餐车状态等信息。
其表结构如表4-7所示。
表4-7cart购餐车信息表
列名
数据类型
长度
是否空
默认值
描述
Id
int
4
否
自动增长1
ID号,主键
Member
Int
4
否
会员编号
Money
decimal
(9,2)
否
购买金额
CartStatus
int
4
否
购餐车状态
(8)餐饮订购细则表
餐饮订购细则表主要存储餐饮订购细则信息,包括ID,购餐车号,餐饮编号,数量,单价,金额等信息。
其表结构如表4-8所示。
表4-8foodDetail餐饮订购细则表
列名
数据类型
长度
是否空
默认值
描述
Id
int
4
否
自动增长1
ID号,主键
Cart
int
4
否
购餐车号
FoodInfo
int
4
否
餐饮编号
Number
int
4
否
数量
Price
decimal
(8,2)
否
0.00
单价
Money
decimal
(9,2)
否
0.00
金额
(9)留言评价表
留言评价表主要存储留言评价的基本信息,包括留言ID,会员编号,管理员号,标题,留言内容,留言时间,回复内容等信息。
其表结构如表4-9所示。
表4-9messages留言评价表
列名
数据类型
长度
是否空
默认值
描述
Id
int
4
否
自动增长1
ID号,主键
Member
int
4
否
会员编号
Admin
int
4
否
管理员号
Title
char
60
否
标题
Content
text
3000
否
留言内容
LeaveDate
datetime
否
留言时间
AnswerContent
text
否
回复内容
AnswerDate
datetime
否
回复时间
(10)公告信息表
公告信息表主要存储公告信息的基本信息,包括公告信息的ID,标题内容,发布时间等信息。
其表结构如表4-10所示。
表4-10notice公告信息表
列名
数据类型
长度
是否空
默认值
描述
Id
int
4
否
自动增长1
ID号,主键
Title
char
60
否
公告标题
Content
text
3000
否
公告内容
InTime
datetime
否