暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

数据库对象类型有哪些?

SQL学习者 2023-08-20
225

数据库对象(即 Schema 对象)属于某一个 Schema。Schema 为数据库对象的集合,一个用户有一个缺省的 Schema,其 Schema 名称就等于用户名。用户还可以访问和使用其他的 Schema。如果访问一个 Schema 中的对象时,没有指明该对象属于哪一个 Schema ,系统就会自动给对象加上缺省的 Schema 名称。

有关 OceanBase 数据库 Oracle 模式下的数据库对象的详细信息如下表所示。

对象类型描述
表(Table)数据库里最基础的存储单元,表里的数据由行和列组织排列的。
视图(View)视图是一个虚拟的表,其内容由查询定义。 同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集合的形式存在。行和列数据可以自由定义视图的查询所引用的表,并且在引用视图时动态生成。
索引(Index)索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。 例如,按照指定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。
分区(Partition)OceanBase 数据库可以把普通的表的数据按照一定的规则划分到不同的区块内,将同一区块的数据物理上存储在一起。这种划分区块的表叫做分区表。 与 Oracle 中的 Partition 概念相同,在 OceanBase 数据库中只有水平分区,表的每一个分区包含一部分记录。根据行数据到分区的映射关系不同,分为 Hash 分区、Range 分区(按范围)和 List 分区等。 每一个分区,还可以用不同的维度再分为若干分区,称为二级分区。例如,交易记录表按照用户 ID 分为若干 Hash 分区,每个一级 Hash 分区再按照交易时间分为若干二级 Range 分区。
序列(Sequence)序列(Sequence)是序列号生成器,可以自动生成序列号,产生一组等间隔的数值 (数值类型为数字)。 每个 Sequence 对象实例能够生成一个数据序列,无论在单机还是多机环境下,都可以保证生成的每一个数据不相同。同时,为了满足不同应用场景的需求,在保证每个数据不相同的前提下,Sequence 还给用户提供了更加丰富的选项。例如保证数据按照生成的先后顺序确保递增,尽可能避免两个数据之间相差太大等。 需要注意的是,对 Sequence 要求越严格,数据库付出的性能代价也越大。
同义词(Synonyms)同义词是数据库对象的一个别名,用于简化 Schema 对象访问和提高对象访问的安全性。 在使用同义词时,OceanBase 数据库 Oracle 模式下会将它翻译成对应 Schema 对象的名字。与视图类似,同义词并不占用实际存储空间,只在数据字典中保存了同义词的定义。数据库中的大部分数据库对象,例如表、视图、同义词、序列等,数据库管理员都可以根据实际情况为他们定义同义词。
注意 PL 中的对象,例如存储过程、包等暂不支持创建同义词。
触发器(Trigger)触发器是由系统在指定事件发生时自动调用的一组存储过程。 与普通存储过程不同的是,触发器可以被启用或禁用,不能被显式调用。
PL 对象(PL 子程序和包)PL 是一种过程化程序语言(Procedural Language)。它是对 SQL 的扩展,在普通 SQL 语句的基础上增加了编程语言的特点,把数据操作和查询语句组织在 PL 代码的过程化代码中,通过逻辑判断、循环等操作实现复杂的功能。 PL 源程序的基本单元是块,由声明和语句组成,内部允许声明变量和常量,并可以在表达式中使用。PL 程序包由逻辑上相关的 PL 类型、变量、常量、子程序、游标和异常组成。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论