ITPub博客

首页 > 数据库 > 数据库开发技术 > 分类分级在Oracle 23ai中的应用

分类分级在Oracle 23ai中的应用

原创 数据库开发技术 作者:sjw1933 时间:2024-05-14 22:23:51 0 删除 编辑

作者:Digital Observer(施嘉伟)

Oracle ACE Associate: Database

PostgreSQL ACE Partner

11年数据库行业经验,现主要从事数据库服务工作

拥有Oracle OCM、DB2 10.1 Fundamentals、MySQL 8.0 OCP、WebLogic 12c OCA、KCP、PCTP、PCSD、OCI、PolarDB技术专家、达梦师资认证、数据安全咨询高级等认证

ITPUB认证专家、PolarDB开源社区技术顾问

国内某高校企业实践指导教师

公众号:Digital Observer;CSDN:施嘉伟;ITPUB:sjw1933;PGFans:施嘉伟。

相关政策法规

通过合理的分类分级,可以提高数据管理和利用的效率,增强数据的安全性和隐私保护,推动数据的分析和挖掘,促进数据的共享和协作。在实践过程中,需要遵循一些原则和方法,确保分类分级结果符合实际情况和项目要求。这对于企业来说尤其重要,因为它们需要确保数据的安全性和合规性,同时提高数据的价值和使用效率。

01
新特性引入——ANNOTATION

Oracle 23ai 版本我们可以将注释视为数据库注释的扩展。通过评论,我们能够向表和列等对象添加自定义文本,使我们能够描述它们的目的和用法。通俗点讲就是注释更进一步,允许我们将名称-值对与大多数数据库对象相关联,这些对象可用于描述或分类它们。名称和值是自定义文本。

小李

这个特性有什么意义?

更方便我们识别字段含义,以及字段之间的关联关系,方便程序开发人员辨认信息。
小张

如果对象支持注释,则注释子句通常遵循这种格式。

ANNOTATIONS ( {ADD|DROP} annotation_name {'annotation_value'} {,} )

以下是表添加注释的简单示例。注意,在添加这些注释时,我们不使用可选的ADD关键字。

CREATE TABLE animal (
  id          NUMBER       ANNOTATIONS (SurrogateKey, UI_Display 'Animal ID', Classification 'Animal Info'),
  name        VARCHAR2(50) ANNOTATIONS (UI_Display 'Animal Name', Classification 'Animal Info'),
  description VARCHAR2(50) ANNOTATIONS (UI_Display 'Description', Classification 'Animal Info')
) ANNOTATIONS (UI_Display 'Animal Table', Classification 'Animal Info');

SurrogateKey:此注释告诉我们该列是代理键。请注意,此注释没有任何价值,因为名称足以提供含义。

UI_Display:此注释给出了任何 UI 中的首选显示名称。

Classificaton:此注释允许我们对存在的信息类型进行分类。在本例中,我们将其分类为“动物信息”。

需要注意的是所有这些注释都只是我们编写的自定义文本。除了让我们知道它们相关的含义之外,它们对数据库或任何工具都没有任何意义。如果我们在键名中需要空格,我们必须用双引号将它们引起来。


我们可以通过添加或删除注释来修改注释。在这些示例中,我们在不使用「可选」 ADD 关键字的情况下向表中添加新注释,使用 DROP 关键字删除该注释,然后再次添加它,这次使用「可选」 ADD 关键字。

alter table animal annotations (Visibility 'Everyone');
alter table animal annotations (drop Visibility);
alter table animal annotations (add Visibility 'Everyone');

我们可以对列级注释执行类似的操作。

alter table animal modify (id annotations (Visibility 'Hidden'));
alter table animal modify (id annotations (drop Visibility));
alter table animal modify (id annotations (add Visibility 'Hidden'));

有两个与注释相关的主要视图。它们是 USER_ANNOTATIONS 和 USER_ANNOTATIONS_USAGE 视图,但我们可能只会使用 USER_ANNOTATIONS_USAGE 视图。USER_ANNOTATIONS没啥意义。

02
实验

再建立一张植物表

CREATE TABLE plant (
  id          NUMBER       ANNOTATIONS (SurrogateKey, UI_Display 'Plant ID', Classification 'Plant Info'),
  name        VARCHAR2(50) ANNOTATIONS (UI_Display 'Plant Name', Classification 'Plant Info'),
  description VARCHAR2(50) ANNOTATIONS (UI_Display 'Description', Classification 'Plant Info')
) ANNOTATIONS (UI_Display 'Plant Table', Classification 'Plant Info');

查询user_annotations_usage视图:

SELECT * FROM user_annotations_usage


我们如果想要动物分类的信息,那么用以下语句查询即可以查到所有动物分类的信息:

SELECT * FROM user_annotations_usage WHERE  ANNOTATION_NAME='CLASSIFICATION' AND ANNOTATION_VALUE='Fruit Info';


REC

大家认为注释新特性是否可以对分类分级工作带来比较大的帮助,欢迎评论区交流,欲知更多精彩内容,请关注下一期公众号!


END

你的生产数据库遭受过哪些迫害?

Oracle 23ai FREE安装初体验

揭秘oracle 23ai新增参数

Oracle 23ai新增参数介绍(一)

国产数据库初体验——HaloDB安装

初探Oracle 23ai——SQL*Plus新特性


今天因为你的点赞,让我元气满满!



点击此处“阅读全文”查看更多内容


原文作者:Digital Observer;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论
11年数据库行业经验,Oracle ACE、PG ACE、OCM、IBM Certified DBA、MySQL OCP、PolarDB技术专家、KCP、PCTP、PCSD、达梦师资认证、PolarDB开源社区技术顾问、ITPUB认证专家、某高校外聘教师

注册时间:2019-05-05

  • 博文量
    295
  • 访问量
    300767