我有一个小型数据库:
+-----------+-----------+------------------------+
| Name | Number | Hobby |
+-----------+-----------+------------------------+
| Alex | 2, 3 | Game, Shopping |
+-----------+------------------------------------+
2号代表游戏,3号代表购物。 我如何显示上述表格中的数据
+-----------+-----------+
| 2 | Game |
+-----------+-----------+
| 3 | Shopping |
+-----------+------------
答案 0 :(得分:1)
您的数据库未规范化。您需要第三个表,通常称为联接表。
The people table. The primary key is id
+-----------+-----------+
| Id | Name |
+-----------+-----------+
| 1 | Alex |
| 2 | Thor |
| 3 | Iron Man |
| 4 | Dr Stange |
| 5 | Thanos |
+-----------+------------
The hobbies Table
+-----------+-----------+
| Id | Name |
+-----------+-----------+
| 1 | Game |
| 2 | Shopping |
| 3 | Fighting |
+-----------+-----------+
Join table called (for example) people_hobbies
+-----------+-----------+
| person_id | hobby_id |
+-----------+-----------+
| 1 | 1 |
| 1 | 2 |
+-----------+-----------+
此people_hobbies表将使用person_id和hobby_id创建多字段主键。这将确保您将无法添加相同的组合两次...这甚至没有道理。
person_id是一个外键,它引用了人员表中的ID。 hobby_id是一个外键,它引用了兴趣表中的ID。
拥有外键将使您避免在people_hobbies表中没有在people和hobbies表中都不存在的键。
下表中的示例显示,编号为1的人有两个爱好(1和2)。对于人类而言,这意味着Alex的爱好是游戏和购物。
上面的结构使您可以像大多数人一样管理数据库。
请记住以下几点:
答案 1 :(得分:0)
.getDataAsList("test1", true)