数据库实验4

合集下载

数据库系统实验报告4(简单图书馆管理数据库的实现)

数据库系统实验报告4(简单图书馆管理数据库的实现)

6
图书信息表:
2.还书后: 借阅信息表:
图书信息表:
备注: 1、表头及以下的栏目和内容,不得更改;其它栏目的位置可以适当调整,可以根据需要适当增加或减少 页。 2、本课程包含多次实验,请每次实验项目填写一份。
7
2
利用 sf_borrow,sf_return 进行借、还操作,并注意数据库中三个表的数据变化情况。 三、实验结果及分析 (一)创建数据库和数据表: 选择用企业管理器创建数据库、数据表
3
(二)数据相关操作: 1.查询:
2.删除:
4
删除后:
3.更新:
更新后:
(三)创建触发器、存储过程进行借还书操作: 1.针对借阅信息表的插入操作创建触发器,当借阅信息表进行插入操作时,自动根据书号,将图 书信息表相应记录的“状态”字段改为 0。 CREATE TRIGGER Insert_borrow ON dbo.借阅信息表 FOR INSERT AS begin update 图书信息表 set 状态=0 from Inserted i,图书信息表 t where t.书号=i.书号 end 2.针对借阅信息表的删除操作创建触发器,当借阅信息表进行删除操作时,自动根据书号,将图 书信息表相应记录的“状态”字段改为 1。
作者 sql c++ ms java c# net
状态 1 1 1 1 1 1
借书证号 1 2 3
姓名 张三 李四 王五
住址 学三 学四 学五
并对这两个表进行删除、更新、和查询等操作 三、创建触发器、和存储过程进行借、还书操作 1) 针对借阅信息表的插入操作创建触发器,当借阅信息表进行插入操作时,自动根据书号,将图 书信息表相应记录的“状态”字段改为 0。 2) 针对借阅信息表的删除操作创建触发器,当借阅信息表进行删除操作时,自动根据书号,将图 书信息表相应记录的“状态”字段改为 1。 3) 创建存储过程:sf_borrow,实现借书功能即:向借阅信息表进行插入操作,将书号、借书证 号,借书时间作为参数,并自动的将还书时间设置为借书时间后一个月。 4) 创建存储过程:sf_return,现实还书功能即:根据书号对借阅信息表进行删除操作,将书号 作为参数。

实验4 数据库备份与恢复实验

实验4 数据库备份与恢复实验

实验4 数据库备份与恢复实验1. 实验简介本实验旨在介绍数据库备份与恢复的基本概念和方法,以及如何在实际操作中进行数据库备份和恢复的步骤。

数据库备份是保护数据库中重要数据的重要手段,而恢复则是在数据库出现故障或数据丢失时,将数据库恢复到正常状态的重要方式。

2. 实验环境准备在开始本实验之前,需要准备以下环境:•安装并配置数据库管理系统(如MySQL、SQL Server等);•创建一个测试用的数据库,并插入一些测试数据。

3. 数据库备份的概念与方法数据库备份是指将数据库中的数据和结构以某种形式进行复制,并存储到其他设备或媒体中,以便在需要时可以恢复到原有的状态。

常见的数据库备份方法有以下几种:•完全备份:将整个数据库的数据和结构都备份到其他设备或媒体中;•增量备份:只备份自上一次备份以来新增、修改或删除的数据;•差异备份:只备份自上一次完全备份以来发生变化的数据;•增强备份:结合增量备份和差异备份的备份方法。

根据实际情况和需求,可以选择适合的备份方法进行数据库备份。

4. 数据库备份的步骤下面介绍一种常用的数据库备份步骤:步骤1:选择备份工具根据所使用的数据库管理系统,选择一个合适的备份工具。

常见的数据库备份工具有mysqldump、pg_dump、SQL Server Management Studio等。

根据具体情况,选择合适的备份工具。

步骤2:指定备份目标在备份工具中指定备份的目标。

可以选择备份到本地磁盘、网络共享文件夹、云存储等等。

根据具体需求,选择合适的备份目标。

步骤3:选择备份类型根据数据库备份的需求,选择备份类型。

可以选择完全备份、增量备份、差异备份或增强备份。

步骤4:执行备份操作根据选择的备份工具和备份方式,执行备份操作。

通常情况下,会生成一个备份文件,其中包含了备份的数据和结构。

步骤5:验证备份文件备份完成后,进行备份文件的验证。

可以通过还原备份文件到一个临时数据库,并检查数据的完整性和正确性来验证备份文件。

数据库实验四

数据库实验四

数据库实验四在学习数据库的过程中,实验是帮助我们深入理解和掌握相关知识的重要环节。

本次数据库实验四主要围绕着数据库的查询、更新以及数据完整性等方面展开。

实验的目的是让我们通过实际操作,更加熟练地运用 SQL 语句来处理数据库中的数据,同时加深对数据库原理和概念的理解。

在实验开始之前,我们首先需要准备好相关的数据库环境。

这包括安装数据库管理系统,如 MySQL 或 SQL Server 等,并创建好实验所需的数据库和数据表。

本次实验中,我们创建了一个名为“students”的数据库表,用于存储学生的基本信息,如学号、姓名、年龄、性别和所在班级等。

同时,还创建了一个名为“courses”的表,用于存储课程的信息,包括课程编号、课程名称和授课教师等。

接下来,就是实验的核心部分——数据查询操作。

通过使用 SQL 的 SELECT 语句,我们可以从数据库中获取所需的数据。

例如,要查询所有年龄大于 20 岁的学生信息,可以使用以下语句:```sqlSELECT FROM students WHERE age > 20;```除了简单的条件查询,我们还学习了如何进行多表连接查询。

比如,要获取同时选修了“数据库原理”和“操作系统”两门课程的学生信息,就需要将“students”表、“courses”表以及选课关系表进行连接查询。

数据更新操作也是实验中的重要内容。

通过使用 UPDATE 语句,我们可以对数据库中的数据进行修改。

但在进行数据更新时,一定要谨慎操作,确保更新的结果符合预期,避免造成数据的错误或丢失。

例如,如果要将某个学生的年龄增加一岁,可以使用以下语句:```sqlUPDATE students SET age = age + 1 WHERE student_id ='_____';```在实验过程中,数据完整性的维护也是至关重要的。

我们通过设置主键、外键以及各种约束条件,来确保数据的准确性和一致性。

数据库原理与应用实验四报告

数据库原理与应用实验四报告

数据库系统概论实验报告(四)姓名:田垒班级学号: 2010080405226学院:信息学院专业:计算机科学与技术2010年12月12日实验四、视图和索引一、实验目的(1)掌握建立、维护索引的方法(2)掌握建立、使用视图的方法二、实验平台操作系统:Windows 2000或者Windows XP。

数据库管理系统:Microsoft SQL Server 2000 或Microsoft SQL Server 2005。

三、实验内容1.使用SSMS创建视图向导通过SSMS的Create View Wizard创建新视图1)在SSMS中,展开“数据库”后,在视图处单击鼠标右键。

2)双击菜单“创建视图”3)选择表order4)选择字段Ono, Cno, Pno, Onum5)输入条件语句WHERE Onum >106)输入视图名称v_order8)在SSMS中的“数据库”→OrderMag→视图下查看视图v_order9)在查询窗口中输入并执行语句SELECT * FROM v_order10)结果如何?显示的字段是否为前面自己定义的字段?是11)删除视图v_order。

视图设计视图视图查看视图2.在查询中创建视图1) 建立一个视图,包括订单号、零件名称、顾客名称、订单金额等信息create view 客户信息asSELECT ame, o.Ono, s.pname, o.OsumFROM Orders o,store s,Customer c结果:2)建立一个视图,查询订单金额大于100元的大客户信息。

create view 大客户信息asSELECT *FROM Orderswhere Osum>100结果:3)建立一个视图,查询每个顾客签订订单的总金额create view 顾客签订订单的总金额asSELECT Cno,sum(Osum) 金额总数FROM Orders group by cno结果:3. 察看系统提供的示例数据库pubs上有哪些索引,是什么类型的,列表记录下来。

数据库实验4实验报告

数据库实验4实验报告

淮海工学院计算机工程学院实验报告书课程名:《数据库原理及应用》题目:T-SQL高级应用班级:软件132学号:***********名:***一.目的与要求1.掌握复杂查询的使用方法;2.掌握多表连接的方法;3.掌握SELECT语句在多表查询中的应用。

4.掌握数据汇总、外连接查询的使用方法;5.掌握事务定义的一般方法二.实验内容1.给出教材14-16的程序运行结果。

2.编写程序,查询“1033”班的最高分的学生的学号、姓名、班号、课程号和分数。

3.编写程序,创建一个新表,包含所有学生的姓名、课程名和分数,并以姓名排序。

4.编写程序,输出每个班最高分的课程名和分数。

5.在上次实验建立的factory数据库的基础上,完成如下各题:●删除factory数据库上各个表之间建立的关系;●显示各职工的工资记录和相应的工资小计。

●按性别和部门名的所有组合方式列出相应的平均工资。

●在worker表中使用以下语句插入一个职工记录:insert into worker values(20,’陈立’,‘女’,’55/03/08’,1,’75/10/10’,4),在depart表中使用以下语句插入一个部门记录:insert into depart values(5,’设备处’)。

再对worker和depart表进行全外连接显示职工的职工号,姓名和部门名。

然后删除这两个插入的记录。

●显示最高工资的职工的职工号、姓名、部门名、工资发放日期和工资。

●显示最高工资的职工所在的部门名。

●显示所有平均工资低于全部职工平均工资的职工的职工号和姓名。

●先显示worker表中的职工人数,开始一个事务,插入一个职工记录,再显示worker表中的职工人数,回滚该事务,最后显示worker表中的职工人数。

三.实验步骤删除factory数据库上各个表之间建立的关系的操作步骤如下:①启动SQL Server管理控制器。

②在“对象资源管理器”中展开LCB-PC服务器节点。

数据库实验报告四

数据库实验报告四

姓名:学号:专业班级:日期:实验四数据更新、视图的创建与修改一、实验目的1、学会使用INSERT、UPDA TE、DELETE等SQL语句进行数据更新;2、学会使用CREATE、DROP等SQL语句创建和删除视图。

二、实验内容1、在sql server2008中使用INSERT、UPDATE、DELETE语句进行数据更新。

2、在sql server2008中使用CREATE、DROP语句创建和删除视图。

三、实验步骤1、在数据库S-C的三个表中分别插入以下数据:学生表student:课程表course:成绩表sc:2、在sql server2008中:(1) 选择数据库S-C,用INSERT语句向学生表student中插入一个新生记录(学号:95020;姓名:陈东;性别:男;所在系:IS;年龄:18)。

(2) 在数据库S-C中建立一个新表deptage,其中一个字段存放系名,另一个字段存放相应得学生平均年龄;然后对学生表student按系分组求平均年龄,再把系名和平均年龄存入新表中。

3、在sql server2008用UPDA TE语句更改表中数据。

(1) 将所有学生的年龄都增加1岁。

(2) 将IS系全体学生的成绩置零。

(3) 分别运行SQL语句,观察运行结果。

4、在sql server2008中用DELETE语句删除表中数据。

(1) 删除学号为“95020”的学生记录。

(2) 删除IS系所有学生的成绩记录。

(3) 分别运行SQL语句,观察运行结果。

5、在sql server2008中用CREATE语句建立视图。

(1) 建立IS系学生的视图IS_student。

(2) 建立IS系选修了1号课程的学生的视图IS_s1。

(3) 建立IS系选修了1号课程且成绩载90分以上的学生的视图IS_s2。

(4) 分别运行SQL语句,观察运行结果。

6、在查询分析器中用DROP语句删除视图IS_student,并观察结果。

数据库实验四报告

数据库实验四报告

《数据库原理与应用》实验报告实验名称:班级:学号:姓名:一、实验目的(1)了解Oracle数据库中的用户管理,模式,权限管理和角色管理。

(2)掌握为用户分配权限的方法。

(3)了解为不同用户分配不同权限的目的及原因。

二、实验过程1.用系统帐户sys登录数据库,分别创建数据库内部用户user_one和user_two,创建时自己为用户分配帐户口令。

语句:create user user_oneidentified by 123456default tablespace userstemporary tablespace tempquota unlimited on users;create user user_twoidentified by 123456default tablespace userstemporary tablespace tempquota unlimited on users;执行结果:2.为了使两位用户登录数据库请为其授予相应的权限。

语句:grant create session to user_one;grant create session to user_two;执行结果:3.授予用户user_one在自己模式下创建表的权限,在任何模式下删除表的权限,授予用户user_two可以在任何模式下创建表的权限,查询任何模式下表中数据的权限和在任何模式下创建视图的权限。

语句:grant create table,drop any table to user_one;grant create any table,create any view,select any table to user_two;执行结果:4.分别用user_one和user_two登录,写出相应的SQL语句验证为其授予的权限。

(如果建立的表中有主键约束,需要预先授予user_one和user_two用户create any index的权限。

数据库原理与应用实验报告四

数据库原理与应用实验报告四

计算机工程系实验报告学生信息系别计算机学院专业计算机科学与技术班级17计科2+2 姓名徐浩俊学号2017031601025实验信息课程名称数据库原理与应用实验名称实验4 数据操作实验时间指导教师文琦批改情况成绩评阅教师文琦实验目标:1.掌握各种录入数据至数据库表的方法。

2.掌握修改数据库表中数据的方法。

3.掌握删除数据库表中数据的方法。

4.掌握复制数据库表的方法。

实验结果:利用shiyan4.sql文件中的脚本生成相应的数据库及数据表。

1.根据实验3.1步骤完成从Eecel工作表(非SQL Server数据源数据)导入SQL Server数据库表的方法(注意学生表S结构已存在),回答以下问题。

①请从素材中选择自己班级的Excel表格,若表格不满足数据库中的关系则需要稍加修改,再将表里的数据导入学生表S中。

导入是否会遇到问题?如何解决?无法直接映射,需要修改表格。

只保留一行名称。

②请将最后导入在数据库的数据截图。

③有无更简单的方法?有,直接在编辑表中粘贴数据。

2.将数据库表T的数据交互式录入并截图说明。

(P46)3.请使用SQL语句完成数据库表C的数据录入,将相应的SQL语句及最终存储的数据截图说明。

可否用一条insert into语句一次插入多行数据,如有,请描述相应的SQL语句。

USE jxskGOINSERT INTO C VALUES('C1','程序设计','60')GOUSE jxskGOINSERT INTO C VALUES('C1','课程1','60'),('C1','课程2','80'),('C1','课程3','100')GO4.完成实验3.2后,思考利用SQL语句完成以下问题。

①现将信息系归为计算机系,数据表T中哪些数据需要修改,请使用SQL 语句完成,并将最终修改后的数据截图。

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

任课教师:舒挺
《数据库原理及应用》
(2013-2014学年第1学期)




学号:
姓名:
班级:
实验四数据库的视图定义及维护
一、实验目的:
本实验的目的是使学生掌握视图的定义与维护操作,加深对视图在关系数据库中的作用的理解。

二、相关知识:
视图是根据子模式建立的虚拟表。

一个视图可以由一个表构造,也可以由多个表构造。

利用企业管理器和视图创建向导进行创建,查看和修改视图就如同对表的操作一样,非常容易。

三、实验内容:
本实验的主要内容是:
1)创建和删除视图
2)查询和更新视图
具体完成以下例题。

例1 建立信息系学生的视图
例2 建立信息系学生的视图,并要求进行修改和插入操作时仍须保证该视图只有信息系的学生。

例3 建立信息系选修了’ 1’号课程的学生视图
例4 建立信息系选修了’1’号课程且成绩在90分以上的学生视图
例5 定义一个反映学生出生年份的视图
四、实验步骤
1.创建视图
下面利用了SQL Server中提供的视图创建向导,来实现例3(建立信息系选修了1号
课程的学生视图)。

1)打开企业管理器窗口,确认服务器,打开数据库文件夹,选中新视图所在的数据库(此例为学生选课数据库)。

2)选择菜单:[工具]|[向导]
3)在如图1所示的向导选择对话框中,单击数据库左边的“+”号,使之展开。

选择“创建数据库向导”项,单击“确定”按键。

4)进入创建视图向导后,首先出现的是欢迎使用创建视图向导对话框,其中简单介绍了该向导的功能。

单击“下一步”后,就会出现选择数据库对话框。

5)在选择数据库对话框中,选择视图所属的数据库。

本例的数据库为“学生管理”。

单击“下一步”按键,则进入选择表对话框。

6)在选择表对话框中,列出了指定数据库中所有用户定义的表。

用户可以从中选择构造视图所需的一个表或者多个表,被选中的表成为构造视图的参考表。

选择构
造视图参考表的方法是:用鼠标单击表后的“包含在视图中”列,使复选框为选
中状态。

本例的数据库中只有student表和sc表,它们都应当被选中。

单击“下一步”按键,则进入选择对话框。

7)列选择对话框中以表格形式列出了创建视图参考表的全部属性,每个属性占表的一行,创建视图参考属性可以在表格中选出。

选择视图参考属性的方法是用鼠标
单击属性名后边的“选择列”列,使复选框为选中状态。

本例中student.sno,
student.sname和sc.grade属性要被选中。

单击“下一步”按键,进入创建视图的定义限制对话框。

8)在定义限制对话框中,输入表的连接和元组选择条件。

本例输入“Sdept=’IS’ AND student.sno = sc.sno AND o = ‘1’”。

单击“下一步”按键,出现视图名对话框。

9)在输入视图名对话框中输入所建视图的标识名。

本例的视图名为“IS—C1”。

单击“下一步”按键,则出现视图创建完成对话框。

在完成对话框中给出了根据前面对话框输入的内容译成的SQL语句。

您可以认真
阅读该SQL语句,如果发现与要求有不符合之处可以直接进行修改。

确认无误后单击“完成”按钮。

随后出现一个通知用户已成功创建视图的信息框,
单击“确认”按钮后,整个创建视图工作就完成了。

2.查看和修改视图
视图创建好后,就可以利用它进行查询信息了。

如果发现视图的结构不能很好地满足要求,还可以在企业管理器对它进行修改。

在企业管理器中修改视图结构需要首先选择服务器,数据库,并使数据库展开,然后用鼠标右击要修改的视图,在弹出的菜单上选择“设计视图”项,则弹出一个视
图设计对话框。

当对其修改完毕后关闭窗口,新的视图结构就会取代原先的结构。

3.将查询需求用SQL语言表示;在SQL查询分析器的输入区中输入SQL查询语句;设置查询分析器的结果区为Standard Execute(标准执行)或Execute to Grid(网格执行)方式;发布执行命令,并在结果区中查看查询结果;如果结果不正确,要进行修改,直到正确为止。

五、实验代码及结果
1、先还原数据库,并建立正确的关系图
2、创建视图
可通过SQL语句创建,也可直接单击鼠标右键,选择新建视图。

例1 建立信息系学生的视图
SQL语句
运行结果新增视图
视图界面
分析:CREAT VIEW语句的结果只是把视图的定义存入数据字典,并不执行其中的SELECT语句,只是对视图进行查看时,才将数据查出。

即建立IS_Student视图来存放信息系学生的查询结果,通过WHERE子句来给顶条件在student表中查询相应结果。

例2 建立信息系学生的视图,并要求进行修改和插入操作时仍须保证该视图只有信息系的学生SQL语句
运行结果新增视图
视图界面
分析:在定义IS_Student2视图时加上WITH CHECK OPTION子句,以后对该视图进行插入、修改和删除操作时,RDBMS会自动加上“Sdept=‘IS’”的条件,即可以保证该视图只有信息系学生。

例3 建立信息系选修了’ 1’号课程的学生视图
SQL语句
运行结果新增视图
视图界面
分析:在IS_Student3视图中包含了student表与sc表的同名列Sno,则需要在视图名后面明确说明视图的各个属性列名。

然后再根据具体条件进行查询。

例4 建立信息系选修了’1’号课程且成绩在90分以上的学生视图
SQL语句
运行结果新增视图
视图界面
分析:IS_Student4视图是建立以定义好的IS_Student3视图之上的。

在建立IS_Student4视图时,直接根据相应的条件在已经定义好的视图IS_Student3上进行进一步的查询而得到最后的结果。

例5 定义一个反映学生出生年份的视图
SQL语句
运行结果新增视图
视图界面
分析:IS_Student5视图是一个带有表达式的视图,视图中的出生年份可通过当前的年份减去年龄得到。

六、实验心得。

相关文档
最新文档