我正在为 Telegram Bot 设计一个带有 ERD 的数据库,并且我想存储用户。每个用户都有一个 id(主键,int)和 Telegram(int)形式的聊天 id。
Telegram Bot API 对聊天 id 进行了说明:“目标聊天的唯一标识符或目标频道的用户名” https://core.telegram.org/bots/api
现在是我的问题:聊天 id 是第二个主键还是外键,或者只是 NOT NULL 和 UNIQUE?(或者我以前从未听说过的东西)
我正在为 Telegram Bot 设计一个带有 ERD 的数据库,并且我想存储用户。每个用户都有一个 id(主键,int)和 Telegram(int)形式的聊天 id。
Telegram Bot API 对聊天 id 进行了说明:“目标聊天的唯一标识符或目标频道的用户名” https://core.telegram.org/bots/api
现在是我的问题:聊天 id 是第二个主键还是外键,或者只是 NOT NULL 和 UNIQUE?(或者我以前从未听说过的东西)
这是一个非常简单的规范。
我对链接的粗略阅读是返回多个不同的实体,具体取决于调用。他们每个人都有一个整数主键,他们称之为 ID。
从规范中不清楚它如何返回对其他对象的引用 - 例如,Chat 定义引用了 UserName,而 Message 对象有一个名为user类型的字段。这可以是名称、用户 ID 或嵌入对象。如果您正在创建一个数据库来支持这一点,那么任何嵌入对象都应该存储为嵌入对象 ID 的外键,并且您可能必须从调用中返回的任何内容中进行查找以找到正确的 ID。
我认为一些实验或示例调用会有所帮助 - 您可能会发现使用 Postman 进行实验很有用,它允许您手动运行调用并检查结果。