5.1 实体完整性

这篇具有很好参考价值的文章主要介绍了5.1 实体完整性。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

5.1 实体完整性,数据库系统概论,oracle,数据库

思维导图:

5.1 实体完整性,数据库系统概论,oracle,数据库

前言

第5章 数据库完整性笔记

  • 定义

    • 完整性:确保数据的正确性和相容性。
      • 正确性:数据与现实世界语义相符、反映实际状况。
      • 相容性:同一对象在数据库的不同关系表中数据逻辑上是一致的。
  • 示例

    • 学号唯一性。
    • 性别限定为男或女。
    • 本科学生年龄为14-50之间的整数。
    • 学生所选课程需为学校提供的。
    • 学生所在院系需为学校已建立的。
  • 完整性 vs 安全性

    • 完整性:防止非语义、不正确的数据进入数据库。
    • 安全性:防止非法访问和恶意破坏。5.1 实体完整性,数据库系统概论,oracle,数据库
  • 维护完整性的关键功能

    1. 定义完整性约束条件
      • 完整性规则是数据必须满足的语义约束条件。
      • 概括了数据模型中的数据和联系的制约和依存规则。
      • SQL使用实体完整性、参照完整性和用户定义完整性等概念来描述完整性。
    2. 完整性检查
      • 确保数据满足完整性约束。
      • 通常在INSERT、UPDATE、DELETE后进行或在事务提交时进行。
    3. 违约处理
      • 如果操作违反完整性规则,DBMS会采取行动如拒绝或级联执行其他操作。5.1 实体完整性,数据库系统概论,oracle,数据库5.1 实体完整性,数据库系统概论,oracle,数据库5.1 实体完整性,数据库系统概论,oracle,数据库5.1 实体完整性,数据库系统概论,oracle,数据库
  • 发展

    • 早期DBMS不支持完整性检查,认为费时。
    • 现代商用关系DBMS都支持完整性控制,减轻了应用程序员的负担。
    • DBMS核心功能支持完整性控制,为所有用户和应用提供一致的完整性。
    • 应用程序实现完整性控制可能有漏洞,可能被其他应用破坏。
  • 之前的内容

    • 第2章2.3节已讲解了关系数据库的三类完整性约束的基本概念。
    • 后续会介绍SQL语言实现完整性控制功能的方法。
  • 完整性分类5.1 实体完整性,数据库系统概论,oracle,数据库5.1 实体完整性,数据库系统概论,oracle,数据库5.1 实体完整性,数据库系统概论,oracle,数据库

5.1 实体完整性,数据库系统概论,oracle,数据库

5.1.1 实体完整性

5.1 实体完整性笔记

  • 定义

    • 实体完整性:在关系模型中使用CREATE TABLE的PRIMARY KEY来定义。
    • 主要为两类:
      1. 单属性主码:可以在列级或表级定义。
      2. 多属性主码:只能在表级定义。
  • 示例

    1. 单属性主码

      • 例5.1:Student表中的Sno属性作为主码。
        CREATE TABLE Student
        (
          Sno CHAR(9) PRIMARY KEY,     /* 列级定义主码 */
          Sname CHAR(20) NOT NULL,
          Ssex CHAR(2),
          Sage SMALLINT,
          Sdept CHAR(20)
        );
        
        CREATE TABLE Student
        (
          Sno CHAR(9),
          Sname CHAR(20) NOT NULL,
          Ssex CHAR(2),
          Sage SMALLINT,
          Sdept CHAR(20),
          PRIMARY KEY (Sno)           /* 表级定义主码 */
        );
        
    2. 多属性主码

      • 例5.2:SC表中的Sno、Cno属性组作为主码。
        CREATE TABLE SC
        (
          Sno CHAR(9) NOT NULL,
          Cno CHAR(4) NOT NULL,
          Grade SMALLINT,
          PRIMARY KEY(Sno, Cno)       /* 只能在表级定义主码 */
        );
        

我的理解:

实体完整性是数据库完整性约束的一个核心概念,特别是在关系数据库模型中。为了深入理解这一概念,让我们从以下几个方面来探讨它:

  1. 基本定义

    • 实体完整性确保每一个实体(在关系数据库中,通常指的是表中的一行或记录)具有唯一的标识。这意味着对于给定的表,该表的每一行都可以通过一个唯一的值或值组合来区分。
  2. 主键的作用

    • 在关系数据库中,实体完整性通常通过主键来实现。一个表只能有一个主键,而这个主键可以是单一的列,也可以是多列的组合。
    • 主键的值不能是NULL,因为NULL表示“未知”或“不适用”,而实体的唯一标识不能是未知的。
    • 在一个表中,主键的值必须是唯一的,即不能有两个或两个以上的行/记录具有相同的主键值。
  3. 为什么需要实体完整性?:

    • 数据的唯一性:实体完整性确保了数据的唯一性,避免了数据的重复,从而提高了数据的准确性和可靠性。
    • 数据检索:通过确保每个记录都有一个唯一的标识,可以快速、准确地检索到所需的数据。
    • 数据关系:在关系数据库中,表与表之间的关联(如外键关系)依赖于实体的唯一标识,实体完整性保证了这种关系的稳定性和可靠性。
  4. 实际应用

    • 想象一个学生信息系统,每个学生都有一个唯一的学号。这个学号就是保证每个学生数据唯一性的主键。没有两个学生可以有相同的学号,且学号不能为空。这就是实体完整性在实际应用中的体现。

总之,实体完整性是确保数据的一致性、准确性和可靠性的关键概念,它通过确保每个实体都有一个唯一的标识来实现。在关系数据库设计和管理中,对实体完整性的理解和实施是至关重要的。

5.1 实体完整性,数据库系统概论,oracle,数据库

 5.1.2 实体完整性检查和违约处理

核心概念

当使用PRIMARY KEY定义了关系的主码,每次数据插入或更新操作时,数据库管理系统会自动检查实体完整性规则。这包括:

  1. 唯一性检查:系统会验证主码值是否唯一。如果不唯一,操作会被拒绝。
  2. 非空检查:系统会检查主码的所有属性是否有空值。任何空值都会导致操作被拒绝。

方法

  1. 全表扫描

    • 检查主码值唯一性的直观方法是扫描整张表,对比每一条记录的主码值。这样确保没有重复值。
    • 这种方法在数据量大时是低效的。

    示意图:图5.1全表扫描方法检查主码唯一性

  2. 索引方法

    • 为了提高检查的效率,数据库管理系统通常在主码上自动创建索引。
    • B+树索引是常见的索引方法,允许快速查找特定的主码值。
    • 通过索引查找,可以迅速确定是否有重复的主码值,避免了全表扫描的耗时。

    示意图:图5.2使用B+树索引检查主码唯一性

总结: 实体完整性是数据库完整性的核心,而高效的检查和处理违约是实现这一完整性的关键。利用索引结构(如B+树)可以有效地加速这一过程,确保数据的准确性和完整性,同时提高操作的效率。


疑问:

什么是B+树?

B+树是一种自平衡的树结构,用于在数据库和文件系统中存储数据。它是B树的一种变种,具有特定的优点,特别是在磁盘存储和数据查找中。

下面是B+树的主要特点和相关解释:

  1. 多路平衡搜索树:B+树是一个多路的树结构,每个节点可以有多个孩子。这有助于减少树的高度,因此,使磁盘I/O次数减少(因为树的深度较小)。

  2. 所有关键字都出现在叶子节点:与B树不同,B+树的非叶子节点不存储键值记录,只存储键以及键的孩子节点。所有的叶子节点构成一个有序链表,其中包含所有的键和相关的记录或指向记录的指针。

  3. 增加和删除是平衡的:当插入或删除关键字时,B+树会自动进行分裂或合并操作,确保每个节点的关键字数量在预定义的范围内,保持树的平衡。

  4. 高效的范围查询:由于所有的叶子节点构成一个有序链表,B+树非常适合范围查询,只需找到起始关键字,然后遍历链表即可。

  5. 节点含有固定数目的子节点:B+树的节点有一个最大和最小的孩子数目限制。这些限制保证了树的平衡,并且使每次磁盘I/O读取的数据量最大化。

在数据库中,B+树主要用于索引结构,因为它支持快速的插入、删除和查找操作,并且在磁盘I/O操作中非常高效。

5.1 实体完整性,数据库系统概论,oracle,数据库

5.1 实体完整性,数据库系统概论,oracle,数据库

5.1 实体完整性重点、难点和易错点总结:

重点:

  1. 实体完整性的定义:确保数据表中每一行都能被唯一地标识,通常通过主键来实现。
  2. 主键的作用:主键不仅标识数据表中的唯一记录,还确保数据的完整性和可靠性。
  3. 主键的选择:选择合适的主键至关重要,因为它会影响数据库性能和操作的便捷性。
  4. 实体完整性的维护:通过数据库管理系统提供的各种工具和机制来维护,例如通过使用 PRIMARY KEY 约束。

难点:

  1. 多属性的主键:在某些情况下,需要使用多个属性组合作为主键(复合主键),这可能导致复杂性增加。
  2. 实体完整性的违规处理:当发生违反实体完整性的操作时,数据库管理系统应如何响应(例如,是否拒绝操作、发送警告或自动纠正)。

易错点:

  1. 误认为所有表都需要主键:虽然主键对于确保实体完整性非常有用,但并非所有表都需要主键。某些情况下,特别是在关系数据库中的连接表,可能不需要主键。
  2. 选择不适当的主键:选择不恰当的主键可能导致效率问题或不必要的复杂性。
  3. 允许主键有空值:主键的定义是它不能有空值。允许主键有空值会违反实体完整性。
  4. 修改主键值:尽管技术上允许这样做,但修改主键值可能会导致数据完整性问题或与其他表的关系断裂。

了解这些重点、难点和易错点有助于更好地理解和应用实体完整性的概念,从而建立和维护更加健壮和可靠的数据库系统。

 5.1 实体完整性,数据库系统概论,oracle,数据库文章来源地址https://www.toymoban.com/news/detail-737210.html

到了这里,关于5.1 实体完整性的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【SQL】实验十 数据库完整性实验

    一、实验目的 1、 熟悉通过SQL对数据进行完整性控制。熟练掌握数据库 三类完整性约束 (实体完整性、用户自定义完整性、参照完整性) 2、了解SQL SERVER 的违反完整性处理措施。 3、了解主键(PRIMARY KEY)约束 、 外键(FOREIGN KEY)约束 、 唯一性(UNIQUE)约束 、 检查(CHE

    2024年02月01日
    浏览(69)
  • 实验四 数据库安全性和完整性

    一.实验目的 1.加深对数据库安全性和完整性理解; 2.学会授权与回收; 4.理解并体会数据库实体完整性、参照完整性、用户定义的完整性约束条件的作用。 二. 实验内容 对已建好的各表和用户进行权限的授权和回收操作,进行完操作之后检查授权过的用户是否真正具有授予

    2024年02月08日
    浏览(47)
  • 【MySQL】数据库完整性和安全性

    目录   一、完整性 1.概念 2.sql语言支持的两种约束     2.1静态约束          撤销追加约束          断言     2.3动态约束           触发器 二、安全性 用DBMS对数据库实现的两个特性  1.概念 指dbms保证的db的一种特性,在任何情况下的正确性、有效性、一致性 原理图

    2023年04月24日
    浏览(89)
  • 深入理解数据库事务:确保数据完整性与一致性

    在现代信息系统中,数据是至关重要的资产之一。作为一名后端开发人员,与数据库的交道必不可少,为了确保数据的完整性、一致性和可靠性,数据库引入了事务的概念。本次将带您深入了解数据库事务的重要性、特性以及如何在应用程序中正确地使用事务来维护数据的稳

    2024年02月12日
    浏览(45)
  • 【数据库 Microsoft SQL Server】实验五 数据库安全性与完整性实验

    一、实验目的 1、掌握数据库的自主存取控制方法,学会使用SQL数据控制语句来进行授权控制和权限回收,理解视图安全机制。 2、掌握数据库的三类完整性约束,定义数据库完整性及违约处理,通过违约操作实验来理解数据库完整性机制。 二、实验环境与实验准备工作 实验

    2024年02月08日
    浏览(45)
  • 物理安全对工控系统数据完整性的影响如何评估和管理?

    随着工业自动化和数字化程度的不断提高, 工业控制系统的数据安全性和完整性日益受到重视. 工业控制系统 (ICS) 是指那些应用于制造、交通和其他领域的关键基础设施的计算机系统和网络设备. 这些系统通常涉及大量敏感信息如工艺参数和历史记录等的数据交换与存储. 因此

    2024年02月21日
    浏览(36)
  • mac m1关闭sip系统完整性保护csrutil disable,如何禁用mac m1的系统完整性保护

    mac安装软件会出现: 请与开发者联系,以确定“MinitabExpress可以配合此macoS版本使 用 显示: 表示设置成功,重启后生效

    2024年02月10日
    浏览(49)
  • mysql索引--普通索引,唯一索引,主键索引,参照完整性约束,数据完整性约束

    -- 方法1:create index -- 对employee表的员工部门号列创建普通索引depart_ind -- create index depart_ind on employees(员工部门号); -- 对employee表的姓名和地址列创建复合索引ad_ind; -- create index ad_ind on employees(姓名,地址); -- 对departments表的部门名称列创建唯一索引un_ind; -- create unique index un_ind

    2023年04月21日
    浏览(45)
  • 数据安全—数据完整性校验

    1、数据安全保障三要素即 保密性 完整性、可用性 机密性:要求数据不被他人轻易获取,需要进行数据加密。 完整性:要求数据不被他人随意修改,需要进行签名技术 可用性:要求服务不被他人恶意攻击,需要进行数据校验 2、为保证数据完整性如下图所示 1)将要提交的参

    2024年02月09日
    浏览(51)
  • 2.4数据完整性验证

    1.数据完整性概述 数据完整性指数据不会被非授权更改或破坏,如篡改、删除、插入等 主要类型:带恢复的连接完整性、不带恢复的连接完整性、选择字段连接完整性、无连接完整性、选择字段无连接完整性 主要实现技术:基于密码技术的完整性保护和基于非密码技术的完

    2024年02月08日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包