gpt4 book ai didi

mysql - 我应该如何创建一个数据库表,在其中保留多个事件名称及其时间戳,并使用设备 token 作为外键

转载 作者:行者123 更新时间:2023-11-29 23:58:26 26 4
gpt4 key购买 nike

我正在尝试创建一个数据库,但我无法想象它。

在我的一个表中,我将保留多个事件及其时间戳,以及了解该事件的执行者是谁的 key 。

例如;

device_token  |  login_screen |  login_screen_timestamp | button_clicked | button_clicked_timestamp | new_event | new _event_timestamp

我应该如何继续,因为我想不出更好的方法。但不知何故,我认为应该有更好的方法。

最佳答案

如果不知道每个字段中存在什么类型的数据,就很难给予您批准,但最终您希望规范化您的表以减少任何类型的字段重复。遵循 Database Normalization 的原则,您可以将数据设置为以尽可能最有效的方式进行代数存储,同时大大降低数据错误的可能性。

阅读normal forms熟悉这些概念并尝试在数据库中使用第三范式(这将消除函数和传递依赖)。任何超出 3NF 的额外规范化实际上都会降低您的性能,因此第三范式应该是您在任何业务环境中的目标。

总结list of steps将非标准化数据标准化为第三范式的方法如下:

  1. 以表格形式列出数据,不带任何字段为空(实现第一范式)并标识 primary key
  2. 消除任何函数依赖性(实现第二范式)。这仅意味着,如果您的字段不完全依赖于主键,而是 composite primary key 的一部分,那么需要将它们拆分到一个单独的表中。
  3. 最后删除所有传递依赖项(实现第三范式)。这会将依赖于非主键的所有字段移至单独的表中。

所以你应该看到的是一个大表,然后分成其他较小的表,直到大表满足第三范式。然后,您对任何新创建的较小表重复该过程,直到数据库中的所有内容都是第三范式。

关于mysql - 我应该如何创建一个数据库表,在其中保留多个事件名称及其时间戳,并使用设备 token 作为外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25202025/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com