数据库实验二41245

合集下载

数据库原理与应用实验二

数据库原理与应用实验二

实验报告专用纸课程数据库原理与应用学院专业(班级)姓名学号日期实验2SQL Server数据库的管理一、实验目的1.了解SQL Server数据库的逻辑结构和物理结构的特点。

2.学会使用企业管理器对数据库进行管理。

3.学会使用Transact-SQL语句对数据库进行管理。

1.在企业管理器中创建studentsdb数据库。

二、实验内容及步骤(1)运行SQL Server管理器,启动企业管理器,展开服务器“(LOCAL)(Windows NT)”。

(2)右击“数据库”项,在快捷菜单中选择“新建数据库”菜单项。

在新建数据库对话框的名称文本框中输入学生管理数据库名studentsdb。

2.选择studentsdb数据库,在其快捷菜单中选择“属性”菜单项,查看“常规”、“数据文件”、“事务日志”、“文件组”、“选项”和“权限”页面。

3.打开studentsdb数据库的“属性”对话框,在“数据文件”选项卡中修改studentsdb数据文件的“分配空间”大小为2MB。

指定“最大文件大小”为5MB.在“事务日志”选项卡中修改studentsdb数据库的日志文件的大小在每次填满时自动递增5%。

4.启动查询分析器,在查询分析器中使用Transact-SQL语句CREATE DATABASE创建studb数据库。

然后通过系统存储过程sp_helpdb查看系统中的数据库信息。

成绩:教师签名:_____________实验报告专用纸课程学院专业(班级)姓名学号日期5.在查询分析器中使用Transact-SQL语句ALTER DATABASE修改studb数据库的设置,指定数据文件大小为5MB,最大文件大小为20MB,自动递增大小文1MB。

6.在企业管理器中为studb数据库增加一个日志文件,命名为studb_Log2,大小为5MB,最大文件大小为10MB。

成绩:教师签名:_____________实验报告专用纸课程学院专业(班级)姓名学号日期7.使用企业管理器将studb数据库的名称更改为student_db。

西北农林科技大学大数据库实习二

西北农林科技大学大数据库实习二

《数据定义和查询》实验报告一、实验目的1、掌握使用SQL语句创建和删除数据表,创建各种完整性约束。

2、掌握使用SQL语句修改表的结构。

3、掌握查询语句的使用方法,重点掌握连接查询和嵌套查询。

二、实验内容1、创建S,P,J,SPJ表S表P表J表SPJ表2.用SQL语句完成以下操作:(1)给S表增加Sphone和Semail两个属性列,分别用来存放供应商的联系电话和电子信箱。

(2)删除Jname属性列取值唯一的约束。

(3)将QTY属性列的数据类型修改为Integer型。

(4)删除S表中的属性列Semail3.在J表的Jname属性列上创建唯一性索引。

4.练习EXP和IMP命令的使用方法,使用EXP命令将数据表导出。

ExpImp5.完成以下查询:(1)查询所有供应商所在的城市。

(2)查询零件重量在10-20之间(包括10和20)的零件名和颜色。

(3)查询工程项目的总个数。

(4)查询所有零件的平均重量。

(5)查询供应商S3供应的零件号。

(6)查询各个供应商号及其供应了多少类零件。

(7)查询供应了2类以上零件的供应商号。

(8)查询零件名以“螺”字开头的零件信息。

(9)查询工程项目名中最后一个字为“厂”字的工程项目所在的城市。

(10)查询给每个工程供应零件的供应商的个数。

(11)查询供应数量在1000—2000之间(包括1000和2000)的零件名称。

(1)查询“信息管理与信息系统”专业学生的姓名和年龄。

(2)查询成绩在70-80分(包括70和80分)之间的学生的学号、课程号和成绩。

(3)查询107号课程的最高成绩。

(4)统计每个专业的学生人数。

(5)统计每门课程的修课人数和考试最高分。

(6)统计每个学生的选课门数和考试总成绩,并按总成绩的递减顺序显示结果。

(7)查询总成绩超过200分的学生,要求列出学号和总成绩。

(8)查询姓名为田丕龙的学生所学课程的课程名与学分。

(9)查询选修课程号为“160”或“304”的学生的学号。

数据库实验二数据库的平常维护和安全性管理

数据库实验二数据库的平常维护和安全性管理

北京邮电大学数据库系统概论实验二:数据库的日常维护和安全性管理专业:信息工程学生姓名:×××指导教师:×××完成时间:××××目录一、实验目的 (2)二、实验内容 (3)三、实验环境 (3)四、实验结果 (3)1、数据库备份 (3)①完整备份 (3)②差异备份 (4)2、数据库还原 (5)3、数据库导入 (7)4、数据库导出 (10)5、创建用户 (14)6、用户授权 (16)①一般授权 (16)②级联授权 (17)7、用户权利回收 (18)五、实验分析 (19)1、完整与差异 (19)2、新建查询的选择 (19)3、覆水难收? (20)4、语法的变迁 (20)六、实验总结 (21)1、实验目的1、熟悉通过SQL语句和DBMS对数据库进行日常简单维护操作。

2、熟悉数据库的安全性管理工具和命令。

二、实验内容1、完成数据库的备份、还原(1.5分+1.5分)通过SQL语句,对已建立的数据库StuManagement进行备份和还原操作2、完成数据的导入、导出操作(1分+1分): 直接在Management Studio中,手工对已建立的数据库StuManagement进行数据的导入和导出操作(可导为Access数据库、Excel表格等)3、安全性管理对已建立的数据库StuManagement进行,直接在Management Studio中,手工对已建立的数据库StuManagement进行安全性管理,建立2个不同的数据库用户。

(1+1分)4、完成“授权和权利回收”的操作例子(1.5分+1.5分)分别用grant和revoke语句,对已建立的用户,进行授权和权利回收的操作,并运行验证。

实验环境三、实验环境软件版本:SQL Server 20124、实验结果1、数据库备份①完整备份图1:完整备份消息提示图2:完整备份文件查看源代码:--将数据库StuManagement完整备份到磁盘文件上去BACKUPDATABASE StuManagementTO DISK='D:\SQLDATA\StuManagement_backup1.bak';②差异备份图3:差异备份消息提示图4:差异备份文件查看2、数据库还原图5:还原之前(无teacher表)图6:还原之后(重新出现teacher表)代码:--从备份StuManagement_backup1中还原数据库StuManagement RESTOREDATABASE StuManagementFROM DISK='D:\SQLDATA\StuManagement_backup1.bak'WITH RECOVERY,REPLACE;--只能选择master数据库数据库实验二报告3、数据库导入图7:选择数据源图8:选择目的地图9:导入成功信息提示图10:SQL Server 查看导入的表test数据库实验二报告4、数据库导出图11:选择导出数据源图12:选择导出目的地图13:选择导出内容图14:导出成功提示图15:资源管理器查看图16:Excel查看5、创建用户图17:新建用户图18:新建用户设置图19:新建用户查看6、用户授权①一般授权图20:对USER1授权之前进行UPDATE操作失败信息提示图21:授权后成功修改数据代码:--将修改表Student的权利授予用户USER1GRANT UPDATEON StudentTO USER1;②级联授权图22:USER1只有使用UPDATE的权限,不具有传播该权限的权限图23:级联授权后用户USER2具有UPDATE的权限代码:--将修改表Student的权利授予用户USER1,并且USER1能够传播该权限GRANT UPDATEON StudentTO USER1WITH GRANT OPTION;--通过USER1将修改表Student的权利授予用户USER2GRANT UPDATEON StudentTO USER2;7、用户权利回收图24:非级联收回用户USER1的UPDATE权限失败数据库实验二报告代码:--非级联回收用户USER1的UPDATE权限REVOKE UPDATEON StudentFROM USER1;图25:级联收回权限后用户USER1不能修改数据图26:级联收回权限后用户USER2也不能修改数据代码:--级联回收用户USER1的UPDATE权限REVOKE UPDATEON StudentFROM USER1CASCADE;5、实验分析1、完整与差异在实验中尝试了完整备份和差异备份两种不同的备份方式,从资源管理器中可以查看到,差异备份的文件大小要远远小于完整备份的文件大小,这与理论相符。

数据库实验二

数据库实验二

实验二:使用C语言操作MySQL数据库高宏程思瑶1. 实验目的在熟练运用MySQL基本命令和SQL语言的基础上,学会使用C语言访问MySQL数据库,并进行查询。

2. 实验环境Windows XP操作系统、MySQL 5.1.41关系数据库管理系统、MinGW编译器或Microsoft Visual C++编译器。

3. 实验步骤3.1 建立工程3.1.1 准备工作了解编程相关的资源文件。

MySQL安装路径下的include文件夹存放C语言编译相关的头文件(例如重要的mysql.h),lib文件夹存放相关的静态库(例如重要的opt/libmysql.lib)3.1.2 准备工作使用C语言编程环境(Code::Blocks或Visual C++)建立空白工程。

在该工程的编译和链接配置中,首先添加引用路径%MySQL安装路径%\include\其中“%MySQL安装路径%”为MySQL安装路径,在实验中心的计算机上为C:\Program Files\MySQL\include\然后,添加静态库路径%MySQL安装路径%\lib\opt\路径的具体添加方法因编程环境而异,请听从老师指导。

3.2 连接、断开MySQL服务器在程序中必须加入#define __LCC__,以避免在Windows操作系统下进行编译时产生的错误。

然后,在程序中加入#include <mysql.h>,让编译器能够找到所有MySQL Client的函数定义。

随后,使用mysql_init函数准备连接,mysql_init函数的声明为MYSQL *mysql_init(MYSQL *mysql);其参数和返回值均为类型为MYSQL的结构体的指针。

MYSQL结构体是连接MySQL服务器的句柄,每一个句柄代表程序与MySQL 服务器唯一的连接,所有insert,select,delete等操作都需要MySQL句柄作为参数以识别不同用户、数据库以及程序。

数据库原理及应用实验二

数据库原理及应用实验二

实验2.1 数据查询一、实验目的1.掌握利用T-SQL语言对数据库数据进行查询的方法,包括简单查询、多表连接查询以及嵌套查询。

2.理解在数据库表中对暑假的UNLL值的处理方式。

3.掌握T-SQL集合运算。

二、实验内容对提供的数据库LibraryLib,按以下要求进行查询操作:1.查询图书价格在15~30元之间的所有图书的书名、书号、出版日期、价格和库存册书,且结果按书号进行升序排序。

2.查询图书名称中包含“计算机”的所有图书信息。

3.查询借书应归还日期在2009年8月1日前的用户账户。

4.找出还没有联系电话的出版社信息。

5.查询所有图书的平均价格。

6.查询各个出版社的图书的平均价格。

7.查询已经归还且超期图书数至少超过2本德借书证号及其超期图书总数。

8.查询库存册数低于10的图书书名、库存数和其出版该图书的出版社名称。

9.查询一年相同月份里出版的不同图书的书名、出版日期和出版社标识。

10.查询用户信息和该用户的借出图书标识、应归还日期。

如果该用户没有借阅图书,只显示该用户信息。

11.查询借阅了“清华大学出版社”出版的图书且尚未归还的用户总人数。

12.查询借阅了书名包含“Delphi”和“编程”的图书且还未归还这些图书的用户姓名、图书名、应归还日期。

13.查询借阅图书应归还日期为“2009年8月1日”前且库存册数小于10的图书的用户姓名、所在院系、联系电话、借阅图书的出版社名称、书名。

14.找出和书号为“730200899X”的图书有相同购书数量的图书名称、书号、出版社标识及库存数。

15.查询图书价格高于出版该图书的出版社的所有图书平均价格的图书名称、出版社标识和图书价格。

16.查询在书库中的从来没有被读者借阅过的图书信息。

17.查询有图书价格大于或等于标识为“2”的出版社的所有图书价格的出版社标识。

18.查询每一本图书的书名、图书书号、出版社标识、图书价格及该图书书号的前一个书号。

19.利用集合运算,查询图书号为“5084-3567-7”或“7050191836”的图书名称、书号和库存册数。

数据库原理与应用实验12(二版)

数据库原理与应用实验12(二版)

第二篇课堂实验实验存储过程与触发器一、实验目的及要求本实验主要目的是让学生通过实验掌握存储过程的创建及使用方式、触发器的创建,具体要求有:理解存储过程的概念及类型,深刻理解存储过程的优点掌握创建各种存储过程的方法掌握调用存储过程的方法掌握查看、修改、删除存储过程的方法理解触发器的概念与类型理解触发器的功能及工作原理掌握创建、更改、删除触发器的方法掌握利用触发器维护数据完整性的方法实验原理及背景知识(一)存储过程知识存储过程是一种数据库对象,将执行计划存储在数据库的服务器中。

它的运行速度比独立运行同样的程序要快。

1、存储过程类型1)系统存储过程存储在master数据库中,以sp_为前缀。

可以在其他数据库中对其进行调用。

2)用户自定义存储过程由用户创建并能完成某一特定功能的存储过程,或称本地存储过程。

2、创建存储过程存储过程的三个组成部分:(1)所有的输入参数以及传给调用者的输出参数。

(2)被执行的针对数据库的操作语句,包括调用其他存储过程的语句。

(3)返回给调用者的状态值,以指明调用是成功还是失败。

3、T-SQL创建存储过程的基本语法格式:CREATE P ROC[EDURE]存储过程名称参数定义AS SQL语句(二)触发器知识触发器是一种特殊类型的存储过程,主要通过事件进行触发执行的。

可以实现由主键和外键所不能保证的参照完整性和数据的一致性;强化约束;跟踪变化;级联运行;存储过程的调用等功能。

1、触发器的种类1)AFTER触发器:只有对表执行某一操作这后,才能被触发。

可以为表的同一操作定义多个触发器,其触发次序可使用sp_settriggerorder 来完成。

2)INSTEAD OF触发器:并不执行其所定义的操作而仅是执行触发器本身,对同一操作只能定义一个in stead of 触发器。

2、INSERTED和DELETE[临时表插入一行时,INSERTED表保存了一份插入行的拷贝。

删除一行时,DELETED表保存了删除行的拷贝。

数据库第二次实验

数据库第二次实验

①查询借阅了类别为“环境”类图书的所有读者编号、姓名及单位;
②查询借阅过图书的读者编号、姓名及单位;
③查询姓名为“李明”的读者目前借阅的图书书号和书名;
④查询借书过期的所有读者姓名及所借图书名(假定借阅期为60天);
⑤查询没有借阅过图书的所有读者姓名;
⑥查询借出次数超过10次的所有图书的书号和书名;
⑦查询除已还的书以外,目前借了5本或以上图书的读者编号和姓名
⑧查询书库中除借出的图书外,现存的图书书号、书名、现存数量;
4 Defaul约束⑴

5、Check 约束⑴
⑵。

最新国家开放大学电大《MySQL数据库应用》网络核心课实验训练2及4答案

最新国家开放大学电大《MySQL数据库应用》网络核心课实验训练2及4答案

最新国家开放大学电大《MySQL数据库应用》网络核心课实验训练2及4答案盗传必究本课程分为形成性考核和终结性末考两种考核形式,形成性考核占50%(满分100分),末考为网络考试占50%(满分100),其中形成性考核为完成课程网站上的形考作业任务,形考作业均为主观题,包括四个实训:实训一:在MYSQL创建数据库和表,25分;实训二:数据查询操作,25分;实训三:数据增删改操作,25分;实训四:数据库系统维护,25分。

实验训练2:数据查询操作答案:实验目的:基于实验 1 创建的汽车用品网上商城数据库 Shopping ,理解 MySQL 运算符、函数、谓词,练习 Select 语句的操作方法。

实验内容:1. 单表查询【实验 2.1 】字段查询( 1 )查询商品名称为“挡风玻璃”的商品信息。

分析:商品信息存在于商品表,而且商品表中包含商品名称此被查询信息,因此这是只需要涉及一个表就可以完成简单单表查询。

( 2 )查询 ID 为 1 的订单。

分析:所有的订单信息存在于订单表中,而且订单用户 ID 也存在于此表中,因此这是只需要查询订单表就可以完成的查询。

【实验 2.2 】多条件查询查询所有促销的价格小于 1000 的商品信息。

分析:此查询过程包含两个条件,第一个是是否促销,第二个是价格,在商品表中均有此信息,因此这是一个多重条件的查询。

【实验 2.3 】 DISTINCT( 1 )查询所有对商品 ID 为 1 的商品发表过评论的用户 ID 。

分析:条件和查询对象存在于评论表中,对此商品发表过评论的用户不止一个,而且一个用户可以对此商品发表多个评论,因此,结果需要进行去重,这里使用 DISTINCT 实现。

( 2 )查询此汽车用品网上商城会员的创建时间段, 1 年为一段。

分析:通过用户表可以完成查询,每年可能包含多个会员,如果把此表中的创建年份都列出来会有重复,因此使用 DISTINCT 去重。

【实验 2.4 】 ORDER BY( 1 )查询类别 ID 为 1 的所有商品,结果按照商品 ID 降序排列。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

仲恺农业工程学院实验报告纸信息科学与技术学院网络工程专业 131 班组数据库原理及应用课学号 4123 姓名苏德实验日期教师评定实验二数据查询与修改一、实验目的1、掌握使用简单查询、连接查询以及嵌套查询完成数据查询的方法2、掌握应用SQL进行数据更新的方法;3、掌握视图的创建与更新方法。

二、实验内容第一部分:使用附加方式恢复数据库LibraryLib,完成如下各题:1、《数据库原理及应用实验指导》P45 1.数据查询练习(1)-(6)(1)查询各个超期罚款用户及其罚款总数,结果按罚款总数降序排列。

(2)查询已经超期一个月以上的还未归还图书的用户借书证编号。

(3)查询已经超期一个月以上的还未归还图书的用户名称、联系方式以及超期图书名。

(4)查询在同一天借阅了不同图书的用户借书证号。

(5)查询借书从来没有被超期罚款的用户信息。

(6)检索有图书所购册数大于或等于图书价格超过“50”的图书任一所购册数的图书的价格。

分析:先找出图书价格超过“50”的图书的所购册书假设a要查的是所购册数>= any a 的图书的价格第一部分:实验数据修改1.使用SQL语句向“用户信息表Users”中插入元组(用户标识:LiS;用户权限:1;密码:2;用户名称:李生;性别:男(0);部门:计算系;已借图书:0)。

问:本题可以省略into子句中的属性名吗如果要省略,需要注意什么2.向Publish(出版社信息) 表插入一条新的记录,在该记录中,出版社名为:国防工业出版社,地址为:北京市海淀大街籍海楼,出版社email为。

3.对每个出版社,求出所购图书总数和图书总价格,并把结果存入新建表“图书统计Temp_CNTBK”表中。

4.读者“ZouY”于今天通过管理员“LuoHH”借阅了一本“Visual FoxPro 及其应用系统开发”图书,使用T-SQL语句向Borrow表中插入该记录,并更改Book表中库存册书信息。

说明:本题有一定难度,请先思考如果插入这么一条记录,需要哪些信息,又如何获取到,关键是获取后将其存入一些变量中即可5.使用SQL语句将所有读者借书应归还日期向后延长一天。

6.将“清华大学出版社”的图书所购册书和库存册书增加10本。

7.删除所有实际归还日期为“2009-04-17”以前且所借图书的名称中含有“数据库”字样的超期罚款记录。

8.删除“出版社信息表Publish”中出版社名称为“机械工业出版社”的元组,讨论该删除操作所受到的约束。

第二部分:实验视图1.使用企业管理器创建一个行列子集视图View_Book,给出清华大学出版社的图书的的图书名称、书号、价格、书的页数和购买册书。

2.创建分组视图,将出版社标识及每个出版社的图书的最高价格和最低价格定义为一个视图。

3.创建一个基于题目1所建立视图的视图,定义一个视图,包括清华大学出版社的图书名称,以及购买该图书的总价格。

4.创建一个基于多个基表的视图,该视图由用户帐户、姓名、他在借书的名称组成。

5.查询用户“ZhangQF”所借图书的名称。

6.删除视图View_Publish。

第四部分:为选做题使用附加方式恢复数据库student-course,然后完成下述各题1. 查询计算机系(CS)、年龄在21岁以上的学生的姓名、年龄、出生年份;可能会用到函数getdate()以及Year()2. 查询信息系(IS)和计算机(CS)系学生年龄不在21-23岁之间的学生的姓名、系别和年龄;3. 查询所有名字里面第二个字为“敏”的学生的姓名、学号和性别;4. 查询选修了4号课程的学生的学号和成绩,查询结果按学号的升序和分数的降序排序;5. 查询出超过2个人选修且平均成绩大于82分的课程号和平均分。

6. 数据结构成绩高于平均分(数据结构)的学生名字、系别。

本题若改为:查询数据结构成绩高于它自己所选修课程的平均分的学生名字、系别,该怎么写查询语句。

7. 查询出所有课程平均成绩高于张立平均成绩的同学姓名。

三、实验步骤select UserID,FineMoneyfrom ExtraDateFeeOrder by FineMoney descselect BookIDfrom BorrowHistorywhere BorrowReturnDate-BorrowEndDate>30;select,UserTelephone,BookNamefrom Book,BorrowHistory,Userswhereand=and=;select distinctfrom borrow B1,borrow B2where!=and year=yearand month=monthand day=day;select*from Userswhere not exists(select UserIDfrom ExtraDateFeewhere=);selectfrom Book B1where>=(selectfrom Book B2where BookPrice>50)insertintoUsers(UserID,UserPassword,UserPower,UserName,UserSex,UserDepart,UserBorrowedBooks) values('LiS','1','2','李生','0','计算系','0');insertintoPublish(PublishID,PublishName,PublishAddress,PublishTelephone,PublishEmail,PublishP ostCode)values('3','国防工业出版社','北京市海淀大街籍海楼',' ','',' ');select BookPublishID,SUM(BookNum) As TotalBook,SUM(BookNum*BokPrice) as TotalP riceinto Temp_CNTBKfrom Bookgroup by BookPublishIDinsert into Borrowvalues(1,'ZouY',3,getdate(),getdate()+60,'LuoHH') update Bookset BookCurNum=BookCurNum-1where BookName='Visual FoxPro及其应用系统开发'update Borrowset BorrowEndDate=BorrowEndDate-1update Bookset BookNum=BookNum+10,BookCurNum=BookCurNum+10 where BookPublishID in(select PublishIDfrom Publishwhere PublishName='清华大学出版社’)delete from ExtraDateFeewhereBorrowReturnDate<2009-04-17and BookID in(select BookIDfrom Bookwhere BookName='%数据库%')delete from Publishwhere PublishName='机械工业出版社'create view V_publish(PublishID,maxBookPrice,minBookPrice )as select BookPublishID,max(BookPrice),min(BookPrice) from Bookgroup by BookPublishIDcreate view V_Book(BookName,SumBookName)as select BookName,sum(BookPrice*BookNum)from View_Bookwhere BookID in(select BookIDfrom Bookwhere BookPublishID in(selectPublishIDfrom Publishwhere PublishName='清华大学出版社'))group by BookNamecreate view V_Users (UserID,UserName,BookName) as select ,UserName,BookNamefrom Users,Book,Borrowwhere =and =create view V_Users (UserID,UserName,BookName)as select ,UserName,BookNamefrom Users,Book,Borrowwhere in (select UserID from Borrow)and in (select BookID from Borrow)select BookNamefrom V_Userswhere UserID='ZhangQF'Drop View View_Public四、实验总结1.用T-SQL语句对数据库进行插入、更新和删除操作,让我们更加熟悉SQL语言对数据库进行基本的操作。

在执行插入语句时会检查所插入元组是否破坏表上已定义的完整性规则,包括实体完整性、参照完整性、和用户自定义的完整性。

3.在修改数据时DBMS同样会对数据库的完整性进行检查。

在执行删除语句时,会检查所删除元组是否破坏表上已定义的参照完整性规则,检查是否不允许删除或是需要级联删除。

相关文档
最新文档