数据库的视图操作实验报告

合集下载

数据库实验5 视图操作

数据库实验5 视图操作

实验五视图操作(2学时)【实验目的】1. 学会使用SQL语句创建和使用视图,加深对视图和SQL Server基表作用的理解。

2. 了解数据库安全控制的机制,以及自主存取控制方法。

【实验要求】1.掌握创建、修改视图的SQL语句的用法。

2.掌握使用企业管管理器创建、修改视图的方法。

3.掌握查看视图的系统存储过程的用法。

4.掌握视图的使用方法。

5.掌握SQL有关用户、角色及操作权限的管理方法。

【实验内容】一、视图操作(一)定义视图以Student 、Course表为基础完成以下视图定义。

1.定义计算机系学生基本情况视图V_Computer。

2.将Student Course 和Student_course表中学生的学号,姓名,课程号,课程名,成绩定义为视图V_S_C_G。

3.将各系学生人数,平均年龄定义为视图V_NUM_AVG。

4.定义一个反映学生出生年份的视图V_YEAR。

5.将各位学生选修课程的门数及平均成绩定义为视图V_A VG_S_G。

6.将各门课程的选修人数及平均成绩定义为视图V_A VG_C_G。

(二)使用视图1. 查询以上所建的视图结果。

2. 查询平均成绩为90分以上的学生学号、姓名和成绩。

3. 查询各课成绩均大于平均成绩的学生学号、姓名、课程和成绩。

4. 按系统计各系平均成绩在80分以上的人数,结果按降序排列。

(三)修改视图1. 通过视图V_IS,分别将学号为“S1”和“S4”的学生姓名更改为“S1_MMM”,”S4_MMM” 并查询结果。

2. 通过视图V_IS,新增加一个学生记录('S12','YAN XI',19,'IS'),并查询结果。

3. 通过视图V_IS,新增加一个学生记录('S13','YAN XI',19,'MA'),并查询结果。

4. 通过视图V_IS,删除学号为“S12”和“S3”的学生信息,并查询结果。

数据库的视图操作实验报告

数据库的视图操作实验报告

实验(四)数据库的视图操作实验一、实验目的和要求(1)掌握SQL Server中的视图创建向导和图表创建向导的使用方法;(2)加深对视图和SQL Server图表作用的理解。

(3)掌握数据库安全性的操作方法。

二、实验内容和原理1. 基本操作实验(1)在SQL Server企业管理器中调出Create View Wizard(创建图表向导),按下列Transact-SQL描述的视图定义,创建借阅_计算机图书视图。

CREATE VIEW 借阅_计算机图书AS SELECT 图书.*,借阅.*FROM 图书,借阅WHERE图书.编号=借阅.书号AND图书.类别=‘计算机’(2)在SQL server企业管理器中调出Create View Wizard(创建图表向导),完成在图书-读者数据库中建立一个图书_借阅图表操作。

要求该图表包括图书和借阅两个表,并包括图书与借阅之间的“图书.书号=借阅.书号”外码与被参照表之间的关联。

(3)查看上述实验结果。

如果结果有误,予以纠正。

2. 提高操作实验在学生-课程数据库中用Transact-SQL语句描述下列视图定义。

(1)从学生表中建立查询所有男(女)生信息的视图STU_SEX。

视图的列名为SNO、SNAME、SSEX和SAGE。

(2)从课程表中建立查询所有课程先修课信息的视图课程_PRE。

视图的列名为课程号、课程名称和先修课名称。

(3)从选修表中建立查询成绩大于等于80信息的视图STU_CJ1。

视图的列名为学号、课程号和成绩。

(4)从学生、选修和课程三个表建立查询学生选修情况的视图STU_CJ2。

视图的列名为姓名、课程名称和成绩。

(5)从学生、选修和课程三个表建立查询学生选修情况并且成绩小于80的视图STU_CJ3。

视图的列名为姓名、课程名称和成绩。

(6)利用Transact-SQL命令修改视图STU_SEX。

把视图的列名改为学号、姓名、性别和年龄,把加上“WITH CHECK OPTION”选项。

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

数据更新与视图操作实验报告
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)删除多行数据
例:删除苏果商店的所有销售记录。

实验三 数据库中的数据查询及视图操作实验报告

实验三  数据库中的数据查询及视图操作实验报告

实验三数据库中的数据查询及视图操作实验报告实验三数据库中的数据查询及视图操作实验报告一、实验目的本实验的主要目的是熟悉数据库中的数据查询和视图操作。

通过本实验,我们可以掌握使用SQL语句进行数据查询和创建视图的方法,进一步提高对数据库的操作能力。

二、实验环境本实验使用MySQL数据库管理系统,并在Windows操作系统下进行实验。

三、实验内容本实验主要包括以下内容:1. 数据查询:使用SELECT语句查询数据库中的数据,并进行排序、过滤和聚合操作。

2. 视图操作:创建和删除视图,以及对视图进行查询和更新操作。

四、实验步骤与结果1. 数据查询首先,我们需要连接到数据库,并选择要查询的表。

假设我们选择的表名为"students",包含以下字段:学号、姓名、性别、年龄、班级。

a. 查询所有学生的信息:```sqlSELECT * FROM students;```执行以上SQL语句后,我们可以得到所有学生的信息,包括学号、姓名、性别、年龄和班级。

b. 查询男生的信息:```sqlSELECT * FROM students WHERE 性别 = '男';```执行以上SQL语句后,我们可以得到所有性别为男的学生的信息。

c. 查询年龄小于20岁的学生的姓名和班级:```sqlSELECT 姓名, 班级 FROM students WHERE 年龄 < 20;```执行以上SQL语句后,我们可以得到年龄小于20岁的学生的姓名和班级。

d. 查询学生按照年龄降序排列的结果:```sqlSELECT * FROM students ORDER BY 年龄 DESC;```执行以上SQL语句后,我们可以得到按照年龄降序排列的学生信息。

e. 查询学生按照班级分组,并统计每个班级的人数:```sqlSELECT 班级, COUNT(*) AS 人数 FROM students GROUP BY 班级;```执行以上SQL语句后,我们可以得到每个班级的人数统计结果。

数据库实验——视图的创建与使用

数据库实验——视图的创建与使用

数据库实验——视图的创建与使用数据库是一种利用计算机系统来管理、存储、处理数据的技术,视图则是在数据库中使用的一种技术。

视图是一种虚拟表,实际上并不存储数据,而是使用查询语句从一个或多个表中提取所需的数据。

在本次实验中,将学习视图的创建和使用。

一、实验目的1. 理解视图的概念和特点;2. 掌握视图的创建和使用方法;3. 熟悉视图的应用场景。

二、实验内容1. 视图的创建方法;2. 视图的使用方法;3. 视图的实际应用。

三、实验过程1. 视图的创建方法视图的创建方法如下:CREATE VIEW [视图名称] AS [查询语句];例如,要从学生表中提取所有学生的姓名和学号,则可以使用以下语句创建视图:CREATE VIEW student_info AS SELECT sname, sno FROM student;这样,就创建了一个名为student_info的视图,其中包含学生表中的姓名和学号两列数据。

2. 视图的使用方法创建视图之后,可以像使用普通表一样使用视图。

例如,可以使用SELECT语句来查询视图中的数据,如下所示:SELECT * FROM student_info;这样就可以查询出student_info视图中的所有数据。

3. 视图的实际应用视图在实际应用中有很多用途,例如:(1)简化查询语句当数据库中有较多的关联表时,查询语句会变得非常复杂。

此时,可以使用视图来简化查询语句。

例如,以下语句查询学生所在的班级名称:SELECT s.sname, ame FROM student s INNER JOIN class c ON s.classno = c.classno;使用视图后,查询语句可以变得更简洁:CREATE VIEW student_class AS SELECT s.sname, ame FROM student s INNER JOIN class c ON s.classno = c.classno;SELECT * FROM student_class;(2)保护数据安全例如,可以创建只包含学生姓名和学号的视图,而不包含其他敏感数据,以确保保护学生的隐私。

数据库实验报告:实验五

数据库实验报告:实验五

数据库实验报告:实验五一、实验目的本次数据库实验五的主要目的是深入了解和掌握数据库的高级操作,包括存储过程的创建与使用、视图的定义和应用、以及事务处理的原理和实践。

通过这些实验内容,提高我们对数据库系统的综合运用能力,为解决实际的数据库管理问题打下坚实的基础。

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

操作系统为 Windows 10 专业版。

三、实验内容及步骤(一)存储过程的创建与使用1、创建一个名为`get_student_info` 的存储过程,用于根据学生学号查询学生的基本信息(包括学号、姓名、年龄、性别和专业)。

```sqlDELIMITER //CREATE PROCEDURE get_student_info(IN student_id INT)BEGINSELECT FROM students WHERE student_id = student_id;END //DELIMITER ;```2、调用上述存储过程,查询学号为 1001 的学生信息。

```sqlCALL get_student_info(1001);```(二)视图的定义和应用1、创建一个名为`student_grade_view` 的视图,用于显示学生的学号、姓名和平均成绩。

```sqlCREATE VIEW student_grade_view ASSELECT sstudent_id, sname, AVG(ggrade) AS average_gradeFROM students sJOIN grades g ON sstudent_id = gstudent_idGROUP BY sstudent_id, sname;```2、查询上述视图,获取所有学生的平均成绩信息。

```sqlSELECT FROM student_grade_view;```(三)事务处理1、开启一个事务,向学生表中插入一条新的学生记录(学号:1005,姓名:_____,年龄:20,性别:男,专业:计算机科学)。

实验6:数据库视图定义报告参考模板

实验6:数据库视图定义报告参考模板

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

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

2、利用视图进行查询。

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

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

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

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

图6-1仅以命令方式来操作:一、视图的创建:1.创建信息系学生信息的视图:create view IS_view asselect*from studentwhere sdept ='IS'2. 创建信息系选修了1号课程的学生的视图:create view stu_view asselect student.*from sc joinstudent on sc.sno = student.snowhere sdept ='IS'and cno ='1'3. 建立信息系选修了1号课程且成绩在90分以上的学生的视图:create view stu2_view asselect student.*from sc joinstudent on sc.sno = student.snowhere sdept ='IS'and cno ='1'and grade > 904. 创建一个反映学生出生年份的视图:create view bir_view asselect sno,year(getdate())- sage as birthdayfrom student5. 将所有女生的记录定义为一个视图:create view girl_view asselect*from studentwhere ssex ='女'6. 将所有学生的学号和他的平均成绩定义为一个视图:create view avg_view asselect sno,avg(grade)as gradefrom scgroup by sno二、视图结构的修改:6. 将视图F_student修改为信息系的所有女士的视图alter view F_student asselect*from studentwhere sdept ='IS'and ssex ='女'说明: 视图结构的修改的AS 后的Select语句与创建视图的完全一致, 引入结构修改的目的是为了避免与视图相关的数据库对象的变换, 如触发器, 关联等三、查询视图7. 在信息系的学生视图中查询年龄小于20岁的学生:select*from IS_viewwhere sage < 208. 查询信息系选修了1号课程的学生:select*from stu_view9. 在视图S_G中查询平均成绩在90分以上的学生的学号和平均成绩:select sno, gradefrom S_Gwhere grade > 90四、更新视图:10.将信息系学生视图IS_Student中学号为”95002”的学生姓名改为”刘辰”: update IS_Student set sname='刘辰' where sno='95002'比较: update IS_Student set sname=’刘辰’ where sno=’95003’此语句不能实现数据的更新.(为什么呢?因为在视图中并没有”95003”这条记录)11. 向信息系学生视图IS_Student中插入一个新的学生记录, 学号为95029,姓名为”赵新”, 年龄为20岁:insert into IS_Student values('95029', '赵新',20) (因为主表中其它属性字段可以为空,因此此操作能成功。

数据库实验实验6视图1

数据库实验实验6视图1

实验六数据库的视图一、实验目的1.掌握创建视图的SQL语句的用法。

2.掌握使用企业管管理器创建视图的方法。

3.掌握使用创建视图向导创建视图的方法。

4.掌握修改视图的方法。

二、实验内容1、在企业管理器里创建视图以建立客户编号为‘K00201’的客户全部信息的视图KH操作为例:(1)执行‚工具—向导‛命令图7.1(2)选择表中的字段(3)‚定义限制‛对话框,限制条件图7.3 (4)查询视图所得的结果SELECT * FROM KH练习:建立关于销售情况的视图XS,包括产品名称,客户名称,订购数量并查询结果。

2. 在企业管理器里修改视图如将视图KH改为客户编号为‘XXX’ (XXX自己输入相应的值) (1)执行‚设计视图‛命令(2)选择要在视图中引用的列(3)输入指定要检索行的准则(4)执行‚运行‛命令查看结果集图7.13 3.使用T-SQL语句更新视图3. 使用企业管理器删除视图图7.15 执行“删除”命令练习:在查询分析器中用T-SQL命令完成以下操作: 建立订购数量大于200的销售情况视图XS1(利用XS) 并查询结果CREATE VIEW XS1ASSELECT *FROM XSWHERE QUANTITY >200建立各产品的订购数量的总数的视图SL,包括产品编号,订购总量并查询结果CREATE VIEW SLASSELECT PCODE,OQUANTITYFROMSALE查找订购数量=300的客户名称,(利用视图XS1)并查询结果SELECT CNAMEFROM XS1WHERE建立所在地为长沙的客户的视图KH1 CREATE VIEW KH1ASSELECT *FROM CUSTOMERWHERE通过视图KH1插入记录(‘K00203‘,’王府井’,’长沙’)并查询结果INSERTINTO KH1V AULES(‘K00203‘,’王府井’,’长沙’)INSERTINTO KH1(CNO,CNAME,SITE)V ALUES('K00204','大润发','上海')通过视图KH1插入记录(‘K00204‘,’大润发’,‘上海’)并查询结果CREATE VIEW XS1 ASSELECT *FROM XSWHERE QUANTITY >200UPDATE KH1SET C INSERTINTO KH1(CNO,CNAME,SITE)V ALUES('K00204','大润发','上海') 将SL视图中C20012产品的总量更新为30。

数据库实验五:视图的应用

数据库实验五:视图的应用

数据库实验五:视图的应用一、实验目的与要求:1.实验目的(1)理解视图的概念;(2)掌握视图的使用方法。

(3)理解视图和基本表的异同之处。

2.实验要求(1)参照实验五中完成的查询,按如下要求设计和建立视图:1)基于单个表按投影操作定义视图。

2)基于单个表按选择操作定义视图。

3)基于单个表按选择和投影操作定义视图。

4)基于多个表根据连接操作定义视图。

5)基于多个表根据嵌套操作定义视图。

6)定义含有虚字段的视图。

(2)分别在定义的视图设计一些查询(包括基于视图和基本表的连接或嵌套查询)。

(3)在定义的视图上进行插入、更新和删除操作,分情况讨论哪些操作可以成功完成,哪些操作不能完成,并分析原因。

(4)在实验报告中要给出具体的视图定义要求和操作要求,并针对各种情况做出具体的分析和讨论。

二、实验内容1、实验原理(1)视图是用SQL SELECT查询定义的,创建视图命令格式如下:CREATE VIEW <视图名> AS <SELECT-查询块>(2)删除视图的命令格式如下:DROP VIEW <视图名>2、实验步骤与结果(1)调出SQL Server2005软件的用户界面,进入SQL SERVER MANAGEMENT STUDIO。

(2)输入自己编好的程序。

(3)检查已输入的程序正确与否。

(4)运行程序,并分析运行结果是否合理和正确。

在运行时要注意当输入不同的数据时所得到的结果是否正确。

(5)输出程序清单和运行结果。

(1)参照实验五中完成的查询,按如下要求设计和建立视图:1)基于单个表按投影操作定义视图。

create view v asselect教师编号,姓名from教师create view v_order asselect*from教师where职称='教授'3)基于单个表按选择和投影操作定义视图。

create view v_cuss asselect教师编号,姓名,职称from教师where职称='教授'4)基于多个表根据连接操作定义视图。

数据库-第四次实验报告-视图-t-sql语句

数据库-第四次实验报告-视图-t-sql语句

数据库-第四次实验报告-视图-t-sql语句第一篇:数据库-第四次实验报告-视图-t-sql语句实验十报告创建视图实验目的1.掌握创建视图的SQL语句的用法。

2.掌握使用企业管管理器创建视图的方法。

3.掌握使用创建视图向导创建视图的方法。

4.掌握查看视图的系统存储过程的用法。

5.掌握修改视图的方法。

一.实验准备1.了解创建视图方法。

2.了解修改视图的SQL语句的语法格式。

3.了解视图更名的系统存储过程的用法。

4.了解删除视图的SQL语句的用法。

二.实验要求1.用不同的方法创建视图。

2.提交实验报告,并验收实验结果。

三.实验内容 1.创建视图(1)使用企业管理器创建视图① 在EDUC库中以“student”表为基础,建立一个名为“V_计算机系学生”的视图。

在使用该视图时,将显示“student”表中的所有字段.兰州大学数据库实验报告视图如下:(2)使用SQL语句创建视图① 在查询分析器中建立一个每个学生的学号、姓名、选修的课名及成绩的视图S_C_GRADE;Create VIEW S_C_GRADE ASSELECT student.sno,sname,cname,score FROM student,course,student_course WHERE student.sno=student_course.sno AND o=student_o;视图如下:②建立一个所有计算机系学生的学号、选修课程号以及平均成绩的视图COMPUTE_AVG_GRADE;Create VIEWCOMPUTE_AVG_GRADE ASSELECT student.sno,o,AVG(score)'平均成绩' FROM student,course,student_course WHERE student.sno=student_course.snoAND o=student_o AND student.dno='CS' GROUP BY student.sno,o;视图如下:2.修改视图(1)使用企业管理器修改视图在企业管理器中将视图COMPUTE_AVG_GRADE中改成建立在数学系的学生学号、选修课程号以及平均成绩的视图。

数据库实验报告 (4)

数据库实验报告 (4)

一实验题目1.索引的建立和删除操作2.视图的创建、修改、更新和查询操作二实验目的1.掌握数据库索引建立与删除操作,掌握数据库索引的分类,并了解建立数据库索引的意义、作用。

2.掌握视图的创建和查询操作,理解视图的使用,理解实图在数据库安全性中的作用。

三实验内容1.索引的建立和删除操作(1)在S表中,建立按照sno升序的惟一性索引snoIDX。

(2)在SC表中,建立按照学号升序和课程号降序的唯一性索引scIDX。

(3)在S表中,按照生日建立一个非聚簇索引birthdayIDX。

(4)在C表中,建立一个按照课程名升序的聚簇索引cnameIDX。

(5)删除索引cnameIDX。

2.视图的创建、修改、更新和查询操作(1)建立一个关于所有女生信息的视图S_GIRL。

(2)将各系学生人数,平均年龄定义为视图V_NUM_A VG(3)建立一个视图反映学生所选课程的总学分情况TOTAL_CREDIT。

(4)建立一个所有学生课程成绩的视图S_GRADE,包括基本学生信息,课程信息和成绩。

(5)在视图S_GRADE基础之上,建立一个两门课以上成绩不及格的学生情况视图FAIL_GRADE。

(6)建立一个至少选修了4门课及4门课以上的学生信息的视图SC_FOUR。

(7)修改视图S_GIRL,要求只显示1997年以前出生的女生信息。

(8)在视图FAIL_GRADE查询不及格超过2门课的学生信息。

(9)删除视图S_GRADE。

(10)通过视图S_GIRL,将“王丹”的名字修改为“汪丹”,并查询结果。

(11)通过视图S_GIRL,新增一个学生信息(“刘兰兰”,“女”,“计算机学院”,1996-8-8),并查询结果。

(12)通过视图S_GIRL,删除1995年出生的女生信息,并查询结果。

(13)通过视图S_GRADE,将“汪丹”的名字修改为“王丹”,是否可以实现,请说明原因。

(14)通过视图COMPUTE_A VG_GRADE,将“4121090301”学生的平均分改为90分,是否可以实现,请说明原因。

数据库实验报告3-视图操作和安全性控制

数据库实验报告3-视图操作和安全性控制

《数据库系统概论》实验报告实验3:视图操作和安全性控制一、实验目的1.掌握使用图形用户界面和SQL语言创建,操作和删除视图的方法。

2.掌握SQL Server中的安全性相关的登录名,角色以及用户的创建以及使用方法。

3.学会使用T-SQL语句对数据库和表操作的灵活控制功能。

二、实验内容1.在Student数据库中,利用图形用户界面,创建一个选修了数据库课程并且是1986年出生的学生的视图,视图中包括学号,性别,成绩这三个信息。

(5分)步骤:点击视图-》新建视图-》添加表-》选择题目中要求的信息-》添加相应条件。

见下图所示。

(1)(2)(3)(4)(5)2.用两种不同的SQL语句创建课本128页第11题中要求的视图(视图名:V_SPJ)(6分,每种方法3分)。

(1)用连接的方法:程序源码:运行结果:(2)带有IN谓词的子查询:程序源码:运行结果:3.用SQL语句完成课本128页第11题中对视图V_SPJ的查询。

3.1 找出三建工程项目使用的各种零件代码及其数量。

程序源码及结果:3.2 找出供应商S1的供应情况。

程序源码及结果:4.用T-SQL语句操作视图的数据。

(15分,每题5分)(1)给视图V_SPJ中增加一条数据(基本表中有插入的数据即可)。

(2)修改视图V_SPJ中的任意一条数据的供应数量。

(3)删除视图V_SPJ中的任意一条数据。

4.1 给视图V_SPJ中增加一条数据(基本表中有插入的数据即可)。

程序源码:运行结果:程序源码:运行结果:程序源码:运行结果:5.在图形用户界面中创建新登录名以及用户。

(20分,每题10分)5.1对于数据库company创建P148页第 8题中所需要用到的各个用户以及相关的关的登录名。

(假定有数据库company,库中有两个表e(职工表)和d(部门表)) 创建登录名步骤如下:(1)登录名的建立:(2)查看新建登录名(3)如上述操作,重复六次,得到见下图:创建用户名步骤如下:(1)建立用户名:(2)输入用户名:(3)选择登录名:(4)查找对象:(5)重复上述操作多次,得到以下结果:(6)对创建的数据库进行测试:5.2 用图形用户界面完成以下的权限勇赋予:a.用户王明对两个表有Select和Insert的权力。

视图的使用实验报告

视图的使用实验报告
两个基本语句createview表明asselect查询块删除视图dropview视图名实验内容实验内容与关键步骤sql语句等实验结果视图可以被看成是虚拟的表或存储查询可通过视图访问的数据不作为独立的对象存储在数据库内
数据库*实验报告
实验项名称:视图的使用
实验日期:2010 11 22
姓名:
学号:084208123
班级:08计算机一班
成绩:
信息技术学院软件技术与数据库教研室
南京中医药大学
实验概述:
1.实验目的:通过视图的创建过程,理解视图的概念和意义,掌握视图的基本使用方法
2.实验要求:通过视图的设计和定义,掌握建立视图的基本方法,包括通过单张表建立视图和通过多张表建立视图;通过在定义的视图上进行查询,插入,更新和删除操作,理解视图的概念,掌握简单的视图查询方法
3.实验预备知识:两个基本语句CREATE VIEW <表明>AS <SELECT查询块>
删除视图DROP VIEW <视图名>
实验内容
1.实验方案设计
2.实验内容与关键步骤、SQL语句等
3.
(
1.实验结果
视图可以被看成是虚拟的表或存储查询,可通过视图访问的数据不作为独立的对象存储在数据库内。本实验只要学习视图的使用,包括视图的定义,查询,插入和删除操作,还包括使用“企业管理器“进行视图的建立,删除,修改。通过这次实验,清楚的了解了视图的概念,掌握创建视图的基本方法,作用和意义
2.疑难与需解决的问题
3.实验体会
教师评语及成绩

实验6 数据库视图

实验6 数据库视图

实验6 数据库视图一、实验目的:通过该实验掌握创建视图、使用视图的方法。

二、实验原理视图是一种虚拟存在的表,对于使用视图的用户来说基本上是透明的。

视图并不在数据库中实际存在,行和列数据来自定义视图的查询总使用的表,并且是在使用视图时动态生成的。

创建视图CREATE VIEW视图名(列1,列2...)ASSELECT (列1,列2...)FROM ...[WITH CHECK OPTION]注意1.可以通过视图插入数据,但是只能基于一个基础表进行插入,不能跨表更新数据。

2.视图不是表,不保存数据,只是一张虚拟的表,源表的数据发生变化后,视图的结果也同步发生变化。

3.一般情况下,在创建有条件限制的视图时,加上“WITH CHECK OPTION”命令。

不鼓励直接对视图进行修改(插入数据,更改数据及删除数据)三、实验内容及方法实验平台操作系统:win7,数据库管理平台:mysql5.6或者mysql8,实验用数据库:老师提供的数据库脚本TradeDBSQL.txt1.创建统计每笔订单的订购量的视图CREATE VIEW Order1_tASSELECTOrderID,Sum(ROUND(`OrderDetails`.UnitPrice*Quantity*(1-Discount))) AS SubtotalFROM OrderDetailsGROUP BY OrderID;检查视图结果mysql> select * from Order1_t;mysql> show tables;mysql>desc Order1_t;2. 创建一个视图SalesTotals调用1题的视图CREATE VIEW `SalesTotals`ASSELECTOrder1_t.Subtotal AS SaleAmount,Orders.OrderID,panyName,Orders.ShippedDateFROM CustomersJOIN Orders ON Customers.CustomerID = Orders.CustomerID JOIN Order1_t ON Orders.OrderID = Order1_t.OrderID;1)统计1997年单笔订单超过超过2500的客户公司名,订单编号及订购量提示:select * from `SalesTotals` where SaleAmount>3500 and ShippedDate BETWEEN '1997-01-01' And '1997-12-31';或者select * from `SalesTotals` where SaleAmount>3500 and year(ShippedDate)=1997;2)查询1995年单笔订单超过超过5000的客户公司名,订单编号及订购量3)统计1997年每个客户的订购量提示:group by CompanyName;3.创建视图SalesTotals1997CREATE VIEW `SalesTotals1997`ASSELECTpanyName As 公司名,sum(Order1_t.Subtotal) AS 订购量FROM Customers,orders,order1_twhere Customers.CustomerID=Orders.CustomerID and Orders.OrderID = Order1_t.OrderID AND year(Orders.ShippedDate) =1997group by panyName;4.统计1997年产品销售情况CREATE VIEW `1997年产品销售情况`ASSELECTCategories.CategoryName as 产品类别,Products.ProductName as 产品名称,Sum(ROUND(`OrderDetails`.UnitPrice*Quantity*(1-Discount))) AS 销售量FROM CategoriesJOIN Products On Categories.CategoryID = Products.CategoryIDJOIN `OrderDetails` on Products.ProductID = `OrderDetails`.ProductIDJOIN `Orders` on Orders.OrderID = `OrderDetails`.OrderIDWHERE Orders.ShippedDate BETWEEN '1997-01-01' And '1997-12-31' GROUP BY Categories.CategoryName, Products.ProductName;检查视图:select * from `1997年产品销售情况`(1) 写一个视图名为'1997年各产品类别销售情况', 要求统计1997年各产品类别销售情况提示:对于`1997年产品销售情况` 视图进行按产品类别进一步统计,group by ‘产品类别’select 产品类别, sum(销售量) as '类别销售量'from `1997年产品销售情况`group by 产品类别;(2) 将其改造为统计1995年下半年产品销售情况(3)将`1997年产品销售情况`的视图定义中的join 连接都改为等值连接,改造后的视图命名为`1997年产品销售情况2`例如:from Categories JOIN Products On Categories.CategoryID = Products.CategoryID 改为from Categories, Productswhere Categories.CategoryID = Products.CategoryID检查是否改造成功。

实验四数据库的查询和视图

实验四数据库的查询和视图

南京信息工程大学实验(实习)报告实验(实习)名称实验四数据库的查询和视图实验(实习)日期 11.3得分指导老师方忠进系计算机系专业计算机科学与技术班级 1班姓名鲍雪扬学号20122308001T4.1 数据库的查询1.目的与要求(1)掌握SELECT语句的基本语法;(2)掌握子查询的表示;(3)掌握连接查询的表示;(4)掌握SELECT语句的GROUP BY子句的作用和使用方法;(5)掌握SELECT语句的ORDER BY子句的作用和使用方法。

2.实验准备(1)了解SELECT语句的基本语法格式;(2)连接SELECT语句的执行方法;(3)了解子查询的表示方法;(4)了解连接查询的表示;(5)了解SELECT语句的GROUP BY子句的作用和使用方法;(6)了解SELECT语句的ORDER BY子句的作用。

3.实验内容(1) SELECT语句的基本使用。

①对于实验2给出的数据库表结构,查询每个雇员的所有数据。

新建一个查询,在查询分析其中输入如下语句并执行:②SELECT语句查询Employees表中每个雇员的地址和电话。

新建一个查询,在查询分析器中输入如下语句并执行:③查询EmployeeID为000001雇员的地址和电话。

④查询Employees表中女雇员的地址和电话,使用AS子句将结果中各列的标题分别指定为地址、电话。

⑤查询Employees表中员工的姓名和性别,要求Sex值为1时显示为“男”,为0时显示为“女”。

⑥计算每个雇员的实际收入。

⑦获得员工总数。

⑧找出所有姓王的雇员的部门号。

⑨找出所有收入在2000~3000元之间的员工号码。

⑩使用INTO子句,由表Salary创建“收入在1500元以上的员工”表,包括编号和收入。

(2)子查询的使用。

①查找在财务部工作的雇员的情况。

②查找在财务部年龄不低于研发部雇员年龄的雇员的姓名。

③查找比所有财务部的雇员收入都高的雇员的姓名。

(3)连接查询的使用。

实验五数据库的索引和视图

实验五数据库的索引和视图
8.用Drop Index删除索引Indexbb.
研究与
探讨
评语
如图,表bb多了Bb4
5.用Create View对表Bb的Bb1和Bb4建立一个视图Viewbb,字段名为Viewbb1和Viewbb2.
如图,视图viewbb已建立
6.Drop View删除视图Viewbb.
如图,viewbb已删除
7.用Create Index对表Bb的Bb3字段建立一个升序索引,索引名Indexbb.
大学实验报告五2014年4月1日专业年级2012级信计专业1班学学号201221143025成成绩姓姓名课程名称数据库管理系统实验名称数据库的索引和视图实验目的和要求掌握查询分析器中用ddl语言进行对索引视图的增加删除和改动
大学实验报告(五)
2014年4月1日
专业年级
2012级
信计专业(1)班学号201源自21143025Varchar
20
字段1
Aa2
Int
字段2
Aa3
Dec
10,2
字段3
2.用Create Table建表bb,表结构如下所示:
字段名
类型
长度
含义
Bb1
Varchar
30
字段1
Bb2
Int
字段2
Bb3
Dec
6,2
字段3
如图,表aa bb已建立完成
3.用Drop Table删除表aa.
如图,表aa已删除
4.用Alter Table修改表bb,添加一个字段Bb4,类型Varchar,长度20.
成绩
姓名
课程名称
《数据库管理系统》
实验名称
数据库的索引和视图

数据库实验报告五

数据库实验报告五

实验五视图、账户、备份1.实验目的熟练掌握视图的使用、登录账户及用户的使用,数据库的备份与恢复。

2.实验内容(1)视图操作创建视图●创建一个名为stud_view1的水平视图,从数据库JWGL的sutdent表中查询出性别为“男”的所有学生资料。

●创建一个名为stud_view2的投影视图,从数据库JWGL的student表中查询出性别为“男”的所有学生的学号、姓名、性别。

●创建一个名为stud_view3的连接视图,从数据库JWGL的student表中查询出学号姓名,从course表中查询出课程名称,从student_course中查询出成绩。

对视图进行操作●修改视图stud_view1,使其从数据库JWGL的sutdent表中查询出性别为“男”的所有学生资料。

●从视图stud_view3中查询出王红同学的信息。

使用SSMS管理控制台创建与管理视图(2)账户与用户创建登录账户●创建一个登录账户login1密码为:log123 (注意大小写)。

创建用户user1与架构test1●创建用户user1并且同时指定给登录账户login1●创建架构test1并且同时赋权给用户user1●在该架构上创建表test01使用SSMS管理控制台修改SQL Server登录验证机制,并且开启sa账户。

用sa账户、login1账户登录测试。

●修改服务器→属性→安全性→混合登录模式●修改安全性→登录名→设置sa的密码●重启SQL Server服务(注意不是重新登录SSMS管理控制台)●使用login1登录,测试读取test1.test01●测试向test1.test01中插入记录●测试建立新表test02(如不成功,使用grant 语句赋予user1 建表的权限)(3)数据库备份与还原使用管理控制台SSMS进行备份与还原(注意两者的区别)永久性备份的创建与还原●创建备份设备bake●把数据库JWGL备份到备份设备中●从备份设备中进行还原临时性备份的创建与还原●把数据库JWGL备份到临时文件bakeup01●从文件bakeup01还原数据库作业:本次实验不用交实验报告。

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

实验(四)数据库的视图操作实验
一、实验目的和要求
(1)掌握SQL Server中的视图创建向导和图表创建向导的使用方法;
(2)加深对视图和SQL Server图表作用的理解。

(3)掌握数据库安全性的操作方法。

二、实验内容和原理
1. 基本操作实验
(1)在SQL Server企业管理器中调出Create View Wizard(创建图表向导),按下列Transact-SQL描述的视图定义,创建借阅_计算机图书视图。

CREATE VIEW 借阅_计算机图书
AS SELECT 图书.*,借阅.*
FROM 图书,借阅
WHERE图书.编号=借阅.书号AND图书.类别=‘计算机’(2)在SQL server企业管理器中调出Create View Wizard(创建图表向导),完成在图书-读者数据库中建立一个图书_借阅图表操作。

要求该图表包括图书和借阅两个表,并包括图书与借阅之间的“图书.书号=借阅.书号”外码与被参照表之间的关联。

(3)查看上述实验结果。

如果结果有误,予以纠正。

2. 提高操作实验
在学生-课程数据库中用Transact-SQL语句描述下列视图定义。

(1)从学生表中建立查询所有男(女)生信息的视图STU_SEX。

视图的列名为SNO、SNAME、SSEX和SAGE。

(2)从课程表中建立查询所有课程先修课信息的视图课程_PRE。

视图的列名为课程号、课程名称和先修课名称。

(3)从选修表中建立查询成绩大于等于80信息的视图STU_CJ1。

视图的列名为学号、课程号和成绩。

(4)从学生、选修和课程三个表建立查询学生选修情况的视图STU_CJ2。

视图的列名为姓名、课程名称和成绩。

(5)从学生、选修和课程三个表建立查询学生选修情况并且成绩小于80的视图STU_CJ3。

视图的列名为姓名、课程名称和成绩。

(6)利用Transact-SQL命令修改视图STU_SEX。

把视图的列名改为学号、姓名、性别和年龄,把加上“WITH CHECK OPTION”选项。

(7)删除视图STU_CJ3。

三、实验环境
硬件:计算机
软件:Windows 2000和SQL Server 2000
四、算法描述及实验步骤
1. 基本操作实验
(1)在SQL Server企业管理器中调出Create View Wizard(创建图表向导),按下列Transact-SQL描述的视图定义,创建借阅_计算机图书视图。

(2)在SQL server企业管理器中调出Create View Wizard(创建图表向导),完成在图书-读者数据库中建立一个图书_借阅图表操作。

要求该图表包括图书和借阅两个表,并包括图书与借阅之间的“图书.书号=借阅.书号”外码与被参照表之间的关联。

(3)查看上述实验结果。

如果结果有误,予以纠正。

2. 提高操作实验
在学生-课程数据库中用Transact-SQL语句描述下列视图定义。

(1)从学生表中建立查询所有男(女)生信息的视图STU_SEX。

视图的列名为SNO、SNAME、SSEX和SAGE。

CREATE VIEW STU_SEX(SNO,SNAME,SSEX,SAGE)
AS
SELECT sno,sname,ssex,sage
FROM student
WHERE ssex='女'
(2)从课程表中建立查询所有课程先修课信息的视图课程_PRE。

视图的列名为课程号、课程名称和先修课名称。

CREATE VIEW course_PRE(cno,cname,cpno)
AS
SELECT o,ame,ame
FROM course F,course S,course T
WHERE F.cpno=S.cpno AND S.cpno=T.course
(3)从选修表中建立查询成绩大于等于80信息的视图STU_CJ1。

视图的列名为学号、课程号和成绩。

CREATE VIEW STU_CJI(sno,cno,grade)
AS
SELECT sno,cno,grade
FROM sc
W HERE grade>=80
(4)从学生、选修和课程三个表建立查询学生选修情况的视图STU_CJ2。

视图的列名为姓名、课程名称和成绩。

CREATE VIEW STU_CJ2(sname,cno,grade)
AS
SELECT sname,o,grade
FROM student,sc,course
W HERE student.sno=sc.sno AND o=o
(5)从学生、选修和课程三个表建立查询学生选修情况并且成绩小于80的视图STU_CJ3。

视图的列名为姓名、课程名称和成绩。

CREATE VIEW STU_CJ3(sname,cname,grade)
AS
SELECT sname,cname,grade
FROM student,sc,course
WHERE student.sno=sc.sno AND o=o
AND grade<80
(6)利用Transact-SQL命令修改视图STU_SEX。

把视图的列名改为学号、姓名、性别和年龄,把加上“WITH CHECK OPTION”选项。

ALTER VIEW STU_SEX(SNO,SNAME,SSEX,SAGE)
AS
SELECT o,sname,ssex,sage
FROM student
WHERE ssex='女'
WITH CHECK OPTION
GO
EXEC SP_RENAME'STU_SEX.[SNO]','sno','COLUMN'
EXEC sp_rename'STU_SEX.[SNAME]','sname','COLUMN'
EXEC sp_rename'STU_SEX.[SSEX]','ssex','COLUMN'
EXEC sp_rename'STU_SEX.[SAGE]','sage','COLUMN'
(7)删除视图STU_CJ3。

DROP VIEW STU_CJ3
五、调试过程
创建试图过程中,编写Transact-SQL命令须按照严格的语法格式,方法类似,但在创建从课程表中建立查询所有课程先修课信息的视图课程_PRE时,一开始利用表的自连接可以实现映射出课程号,课程名和先行课号,但不能实现完成对先行课名称的查询;之后才发现可以利用多次自连接就可以实现步骤的查询结果。

六、实验结果
生成视图:
(1)
(2)
(3

(4)
(5)
(6)
七、总结
视图是由一个或几个基本表导出的表,是一个虚表。

对视图的更新最终都要转化为对基本表的操作。

视图可以简化用户的操作、使用户能以多种角度看待同一数据、对重构数据库提供了一定程度的逻辑独立性、能够对机密数据提供安全保护、适当的使用视图可以更清晰的表达查询。

通过本次实验掌握SQL Server 中的视图创建向导和图表创建向导的使用方法;加深对视图和SQL Server图表作用的理解。

掌握数据库安全性的操作方法。

相关文档
最新文档