当前位置: 首页 > 编程笔记 >

DBMS中的各种键

楚俊迈
2023-03-14
本文向大家介绍DBMS中的各种键,包括了DBMS中的各种键的使用技巧和注意事项,需要的朋友参考一下

DBMS中不同类型的键是-

  • 候选键- 表中的候选键定义为最小的键集,可以唯一地标识表中的任何数据行。

  • 主键- 主键是从候选键之一中选择的,并成为表的标识键。它可以唯一地标识表的任何数据行。

  • 超级键- 超级键是主键的超集。超级键包含一组属性,包括主键,可以唯一地标识表中的任何数据行。

  • 复合键- 如果表的任何单个属性都不能作为键,即它不能唯一地标识行,则我们将两个或多个属性组合在一起以形成键。这称为复合键。

  • 辅助键- 仅选择一个候选键作为主键。它们的其余部分称为辅助键。

  • 外键- 外键是表中的属性值,在另一个表中用作主键。因此,外键在将两个表链接在一起时很有用。应当非常小心地在外键列中输入数据,因为错误输入的数据会使两个表之间的关系无效。

一个解释不同键的示例是-

<学生>

学生号码 学生姓名 学生电话 主题编号
1 安德鲁 6615927284 10
2 莎拉 6583654865 20
3 哈里 4647567463 10

<主题>

主题编号 主题名称 Subject_Instructor
10 数据库管理系统 柯思
20 演算法 科门
30 演算法 莱森

<注册>

学生号码 主题编号
1 10
2 20
3 10

<Student> 表中的超级键为-

{Student_Number}
{Student_Phone}
{Student_Number,Student_Name}
{Student_Number,Student_Phone}
{Student_Number,Subject_Number}
{Student_Phone,Student_Name}
{Student_Phone,Subject_Number}
{Student_Number,Student_Name,Student_Phone}
{Student_Number,Student_Phone,Subject_Number}
{Student_Number,Student_Name,Subject_Number}
{Student_Phone,Student_Name,Subject_Number}

 <Subject>表中的超级键为-

{Subject_Number}
{Subject_Number,Subject_Name}
{Subject_Number,Subject_Instructor}
{Subject_Number,Subject_Name,Subject_Instructor}
{Subject_Name,Subject_Instructor}

<Enroll>表中的超级键为-

{Student_Number,Subject_Number}

<Student>表中的候选键为{Student_Number}或{Student_Phone}

<Subject>表中的候选键为{Subject_Number}或{Subject_Name,Subject_Instructor}

<Student>表中的候选键为{Student_Number,Subject_Number}

<Student>表中的主键为{Student_Number}

<Subject>表中的主键是{Subject_Number}

<Enroll>表中的主键为{Student_Number,Subject_Number}

<Enroll>表中的组合键为{Student_Number,Subject_Number}

<Student>表中的辅助键为{Student_Phone}

<Subject>表中的辅助键为{Subject_Name,Subject_Instructor}

{Subject_Number}是<Student>表的外键和<Subject>表的主键。

 类似资料:
  • 我正在尝试为一个大学项目实现一种使用for循环计算学院的方法。我写了一个for循环,它以两个步骤递增,而另一个for循环计算第一个for循环的每一个函数。 有人能指出我在哪里犯了错误吗?

  • 实现列表(UITableView)的删除、移动、多选等操作功能。适合初学者学习iOS的列表编程。 [Code4App.com]

  • 本文向大家介绍linux shell中if的各种判断,包括了linux shell中if的各种判断的使用技巧和注意事项,需要的朋友参考一下 shell编程中使用到得if语句内判断参数   –b当file存在并且是块文件时返回真   -c当file存在并且是字符文件时返回真   -d当pathname存在并且是一个目录时返回真   -e当pathname指定的文件或目录存在时返回真   -f当fil

  • 主要内容:一、存储引擎介绍,,二、查看存储引擎,三、常见存储引擎,1.InnoDB,2.MyISAM,3.Archive,4.Blackhole,5.CSV,6.Memory,7.Federated,8.Merge,9.NDB,四、设置系统默认的存储引擎一、存储引擎介绍 为了管理方便,人们把连接管理、查询缓存、语法解析、查询优化这些并不涉及真实数据存储的功能划分为MySQL server的功能,把真实存取数据的功能划分为存储引擎的功能。所以在MySQL server完成了查询优化后,只需按照生成

  • 背景: 我有C背景,刚开始在嵌入式项目中使用C++。 我编写了一个能够处理多个设备的固件,具体取决于最终用户获得设备之前如何通过图形界面配置固件。 每个设备类型由一个类表示。 许多参数在多个(但不是所有)类型的器件之间共享(即电池电平),一些功能也共享(即从EEPROM读取特定于器件类型的内容)。 目标: 能够通过指针访问函数和变量,而不必不断转换void指针。 在调用函数之前,我不应该知道我使用

  • 我正在尝试使用PHPBrew安装PHP5.4,但出现以下错误: 用 我的操作系统: