欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    数据库课程设计——网上书店.doc

    • 资源ID:28439250       资源大小:347KB        全文页数:31页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据库课程设计——网上书店.doc

    Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date数据库课程设计网上书店实验八附页完成内容模板数据库原理与应用 2011 / 2012 学年 第 1 学期实验八 数据库设计姓 名:_ _学 号:_ _班 级:_ _指导教师:_ _计算机科学与工程学院一、系统需求分析1.1 系统要求(1)提供了全面,详细的图书购物入口,轻松实现快捷购买。 (2)可以通过不同分类进行导航,用最方便,最快捷的方式找到你需要的图书。(3)提供了图书购物所需的各种工具与网站,满足你的图书购买需求。(4)公正性很强 (大站.专站.小站)排列顺序分明.公平公正的图书网址TOP排行1.2 需求分析(主要完成功能分析,建立功能模块图)网上书店和现实书店区别比较:网上书店 优势:涉及范围广,经营成本低。 劣势:信用度如果低,影响生意;现实书店 优势:直观,信用度高。 劣势:涉及范围有限,经营成本高;现在有部分现实书店已经开始从网上书店进货了。本系统开发的目的是为了学习这样去做一个交互式的网页以及了解这种强大的网络编程工具,方便客户端和浏览器端之间的交流。数据库采用实用,易学的SQL Sever 2000,以Tomcat作为JSP的WEB服务器,XP作为系统运行平台。功能模块图:二、概念结构设计根据需求分析,作出概念结构设计的E-R图如下:管理员信息的E-R图:客户信息的E-R图:图书信息的E-R图:实体之间关系的E-R图:三、逻辑结构设计3.1 E-R图转换为关系模型Books(图书信息):该表记录了图书的相关信息,包括(bookid, bookname, author, pubdate, pubhouse, type, cover, price, salenum)。Order(订单信息):该表记录了订单的相关信息,包括(adminid, orderid, userid, username, bookid, orderdate, orderstate)。User (客户信息):该表记录了客户的相关信息:包括(userid, username, password, sex, age, phone, email, address, post)。订单信息视图(View_Order)包括(userid, adminid, bookid, orderdate, orderstate, price, salenum, username, phone, email, address, post)。3.2 数据库表的基本结构(用表格方式表示,参照实验2中给出的表的基本结构说明)根据逻辑结构设计,设计相应的表结构如下所示:图书表(Books),结构如下所示:列名说明数据类型约束bookid书号CHAR(6)PRIMARY KEYbookname书名VRCHAR(50)NOT NULLauthor作者VRCHAR(50)NOT NULLpubdate出版日期datetimeNOT NULLpubhouse出版社VRCHAR(50)NOT NULLtype类型VRCHAR(50)NOT NULLcover封面VRCHAR(50)NOT NULLprice价格SMALLINT大于0salenum 销售数量SMALLINTDEFAULT 100订单表(Order),结构如下所示:列名说明数据类型约束adminid管理员号CHAR(6)NOT NULLorderid订单号CHAR(6)NOT NULLuserid客户号CHAR(6)主码,引用User的外码username客户名VARCHAR(50)NOT NULLbookid书号CHAR(6)主码,引用Books外码orderdate订单日期datatimeNOT NULLorderstate订单状态VARCHAR(50)NOT NULL客户表(User),结构如下所示:列名说明数据类型约束userid客户号CHAR(6)主码username客户名VARCHAR(50)NOT NULLpassword密码SMALLINT大于0sex性别CHAR(2)取“男”或“女”age年龄SMALLINT大于0phone电话号码SMALLINT 大于0email邮箱地址VARCHAR(50)NOT NULLaddress住址VARCHAR(50)NOT NULLpost邮编SMALLINT大于0根据以上分析,建立视图把相关隐秘信息保护起来,设置一定的权限,让管理员便于管理客户,订单和图书,客户之间没有权限访问,避免数据的冲突,保持数据的完整性和一致性。四、SQL编程(主要包括创建表和创建必要的视图、触发器、存储过程等)建立图书表(Books):CREATE TABLE Books(Bookid char(6)PRIMARY KEY,Bookname varchar(50)not null,Author varchar(50) not null,Pubdate datetime not null,Pubhouse varchar(50) not null, Type varchar(50) not null, Cover varchar(50) not null, Price smallint check(price>0), Salenum smallint default 100,)建立订单表(Order):CREATE TABLE Order(Adminid char(6)not null,Orderid char(6)not null,Userid char(6) ,Username varchar(50) not null, Bookid char(6) , Orderdate datetime not null, Orderstate varchar(50) not null,PRIMARY KEY (Userid,Bookid),FOREIGN KEY (Userid) REFERENCES User(Userid),FOREIGN KEY (Bookid) REFERENCES Books(Bookid)建立客户表(User):CREATE TABLE User(Userid char(6)PRIMARY KEY,Username varchar(50)not null,Password smallint check(password>0),Sex char(2) check(Sex='男' or Sex='女'),Age smallint check(age>0),Phone smallint check(phone>0), Email varchar(50) not null,Address varchar(50) not null,Post smallint check(post>0),)建立订单信息视图(View_Order):CREATE VIEW View_OrderASSELECT * FROM User,Books,Order WHERE Books.bookid=Order.bookid User.userid=Order.userid User.username=Order.usernameORDER BY User.userid ASCGRANT ALL PRIVILIGES ON User,Books,OrderTO AdminidWITH GRANT OPTIONAND GRANT ALL PRIVILIGES ON Order,UserTO Userid;建立触发器:CREATE TRIGGER Update_Userid AFTER UPDATE ON UserFOR EACH ROWAS BEGINIF(new.Userid<>old.Userid) THEN INSERT INTO User VALUES( new.Userid,newUsername,new.Password,CURRENT_USER,CURRENT_TIMESTAMP);END IF;END;建立一个名为“check_user”的存储过程:create procedure check_user Orderid char(6), Usertype char(6), Userid varchar(50), Adminid varchar(50), Price smallint output, Salenum smallint output, Orderid char(6), Username varchar(50), Password smallint outputas begin if Usertype=Adminid -如果是管理员begin if exists (select Adminidfrom Orderwhere Adminid=Adminid) return 1else return 0 end else if Usertype=Userid -如果是客户begin if not exists(select Useridfrom Userwhere Userid =Userid ) elsebegin if (select Userid User where Userid is null)return 0 elsebegininsert into User(Userid,Username,Password) values(Userid,Username,Password)return 1select order from Order,Books,Userwhere Books.bookid=Order.bookid User.userid=Order.userid User.username=Order.usernameif(Orderid is null)return Orderidelse set Orderid=-1return Orderid end end执行存储过程:declare i intexec i=check_user 'N02','N03'print ideclare Order smallintexec Orderid '001',Order outputprint Order五、设计小结(本次设计小结,存在的问题,收获等) 通过这次课程设计我对数据库的编程语言有了深刻的了解,对SQL语言的简洁性和高效性有了自己进一步的体会,同时对数据库的一些设计模式也有了一个大致的认识与了解。 在整个程序的设计过程中,对软件编程的流程,包括需求分析、概要设计、详细设计等步骤又有了一个新的认识,尤其是需求分析的好坏在整个程序的设计中有着举足轻重的作用。需求分析没有做好,后面的步骤很容易受到负面的影响。-

    注意事项

    本文(数据库课程设计——网上书店.doc)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开