• 1.首家专业真正意义的悬赏问答赚钱网站!
  • 2.我们相信:重金之下必有勇者,钱能促进回答!
  • 3.购买答案别害怕,网站有担保,不满意可退款,拒绝恶意操作!
  • 4.回答售出就有收益,永久不限次数为您持续产生收益!
  • 5.提问也可以赚钱了,提问所属答案被购买确认,也可产生收益!
  • 6.收益计量都是不限次数、时间、地点,真正意义上的摇钱树!
  • 7.购买者是提问者本人,回答者享有百分百收益!
  • 8.自问自答模式已开启!经验/文章博客/聊天记录变问答赚钱!
    未登录

    mysql数据库中超键的具体作用

    133*****1652017-12-18 17:00回答

    超键(super key):在关系中能唯一标识元组的属性集称为关系模式的超键
    候选键(candidate key):不含有多余属性的超键称为候选键
    主键(primary key):用户选作元组标识的一个候选键程序主键

    比如一个小范围的所有人,没有重名的,考虑以下属性:
    身份证、姓名、性别、年龄。

    身份证 唯一 所以是一个超键
    姓名 唯一 所以是一个超键
    (姓名,性别) 唯一 所以是一个超键
    (姓名,性别,年龄) 唯一 所以是一个超键
    --这里可以看出,超键的组合是唯一的,但可能不是最小唯一的

    身份证 唯一而且没有多余属性 所以是一个候选键
    姓名 唯一而且没有多余属性 所以是一个候选键
    --这里可以看出,候选键是没有多余属性的超键

    考虑输入查询方便性,选择身份证为主键
    也可以考虑习惯,选择姓名为主键
    --主键是选中的一个候选键

    一题搞懂什么是候选键:

    在SQL Server数据库中,有一个学生信息表如下所示,在该表中不能作为候选键的属性集合为( ) (选择一项)
    学号 姓名 性别 年龄 系别 专业
    20020612 李辉 男 20 计算机 软件开发
    20060613 张明 男 18 计算机 软件开发
    20060614 王小玉 女 19 物理 力学
    20060615 李淑华 女 17 生物 动物学
    20060616 赵静 男 21 化学 食品化学
    20060617 赵静 女 20 生物 植物学
    a){学号}
    b){学号、姓名}
    c){年龄、系别}
    d){姓名、性别}
    e){姓名、专业}

    可能大家不知道如何来选择。如果这个题目我们可以正确的解答,那么对于超键以及候选键和主键的概念已经有很深刻的认识了。
    透过概念,我们可以了解到,超键包含着候选键,候选键中包含着主键。主键一定是惟一的。为什么呢?因为他的爷爷超键就是惟一的。
    我们分析一下上面的题目,abcde5个答案都可以作为超键,他们组合在一起的集合可以用来惟一的标识一个实体。
    请注意我们的要求:候选键。候选键要求是不能包含多余属性的超键,我们看一下答案b。在答案b中,如果我们不使用姓名也可以惟一的标识一条数据实体,可以说姓名字段在这里是多余的。那么很明显,b选项包含了多余字段属性。那么这题答案应该选择b。
    那么其他的4个选项都可以作为候选键,假设很幸运,a)学号 被选择作为用户正在使用的候选键来惟一标识元组了,那么他很幸运的获得了主键的称号(主键->候选键)。

     0 ID:124 0人购买0评价 好评率0%
    返回顶部 联系客服 消息中心0