数据库开发训练-第6讲:管理模式对象详解

需积分: 9 0 下载量 159 浏览量 更新于2024-08-16 收藏 1.1MB PPT 举报
本课程是广东技术师范学院的《大型数据库开发训练》,由文建峰博士主讲,邮箱wjfgdin@qq.com。课程主要讲解了数据库的管理模式对象,包括模式(Schemas)、表(Tables)、索引(Indexes)、约束(Constraints)、视图(Views)、序列(Sequences)和同义词(Synonyms)。 1. **模式(Schemas)** - 模式是数据库中的一个重要概念,它是一个集合,包含了表、视图、索引等数据库对象。 - 用户账户与模式的概念相似,但有微妙差异。用户账户保存用户拥有的对象,而模式是这些对象的容器。 - 数据库对象分为模式对象和非模式对象,前者如表、约束、索引等,后者如表空间、用户、角色等。 - 系统在创建时会自动创建用户和对应的模式,如SYS和SYSTEM模式。SYS模式包含数据字典和PL/SQL包,SYSTEM模式存储管理对象。 2. **表(Tables)** - 表是模式中的基本数据结构,用于存储数据记录。 - 用户通常在与自己同名的模式下创建和管理表。 - 同一模式下的表名必须唯一,但不同模式可以有同名的表。 3. **索引(Indexes)** - 索引是为了加速数据查询而创建的数据结构,可以显著提高检索速度。 - 索引可以基于一个或多个列创建,分为唯一索引和非唯一索引。 - 索引的选择性和维护也是数据库性能优化的重要部分。 4. **约束(Constraints)** - 约束是确保数据完整性的一种机制,如NOT NULL、UNIQUE、FOREIGN KEY和PRIMARY KEY等。 - 它们可以限制数据的类型、范围,以及表间的关系,防止无效数据的插入。 5. **视图(Views)** - 视图是虚拟表,由SQL查询定义,显示来自一个或多个表的特定数据子集。 - 视图可以简化复杂的查询,提供安全访问控制,或者隐藏底层表结构。 6. **序列(Sequences)** - 序列是一种数据库对象,用于生成唯一的整数序列,常用于主键生成。 - 序列可以设置为连续递增或递减,支持缓存和重启等特性。 7. **同义词(Synonyms)** - 同义词是数据库对象的别名,可以方便地替代对象的实际名称,尤其是在多用户环境中简化访问。 - 分为公共同义词(所有用户可访问)和私有同义词(仅对创建它的用户可见)。 在实际操作中,用户可以通过指定模式来引用其他模式中的对象。登录时,根据权限的不同(NORMAL、SYSDBA或SYSOPER),用户会被置于不同的模式。创建用户的同时,会创建同名模式,可以通过GRANT和REVOKE语句来授予或撤销用户对模式内对象的访问权限。