如何理解超键、候选键、主键、外键的含义?

来源:互联网 发布:万能邮件群发软件 编辑:程序博客网 时间:2024/06/05 19:44
  • 超键:在关系模式中,能唯一标识元组的属性集称为超键(有多余的属性)
  • 候选键:在关系模式中,能唯一标识元组并且不含多余属性集称为候选键(不能有多余的属性)
  • 主键:在关系模式中,由若干个候选键中指定一个作为关键字,该关键字称为主键
  • 外键:如果在关系模式R1中的某属性集不是R1的候选键,而是关系模式R2的候选键,则该属性集对R1而言是外键(这是对于R1而言而不是对R2的)
    例如:学生(学号,姓名,性别,专业号,年龄)
    (学号,姓名)是超键,而不是候选键,学号是候选键,同时也是主键

  • 主属性:候选码中的诸属性称为主属性

  • 非主属性:不包含在任意候选码中的属性称为非主属性
    例如:成绩(学号,姓名,课程号,成绩) 注:学生无同名
    候选键:(学号,课程号),(姓名,课程号)
    主属性:学号,姓名,课程号
    非主属性:成绩

如何区分超键,候选键,主键?
超键中可能有无关属性,而主键和候选键中属性都是必要的属性。
主键和候选键的区别在于主键被数据库设计者选择的,事实上也是候选键。
例如:有三个总统候选人A,B,C,但A被选中当总统,所以A是主键

0 0
原创粉丝点击