欢迎来到天天文库
浏览记录
ID:39607463
大小:618.50 KB
页数:34页
时间:2019-07-07
《使用SQL语句创建视》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第7章实现视图视图简介创建视图修改、查看、删除和重命名视图通过视图修改数据使用视图优化性能实验视图简介提问:如果经常需要从多个表中获取特定列的数据,并需要将这些数据组织在一起使用,有没有什么好办法让我能够进行这项工作。场景:你建立了一个数据库,其中存储了大量的公司客户的联系人信息。公司的华东团队希望能够方便的查询上海方面的联系人信息,以便他们关注上海的市场情况。你查看了存储有关联系人的表,发现表中有一列为“城市”,并且不允许该列为“NULL”,由于这个信息将持续的提供给华东团队。这时你会作出什么样的
2、决定呢?你决定根据该表建立视图,同时通过“城市”列让视图只显示表中的一部分信息。视图简介视图是个虚表,是从一个或者多个表或视图中导出的表,其结构和数据是建立在对表的查询基础上的。Employee(table)EmployeeIDLastNameFirstNameTitle…287Mensa-AnnanTeteMr.…288AbbasSyedMr.…289ValdezRachelNULL…vEmployee(view)LastNameFirstNameMensa-AnnanTeteAbbasSyedV
3、aldezRachel使用视图的优点和作用主要有:(1)视图可以使用户只关心他感兴趣的某些特定数据和他们所负责的特定任务,而那些不需要的或者无用的数据则不在视图中显示。(2)视图大大地简化了用户对数据的操作。(3)视图可以让不同的用户以不同的方式看到不同或者相同的数据集。(4)在某些情况下,由于表中数据量太大,因此在表的设计时常将表进行水平或者垂直分割,但表的结构的变化对应用程序产生不良的影响。而使用视图可以重新组织数据,从而使外模式保持不变,原有的应用程序仍可以通过视图来重载数据。(5)视图提供了
4、一个简单而有效的安全机制。视图简介创建视图修改、查看、删除和重命名视图通过视图修改数据使用视图优化性能实验用SQLSERVER管理平台创建视图;用Transact-SQL语句中的CREATEVIEW命令创建视图;用SQLSERVER管理平台的视图模板来创建视图。创建视图时应该注意以下情况:你必须是sysadmin、db_owner、db_ddladmin角色的成员,或拥有创建视图权限,以及对要在其中创建视图的架构的ALTERSCHEMA权限。只能在当前数据库中创建视图,在视图中最多只能引用1024列
5、,视图中记录的数目限制只由其基表中的记录数决定。如果视图引用的基表或者视图被删除,则该视图不能再被使用,直到创建新的基表或者视图。如果视图中某一列是函数、数学表达式、常量或者来自多个表的列名相同,则必须为列定义名称。不能在规则、默认、触发器的定义中引用视图。SQLServer2005提供了如下几种创建视图的方法:当通过视图查询数据时,SQLServer要检查以确保语句中涉及的所有数据库对象存在,每个数据库对象在语句的上下文中有效,而且数据修改语句不能违反数据完整性规则。视图的名称必须遵循标识符的规则
6、,且对每个用户必须是惟一的。此外,该名称不得与该用户拥有的任何表的名称相同。利用SQLSERVER管理平台创建视图:在SQLSERVER管理平台中,展开指定的服务器,打开要创建视图的数据库文件夹,展开指定的【数据库】,右击该数据库中【视图】图标,从弹出的快捷菜单中依次选择【新建视图】选项,如图所示。打开【添加表】对话框。如图所示。选择将要定义的视图所需的表、视图、函数后,通过单击字段左边的复选框选择需要的字段,如图所示。单击工具栏中的【保存】按钮,或者单击鼠标右键,从快捷菜单中选择保存选项保存视图,
7、输入视图名,即可完成视图的创建。利用Transact-SQL语句中的CREATEVIEW命令创建视图:其语法形式如下:CREATEVIEW[schema_name.]view_name[(column[,···,n])][WITH[ENCRYPTION][SCHEMABINDING][VIEW_METADATA]]ASselect_statement[;][WITHCHECKOPTION]注意:应制定统一的命名约定以将视图与表进行区分。例如:可将字母V或VIEW作为前缀添加到你所创建的每个视图
8、的名称中。举例:选择表s和sc中的部分字段和记录来创建一个视图,并且限制表s中的记录只能是计算机系的记录集合,视图定义为view_s。程序清单如下:CREATEVIEWview_sASSELECTs.name,s.age,s.sex,sc.cno,sc.scoreFROMs,scWHEREs.sno=sc.snoANDs.dept=‘计算机’;举例:创建一个视图,使之包含复杂的查询。程序清单如下:CREATEVIEWv_ExampleViewWITHSCHEMABIN
此文档下载收益归作者所有