两个主键? (电报chat_id)

时间:2019-06-08 21:28:23

标签: database-design telegram-bot erd database-diagram

我正在用ERD设计一个电报机器人的数据库,我想存储用户。每个用户都获得一个ID(主键,int)和聊天ID,它们来自Telegram(int)。

Telegram Bot API这样说说有关聊天ID: “目标聊天的唯一标识符或目标频道的用户名” https://core.telegram.org/bots/api

现在我的问题是:聊天ID是第二个主键还是外键,或者只是NOT NULL和UNIQUE? (或者我以前从未听过的东西)

1 个答案:

答案 0 :(得分:1)

这是一个非常简单的规范。

我对链接的粗略阅读是,根据调用,有多个不同的实体被返回。它们每个都有一个整数主键,它们称为ID。

从规范中尚不清楚它如何返回对其他对象的引用-例如,聊天定义引用了UserName,而Message对象具有名为 from 的字段,该字段的类型为用户。这可以是名称,用户的ID或嵌入式对象。如果要创建数据库来支持此操作,则所有嵌入对象都应作为嵌入对象ID的外键存储,并且可能必须从调用返回的内容中进行查找以找到正确的ID。

我认为进行一些实验或示例调用会有所帮助-您可能会发现对Postman进行实验很有用,这将使您可以手动运行调用并检查结果。