虽然对视图的操作最终都转换为对基本表的操作,视图看起来似乎没什么用处,但实际上,如果合理地使用视图会带来许多好处。定义视图可以将表与表之间复杂的连接操作和搜索条件对用户隐藏起来,用户只需简单地查询一个视图即可。这在多次执行相同的数据查询操作时尤为有用。......
2023-11-24
定义视图的SQL语句为CREATE VⅠEW,其一般格式为
CREATE VⅠEW<视图名>[(列名[,……n])]
AS
SELECT语句
其中的SELECT语句要注意以下几点。
(1)定义视图的查询语句中通常不包含ORDER BY和DⅠSTⅠNCT子句,这些语句可放在通过视图查询数据的语句中。
(2)在定义视图时要么指定全部视图列,要么全部省略不写,不能只写视图的部分属性列。如果省略了视图的属性列名,则视图的列名与查询语句的列名相同。但在如下三种情况下必须明确指定组成视图的所有列名。
①SELECT语句中的查询列不是单纯的属性名,而是函数或表达式等无列名的列。
②多表连接时选出了几个同名列作为视图的字段。
③需要在视图中为列选用新的更合适的列名。
1.定义单源表视图(www.chuimin.cn)
单源表的行列子集视图指视图的数据取自一个基本表的部分行、列,这样的视图行列与基本表行列对应。用这种方法定义的视图可以对数据进行查询和修改操作。
DBMS执行CREATE VⅠEW语句的结果只是保存视图的定义,并不真正执行其中的SELECT语句。只有在对视图执行查询时,才按视图的定义从相应基本表中查询数据。
2.定义多源表视图
多源表视图指定义视图的查询语句所涉及的表可以有多个,这样定义的视图一般只用于查询,不用于修改数据。
3.在已有视图上定义新视图
还可以在视图上再建立视图,这时作为数据源的视图必须是已经建立好的视图。这里的视图V_ⅠS_S2就是建立在V_ⅠS_S 1视图之上的。视图的来源不仅可以是单个的视图和基本表,而且还可以是视图和基本表的组合。
4.定义带表达式的视图
在定义基本表时,为减少数据库中的冗余数据,表中只存放基本数据,而基本数据经过各种计算派生出的数据一般是不存储的。但由于视图中的数据并不实际存储,所以定义视图时可以根据需要设置一些派生属性列,在这些派生属性列中保存经过计算的值。这些派生属性由于在基本表中并不实际存在,因此,也称它们为虚拟列。包含虚拟列的视图也称为带表达式的视图。
5.含分组统计信息的视图
含分组统计信息的视图是指定义视图的查询语句中含有GROUP BY子句,这样的视图只能用于查询,不能用于修改数据。
有关数据库技术与应用教程的文章
虽然对视图的操作最终都转换为对基本表的操作,视图看起来似乎没什么用处,但实际上,如果合理地使用视图会带来许多好处。定义视图可以将表与表之间复杂的连接操作和搜索条件对用户隐藏起来,用户只需简单地查询一个视图即可。这在多次执行相同的数据查询操作时尤为有用。......
2023-11-24
如果要使用缺省参数创建一个学籍管理数据库StuData,可以使用如下命令:Create Database StuData如果希望为数据库或事务日志指定一个或者多个特定文件,增加一个On Primary子句,列出一个或者多个文件,并可为分配这个文件的空间指定一个可选值,其命令形式如下:Create Database StuDataOn Primary,;如果为了提高性能和可恢复性,则可以使用Log On子句来指定数据库的SQL Server事务日志将存储在一个与数据库对象不同的设备上,示例如下:Create Database StuDataOn Primary,Log On;GO......
2023-11-24
SQL修改数据操作语句的一般格式为:UPDATE<表名>SET<列名>=<表达式>[,<列名>=<表达式>][,……UPDATE选课SET成绩=成绩*1.2WHERE课程号=;解题说明:该例中的元组修改条件是数据库课程,而在选课表中只有课程号而无课程名。因此,要通过在课程表中查找课程名为数据库的课程号,才能确定修改的元组,所以该题的WHERE子句中使用了子查询。......
2023-11-24
Java程序可以通过JDBC向数据库发出命令,数据库管理系统获得命令后执行请求,并将执行的结果通过JDBC返回给Java程序。JDBC API是一套用Java语言编写的类库,在java.sql包中,编写与数据库相连的Java程序首先要将该包引入到程序中。使用oracle.jdbc.driver.OracleDriver驱动程序连接Oracle数据库是直连方式,效率高、速度快。它返回值的数据类型是Connection对象,Connection对象代表与数据库的连接。读取或修改数据库中的数据JDBC通过向数据库发送SQL语句完成对数据库的操作。......
2023-11-19
T-SQL对SQL Server的使用非常重要,所有应用程序与SQL Server的通信都通过向服务器发送T-SQL语句来进行,是唯一能和SQL Server数据库系统进行交互的语言。......
2023-11-23
从1.1.1节的介绍可以看到,在数据库管理系统出现之前,人们对数据的操作是直接针对数据文件编写应用程序实现的,这种模式会产生很多问题。对于1.1.1小节中列举的学生基本信息管理和学生选课管理两个子系统,如果使用数据库技术来管理,其实现方式如图1-4所示。保证数据的安全是通过数据库管理系统的安全控制机制实现的,保证数据的可靠是通过数据库管理系统的备份和恢复机制实现的。......
2023-11-24
关键字Modify File用以表示按后面的文件说明,在指定的数据库中修改相应数据库文件。下面的语句可在学籍管理数据库增加一个新数据库文件,同时要修改原数据库文件StuFile l的最大文件尺寸为2000 MB。Alter Database StuDataAdd FileModify File又如,如果要删除学籍管理数据库文件StuFile2,则可使用如下命令:Alter Database StuDataRemove File StuFile2......
2023-11-24
SQL的数据查询语句中包括SELECT,FROM,WHERE,GROUP BY和ORDER BY子句。SELECT语句具有数据查询、统计、分组和排序的功能,其语句表达能力非常强大。查询操作需要的数据源指基本表组,表间用“,”分割。当SELECT子句后的目标列中有统计函数,如果查询语句中有分组子句,则统计为分组统计,否则为对整个结果集统计。交查询操作,操作结果为取<查询1>和<查询2>共有的元组。......
2023-11-24
相关推荐