外键关联, 确保所有的引用都有效
解决方案 »
- 这句SQL错在哪里了?
- 数据库学习应该看些什么书?
- 请邹老大来瞅瞅
- 为什么我新装的win2000server别的什么也没装,然后装sql2000企业版还是配置服务器失败,已经重装了3次系统了
- 数据表的相同数据
- asp程序取sql存储过程返回参数的问题
- sql-server 数据库里有两个临时的表 deleted,instered 请问一下,怎么才能打开他们
- 为何我的ODBC连不上SQL SERVER
- 用vb做个小型数据库,怎么用不了access2000啊???
- 请问学习oracle8,还是学习oracle8i好呢?学习oracle应打下哪些基础.应看什么书呢?
- 在select中怎样使用参数指定返回的行数?在线等
- 高分相送!!!!!!!!!如何写这样的查询语句?
强制数据完整性可确保数据库中的数据质量。例如,如果输入了 employee_id 值为 123 的职员,那么该数据库不应允许其他职员使用同一 ID 值。如果计划将 employee_rating 列的值范围设定为从 1 到 5,则数据库不应接受 6。如果表有一 dept_id 列,该列存储职员的部门编号,则数据库应只允许接受公司中的有效部门编号。对表进行计划有两个重要步骤:标识列的有效值和确定如何强制列中的数据完整性。数据完整性有四种类型: 实体完整性
域完整性
引用完整性
用户定义完整性
实体完整性
实体完整性将行定义为特定表的唯一实体。实体完整性强制表的标识符列或主键的完整性(通过索引、UNIQUE 约束、PRIMARY KEY 约束或 IDENTITY 属性)。域完整性
域完整性是指给定列的输入有效性。强制域有效性的方法有:限制类型(通过数据类型)、格式(通过 CHECK 约束和规则)或可能值的范围(通过 FOREIGN KEY 约束、CHECK 约束、DEFAULT 定义、NOT NULL 定义和规则)。引用完整性
在输入或删除记录时,引用完整性保持表之间已定义的关系。在 Microsoft® SQL Server™ 2000 中,引用完整性基于外键与主键之间或外键与唯一键之间的关系(通过 FOREIGN KEY 和 CHECK 约束)。引用完整性确保键值在所有表中一致。这样的一致性要求不能引用不存在的值,如果键值更改了,那么在整个数据库中,对该键值的所有引用要进行一致的更改。强制引用完整性时,SQL Server 禁止用户进行下列操作: 当主表中没有关联的记录时,将记录添加到相关表中。
更改主表中的值并导致相关表中的记录孤立。
从主表中删除记录,但仍存在与该记录匹配的相关记录。