《数据库大作业网上书店管理系统.docx》由会员分享,可在线阅读,更多相关《数据库大作业网上书店管理系统.docx(13页珍藏版)》请在三一办公上搜索。
1、精选优质文档-倾情为你奉上 数据库课程设计 设计选题:网上书店管理系统班 级:船海1101设 计 人:郭英豪学 号:U 辅导教师:董敏钦一、 需求分析1.1数据需求网上书店管理信息系统需要完成功能主要有:1. 各种书籍基本信息的输入,包括书名,ISBN号,出版年份,价格。2. 书籍基本信息的查询、修改,包括书名,ISBN号,出版年份,价格等。3. 书籍作者基本信息的输入,包括姓名,地址,个人主页。4. 书籍作者基本信息的查询、删除,包括姓名,地址,个人主页等。5. 出版社信息的输入,包括出版社名称,地址,电话,网站等。6. 出版社基本信息的查询、删除,包括出版社名称,地址,电话,网站等。7.
2、购物车相关信息的输入,包括购物车号,购买数量。8. 购物车信息的查询、修改,包括购物车号,购买数量等。9. 消费者相关信息的输入,包括姓名,邮箱,地址,电话。10. 消费者相关信息的查询、修改,包括姓名,邮箱,地址,电话等。11. 仓库相关信息的输入,包括仓库号,地址,电话,存书量。12. 仓库相关信息的查询、修改,包括仓库号,地址,电话,存书量等。1.2事物需求(1)在书籍信息管理部分,要求:a.可以浏览书籍、作者及其出版社信息。b.可以对书籍、作者及其出版社信息进行添加及删除的操作。(2 )在图书网上销售信息管理部分,要求:a.可以查询消费者的相关信息以及他拥有的购物车和购书量的信息。b.
3、可以对消费者的相关信息以及他拥有的购物车和购书量的信息进行维护,包括添加及删除的操作。(3)在图书仓储管理部分,要求:。a.可以浏览各个仓库的藏书信息。b.可以对仓库藏书信息进行维护操作。二、 数据库设计出版社作者2.1 实体模型:出版写作 1 1 N N图书 N N属于购买存放 M M 1 1仓库购物车顾客2.2 ER图到关系图的转换(其中带下划线的为主属性)stosksshopping-basketcontainsauthorURLnameaddresswritten-byyearpublished-bypublishernamephoneaddressURLbooktitlepriceI
4、SBNnumbershopping-basketbasketIDbasket-ofshopping-basketnameaddressemailphonenumberaddressphonecode2.3数据字典Author表book表btoa表btop表Publisher表customer表Shopping-basket表Btos表Warehouse表Btop表三、关系图的建立四、功能实现4.1 创建数据库:create database bookshop;4.2创建数据表:(1)book表create table book (ISBN int primary key, title char
5、(20), wyear smallint, price real );(2)author表create table author (name char(20), waddress char(40), URL char(50) primary key(name,waddress) );(3)btoa表create table btoa (ISBN int primary key, name char(20), waddress char(40), foreign key(ISBN)references book(ISBN), foreign key(name,waddress)reference
6、s author(name,waddress) );(4)publisher表create table publisher (name char(20) primary key, paddress char(40), phone int, URL char(50) );(5)btop表create table btop (ISBN int primary key, name char(20), foreign key(ISBN)references book(ISBN), foreign key(name)references publisher(name) );(6)customer表 cr
7、eate table customer (cemail char(50)primary key, name char(20), caddress char(40), phone int );(7)shopping_basket表 create table shopping_basket (basketID int primary key, cemail char(50), foreign key(cemail)references customer(cemail) );(8)btos表 create table btos (ISBN int, basketID int, number smal
8、lint, primary key(ISBN,basketID), foreign key(ISBN)references book(ISBN), foreign key(basketID)references shopping_basket(basketID) );(9)warehouse表 create table warehouse (code smallint primary key, phone int, whaddress char(40) );(10)btow表 create table btow (ISBN int, code smallint, number smallint
9、, primary key(ISBN,code), foreign key(ISBN)references book(ISBN), foreign key(code)references warehouse(code) );五、数据操作(插入、查询、删除、修改、添加)5.1 插入(1) 向book表插入信息insert into book values(1644,追风筝的人,2003,25);insert into student values(28317,致青春,2012,29.8);insert into student values(,了不起的盖茨比,1876,14.8);(2) 向au
10、thor表插入信息insert into author values(菲茨杰拉德,华中科技大学,);insert into author values(胡塞尼,武汉大学,);insert into author values(辛夷坞,华中农业大学,);(3) 向btoa表插入信息insert into btoa values(1644,胡塞尼,武汉大学);insert into btoa values(28317,辛夷坞,华中农业大学);insert into btoa values(,菲茨杰拉德,华中科技大学);(4) 向publisher表插入信息insert into publisher
11、 values(朝华出版社,北京,);insert into publisher values(航空工业出版社,北京,120,);insert into publisher values(人民出版社,上海,110,www.ewen.cc);(5) 向btop表插入信息insert into btop values(1644,人民出版社);insert into btop values(28317,朝华出版社);insert into btop values(,航空工业出版社);(6) 向customer表插入信息insert into customer values(11111,嘻嘻,湖南大学
12、,114);insert into customer values(,哈哈,清华大学,911);insert into customer values(,郭英豪,华中科技大学,119);(7) 向shopping_basket表插入信息insert into shopping_basket values(1, );insert into shopping_basket values(2, );insert into shopping_basket values(3,11111 );(8) 向btos表插入信息insert into btos values(1644,1,2);insert in
13、to btos values(28317,3,4);insert into btos values(,2,3);(9) 向warehouse表插入信息insert into warehouse values(1001,武汉市);insert into warehouse values(1002,长沙市);insert into warehouse values(1003, 上海市);(10) 向btow表插入信息insert into btow values(1644,1002,800);insert into btow values(28317,1003,女,10000);insert in
14、to btow values(,1001,女,500);5.2查询(1)查询价格低于28元的书籍的作者的相关信息:select author.*from author,btoa,bookwhere book.ISBN=btoa.ISBN and btoa.name=author.name and book.ISBN in(select book.ISBN from book where price28 );(2)查询将致青春放入购物车的顾客的相关信息select distinct customer.*from customer,shopping_basket,btos,bookwhere bt
15、os.basketID=shopping_basket.basketIDand shopping_basket.cemail=customer.cemailand btos.ISBN=(select book.ISBN from book where title=致青春);(3)查询地址在北京的出版社的名称,电话,网页select name,phone,URLfrom publisher where paddress=北京;(4)查询所有书的仓储记录,包括书的名字和仓库的地址,并将结果按仓储量降序排列select book.title,btow.*,warehouse.whaddressfro
16、m book,btow,warehousewhere book.ISBN=btow.ISBN and btow.code=warehouse.codeorder by number desc;(5)查询各个仓库的总仓储量select code 仓库代号,SUM(number) 总仓储量from btow group by code;(6)查询名字姓 “郭”字的顾客的购物车代号select name 姓名,basketID 购物车代号from shopping_basket,customerwhere name like 郭% and shopping_basket.cemail in(sele
17、ct cemail from customer where name like 郭%);5.3 创建视图 (1)创建所有1001号仓库的藏书记录的视图create view shitu1(ISBN,书名,数量)as select btow.ISBN,title,numberfrom btow,book where btow.ISBN=book.ISBN and btow.code=1001;查看视图中的记录select * from shitu1;(2)创建视图customer其中的内容是收藏暗时间的消费者信息,包括(姓名,邮箱,地址,电话),创建时加上with check optioncre
18、ate view customer2(姓名,邮箱,地址,电话)as select distinct customer.name,customer.cemail,customer.caddress,customer.phonefrom btos,book,shopping_basket,customerwhere shopping_basket.basketID=btos.basketID and shopping_basket.cemail=customer.cemail and btos.ISBN=(select ISBN from book where book.title=暗时间) wi
19、th check option;查看视图中的记录select * from customer2; (3) 创建一个视图,其中的内容是每个仓库的总存书量create view cunshuliang(仓库号,存书量)as select code,sum(number) from btow group by codewith check option;查看视图中的记录select * from cunshuliang;(4) 创建视图,其中的内容是所有书的书名和书号create view shu(书名,书号)as select title,ISBN from book;查看视图中的记录select
20、 * from shu;六、个人总结和体会 在完成本次的数据库大作业的过程中,自己还是收获了很多。为了完成本次的大作业,首先我在选题方面思考了良久,最后选择了网上书店管理系统这一题目,主要是现在网上购物的趋势越来越明显,网上书店也出现了很多,比如说:当当网,亚马逊等等,为了建立一个优秀的网上书店,就必须依托数据库来管理这一系统中庞大的数据量。在完成了选题之后,最关键也是做难的一步就是对这一系统进行需求分析。为了做好这一工作我查阅各种资料,了解了一般网上书店的运营模式,最后考虑到所学知识有限就抽取了一些基本的功能,虽然只是做了最基本的功能分析,我还是体会到了需求分析的重要性。然后就是根据获得的数
21、据(包括数据字典),建立了E-R图,建立E-R图是采用的是自底向上形成总的布局的,接着就是将就是E-R图转换为基本数据表,在这个过程中,为了使得到的基本表能够满足第三范式,我还对一些表进行了投影分解得到更小更基本的表。最后的任务自然就是在具体RDBMS实现这个数据库,我本次实验使用SQL-sever 2008,由于之前数据库上机过程中,自己已经把一些基本语句实现过,所以我在这一环节遇到的苦难到不是很到,而其他同学则纷纷表示有一定难度,从这件事情中我明白了不管做什么一定要注意平时的积累,不要把所有任务都拖到最好。同时,为了保证数据库使用的安全性,我还建立了一些基本的视图。至此,我的数据库大作业基本上就已经完成啦! 专心-专注-专业