luan55555
luan55555
2015-05-28 04:21
采纳率: 0%
浏览 7.3k

为什么数据库中同一个关系表中的属性名是不能重名的,不同的关系表中的属性名是可以重?能举个例子吗?

为什么数据库中同一个关系表中的属性名是不能重名的,不同的关系表中的属性名是可以重?能举个例子吗?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

9条回答 默认 最新

  • danielinbiti
    danielinbiti 2015-05-28 04:23

    比如
    三张表:学生(学号,姓名),课程(课程名,课程编号),选课(学号,课程号,成绩)
    学生表中不能有都叫学号的属性名,比如学生(学号,学号)就是有问题的,表里无法区分这两个学号,也就是同一个关系表中的属性名是不能重名的
    学生表和选课表就都能有学号属性,也就是不同的关系表中的属性名是可以重

    点赞 评论
  • Theo_Yan
    轻云时解 2015-05-28 04:30

    拿java的命名规则来举例,java的类的全名是 包名+类名,所以同一个包内不能有重名类, 就好比你去一个房间找人 到了指定的房间根据指定的名字找到目标人物(当然假设你不认识那个人),如果有同名的人,怎么确定你要找的是哪一个呢。

    点赞 评论
  • edouardzyc
    edouardzyc 2015-05-28 04:48

    如果同一个表里面有重名的你在执行SQL语句的时候 Table.colonne怎么知道到底是哪个字段呢
    不同的关系表中的属性名因为有不同表这个前提呗

    点赞 评论
  • u012589676
    gxtxlx 2015-05-28 07:22

    我说句难听的话楼主不要介意啊,这个问题有点幼稚,这是数据基本概念问题,就是关系中的属性具有唯一性,说白了就是表中的字段是不能重名的,重名就有矛盾了,我查询的时候该取哪一个值呢?

    点赞 评论
  • u012377333
    一枪尽骚丶魂 2015-05-28 10:57

    这个是关系数据库的唯一性原则

    点赞 评论
  • qq_28398447
    qq_28398447 2015-05-29 04:44

    关系数据库特性之一,原子性。
    希望能解答你的问题。

    点赞 评论
  • sinat_28597179
    何不暖阳 2015-05-30 02:44

    这是关系数据库的规范,如果有关系的两张表中有同一个名字的字段,操作的时候分不清,所以有唯一性的规范

    点赞 评论
  • lzp_lrp
    WorldMobile 2015-05-30 02:46

    按照数据库理论来说,属性名是不可以重名的,无论是在同一个关系还是非同一个关系,例如你用建模工具时建模时,如果重名系统就会不允许,会提示错误

    点赞 评论
  • guwei4037
    guwei4037 2015-05-30 02:56

    一张表对应一个实体,比如你设计一个管理员表,它可以包含姓名这个字段;普通用户表,它也可以包含姓名这个字段。

    点赞 评论

相关推荐