数据库实验报告.docx

上传人:b****4 文档编号:5001513 上传时间:2022-12-12 格式:DOCX 页数:9 大小:18.18KB
下载 相关 举报
数据库实验报告.docx_第1页
第1页 / 共9页
数据库实验报告.docx_第2页
第2页 / 共9页
数据库实验报告.docx_第3页
第3页 / 共9页
数据库实验报告.docx_第4页
第4页 / 共9页
数据库实验报告.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

数据库实验报告.docx

《数据库实验报告.docx》由会员分享,可在线阅读,更多相关《数据库实验报告.docx(9页珍藏版)》请在冰豆网上搜索。

数据库实验报告.docx

数据库实验报告

数据库实验报告

  课程实验报告

  课程名称:

  学  号:

  V20XX41129

  姓  名:

  吴光艺

  指导老师:

  胡侃

  专业班级:

  计算机1402班

  报告日期:

  20XX年4月22日

  计算机科学与技术学院

  一.实验目的

  1.通过对某个数据库管理系统的安装使用,初步了解DBMS的工作环境和系统架构

  2.熟悉通过SQL对数据库进行操作,完成下面的SQL语句

  3.学习系统的备份功能,学习系统的身份、权限配置操作,了解系统的查询性能分析功能。

  4.熟悉通过sql对数据进行完整性检查性控制

  二.实验平台

  操作系统:

win7数据库管理系统:

  Server20XXR2交互式查询语言:

sql语言

  三.实验要求

  2.根据一下要求认真进行实验,记录所有的实验用例数据定义:

基本表的创建,修改和删除,视图的创建和删除。

  数据操作:

完成各类查询操作(单表查询,连接查询,嵌套查询,集合查询);完成各类更新操作(插入数据,删除数据,思想汇报专题修改数据,增加数据)

  视图的操作:

视图的定义(创建和删除),查询,更新(注意更新的条件)3.使用sql对数据进行完整性控制(触发器),用实例证实,当操作违反了完整性约束条件时,系统是如何处理的

  四.实验内容

  1.Sql练习部分:

  创建三个关系:

  商品表【商品名称、商品类型】

  GOODS【GNAMEchar(20),GTYPEchar(10)】

  主关键字为(商品名称)。

商品类型为(电器、文具、服装。

  商场【商场名称,所在地区】

  PLAZA【PNAMEchar(20),PAREAchar(20)】

  主关键字为商场名称。

所在地区为(洪山、汉口、汉阳、武昌。

  销售价格表【商品名称、商场名称、当前销售价格、目前举办活动类型】

  SALE【GNAME

  (10)】

  主关键字为(商品名称、商场名称)。

举办活动类型为(送券、打折),也可为空值,表示当前未举办任何活动。

表中记录如(‘哈森皮靴’,‘亚贸广场’,200,‘打折’),同一商场针对不同的商品可能采取不同的促销活动。

  CREATETABLEGOODS

  (

  GNAMECHAR(20)PRIMARYKEY,GTYPECHAR(10)char(20),PNAMEchar(20),PRICEFLOAT,ATYPEchar

  );

  --主关键字为(商品名称)。

商品类型为(电器、文具、服装。

  CREATETABLEPLAZA

  (

  PNAMECHAR(20)PRIMARYKEY,PAREACHAR(20)

  );----商场【商场名称,所在地区】

  CREATETABLESALE

  (

  GNAMECHAR(20),PNAMECHAR(20),

  PRICEFLOAT,

ESGOODS(GNAME),FOREIGNKEY(PNAME)REFERENCESPLAZA(PNAME)

  INSERTINTOGOODSVALUES('电风扇','电器');

  INSERTINTOGOODSVALUES('电脑','电器');

  INSERTINTOGOODSVALUES('彩电','电器');

  INSERTINTOGOODSVALUES('空调','电器');

  INSERTINTOGOODSVALUES('热水器','电器');

  INSERTINTOGOODSVALUES('钢笔','文具');

  INSERTINTOGOODSVALUES('练习本','文具');

  INSERTINTOGOODSVALUES('墨水','文具');

  INSERTINTOGOODSVALUES('书包','文具');

  INSERTINTOGOODSVALUES('橡皮','文具');

  INSERTINTOGOODSVALUES('西装','服装');

  INSERTINTOGOODSVALUES('衬衣','服装');

  INSERTINTOGOODSVALUES('裙子','服装');

  INSERTINTOGOODSVALUES('内裤','服装');

  INSERTINTOPLAZAVALUES('苏宁','洪山');

  INSERTINTOPLAZAVALUES('国美','洪山');

  INSERTINTOPLAZAVALUES('国泰','洪山');

  INSERTINTOPLAZAVALUES('家乐福','汉口');

  INSERTINTOPLAZAVALUES('大洋百货','武昌');

  INSERTINTOPLAZAVALUES('武商','武昌');

  INSERTINTOSALEVALUES('电风扇','苏宁',258,'打折');

  INSERTINTOSALEVALUES('电风扇','国美',288,'送券');

  INSERTINTOSALEVALUES('电风扇','中百',288,'');

  INSERTINTOSALEVALUES('电风扇','国泰',275,'送券');

  INSERTINTOSALEVALUES('电风扇','家乐福',188,'');

  INSERTINTOSALEVALUES('电脑','苏宁',5000,'打折');

  INSERTINTOSALEVALUES('电脑','国美',5200,'');

  INSERTINTOSALEVALUES('电脑','中百',6400,'打折');

  INSERTINTOSALEVALUES('电脑','国泰',5800,'送券');

  INSERTINTOSALEVALUES('彩电','苏宁',2700,'打折');

  INSERTINTOSALEVALUES('彩电','国美',2300,'送券');

  INSERTINTOSALEVALUES('彩电','大洋百货',2900,'');

  INSERTINTOSALEVALUES('热水器','苏宁',888,'打折');

  INSERTINTOSALEVALUES('热水器','国美',488,'打折');

  INSERTINTOSALEVALUES('热水器','中百',570,'');

  INSERTINTOSALEVALUES('热水器','大洋百货',620,'送券');

  INSERTINTOSALEVALUES('钢笔','中百',1,'打折');

  INSERTINTOSALEVALUES('钢笔','大洋百货',5,'');

  INSERTINTOSALEVALUES('钢笔','家乐福',3,'打折');

  INSERTINTOSALEVALUES('练习本','中百',12,'送券');

  INSERTINTOSALEVALUES('练习本','国泰',13,'');

  INSERTINTOSALEVALUES('练习本','家乐福',6,'');

  INSERTINTOSALEVALUES('墨水','中百',8,'送券');

  INSERTINTOSALEVALUES('墨水','国泰',10,'打折');

  INSERTINTOSALEVALUES('墨水','武商',15,'');下页

  数据库实验报告

  INSERTINTOSALEVALUES('书包','中百',88,'打折');

  INSERTINTOSALEVALUES('书包','家乐福',88,'');

  INSERTINTOSALEVALUES('书包','武商',188,'打折');

  INSERTINTOSALEVALUES('橡皮','中百',2,'打折');

  INSERTINTOSALEVALUES('橡皮','家乐福',5,'');

  INSERTINTOSALEVALUES('长裤','中百',188,'打折');

  INSERTINTOSALEVALUES('长裤','家乐福',388,'打折');

  INSERTINTOSALEVALUES('长裤','武商',590,'');

  INSERTINTOSALEVALUES('长裤','国泰',288,'送券');

  INSERTINTOSALEVALUES('短袖','中百',188,'');

  INSERTINTOSALEVALUES('短袖','家乐福',459,'');

  INSERTINTOSALEVALUES('短袖','武商',118,'');

  INSERTINTOSALEVALUES('短袖','国泰',268,'');

  INSERTINTOSALEVALUES('裙子','中百',288,'打折');

  INSERTINTOSALEVALUES('裙子','家乐福',488,'');

  INSERTINTOSALEVALUES('裙子','武商',588,'送券');

  INSERTINTOSALEVALUES('裙子','国泰',128,'');

  INSERTINTOSALEVALUES('短裤','中百',99,'');

  INSERTINTOSALEVALUES('短裤','家乐福',118,'打折');

  INSERTINTOSALEVALUES('短裤','武商',198,'');

  INSERTINTOSALEVALUES('短裤','国泰',88,'');

  updateSALE11

  SETATYPE='NULL'

  WHEREATYPE='

  ';

  6

  Tablegoods

  Tableplaza

  Tablesale

  7(转载于:

在点网)

  2.数据更新:

  1)向上述表格中用sql语句完成增、删、改的操作;

  2)编写一个触发器,并测试该触发器;

  3)将SALE表中的打折记录插入到新表SALE_CHEAP中,并基于SALE_CHEAP表创建一个统计每个商场各自打折商品平均价格的视图。

  CREATETABLESALE_CHEAP

  8

  (

  GNAMECHAR(20),PNAMECHAR(20),

  PRICEFLOAT,

  )

  INSERTINTOSALE_CHEAP(GNAME,PNAME,PRICE,ATYPE)

  SELECTGNAME,PNAME,PRICE,ATYPE

  FROMSALE

  WHEREATYPE='打折';

  CREATEVIEWP_SALE(PNAME,AVG_PRICE)

  AS

  SELECTPNAME,AVG(PRICE)

  FROMSALE_CHEAP

  GROUPBYPNAMEATYPECHAR(10),PRIMARYKEY(GNAME,PNAME),FOREIGNKEY(GNAME)REFERENCESGOODS(GNAME),FOREIGNKEY(PNAME)REFERENCESPLAZA(PNAME)

  9

  3.用SQL语句完成下述查询需求:

  1)查询所有以“打折”方式销售的商品的当前销售情况,并按照价格的降序排列;SELECTGNAME,PRICE

  FROMSALE

  WHEREATYPE='打折'

  ORDERBYPRICEDESC;

  2)查询所有没有任何活动的商品及其所在的商场,结果按照商品排序;

  10上页    下页

  数据库实验报告

  SELECTGNAME,PNAME

  FROMSALE

  WHEREATYPE=NULL

  ORDERBYGNAME;

  3)查询价格在200~XXX元之间的商品名称、所在的商场名称、价格,结果按照商场名称排序;

  SELECTGNAME,PNAME,PRICE

  FROMSALE

  WHEREPRICEBETWEEN200AND500

  ORDERBYPNAME;

  4)查询每种商品的最低价格、商品名称;

  SELECTGNAME,MIN(PRICE)

  FROMSALE

  GROUPBYGNAME;

  5)查询以“送券”方式销售的商品总数超过30种的商场名称;

  SELECTPNAME

  FROMSALE

  WHEREATYPE='送券'

  GROUPBYPNAMEHAVINGCOUNT(*)>15

  6)查询以“送券”方式销售的商品总数超过30种的商场所在地区;

  SELECTPAREA

  FROMPLAZA

  WHEREPLAZA.PNAMEIN

  (

  SELECTSALE.PNAME

  FROMSALE

  WHEREATYPE='送券'

  GROUPBYSALE.PNAMEHAVINGCOUNT(*)>1

  7)查询价格为下列取值之一的商品名称、所在商场名称、目前举办活动的类型,(88、188、288、388、488、588、888);

  SELECTGNAME,PNAME,ATYPE

  FROMSALE

  WHEREPRICEIN(88,188,288,388,488,588,888)

  8)查询以“老”字开头的所有商品的名称;(ps:

由于三个关系设计的时候没有注意题目的要求,所以没有符合的选项,故自己有另外建了一个)

  CREATETABLEGOODS

  (

  GNAMECHAR(20)PRIMARYKEY,GTYPECHAR(10)

  );

  --主关键字为(商品名称)。

商品类型为(电器、文具、服装。

  INSERTINTOGOODSVALUES('电风扇','电器');

  INSERTINTOGOODSVALUES('电视','电器');

  INSERTINTOGOODSVALUES('冰箱','电器');

  INSERTINTOGOODSVALUES('老花镜','电器');

  INSERTINTOGOODSVALUES('老干妈','电器');

  SELECT*

  FROMGOODS

  WHEREGNAMELIKE'老

  %';

  9)查询同时销售“剃须刀”和“电池”的商场名称;

  SELECTS1.PNAME

  FROMSALES1,SALES2

  WHERES1.PNAME=S2.PNAMEANDS1.GNAME='剃须刀'

  ANDS2.GNAME='电池'

  10)查询不举办任何活动的商场;

TPNAME

  FROMSALE

  WHEREATYPEISNOTNULL;

  11)查询所销售的商品包含了“校园超市”所销售的所有商品的商场名称。

TPNAME

  FROMSALESX

  WHERENOTEXISTS

  (SELECT*FROMSALESYWHEREPNAME='校园超市'

  ANDNOTEXISTS  (SELECT*FROMSALESZWHERESZ.PNAME=SX.PNAMEANDSZ.GNAME=SY.GNAME));

  2.软件功能学习部分

  

(1)学习系统的备份功能。

  利用SqlServer本身带有的备份功能(DTS)把数据库全部或者差额定时备份到某个目录,一旦备份成功,这时候在指定的备份目录下有.bak文件存在,选择SQLServer服务器的数据库,单击鼠标右键,选择“所有任务”选“备份数据库”即可

  

(2)学习系统的身份、权限配置操作。

  打开“SSMS—SQLServer实例—安全性—登录名”,右键选择“新建登录名”,选择身份验证模式(身份验证模式不同,帐户类型也不一样,),输入名字,并为该用户选择一个默认数据库(比如默认为master数据库)。

该账户建立好之后,建立数据库用户,以便用户可以访问数据库,对数据库进行操作。

我们在建立数据库用户时,其实就是映射登录用户,所以在一般情况下,我们的登录名和数据库用户名是一致的。

操作方法:

打开“SSMS—SQLServer实例—具体的数据库—安全性—数据库用户”;最后是在具体的数据库对象(比如表)上授予具体的权限,三种权限:

授予、回收、拒绝。

上页    下页

  数据库实验报告

  (3)了解系统的查询性能分析功能。

  查询优化有下面3种方法:

  A建立索引,建立“适当”的索引是实现查询优化的首要前提;

  B重写sql语句(即重写查询语句),SQLSERVER中有一个“查询分析优化器”,它可以计算出where子句中的搜索条件并确定哪个索引能缩小表扫描的搜索空间,也就是说,它能实现自动优化;

  C其他优化方法(调整参数,建立视图,临时表等)

  五.实验体会通过数据库的多次的上机实验,使我对数据库以及SQL语言有了一个更透彻的理解,对以前上课学习到的知识有了更深的认识,通过自己上机实验,对很多以前不是很清楚很明白的问题也有了更清醒的认识,在各种不同的环境中,也能够适时作出相应的调整,在某种程度上提高了自己对知识的领悟能力和学习能力。

  通过这次设计,我受益非浅,亲身体验了数据库设计的全过程,在实践中了解了数据库系统设计的步骤、流程以及思路,增长了在数据库设计方面的见识,我深刻认识到以前所学的基础课程的重要性,也使我们掌握了很多新知识,特别是一些课本之外的知识,体会到了理论知识和实践相结合的重要性。

  16上页

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 互联网

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1