第6章 管理数据库对象

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

6.1.1 使用架构
6.1 架 构
架构是对象的容器,在架构中包含的对象主要有:XML架构集合、 表、视图、过程、函数、聚合函数、约束、同义词、队列和统计信息。 架构位于数据库内部,而数据库位于服务器内部。这些实体就像嵌套框 一样放置在一起。服务器是最外面的框,而架构是最里面的框
6.1.2 创建架构
(4) 在【搜索角色和用户】对话框中,单击【浏览】按钮,打开【查找对 象】对话框。在【查找对象】对话框中选择架构的所有者,可以选择当前系 统的所有用户或者角色。
(5) 选择完成后,单击【确定】按钮,然后单击【架构-新建】窗口中的【 确定】按钮,就可以完成架构的创建。
2. 使用Transact-SQL命令创建架构
6.3 视图
视图:就是基于一个或多个数据表的动态数据集合,是 一个逻辑上的虚拟数据表。
另一方面,视图又具有更强的功能:使用SELECT语句只 能在结果集—动态逻辑虚拟表中查看数据,而使用视图不但 可以查看数据,而且可以作为SQL语句的数据源,并且可以 直接在视图中对数据进行编辑修改删除—更新数据表中的数 据。这就是视图的优点所在。
以对某个数据进行更新,一次只能修改一个表的数据。 ➢ 对于依赖于多个基本表的视图,不能使用DELETE语句。
利用视图对基表进行操作
1. 插入数据 【例6-8】:向“男生选课信息”视图中添加数据 学号、姓名、性别分别为’1234567’,‘李丽’,‘女’ 提示 通过视图向基表中添加数据时,不能同时向两个或多个基表中添加,每
(3) 单击【搜索】按钮打开【搜索角色和用户】对话框,然后单 击【浏览】按钮,在【查找对象】对话框中选择新的用户或者角色, 然后单击【确定】按钮两次,完成修改。
2. 更改权限
(1) 在【架构属性-youndtang】窗口中,打开【权限】页 面。
(2) 在【权限】页面中,单击【搜索】按钮,然后单击 【浏览】按钮,在【查找对象】对话框中选择用户或者角色, 单击【确定】按钮完成操作。
索引是一个表或视图上创建的对象,当用户查询索引字段时,它可以 快速实施数据检索操作。索引就如书中的目录,书的内容类似于表的数据 ,书中的目录通过页号指向书的内容,同样,索引提供指针以指向存储在 表中指定字段的数据值。借助索引,执行查询时不必扫描整个表就能够快 速找到所需要的数据
如小王作为技术培训中心的数据库开发人员,负责“学生信息管理”数据库设计。在数 据库中的许多查询经常用到“学生学号、学生姓名、课程名称、成绩”这些字段,这些字段 涉及到了“学生信息、课程信息、成绩”三个表;这三个表很少被更新(只有在期末要录入 成绩时,才更新选修表中的数据)。小王在做数据查询测试时,发现查询响应时间太慢,而 且多数的查询语句都要做三个表的连接。作为一个有经验的数据库开发人员,小王为“学生 信息”数据库创建一个“学生选课信息”视图,该视图定义了查询经常用到的那些字段列, 大大简化查询操作。
(1) 在SQL Server Management Studio中,连接到包含默认的数据库的服 务器实例。
(2) 在【对象资源管理器】中,展开【服务器】|【数据库】|stusystem |【安全性】节点,右击【架构】节点,在弹出的快捷菜单中选择【新建架 构】命令,打开【架构-新建】窗口。
(3) 在【常规】页面,可以指定架构的名称以及设置架构的所有者。单击 【搜索】按钮打开【搜索角色和用户】对话框,如图6-3所示。
次只能更新一个基表中的数据 2.更新数据
【例6-9】:将“男生选课信息”视图中的选修了课程编号为2的同学 成绩加50分。 3. 删除数据
【例6-10】:删除“男生选课信息”视图
6.5 索引
用户对数据库最频繁的操作是进行数据查询。一般情况下,数据库在 进行查询操作时需要对整个表进行数据搜索。当表中的数据很多时,搜索 数据就需要很长的时间。为了提高检索数据的能力,数据库引入了索引机 制。
(3) 在【用户或角色】列表中选择用户,并在下方的【权 限】列表中选中相应的复选框,即可完成对用户或角色权限的 修改。
(4) 设置完成后,单击【确定】按钮完成配置。
6.1.4 移动对象到新的架构
1. 使用图形界面移动对象到新的架构
(1) 在SQL Server Management Studio中,连接到包含默认的数据库的服务器实例。 (2) 在【对象资源管理器】中,展开【学生成绩管理系统】|【表】节点,右击student表,在 弹出的快捷菜单中选择【设计】命令,进入表设计器。 (3) 单击【视图】菜单,选择【属性窗口】命令,打开student表的属性窗口。 (4) 在表的【属性】窗口中,在【标识】栏中打开【架构】下拉列表,选择目标架构。 (5) 选择目标架构后,会弹出【Microsoft 开发环境】对话框,如图6-10所示。然后单击【是】 按钮,并保存对表的修改,即可完成移动该对象到新的架构操作。
3. 删除视图
使用DROP VIEW语句可以删除视图,删除一个视图,就是删除其定 义和赋予它的全部权限。并且使用DROP VIEW语句可以同时删除多 个视图,语法格式如下:
DROP VIEW view_name
【例6-7】删除View_TheacherClass视图,语句如下:
USE stusystem GO DROP VIEW View_TheacherClass
使用Transact-SQL命令同样可以创建架构,其语法格式如下:
CREATE SCHEMA schema_name { AUTHORIZATION owner_name :指定拥有架构的数据库级主体的名称。
{ create table | view | grant| revoke | deny
}
由语法格式得知,在使用Transact-SQL命令创建架构时,可以指定架构所有者。 schema_element命令允许使用CREATE TABLE、CREATE VIEW、GRANT、 REVOKE和DENY语句来定义该架构内应被创建和包含的表、视图和权限。
2. 使用Transact-SQL命令移动对象到新的架构
使用Transact-SQL命令的ALTER SCHEMA语句也可以完成移动对象到新的 架构,语法格式如下:
ALTER SCHEMA schema_name TRANSFER securable_name
语法说明如下: schema_name:当前数据库中的架构名称,安全对象将移入其中。 INFORMATION_SCHEMA。 securable_name:要移入的架构包含安全对象的一部分或者两部分名称。
[WITH CHECK OPTION] -- 用于对视图数据修改时的限 制
【例6-3】创建男同学的选课情况的视图
CREATE VIEW 男生选课信息 AS SELECT a.学号, a.姓名 , a.性别, b.课程编号,b.成绩 FROM 学生信息 AS a Join 成绩表 AS b ON a.学号=b.学号
第六章 管理数据库对象
内容简介
本章主要讲解架构的创建、修改、移动及如何删除;视图的创建、 更新、修改以及删除等操作;索引的创建、修改、删除等操作。
本章学习要点
了解架构概念。 熟练创建、修改和删除架构。 熟练移动对象到新的架构。 深入了解视图概念。 熟练创建视图以及管理视图。 熟练通过视图操作数据。 灵活掌握索引。 熟练创建索引、查看索引属性和管理索引。
使用视图对数据表的数据进行操作
用INSERT语句通过视图向基本表插入数据 用UPDATE语句通过视图修改基本表的数据 用DELETE语句通过视图删除基本表的数据
注意:
➢ 视图的字段中不能包含计算列—计算列是不能更新的。 ➢ 创建视图的SELECT语句用FROM指定的数据源可以一层一层的引用,但
最终应至少包含一个数据表。 ➢ 当视图依赖多个数据表时,不能通过视图给多个表插入、删除记录,只可
6.1.3 修改架构
在创建架构之后,不仅可以更改架构的所有者,还可以更 改架构中用户或角色指定的权限。但是不能修改架构名称,除 非删除该架构,然后使用新的名称创建架构。
1. 更改架构所有者
(1) 在SQL Server Management Studio中,连接到包含默认的数 据库的服务器实例。
(2) 在【对象资源管理器】中,展开【服务器】|【数据库】|st usystem|【安全性】|【架构】节点,找到创建的架构。右击该架构, 从弹出的快捷菜单中选择【属性】命令,打开【架构属性-youndtang】 窗口。
例6-2 :ALTER SCHEMA bb TRANSFER aaa.stu
6.3 视图
在实际的查询中,我们经常使用的SELECT语句,尤其是比较复杂的查询语句,如果每 次使用都要重复的输入代码是很麻烦的,如果将该语句保存为一个对象,每次使用时不需要 输入代码,只给出对象的名字就能方便的使用,简化查询操作。这个对象就称为视图。
ALTER VIEW 视图名[ (列名1, 列名2 [ , …n ] ) ]
[ WITH ENCRYPTION ] -- 用于对视图定义语句加密,不允
许修改
AS
SELECT 查询语句
-- 创建视图的定义语句
[WITH CHECK OPTION] -- 用于对视图数据修改时的限制 将【例6-4】创建选修了课程编号为12的学生信息的视图改为女同学信息
有行”即可看到该视图的数据内容 。
2 使用SQL语句创建与使用视图
用CREATE VIEW语句创建视图 语法:
CREATE VIEW 视图名[ (列名1, 列名2 [ , …n ] ) ]
[ WITH ENCRYPTION ] -- 用于对视图定义语句加密, 不允许修改
AS
SELECT 查询语句
-- 创建视图的定义语句
在SQL Server 2008数据库系统中,可以通过两种方法来创建 架构:图形界面操作和Transact-SQL命令(CREATE SCHEMA语句)。在创建架构之前,要注意架构的命名规则。 架构的名称最长可达128个字符。 架构的名称在同一个数据库中必须唯一。
1. 使用图形界面创建架构
6.3.2 管理视图
1. 查看视图
使用sp_helptext系统存储过程,可以查看视图的定义文本。 【例6-5】查看选课信息视图的定义文本,代码如下:
USE 学生信息管理系统 GO EXEC sp_helptext 选课信息
2. 修改视图
如果基表发生变化,或者要通过视图查询更多的信息,可以根据需要使用 ALTER VIEW语句修改视图的定义。语法格式如下:
SELECT、INSERT、UPDATE语句都可以直接对视图进行
操作。
视图的创建
1. 在SSMS中创建与使用视图
在SSMS中创建学生选课信息包括全部所选课程信息的视 图“学生选课信息”
视图的创建与使用
使用视图
在SSMS中展开数据库“视图”对象列表,在“学生选课 信息”视图上单击鼠标右键,选择“打开视图”→“返回所
例6-1:利用SQL创建一个stu架构。 CREATE SCHAME stu authorization dbo
CREATE TABLE student ( xh char(10) nΒιβλιοθήκη Baidut null primary key,
xm char(8) not null, xb char(2), nl int )
WHERE a.性别=’男’
【例6-4】创建选修了课程编号为12的学生信息的视图
CREATE VIEW 选课信息 AS SELECT a.学号, a.姓名 , a.性别, b.课程编号,b.成绩 FROM 学生信息 AS a Join 成绩表 AS b ON a.学号=b.学号
WHERE b.课程编号=12 SELECT * FROM 选课信息
修改视图
ALTER VIEW 选课信息 AS SELECT a.学号, a.姓名 , a.性别, b.课程编号,b.成
绩 FROM 学生信息 AS a Join 成绩表 AS b ON a.学号=b.学号
WHERE b.课程编号=12 AND a.性别=‘女’ SELECT * FROM 选课信息
相关文档
最新文档