《网上书店数据库设计.doc》由会员分享,可在线阅读,更多相关《网上书店数据库设计.doc(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上数据库系统概论课程设计 设计名称:网上书店系统数据库设计网上书店系统数据库设计一、需求分析在需求分析阶段,主要分析了用户的各种需求,在此基础上确定了新系统的功能,具体内容包括编写目的、开发背景、相关定义、开发目标等部分。1.1编写目的随着信息技术的发展与普及,网络竞争越发的激烈、残酷,传统的营销方式在现今的社会竞争中已经力不从心,尤其是书本的营销。客户作为市场的最大资源,已经成为了市场营销的核心,谁争取到了最多的客户,谁就取得了最大的成功,对客户的把握将最终决定企业的命运。书籍网络营销于一种新的营销模式出现在当前人们的生活中,而随着电子商务的发展,人们已经更多地关注了
2、网上购物,这就无形中对网上书店的管理提出了更高的要求,需要其现代化、系统化、规范化、高效化。如何更加完善自身的管理,扩大网上书城的知名度,提高经济效益,增加客户量,成为网上书店管理迫切需要解决的问题。 网上书店管理的特殊性在于书籍信息量大、信息更新快、客户信息量大、客户反馈信息量大、信息间关联多、涉及的各层管理人员复杂. 同时其分工、权限又各不相同,如果所有的工作都按部就班地手工完成,将在很大程度上浪费劳动力和时间,降低工作效率。 因此通过引进计算机管理系统,把大量的工作微机化管理,这样就可以实现高效、安全、合理的管理模式,本系统就是基于这样一个目的来编写的。1.2背景数据库名称:OBMS软件
3、系统名称:网上书店管理系统(Online Bookstore Management System,简称OBMS)。软件系统用户:一般中小型网上书店。软件及数据安装中心:湖北汽车工业学院文管楼实验室。1.3可行性分析1.3.1经济可行性随着信息技术的发展与普及,网络竞争越发的激烈、残酷,传统的营销方式在现今的社会竞争中已经力不从心,尤其是书本的营销。客户作为市场的最大资源,已经成为了市场营销的核心,谁争取到了最多的客户,谁就取得了最大的成功,对客户的把握将最终决定企业的命运,现在做电子商务的网站很多,网络书店就只有那么几个屈指可数的知名网站,像是“当当网上书城”、“卓越网”等正是由于网上书店的数
4、量少,而且不规范,以及在网络书店的客户量上存在很大的发展空间,为满足广大读者朋友的需求,网上书店的系统的建立将是未来一笔可观的财富。1.3.2技术可行性网络管理日益趋向于系统化、完整化、人性化。在网络书店的数据库设计上,我们运用到SQL2000编程,具有完善的数据库设计思想和操作能力。1.4用户分析随着网络的普及,越来越多的读者都习惯在网上看书、买书。在网络上用户可以找到自己想要的书籍,解决了用户区域性的问题,为广大读者提供一个平台能够找到珍贵的书籍。网上书店数据库系统是针对广大的读者,在线的用户量极具的增加,网上读书的客户量也在扩大,例如“当当”网上书城、“卓越”网。我们在整个书店的管理上将
5、网络书籍进行分类,包括出版社管理、用户管理、订单管理、销售管理、物流管理等,以便更好的熟悉整个网络书店的后台数据库的运行环境。1.5网上书店系统的特点简单性:在实现平台的功能的同时,尽量让平台操作简单易懂。针对性:平台设计使网上书店系统我们的数据库设计主要是后台管理,所以具有很强的针对实用性:我们在数据库设计的时候,将用户、管理员、书籍等基本信息在数据库中存储,具有良好的实用性。1.6定义所有的表名的命名规则 : 所有的表名用具有实际含义的英文单词组成,本系统共有12张表:books:书籍信息表,记录书籍信息stock:书籍库存表,记录书籍库存信息booktype:书籍大类别表,记录书籍总体分
6、类booktype2:书籍小类别表,记录书籍总分类下属的小分类publish:出版社信息表,记录出版社信息users:用户表,记录用户信息s:管理员表,记录管理员信息leaveWords:用户留言表,记录用户留言信息orders:订单表,记录订单信息sales:销售单表,记录销售单信息shipped:运单表,记录运单信息waybill:发货表,记录发货单信息1.7 系统功能性需求1.7.1 系统结构根据网上书店的项目功能需求及对网上书店的调研,该系统的系统总体结构如下图所示。网上书店前台管理模块后台管理模块销售管理订单管理留言管理图书类别管理图书信息设置用户信息管理搜索书籍订购书籍留言功能运单
7、管理网上书店的业务流程图用户管理登陆结账检索书目留言查询,修改订单信息订购书籍订单管理书籍销售管理出版社管理图书类别管理图书情报管理浏览书目管理员运单管理用户管理1.7.2 功能性需求分类功能类别子功能后台管理模块书籍信息管理管理书籍相关信息书籍类别管理对书籍的类别进行初始化,并进行增删改查等操作订单管理查询用户订单,并确认,生成销售单销售管理对销售订单进行确认,并进行书籍的销售出库留言管理管理员查看留言运单管理由第三方物流公司对出库的书籍进行配送前台管理模块用户信息管理用于用户的注册、修改信息操作搜索书籍提供以不同方式进行搜索书籍的功能订购书籍提供用户订购书籍的功能留言功能用于用户对所购买书
8、籍提出反馈意见,管理员可查看留言首页显示书籍用于在首页上现实特价图书和最新出版书籍的信息1.8 数据字典管理员(管理员编号、用户名、管理员姓名、管理员密码、管理员邮箱)用户(用户名、密码、电话、邮箱、家庭住址、真实姓名、邮政编号)用户留言(留言编号、用户名、主题、提交时间、留言内容、回复状态)书籍(书籍编号、书籍名称、ISBN、作者、出版社编号、版次、出版日期、内容简介、书籍小类别编号)库存(ISBN、库存数量、原始价格、折扣店、登记日期)书籍大类别(大类别编号、大类别名称)书籍小类别(小类别编号、小类别名称、所属大类别)出版社(出版社编号、出版社名称、出版社电话、出版社地址)订单(订单编号、
9、用户名、订购时间、书籍编号、订购数量、状态)销售单(销售单编号、订单编号、创建日期、创建人、状态)发货单(发货单编号、销售单编号、发货日期、发货人)运单(运单编号、发货单编号、快递公司名称、送货人姓名、送货人电话)1.9 实体间的联系通过以上分析可知,实体之间的联系有:管理员与用户之间是一对多关系(1:n)用户与用户留言之间是一对多关系(1:n)出版社与书籍之间是一对多关系(1:n)书籍与库存十件事一对一关系(1:1)书籍小类别与书籍之间是一对多关系(1:n) 书籍大类别与书籍小类别之间是一对多关系(1:n)用户与订单之间是一对多关系(1:n)订单与销售单之间是一对一关系(1:1)销售单与发货
10、单之间是一对一关系(1:1)发货单与运单之间是一对一关系(1:1)二、概念结构设计出版分类存货出版社书籍书籍小类别分类书籍大类别库存书,订单库存订单订单表用户表订单留言留言表管理员销售单表发货表运单表运输发货出单管理出版社出版社编号出版社名称地址电话邮编书籍书籍小类别ISBN号书籍编号内容简介出版日期版次出版社编号作者书籍名称书籍小类别小类别编号所属大类别小类别名称书籍大类别大类别编号大类别名称库存ISBN号库存量原始价格折扣点登记说明用户表密码邮编用户名电话电子邮件家庭住址真实姓名用户留言表留言编号用户名主题提交时间留言内容回复状态管理员管理员编号管理员名管理员密码具体身份邮箱用户编号订单表
11、订单编号用户名订购时间书籍编号订购数量状态销售单表销售单编号订单编号创建日期创建人状态发货表发货单编号销售单编号发货日期发货人运单表发货单编号运货单编号快递公司名称运货人姓名联系方式三、逻辑结构设计表一 书籍信息表 books字段名字段描述类型可否为空备注isbnISBN号字符串 长度20可Book_id书籍编号字符串 长度6否主键title书籍名称字符串 长度80否author作者字符串 长度50否Pub_id出版社编号整型可Version版次字符串 长度20可Publishdate出版日期日期/时间可introduction内容简介字符串 长度2000可type书籍小类别编号整型否外键表二
12、 书籍库存表 stock字段名字段描述类型可否为空备注isbnISBN号字符串 长度20否主键stock_qty库存数量字符串 长度10可price原始价格货币否discount折扣点小数类型可logdate登记日期日期/时间可表三 书籍大类别表 booktype字段名字段描述类型可否为空备注Bigtype_id大类别编号整型否主键,标识列Bigtype_name大类别名称字符串 长度50否唯一表四 书籍小类别表 booktype2字段名字段描述类型可否为空备注Smalltype_id小类别编号整型否主键,标识列Smalltype_name小类别名称字符串 长度50否唯一Bigtype_id所
13、属大类别编号整型否表五 出版社信息表 publish字段名字段描述类型可否为空备注Pub_id出版社编号整型否主键,标识列Pub_name出版社名称字符串 长度50否唯一Pub_phone出版社电话字符串 长度15否Pub_add出版社地址字符串 长度50否表六 用户表 users字段名字段描述类型可否为空备注Username用户名字符串 长度20否主键Password密码字符串 长度50否Phone电话字符串 长度15可E-mall电子邮箱字符串 长度30可Address家庭住址字符串 长度100否True_name真实姓名字符串 长度20否Postcode邮政编号字符串 长度6否表七 管理
14、员表s字段名字段描述类型可否为空备注_id管理员编号整型否主键Username用户名字符串 长度20否外键_name管理员姓名字符串 长度20否_password管理员密码字符串 长度50否_e-mall管理员邮箱字符串 长度30可表八 用户留言表 leaveWords字段名字段描述类型可否为空备注Lword_id留言编号整型否主键,标识列Username用户名字符串 长度6否Subject主题字符串 长度6否Submit_date提交时间日期型可Lword_texe留言内容字符串 长度4000可Re_status回复状态字符串 长度10可0-“待回复”1-“已回复”表九 订单表 orders
15、字段名字段描述类型可否为空备注Order_id订单编号整型否主键,标识列username用户名字符串 长度20否Order_date订购时间日期型可默认系统时间Book_id书籍编号字符串 长度6否quantity订购数量整型否大于0status状态位类型 长度1可0-“未处理”1-“已处理”表十 销售单表 sales字段名字段描述类型可否为空备注Sale_id销售单编号整型否主键,标识列Order_id订单编号整型否外键Sale_date创建日期日期型可默认系统时间Saler创建人字符串 长度20否Sale_status状态位类型 长度1可0-“未发货”1-“已发货”表十一 发货表 ship
16、ped字段名字段描述类型可否为空备注Ship_id发货单编号整型否主键,标识列Sale_id销售单编号整型否外键Ship_date发货日期日期型可默认系统时间Ship_man发货人字符串 长度20否表十二 运单表 waybill字段名字段描述类型可否为空备注Waywill_no运单编号整型否主键,标识列Ship_id发货单编号整型否外键快递公司名称字符串 长度20否Delivery_man送货人姓名字符串 长度20可Delivery-man_phone送货人电话字符串 长度15可四、系统实现4.1表的建立书籍信息表 books的建立书籍库存表 stock 的建立书籍大类别表 booktype的
17、建立书籍小类别表 booktype2 的建立出版社信息表 publish 的建立用户表 users 的建立管理员表s 的建立订单表 orders 的建立用户留言表 leaveWords 的建立销售单表 sales 的建立发货表 shipped 的建立运单表 waybill 的建立4.2 数据库关系图4.3 表的信息4.4 视图创建视图:视图的创建:在users表中建立username为ran视图V1中视图在books表中建立视图如下:建立如下视图:视图中包含每个用户的留言编号视图查询:建立视图v6_books并查询视图中book_id、title、auther查询结果如下:建立并查询视图:向视
18、图中插入新的数据:插入后在users表中:删除视图中的记录:4.5 索引以上是对users表建立的索引4.6 触发器对于在网上书店系统数据库,表users的username列与表administrators的usersname满足下列参照完整性规则。A.向users表插入或修改一记录时,通过触发器检查记录的users值在administrators表中是否存在,若不存在,则取消插入或修改操作;B.修改administrators表的usersname字段值时,该字段在users表中的对应值也做相应修改。C.删除administrators表中一记录的同时删除该记录administrators字
19、段值在users表中对应的记录。(1) 向users表插入或修改一记录时,通过触发器检查记录的username值在administrators表中是否存在,若不存在,则取消插入或修改操作。(2) 修改administrators表的username字段值时,该字段在users表中的对应值也做相应修改。对administrators表建立更新触发器IF (COLUMNS_UPDATED() 测试是否插入或更新了提及的列,仅用于 INSERT 或 UPDATE 触发器中。COLUMNS_UPDATED 返回 varbinary 位模式,表示插入或更新了表中的哪些列。COLUMNS_UPDATED
20、函数以从左到右的顺序返回位,最左边的位表示表中的第一列;向右的下一位表示第二列,依此类推。在 INSERT 操作中 COLUMNS_UPDATED 将对所有列返回 TRUE 值,因为这些列插入了显式值或隐性 (NULL) 值。(3)删除CLASS表中一记录的同时删除该记录CLASS_ID字段值在STUDENT表中对应的记录。 对administrators表建立删除触发器4.7存储过程创建添加记录的存储过程创建修改记录的存储过程创建删除记录的存储过程调用三个存储过程:存储过程的调用4.8主要代码触发器的应用create trigger administratorsdelete on dbo.a
21、dministratorsfor deleteas begindelete from userswhere username=(select username from deleted)endgousers表的存储过程usersaddcreate procedure usersadd(username varchar(20),password varchar(50),phone varchar(15),e_mall varchar(30),address varchar(100),turename varchar(20),postcode varchar(6)asbegininsert int
22、o usersvalues(username,password,phone,e_mall,address,turename,postcode)endreturngo修改users表的存储过程usersupdatecreate procedure usersupdate(userid varchar(20),username varchar(20),password varchar(50),phone varchar(15),e_mall varchar(30),address varchar(100),turename varchar(20),postcode varchar(6)asbegi
23、nupdate usersset username=username,password=password,phone=phone,e_mall=e_mall,address=address,turename=turename,postcode=postcodewhere username=useridendreturngo删除users表的删除过程usersdeletecreate procedure usersdelete(username varchar(20)asbegindelete from userswhere username=usernameendreturngo五、课程设计总结这次课程设计我们花了一个星期的时间来完成,感觉时间过的很快。在大家的共同合作下,终于完成了这次课设。在完成过程中,我主要工作是完成概念结构设计。在设计之前我们共同讨论了一下网上书店的整个流程,主要的工作步骤,设计ER图。完成的不是那么的完美。但对于数据库设计的整个流程有了了解。同时我也明白了在IT行业中分工合作的重要性。课程设计的完成离不开队友的帮助。专心-专注-专业
限制150内