chp3-3-数据库系统概论-关系数据库标准语言SQL.ppt
文本预览下载声明
An Introduction to Database System 3.6 视 图 3.6.1 定义视图 3.6.2 查询视图 3.6.3 更新视图 3.6.4 视图的作用 An Introduction to Database System 3.6.4 视图的作用 1. 视图能够简化用户的操作 2. 视图使用户能以多种角度看待同一数据 3. 视图对重构数据库提供了一定程度的逻辑独立性 4. 视图能够对机密数据提供安全保护 5. 适当的利用视图可以更清晰的表达查询 An Introduction to Database System 1. 视图能够简化用户的操作 当视图中数据不是直接来自基本表时,定义视图能够简化用户的操作 基于多张表连接形成的视图 基于复杂嵌套查询的视图 含导出属性的视图 An Introduction to Database System 2. 视图使用户能以多种角度看待同一数据 不同的用户和应用程序会以不同的角度看待同一数据。如学生信息中的生源所在地,在招生管理中表达该学生是从哪个地方录取的,而在户籍管理中则表达该学生的户口是从哪个地方迁入的。这两种应用所使用的是数据库中存储的同一数据。 因此,视图可以避免数据存储的冗余性,适应数据库共享的需要。 An Introduction to Database System 3.视图对重构数据库提供了一定程度的逻辑独立性 例:数据库逻辑结构发生改变 学生关系Student(Sno,Sname,Ssex,Sage,Sdept) “垂直”地分成两个基本表: SX(Sno,Sname,Sage) SY(Sno,Ssex,Sdept) An Introduction to Database System 3.视图对重构数据库提供了一定程度的逻辑独立性 通过建立一个视图Student: CREATE VIEW Student(Sno,Sname,Ssex,Sage,Sdept) AS SELECT SX.Sno,SX.Sname,SY.Ssex,SX.Sage,SY.Sdept FROM SX,SY WHERE SX.Sno=SY.Sno; 使用户的外模式保持不变,从而对原Student表的查询程序不必修改 An Introduction to Database System 3. 视图对重构数据库提供了一定程度的逻辑独立性 物理独立性与逻辑独立性的概念 视图在一定程度上保证了数据的逻辑独立性 视图只能在一定程度上提供数据的逻辑独立性 由于对视图的更新是有条件的,因此应用程序中修改数据的语句可能仍会因基本表结构的改变而改变。 An Introduction to Database System 4. 视图能够对机密数据提供安全保护 建立面向不同用户的视图,用户只能对视图所见的数据进行权限内的操作,而视图之外的数据对这些用户是不可见的,从而也就对视图之外的数据进行了保护。 例如Student表涉及三个系的学生数据,可以在其上定义三个视图,每个视图只包含一个系的学生数据,并只允许每个系的系主任查询自己系的学生视图。 An Introduction to Database System 第三章 关系数据库标准语言SQL 3.1 SQL概述 3.2 学生-课程数据库 3.3 数据定义 3.4 数据查询 3.5 数据更新 3.6 视图 3.7 索引 An Introduction to Database System 3.7 索引的建立与删除 建立索引的目的:加快查询速度 谁可以建立索引 DBA 或 表的属主(即建立表的人) DBMS一般会自动建立以下列上的索引 PRIMARY KEY UNIQUE 谁维护索引 DBMS自动完成? 使用索引 DBMS自动选择是否使用索引以及使用哪些索引 An Introduction to Database System 补充:索引的用途 ⑴ 提高数据查询的速度 进行数据查询时,如不使用索引,则需将数据文件分块,逐个读到内存,再进行查找的比较操作(基本表的列和元组较多,数据文件很大)。 使用索引,系统先将索引文件读入内存,根据索引项找到元组的地址,然后再根据地址将元组数据直接读入内存。 索引文件只含有索引项和元组地址,文件小,一般可一次读入内存。 索引文件索引项是有序的,可很快找到索引项值和元组地址。 使用索引大大减少了磁盘的I/O次数,可加快查询速度。 An Introduction to Database System 补充:索引的用途 ⑵ 保证数据的惟一性 索引的定义中包括定义数据惟一性的内容。当定义了数据惟一性的功能后,在对相关
显示全部