Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 使用PII和敏感信息对列进行数据库命名_Database_Oracle_Database Design - Fatal编程技术网

Database 使用PII和敏感信息对列进行数据库命名

Database 使用PII和敏感信息对列进行数据库命名,database,oracle,database-design,Database,Oracle,Database Design,我正在处理包含PII和敏感信息的数据库表。一些数据是PII和公司敏感信息。设计文档可能并不总是可供开发人员使用,尤其是当数据由数据库外部的视图(Oracle数据库链接)公开给另一个程序时 是否有好的命名约定让开发人员知道列包含PII或敏感信息?列名?虚弱 使用包含所有PII属性的PII数据表。将PII表格与其他非PII表格分开 非PII和PII之间的一对一连接并不那么昂贵。它提供了PII表和PII列的清晰、明显的用法。列名?虚弱 使用包含所有PII属性的PII数据表。将PII表格与其他非PII表

我正在处理包含PII和敏感信息的数据库表。一些数据是PII和公司敏感信息。设计文档可能并不总是可供开发人员使用,尤其是当数据由数据库外部的视图(Oracle数据库链接)公开给另一个程序时

是否有好的命名约定让开发人员知道列包含PII或敏感信息?

列名?虚弱

使用包含所有PII属性的PII数据表。将PII表格与其他非PII表格分开

非PII和PII之间的一对一连接并不那么昂贵。它提供了PII表和PII列的清晰、明显的用法。

列名?虚弱

使用包含所有PII属性的PII数据表。将PII表格与其他非PII表格分开

非PII和PII之间的一对一连接并不那么昂贵。它提供了PII表和PII列的清晰、明显的用法。

我同意,但我会更明确。如果数据是敏感的,那么更重要的是选择列名来表示它们实际包含的内容,数据类型实际上适合于内容;约束实际上与问题域相匹配

然后,最重要的是,将这些内容移动到另一个表中,在那里可以对它们进行适当的加密、存储在正确的位置等等。

我同意,但我会更明确。如果数据是敏感的,那么更重要的是选择列名来表示它们实际包含的内容,数据类型实际上适合于内容;约束实际上与问题域相匹配


然后,最重要的是,将这些内容移动到另一个表中,在那里可以对它们进行适当的加密、存储在正确的位置等等。

我将有单独的视图(例如,带有PERSON_BASIC的表PERSON没有PII列,带有PII列的PERSON_PII)。这样,如果以后确定某个列是敏感的(例如出生日期),那么您可以轻松地重新创建视图以从基本视图中删除该列,而不是执行一些大规模的数据重组操作,而这些操作将通过单独的表进行

此外,优化器在同一个表中的列之间的相关性方面也越来越好(您希望随着时间的推移,这种相关性会有所提高)。一旦您开始将非PII表连接到PII表,您就让它变得更复杂了

如果您确实选择单独的表,并且认为它们需要经常联接,请查看集群,以便同一个人的记录位于同一块上

考虑使用受密码保护的或通过包来控制对PII视图/列的访问

我也能做到。他们必须在看到列之前调用包来设置上下文。 这种观点可能是错误的

SELECT name, date_of_birth, 
       case when SYS_CONTEXT('SEC','xxx') ='ALLOW' THEN ssn END
from ...

我将有单独的视图(例如带有PERSON_BASIC的表PERSON没有PII列,带有PII列的PERSON_PII)。这样,如果以后确定某个列是敏感的(例如出生日期),那么您可以轻松地重新创建视图以从基本视图中删除该列,而不是执行一些大规模的数据重组操作,而这些操作将通过单独的表进行

此外,优化器在同一个表中的列之间的相关性方面也越来越好(您希望随着时间的推移,这种相关性会有所提高)。一旦您开始将非PII表连接到PII表,您就让它变得更复杂了

如果您确实选择单独的表,并且认为它们需要经常联接,请查看集群,以便同一个人的记录位于同一块上

考虑使用受密码保护的或通过包来控制对PII视图/列的访问

我也能做到。他们必须在看到列之前调用包来设置上下文。 这种观点可能是错误的

SELECT name, date_of_birth, 
       case when SYS_CONTEXT('SEC','xxx') ='ALLOW' THEN ssn END
from ...