表中的最佳实践数据库前缀?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了表中的最佳实践数据库前缀?相关的知识,希望对你有一定的参考价值。

我有一个数据库,其中包含用户和这些用户的待办事项列表(以及更多的表,但这是无关紧要的)。

用户可以拥有多个待办事项,但项目只能链接到一个用户。

我想知道如何为待办事项创建一个表? - 我应该把它称为:todo-items - 对于用户来说,我应该称之为:users_todoitems - 我应该给它一个前缀,例如:u_todoitems?

我试图寻找有关这类问题的最佳做法,但找不到一个好的答案。

答案

拥有不同的用户表可以达到您希望数据库设计的标准化程度。如果你认为很深,todos实际上是一个可以有多个任务的列表。因此,将todo列表连接到用户而不是连接任务更合乎逻辑。因此,一个用户可以拥有多个待办事项列表,每个待办事项列表可以有多个任务。

我建议采用下表设计:

users

  • user_id(主键)
  • other_fields

user_todo_lists

  • todo_list_id(主键)
  • user_id_fk(外键)

todo_list_tasks

  • task_id(主键)
  • todo_list_id_fk(外键)
  • 任务名称
  • other_task_fields

这个设计甚至可以很好地查询你甚至没有一个todo任务的user。在这种情况下,您的搜索仅限于user_todo_lists表,而不是大量的todo_list_tasks表。

以上是关于表中的最佳实践数据库前缀?的主要内容,如果未能解决你的问题,请参考以下文章

在另一个活动托管的片段之间传递数据的最佳实践

android片段-数据传递-最佳实践[重复]

更新片段参数的最佳实践?

Oracle 最佳实践使用父表中的值更新表中的 5000 万个子行

技术分享MySQL数据库优化的最佳实践

一次在多个表中插入/更新数据的最佳实践