实验七 数据库的更新及视图的定义与维护

合集下载

实验七视图及SQL数据更新语句

实验七视图及SQL数据更新语句

实验七视图及SQL数据更新语句一、实验目的1.掌握视图的概念;2.熟练掌握视图的生成及操作语句;3.熟练掌握SQL数据更新语句;二、实验步骤构建数据表作为实验数据内容(数据表同实验六,参考实验六实验步骤)运行SQL SERVER服务管理器,确认数据库服务器开始运行。

打开查询分析器,选择刚才恢复的数据库exampleDB,输入SQL指令,获得运行结果。

任务:完成以下SQL数据更新语句(1)创建视图V_SupplyCount,显示供应商编号,以及该供应商供应的产品的品种数(非CategoryID),该视图包含两个字段:SupplierID、ProductCount。

(2)创建视图V_OrderCount,显示顾客编号,顾客所下订单的产品总金额(金额=单价×数量×折扣),该视图包含两个字段:CustomerID,TotalFee。

(3)通过视图V_SupplyCount,查出供应产品的品种数最少的供应商编号和供应商名称。

(4)通过视图V_OrderCount,查出所下订单的产品总金额最多的顾客编号和地址。

(5)再Region表中,添加一个新的地区:地区编号为5,地区描述为Central(6)将Suppliers表中的所有国家为法国的供应商信息内容添加到OldSuppliers中(7)将所有由职员Fuller(LastName)签订的订单运费降低10%(8)将所有美国顾客购买的订单单价调高20%(9)将订货数量最多的产品的单价上调5元(10)删除订单个数最少的职员的信息(11)删除所有没有下订单的顾客信息三. 实验结果与分析(上交实验报告)创建视图V_SupplyCount,显示供应商编号,以及该供应商供应的产品的品种数(非CategoryID),该视图包含两个字段:SupplierID、ProductCount。

create view V_SupplyCount(SupplierID,ProductCount)as select SupplierID,count(ProductID) from products group by SupplierID●创建视图V_OrderCount,显示顾客编号,顾客所下订单的产品总金额(金额=单价×数量×折扣),该视图包含两个字段:CustomerID,TotalFee。

实验七 数据库的更新及视图的定义与维护

实验七 数据库的更新及视图的定义与维护

实验七数据的更新及视图的定义与维护一.实验目的1.掌握使用SQL语言向数据库中插入数据、修改数据和删除数据等更新操作2.掌握视图的定义与维护操作3. 加深对视图在关系数据库中的作用的理解二.实验准备1.装有SQL Server 2005的PC机。

2. 成功创建各数据库、数据库表、并已插入各种数据。

三.实验内容11.打开“SQL Server Management Studio”窗口2.创建学生选课数据库“S_T”3.在学生选课数据库中完成以下插入数据的操作:(1)将一个新学生元组(学号:200215128;姓名:陈东;性别:男;年龄:18;所在系:IS)插入学生表中;(2)插入一条选课记录(‘200215128’,1);(3)对每一个系,求学生的平均年龄,并把结果存入数据库。

提示:首先在学生-选课数据库中建立一个新表,其中一列存放系名,另一列存放相应的学生平均年龄;然后对student表按系分组求平均年龄,再把系名和平均年龄存入新表中。

4.在学生选课数据库中完成以下修改数据的操作:(4)将学生200215121的年龄改为22岁;(5)将所有学生的年龄增加一岁;(6)将计算机科学系全体学生的成绩置零;5.在学生选课数据库中完成以下删除数据的操作:(7)删除学号为200215122的学生记录;(8)删除所有的学生选课记录;(9)删除计算机科学系所有学生的选课记录四.实验内容21. 在学生选课数据库中完成以下创建视图的操作:(1)建立信息系学生的视图,并要求进行修改和插入操作时仍须保证该视图只有信息系的学生;(2)建立信息系选修了“1”号课程的学生视图;(3)建立信息系选修了“1”号课程且成绩在90分以上的学生视图;(4)定义一个反映学生出生年份的视图;(5)将学生的学号及他的平均成绩定义为一个视图;(6)将Student表中所有女生记录定义为一个视图;2. 在学生选课数据库中完成以下删除视图的操作:(7)选择一个您所建的视图进行删除;3. 在学生选课数据库中完成以下查询视图的操作:(8)在信息系学生的视图中找出年龄小于20岁的学生;(9)查询选修了1号课程的信息系学生;4. 在学生选课数据库中完成以下更新视图的操作:(10)将信息系学生视图中学号为200215122的学生姓名改为“刘辰”;(11)向信息系学生视图中插入一个新的学生记录,其中学号为200215129,姓名为赵新,年龄为20岁。

数据库视图的定义及使用

数据库视图的定义及使用

数据库视图的定义及使用实验目的:掌握视图的用法,加深对视图作用的理解。

实验内容:1、创建、修改和删除视图。

2、利用视图进行查询。

实验步骤:说明:对视图的创建、修改和删除均可在可视化界面下操作。

在SQL Server企业管理器中,依次选择数据库――XSGL――视图――鼠标右击――新建视图。

然后通过单击按钮或右击鼠标第一格的空白区域,选择弹出菜单中的“添加表”。

然后拖拽主键到外键,建立关联,点击字段左边的方框选择输出字段。

仅以命令方式来操作:一、视图的创建:1.创建信息系学生信息的视图:create view IS_Student as select sno, sname, sage from student where sdept='IS'2. 创建信息系选修了1号课程的学生的视图:create view IS_S1 as select student.sno, cno, grade from student, sc where student.sno=sc.sno and sdept='IS' and cno='1'3. 建立信息系选修了1号课程且成绩在90分以上的学生的视图: create view as IS_S2 asselect * from IS_S1 where grade>=904. 创建一个反映学生出生年份的视图:create view BT_S(sno, sname, 出生年份) asselect sno, sname, year(date())- sage from student5. 将所有女生的记录定义为一个视图:create view F_student as select * from student where ssex='女'6. 将所有学生的学号和他的平均成绩定义为一个视图:create view S_G(sno, avg_grade) as select sno,avg(grade) from scgroup by sno二、视图结构的修改:6. 将视图F_student修改为信息系的所有女士的视图SQL Server中: alter view F_student as select * from student where ssex='女' and sdept='IS'说明: 视图结构的修改的AS 后的Select语句与创建视图的完全一致, 引入结构修改的目的是为了避免与视图相关的数据库对象的变换, 如触发器, 关联等三、查询视图7. 在信息系的学生视图中查询年龄小于20岁的学生:select * from IS_Student where sage<208. 查询信息系选修了1号课程的学生:select sc.sno, sname from IS_Student, scwhere IS_Student.sno=sc.sno and cno= '1'9. 在视图S_G中查询平均成绩在90分以上的学生的学号和平均成绩:Select * from S_G where avg_grade >=90四、更新视图:10.将信息系学生视图IS_Student中学号为”95002”的学生姓名改为”刘辰”: update IS_Student set sname='刘辰' where sno='95002'比较: update IS_Student set sname=’刘辰’ wheresno=’95003’ 此语句不能实现数据的更新.11. 向信息系学生视图IS_Student中插入一个新的学生记录, 学号为95029,姓名为”赵新”, 年龄为20岁:insert into IS_Student values('95029', '赵新',20)12. 删除信息系学生视图IS_Student中学号为95004的学生的记录:delete from IS_Student where sno='95029'五、删除视图:13. 删除视图IS_S1:drop view IS_S1思考:1. 创建所有学生的基本信息和选课信息的视图2. 基于上述视图查询各系学生各门功课的平均成绩.。

数据更新与视图操作实验报告

数据更新与视图操作实验报告
from shop
where shopaddress='北京'
WITH CHECK OPTION
③基于多个基本表的视图创建。
例:创建北京地区所有商店的销售记录视图V3。
create view v3(shopno,prono,amount,shopaddress)
as
select sale.shopno,prono,amount,shopaddress
prono ='p01'
基于分组视图的查询。
例:查询平均销售量大于100的商店名和平均销售量。
select amountavg,shopname
from v5
where amountavg>100
(3)更新视图
①视图上插入数据。
例:向视图V1中插入新商店(s05,农工商,北京)的信息。
例:向视图V1中插入新商店(s06,家乐福,上海)的信息。
from shop,sale
where shopaddress='北京'and
shop.shopno=sale.shopno
④基于视图的视图创建。
例:创建北京地区、销售量大于100的销售记录视图V4。
create view v4
as
select shopno,prono,amount shopadress
2.修改数据
(1)修改一行数据
例:将商店s02的商店名改为红五星。
(2)修改多行数据
例:将所有商品的价格增加100元。
3.删除数据
(1)删除一行数据
例:删除s05商店的基本信息。
(2)删除多行数据
例:删除苏果商店的所有销售记录。

数据库视图实验报告

数据库视图实验报告

数据库视图实验报告一、实验目的本次实验的主要目的是深入理解数据库视图的概念、特点和用途,并通过实际操作掌握如何创建、修改和使用视图来优化数据库的查询和管理。

二、实验环境本次实验使用的数据库管理系统为 MySQL 80,操作系统为Windows 10。

三、实验原理1、视图的定义视图是一种虚拟表,它是从一个或多个基本表(或视图)导出的表。

视图本身并不包含数据,而是根据定义从基本表中动态获取数据。

2、视图的优点提供数据的逻辑独立性:当基本表的结构发生变化时,只要视图的定义不变,用户通过视图所得到的数据仍然是一致的。

简化数据查询和操作:可以将复杂的查询定义为视图,使用户能够更方便地获取所需的数据。

增强数据安全性:可以通过视图限制用户对敏感数据的访问,只展示用户有权查看的部分数据。

四、实验内容与步骤1、创建视图使用以下语句创建一个名为`student_info_view` 的视图,该视图包含学生表`students` 中的学号、姓名、年龄和专业信息:```sqlCREATE VIEW student_info_view ASSELECT student_id, student_name, age, majorFROM students;```2、查询视图通过以下语句查询创建的视图:```sqlSELECT FROM student_info_view;```3、修改视图修改视图的定义,增加一个成绩列`grade` ,语句如下:```sqlALTER VIEW student_info_view ASSELECT student_id, student_name, age, major, gradeFROM students;```4、删除视图使用以下语句删除视图:```sqlDROP VIEW student_info_view;```五、实验结果与分析1、创建视图成功后,通过查询视图能够获取到预期的学生信息,证明视图的定义和数据提取是正确的。

数据库实验数据更新和视图的建立与使用

数据库实验数据更新和视图的建立与使用

实验五实验名称:数据更新和视图的建立与使用一、实验目的1.熟练使用INSERT/DELETE/UPDATE语句进行表的更新操作。

2. 理解视图的定义、视图的优点与视图的工作原理。

掌握在企业管理器和查询分析器中创建、修改及删除视图。

能够熟练掌握利用视图向表中插入、删除和修改数据。

二、实验原理1.数据更新操作只能针对一个表进行,即每次只能在一个表中插入、删除和修改数据。

用INSERT语句可以通过使用V ALUES关键字一次只向一个表插入一条记录,也可以通过子查询向一个表中插入若干条记录;当使用DELETE和UPDATE语句实现表的删除和更改时,若题目中涉及多个表的信息,可以使用子查询来挑选出部分数据,以作为删除或更改的条件,也可以在语句中用FROM 子句给出题目中涉及的所有表,而在WHERE子句中给出多个表之间的连接条件。

2. 利用CREATE VIEW、ALTER VIEW 、DROP VIEW语句创建、修改及删除视图。

由于视图是虚表,通过视图向表中添加数据时必须满足一定的条件。

如果视图引用了多个数据表,那么在通过视图向数据表中添加数据时,这个语句只能指定同一个表中的字段。

如果通过一个引用了多个数据表的视图向这些数据表中添加数据时,必须书写多个INSERT语句。

通过使用多个表的视图对数据表进行更新也需要书写多个UPDATE语句,另外适用于INSERT操作的许多限制同UPDATE操作。

使用DELETE语句可以通过视图将数据表中的数据删除。

但如果视图应用了两个或两个以上的数据表,则不允许删除视图中的数据。

另外,通过视图删除的记录,不能违背视图定义的WHERE子句中的条件限制。

三、实验设备安装有SQL SERVER 2005的计算机。

四、实验内容凡是能用多种方法实现的,请用多种方法实现。

1、为各表添加若干条记录,必须符合实验二中设定的各种约束。

2、将每个员工的薪水上调10%。

3、删除sales表中作废的订单(其发票号码为‘I000000004’),其订货明细表中的数据也一并删除。

数据库实验视图索引及数据更新

实验三视图、索引及数据更新一、实验目的:熟练掌握索引的建立与删除的方法,熟练掌握SQL的应用,熟练掌握数据插入、修改和删除的使用,为后继学习作准备。

一、实验属性(验证性)1.了解并掌握SQL查询分析器及企业管理器的使用;2.掌握基本表的定义、删除与修改。

三、实验仪器设备及器材1.安装有windows操作系统计算机。

2.安装有Oracle11g和SQL Server的计算机。

3.安装有Visual Studio .net和Java编译器(eclipse、Netbean等)的编译器。

4.计算机具备网络环境。

四、实验要求(预习、实验前、实验中、实验后等要求)1.预习教材第三章,熟悉SQL语句。

2.熟悉.net、Java和Delphi 开发环境。

3.能够熟练掌握.net、Java和Delphi环境下的数据库的编程。

4.掌握建立索引的二种方法,即在基本表中建立和用命令方式建立。

5.掌握删除索引的方法。

6.掌握sql视图建立、修改和删除;7.掌握sql视图查询。

8.掌握sql数据插入、修改和删除语句的一般格式及使用方法。

五、实验原理SQL语言应用。

六、实验步骤:(1)启动Oracle的SQL Developer或者SQL Plus,或者SQL Server 查询分析器;(2)对于Oracle11g的SQL Plus需要进行登录,对于Oracle11g的SQL Developer需要进行建立连接。

如果选择SQL SERVER查询分析器,需要选择数据库;1 建立索引例3.1为学生选课数据库中的Students,Courses,SC三个表建立索引。

其中Students表按Sno(学号)升序建唯一索引,Courses表按Cno(课程号)升序建唯一索引,SC表按Sno(学号)升序和Cno(课程号)号降序建唯一索引。

create unique index stusno on students(sno);create unique index coucno on courses(cno)create unique index rep_scno on sc(sno,cno desc);例3.2 在基本表Students的Sname(姓名)和Sno(学号)列上建立一个聚簇索引,而且Students中的物理记录将按照Sname值和Sno值的升序存放。

数据库实验—视图定义与操作

数据库实验—视图定义与操作(1)定义“IS”系学⽣基本情况视图V_IS 并查询结果create view V_ISasselect Sno, Sname, Sage from S where Sdept ='IS';(2)将S,C,SC表中学⽣的学号,姓名,课程号,课程名,成绩定义为视图V_S_C_G并查询结果create view V_S_C_Gss select S.Sno, Sname, o, Cname, Gradefrom S, C,SC where S.Sno = SC.Sno and o = o;(3)将各系学⽣⼈数,平均年龄定义为视图V_NUM_AVG并查询结果create view V_NUM_AVGas select count(Sno) as NUM, avg(Sage) as AVGfrom S group by Sdept;(4)定义⼀个反映学⽣出⽣年份的视图V_YEAR并查询结果create view V_YEARas select (2020 – Sage) as YEAR from S;(5)将各位学⽣选修课程的门数及平均成绩定义为视图V_AVG_S_G并查询结果create view V_AVG_S_Gasselect count(Cno) as NUM, avg(Grade) as AVGfrom SC group by Sno;(6)将各门课程的选修⼈数及平均成绩定义为视图V_AVG_C_G并查询结果create view V_AVG_C_Gasselect Cno,count(Sno) as NUM,avg(Grade) as AVGfrom SC group by Cno;(7)查询平均成绩为90分以上的学⽣学号、姓名和成绩select Sno,Sname, Grade from V_S_C_Gwhere Sno inselect Sno from V_S_C_Ggroup by Snohaving avg(Grade) >=90;(8)查询各课成绩均⼤于平均成绩的学⽣学号、姓名、课程和成绩select*from V_S_C_Gwhere Sno in(select X.Sno from V_S_C_G Xwhere not exists(select Y.Grade from V_S_C_G Ywhere Grade <=(select avg(Grade) from V_S_C_G Zwhere (o = o) and (X.Sno = Y.Sno))));(9)按系统计各系平均成绩在80分以上的⼈数,结果按降序排列select Sdept,count(Sno) as NUM. from Swhere Sno in(select V_S_C_G.Sno from V_S_C_Ggroup by V_S_C_G.Snohaving avg(Grade)>=80)group by Sdept;(10)通过视图V_IS,分别将学号为“S1”和“S4”的学⽣姓名更改为“S1_MMM”,”S4_MMM”并查询结果update V_IS set Sname = ‘周芷若’ where Sno = ‘1’;update V_Is set Sname = ‘乔峰’ where Sno = ‘4’;select*from S;(11)通过视图V_IS,新增加⼀个学⽣记录 ('S12','YAN XI',19,'IS'),并查询结果insert into V_IS(Sno ,Sname, Sage,Sdept) values('S12', 'YAN XI', 19. 'IS')(12)通过视图V_IS,新增加⼀个学⽣记录 ('10','⽊婉清',19,'IS'),并查询结果insert into V_IS(Sno, Sname, Sage, Sdept)values('10','⽊婉清',19,'IS');select*from S;(13)通过视图V_IS,删除学号为“S12”和“S3”的学⽣信息,并查询结果delete from V_ISwhere Sno = ‘s12’ or Sno = ‘S3’(14)要通过视图V_S_C_G,将学号为“S12”的姓名改为“S12_MMM”,是否能实现?可以;update V_SC_G set Sname = ‘S12_MMM’where Sno = ‘S12’;(15)要通过视图V_AVG_S_G,将学号为“S1”的平均成绩改为90分,是否可以实现?不能实现。

实验 7 视图及数据更新

学号姓名同组学生姓名
一、课程名称:数据库技术
二、实验名称:视图及数据更新
三、实验地点与实验环境:
装有SQL Server 2005的PC机
四、实验内容
1.在BooksDB库中以“图书”表为基础,建立一个名为“V_机械工业出版社图书”的视图。在使用该视图时,将显示“图书”表中的所有字段.
2.在V_机械工业出版社图书的视图中找出价格在50元以上的图书。SET名='统计学原理'
WHERE书号='1010';
4.INSERT
INTOV_机械工业出版社图书
VALUES('1011','数学','高等数学','机械工业出版社','李国','25','7','7');
5.INSERT
INTO借阅(串号,书号,读者编号,借阅日期)
VALUES('15','1002','1008','2012-3-5');
6.UPDATE图书
SET库存=库存+1
WHERE书号='1005';
六、得分:
实验指导教师:年月日
6. 1010号读者归还在2001年5月4号借阅的1005号图书1本,请用SQL语句完成上述还书操作。
五、实验步骤、结果或结论:
1.CREATEVIEWV_机械工业出版社图书(书号,类别,书名,出版社,作者,价格,总藏书量,库存)
AS
SELECT书号,类别,书名,出版社,作者,价格,总藏书量,库存
FROM图书
将机械工业出版社图书视图v机械工业出版社图书中书号为1010的图书名称改为统计学原向机械工业出版社图书视图v机械工业出版社图书中插入一条新图书记录其中书号为1011类别为数学高等数学作者为李国价格为25总藏书量为7库存为7

实验七 视图的创建与使用

实验七视图的创建与使用学号 ____ 姓名______ 班级________专业__________________一、实验目的1)理解视图的概念。

2)掌握创建视图、测试、加密视图的方法。

3)掌握更改视图的方法。

4)掌握用视图管理数据的方法。

5)了解分区视图的实现方法。

二、实验内容说明:在所有库文件名与表名取名时,请各位同学在所给定的文件名后加上下划线及学号后四位数字构成自己的实验数据库名与表名。

如:XSGL1_20051101.创建视图是数据库应中的常见需求,可以使用企业管理创建、管理视图,也可以用T-SQL 语言创建、管理视图。

1、用创建视图向导创建视图使用视图向导创建一个名为studview的投影视图,该视图从student表中查询出班级号为“052”班的所有学生的学号,姓名,性别,班级,家庭住址,入学时间,出生年月资料。

(提示:分别进入企业管理器,再分别单击“工具”、“向导”、“数据库”、“创建视图向导”,然后一步一步地创建视图。

)基本步骤:2、用企业管理器创建、管理视图(1)创建视图A、使用企业管理器在表student上创建一个能查询“051”班学生学号、姓名、家庭住址信息的投影视图。

1)依次进入企业管理器、数据库、XSGL库,并用鼠标右键单击“视图”。

2)在系统弹出的快捷菜单中单击“新建视图”,出现“新建视图”窗口。

如图所示:3)最上面的一个窗格用于添加创建视图的基础对象,在其上按鼠标右键,单击快捷菜单中的“添加表”,将表student添加到此窗格中,上面第二个窗格用于选择进入视图的列,分别选择相应字段:在查询条件窗格中输入查询条件:,输入where子句,最后一个窗格为视图结果窗口。

4)单击工具栏,执行按钮“!”,观察执行结果是否正确。

若正确,则单击“保存”按钮,输入文件名:stuview1,再单击“确定”按钮,视图创建完成。

B、使用企业管理器在表student、course、sc表上创建一个能检索学生的学号、姓名、学习课程号、学习课程名及课程成绩。

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

实验七数据的更新及视图的定义与维护
一.实验目的
1.掌握使用SQL语言向数据库中插入数据、修改数据和删除数据等更新操作
2.掌握视图的定义与维护操作
3. 加深对视图在关系数据库中的作用的理解
二.实验准备
1.装有SQL Server 2005的PC机。

2. 成功创建各数据库、数据库表、并已插入各种数据。

三.实验内容1
1.打开“SQL Server Management Studio”窗口
2.创建学生选课数据库“S_T”
3.在学生选课数据库中完成以下插入数据的操作:
(1)将一个新学生元组(学号:200215128;姓名:陈东;性别:男;年龄:18;所在系:IS)插入学生表中;
(2)插入一条选课记录(‘200215128’,1);
(3)对每一个系,求学生的平均年龄,并把结果存入数据库。

提示:首先在学生-选课数据库中建立一个新表,其中一列存放系名,另一列存放相应的学生平均年龄;然后对student表按系分组求平均年龄,再把系名和
平均年龄存入新表中。

4.在学生选课数据库中完成以下修改数据的操作:
(4)将学生200215121的年龄改为22岁;
(5)将所有学生的年龄增加一岁;
(6)将计算机科学系全体学生的成绩置零;
5.在学生选课数据库中完成以下删除数据的操作:
(7)删除学号为200215122的学生记录;
(8)删除所有的学生选课记录;
(9)删除计算机科学系所有学生的选课记录
四.实验内容2
1. 在学生选课数据库中完成以下创建视图的操作:
(1)建立信息系学生的视图,并要求进行修改和插入操作时仍须保证该视图只有信息系的学生;
(2)建立信息系选修了“1”号课程的学生视图;
(3)建立信息系选修了“1”号课程且成绩在90分以上的学生视图;
(4)定义一个反映学生出生年份的视图;
(5)将学生的学号及他的平均成绩定义为一个视图;
(6)将Student表中所有女生记录定义为一个视图;
2. 在学生选课数据库中完成以下删除视图的操作:
(7)选择一个您所建的视图进行删除;
3. 在学生选课数据库中完成以下查询视图的操作:
(8)在信息系学生的视图中找出年龄小于20岁的学生;
(9)查询选修了1号课程的信息系学生;
4. 在学生选课数据库中完成以下更新视图的操作:
(10)将信息系学生视图中学号为200215122的学生姓名改为“刘辰”;
(11)向信息系学生视图中插入一个新的学生记录,其中学号为200215129,姓名为赵新,年龄为20岁。

五.实验内容3
实验指导书P102-118,关于数据库jxsk中视图的操作练习。

六.实验任务
1.课本P127 习题3. 用SQL语句建立第二章习题5中的4个表,并用INSERT语句向表中添加数据(注意各表主码的建立)。

2.完成以下查询操作(要求使用更新完成):
(1)把全部红色零件的颜色改成蓝色;
(2)由S5供给J4的零件P6改为由S3供应,请作必要的修改;
(3)从供应商关系中删除S2的记录,并从供应情况关系中删除相应的记录;
(4)请将(S2,J6,P4,200)插入供应情况关系中。

3.根据上述1、2小题的内容,完成实验报告四。

相关文档
最新文档