【发布时间】:2021-06-22 05:57:50
【问题描述】:
与使用单独的查找表相比,仅使用一个组合查找表(mySQL 数据库)来存储表之间的“链接”是否有很大的缺点(可能是查询速度等)?我之所以这么问,是因为在我的项目场景中,我最终会得到一百多个单独的查找表,我认为这些查找表需要大量的设置和维护工作。但是为了做一个更简单的例子,这里是一个只有 4 个表之间的简化场景:
表:老师
| teacherID | name |
|---|---|
| 1 | Mr. X |
| 2 | Mrs. Y |
表:学生
| studentID | name |
|---|---|
| 4 | Tom |
| 5 | Chris |
表:类
| classID | name |
|---|---|
| 7 | Class A |
| 8 | Class B |
表格:语种
| languageSpokenID | name |
|---|---|
| 10 | English |
| 11 | German |
======================== 个人查找表 ===================== =====
表:student_teacher
| studentID | teacherID |
|---|---|
| 4 | 1 |
| 5 | 1 |
表:student_class
| studentID | classID |
|---|---|
| 4 | 7 |
| 5 | 8 |
表:student_languageSpoken
| studentID | languageSpokenID |
|---|---|
| 4 | 10 |
| 4 | 11 |
====== VS 一个组合查找表(带有一个辅助表)=====
辅助表:allTables
| tableID | name |
|---|---|
| 1 | teacher |
| 2 | student |
| 3 | class |
| 4 | languageSpoken |
表:lookupTable
| table_A | ID_A | table_B | ID_B |
|---|---|---|---|
| 1 | 1 | 2 | 4 |
| 1 | 1 | 2 | 5 |
| 3 | 7 | 2 | 4 |
| 3 | 8 | 2 | 5 |
【问题讨论】:
标签: mysql database-design lookup-tables