增强关联式资料库的参照完整性(enforce the referential integrity of the relational database)

. 外键(Foreign key)强制引用完整性。
. 主键(Primary key)可增强实体的完整性。
. 候选键(Candidate keys)与主键唯一地标识关系(表)中的元组(记录),但未选择它作为主键。
. 视图(View)是一个虚拟表,担任该连接的一个或多个感兴趣的表和选择字段的访问控制机制。

数据库完整性(Database Integrity)
通过以物理方式实现可靠的存储,操作性地控制并发性以及通过声明性地指定完整性约束并以程序方式将触发器和工作单元定义为事务来通过语义方式应用控件,可以实现数据库的完整性。
为了使信息具有完整性,其“健全性”必须高於质疑。信息应该是完整的(应该是全部事实)和有效的(只有全部是事实)。雷曼(Leyman)和罗勒(Roller)识别三种类型的完整性:

• **物理完整性(Physical integrity)**可防止由於介质故障和电磁干扰等问题而导致数据丢失;
• **操作完整性(Operational integrity)**与并发访问数据的同步有关;
• **语义完整性(Semantic integrity )**可确保数据保留其含义,即数据正确反映了其建模的真实世界。
资料来源:Reinhardt A. Botha

语义完整性(Semantic Integrity)
语义完整性有三种常见的类型:
. **实体完整性(Entity integrity )**要求每个实体都有唯一的密钥。(IBM)
. **引用完整性(Operational integrity )**是所有外键的所有值均有效的状态。(IBM)
. **域完整性(Domain integrity)**指定必须在定义的域上声明关系数据库中的所有列。(维基百科)

诚信约束(Integrity Constraints)
根据Can Turker和Michael Gertz的说法,SQL-99提供了以下关键字来以声明方式指定完整性约束:
. PRIMARY KEY 指定表的主键
. FOREIGN KEY(REFERENCES)对一个外键进行罚款,该外键的值必须与唯一/主键的值匹配
. NOT NULL防止列采用空值
. DEFAULT 设置列的默认值
. UNIQUE 一列或一组列在表中必须具有唯一值
. CHECK 定义了一个通用完整性约束,该约束必须对於表的每一行都适用,
. DOMAIN 创建一个(受限制的)列域,并且
. ASSERTION 定义了一个命名的通用完整性约束,该约束可以引用多个表。
https://ithelp.ithome.com.tw/upload/images/20210312/201321601wwOhA1cqe.jpg
-RDBMS(表)
https://ithelp.ithome.com.tw/upload/images/20210312/20132160LZ7WEUgZRs.jpg
-RDBMS(关系)

参考
. 在关系数据库中实现语义完整性
. SQL-99和商业(对象)关系数据库管理系统中的语义完整性支持
. 实体完整性,参照完整性和参照约束

资料来源: Wentz Wu QOTD-20210207


<<:  求职 DBA 资料库管理师的准备方向 - 心得分享

>>:  VisualStudio 2019 Angular mat-table 笔记

Day-30 学习 Helm (上)

前言 Kubernetes是一个可以帮助我们管理微服务的系统,为了因应功能项的不同,Kubernet...

Transactions (2) - Data Object Operation

单物件 (Single-Object) 和多物件 (Multi-Object) 操作 多物件 (Mu...

[Day 13] 非同步的操作资料库?谈 suspendedTransactionAsync

前面我们聊到了如何存取资料库,以及遇到 N+1 问题时该如何发现以及解决问题。 今天我们来谈谈 Ex...

盘点资通资产 - 资讯及资通系统资产清册

不能掺在一起做成撒尿牛丸吗? 适用人员: 资安人员。 适用法规: 资通安全管理法施行细则第六条。 依...

【Day 4】输出之後,BERT转换的Embedding怎麽用?

在此之前,我们已经介绍过BERT的核心概念迁移学习Transfer Learning以及它的输入输出...