Mysql 对数据库表的行进行排序

Mysql 对数据库表的行进行排序,mysql,json,database-design,Mysql,Json,Database Design,我有一个包含代码描述行集合的表提要。 e、 g REST端点以JSON数组的形式返回该表的内容&它显示在web页面的下拉框中 今天,老板希望以特定的方式对内容进行排序。 我希望你能对我的设计发表意见 设计1 我在feed中添加了一个单独的列,称为rank,以表示项目的顺序 Key | Value | Url | Rank fb | facebook | http://www.facebook.com | 3 tw | twitter

我有一个包含代码描述行集合的表提要。 e、 g

REST端点以JSON数组的形式返回该表的内容&它显示在web页面的下拉框中

今天,老板希望以特定的方式对内容进行排序。 我希望你能对我的设计发表意见

设计1

我在feed中添加了一个单独的列,称为rank,以表示项目的顺序

Key | Value      | Url                     | Rank
fb  | facebook   | http://www.facebook.com | 3
tw  | twitter    | http://twitter.com      | 1
ff  | friendfeed | http://friendfeed.com   | 2
设计2

我创建了一个单独的表FeedRank来存储排名

Key | Rank
fb  | 3
tw  | 1
ff  | 2
分析


我倾向于设计1,因为我可以免除加入。每种设计的优点和缺点是什么?你会使用哪一种?

如果是一对一的关系,没有真正的理由将其放在单独的表格中。按照#1,依我看。

如果是一对一的关系,就没有真正的理由把它放在单独的表格中。依我看,选择1。设计1很好。设计2基本上与设计1相同,但具有不必要的复杂性。

设计1很好。设计2基本上与设计1相同,但具有不必要的复杂性。

将排名放在单独表格中的唯一原因是如果a)代码描述和排名之间的关系不是1:1,或者如果b)列填充稀疏(大多数行具有空值)


即使在后一种情况下,大多数人也会取消规范化并将排名列放在代码描述表中。

将排名放在单独表中的唯一原因是:a)代码描述和排名之间的关系不是1:1,或者b)列的填充稀疏(大多数行具有空值)

即使在后一种情况下,大多数人也会取消规范化并将排名列放在代码描述表中

Key | Rank
fb  | 3
tw  | 1
ff  | 2