数据库课程设计网上书店数据库管理系统

数据库课程设计网上书店数据库管理系统
数据库课程设计网上书店数据库管理系统

网上书店数据库系统设计概念结构设计

1.书籍信息表

2.供货信息表

3. 订单信息表

订购日期用户生成订单的

时间日期型日期型的长

满足特定的日

期格式

订单总数每份订单书籍的

数量

整型10 1-9999999999

发货地址管理员确定发货

的地址

字符型80

订单状态订单的发货状态字符80

4.顾客信息表

数据项含义说明数据类型数据长度取值围

用户id唯一区分用户的

表示

字符型20 合法的字符用户姓名顾客的真实姓名字符型20 合法的字符用户密码用户的登录密码字符型10

家庭住址顾客收货地址字符型100 合法的字符账户余额用户可用的金额整型10

信用等级整型10

2.根据对网上书店的需求分析,画出如下实体的ER图和实体之间的关系ER图。

图-1书籍信息ER图

图-2 缺货信息ER图

图-3 订单信息ER图

图-4 用户信息ER图

图-5 供货信息ER图

图-6订单详情ER图

图-7供应商信息ER图

图-6 实体之间关系ER图

3.逻辑结构设计

3.1 把ER图转换成相应的关系模型

(a) 书籍{ISBN号,书籍名称,书籍作者,书籍出版年份}

(b) 订单{订购号,订购人,订购日期,订购书籍,书籍数量,发货日期}

(c) 库存{ISBN号,库存量,价格,折扣,库存下限}

(d) 顾客{注册名,真实姓名,家庭住址,联系式,购书卡号

(e) 管理员{管理员编号,管理员真实姓名,密码,具体身份,}

(f) 书-订单{订单号,ISBN号,书籍数量,发货日期}

(g) 订单-顾客{订单号,注册名,订购日期}

(h) 库存-订单{ISBN号,订单号}

3.2 数据模型的优化

将关系模式订单垂直分解为书-订单,和订单-顾客。

个人体会

为期近一个星期的软件能力测试实习结束了,回首整个过程,当第一次拿到实习报告的时候,真的没有想到自己能够和我的同伴们顺利的完成任务,最终事实证明我们做到了,我们学到了更多的知识。

在这期间,我们开始接触了小型的系统。这些小型的系统分析、设计与实现巩固了我们的基础知识,让我们学会了一些编程的技巧,以及一些验证的法。首先是需求分析这块,它很重要。我们根据老师给的要求,结合在网上差的一些资料,做了初步的需求分析,本系统的主要功能是实现信息的发布和管理,涉及到前台用户对书籍信息的浏览和后台管理。在前台的新闻浏览模块里,一般需要对书籍进行分类展示,并需要通过栏目导航进入特定的书籍信息模块。如有文艺类书籍,理工类书籍,计算机类书籍等等。在后台的管理面。需要由合法的管理者来管理书籍的添加、修改、删除等,还有一个管理者的登录、注销的模块。最重要的是管理网上交易。从后台管理大体来看,系统实际分为,书籍管理栏目、网上购物管理及模块管理。然后进行了系统总体设计,我们采用采用B/S模式实现,分为三个层次。用户界面层:界面层为客户端浏览器提供对应用程序的访问,这一层是为用户提供操作接口而实现的。

业务逻辑层:包含各种业务规则和逻辑的实现,业务规则完成如匿名用户书籍查找,用户登录时进行身份认证等。数据访问层:数据访问层为业务逻辑层提供数据服务,首先设计了一个连接数据库的类,然后封装了对数据库的数据进行的操作。访问数据库的结果供业务逻辑层使用。

现在我谈一下自己做系统总体设计的体会。系统总体设计的好坏直接影响后面的编码过程。刚开始我们的总体设计不是很完善,导致在具体实现时,我们的模块划分的不是很好,数据表的设计也不能很好的反映现实情况。后来我们又完善了系统的总体设计,对各个模块进行了详细的规划,系统层次显得分明,编码也相对容易一些。

最主要的是数据库设计与实现。在设计一个数据库时,首先应该仔细研究业务需求。雨雾需求将直接决定表的设计。表之间可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关系,即一原始单据对应多个实体,或多原始单据对应一个实体。明确这种对应关系后,对我们设计录入界面大有好处。数据库设计的实用原则是:在数据冗余和处理速度之间找到合适的平衡点。表的设计应该遵循“三少”原则:数据库中表的个数尽量少,一个表中组合主键的字段个数尽量少,表中的字段个数尽量少。但是必须要能反映现实情况。我一共设计了四个表,书籍信息表、用户登录表、银行卡表和订单表。四个表的详细设计在上面数据库的设计中有说明,各表的关系也用E-R图展示出来了,这里就不在赘述了。

最后我觉得理论知识很必要,实践也不可缺少,只有在实践中才能更清楚的了解自己对理论知识的掌握程度,才能学以致用,把所学的知识运用到实践中去。

相关主题
相关文档
最新文档