4.数据库设计
数据库结构设计的好坏直接影响到信息管理系统的效率和实现的效果。合理地设计数据库结构、以提高数据存储的效率,保证数据的完整和统一。数据库设计一般包括如下几个步骤: (1) 数据库需求分析。 (2) 数据库概念结构设计。 (3) 数据库逻辑结构分析。
4.1数据库需求分析
用户的需求具体体现在对各种信息的提供、保存、更新和查询等方面。因此,一个满足要求的数据库必须充分满足对各种信息的输入输出需要。
通过前面对系统功能模块的分析,总结出网上书店的数据库需要满足以下信息需求:
·用户一般分为普通游客、注册用户和管理员身份用户。 ·对于能够登陆网页的用户不需要登陆就可以浏览图书信息。
·注册用户登陆后可以维护个人信息,并且在下定单时自动填写联系信息。 ·图书按照出版商划分,每本书都有自己的书版社。 ·定单分单张详细定单和总定单。 ·一个用户可以购买多本书。 ·一个用户对应一张定单列表。 ·一个定单列表对应多张定单详细信息。
综合上面对网上书店数据库的需求分析,考虑到未来功能上的扩展,设计如下的数据项结构:
·管理员信息包括的数据项:帐号、姓名和密码。 ·注册会员包括的数据项:用户ID、密码、电话等。
·图书信息包括的数据项:图书编号、图书名称、分类编号等。 ·图书分类包括的数据项:分类编号、分类名称等。
·定单详细情况包括的数据项:定单编号、定单列表编号、图书编号、购书数量。·定单列别包括的数据项:定单列表编号、用户编号等。 ·购物帮助包括的数据项:问题ID、问题标题、问题解答。
4.2数据库逻辑结构设计
得到上述的数据项和数据结构后,就可以设计出满足客户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计做好铺垫.
该系统的实体有管理员实体、注册会员信息实体、图书信息实体、图书类型信息实体、定单详细信息实体、定单列表信息实体和常见问题信息实体。
各实体之间的关系如下图所示:
定单列表 用户 购物车 图书 图书分类
图3.3 各实体之间关系图
定单 定单详细信息实体E-R图如下:
定单编号 购买图??? 购买数价格 定单详细信息
图3.4定单详细信息实体E-R图
定单列表信息实体E—R图如下:
编号 客户信??? 应付金额
图3.4定单列表信息实体E—R图
定单列表 处理状态 用户信息实体E—R图如下:
用户信息 用户名 密码 ??? 详细地址 电话
图3.5 用户信息实体E-R图
图书信息实体E—R图如下:
图书编号 名称 ??? 类型 说明 图书信息 图3.6 图书信息实体E—R图
4.3数据库物理结构设计
通过以上系统功能模块结构图,我们可以进一步的进行数据库的设计, 根据以上的数据库概念与逻辑结构,设计下面表,
1、OrderDetail:用户订单的信息数据表。 2、orderlist:用户购物车数据表 3、MEMBER:注册用户信息数据表 4、product:书籍信息数据表
根据以上表的功能与要求,设计出各表的表结构如下所示。 ORDERDETAIL表的结构:
图4.1 ORDERDETAIL表
ORDERLIST表的结构:
图4.2ORDERLIST表
MEMBER表的结构:
图4.3MEMBER表
PRODUCT表的结构:
图4.4 PRODUCT表
3.2 数据库设计
3.2.1 数据库概念结构设计
根据以上需求分析进行初步设计可以画出本系统实体间关系的E-R图,系统包括会员、包间、教练和课程四个实体。 包间实体图如图3.2所示。
使用时间包间包间状态 包间号包间名 备注
图3.2 包间实体图
会员实体图如图3.3所示。
信息公开会员兴趣爱好编号级别电话
图3.3 会员实体图
性别密码 教练实体图如图3.4所示。
邮箱性别 教练编号
电话密码所教课程级别兴趣爱好信息公开图3.4 教练实体图
课程实体图如图3.5所示。
课程备注课时名课程课程号开课时间
图3.5课程实体图
系统E-R图如图3.6所示。
时间备注课时备注包间预定m教练p会员q选课nr讲授1课程
图3.6 系统E-R图
3.2.2 数据库逻辑结构设计
通过对E-R图的分析,本系统设计的实体、属性和关系如下所示:
(1)会员:(编号,姓名,性别,电话,邮箱,级别,兴趣爱好,信息公开)
(2)课程:(课程号,课程名,开课时间,课时,备注) (3)包间:(名称,编号,大小,类型,最低消费,状态,备注) (4)预订:(会员号,包间号,教练号)
(5)教练:(编号,姓名,性别,电话,邮箱,级别,兴趣爱好,所教课程) (6)选课:(课程编号,教练编号,备注)