数据视图实验报告

合集下载

数据库的查询和视图实验报告

数据库的查询和视图实验报告

数据库的查询和视图实验(实习)报告实验名称数据库的查询和视图实验日期得分指导教师系计算机系年级专业班次姓名学号一.实验目的掌握SELECT语句的基本语法;掌握子查询的表示;掌握连接查询的表示;掌握SELECT语句的GROUP BY子句的作用和使用方法;掌握SELECT语句的ORDER BY子句的作用和使用方法;熟悉视图的概念和作用;掌握视图的创建方法;掌握如何查询和修改视图。

二.实验内容(1)了解SELECT语句的基本语法格式;(2)了解SELECT语句的执行方法;(3)了解子查询的表示方法;(4)了解连接查询的表示;(5)了解SELECT语句的GROUP BY子句的作用与使用方法;(6)了解SELECT语句的ORDER BY子句的作用;(7)了解视图概念;(8)了解视图的创建方法;(9了解并掌握对视图的操作。

三.实验步骤(1)SELECT语句的基本使用。

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

新建一个查询,在“查询分析器”窗口中输入如下语句并执行use YGGLgoselect*from Employees2用select语句查询employees表中每个雇员的地址和电话。

新建一个查询,在“查询分析器”窗口中输入如下语句并执行:use YGGLgoselect Address,PhoneNumberfrom Employees3查询employeeID为000001的雇员的地址和电话。

use YGGLgoselect Address,PhoneNumberfrom Employeeswhere EmployeeID='000001'go4查询employees表中女雇员的地址和电话,使用AS子句将结果中各列的标题分别指定为地址、电话。

use YGGLgoselect Address AS地址,PhoneNumber AS电话from Employeeswhere Sex=0go5查询employees表中的员工姓名和性别,要求Sex的值为1时显示为‘“男”,为0时显示为“女”。

9视图实验报告

9视图实验报告

实验必备知识:视图是关系数据库系统提供给用户以多种角度观察数据库中数据的重要机制视图是一张虚表,其内容由相应的查询语句定义。

和基本表不一样的是,视图并不在数据库中以存储的记录值形式存在。

数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中。

所以,基本表中的数据发生变化,从视图中查询出的数据也就随之改变了。

可以简单地把视图理解成一个窗口,透过它可以看到数据库中自己感兴趣的数据及其变化。

视图一经定义,就可以和基本表一样被查询和删除。

我们也可以在一个视图上再定义新的视图。

但对视图的更新(增加,删除和修改)操作则有一定的限制。

定义视图的一般格式:CREATE VIEW <视图名>[<列名>...]AS <子查询>[WITH CHECK OPTION]其中:子查询可以是任意复杂的SELECT 语句,但通常不允许含有ORDER BY 子句和DISTINCT 短语组成视图的属性列名或者全部省略或者全部指定WITH CHECK OPTION 表示对视图进行UPDA TE,INSERT 和DELETE操作时要保证更新、插入或删除的行满足视图定义中的谓词条件(即子查询中的条件表达式)例:建立系别为'014'的学生视图CREATE VIEW V_STUDENTASSELECT 学号,姓名FROM 学生WHERE SUBSTRING(学号,3,3)='014'练习:1..建立系别为'014',且选修了'011'号课程的成绩视图(view_014_001)2..建立系别为'014',选修了'001'号课程,且成绩及格的学生的视图3..定义一个反映各课程平均分,最高分,最低分的视图4..将学生表中所有班委记录定义为一个视图(view_学生班委)5..向视图(view_学生班委)中插入一条记录,学号为‘320142006125’,姓名为‘张历历’,出生日期为‘1987-9-5’,是否党员为:1,班委为'学习委员',其他为空值。

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

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

实验(四)数据库的视图操作实验一、实验目的和要求(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”选项。

视图和索引的创建和使用实验报告

视图和索引的创建和使用实验报告

信息工程学院实验报告课程名称:《数据库原理》Array实验项目名称:视图和索引的创建和使用一、实验目的:(1)掌握创建视图的SQL语句的用法。

(2)掌握修改视图的方法。

(3)熟悉视图更新与基本表更新的区别与联系;认识视图的作用。

(4)熟悉索引的作用,以及不同类型索引的区别。

(5)学会用T-SQL语句对表创建和删除索引二、实验设备与器件Win7 +Sql server 2008三、实验内容与步骤利用备份文件school,还原数据库,然后完成以下实验内容:(1)用T-SQL语句,定义信息系学生基本情况视图V_IS。

(2)用T-SQL语句,将Student,Course 和SC表中学生的学号,姓名,课程号,课程名,成绩定义为视图V_S_C_G。

(3)用T-SQL语句,将各系学生人数,平均年龄定义为视图V_NUM_AVG。

(4)用T-SQL语句,定义一个反映学生出生年份的视图V_YEAR。

(5)用T-SQL语句,将各位学生学号、选修课程的门数及平均成绩定义为视图V_AVG_S_G。

(6)用T-SQL语句,将各门课程的课程号、选修人数及平均成绩定义为视图V_AVG_C_G。

(7)用T-SQL语句完成以下视图操作,查看结果,并分析原因。

①通过视图V_IS,将学号为“200215125”的学生姓名更改为“张小立”,并查看结果;②通过视图V_IS,新增加一个学生记录 ('200215126','黄笑',19, '男','IS'),并查看结果。

③通过视图V_IS,新增加一个学生记录 ('200215127','李霞',19, '女','MA'),并查看结果。

④通过视图V_IS,删除学号为“200215126”的学生信息,并查看结果。

⑤通过视图V_S_C_G,将学号“200215122”的姓名改为“刘晓晨”,能否实现?若无法实现说明原因。

数据库实验报告视图

数据库实验报告视图

大连海事大学数据库原理课程实验大纲实验名称:实验五视图实验学时: 2适用专业:智能科学与技术实验环境: Microsoft SQL server 20141实验目的(1)掌握SQL视图语句的基本使用方法,如CREATE VIEW、DROP VIEW。

(2)掌握视图更新、WITH CHECK OPTION等高级功能的使用。

2实验内容2.1 掌握SQL视图语句的基本使用方法(1)创建视图(省略视图列名)。

(2)创建视图(不能省略列名的情况)。

(3)删除视图(RESTRICT / CASCADE)。

2.2 掌握视图更新和WITH CHECK OPTION的高级使用方法(1)创建视图(WITH CHECK OPTION),并利用INSERT、DELETE和UPDATE语句加以验证。

(2)创建一个行列子集可更新视图,并利用INSERT、DELETE和UPDATE语句加以验证。

(3)创建一个不可能更新的视图,并利用更新语句验证该视图不可更新。

3实验要求(1)深入复习教材第三章SQL有关视图语句。

(2)根据书上的例子,针对TPCH数据库模式设计各种视图语句,每种类型视图语句至少要设计一个,描述清楚视图要求,运行你所设计的视图语句,并截图相应的实验结果,每幅截图并要有较为详细的描述。

也可以按照附1所列示例做实验。

(3)实验步骤和实验总结中要详细描述实验过程中出现的问题、原因和解决方法。

(4)思考题:KingbaseES把视图的定义存储在那个系统表中?如何查看某个视图的定义?4实验步骤4.1 掌握SQL视图语句的基本使用方法(1)创建视图(省略视图列名)。

(2)创建视图(不能省略列名的情况)。

(3)删除视图(RESTRICT / CASCADE)。

4.2 掌握视图更新和WITH CHECK OPTION的高级使用方法(4)创建一个行列子集可更新视图,并利用INSERT、DELETE和UPDATE语句加以验证。

(5)创建视图(WITH CHECK OPTION),并利用INSERT、DELETE和UPDATE语句加以验证。

数据库视图实验报告

数据库视图实验报告

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

二、实验环境本次实验使用的数据库管理系统为 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、创建视图成功后,通过查询视图能够获取到预期的学生信息,证明视图的定义和数据提取是正确的。

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

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

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

通过本实验,我们可以掌握使用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语句后,我们可以得到每个班级的人数统计结果。

视图的创建和使用实验报告

视图的创建和使用实验报告

测试过程:(实验中出现的问题、错误、解决方法)建立视图的时候发现不会使用SQL语句建立,就只能直接建立了,但建立过程中条件控制不得当,导致视图建立出错,后来在同学的帮助下成功建立视图。

实验总结:经过这次数据库系统基础课程设计,我们不仅及时巩固的了数据库以及软件工程的知识,并对数据库以及软件工程提供的开发流程和工具对于实现特定功能程序的重要意义签名某某某2011年12 月27 日评语与成绩:教师签名:年月日洛阳师范学院信息技术学院软件实验报告专业:软件工程课程:数据库学号:1234567890 姓名:某某某班级:10软件工程实验名称视图的创建和使用实验类型验证性实验时间2011年12月27日实验环境Microsoft SQL Server 2005实验目的与要求:1.理解SQL的视图以及与基本表的区别;2.掌握SQL视图的定义、查询、更新。

实验内容:对学生数据库,应用SQL语句实现以下要求:1)建立男学生的视图(Male_Student),属性包括学号、姓名、选修课程名和成绩。

2)在男学生视图中查询平均成绩大于80分的学生学号与姓名。

3)对男学生视图的数据进行修改。

将“95001”学号的学生姓名改为“李咏”;将“95001”学生选修“数据库”的成绩改为“95”;4)统计每个学生有成绩的课程门数、平均成绩。

实验步骤:(算法描述、源程序、操作步骤和方法)1.建立男学生的视图(Male_Student)2.在男学生视图中查询平均成绩大于80分的学生学号与姓名select studentname,studentnofrom Male_Studentwhere score>803.对男学生视图的数据进行修改将“95001”学号的学生姓名改为“李咏”将“95001”学生选修“数据库”的成绩改为“95”update Male_Student set studentname='李咏'实验步骤:(算法描述、源程序、操作步骤和方法)where studentno='95001'update Male_Studentset score='95'where studentno='95001' and coursename='数据库'4.统计每个学生有成绩的课程门数、平均成绩select studentno as 学号,count(*) as 课程门数,avg(score)as 平均成绩from scorewhere score is not nullgroup by studentno。

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

《数据库系统概论》实验报告
实验名称:数据视图
实验人:
实验地点:实验楼317
实验日期:2009-10-25
一、实验准备
1.硬件及软件环境要求
为了使该实验顺利进行,需要有一台计算机,计算机必须安装Windows 2000、Windows XP或Windows NT操作系统,还必须安装Microsoft SQL Server 2000 任意一版本(个人版、标准版、企业版)。

实验开始之前,必须将实验1.2节中创建好的SCDB数据库和ShiYan数
据库附加到当前SQL数据库服务器中。

实验人员必须掌握了数据视图机制的相关概念,懂得了数据视图机制对数据操作的主要作用及其基本特点。

2.本实验涉及的主要SQL语句的语法格式
视图是一种常用的数据库对象,可以将它看成是虚拟表或存储在数据库中的查询,它为查看和存取数据提供了另外一种途径。

对查询执行的大多数操作,使用视图一样可以完成。

而且,使用视图可以简化数据操作,同时还可以提高数据库的安全性。

(1) CREATE VIEW语句
创建一个虚拟表,该表以另一种方式表示一个或多个表中的数据。

CREATE VIEW必须
是查询批处理中的第一条语句。

在Transact-SQL语言中,DROP VIEW语句的基本语法为:CREATE VIEW [< database_name>.] [< owner>.] view_name [(column[,...n ])] [ WITH <view_attribute> [,...n ]]
AS
select_statement
[ WITH CHECK OPTION ]
< view_attribute > ::={ ENCRYPTION | SCHEMABINDING | VIEW_METADATA }【说明】
view_name:视图的名称。

视图名称必须符合标识符规则。

可以选择是否指定视图所有者名称。

column:视图的列名。

只有在下列情况下,才必须命名CREATE VIEW中的列:当列是从算术表达式、函数或常量派生的,两个或更多的列可能会具有相同的名称,视图中的某列被赋予了不同于派生来源列的名称。

还可以在SELECT 语句中指派列名。

如果未指定column,则视图列将获得与SELECT 语句中的列相同的名称。

n:表示可以指定多列的占位符。

AS:代表视图要执行的操作。

select_statement:定义视图的SELECT 语句。

该语句可以使用多个表或其它视图。

若要从创建视图的SELECT 子句所引用的对象中选择,必须具有适当的权限。

视图不必是具体某个表的行和列的简单子集。

可以用具有任意复杂性的SELECT 子句,使用多个表或其
它视图来创建视图。

WITH CHECK OPTION:强制视图上执行的所有数据修改语句都必须符合由select_statement设置的准则。

通过视图修改行时,WITH CHECK OPTION可确保提交修改后,仍可通过视图看到修改的数据。

WITH ENCRYPTION:表示SQL Server加密包含CREATE VIEW语句文本的系统表列。

使用WITH ENCRYPTION可防止将视图作为SQL Server复制的一部分发布。

SCHEMABINDING:将视图绑定到架构上。

指定SCHEMABINDING时,select_statement 必须包含所引用的表、视图或用户定义函数的两部分名称(owner.object)。

VIEW_METADA TA:指定为引用视图的查询请求浏览模式的元数据时,SQL Server将向DBLIB、ODBC和OLE DB API返回有关视图的元数据信息,而不是返回基表或表。

(2) DROP VIEW语句
当从当前数据库中删除一个或多个视图。

可对索引视图执行DROP VIEW。

在Transact-SQL语言中,DROP VIEW语句的基本语法为:
DROP VIEW { view } [ ,...n ]
【说明】
view:要删除的视图名称。

视图名称必须符合标识符规则。

可以选择是否指定视图所有者名称。

n:表示可以指定多个视图的占位符。

(3) ALTER VIEW语句
更改一个先前创建的视图,包括索引视图,但不影响相关的存储过程或触发器,也不更改权限。

在Transact-SQL语言中,ALTER VIEW语句的基本语法为:
ALTER VIEW [< database_name>.] [< owner>.]view_name [( column[,...n])] [ WITH <view_attribute> [,...n]]
AS
select_statemen
[ WITH CHECK OPTION ]
<view_attribute> ::={ ENCRYPTION | SCHEMABINDING | VIEW_METADATA }
【说明】
view_name:表示要更改的视图名称。

column:表示一列或多列的名称,用逗号分开,将成为给定视图的一部分。

n:表示column可重复n次的占位符。

AS:表示视图要执行的操作。

select_statement:表示定义视图的SELECT 语句。

WITH CHECK OPTION:表示强制视图上执行的所有数据修改语句都必须符合由定义视图的select_statement设置的准则。

(4) 通过视图进行数据查询和数据更新操作
视图一旦定义好了以后,用户就可以象对基本表一样对视图进行查询操作。

除此以外,还可以通过视图对其基本表中的数据进行更新操作,包括添加、修改和删除数据等。

二、实验目的
1.加深对数据视图作用的理解;
2.掌握应用视图有选择性的查看所需数据的方法;
3.掌握通过视图更改数据表中数据的方法;
4.掌握创建视图的实现方法;
5.掌握更新视图的实现方法及理解视图更新操作的有关规定;
6.掌握删除视图的实现方法。

三、实验内容
针对实验数据库ShiYan,完成以下相关视图操作任务:
1.分别用企业管理器和Transact-SQL语言为S表的sno和sname属性建立名为S_View的视图。

2.为三建工程项目建立一个名为SanJian_View的供应情况视图,该视图包括供应商代码(sno),零件代码(pno),供应数量(qty)。

3.在SanJian_View中找出三建工程项目使用的各种零件代码及其数量。

4.在SanJian_View中找出供应商s1的供应情况。

5.建立颜色为红色且重量大于25的零件视图P_View。

6.将供应商号以及它为所有工程所供应零件的总数定义为一个视图S_Q_View。

7.在SPJ表上按属性SNO分组,求出每組在属性QTY属性上的最大值、最小值和平均值,且将它们置于视图RVE_View中,然后查询视图RVE_View中供
应商号为“S4”的记录。

8.将S_View视图中供应商号为s5的供应商名修改为“为国”。

9.在S_View视图中插入一个新的记录,供应商号为“s6”,供应商名为“华誉”。

10.删除SanJian_View视图中供应商号为s1的相应记录。

11.为视图S_View建立供应商名sname的视图S_Sname_View。

12.将视图S_View改名为SS_View。

13.分别用企业管理器和Transact-SQL语言将视图SS_View作如下修改:在SS_View中新增一列,列名为city,并且要求city属性值为“上海”。

14.分别用企业管理器和Transact-SQL语言删除视图SS_View。

15.在SQL Server 2000的企业管理器中分别在已经存在的基本表和视图表上点击鼠标右键,然后分别选择“设计表”和“设计视图”,在弹出的“设计表”和“设计视图”子界面上比较“基本表”和“视图表”之间的区别。

四、总结
这个实验所指都是数据与视图的问题,也许这从中的操作有点重复的意味,但是如果不是自己亲自操作的,就真的没法领会其中的难点和容易错的地方。

经过这次实验之后对我的数据和视图这个操作有了更加深刻的理解和理会,这是我最值得高兴的地方,但跟之前的实验一样都存在不小的问题,我相信我下次能够解决的。

11。

相关文档
最新文档