Database 版 (精华区)

发信人: zhaowei (小燕子), 信区: Database
标  题: 4.3  对视图的操作
发信站: 紫 丁 香 (Fri Jun 11 15:45:45 1999), 转信

视图的有关操作。视图并不是真正的表,也没有自己的数据。它的数据可以来自一个或
多个数据库中的表和视图。使用视图的好处在于隐藏数据库中表的真正结构,只向用户
提供需要的并且有访问权限的字段,这样既方便了用户,同时也可以保证数据库中表的
安全性。接下来就来创建基于我们以前创建的表MYTELEBOOK的视图,虽然这里创建的视
图是基于一个表的,比较简单,但还是能说明对视图的基本操作。
1)  首先确定当前系统连接的数据库为先前创建的TELEBOOK,然后单击PAINTERBAR工具
条上的CREATE VIEW画板,系统在打开名为VIEW的窗口之后,又弹出一个名为SELECT 
TABLES的对话框,用来选择要创建的视图所基于的表和视图。
2)  选择一个以前创建的表MYTELEBOOK,然后单击OPEN按钮,系统关闭对话框并回到打开
的VIEW窗口(图4-6),在这个窗口中就可以定义具体的视图了。观察VIEW窗口,其中的
表正是刚才选中的用来创建视图的表MYTELEBOOK。前面已经说了,视图是逻辑上的表,
它的字段来自创建它的表和视图,比如单击表MYTELEBOOK上的NUMBER字段,它就出现在窗
口上部的SELECTION LIST栏中,表示这个字段已经被选中作为视图的一个字段,用类似的
方法可以选择其它的表中的字段加到视图中。
   图4-6
3)  要注意的是视图的字段可以是表中的若干字段通过运算后得到的结果,我们叫它计
算字段,下面就来为视图定义一个计算字段,单击窗口下部的COMPUTE标签,在COMPUTED
 COLUMNS栏中输入计算字段的计算表达式,这里不妨输入"HOME-ADDRESS+STRING
(POSTCODE)",输入的内容的意思是使用STRING函数把数值型的邮政编码字段POSTCODE
转换为字符串类型后与同样是字符串类型的家庭地址字段HOME-ADDRESS的值相连,作为计
算字段的值。然后我们在ALIAS栏中给这个新建的计算字段起个字段名为ADDRESS 。事实
上创建一个视图就是使用SQL语言的SELECT语句从表中过滤出有效的字段和记录作为视图
的数据。
4)  使用窗口的下部的SORT,WHERE,GROUP,HAVING等标准的SELECT查询语句的语法标签
可以设置查询条件。这里就不再为视图添加查询条件了,单击SYNTAX标签,标签下面的工
作区中列出的就是系统按照刚才的要求自动生成的创建视图所需要的SQL语句。
5)  单击PAINTERBAR工具条上的RETURN画板,弹出SAVE VIEW DEFINITION对话框,为新创
建的视图起个名字,这里不妨给它起名为MYTELEVIEW,然后单击CREATE按钮,本地数据库
管理系统SYBASE SQL ANYWHERE就根据SQL语句自动生成视图MYTELEVIEW,创建好的视图显
示在数据库窗口中,它有四个字段直接来自表MYTELEBOOK,而字段ADDRESS则来自得到的
计算字段。这样一个数据库中的视图就创建好了。

    对程序员而言,操作数据库中的表和视图没有多大的区别,但由于视图中并没有数据
,它的数据完全来自于它所基于的表和视图。所以对视图的操作最终将是对视图所基于的
表的操作,由于一个表可以创建出多个视图,另外也由于要保持数据库中的数据的安全性
和数据完整性,所以对视图的操作有一些限制,在刚创建的视图MYTELEVIEW的标题上单击
鼠标右键,系统弹出一个菜单,其中的菜单项就是我们可以对视图可以进行的一些操作,
我们可以删除,关闭视图,也可以对视图中的数据进行操作等。但与表不同的是,我们不
可以重新定义一个视图的字段,如果确实需要的话,只能再重新创建一个视图。此外视图
也没有表所具有的索引和外部码。事实上这些东西对于视图而言也是没有意义的。


--
           --------------------------------
   我和一个朋友去散步,遇见一个漂亮的少妇带着一个小孩
平时极腼腆的朋友一改平日恹恹睡态,勇敢的走上前去,
亲切的看着那小孩说:多可爱的孩子啊,抬头看看少妇,
“还有孩子他妈!”
____________________

※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: 202.118.226.249]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.228毫秒