数据库实验二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 降序排列。

数据库实验报告v2

数据库实验报告v2
1.在企业管理器中Biblioteka 看SQL Server都有哪些数据库。
2.在企业管理器中创建一个新的数据库School,注意系统要求你输入了什么信息。
3.在企业管理器中查看上面新创建的数据库的属性,配置数据文件的自动增长选项。
4.使用查询分析器,创建以下几个表:
Student表(学生表),包含的字段有:Sno(学号),字符型,长度为6位数字,是Student表的主键。Sname(姓名),字符型,长度为4个汉字,不能为空。gender(性别),字符型,长度为1个汉字,只能接受‘男’和‘女’两个值,默认值为‘男’。age(年龄),整型,可以为空,但如果有值则必须在15岁和45岁之间取值。dept(系别),整型,可以为空,但如果有值必须在1到30之间取值。
向选课表中插入如下记录:sno为’95020’,cno为’1’;
向选课表中插入如下记录:sno为’95022’,cno为’6’;
向选课表中插入如下记录:sno为’95020’,cno为’2’,grade为100;
向选课表中插入如下记录:sno为’95020’;
向选课表中插入如下记录:cno为’1’;
8.可以为表定义哪些完整性约束?它们各自的作用是什么?
9.如果想要修改完整性约束,应该怎么办呢?
10.如果不为表定义声明性的完整性约束,我们还有什么别的办法来维护这些完整性约束呢?与声明性的完整性约束相比,它们的优、缺点又是什么呢?
11.能够随意对表及其完整性约束进行修改吗?这样做可能会有什么样的问题?举例说明。
向课程表插入如下记录:cno为’1’,cname为’数据库’,cpno为’5’,credit为4。
向课程表插入如下记录:cno为’2’,cname为’数学’,credit为2。

数据库实验二

数据库实验二

数据库实验二实验任务书(实验二)课程名称:数据库原理与技术实验报告要求:1. 列出所有的SQL语句和源代码;2. 程序要求有适当的注释;3. 对数据完整性约束实施要求给出相应的测试用例。

4. 实验报告提交电子档。

实验内容:存储过程与触发器1. 编写一段程序,将每种玩具的价格提高¥0.5,直到玩具的平均价格接近$24.5为止。

此外,任何玩具的最大价格不应超过$53。

原表代码执行操作后12. 创建一个称为prcCharges的存储过程,它返回某个定单号的装运费用和包装费用。

说明该段程序已经存储好了2CREATE PROCEDURE prcCharges @OrderNo char(6),@ShippingCharges money OUTPUT, @GiftWrapCharges money OUTPUT as SELECT@ShippingCharges=mShippingCharges,@GiftWrapCharges=mGiftWrapCharges FROM OrdersWHERE cOrderNo=@OrderNo3. 创建一个称为prcHandlingCharges的过程,它接收定单号并显示经营费用。

PrchandlingCharges过程应使用prcCharges过程来得到装运费和礼品包装费。

提示:经营费用=装运费+礼品包装费方法一:先创建这样一段程序然后再另一个过程执行执行操作3方法二:(1)首先创建一张临时表(2)创建进程prcCharges(3)创建进程prcHandlingCharges,在进程prcHandlingCharges中调用prcCharges(4)调用进程prcHandlingCharges给参数OrderNo为000001,并显示临时表temp中的内容44. 表PickofMonth中保存的是某年(iYear)某月(siMonth)某种玩具(cToyId)的销售总量(iTotalSold)。

数据库应用实验二

数据库应用实验二

数据库应用报告学院:计算机学院班级:姓名:学号:课程名称:数据库应用(实验二)第四章数据表与表数据1.实验目的1.了解SQL Sever的数据类。

2.了解数据表的结构特点。

3.学会使用对象资源管理器和T-SQL语句创建数据表。

4.学会在对象资源管理器中对数据表进行插入修改和删除数据操作。

5.学会使用T-SQL语句对数据表进行插入修改和删除数据的操作。

6.学会定义约束,使用默认值和规则。

2.实验准备参照4.1.1节给出的数据库样本,为数据表设计列名称、列类型、列宽度、是否允许为空、。

同时需要实施数据完整性,及PRIMARY KEY (主键)约束,FOREIGN KEY(外键)约束,UNIQUE(唯一)约束,CHECK(检查)约束,DEFAULT (默认值)约束,除此之外还需要默认值和规则。

3.实验内容和步骤1)独立实践:为学生考试管理创建对应的数据表stud_exam。

数据包括考试课程,考试类型,考试人数,考试时间,考试编号,监考人,考试班级,考试规则,考场记录等。

createtable stud_exam(Course nvarchar(20),CourseType nvarchar(20),Number int,testTime datetime,CourseIndex int,TestTeacher nvarchar(20),TestGrade nvarchar(10),TestRules text,TestRec text)2)独立实践:写几个批处理,完成下列任务:首先创建一个名为dept_code的院系代码表,然后构建一个无穷循环结构,插入数据到列表中,直到有10条记录。

用变量记录已存储到表中的记录数,当变量的值到达10时,使用BREAK 语句退出循环。

最后显示所输入的记录。

createtable dept_code(deptcode char(2),deptname nvarchar(20))godeclare @count intset@count = 1label:while @count > 0insertinto dept_code values(N'01',N'abc')if @count = 10breakelsegoto labelgoselect*from dept_codego3)独立实践:为表stud_info的zipcodee建立DEFAULT约束。

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

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

实验四数据备份策略与数据转移一、实验目的及要求本实验主要是要求学生根据设计数据库特点在企业管理器中对数据进行各种类型的备份和还原,对数据进行转储操作,主要要求有:●了解备份设备的作用,会使用备份设备●了解备份的类型和使用●学会用企业管理器对数据库进行数据库备份、还原。

●学会用企业管理器对数据库进行各种类型的数据转换二、实验原理及背景知识(一)数据库备份与还原备份:备份就是指对SQL Server数据库或事务日志进行复制,数据库备份记录了在进行备份这一操作时数据库中所有数据的状态。

如果数据库因意外而损坏,这些备份文件将在数据库恢复时被用来恢复数据库。

备份设备:备份或还原操作中使用的磁带或磁盘文件,备份设备是用来存储数据库、事务日志或文件和文件组的存储介质。

备份设备名称分为逻辑设备名称和物理设备名称。

如逻辑设备名称为SM_backup,而它的物理设备名称为d:\temp\SM.bak;备份内容主要是系统数据库、用户数据库和事务日志。

还原数据库的作用:数据库还原就是将数据库备份加载到SQL Server系统中的过程,备份是还原数据库最容易和最能防止意外损失的有效办法。

还原数据库时,系统会根据数据库备份文件自动创建数据库结构,并且还原数据库中的数据。

数据库备份对象:1、数据库:对整个数据库对象及状态进行备份。

2、文件和文件组:是指对数据库文件或文件夹进行备份,与数据库备份不同的是,其不对事务日志进行备份。

一般在完成文件或文件组备份后,应再进行事务日志备份。

数据库备份类型如下:1、完全备份:是对数据库的完整备份,包括所有的数据以及数据库对象。

优点:数据备份完整;恢复操作容易缺点:速度较慢;占用大量的磁盘空间适用场合:数据不是非常重要;损坏的数据手工恢复较容易;数据库变化频率不大2、事务日志备份:是指对数据库发生的事务日志进行备份,包括从上次进行事务日志备份、差异备份和数据库完全备份之后所有已经完成的任务。

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

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

《数据库原理与应用》实验报告(二)
----数据访问控制一、实验目的
熟练掌握表的创建和管理,会使用SQL语句来实现数据库中的表的相关操作。

二、实验内容
1、使用SQL命令CREATE创建基本表book0、reader0、borrow0。

2、使用ALTER命令修改基本表。

请将基本表book的bookname列宽改为40;
3、使用INSERT语句向基本表book0、reader0、borrow0添加记录。

4、使用SELECT命令进行数据查询。

三、实验总结
在实验中,遇到了以下问题,不过经过老师的讲解和自己的努力都取得了圆满解决。

1、实验室的电脑中已经创建了book,reader,borrow表,但我又不知道这些表的数据是否完整,所以我只能以book0,reader0,borrow0为表名创建新表并录入完整数据;
2、在录入数据的过程中,用到了大量相似的语句,在SQL*Plus中直接输入又容易出错,所以我先在Word文档中输入语句,检查没错误后,复制到SQL*Plus中执行;
3、查询语句的输入工作量大又极易出错,一个字母的少输或一个单词的输入错误都会出错,解决办法和2相同,先将语句输入Word文档,检查无误后,再复制到SQL*Plus 中执行,可极大的减少出错率。

数据库实验报告第二次

数据库实验报告第二次

数据库实验二学号:200901015 姓名:李鹏飞实验目的:认识并熟悉企业管理器,利用企业管理器创建数据库及表。

认识了解一些基本的SQL语句,并使用SQL语句建立数据库及表。

实验内容:一,企业管理器创建数据库及表1,打开企业管理器2,创建数据库右键单击数据库,在弹出对话框中选择新建数据库3,建立数据表数据库建立完成后,在新建立的数据库上单击展开节点,在子节点表上右键单击新建表,在这里,我建立一个学生基本信息表T_StuInfo,字段stuNum——学生学号stuName——学生姓名stuSex——学生性别stuDepNum——学生系别号stuMajorNum——学生所在专业号stuClassNum——学生所在班级的代号。

保存表,如图所示:二使用SQL语句创建数据库及表1,打开查询分析器由于刚打开,系统默认当前数据库为系统数据库master,在菜单栏中单击查询——更改数据库,选择已经建好的Students数据库2,在查询分析器中输入创建表语句,使用CREATE TABLE语句,新表的表名是Deparment.字段DepNum是系别的代号。

DepName是系别的名称。

语句及执行结果如图所示在查询分析器的对象浏览器中可以看到已经创建的表实验心得:本次实验初步认识了企业管理器和查询分析器,并且学会如何在企业管理器和查询分析器中建立数据库和数据表。

通过在企业管理器中简单的数据库的建立和数据表的建立,明白了在数据库管理系统中数据的组织方式。

使用SQL语句建立表这一种高效的方式执行表的创建工作,明白了现在的计算机程序中,前台代码是如何进行的数据库操作。

并且大致认识了SQL语句,对SQL语句有了初步的概念了解。

在以后的学习中,我会认真学习SQL语句,努力掌握用SQL语句进行数据库的相关操作。

《数据库原理》实验2——有答案

《数据库原理》实验2——有答案

《数据库原理》实验2——有答案实验二:管理SQL Server 2000数据库一、实验目的1.了解数据库常用对象及组成;2.熟悉SQL的基本概念和特点;3.熟练掌握T-SQL 语句中的数据定义的使用方法;4.熟悉在SQL Server 2000中创建及编辑数据库;5.熟练掌握SQL的数据定义子句的使用方法。

二、实验环境已安装SQL Server 2000企业版的计算机;具有局域网网络环境,有固定ip地址;三、实验学时2学时四、实验要求1.熟练使用Management Stuio界面方式创建及编辑数据库;2.熟练使用T-SQL 语句创建及编辑数据库;3.完成实验报告。

五、实验准备知识(也可参考SQL Server联机丛书)1.数据库相关属性1)逻辑名称:数据文件和日志文件名称2)文件类型:数据文件及日志文件3)文件组:各个数据文件所属的文件组名称4)初始大小:文件的最原始大小5)自动增长:文件按指定的大小增长,也可限制到最大容量。

6)路径:存放文件的物理目录7)文件名:显示数据文件和日志文件的物理名称2.默认数据库属性1)主数据文件为xx.mdf ,日志文件为xx_log.ldf;2)只有一个文件组Primary;3)主数据文件初始大小为3MB,增量为1MB;4)日志文件初始大小为1MB,增量为10%;5)主数据文件和日志文件都存放在C:\Program Files\Microsoft SQLServer\MSSQL.2\MSSQL\DATA目录下,文件分别为xx.mdf 和xx_log.ldf 。

3.使用界面创建数据库步骤【SQL Server Management Studio】→【对象资源管理器】→【数据库】→【新建数据库】→设置数据库相关属性(名称、大小、位置)4.启动SQL Server 2005查询分析器【SQL Server Management Studio】→【新建查询】5.命令方式下创建数据库CREATE DATABASE database_name /*指定数据库名*/[ON 子句] /*指定数据库文件和文件组属性[LOG ON 子句] /*指定日志文件属性*/6.命令方式修改数据库Alter database database_name{add file [,…n] [to filegroup filegroupname]|add log file [,…n]|remove file logical_file_name [with delete]|modify file六、实验内容及步骤1、假设SQL Server服务已启动,并以Administrator身份登录计算机(文件名称自定);请分别使用Management界面方式和T-SQL语句实现以下操作:1)要求在本地磁盘D创建一个学生-课程数据库(名称为student),只有一个数据文件和日志文件,文件名称分别为stu和stu_log,物理名称为stu_data.mdf 和stu_log.ldf,初始大小都为3MB,增长方式分别为10%和1MB,数据文件最大为500MB,日志文件大小不受限制。

北邮数据库实验二实验报告

北邮数据库实验二实验报告

北邮数据库实验二实验报告一、实验目的本次实验的主要目的是通过实际操作,深入理解和掌握数据库中的查询语句、连接操作以及数据的更新和删除等关键知识点。

同时,培养我们运用所学知识解决实际问题的能力,提高对数据库系统的操作熟练度和综合应用能力。

二、实验环境本次实验使用的数据库管理系统为 MySQL,开发工具为 Navicat Premium。

操作系统为 Windows 10。

三、实验内容及步骤(一)创建数据库和表首先,使用以下语句创建了一个名为“student_management”的数据库:```sqlCREATE DATABASE student_management;```然后,在该数据库中创建了两个表:“students”表和“courses”表。

“students”表的结构如下:|字段名|数据类型|约束|||||| id | INT PRIMARY KEY AUTO_INCREMENT |自增主键|| name | VARCHAR(50) |非空|| age | INT ||| gender | VARCHAR(10) ||创建“students”表的语句为:```sqlCREATE TABLE students (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50) NOT NULL,age INT,gender VARCHAR(10));```“courses”表的结构如下:|字段名|数据类型|约束|||||| id | INT PRIMARY KEY AUTO_INCREMENT |自增主键|| course_name | VARCHAR(50) |非空|| credit | INT ||创建“courses”表的语句为:```sqlCREATE TABLE courses (id INT PRIMARY KEY AUTO_INCREMENT,course_name VARCHAR(50) NOT NULL,credit INT);```(二)插入数据接下来,向“students”表和“courses”表中插入了一些示例数据。

数据库 实验二

数据库 实验二

数据库系统原理实验报告
实验步骤和结果:
1、利用SQL Server Studio创建学生数据库StudentDB,数据文件的存放在D盘上以自己的学号命名的路径下,文件个数可以自己设定。

2、用CREATE DATABASE语句来创建一个名为BOOK的数据库,存放在D盘上以自己的学号命名的路径下,它由10MB的主数据文件、5MB的次数据文件和5MB的日志文件组成。

并且主数据文件以1MB的增长速度其最大数据文件的大小为10MB,次数据文件以2MB的增长速度其最大次数据文件的大小为15MB,事务日志文件以1MB的增长速度其最大日志文件的大小为10MB。

3、在SQL Server Studio中将学生数据库的主文件大小改为11MB。

4、用ALTER DA TABASE语句修改BOOK数据库,为其增加一个次要数据文件(Book_data2.ndf),该文件的大小是5MB,最大可增长到20MB,以20%的速度增长。

5、利用SQL Server Studio为学生数据库增加一个文件组MyFilegroup。

提示:通过数据库属性→文件组进行修改。

6、用ALTER DATABASE语句为BOOK数据库增加一个文件组MyFilegroup1。

7、用ALTER DA TABASE语句为BOOK数据库增加两个次数据文件,并将他们放到MyFilegroup1文件组。

实验过程分析:。

数据库原理实验报告(2)实验二 数据库的创建、管理、备份及还原实验

数据库原理实验报告(2)实验二 数据库的创建、管理、备份及还原实验

南京晓庄学院《数据库原理与应用》课程实验报告实验二数据库的创建、管理、备份及还原实验所在院(系):数学与信息技术学院班级:学号:姓名:1.实验目的(1)掌握分别使用SQL Server Management Studio图形界面和Transact-SQL语句创建和修改数据库的基本方法;(2)学习使用SQL Server查询分析窗口接收Transact-SQL语句和进行结果分析。

(3)了解SQL Server的数据库备份和恢复机制,掌握SQL Server中数据库备份与还原的方法。

2.实验要求(1)使用SQL Server Management Studio创建“教学管理”数据库。

(2)使用SQL Server Management Studio修改和删除“教学管理”数据库。

(3)使用Transact-SQL语句创建“教学管理”数据库。

(4)使用Transact-SQL语句修改和删除“教学管理”数据库。

(5)使用SQL Server Management Studio创建“备份设备”;使用SQL Server ManagementStudio对数据库“教学管理”进行备份和还原。

(6)SQL Server 2005数据库文件的分离与附加。

(7)按要求完成实验报告3.实验步骤、结果和总结实验步骤/结果(1) 总结使用SQL Server Management Studio创建、修改和册除“TM”(教学管理)数据库的过程。

(2) 总结在实验中为创建、修改和删除“教学管理”数据库所编写的各条T-SQL语句及其完成了什么功能。

(3)总结使用SQL Server Management Studio备份与还原数据库的几种方法。

4.实验思考:①SQL Server 2005物理数据库包含了哪能几种类型的文件以及它们的作用?②数据库备份与转储包含那些原理?③如果数据或日志文件非空不能删除,查找SQL Server中缩小文件大小的方法。

  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同样会对数据库的完整性进行检查。

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

相关文档
最新文档