问题标签 [shared-primary-key]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
26 浏览

mysql - 创建组合主 Mysql

我正在尝试创建一个非常自定义的主键,例如在[table_1]具有列的列中,tble_id, date_entered, time_entered, card_number, name, address. 我希望主键(tble_id)成为列的组合:date_entered, time_entered, card_number. 因此,例如主键是:2014082717010001,在这种情况下20140827是日期,1701时间和00001卡号。

0 投票
1 回答
181 浏览

mysql - 使用外键作为主键的设计注意事项

使用一个表的外键作为另一个表的主键是否有任何一般设计考虑(好/坏/中性)?

例如,假设以下表格是电影目录的一部分:

剧集显然可以使用 id 和 title_id 来完成,其中 id 将是 PK,而 title_id 将是 UNIQUE,但由于 title_id 已经是唯一的,并且从技术上讲,它可以识别剧集,所以在使用它时是否需要考虑任何事情作为PK?一般来说呢?您对此有何设计考虑?

谢谢你的想法!

0 投票
1 回答
75 浏览

sql-server - 从一个表生成多个表的主键

我有一个设置表 'SettingTab'和一个数字列 ' nSlNo (int)' 来生成两个表'Tab1''Tab2' 的主键。当两个表同时访问设置表时,如何实现这一点而不会发生任何数字冲突。

0 投票
0 回答
98 浏览

mysql - 如何在mysql中建立1-1关系

我的问题是

在 MySQL 中建立 1-1 关系是正确的吗?

子表中的数据必须是唯一的互联网上存在关于这样做的令人困惑的信息。在我看来,第一种形式是正确的,因为它更容易。

我发现的另一种方法

什么是正确的

来自墨西哥的问候!!!!

0 投票
1 回答
266 浏览

database-design - 用于将表与其他 2 个表中的 1 个相关联的数据库设计

我有一个包含一些用户和代理的数据库,并想添加一个简单的消息系统。

所以我有以下一组简单的表格:

我没有来自消息和发布消息的个人的关系。

我有点卡住了,因为它可能是用户或代理。我认为这一定是一个常见问题,需要解决一个公认的模式,但我还没有找到这样的讨论。

我知道我有几个选择,但它们都有缺点。

选项 1: 我不喜欢一条消息可以将两个链接到不同的帐户。

选项 2: 这使得在 SELECT 的一列中获取所有消息变得很尴尬。

我无法将用户和代理合并到一张表中的一件事。那是一成不变的。

0 投票
2 回答
985 浏览

mysql - 自然键的crc32作为主键

我有一个 TCG 卡数据库,我正在尝试确定一个主键。我最初使用代理键解决了问题,但我意识到有时我会忘记添加一些卡片,例如促销卡片。这对于代理键来说是有问题的,因为它们是使用最新的自动增量添加到数据库中的,我不希望它们的 ID 依赖于它们插入的顺序。我在想也许我可以对某些卡片功能进行哈希处理并将其用作主键?

以下面的伪代码为例:

卡的可能数量现在徘徊在 25k 左右,每 6 个月增长 100-300 左右。

  1. 以这种速度,不会发生碰撞吧?
  2. 这是好习惯吗?我还有其他好的选择吗?

我知道我可以通过将散列转换为来缩短散列,base 62但我会将它们加入到用户的库存表中,所以我认为保留这些int将是最好的选择。

0 投票
1 回答
1022 浏览

java - 缺少列:具有共享 PK 的一对一映射上的 id

我确定这是一个重复的问题,但我无法让它发挥作用。Home我与 entity和 entity之间的共享主键具有一对零或一的关系Address

我的问题是我不断收到错误

缺少列:id

我正在映射我的实体,如此处所示但不同的是,我的实体的列名Address没有被调用id但是homeId_pf

这是我的实体:

如前所述,我的addresses表有两列:homeId_pf,设置为 PK 和 FK 到homes.idand city

我也尝试过设置@JoinColumn(name = "homeId_pf")Address@PrimaryKeyJoinColumn(referencedColumnName = "homeId_pf")实体Home,但没有帮助。

0 投票
1 回答
6941 浏览

hibernate - JPA 中的自定义主键生成器

org.hibernate.id.IdentifierGenerator用来生成一个主键列,如下所示。在下面给出的示例中,目前它只是INT(11)按顺序递增类型(MySQL)的键,即它确实像auto_increment在 MySQL 中一样,但它可以用于生成任何自定义模式的值,如 E0001、E0002、E0003 ... E0010 ... E0100 ... E1000 ... E12345 ...

Test使用上述 id 生成器的实体:

然而,这是 Hibernate 特有的功能。有没有办法让它与提供者无关,即 JPA (2.1) 中是否有这样的功能?

我正在使用具有 JPA 2.1 的 Hibernate 5.1.0 final。


这种方法在持久化、合并和删除实体时是否会导致一些并发问题并需要某种锁定?

0 投票
2 回答
249 浏览

mysql - 我可以在我的大多数表中使用我的外键作为我的主键吗?

我正在尝试制作在线航班预订网站的数据库结构。它只是我的一个项目。我想知道我可以使用外键作为表上的主键。

这是我的一张桌子的样子:

表名:Customer_Account 它有:Account_id (PK)、用户名和密码。

我的另一个表是: Customer_Info 它有: Account_id ,名字,姓氏和其他个人信息。

我的想法是,如果我使用 Customer_info 表上的 (Account_id) 作为我的主键,是否可以,因为它是引用 Customer_Account 的 (Account_id) 的外键?

如果这是可能的,那么当它是我真正需要该表的 ID 时,一直使用外键作为我的主键可以吗?

0 投票
1 回答
114 浏览

single-table-inheritance - 我们如何处理具有唯一具有每种类型数据的艺术品类型的数据库模式?

艺术品.jpg

我正在尝试开发艺术品解决方案,但在如何将其编码到数据库模式中时遇到了类别类型问题。我刚刚开始了解父键和外键的概念。

艺术品属于照片、乐谱、绘画、雕塑等类别类型。我所做的是为艺术品创建一个表和一个类别类型表,并将外键链接到主艺术品表。如果照片具有特定或独特的信息,例如照片格式和照片拍摄日期,该怎么办。为了规范这一点,我们是否需要一个单独的表格来容纳照片信息?

如何转换图表模式?请参阅附件的 artifact.jpg 以获取图表。我不仅将艺术作品表链接到类别,每个类别类型还将有一个单独的表来引入独特的信息,例如照片的照片格式、作曲家姓名和乐谱的长度(分钟)。请帮助阐明这一点。谢谢你。