(2.1)关系模型之关系结构和约束
发布日期:2021-05-08 17:53:46 浏览次数:12 分类:精选文章

本文共 1746 字,大约阅读时间需要 5 分钟。

关系表与数据库约束

在数据库设计中,关系表是用来存储数据的核心模块。数学上,关系表中的每一行都代表一个元组,而每一列则是一个属性的取值。关系表必须满足以下基本原则:

  • 原子性:每个属性值不能再被分解,必须是一个不可分割的基本单位。
  • 唯一性:表中不能出现重复的行,确保每个元组都是独一无二的。
  • 一致性:行列之间的数据关系必须保持一致,避免出现矛盾。
  • 1.1 考生表(examinee)

    考生表是一个典型的关系表,主要用于存储考生的基本信息。表结构如下:

    examinee(eeid, eename, eesex, eeage, eedepa)

    其中:

    • eedid:考生的唯一标识编号。
    • eename:考生的姓名。
    • eesex:考生的性别(男/女)。
    • eeage:考生的年龄。
    • eedepa:考生的院系。

    1.2 考官表(examiner)

    考官表用于存储考官的信息,表结构为:

    examiner(eid, eename, eesex, eeage, eestatus)

    其中:

    • eid:考官的唯一标识编号。
    • eename:考官的姓名。
    • eesex:考官的性别(男/女)。
    • eeage:考官的年龄。
    • eestatus:考官的职位状态(如“主考官”或“副考官”)。

    1.3 试卷表(exampaper)

    试卷表记录考试的具体试卷信息,表结构为:

    exampaper(pid, pname, pversion, pdate, pstatus)

    其中:

    • pid:试卷的唯一标识编号。
    • pname:试卷的名称。
    • pversion:试卷的版本号。
    • pdate:试卷的发布日期。
    • pstatus:试卷的状态(如“已发布”或“已过期”)。

    1.4 院系表(department)

    院系表用于存储学校或单位的信息,表结构为:

    department(did, dname, dlocation, dhead)

    其中:

    • did:院系的唯一标识编号。
    • dname:院系的名称。
    • dlocation:院系的地理位置。
    • dhead:院系的负责人。

    1.5 考官组表(erexam)

    考官组表记录考官组的信息,表结构为:

    erexam(gid, gidname, gidhead, gidstatus)

    其中:

    • gid:考官组的唯一标识编号。
    • gidname:考官组的名称。
    • gidhead:考官组的负责人。
    • gidstatus:考官组的状态(如“活跃”或“暂停”)。

    1.6 考生答卷表(eeexam)

    考生答卷表记录考生的考试成绩,表结构为:

    eeexam(eeid, eepaperid, eescore, eestatus)

    其中:

    • eedid:考生的唯一标识编号。
    • eeperid:考生参加的试卷的唯一标识编号。
    • eescore:考生的考试成绩(如“及格”或“不及格”)。
    • eestatus:考生的考试状态(如“已提交”或“未提交”)。

    2.1 数据约束

    软件系统无法确保数据的真实性,但可以通过数据约束确保数据的合理性和一致性。数据约束主要通过以下方式实现:

  • 属性取值范围的限定:通过定义属性的取值范围,确保数据符合业务需求。
  • 属性间关系的限定:通过定义属性之间的关系,确保数据逻辑一致。
  • 2.2 超键

    在关系表中,能够唯一标识出所有元组的属性集合称为超键。超键是关系模式的核心,必须满足以下条件:

  • 唯一性:能够唯一确定每个元组。
  • 最小性:属性集合不能再被分解。
  • 2.3 候选键

    在关系模式中,能够唯一标识元组的最小的属性集合称为候选键。候选键的定义必须满足以下条件:

  • 唯一性:能够唯一确定每个元组。
  • 最小性:属性集合不能再被分解。
  • 完整性:候选键中的属性必须包含关系模式中所有的主属性。
  • 2.4 主键

    在关系模式中,通常会选择一个候选键作为主键。主键具有以下特点:

  • 唯一性:主键值必须唯一。
  • 非空性:主键值不能为空。
  • 最小性:主键是最小的候选键。
  • 2.5 外键

    外键是一组属性值,它必须在另一个关系表中找到对应的数值。外键的作用包括:

  • 关联关系:通过外键将两张表联系起来。
  • 数据完整性:确保数据的一致性。
  • 例如,考生表中的eedepa属性就是一个外键,其取值范围必须与院系表中的dname列匹配,或者允许为空值。

    上一篇:数据库系统原理学习目录
    下一篇:(第3章)Docker核心原理解读(续)

    发表评论

    最新留言

    感谢大佬
    [***.8.128.20]2025年04月10日 17时24分16秒