当前位置: 首页 > 面试题库 >

当我不需要主键时可以不使用主键吗

柳高卓
2023-03-14
问题内容

如果不需要主键,是否不应该将主键添加到数据库中?


问题答案:

主键唯一地标识表中的一行。

它被索引和/或群集的事实是一个物理实现问题,与逻辑设计无关。

您需要一张桌子才能使它有意义。



 类似资料:
  • 问题内容: 我目前正在为我们团队的项目设计数据库结构。我目前在脑海中有一个非常疑问的问题:能否将外键用作另一个表上的主键? 以下是我们系统的数据库设计表: 我想做的是,该表应包含学生用户和指导顾问用户的ID(应该是系统的登录凭据)和密码。简而言之,和表的主键也是表的外键。但我不确定是否允许。 另一个问题是:一个表中也存在,这需要一个(其为中表)和一个(这也是在)它的每个记录的。如果学生和辅导员的I

  • 指定:这就是表的样子。 希望得到的结果是由Hibernate为我构建的SQL查询:

  • 问题内容: 我有一个用于存储优惠券/折扣的表,并且我想将coupon_code列用作主键,即。 我的理由是,每个优惠券都将具有唯一的代码,而我将要运行的唯一命令是 我不会进行任何联接或索引编制,并且我看不到该表中有超过几百个条目。 在我看来,这可以,但是我不知道是否有任何我想念的东西。 问题答案: 从某种意义上说,您当然可以,您的RDBMS将允许您这样做。这个问题的答案,你是否没有问题 应该 做到

  • 我有两张桌子: 用户(用户名、密码) 配置文件(profileId,gender,dateofbirding,...) 目前我正在使用这种方法:每个Profile记录都有一个名为“userid”的字段作为外键,它链接到用户表。当用户注册时,他的配置文件记录将自动创建。 我对我朋友的建议感到困惑:将“userid”字段作为外部和主键,并删除“profileid”字段。哪种方法更好?

  • 我有一个对象,其中包含另一个对象类型的属性,我想将其视为复杂类型。 在添加迁移时,我遇到了需要主键的问题(这正是我想要防止的)。 实体类型坐标需要定义主键。 编辑 出于性能原因,我希望属性存储为和,而不是对另一个表的引用。

  • 使用JPA2。0(通过Hibernate 4),我可以使用EntityManager在数据库中查询查询条件为主键的记录。查找(java.lang.Class entityClass,java.lang.Object primaryKey)。但是,如果查询条件不是主键(例如,选择city值为“london”的所有记录),我是否必须创建一个TypedQuery并显式提供SQL语句?我应该采取什么最佳做