第4章表与视图_第1页
第4章表与视图_第2页
第4章表与视图_第3页
第4章表与视图_第4页
第4章表与视图_第5页
已阅读5页,还剩99页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系 SQL ServerSQL Server中的数据类型中的数据类型4.1创创 建建 表表4.2修改表的结构修改表的结构4.3添加表中的记录添加表中的记录4.4河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系删删 除除 表表4.7删除表中的记录删除表中的记录4.6视图的概念视图的概念4.8修改表中的记录修改表中的记录4.5河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系通过视图修改基本表中的数据通过视图修改基本表中的数据4.11管管 理理 视视 图图4.10创创 建建 视视 图图4.9河南工程学院河南工程学

2、院 计算机科学与工程系计算机科学与工程系4.1.1 数据类型数据类型l 精度:指数值数据中所存储的十进制数据的总位数。l 小数位数:指数值数据中小数点右边可以有的数字位数的最大值。例如数值数据3890.587的精度是7,小数位数是3。l 长度:指存储数据所使用的字节数。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系数据类型数据类型符符 号号 标标 识识整数型整数型bigint , int , smallint , tinyint 精确数值型精确数值型decimal , numeric浮点型浮点型float , real货币型货币型money , smallmoney 位型位型b

3、it字符型字符型char , varchar Unicode字符型字符型nchar , nvarchar 文本型文本型text , ntext二进制型二进制型binary , varbinary日期时间类型日期时间类型datetime , smalldatetime时间戳型时间戳型Timestamp图象型图象型Image其他其他cursor ,sql_variant , table , uniqueidentifierSQL Server 支持的数据类型支持的数据类型 河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系1字节(字节(Byte)型)型 字节型数据存储为单精度型、无符号

4、字节型数据存储为单精度型、无符号整型、整型、8位(位(1个字节)的数值形式,范围个字节)的数值形式,范围为为0255。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系2整数型整数型 整数型数据可用于存储精确的整数,整数型数据可用于存储精确的整数,包括包括bigint,int,smallint和和tinyint 4种类种类型。它们的区别在于存储的范围不同。如型。它们的区别在于存储的范围不同。如表表4-1所示。所示。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系数数 据据 类类 型型数数 据据 范范 围围占用存储空间占用存储空间bigintbigint2 263632

5、 263631 18 8个字节个字节intint2 231312 231311 14 4个字节个字节smallintsmallint2 215152 215151 12 2个字节个字节tinyinttinyint0 02552551 1个字节个字节表表4-14-1 整数型数据整数型数据河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系3精确数值型精确数值型 精确数值型数据由整数部分和小数部精确数值型数据由整数部分和小数部分构成,分构成,decimal和和numeric包括两种类型。包括两种类型。存储范围为存储范围为1038+110381。两者的区别。两者的区别在于在于decimal

6、不能用于带有不能用于带有identity关键字的关键字的列。列。 声明精确数值型数据的格式是声明精确数值型数据的格式是numeric(p,s)或者或者decimal(p,s),其中,其中p为为精度,精度,s为小数位数,为小数位数,s的默认值为的默认值为0。 河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系4近似数值型近似数值型 近似数值型数据可以存储精度不是很近似数值型数据可以存储精度不是很高,但数据的取值范围却又非常大的数据。高,但数据的取值范围却又非常大的数据。借助科学计数法,即尾数借助科学计数法,即尾数E阶数的形式来阶数的形式来表示。表示。 河南工程学院河南工程学院 计算机

7、科学与工程系计算机科学与工程系数数 据据 类类 型型数数 据据 范范 围围占用存储空间占用存储空间realreal3.40E+383.40E+383.40E+383.40E+384 4个字节个字节floatfloat1.79E3081.79E3081.79E3081.79E3088 8个字节个字节表表4-24-2 近似数值型数据近似数值型数据河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系5货币型货币型 在在SQL Server中用十进制数来表示货中用十进制数来表示货币值。使用货币型数据时必须在数据前加币值。使用货币型数据时必须在数据前加上货币表示符(上货币表示符($),数据中间

8、不能有逗号),数据中间不能有逗号(,);当货币值为负数时,在数据前加上);当货币值为负数时,在数据前加上符号(符号()。)。 河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系 货币型包括货币型包括money和和smallmoney两种两种类型。两者的区别如表类型。两者的区别如表4-3所示。所示。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系数数 据据 类类 型型数数 据据 范范 围围占用存储空间占用存储空间smallmoneysmallmoney2 231312 231311 14 4个字节个字节moneymoney2 263632 263631 18 8个字节个

9、字节表表4-34-3 moneymoney和和smallmoneysmallmoney数据数据河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系6位(位(bit)型)型 在在SQL Server中位型相当于很多语言中位型相当于很多语言中的逻辑型,存储中的逻辑型,存储0和和1,占用,占用1个字节存储个字节存储空间。空间。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系7字符型字符型 字符型数据指由字母、数字和其他特字符型数据指由字母、数字和其他特殊符号(如殊符号(如$,#,)构成的字符串。在)构成的字符串。在引用字符串时要用单引号括起来。字符型引用字符串时要用单引号括起

10、来。字符型数据最多包含的字符数目是数据最多包含的字符数目是8000。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系 字符型包括字符型包括char和和varchar两种类型。两种类型。声明的格式是声明的格式是char(n)或者或者varchar(n)。n表表示字符串所包含的最大字符数目。前者是示字符串所包含的最大字符数目。前者是当输入的字符长度不足当输入的字符长度不足n时则用空格补足,时则用空格补足,而后者是输入的字符的长度就是实际的长而后者是输入的字符的长度就是实际的长度。所以前者又称为固定长度字符型,后度。所以前者又称为固定长度字符型,后者称为可变长度字符型。者称为可变长度字

11、符型。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系8文本型文本型 当存储的字符数目大于当存储的字符数目大于8000时使用文本型。时使用文本型。 文本型包括文本型包括text和和ntext,前者存储,前者存储ASCII字字符,后者存储符,后者存储Unicode字符。字符。text类型可以表示最类型可以表示最大长度为大长度为2311个字符,其存储长度为实际字符数个字符,其存储长度为实际字符数个字节。而个字节。而ntext类型可以表示最大长度为类型可以表示最大长度为2301个个Unicode字符,其存储长度为实际字符个数的字符,其存储长度为实际字符个数的两倍,因为两倍,因为Unic

12、ode字符用双字节表示的。字符用双字节表示的。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系9日期时间型日期时间型 在在SQL Server中日期时间型的数据以中日期时间型的数据以字符串的形式表示,即要用单引号括起来。字符串的形式表示,即要用单引号括起来。日期时间型有日期时间型有smalldatetime和和datetime两两种类型。种类型。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系 smalldatetime可表示从可表示从1900年年1月月1日日到到2079年年6月月6日的日期和时间,其存储长日的日期和时间,其存储长度为度为4个字节,前个字节,前2个字

13、节用来存储日期部个字节用来存储日期部分距分距1900年年1月月1日之后的天数,后日之后的天数,后2个字节个字节用来存储时间部分距中午用来存储时间部分距中午12点的分钟数。点的分钟数。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系 datetime可表示从可表示从1753年年1月月1日到日到9999年年12月月31 日的日期和时间,其存储长日的日期和时间,其存储长度为度为8个字节,前个字节,前4个字节用来存储距个字节用来存储距1900年年1月月1日的天数,后日的天数,后4个字节用来存储距中个字节用来存储距中午午12点的毫秒数。点的毫秒数。河南工程学院河南工程学院 计算机科学与工程

14、系计算机科学与工程系4.1.2 空值的含义空值的含义 创建表时需要确定该列的取值能否为创建表时需要确定该列的取值能否为空值(空值(NULL)。空值意味着没有值,并)。空值意味着没有值,并不是不是“空格空格”或数值或数值0。允许空值表示该列。允许空值表示该列取值是不确定的。取值是不确定的。 河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系4.2.1 使用企业管理器创建表使用企业管理器创建表(1)打开)打开“企业管理器企业管理器”,在,在“企业管理企业管理器器”中展开服务器,继续展开中展开服务器,继续展开“数据库数据库”,并展开要建立表的数据库,本例是并展开要建立表的数据库,本例是“

15、Student”。在。在“表表”项上右击鼠标,执项上右击鼠标,执行行“新建表新建表”命令,如图命令,如图4-1所示。所示。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系图图4-1 4-1 建立新表建立新表河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系(2)这时出现如图)这时出现如图4-2所示的设计表的各所示的设计表的各个字段的图形界面,根据表结构依次输入个字段的图形界面,根据表结构依次输入即可。即可。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系图图4-2 student_Info4-2 student_Info表结构表结构河南工程学院河南工程学

16、院 计算机科学与工程系计算机科学与工程系 (3)输入完成后在)输入完成后在“student_ID”列列上单击,然后在工具栏中单击上单击,然后在工具栏中单击 按钮,按钮,这时这时“学号学号”前出现前出现 图标。这样就完成图标。这样就完成了主键的设置。如果是多列构成主键,那了主键的设置。如果是多列构成主键,那么就要先同时选中这几列再单击么就要先同时选中这几列再单击 按钮。按钮。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系 (4)单击工具栏上的)单击工具栏上的 按钮,在弹按钮,在弹出的出的“选择名称选择名称”对话框中输入表名就完对话框中输入表名就完成了表的创建工作。本例输入成了表的

17、创建工作。本例输入“student_Info”。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系4.2.2 使用使用CREATE TABLE语句语句创建表创建表1语法语法 CREATE TABLE table_name ( column_name data_type NULL|NOT NULLPRIMARY KEY|UNIQUE ,n )河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系2参数说明参数说明 CREATE TABLE:语法的关键词用大:语法的关键词用大写字母来表示。本语法中表明是要创建表。写字母来表示。本语法中表明是要创建表。 table_name:用户

18、自定义的表名。:用户自定义的表名。 column_name:字段名。:字段名。 data_type:字段的数据类型。:字段的数据类型。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系 NULL|NOT NULL:允许字段为空或者:允许字段为空或者不为空,默认情况下是不为空,默认情况下是NULL。 PRIMARY KEY|UNIQUE:字段设置:字段设置为主键或者字段值惟一。为主键或者字段值惟一。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系 ,n:表明可以重复前面的内容。在:表明可以重复前面的内容。在本语法中表明可以定义多个字段。本语法中表明可以定义多个字段。 由

19、于建表时还应考虑数据的完整性等问由于建表时还应考虑数据的完整性等问题,所以上面的语法是不全面的,但已经题,所以上面的语法是不全面的,但已经可以创建表了。可以创建表了。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系【例例】设已经创建了数据库设已经创建了数据库XSCJ,现在该数据库中需,现在该数据库中需创建学生情况表创建学生情况表XS,该表的结构见表,该表的结构见表2.2。创建表创建表XS的的T-SQL语句如下:语句如下:USE XSCJCREATE TABLE XS( 学号学号 char(6) NOT NULL PRIMARY KEY, 姓名姓名 char(8) NOT NULL

20、, 专业专业 char(10) NULL, 性别性别 bit NOT NULL, 出生时间出生时间 smalldatetime NOT NULL, 总学分总学分 tinyint NULL, 备注备注 text NULL)GO河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系对一个已存在的表可以进行的修改操作包括:对一个已存在的表可以进行的修改操作包括:l 更改表名更改表名l 增加列增加列l 删除列删除列l 修改已有列的属性(列名、数据类型、是否为修改已有列的属性(列名、数据类型、是否为空值)空值)河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系4.3.1 使用企业管理

21、器修改表结构使用企业管理器修改表结构 (1)打开)打开“企业管理器企业管理器”并展开服务器,并展开服务器,继续展开继续展开“数据库数据库”,并展开要修改表的,并展开要修改表的数据库,本例是数据库,本例是“Student”。在。在“表表”项项上单击鼠标,右边会出现表对象,右击要上单击鼠标,右边会出现表对象,右击要修改的表名,并选择修改的表名,并选择“设计表设计表”命令。如命令。如图图4-3所示。所示。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系图图4-3 4-3 修改修改student_Infostudent_Info表结构表结构 河南工程学院河南工程学院 计算机科学与工程系计

22、算机科学与工程系(2)这时会出现创建表结构时的窗口,然)这时会出现创建表结构时的窗口,然后对表结构做修改就可以了。最后保存退后对表结构做修改就可以了。最后保存退出。出。 河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系4.3.2 使用使用ALTER TABLE语句修语句修改表结构改表结构1语法语法ALTER TABLE table_name ALTER COLUMN column_name data_type NULL|NOT NULL |ADD column_name data_type NULL|NOT NULL ,n |DROP COLUMN column_name ,n河

23、南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系2参数说明参数说明 ALTER TABLE:本语法中表明是要修:本语法中表明是要修改表。改表。 table_name:用户要作修改的表名。:用户要作修改的表名。 ALTER COLUMN column_name data_type:表明更改字段。:表明更改字段。 ADD column_name data_type NULL|NOT NULL:表明添加新的字段。:表明添加新的字段。 DROP COLUMN column_name:表明:表明删除一列。删除一列。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系【例例】设已经在

24、数据库设已经在数据库XSCJ中创建了表中创建了表XS。先在表。先在表XS中中增加增加1个新列个新列奖学金等级。然后在表奖学金等级。然后在表XS中删除名为奖中删除名为奖学金等级的列。学金等级的列。USE XSCJALTER TABLE XS ADD 奖学金等级奖学金等级 tinyint NULLGO-用企业管理器显示用企业管理器显示XSCJ数据库数据库XS表的结构。表的结构。USE XSCJALTER TABLE XS DROP COLUMN 奖学金等级奖学金等级GO河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系【例例】修改表修改表XS中已有列的属性:将名为中已有列的属性:将名为

25、“姓名姓名”的的列长度由原来的列长度由原来的8改为改为10;将名为;将名为“出生时间出生时间”的列的的列的数据类型由原来的数据类型由原来的smalldatetime改为改为datetime。USE XSCJALTER TABLE XS ALTER COLUMN 姓名姓名 char(10)GOUSE XSCJALTER TABLE XS ALTER COLUMN 出生时间出生时间 datetimeGO河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系4.4.1 使用企业管理器添加记录使用企业管理器添加记录 使用企业管理器添加记录的步骤如下。使用企业管理器添加记录的步骤如下。(1)打开

26、)打开“企业管理器企业管理器”并展开服务器,并展开服务器,继续展开继续展开“数据库数据库”,并展开要添加记录,并展开要添加记录的数据库,本例是的数据库,本例是“Student”。在。在“表表”项上单击鼠标,右边会出现表对象,右击项上单击鼠标,右边会出现表对象,右击要添加记录的表名,并选择打开表命令,要添加记录的表名,并选择打开表命令,进而选择返回所有行命令。进而选择返回所有行命令。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系(2)如果是第一次执行该命令,出现的窗)如果是第一次执行该命令,出现的窗口的二维表中是没有任何内容的。否则会口的二维表中是没有任何内容的。否则会出现如图出

27、现如图4-4所示的内容。所示的内容。(3)在标有)在标有“*”的一行输入相应数据就的一行输入相应数据就可以了。完成后保存退出。可以了。完成后保存退出。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系图图4-4 4-4 表表student_Infostudent_Info中的记录中的记录河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系4.4.2 使用使用INSERT语句添加记录语句添加记录1语法语法INSERT INTO table_name (column_name1,column_name2)VALUES (column_value1 , column_value

28、2)河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系2参数说明参数说明 table_name:要插入记录的表名。:要插入记录的表名。 (column_name1 , column_name2):要插入字段值的字段名。该部分可以省略要插入字段值的字段名。该部分可以省略不写,那么表明是所有的列都要插入数据。不写,那么表明是所有的列都要插入数据。 column_value1 , column_value2:所:所要插入的字段值。字段值要和上面所列字要插入的字段值。字段值要和上面所列字段一一对应。段一一对应。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系 INSERT语句

29、一次只能插入一条纪录。如语句一次只能插入一条纪录。如果要插入果要插入n条记录,那么条记录,那么INSERT语句要书语句要书写写n次。次。第一个第一个INSERT语句由于是每个字段都要语句由于是每个字段都要插入数据,所以就没有指明字段名,当然插入数据,所以就没有指明字段名,当然也可以像第二个也可以像第二个INSERT语句指明每个字语句指明每个字段,同时第二个段,同时第二个INSERT语句加上了语句加上了INTO关键字。关键字。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系【例例4-5】USE StudentINSERT INTO Student_Info (Student_ID,

30、Student_Name,Student_Sex,Born_Date,Class_No,Tele_Number,Ru_Date,address,comment)Values(20000101,陈白露陈白露,女女,1980-2-10,200001,6872902,2000-09-02,北京市北京市海淀区黄庄海淀区黄庄,成绩优秀,表现良好成绩优秀,表现良好)河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系【例例4-6】USE StudentINSERT INTO Student_Info (Student_ID,Student_Name,Student_Sex,Born_Date,C

31、lass_No)Values(20000101,陈白露陈白露,女女,1980-2-10,200001)河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系4.5.1 使用企业管理器修改记录使用企业管理器修改记录4.5.2 使用使用update语句修改记录语句修改记录1语法语法UPDATE table_name SET column_name=column_value,nWHERE condition河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系2参数说明参数说明 table_name:要修改数据的表名。:要修改数据的表名。 SET column_name=column

32、_value:将:将字段字段column_name的值修改为的值修改为column_value。 WHERE condition:修改的条件。这是:修改的条件。这是用来做筛选的,表明满足用来做筛选的,表明满足condition条件的条件的记录才会执行记录才会执行SET操作。该子句可以省略,操作。该子句可以省略,这时表明所有的记录都做这时表明所有的记录都做SET操作。操作。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系【例例4-7】USE StudentUpdate Student_InfoSet Tele_Number=2092786where Student_Name=陈白露

33、陈白露河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系【例例】将将XS表中的所有学生的总学分都增加表中的所有学生的总学分都增加10。将姓名。将姓名为为“罗林琳罗林琳”的同学的专业改为的同学的专业改为“通信工程通信工程”,备注改,备注改为为“转专业学习转专业学习”,学号改为,学号改为001241。USE XSCJUPDATE XS SET 总学分总学分 = 总学分总学分+10GOUPDATE XS SET 专业专业 = 通信工程通信工程, 备注备注 = 转专业学习转专业学习, 学号学号 = 001241 WHERE 姓名姓名 = 罗林琳罗林琳GO河南工程学院河南工程学院 计算机科学

34、与工程系计算机科学与工程系4.6.1 使用企业管理器删除记录使用企业管理器删除记录4.6.2 使用使用DELETE语句删除记录语句删除记录 在T-SQL语言中,删除数据可以使用DELETE语句或TRUNCATE TABLE语句来实现。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系语法语法DELETE FROM table_nameWHERE condition河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系参数说明参数说明 table_name:要删除记录的表名。:要删除记录的表名。 省略了省略了WHERE子句的话表明是要删除子句的话表明是要删除表中所有的记录,这

35、时候就成了空表。表中所有的记录,这时候就成了空表。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系【例例4-8】USE StudentDeleteFrom Student_InfoWHERE YEAR(born_Date)=1980 将将Student数据库的数据库的Student_Info表中表中的所有行均删除。的所有行均删除。DELETE Student_Info河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系使用使用TRUNCATE TABLE语句将删除指定表语句将删除指定表中的所有数据,因此也称其为清除表数据语中的所有数据,因此也称其为清除表数据语句。句。语

36、法格式:语法格式:TRUNCATE TABLE name4.6.3 使用使用TRUNCATE TABLE语语句删除表数据句删除表数据河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系4.7.1 使用企业管理器删除表使用企业管理器删除表(1)打开)打开“企业管理器企业管理器”并展开服务器,并展开服务器,继续展开继续展开“数据库数据库”,并展开要添加记录,并展开要添加记录的数据库,本例是的数据库,本例是“Student”。在。在“表表”项上单击鼠标,右边会出现表对象,右击项上单击鼠标,右边会出现表对象,右击要删除的表名,并选择删除表命令。要删除的表名,并选择删除表命令。河南工程学院河南

37、工程学院 计算机科学与工程系计算机科学与工程系(2)这时会弹出)这时会弹出“除去对象除去对象”对话框。在对话框。在得到了用户的肯定后系统才会确实删除掉得到了用户的肯定后系统才会确实删除掉表。所以用户确定要删除掉表,选择表。所以用户确定要删除掉表,选择“全全部除去部除去”按钮就可以了。按钮就可以了。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系4.7.2 使用使用DROP TABLE语句删语句删除表除表1语法语法DROP TABLE table_name2参数说明参数说明河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系 table_name:要删除的表名。:要删除的

38、表名。 DELETE和和DROP同为删除操作,但两同为删除操作,但两者的删除的对象是不一样的。者的删除的对象是不一样的。DELETE是是删除表中的记录,即使记录全部没有了,删除表中的记录,即使记录全部没有了,表仍然是存在的。表仍然是存在的。DROP却是用来删除表却是用来删除表的,同时表里面的记录也会随之消失。因的,同时表里面的记录也会随之消失。因此进行此进行DROP操作时要非常慎重。操作时要非常慎重。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系 视图是一种常见的数据库对象,它提视图是一种常见的数据库对象,它提供了另外一种查看和存放数据的方法。视供了另外一种查看和存放数据的方法

39、。视图类似于表,可以采用二维表的形式显示图类似于表,可以采用二维表的形式显示出数据。不过视图是虚拟的表,它的数据出数据。不过视图是虚拟的表,它的数据来自于一个或多个基本表甚至是视图。来自于一个或多个基本表甚至是视图。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系视图的好处:视图的好处: 视图能够简化用户的操作。视图能够简化用户的操作。 视图机制可以使用户以不同的方式看待视图机制可以使用户以不同的方式看待同一数据。同一数据。 视图对数据库的重构提供了一定程度的视图对数据库的重构提供了一定程度的逻辑独立性。逻辑独立性。 视图可以对机密的数据提供安全保护。视图可以对机密的数据提供安全

40、保护。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系4.9.1 使用企业管理器创建视图使用企业管理器创建视图(1)打开)打开“企业管理器企业管理器”并展开服务器,并展开服务器,继续展开继续展开“数据库数据库”,并展开要建立视图,并展开要建立视图的数据库,本例是的数据库,本例是“Student”。在。在“视图视图”项上右击鼠标,执行项上右击鼠标,执行“新建视图新建视图”命令,命令,如图如图4-8所示。所示。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系图图4-8 4-8 新建视图新建视图河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系(2)接着弹出)

41、接着弹出“创建视图创建视图”的窗口,如的窗口,如图图4-9所示。所示。(3)在第一个窗格中单击鼠标右键,从)在第一个窗格中单击鼠标右键,从弹出的菜单中选择弹出的菜单中选择“添加表添加表”命令。如图命令。如图4-9所示。所示。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系图图4-9 4-9 在创建视图时添加表在创建视图时添加表河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系(4)接着出现)接着出现“添加表添加表”对话框,如图对话框,如图4-10所示。在所示。在“添加表添加表”对话框中选择要加对话框中选择要加入的表、视图或函数。本例中需用到入的表、视图或函数。本例中需

42、用到“student_Info”这张表,所以选中这张表这张表,所以选中这张表后单击后单击“添加添加”按钮就完成了添加表的工按钮就完成了添加表的工作。如果要加入多张表,借助作。如果要加入多张表,借助Ctrl和和Shift键可以进行多选。键可以进行多选。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系图图4-10 “4-10 “添加表添加表”对话框对话框 河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系(5)在第二个窗格中选择创建视图所需的)在第二个窗格中选择创建视图所需的字段,可以指定列的别名、排序方式和规字段,可以指定列的别名、排序方式和规则等。则等。(6)单击)单

43、击“保存保存”按钮,在出现的对话框按钮,在出现的对话框中输入视图名。本例输入中输入视图名。本例输入“班号为班号为200001的学生情况的学生情况”即可。即可。 河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系图图4-11 4-11 创建视图时指定字段和条件创建视图时指定字段和条件河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系4.9.2 使用使用CREATE VIEW创建视图创建视图1语法语法CREATE VIEW view_name column_name ,nWITH ENCRYPTIONAS SELECT 语句语句WITH CHECK OPTION 河南工程学

44、院河南工程学院 计算机科学与工程系计算机科学与工程系2参数说明参数说明 column_name ,n是用于指明视图结是用于指明视图结构的。当它省略时就表明使用了构的。当它省略时就表明使用了SELECT语句的字段名。不过遇到下列情形是不能语句的字段名。不过遇到下列情形是不能省略的,而且还要做点修改:省略的,而且还要做点修改:河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系某个列不是单纯的字段名,比如使用了某个列不是单纯的字段名,比如使用了集合函数或字段表达式;集合函数或字段表达式;多个表做了连接操作,那么选同名字段多个表做了连接操作,那么选同名字段名作为视图的字段;名作为视图的字段

45、;给某个列使用新的更合适的名字。给某个列使用新的更合适的名字。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系 由于由于CREATE VIEW的语句文本是存放的语句文本是存放在在syscomments系统表中的,使用系统存储系统表中的,使用系统存储过程过程sp_helptext是可以查看到视图的文本是可以查看到视图的文本的。为了保密可以使用的。为了保密可以使用WITH ENCYPTION对存放的对存放的CREATE VIEW文文本加密。但是该选项使用后,创建者也是本加密。但是该选项使用后,创建者也是没有办法再看到的。所以创建者应在其他没有办法再看到的。所以创建者应在其他地方做个备

46、份。地方做个备份。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系 SELECT语句具体在第语句具体在第5章中讲到。在章中讲到。在创建视图时,创建视图时,SELECT语句的使用有下列语句的使用有下列限制:限制:不能包括不能包括ORDER BY、COMPUTE和和COMPUTE BY关键字;关键字;不能包含不能包含INTO关键字;关键字;不可以在临时表上创建视图。不可以在临时表上创建视图。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系 WITH CHECK OPTION表示对视图进表示对视图进行行UPDATE、INSERT和和DELETE操作时,操作时,要保证更新、

47、插入或删除的记录满足视图要保证更新、插入或删除的记录满足视图中中SELECT语句的条件表达式。语句的条件表达式。 河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系CREATE VIEW course1_viewASSELECT student_Name,class_No,tele_NumberFROM student_Info,result_InfoWHERE student_Info.student_Id=result_Info.student_Id and course_No=1 河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系通过视图向导创建视图通过视图向导创

48、建视图第第1步步 打开打开SQL Server Enterprise Manager,选择选择“工具工具”菜单中的菜单中的“向导向导”功能项,出功能项,出现如图现如图4.21所示的选择向导对话框。所示的选择向导对话框。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系通过视图向导创建视图通过视图向导创建视图第第2步步 在选择向导对话框中展开在选择向导对话框中展开“数据库数据库”,选择,选择“创建视创建视图向导图向导”功能项,单击功能项,单击“确定确定”,将出现如图,将出现如图4.22所示的欢所示的欢迎使用向导界面。迎使用向导界面。河南工程学院河南工程学院 计算机科学与工程系计算机科

49、学与工程系通过视图向导创建视图通过视图向导创建视图第第3步步 在欢迎使用向导界面中单击在欢迎使用向导界面中单击“下一步下一步”,出现如图,出现如图4.23所示的选择数据库对话框。选择数据库名,单击所示的选择数据库对话框。选择数据库名,单击“下一下一步步”,出现如图,出现如图4.24所示的选择表对话框。所示的选择表对话框。 第第4步步 在图在图4.24所示的选择表对话框中选择与视图相关联的所示的选择表对话框中选择与视图相关联的表,单击表,单击“下一步下一步”,出现如图,出现如图4.24所示的选择列对话框。所示的选择列对话框。 河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系通过视图

50、向导创建视图通过视图向导创建视图第第5步步 在图在图4.25所示的选择列对话框中选择视图所需要的列,所示的选择列对话框中选择视图所需要的列,单击单击“下一步下一步”,出现如图,出现如图4.25所示的视图限制对话框。所示的视图限制对话框。 第第6步步 在图在图4.26所示的视图限制对话框中输入对视图的限制所示的视图限制对话框中输入对视图的限制条件,本例为:条件,本例为:WHERE 专业专业=计算机计算机 ,单击,单击“下一步下一步”,出现如图出现如图4.27所示的输入视图名对话框。所示的输入视图名对话框。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系通过视图向导创建视图通过视图向

51、导创建视图第第7步步 在图在图4.27所示的输入视图名对话框中输入视图名,单所示的输入视图名对话框中输入视图名,单击击“下一步下一步”,出现如图,出现如图4.28所示的视图创建完成对话框,所示的视图创建完成对话框,单击单击“完成完成”,则视图即创建完毕。,则视图即创建完毕。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系4.10.1 查看和修改视图信息查看和修改视图信息1通过企业管理器查看通过企业管理器查看(1)打开)打开“企业管理器企业管理器”并展开服务器,并展开服务器,继续展开继续展开“数据库数据库”,并展开要建立视图,并展开要建立视图的数据库,本例是的数据库,本例是“Stu

52、dent”。展开。展开“视视图图”,在右边窗口中选择要查看定义信息,在右边窗口中选择要查看定义信息的视图。的视图。在上面单击鼠标右键,在弹出菜单上选择在上面单击鼠标右键,在弹出菜单上选择“属性属性”命令。如图命令。如图4-12所示。所示。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系图图4-12 4-12 查看视图的属性查看视图的属性河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系(2)紧接着出现)紧接着出现“查看属性查看属性”对话框,在对话框,在该对话框中可以看到视图的定义信息。如该对话框中可以看到视图的定义信息。如图图4-13所示。所示。河南工程学院河南工程学

53、院 计算机科学与工程系计算机科学与工程系图图4-13 4-13 视图的属性窗口视图的属性窗口河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系CREATE VIEW class_200001_viewASSELECT *FROM Student_InfoWHERE class_No=200001河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系2通过通过sp_helptext系统存储过程查看系统存储过程查看语法:语法:sp_helptext objname=name参数说明:参数说明: name:对象的名称。该对象必须在当前:对象的名称。该对象必须在当前数据库中。数据库

54、中。objname是占位符,可以省是占位符,可以省略不写。略不写。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系 借助借助sp_helptext可以查看规则、默认值可以查看规则、默认值对象、未加密的存储过程、用户定义函数、对象、未加密的存储过程、用户定义函数、触发器及未加密的视图的定义信息。触发器及未加密的视图的定义信息。Use StudentExec sp_helptext course1_view河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系修改视图的定义修改视图的定义 1. 通过通过SQL Server Enterprise Manager修改视图修改视图

55、第第1步步 在SQL Server Enterprise Manager中展开数据库和视图,在需修改的视图上单击鼠标右键,在弹出的快捷菜单上选择“设计视图”,将出现如图4.33所示的窗口。 第第2步步 在图4.33所示的窗口中对视图定义进行修改,修改完后单击保存图标按钮即可。河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系修改视图的定义修改视图的定义2. 使用使用ALTER VIEW语句修改视图语句修改视图语法格式:语法格式:ALTER VIEW . . view_name ( column_name ,n ) WITH ,n AS select_statement WITH CHECK OPTION 河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系修改视图的定义修改视图的定义【例例4.70】将CS_XS视图修改为只包含计算机专业学生的学号、姓名和总学分。USE XSCJGOALTER VIEW CS_XSAS SELECT 学号,姓名,总学分 FROM XS WHERE 专业 = 计算机GO河南工程学院河南工程学院 计算机科学与工程系计算机科学与工程系修改视图的定义修改视图的定

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论