1、1.1 数据库设计数据库是数据库应用程序的重要组成部分。一个设计结构合理的数据库对于应用程序的开发效率和程序的性能都是非常重要的。成功的数据库设计意味着数据库能够存储所有必需的数据,而且其存储方式保证能够快速的保存、提取、编辑、删除数据。许多因素影响数据库设计是否成功,而数据库是否规范化是一个关键的因素。一个规范化的数据库应满足第三范式的要求,即应该竭力避免部分依赖和传递依赖,这样可以减少数据冗余造成的由于数据异常引起的不必要错误Error! Reference source not found.。数据库的设计过程大致如下。(1)数据库需求分析。根据用户需求,确定数据库中要保存的数据信息。对用
2、户需求进行分析时数据库设计的第一个阶段。不断的调查与研究用户需求,了解企业运作流程等系统需求,是设计概念模型的基础。(2)设计数据库的概念模型。概念模型是按用户的观点来对数据建模,是用于进行信息世界建模的工具。它对整个数据库的设计具有深刻的影响。(3)逻辑结构设计。逻辑结构是把概念结构转化为与所采用的数据库管理系统所支持的数据模型相符合的过程。(4)数据库的实施和维护。在设计好前台与后台的功能模块后,就开始进行数据库的设计了。根据网站系统的分析,数据库是整个网站的核心。从前台显示的信息到后台操作的对象,都是围绕数据库展开的。本系统是按照需求分析、概念模型设计、逻辑结构设计、数据库的实施和维护的
3、流程完成数据库设计,力求满足该设计原则。1.1.1 数据库表设计数据库的设计通常是以一个已经存在的数据库管理系统为基础的,常用的数据库管理系统有MySQL、SQL Server、Oracle等。根据用户的需求和系统分析,本系统采用MySQL数据库管理系统。在MySQL数据库管理系统中建立名称为db_eatery的数据库。这个数据库需要提供各种信息的保存、更新和查询,这就要求数据库结构充分满足各种信息的输出和输入。搜集基本数据、数据结构和数据处理的流程,组成一个详尽的数据字典,为后面的具体设计打下基础。根据系统功能需求,网上订餐系统数据库中将建立以下10个数据表:管理员信息表(admin)会员信
4、息表(member) 会员级别表(memberlevel)餐饮类型表(foodType)餐饮信息表(foodInfo)订单信息表(orders)购餐车信息表(cart)餐饮订购细则表(foodDetail)留言评价表(messages)公告信息表(notice)1.1.2 数据库概念模型设计(E-R图)数据模型是数据特征的抽象,从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表与操作提供一个抽象的框架。描述了数据结构、数据操作及数据约束。E-R模型的基本概念:ER图概念化地构建实体间关系的模型,这使得它们区别于数据库模型图。ER图的理念是:项目所有参与者能理解ER图。E
5、R图由不同实体类型、关系、特性和类型构成。实体是诸如用户的实际对象,有时更抽象,但必须有业务意义。特性用于描述实体,关系用于实体之间Error! Reference source not found.。实体是现实世界中的事物;属性是事物的特性;联系是现实世界中事物间的关系。实体集的关系有一对一、一对多、多对多的联系。根据数据库的需求分析,设计规划出本系统的实体有:管理员和会员实体,餐饮信息实体,订单实体,公告实体和留言评价实体。下面以会员实体对象和餐饮信息实体对象为例来说明。会员实体对象拥有会员的基本属性,包括会员编号,会员级别,用户名,密码,地址,注册时间等属性。会员编号是识别不同会员的唯一
6、标识,数据类型为int型,并且是数据库自增的。其他属性是会员通用的特性。会员信息的实体对象如图4-2所示。图4-2 会员实体对象餐饮信息实体对象包括餐饮编号,餐饮名称,类别编号,有无特价,市场价,会员价等属性。餐饮编号是辨别餐饮实体的唯一标识,数据类型为int型,是数据库自增的。其余的属性是餐饮的通用属性。餐饮信息的实体对象如图4-3所示。图4-3 餐饮实体图订餐系统中各个实体对象之间存在着关系,将实体间的关系表示为订餐系统的系统E-R图。如图4-4所示。图4-4 系统E-R图1.1.3 数据库逻辑结构设计根据对网上订餐系统的分析设计如下数据表。每个表格对应数据库中每一张表的具体设计情况。(1
7、)管理员信息信息表管理员信息表主要存储管理员的基本信息,包括管理员ID,管理员级别,登录名,密码等信息。其表结构如表4-1所示。表4-1 admin管理员信息表列名数据类型长度是否空默认值描述Idint4否自动增长1管理员ID号,主键AdminTypeInt4否管理员级别编号AdminNamechar12否管理员名称LoginNamechar12否登录名LoginPwdint4否登录密码(2)会员信息表会员信息表主要存储会员的基本信息,包括会员ID,姓名,用户名,密码,会员级别,所在地址,登陆次数,联系电话等信息。其表结构如表4-2所示。表4-2 member会员信息表列名数据类型长度是否空默
8、认值描述Idint4否自动增长1会员ID号,主键LoginNamechar12否用户名MemberNamechar20否真实姓名LoginPwdchar12否登录密码Memberlevelint4否会员级别Addressvarchar100否所在地址Zipchar10否所在地邮政编码LoginTimesint4是登录次数Phonechar15否联系电话Emailvarchar100否电子邮箱RegDatedatetime是注册时间LastDatedatetime是上次登录时间(3)会员级别表会员级别表主要存储会员级别信息,包括ID,会员级别名,折扣信息。其表结构如表4-3所示。表4-3 mem
9、berlevel会员级别表列名数据类型长度是否空默认值描述Idint4否自动增长1ID号,主键LevelNamechar20否会员级别名Favourableint4是折扣(4)餐饮类型表餐饮类型表主要存储餐饮类别基本信息,包括餐饮类别ID,餐饮类别名,类别描述。其表结构如表4-4所示。表4-4 foodType餐饮类型表列名数据类型长度是否空默认值描述Idint4否自动增长1类别ID号,主键CateNamechar40否餐饮类别名CateDesctext是类别描述(5)餐饮信息表餐饮信息表主要存储餐饮的基本信息,包括餐饮ID,餐饮类别号,市场价,会员价,餐饮型号,图片,生产地等信息。其表结构如
10、表4-5所示。表4-5 foodInfo餐饮信息表列名数据类型长度是否空默认值描述IdInt4否自动增长1餐饮ID号,主键FoodNamechar40否餐饮名称FoodTypeInt4否餐饮类别号Pricedecimal(8,2)否市场价SPricedecimal(8,2)否会员价FoodModelchar40否餐饮型号Picturevarchar100否图片MerDescText否餐饮描述FoodPlaceChar60是生产地UpDatedatetime是上传时间Specialint4是有无特价(6)订单信息表订单信息表主要存储订单那的基本信息,包括订单ID,会员编号,购餐车号,订单编号,下
11、单日期,订单状态。其表结构如表4-6所示。表4-6 orders订单信息表列名数据类型长度是否空默认值描述IdInt4否自动增长1订单ID号,主键MemberInt4否会员编号CartInt4否购餐车号OrderNOChar20否订单编号OrderDatedatetime否下单日期OrderStatusInt4否订单状态(7)购餐车信息表购餐车信息表主要存储购餐车的基本信息,包括购餐车ID,会员编号,购买金额,购餐车状态等信息。其表结构如表4-7所示。表4-7 cart购餐车信息表列名数据类型长度是否空默认值描述Idint4否自动增长1ID号,主键MemberInt4否会员编号Moneydec
12、imal(9,2)否购买金额CartStatusint4否购餐车状态(8)餐饮订购细则表餐饮订购细则表主要存储餐饮订购细则信息,包括ID,购餐车号,餐饮编号,数量,单价,金额等信息。其表结构如表4-8所示。表4-8 foodDetail餐饮订购细则表列名数据类型长度是否空默认值描述Idint4否自动增长1ID号,主键Cartint4否购餐车号FoodInfoint4否餐饮编号Numberint4否数量Pricedecimal(8,2)否0.00单价Moneydecimal(9,2)否0.00金额(9)留言评价表留言评价表主要存储留言评价的基本信息,包括留言ID,会员编号,管理员号,标题,留言内
13、容,留言时间,回复内容等信息。其表结构如表4-9所示。表4-9 messages留言评价表列名数据类型长度是否空默认值描述Idint4否自动增长1ID号,主键Memberint4否会员编号Adminint4否管理员号Titlechar60否标题Contenttext3000否留言内容LeaveDatedatetime否留言时间AnswerContenttext否回复内容AnswerDatedatetime否回复时间(10)公告信息表公告信息表主要存储公告信息的基本信息,包括公告信息的ID,标题内容,发布时间等信息。其表结构如表4-10所示。表4-10 notice公告信息表列名数据类型长度是否空默认值描述Idint4否自动增长1ID号,主键Titlechar60否公告标题Contenttext3000否公告内容InTimedatetime否
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1