实验五:数据库的视图和图表的定义及使用
数据库原理实验5指导书
![数据库原理实验5指导书](https://img.taocdn.com/s3/m/2eee67060066f5335a81215a.png)
一实验题目:视图的定义和使用二实验目的:加深对视图的理解,熟练视图的定义、查看、修改等操作三实验内容及要求:(从下面10个题目中选一个)题目一:学生(学号,年龄,性别,系名)课程(课号,课名,学分,学时)选课(学号,课号,成绩)1 根据上面基本表的信息定义视图显示每门课的课名、选课人数、平均成绩2 观察基本表数据变化时,视图中数据的变化。
3 利用视图,查询平均成绩最高的学生。
题目二:图书(书号,书名,价格,出版社)读者(卡号,姓名,年龄,所属单位)借阅(书号,卡号,借阅日期)1 根据上面基本表的信息定义视图显示每本书的书名、借阅次数2 观察基本表数据变化时,视图中数据的变化。
3利用视图,查询借阅次数最多的书。
题目三:商品(编号,品名,进价,库存,售价,厂商编号)顾客(卡号,姓名,电话,积分)厂商(编号,厂址,名称、电话)销售(顾客卡号,商品编号,数量,日期)1 根据上面基本表的信息定义视图显示每种商品的品名、销售数量2 观察基本表数据变化时,视图中数据的变化。
3利用视图,查询销售数量最高的商品。
题目四:图书(书号,书名,作者编号,价格,出版社编号)作者(编号,姓名,电话)出版社(编号,出版社名称,地址)1 根据上面基本表的信息定义视图显示每个出版社的名称、出版书的数量2 观察基本表数据变化时,视图中数据的变化。
3利用视图,查询出版书最多的出版社题目五:零件(编号,名称,颜色,生产车间号)车间(编号,名称,人数,主任)产品(编号,名称,类型)生产(产品编号,生产车间编号)使用(产品编号,使用零件编号,个数)1 根据上面基本表的信息定义视图显示每个产品的编号,使用零件的编号,生产零件的车间号,车间主任2 观察基本表数据变化时,视图中数据的变化。
3利用视图,查询使用零件最多的产品。
题目六:药品(编号,名称,价格,厂商)处方(药品编号,数量,医生编号)医生(编号,姓名,科室,职称)1 根据上面基本表的信息定义视图显示每种药品的品名、销售金额2 观察基本表数据变化时,视图中数据的变化。
数据库的视图操作实验报告
![数据库的视图操作实验报告](https://img.taocdn.com/s3/m/6842ebb5960590c69ec37672.png)
实验(四)数据库的视图操作实验一、实验目的和要求(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”选项。
实验五 视图的创建和使用
![实验五 视图的创建和使用](https://img.taocdn.com/s3/m/362db03543323968011c92da.png)
实验五视图的创建和使用5.1概述5.1.1任务一理解视图的概念视图是一个虚拟表,其内容由查询定义。
同真实的表一样,视图包含一系列带有名称的列和行数据。
但是,视图并不在数据库中以存储的数据集合形式存在。
行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。
对其中所引用的基表来说,视图的作用类似于筛选。
定义视图的筛选可以来自当前或其他数据库的一个或多个表,或者其他视图。
视图被定义后便存放在数据库中,对视图中的数据的操作与对表的操作一样,可以对其进行查询、修改和删除,但对数据的操作要满足一定的条件。
当对视图所看到的数据进行修改时,相应的基表的数据也会发生变化,同时,若基表的数据发生变化,这种变化也会自动地反映到视图中。
5.1.2任务二理解视图的优点用户可以根据自己的实际需要创建视图,使用视图有很多优点,主要有以下几点:1、简单性视图可以屏蔽数据的复杂性,简化用户对数据库的操作。
使用视图,用户可以不必了解数据库的结构,就可以方便地使用和管理数据。
那些被经常使用的查询可以被定义为视图,从而使得用户不必为以后的操作每次指定全部的条件。
2、逻辑数据独立性视图可以使应用程序和数据库表在一定程度上独立。
如果没有视图,应用一定是建立在表上的。
有了视图之后,程序可以建立在视图之上,从而程序与数据库表被视图分割开来。
3、安全性通过视图用户只能查询和修改他们所能见到的数据。
数据库中的其他数据则既看不见也取不到。
5.2创建视图创建视图的方法有三种:在创建视图前请考虑如下原则:只能在当前数据库中创建视图.视图名称必须遵循标识符的规则,且对每个用户必须为唯一.此外,该名称不得与该用户拥有的任何表的名称相同.可在其他视图和引用视图的过程之上建立视图.SQLServer 2000允许嵌套多达32级视图若要创建视图,数据库所有者必须授予用户创建视图的权限,并且用户对视图定义中所引用的表或视图要有适当的权限5.2.1任务一使用企业管理器创建视图使用企业管理器创建视图的具体操作步骤如下:1、打开企业管理器窗口,打开“新建视图”对话框。
实验 视图、索引与数据库关系图
![实验 视图、索引与数据库关系图](https://img.taocdn.com/s3/m/44d261355a8102d276a22fbf.png)
实验名称:实验五视图、索引与数据库关系图班级学号姓名日期所在院系指导老师成绩一、试验目的使学生掌握SQL Server中的视图创建、查看、修改和删除的方法;索引的创建和删除的方法;数据库关系图的实现方法。
加深对视图和SQL Server数据库关系图的理解。
二、实验内容(1)创建、查看、修改和删除视图。
(2)创建、删除索引文件。
(3)创建数据库关系图。
三、试验步骤1)视图操作(1)创建视图。
使用SQL Server Management Studio直接创建,步骤如下:1.单击数据库前面的+号,然后再单击“学生选课”数据库前面的+号,右击“视图”,在弹出的快捷菜单中选择“新建视图”命令,弹出“添加表”对话框。
如图5.1所示图5.1 “添加表”对话框2.在“添加表”对话框中,添加视图数据来源的表,这里添加三张表,分别是student、course和sc表。
添加表后,单击添加表对话框中的“关闭”按钮,出现创建视图界面。
如图5.2所示图5.2添加字段前的效果图3.如果要在视图中显示某些表的某个字段,只需单击其字段前的复选框即可,同时在中间列中会显示该字段,在代码区中会看到具体实现的代码。
4.如果要查看视图,单击常用工具栏中的“执行”按钮,就可以看到视图的数据显示,如由字段student.sno、sname、cname、grade生成的视图效果。
如图5.3所示图5.3 生成视图效果图5.在创建视图中还可以为字段添加列名、进行排序、添加多个筛选条件。
6.单击常用工具栏中的“保存”按钮,就可以弹出保存视图提示对话框,输入视图名字即可,为view_stu_grade。
(2)修改视图。
视图创建好后,就可以利用它进行查询信息了。
如果发现视图的结构不能很好的满足要求,还可以对它进行修改。
使用SQL Server Management Studio直接修改,步骤如下:1.在SQL Server Management Studio中,选择服务器、数据库、并使数据库展开,再单击“视图”前面的+,就可以看到已存在的视图了。
数据库 实验5 视图
![数据库 实验5 视图](https://img.taocdn.com/s3/m/5e17670a03d8ce2f006623a3.png)
实验5 索引和视图1.实验目的(1)掌握使用SQL Server管理平台和Transact-SQL语句CREA TE INDEX创建索引的方法。
(2)掌握使用SQL Server管理平台查看索引的方法。
(3)掌握使用SQL Server管理平台和Transact-SQL语句DROP INDEX删除索引的方法。
(4)掌握使用SQL Server管理平台和Transact-SQL语句CREA TE VIEW创建视图的用法。
(5)了解索引和视图更名的系统存储过程sp_rename的用法。
(6)掌握使用Transact-SQL语句ALTER VIEW修改视图的方法。
(7)了解删除视图的Transact-SQL语句DROP VIEW的用法。
2.实验内容及步骤说明:在SQL Server2005中,有三种视图:标准视图、索引视图和分区视图。
标准视图:组合了一个或多个表中的数据,用户可以获得使用视图的大多数好处。
包括将重点放在特定数据上以简化数据操作。
索引视图:适合聚合多行的查询,不太适合经常更新的基本数据集。
分区视图:支持大型多层网站的处理需要。
SQL Server2005提供了两种创建视图的方法。
SSMS和T-SQL语句。
create view语法形式:create view 【数据库名.】【拥有者.】视图名【(列名1,列名2【…..n】)】AS<select 语句>【with check option】其中,各参数说明如下:数据库名:当前数据库名称拥有者:当前数据库的拥有者,在绑定架构时不可缺。
视图名:用于指定包含的列名,符合标识符的命名规则。
列名:视图中包含的列名。
若使用与源表或视图中相同的列名时,则不必给出列名,如果是计算得到的值则必须指定列名。
select语句:定义视图的select语句。
在视图中可以使用的select语句有一些限制。
with check option:强制针对视图执行的所有数据修改语句都必须符合在select语句中设置的条件。
数据库SQL视图的创建及使用实验报告(共5篇)[修改版]
![数据库SQL视图的创建及使用实验报告(共5篇)[修改版]](https://img.taocdn.com/s3/m/caaefa23580102020740be1e650e52ea5518ce3e.png)
第一篇:数据库SQL 视图的创建及使用实验报告《数据库基础》实验报告班级__计算机111__学号__xxxxxxxx__姓名__xxx___完成日期____6.20___实验室__理工楼310_ 指导老师xxx成绩____100______实验四、视图的创建及使用(一)实验目的(1)加深对视图的理解。
(2)掌握使用管理工具创建和使用视图的方法。
(3)掌握使用SQL创建和使用视图的方法。
(二)实验内容(1)使用“图书借阅”数据库,在管理工具中创建视图“借阅_计算机图书”,包含借阅类别为“计算机”的图书的信息:(读者编号,姓名,书号,书名,借阅日期)。
(2)直接使用SQL定义(1)中要求的视图并对其进行查询。
(3)在管理工具中建立各类视图(如单表视图、多表视图、分组视图、基于视图的视图等)。
(4)尝试使用insert、update、delete更新视图。
(三)实验具体步骤(1)使用“图书借阅”数据库,在管理工具中创建视图“借阅_计算机图书”,包含借阅类别为“计算机”的图书的信息(读者编号,姓名,书号,书名,借阅日期)。
create view 借阅_计算机图书(Duno,Duname,Shuno,Shuname,JYtime)asselect Duzhe.Duno,Duname,Tushu.Shuno,Shuname, JYtime from Tushu,Duzhe,Jieyue whereDuzhe.Duno=Jieyue.Duno and Tushu.Shuno,=Jieyue.Shuno and Liebie='计算机'(2)直接使用SQL定义(1)中要求的视图并对其进行查询。
select * from 借阅_计算机图书(3)在管理工具中建立各类视图用管理工具建立:在管理工具中,打开图书借阅数据库,右击视图,新建视图,然后依照要求建立各种视图。
《数据库基础》实验报告SQL语句:create view 单表视图asselect Shuname,Shuno,Zuozhe from Tushucreate view 多表视图asselect Shuname,Shuno,Zuozhefrom Tushu,Jieyuewhere Tushu.Shuno,=Jieyue.Shunocreate view 分组视图(Shuno,Duno)asselect Shuno,Duno from Jieyue group by Shunocreate view 基于视图的视图asselect Duno,Duname,Danwei from 单表视图where Sex = '男'(4)尝试使用insert、update、delete更新视图。
实验五:数据库的视图和图表的定义及使用
![实验五:数据库的视图和图表的定义及使用](https://img.taocdn.com/s3/m/4fa39ac96529647d272852ee.png)
在企业管理器中,展开数据库图表所属的服务器、数据库文件夹、数据库以及关系表文件夹。用鼠标右键单击要编辑的关系表,在弹出的菜单中选择“设计关系表”项,则弹出一个编辑关系表的对话框,数据库关系表中的所有操作都是在该对话框中完成的。
6、数据库图表的删除
在企业管理器中,用鼠标右键单击欲删除的数据库关系表。在弹出的菜单上选择“删除”项。在随后出现的删除对象对话框中选中关系表后,单击“删除全部”按钮,即可删除该数据库中被选中的关系表。
ifexists(select*fromsysobjectswherename='Reader')
droptableReader
go
createtableReader(
ReaderIdvarchar(50)primarykey,
Namevarchar(50),
Unitvarchar(50),
Sgenderchar(10)check(Sgender='男'orSgender='女'),
union
select'1003','200215122','2011.02.03'
union
select'1003','200215125','2011.02.03'
union
select'1006','200215126','2011.02.03'
创建视图并修改:
createviewghbas
SELECTdbo.Books.Type,Books.Press,Books.Author,Books.BookName,Books.Price,dbo.Borrow.*
视图和图表的定义及使用-SQL
![视图和图表的定义及使用-SQL](https://img.taocdn.com/s3/m/a1e8bd1d4431b90d6c85c7fb.png)
(2) 表的索引(逻辑排序)—产生新的索引文件 基本命令格式: INDEX ON <索引关键字>TAG 标记名 [OF 复合索引文件名] [ASCENDING | DESCENDING] 例如: use rsda list index on nl tag nl_index List use
关于排序和索引的说明
注意: 表文件存盘:CTRL+W (万能保存键)
表文件不存盘:ESC
例1:CREATE 学生表
注意: 表文件存盘:CTRL+W
表文件不存盘:ESC
2、显示表记录:
最简单的命令格式:list
例如:list
较复杂的命令格式为: LIST|DISP [<输出列列表>] [<范围>] [FOR <条件>][WHILE <条件>][OFF] [TO PRINTER|TO FILE <文件名>] 命令功能:
表的定义及使用
( No 12:表含视图和基本表)
2014-1-8
内 容
基本表的定义 视图的定义 表的使用(含统计、排序、索引等)
人事档案表(RSDA)
一、基本表的定义
方法1: VF基本格式:
CREATE 新建表名
方法2: SQL基本格式: CREATE TABLE 新建表名 ({字段名1 字段类型 [NULL | NOT NULL] [DEFAULT 字段的默认值表达式] |IDENTITY (种子,递增量) [ PRIMARY KEY | UNIQUE][CH ECK (字段的约束条件表达式)]} [,…] [,字段名2 字段类型,… …)
4、增加表记录
尾部添增命令格式1:append 插入新记录命令格式2:insert [before] 例1: append 例2: insert
4数据库的视图和图表的定义及使用实验
![4数据库的视图和图表的定义及使用实验](https://img.taocdn.com/s3/m/9b72d249be1e650e52ea997f.png)
实验四数据库的视图和图表的定义及使用实验课时安排:2课时一、实验目的和要求使学生掌握SQL Server中的视图创建向导和图表创建向导的使用方法,加深对视图和SQL Server图表作用的理解。
二、实验内容1 创建、查看、修改和删除视图。
2 创建、编辑和删除数据库图表。
三、实验方法1 创建视图假设在图书.读者数据库中已经建立了图书、读者和借阅3个表.它们的结构为图书(书号,类别, 出版社,作者,书名,定价).借阅(书号,读者书证号,借阅日期).读者(书证号,姓名, 单位,性别,电话).如果要在上述3个表的基础上建立一个视图取名为读者--VIEW、其操作用SQL语句表示为:CREA TE VIEW 读者-VTEWAS SELECT图书.*借阅.*FROM图书,借阅,读者WHERE图书书号=借阅书号AND借阅.读者书证号=读者书证号;下面利用SQLServer2000中提供的视图创建向导,来创建读者--VIEW视图。
l)打开企业管理器窗口确认服务器,打开数据库文件夹。
选中新视图所在的数据库。
2)选择菜单“工具”“向导’。
3)在向导选择对话框中单击数据库左边的”+’号,使之展开。
选择“建视图向导”项,单击“确定”按钮4)进入创建视图向导后,首先出现的是欢迎进入创建视图向导对话框,其中简单介绍了该向导的功能。
单击“下一步”按钮后就会出现选择“数据库名称”对话框。
5)在“选择数据库名称”对话框中选择视图所属的数据库。
本例的数据库为“图书-读者”。
单击“下一步按钮,则进入选择表对话框。
6)在选择表对话框中列出了指定数据库中所有用户定义的表和视图。
用户可以从中选择构造视图所需的一个表或多个表(或视图)被选中的表成为构造视图参考表。
选择构造视图参考表的方法是:用鼠标单击表名后的“包含在视图中”列,使复选框为选中状态,本例的数据库中的3个表都应当被选中。
单而“下一步”按钮.则进入选择列对话框。
7)列选择对话框中以表格形式列出了创建视图参考表的全部属作为个属性表的一行、创建视间的参考属性可以分表格中选出、选择视图参考属性的方法是用鼠标单地属性名后边的‘选择列’.使其复选框为选中状态。
数据库原理视图的创建与使用实验报告
![数据库原理视图的创建与使用实验报告](https://img.taocdn.com/s3/m/a25d904526d3240c844769eae009581b6bd9bd18.png)
数据库原理视图的创建与使用实验报告***大学计算机科学与信息学院软件工程系上机实验报告《数据库原理》实验报告题目实验六视图的创建与使用姓名*** 班级*** 日期***实验环境:SQL Server 2000实验内容与完成情况:一、实验目的1)理解视图的概念。
2)掌握创建视图的方法。
3)掌握更改视图的方法。
4)掌握用视图管理数据的方法。
二、实验内容创建视图是数据库应用中的常见需求,可以使用企业管理创建、管理视图,也可以用T-SQL语言创建、管理视图。
1、用创建视图向导创建视图使用视图向导创建一个名为studview1的投影视图,该视图从student表中查询出CS系所有学生的学号,姓名,系别。
(提示:分别进入企业管理器,再分别单击“工具”、“向导”、“数据库”、“创建视图向导”,然后一步一步地创建视图。
)创建视图:显示结果:2、用企业管理器创建、管理视图(1)创建视图A、使用企业管理器在表teacher上创建一职称为副教授的教师视图teacherview视图,该视图中需包括以下信息:姓名,系别,职称,工资。
1)依次进入企业管理器、数据库、XSGL库,并用鼠标右键单击“视图”。
2)在系统弹出的快捷菜单中单击“新建视图”,出现“新建视图”窗口。
B、使用企业管理器在表student、course、sc表上创建一个能查询学生的学号、姓名、课程名及课程成绩的视图,视图名为S_C_VIEW。
(2)修改视图stuview1将视图studview1的定义修改为从student表中查询出MA系学生的学号,姓名,系别。
(提示:修改视图:在企业管理器中选中视图后->击右键->按设计视图->进行修改)(3)管理视图中的数据1)查看视图stuview1中的数据。
(提示:用鼠标右键单击要管理的视图stuview1,单击“打开视图”,再单击“返回所有行”。
)2)将视图stuview1中学号为“*********”的学生姓名改为“许华”。
数据实验5 视图
![数据实验5 视图](https://img.taocdn.com/s3/m/1b3b0dde240c844769eaee69.png)
在EDUC库中以student表为基础,建立一个名为“V_计算机系学生”的视图。
在使用该视图时,将显示student表中的所有字段。
2.使用SQL语句创建视图①在查询分析器中建立一个每个学生的学号、姓名、选修的课名及成绩的视图S_C_GRADE;②建立一个所有计算机系学生的学号以及平均成绩的视图COMPUTE_AVG_GRAD。
(二)修改视图1.使用企业管理器修改视图在企业管理器中将视图COMPUTE_AVG_GRAD改成数学系的学生学号以及平均成绩的视图。
2.使用SQL语句修改视图①在查询分析器中使用更改视图的命令将上面建立的视图“V_计算机系学生”更名为“V_计算机系男生”。
(三)删除视图1.使用企业管理器删除视图用企业管理器删除视图“V_计算机系男生”。
2.使用SQL语句删除视图用SQL语句删除视图COMPUTE_AVG_GRAD。
项目二:使用视图(一)定义视图1.定义计算机系学生基本情况视图v_computer;2.将student,course,sc表中学生的学号、姓名、课程号、课程名、成绩定义为视图V_S_C_G;3.将各系学生人数,平均年龄定义为视图v_num_avg;4.定义一个反映学生出生年份的视图v_year;5.将各位学生选修课程的门数及平均成绩定义为视图v_avg_s_g;6.将各门课程的选修人数及平均成绩定义为视图v_avg_c_g。
(二)使用视图1.查询平均成绩为90分以上的学生学号、姓名和成绩;2.查询各课成绩均大于平均成绩的学生学号、姓名、课程号和成绩;(三)修改视图1.通过视图v_computer,分别将学号为“95001”和“95005”的学生姓名更改为“s1”和“s5”,并查询结果;2.通过视图v_computer,新增加一个学生记录(’s12’,’yan xi’,19,’is’),并查询结果;3.通过视图v_computer,新增加一个学生记录(’s13’,’yan xi’,19,’cs’),并查询结果;4.通过视图v_computer,删除学号为“s13”的学生信息,并查询结果;。
数据库实验五:视图的应用
![数据库实验五:视图的应用](https://img.taocdn.com/s3/m/2164b184c1c708a1284a4453.png)
数据库实验五:视图的应用一、实验目的与要求: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)基于多个表根据连接操作定义视图。
数据库表和视图的基本操作
![数据库表和视图的基本操作](https://img.taocdn.com/s3/m/64db384033687e21af45a999.png)
实验一数据库表和视图的基本操作一、实验大纲实验目的:1.掌握数据库表和视图的概念2.熟练掌握创建、修改、删除表的方法3.熟练掌握创建、修改、删除视图的方法4.掌握表和视图的区别5.熟练掌握单表和视图的各种查询操作6.掌握空值的概念7.了解别名的概念8.掌握不精确查询的操作方法9.熟练掌握数据插入、修改、删除的概念10.熟练掌握INSERT、UPDA TE、DELETE命令的实现方式11.掌握将子查询嵌套在INSERT、UPDA TE、DELETE中的操作方法12.掌握分别用T-SQL语言和企业管理器两种方法进行以上各种操作实验要求:1.创建表表1结构为Employee(eno(职工编号),ename(职工姓名),esex(性别),address(家庭住址),sdept(所在部门),eyear(工龄),title(职务))表2 结构为Dept(dno(部门编号),dept(部门名称),header(部门领导))表3结构为Salary(eno(职工编号),ename(职工姓名),dept(所在部门),sal(基本工资),btsal(基本津贴),sdbt(水电补贴),shbt(生活补贴),yjjt(业绩津贴),bybt (边远补贴),kfz(扣房租),kgjj(扣公积金),sybx(失业保险),ylbx(医疗保险))表4结构为Header(hno(领导编号),hname(领导姓名),dept(所在部门),title(职务))2.修改表结构向Employee表中加入sage(年龄)字段,tel(联系电话),将字段名sdept改为dept。
将表Salary中的eno数据类型由原来的数值型改为字符型将表Salary中字段sdbt删除。
3.删除表Header。
4.分别向表Employee, 表Dept和表Salary中加入数据,至少10条记录。
5.创建视图建立只包含职工编号,职工姓名,工龄和职务的视图E_view1建立工龄在10年以上且职务为总经理的员工的视图E_view2。
数据库实验——视图的创建与使用
![数据库实验——视图的创建与使用](https://img.taocdn.com/s3/m/ccddab23915f804d2b16c12e.png)
数据库原理与应用实验报告题目:视图的创建与使用学号:_________________姓名:_________________ 教师:_________________实验题目视图的创建与使用1、实验内容视图的创建与使用2、实验目的与要求1、理解视图的概念。
2、掌握视图创建的方法。
3、掌握更改视图的方法。
3、实验环境已安装SQL Server 2008 企业版的计算机;具有局域网环境,有固定IP;4、实验结果与分析1创建教材的三个数据表Student、Course及SC。
CREATE TABLE Student(Sno CHAR(9),Sname CHAR(20),Ssex CHAR(20),Sage SMALLINT,Sdept CHAR(20));CREATE TABLE SC(Sno CHAR(9),Cno CHAR(4),Grade SMALLINT,);CREATE TABLE Course(Cno CHAR(4),Cname CHAR(40),Cpno CHAR(4),Ccredit SMALLINT,);2向三个表中插入教材中的数据。
INSERT INTO Student values(‘200215121’,’李勇’,’男’,20,’CS’); INSERT INTO Student values(‘200215122’,’刘晨’,’女’,19,’CS’);INSERT INTO Student values(‘200215121’,’王敏’,’女’,18,’MA’);INSERT INTO Student values(‘200215121’,’张立’,’男’,19,’IS’);INSERT INTO Course values(‘1’,’数据库’,’5’,4);INSERT INTO Course(Cno,Cname,Credit) values(‘2’,’数学’,2);INSERT INTO Course values(‘3’,’信息系统’,’1’,4);INSERT INTO Course values(‘4’,’操作系统’,’6’,3);INSERT INTO Course values(‘5’,’数据结构’,’7’,4);INSERT INTO Course (Cno,Cname,Credit) values(‘6’,’数据处理’,2);INSERT INTO Course values(‘7’,’PASCAL语言’,’6’,4);INSERT INTO SC V ALUES (‘200215121’, ‘1’, 92);INSERT INTO SC V ALUES (‘200215121’, ‘2’, 85);INSERT INTO SC V ALUES (‘200215121’, ‘3’, 88);INSERT INTO SC V ALUES (‘200215122’, ‘2’, 90);INSERT INTO SC V ALUES (‘200215122’, ‘3’, 80);3、创建一个名为View_Male_Student的视图,从表Student中查询出性别为男的所有学生的资料。
实验4:数据库的视图的定义、使用和触发器实验目的
![实验4:数据库的视图的定义、使用和触发器实验目的](https://img.taocdn.com/s3/m/e9872f788e9951e79a892707.png)
实验4:数据库的视图的定义、使用和触发器一、实验目的1、掌握SQL Server中的创建视图的方法,加深对视图的理解。
2、学会创建触发器,了解触发器的基本概念,理解触发器的功能。
二、实验内容1、创建、查看、修改和删除视图。
2、创建、修改和删除触发器。
三、实验步骤1、创建视图。
在“学生表”,“课程表”,“选课表”3个表的基础上建立一个视图,取名为“学生成绩”。
1)打开企业管理器窗口,确认服务器、打开数据库文件夹,选中新“学生成绩”数据库,右键单击,在弹出菜单上选“新建”――“视图”。
弹出窗口如图4-1所示:图4-1 新建视图(1)2)在工具栏上单击“添加表”按钮,在弹出的窗口中选取创建视图所需的3个表:学生表、课程表、选课表。
3)在学生表中,选取“学号”、“姓名”字段;在课程表中,选取“课程名”字段;在选课表中,选取“成绩”字段,最后单击工具栏中的“运行”按钮。
结果如图4-2所示:4)单击工具栏中的“保存”按钮,为新建的视图取名为“视图1”,单击“确定按钮”保存视图。
图4-2 新建视图(2)2、查看和修改视图在企业管理器中,选择服务器、数据库,并使数据库展开,然后用鼠标右键单击要修改结构的视图,在弹出的菜单中,选择“设计视图”,则弹出和图4-2类似的视图设计对话框。
用户可以在该对话框中查看视图,修改视图。
3、删除视图在企业管理器中,将鼠标指向数据库中的视图文件夹中的“视图1”,并单击鼠标右键,在弹出的菜单中,选择“删除”,会出现如图4-3所示的窗口:图4-3 删除视图选中“全部移出”按钮,被选中的视图就被删除。
4、创建触发器(1)在企业管理器中,由服务器开始逐步扩展到触发器所属的表。
打开表文件夹,在细节窗口中用鼠标右键单击触发器所属的表,在弹出的菜单上选择“全部任务”――“管理触发器”。
如图4-4所示:图4-4 创建触发器(1)(2)在弹出的窗口中,输入创建触发器的T-SQL语句(如图4-5所示),单击“检查语法”按钮,进行语法检查,检查无误后,单击确认。
数据库实验---视图的定义和操作
![数据库实验---视图的定义和操作](https://img.taocdn.com/s3/m/a08a767ff90f76c661371aee.png)
实验视图的定义和操作一、实验目的本次实验了解SQL Server 2005 的启动,熟悉如何使用SSMS 和SQL 建立数据库和表,并加深对于完整性的理解。
...二、背景知识在使用数据库的过程中,接触最多的就是数据库中的表。
表是数据存储的地方,是数据库中最重要的部分,管理好表也就管理好了数据库。
表是由行和列组成的。
创建表的过程主要就是定义表的列的过程。
表的列名在同一个表中具有唯一性,同一列的数据属于同一种数据类型。
除了用列名和数据类型来指定列的属性外,还可以定义其它属性:是否为空、默认值、标识符列、全局唯一标识符列等。
约束是SQL Server 提供的自动保持数据库完整性的一种方法,定义了可输入表或表的单个列中的数据的限制条件。
在SQL Server 中有5 种约束:主关键字约束(Primary Key Constraint)、外关键字约束(Foreign Key Constraint)、惟一性约束(Unique Constraint)、检查约束(Check Constraint)和默认约束(Default Constraint)。
...三、实验内容1.对应HRM 数据库,参照前面实验中完成的查询,按如下要求自行设计视图:1)基于单个表按投影操作定义视图。
举例:定义一个视图用以查看所有员工的编号、姓名和出生日期。
2)基于单个表按选择操作定义视图。
举例:定义一个满足sex=’true’的员工的所有信息的视图。
3)基于单个表按选择和投影操作定义视图。
举例:定义一个视图用以查看部门号码为‘2’的所有员工的姓名、电话和邮件地址。
4)基于多个表根据连接操作定义视图。
举例:定义一个视图用以查看所有员工的姓名、部门名及工资。
5)基于多个表根据嵌套查询定义视图。
举例:定义一个比所有财务部的雇员工资都高的雇员的信息的视图6)定义含有虚字段(即基本表中原本不存在的字段)的视图。
举例:定义一个视图用以查看所有雇员的编号、姓名、年龄。
了解MySQL数据库视图的作用与用途
![了解MySQL数据库视图的作用与用途](https://img.taocdn.com/s3/m/103083d3b9f67c1cfad6195f312b3169a551ea46.png)
了解MySQL数据库视图的作用与用途引言:在现代的信息化社会中,数据库扮演着至关重要的角色。
作为一种常见的关系型数据库管理系统,MySQL被广泛应用于各个领域。
数据库视图作为MySQL的核心功能之一,对于数据的查询和管理提供了便利。
本文将介绍MySQL数据库视图的作用与用途,并深入探讨其在实际应用中的价值和限制。
一、MySQL数据库视图的基本概念1.1 视图的定义数据库视图是基于表(或其他视图)构建的虚拟表,是一种逻辑结构,而不是物理结构。
它是一个包含查询的命名结果集,可以像操作表一样对其进行查询、插入、更新和删除等操作。
1.2 视图的创建创建视图的语法为:CREATE VIEW view_name AS SELECT column1, column2 FROM table_name WHERE condition;其中,view_name为视图的名字,column1, column2为要选择的列,table_name 为要选择的表,condition为视图的过滤条件。
1.3 视图的分类根据视图的创建方式和更新规则,视图可以被分为以下几类:1. 普通视图:基于一个或多个表创建的视图,用于简化数据查询和提供安全性。
2. 可更新视图:可以被更新的视图,可以对其进行插入、更新和删除操作。
3. 聚合视图:基于聚合函数和GROUP BY子句创建的视图,用于快速生成统计报表。
二、MySQL数据库视图的作用2.1 数据安全性视图可以限制用户对表的访问权限,只暴露部分数据。
通过视图可以隐藏敏感字段,防止用户或程序直接访问。
例如,一个员工信息表包含员工的工资信息,但希望普通员工只能查看自己的工资而不能修改,可以创建一个基于员工ID和工资字段的视图,并将修改权限授予管理员。
2.2 数据抽象视图可以屏蔽底层表的复杂性,提供简单、易懂的数据模型。
通过视图,可以将多个表的数据整合成一张表,简化数据查询的过程。
例如,一个电商平台涉及多个表,包括用户表、订单表和商品表。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、创建视图
假设在图书_读者数据库中已经建立了图书、读者和借阅3个表,它们的结构为:
图书(书号,类别,出版社,作者,书名,定价);
借阅(书号,读者借书证号,借阅日期);
读者(借书证号,姓名,单位,性别,话)如果要在上述3个表的基础上建立一个视图,取名为读者_VIEW,其操作用SQL语句表示为:
SQL平台上应用数据库系统建立多个适用与不同的用户层,使得不同的用户能够得到自己想要的视图,而不破坏数据库的数据,从而保护的数据的完整性、安全性,提高据库的利用率。
指导教师意见
签名:年月日
注:各学院可根据教学需要对以上栏木进行增减。表格内容可根据内容扩充。
insertintoReader
select'200215121','李勇','CS','男','888888888'
union
select'200215122','刘晨','MA','女','857988888'
union
select'200215123','王明','MA','女','999999999'
5、编辑数据库图表
在企业管理器中,展开数据库图表所属的服务器、数据库文件夹、数据库以及关系表文件夹。用鼠标右键单击要编辑的关系表,在弹出的菜单中选择“设计关系表”项,则弹出一个编辑关系表的对话框,数据库关系表中的所有操作都是在该对话框中完成的。
6、数据库图表的删除
在企业管理器中,用鼠标右键单击欲删除的数据库关系表。在弹出的菜单上选择“删除”项。在随后出现的删除对象对话框中选中关系表后,单击“删除全部”按钮,即可删除该数据库中被选中的关系表。
union
select'1008','人文','北京大学出版社','李叶','毛泽东思想',30
union
select'1009','人文','北京大学出版社','好烦','邓小平理论',30
union
select'1010','地理','复旦大学出版社','好烦','中国地理',81
union
select'1011','历史','复旦大学出版社','好烦','中国历史',81
CREATE VIEW读者_VIEW AS SELECT图书.*,借阅.* FROM图书,借阅,读者
WHERE图书.书号=借阅.书号AND借阅.读者借书证号=读者.借书证号;
利用SQL Srever 2000中提供的视图创建向导,来创建读者_VIEW视图。
2、查看和修改视图
视图创建好后,就可以利用它进行查询信息了。如果发现视图的结构不能很好地满足要求,还可以在企业管理器中对它进行修改
ifexists(select*fromsysobjectswherename='Reader')
droptableReader
go
createtableReader(
ReaderIdvarchar(50)primarykey,
Namevarchar(50),
Unitvarchar(50),
Sgenderchar(10)check(Sgender='男'orSgender='女'),
union
select'1003','200215122','2011.02.03'
union
select'1003','200215125','2011.02.03'
union
select'1006','200215126','2011.02.03'
创建视图并修改:
createviewghbas
SELECTdbo.Books.Type,Books.Press,Books.Author,Books.BookName,Books.Price,dbo.Borrow.*
WHERE图书.书号=借阅.书号AND图书.类别=‘计算机’;
(2)在SQL Server企业管理器中调出Create Diagram Wizard(创建图表向导),完成在图书_读者数据库中建立一个图书_借阅图表操作。要求该图表包括图书和借阅两个表。并包括图书与借阅之间的“图书.书号=借阅.书号”外码与被参照表之间的关联。
FROMdbo.BooksINNERJOIN
dbo.BorrowONdbo.Books.BookId=dbo.Borrow.BookIdINNERJOIN
dbo.ReaderONdbo.Borrow.ReaderId=dbo.Reader.ReaderId
删除视图:
Dropviewghb
实验数据
实验总结
Telvarchar(50)
);
go
--建借阅表
ifexists(select*fromsysobjectswherename='Borrow')
droptableBorrow
go
createtableBorrow(
BookIdvarchar(50),
ReaderIdvarchar(50),
DateDateTime,
select'1001','计算机','机械工业出版社','张宏','C#编程',85
union
select'1002','计算机','清华大学出版社','张宏','编程',90
union
select'1003','计算机','清华大学出版社','立时','软件设计师',100
union
insertintoBooks
select'1012','计算机','机械工业出版社','张宏','java编程',88
insertintoBorrow
select'1001','200215124','2011.02.03'
union
select'1002','200215126','2011.02.03'
3、删除视图
删除视图的方法是:首先要在企业管理器中,将鼠标指针指向数据库中的视图文件夹,单击右键。在随后出现的弹出菜单中,选择“删除”项,会出现删除视图对话框。选中欲删除的视图,单击“全部移出”按钮,被选中的视图就会从视图中被移出。
4、创建关联表
假如要在图书_读者数据库中建立一个读者_借阅_图书关系,要求该图表包括图书、借阅和读者三个表,并包括它们之间的“图书.书号=借阅.书号AND借阅.读者借书证号=读者.借书证号”的外码与被参照表之间的关联,即用关联表实现上述视图的功能。在企业管理器中通过向导建立数据库关联表。
union
select'200215124','张力','CS','女','999999999'
union
select'200215125','李小','IS','男','999999999'
union
select'200215126','杜绝','IS','女','999999999'
insertintoBooks
**大学实验报告
学院:专业班级:
姓名
学号
实验组
1
实验时间
指导教师
成绩
实验项目名称
实验五:数据库的视图和图表的定义及使用
实验目的
使学生掌握SQL Server中的视图创建向导和图表创建向导的使用方法,加深对视图和SQL Server图表作用的理解。
实验要求
本实验属于验证型实验,通过实验,加强对课堂讲授知识的理解。开始实验前,必须进行预习,实验过程中,先集中由老师进行具体要求和注意事项的讲解,然后各自独立在机器上完成实验。实验过程中出现问题,在实验指导老师帮助下解决。
primarykey(BookId,ReaderId)
)
altertableBorrowaddconstraintFK_Borrow_Booksforeignkey(BookId)referencesBooks(BookId)
altertableBorrowaddconstraintFK_Borrow_Readerforeignkey(ReaderId)referencesReader(ReaderId)
select'1004','数学','清华大学出版社','张忠','高等数学',50
union
select'1005','数学','北京大学出版社','李叶','概率统计',80