网上书店管理系统数据库课程设计.docx
网上书店管理系统数据库课程设计.doc 数据库原理与应用课程设计 网上书店管理系统数据库设计 2022年12月 目录 1.概述. 错误!未定义书签。 1.1.项目背景. 错误!未定义书签。 1.2.系统说明. 错误!未定义书签。 2.需求分析. 错误!未定义书签。 2.1.需求分析. 错误!未定义书签。 2.2.数据需求. 错误!未定义书签。 2.3.事物需求. 错误!未定义书签。 2.4.数据字典. 错误!未定义书签。 3.方案图表设计 (3) 3.1.关系模式. 错误!未定义书签。 3.2.E-R图. 错误!未定义书签。 顾客信息实体E-R图: (4) 书籍信息实体E-R图:. 错误!未定义书签。 订单实体E-R图:. 错误!未定义书签。 管理员信息实体E-R图:. 错误!未定义书签。 库存信息实体E-R图: (6) 信息实体E-R总图 (7) 3.3.数据流程图 (7) 3.4.关系图: (8) 4.数据库源代码 (10) 4.1.数据库建立 (10) 创建数据库 (10) 创建顾客表 (10) 创建书籍表 (10) 创建订单表 (11) 创建管理员表. 错误!未定义书签。 创建库存表. 错误!未定义书签。 4.2.数据初始化. 错误!未定义书签。 将已有的顾客加入表system_customers中 (12) 将已有的图书加入system_books表中 (12) 将已有的订单加入system_ordernumbers表中. 错误!未定义书签。 将已有的管理员加入syetem_managers表中 (14) 将库存中的书籍加入system_store表中 (14) 5.结果数据处理. 错误!未定义书签。 5.1.单表查询 (15) 表system_customers中查询 (15) 表system_books中查询. 错误!未定义书签。 表system_ordernumbers中查询 (16) 表system_managers中查询. 错误!未定义书签。6 表system_store中查询. (16) 将已有的图书加入system_books中查询 (16) 将已有的订单加入syetem_ordernumbers中查询 (17) 6.结束语 (17) 7.参考文献 (17) 1.概述 1.1.项目背景 随着网络信息的发展,网络在人们生活中的应用越来越广泛。人们越来越想在最短的时间内购买到自己所需的图书。但书目的繁多,给人们在繁忙的工作生活中购书带来了很大的麻烦,于是网上购书便成了人们向往的事情,此系统的开发为人们带来了很大的方便,使他们足不出户就可以轻轻松松地买到自己想要的书,既省时又省力。 在电子商务网站中,网上书店是目前应用最广、最成功的典范之一。通过它用户可以在网络上通过Internet,突破时间和空间的限制而实现网上购书。网上书店的崛起对传统的图书流通体系产生了强烈的冲击,有效地缩短了图书流通发行环节,将广大读者、图书、出版者、发行者紧密地结合在一起,大大提高了图书流通率。它有着经营成本低、库存是虚拟的、用户检索方便、地域限制少等特点。 更好地适应了当前书店的销售需求,缓解了手工管理存在的弊端。 1.2. 系统说明 网上书店管理系统可以存储店中所有图书的资料以及库存情况,具有安全,高效的特性;只需一到二名档案录入员即可操作系统,节省大量人力;可以迅速查到所需信息;系统对软,硬件方面的需求不高,软件要求易学,容易掌握,可以很简单方便地管理图书信息。硬件的配置要求不能太高,这样可以很好的适应当前的各类书店。运行环境是Windows XP,所用到的软件是MySQL2022。 2.需求分析 2.1. 需求分析 网上书店是指利用互联网络来实现图书销售业务的一种新型图书零售渠道。网上书店订单处理速度快,服务范围宽,存书量大,读者坐在家里就可以“逛书店”。 2.2. 数据需求 网上书店管理系统需要完成功能有: 1.顾客基本信息的输入,包括注册名、顾客真实姓名、家庭住址、联系方式、订单号。 2.顾客基本信息的查询、修改,包括注册名、顾客真实姓名、家庭住址、联系方式,订单号等。 3.书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称。 4.书籍类别信息的查询、修改,包括类别编号、类别名称。 5.书籍信息的输入,包括书籍的编号、书籍名称、书籍类别、作者姓名、出版 社名称、出版日期。 6.书籍信息的查询、修改,包括书籍的编号、书籍名称、书籍类别、作者姓名、 出版社名称、出版日期。 7.订单信息的输入,包括订单号、订购人、订购日期、订购书籍的编号、书籍数 量、发货日期。 8.订单信息的查询、修改,包括订单号、订购人、订购日期、订购书籍的编号、 书籍数量、发货日期。 9.库存信息的输入,包括书籍的编号、库存量、价格。 10.库存信息的查询、修改,包括书籍的编号、库存量、价格。 11.管理员信息的输入,包括管理员编号、具体身份。 12.管理员信息的查询、修改,包括管理员编号、具体身份。 2.3. 事物需求 (1)在顾客信息管理部分,要求: a.可以查询读顾客信息。 b.可以对顾客信息进行添加及删除的操作。 (2 )在书籍信息管理部分,要求: a.可以浏览书籍信息。 b.可以对书籍信息进行维护,包括添加及删除的操作。 (3)在库存信息管理部分,要求: a.可以浏览库存信息。 b.可以对库存信息进行添加及删除的操作。 (4)在订单信息管理部分,要求: a.可以浏览订单信息。 b.可以对订单信息进行维护,包括添加及删除的操作。 (5)在管理者信息管理部分,要求: a.显示当前数据库中管理者情况。 b.对管理者信息维护操作。 2.4. 数据字典 表0-1 system_customers顾客信息表格 表0-2system_books书籍信息表 表0-3system_ordernumbers订单信息表 表0-4system_managers管理员信息表 表0-5store_records 库存记录信息表 3.方案图表设计 3.1. 关系模式 (1)顾客(注册名、顾客真实姓名、家庭住址、联系方式、订单号) (2)书籍(书籍的编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、价格)(3)订单(订单号、订购人注册号、订购日期、订购书籍的编号、书籍数量、发货日期、订购人姓名、订购人家庭住址、订购人联系方式、价格) (4)管理员(管理员编号、具体身份) (5)库存(书籍的编号、库存量、价格) 3.2. E-R图 根据所要实现的功能设计,可能建立它们之间的关系,进而实现逻辑结构功能。 网上书店管理系统可以划分的实体有:顾客信息实体、书籍信息实体、订单信息实体、管理员信息实体,库存信息实体。用E-R图一一描述这些实体。 顾客信息实体E-R图: 图0-1类别实体E-R图 书籍信息实体E-R图: 图0-2 书籍信息实体E-R图订单信息实体E-R图: 图0-3 订单信息实体E-R图管理员信息实体E-R图: 图0-4管理员信息实体E-R图库存信息实体E-R图: 图0-5 库存信息实体E-R图信息实体E-R总图: 图0-6 信息实体E-R总图3.3. 数据流程图: 3.4. 关系图: 4. 数据库源代码 4.1. 数据库建立 4.1.1 创建数据库 USE master GO CREATE DATABASE bookshopsystem ON ( NAME = bookshopsystem, FILENAME = 'd:bookshopsystem.mdf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ) LOG ON ( NAME = 'bookshop', FILENAME = 'd:bookshopsystem.ldf', SIZE = 5MB, MAXSIZE = 25MB, FILEGROWTH = 5MB ) GO 创建顾客表 create table system_customers ( customerid varchar(20) primary key, customername varchar(30) not null, customeraddress varchar(30) not null, customerlink varchar(20) not null, ordernumber varchar(20) not null, foreign key (ordernumber) references system_ordernumbers (ordernumber), ) 创建书籍表 create table system_books ( bookid varchar(20) primary key, bookname varchar(30) not null, boostyle varchar(30) not null, bookauthor varchar(20) not null, bookpub varchar(30) not null, bookpubdate datetime not null, bookprice varchar(10)not null, ) 创建订单表 create table system_ordernumbers ( ordernumber varchar(20) primary key, bookid varchar(20) not null, customerid varchar(20) not null, customername varchar(30) not null, customeraddress varchar(30) not null, customerlink varchar(20) not null, booknumber varchar(10) not null, orderdate datetime not null, deliverdate datetime not null, bookprice varchar(10) not null, foreign key (bookid) references system_books (bookid), foreign key (customerid) references system_customers (customerid), ) 创建管理员表 create table system_managers ( managerid varchar(10) primary key, managerrole varchar(20) not null, ) 4.1.6 创建库存表 create table system_store ( bookid varchar(20) not null, storenumber varchar(10) not null, bookprice varchar(10) not null, foreign key (bookid) references system_books (bookid), ) 4.2. 数据初始化 将已有的顾客加入system_customers表中 insert into system_customers(customerid , customername , customeraddress , customerlink , ordernumber ) values('' , '朵林','北京市西城区德外大街4号','','001'); insert into system_customers(customerid , customername , customeraddress , customerlink , ordernumber ) values('','张小玲','北京市海淀区圆明园西路2号','','002'); insert into system_customers(customerid , customername , customeraddress , customerlink , ordernumber ) values('','马思远','北京市百万庄大街22号','','003'); insert into system_customers(customerid , customername , customeraddress , customerlink , ordernumber ) values('','刘俊彦','广州市艺苑路东庆街2号','','004'); insert into system_customers(customerid , customername , customeraddress , customerlink , ordernumber ) values('','夏林','上海市肇嘉路366号','','005'); insert into system_customers(customerid , customername , customeraddress , customerlink , ordernumber ) values('','慕芝阳','上海市淮海中路222号','','006'); 将已有的图书加入system_books表中 insert into system_books(bookid, bookname, boostyle, bookauthor, bookpub, bookpubdate, bookprice ) values('','计算机组成原理','人文艺术类','王爱英','清华大学出版社','2022-01-03','25'); insert into system_books(bookid, bookname, boostyle, bookauthor, bookpub, bookpubdate, bookprice ) values('','数据库原理','人文艺术类', '萨师煊','高等教育出版社','2022-07-02','26'); insert into system_books(bookid, bookname, boostyle, bookauthor, bookpub, bookpubdate, bookprice ) values('','C程序设计','人文艺术类','谭浩强','清华大学出版社','2022-04-02','30'); insert into system_books(bookid, bookname, boostyle, bookauthor, bookpub, bookpubdate, bookprice ) values('58','计算机体系结构','人文艺术类','石教英','浙江大学出版社','2022-10-03','28'); insert into system_books(bookid, bookname, boostyle, bookauthor, bookpub, bookpubdate, bookprice ) values('','数据结构(C语言版)','人文艺术类','严蔚敏','清华大学出版社','2022-06-28','28'); insert into system_books(bookid, bookname, boostyle, bookauthor, bookpub, bookpubdate, bookprice ) values('','中华历史5000年','人文艺术类','吴强','北京大学出版社','2022-04-03','20'); insert into system_books(bookid, bookname, boostyle, bookauthor, bookpub, bookpubdate, bookprice ) values('','古代埃及','社会科学类','赵文华','北京大学出版社','2022-02-02','22'); insert into system_books(bookid, bookname, boostyle, bookauthor, bookpub, bookpubdate, bookprice ) values('','日本文化','人文艺术类','吴小鹏','北京大学出版社','2022-04-02','35'); insert into system_books(bookid, bookname, boostyle, bookauthor, bookpub, bookpubdate, bookprice ) values('','微观经济学','政治经济类','李小刚','北京大学出版社','2000-10-03','38'); insert into system_books(bookid, bookname, boostyle, bookauthor, bookpub, bookpubdate, bookprice ) values('5658','影视文学','图片艺术类','苏庆东','北京大学出版社','1999-02-28','29'); insert into system_books(bookid, bookname, boostyle, bookauthor, bookpub, bookpubdate, bookprice ) values('','探索宇宙奥秘','自然科学类','苏庆东','北京大学出版社','1999-02-28','24'); 将已有的订单加入system_ordernumbers表中 insert into system_ordernumbers(ordernumber, bookid, customerid, customername, customerlink, customeraddress, booknumber, orderdate, deliverdate, bookprice) values('001','','' ,'朵林','','北京市西城区德外大街4号','1','2022-02-16','2022-02-17','35'); insert Into system_ordernumbers(ordernumber, bookid, customerid, customername, customerlink, customeraddress, booknumber, orderdate, deliverdate, bookprice) values('002','','','张小玲','','北京市海淀区圆明园西路2号','1','2022-03-07','2022-03-08','25'); insert Into system_ordernumbers(ordernumber, bookid, customerid, customername, customerlink, customeraddress, booknumber, orderdate, deliverdate, bookprice) values('003','','','马思远','','北京市百万庄大街22号','1','2022-03-15','2022-03-16','20'); insert Into system_ordernumbers(ordernumber, bookid, customerid, customername, customerlink, customeraddress, booknumber, orderdate, deliverdate, bookprice) values('004','5658','','刘俊彦','','广州市艺苑路东庆街2号','2','2022-04-23','2022-04-24','58'); insert Into system_ordernumbers(ordernumber, bookid, customerid, customername, customerlink, customeraddress, booknumber, orderdate, deliverdate, bookprice) values('005','','','夏林','','上海市肇嘉路366号','1','2022-05-04','2022-05-05','24'); Into system_ordernumbers(ordernumber, bookid, customerid, customername, customerlink, customeraddress, booknumber, orderdate, deliverdate, bookprice) values('006','','','慕芝阳','','上海市淮海中路222号','1','2022-06-12','2022-06-13','38'); 将已有的管理员加入system_managers表中 insert into system_managers( managerid,managerrole) values('1001,'订单处理管理员); insert into system_managers( managerid,managerrole) values('1002','库存管理员); 4.2.5 将库存中的书籍加入system_store表中 insert into system_store(bookid, bookprice,storenumber) values('','25','10'); insert into system_store(bookid, bookprice,storenumber) values('','26','12'); insert into system_store(bookid, bookprice,storenumber) values('','30','7'); insert into system_store(bookid, bookprice,storenumber) values('58','28','15'); insert into system_store(bookid, bookprice,storenumber) values('','28','13'); insert into system_store(bookid, bookprice,storenumber) values('','20','5'); insert into system_store(bookid, bookprice,storenumber) values('','22','10'); insert into system_store(bookid, bookprice,storenumber) values('','35','11'); insert into system_store(bookid, bookprice,storenumber) values('','38','11'); insert into system_store(bookid, bookprice,storenumber) values('5658','29','11); insert into system_store(bookid, bookprice,storenumber) values('','24','14'); 5.结果数据处理 5.1. 单表查询 表system_customers中查询 图0-1 表system_customers中内容表system_books中查询 图0-2 表system_books中内容 表system_ordernumbers中查询 图0-3 表system_ordernumbers中内容表system_managers中查询 图0-4 表system_managers中内容 表system_store中查询 图0-5 表system_stores中内容 将已有的图书加入system_books表中查询