




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、云南大学软件学院实验报告课程:数据库原理与实用技术实验学期:任课教师:专业:学号:姓名:成绩:期末大作业:ElectronicVentor数据库设计一、实验目的(1)掌握数据库设计的基本方法(2)掌握各种数据库对象的设计方法(3)熟练掌握DBA必须具备的技能二、实验内容1、根据项目的应用和项目的需求说明文档,进行详细的需求分析,给出需求分析的结果。(1)客户可以在网站上注册,注册的客户要提供客户的姓名、电话、地址,以方便售后和联系,姓名即作为用户名,和密码一起用于注册和登录,客户编号可唯一识别用户,卡号可网上支付。其中地址、电话以方便联系和寄货;(2)网站管理员可以登记各种商品,供客户查询,订
2、购。登记商品时要提供商品的名称、价格,商店中现有商品量,商品编号可唯一识别商品;(3)类别表示商品所属类别,类别编号可唯一识别类别,其中包含了,商品类别名称和制造厂商,可以对商品进行分类售卖;(4)客户可以在网上下订单,也可以到实体店购物,其在订单上所选择的支付方式不同(信用卡、借记卡、现金,现金代表实体店购物),网站管理员可以查看订单,并及时将订单的处理情况更新(比如货物已寄出的信息,订单状态:0:未处理,1:已处理,2:已发货);订单编号可唯一识别订单,订单中包含订单产生时间,订单状态,支付方式和支付总额;(5)实体商店有自己的店名,卖多种商品,每个商店都有固定的地址,顾客可以到店中买商品
3、,(注:在实体店中购买商品的顾客一律将顾客名默认为佚名),当商店中的库存量小于10时会有提醒到仓库中拿货;(6)配送单中包含查询号可唯一识别配送单,配送人,联系方式;(7)仓库中仓库编号可唯一识别仓库,其中每个仓库都有区号,代表其地址。(8)各实体向关系1) 一个客户可以购买多种商品,一种商品可以被多个客户购买;2) 一个商品属于且仅属于一种类别,一种类别的商品可以包含多个商品或没有;3) 一种商品放在多个商店中销售,一个商店至少销售一种或销售多种商品;4) 一个订单对应一个客户,一个客户对应多个订单;5) 一个订单对应至少有一件商品或多件,一个商品对应多个订单;6) 一个订单可以有一个商品配
4、送单7) 一个仓库可以存放多种商品,一种商品可以存放在一个仓库;2、数据库逻辑设计:用文字简要描述实体之间的联系,画出E-R图(标出各联系中实体的基数)羯:号 dVar j kb 】 cJmr胜彦 1: ar b (51S码博址号-一士_-.三Vuiablt Ehurtcttri 5?.g*iEB,tle, zlkars.ciers 1 15 Nhi Sx (11JYaz-iatle z.haSzt*Tfi .It ?ZkuractiTi (20)窖口黄号鲁直卷关汜尸?:r-.Hr-二.一支订.-Hr t .工二 -:zDute & Tim=V&riable thu之 鱼(5Float客户-商
5、品:n-n;商品-类别:n-1;商品-商店:n-n;客户-订单:1-n;订单-商品:1-n;订单-配送当:1-1;仓库-商品:1-n3、数据库物理设计:将E-R图转换为数据表。需要给出详细的转换规则,对应生成的表,属性(主属性、描述性属性,多值属性,符合属性等),主键,外键,约束(取值是否NULL等),索引(三种类型的索引至少每种出现一次)等。7一三一5.-vurc ur i5)VBTGMT 151 ni3ie-?iE 11 DEd1ax 附eka- 2 白宜岳符号金惠inteccT float宜* 号 vueur 10- 订用材W iiatf t 二4 史利若式EFcJlU 斤三根春nizn
6、rriz 感里 floa-t在客户,配送单,类别中建立索引,有店金鹏靖号v1mkacOJW 啊区号 vckar(5)语句在 4题中如3中,有2个n-n关系,分生成订购表和销售表4、SQL中创建语句的使用:根据第二步中的结果,将相应的表,属性,主键,外键,约束等使用标准的SQLCREATE语句实现。(要求给出创建的标准语句,以及创建之后在SQL数据库中的脚本和截图)。createtable客户(客户编号char(5)notnullunique,姓名varchar(10),密码varchar(15),电话numeric(11),地址varchar(20),卡号char(19),constraint
7、PK_客户primarykey(客户编号);createtable类别(类别编号char(5)notnullunique,类别名称varchar(10),制造商varchar(10),constraintPK_类别primarykey(类别编号);createuniqueindex类别_PKon类别(类别编号ASC);createtable仓库(仓库编号char(5)notnullunique,仓库区号varchar(5),constraintPK_仓库primarykey(仓库编号);createtable商品商品编号char(5)notnullunique,仓库编号char(5)notnu
8、ll,类别编号char(5)notnull,商品名称varchar(50),价格float,constraintPK_商品primarykey(商品编号),constraintfk_仓库编号foreignkey(仓库编号)references仓库,constraintfk_类别编号foreignkey(类别编号)references类别);createuniqueclusteredindex客户_PKon客户(客户编号ASC);createtable订单(订单编号char(5)notnull,客户编号char(5),订购时间varchar(10),支付方式varchar(10),订单状态num
9、eric,总额float,constraintPK_订单primarykey(订单编号),constraintfk_客户编号foreignkey(客户编号)references客户);createtable配送单(查询号char(10)notnullunique,订单编号char(5)notnull,配送人varchar(10),联系电话numeric(11),constraintPK_配送单primarykey(查询号),constraintfk_订单编号foreignkey(订单编号)references订单);createclusteredindex配送_FKon配送单(订单编号ASC)
10、;createuniqueindex配送单_PKon配送单(查询号ASC);createtable商店(商店号char(5)notnullunique,商店名char(10),地址varchar(20),constraintPK_商店primarykey(商店号);createtable销售(商店号char(5)notnull,商品编号char(5)notnull,库存量int,constraintPK_销售primarykey(商店号,商品编号);createtable订购(订单编号char(5)notnull,商品编号char(5)notnull,数量int,金额float,constra
11、intPK_订购primarykey(订单编号,商品编号);0口E素统裴ndba合面十三dbe,订单0口dbm订购+ndbo,客户国dbd蝴+3dba配送单Jdb。商店工_dBd商品Edb0档售?!JtiI5、存储过程、触发器和视图:根据需要给数据库添加至少六个实用的存储过程、触发器和视图,并说明它们各自的功能。(需要给出语句执行的结果示意图)创建视图,查找商品名为苹果的商品createviewfind_goodsasselect商品编号,商品名称,价格from商品where商品名称like苹果createviewfinci_oad3百国selecl:商品编号f商品名称,侨格fxorr,商品L
12、whem商品名称,苹果为1|_j消息命令已成功完而日二J视圜国LjMMH-Idbo.find.goods日U列ijl商品(char(5),notnullH商界名称(varcharfSOlnull)囿价格田口或null)(2)创建视图,查找价格在3000-6000的商品createviewpriceasselect商品编号,商品名称from商品where价格3000and价格6000日createviewprice商品编号.商品名称工匚口皿商品Lwiiere价格3000-:.:!价格-.60。命叁已成功完成,,dbc.prKe日口列国商品编号(ehar(5Xnetnull)S商品名称tvarcb
13、sn(50)Fnull)(3)创建触发器,提醒店铺中库存量小于10的商品createtriggertrigger_alarmon销售afterupdateasif(select库存量from销售where库存量10)10printtriggerout:select商品编号,库存量from销售where库存量10returnSQLQuury3,ql-(y号ny口npc($&)*BM、-触发露与ql-未连播SQLQu”ift3型Im三/库存量fxorn鞘售.库存量二工口5000S-QLQueryl sql V/O (yanyanpc (54)”订单编号金额as总额工nm订购roupby订单编号-3
14、中工ng金额-5DOO|结果D消息订单墉号总的1!0WD100002!211220023(NXID422SOT4(N006SW0SODODS730060001021700(2)查找即购买了商品编号为S0001又买了S0002的客户select姓名from客户b,订单o,订购swheres.商品编号=s0001andb.客户编号=o.客户编号and。.订单编号=s.订单编号intersectselect姓名from客户b,订单o,订购swheres.商品编号=s0002andb.客户编号=o.客户编号and。.订单编号=s.订单编号QLQueryl.ql-YA.S(yanyanpc(54)*0s
15、elect姓名IE工皿客户已,订单露订购wheres.商品编号=20门口1,ab.客户编号”.客户编号andg.订单编号=3.订单编号intersectSelect姓名fmm客户端订单明订购3where小商品编号=港。口81一ab.客户编号=.客户编号and0.订单编号七.订单编号(3)按照顾客c0002消费的总额大小顺序排订单编号select订单编号,总额from订单where客户编号=c0001orderby总额descVAN/AN.business-dbO.订单SQLQueryl|章童冢ftE订单where客户编号=E(M)L-ordertoy,总,额desc也结果上消息一卫里隔号总额1
16、;D0OO41228004iimnii-Miiiiiiia!mri2DOOQ21220D30037800d000113400(4)查询订单编号为00003的配送信息selecto.订单编号,配送人,联系电话from订单o,配送单swhereo.订单编号=s.订单编号ands订单编号=00003YANVAN.business-dbd订单SQLQutryXfql-YA-J(yaHyaHpe(54)*一1二D二订单装百曲送入F联系电话from订单口,配送单a-whereci.订单编号道.订单编号and4订单编号二,0。口口丁rri查找同样买了商品编号为s0002的客户信息select客户编号,姓名,
17、电话from客户where客户编号in(select客户编号where订单.订单编号=订购.订单编号and订购.商品编号=s0002)(6)查询当日销售总额select订购时间,sum(总额)as营业额from订单groupby订购时间臼亨789订购时间口皿1总额营业额from订单-iroupby订购时间|fnr3结果11消息订解宿营it颉ilia-im-iHiiafUHiiini4i|12014/7/11J371002201477/12-7363032014/71334007、(选做)完成数据库的设计之后,根据自己所熟悉的编程语言(C、C+、JAVA),实现一个简单的程序,能够在程序中组装S
18、ELECT语句,链接创建的数据库,进行查询,并显示查询结果。若完成,请提供详细的代码清单(代码作为附件,附在本报告的最后)用JSP页面编写实现如下:.27business&JAX-WSWebServices由DeploymentDesqriptpr;bu5j急JavaResources中arcjtiom.ynG.myBusin&ss.;团BuildConnertionje|J|ConnectionBroleerJConne-ctionFactory片.LibrariesJavaScriptResource?&buildj2WebContent0META-INFWEB-LNF,busine5s.
19、jsp/4business及JAX-WSWebServices血De-ploymentDescriptor;bu$学JavaResources港srej出土匕而,yHU,myButiridTiBjildConnectionjE|jConnectionBroke-rpCoinne-ctionFactoriLibraries瞰JavaScriptResources:build已WebContentlBMETA-INFbWEBrCNF卜buine3sjsp8、实验小结。在本次实验中一共建立了9个表,完成了6条Select语句,6条关于视图、触发器和存储过程,在语句实现过程中,因为涉及内容比较广,差不
20、多把数据库语句全部复习了一遍才开始做,所花的时间较长,但也收益颇丰,对数据库的设计和实现也有了总体了解。最后在做选做时,选择了通过网页的方式实现,因为在做专业实训时也用了JavaEE这项技术,所以实现起来颇为得心应手。附件packagecom.ynu.myBusiness.db;importjava.sql.Connection;importjava.sql.SQLException;importjava.sql.ResultSet;importjava.sql.Statement;importcom.devdaily.opensource.database.DDConnectionBroke
21、r;publicclassConnectionBrokerimplementsBuildConnectionprivateStringdriver=null;privateStringurl=null;privateStringusername=null;privateStringpassword=null;privateintminConnections=0;privateintmaxConnections=0;privatelongtimeout=0;privatelongleaseTime=0;privateStringlogFile=null;privateDDConnectionBr
22、okerbroker=null;voidsetUp()/驱动包driver=com.microsoft.sqlserver.jdbc.SQLServerDriver/连接到数据库businessurl=jdbc:sqlserver:/127.0.0.1:1433;DatabaseName=business;username=sa;password=yym;minConnections=3;maxConnections=6;timeout=100;leaseTime=60000;/日志文件存储位置logFile=C:/D/DDConnectionBroker.log;broker=null;publicConnectiongetConnection()throwsSQLExceptiontry/construct(建立)thebroker(中间人)broker=newDDConnectionBroker(driver,url,username,password,minConnections
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 鱼票月半出品课件细胞器
- 高铁物品安全知识培训课件
- 2025年度财务人员年末考核个人工作总结
- 高速公路路政管理
- 电脑钉钉显示课件已过期问题
- 电脑遥控专业知识培训班课件
- 电脑绘画兴趣课件
- 电脑知识培训课程目录课件
- 20kV及以下配网工程勘察设计合同
- 电脑基本知识培训班课件
- 2024年二次离婚起诉状范文
- T-CCSAS014-2022《化工企业承包商安全管理指南》
- NB-T 10436-2020 电动汽车快速更换电池箱冷却接口通.用技术要求
- 简易财务报表附注模板
- 2024-2029年亚麻行业市场现状供需分析及市场深度研究发展前景及规划投资研究报告
- 教案教学策略与方法
- 行政法与行政诉讼法案例教程 课件全套 殷兴东 第1-8章 行政法的基本原理-行政赔偿
- 高中新班主任培训
- 新媒体运营与推广- 课程标准、授课计划
- 肝脏中医知识讲座
- 医学教育中的全科医学与专科医学的比较与协同
评论
0/150
提交评论