0
我做了一個公司,現在我想添加一個用戶到我的數據庫中。一張表跟蹤用戶知道的語言,另一張表用戶使用的設計軟件。如何使用多個表創建用戶配置文件?
我會創建3個表(配置文件,語言,軟件),每個都有一個I字段,當我添加一個用戶向每個表添加一行時?
我做了一個公司,現在我想添加一個用戶到我的數據庫中。一張表跟蹤用戶知道的語言,另一張表用戶使用的設計軟件。如何使用多個表創建用戶配置文件?
我會創建3個表(配置文件,語言,軟件),每個都有一個I字段,當我添加一個用戶向每個表添加一行時?
當您開始添加多個多對多關係時,您需要更多的表將這些信息「鏈接」在一起。以下是我將如何解決問題的方法:
注意這些ID應該都是唯一索引列。考慮使用AUTO_INCREMENT
。
表1:包含用戶的個人信息
| ProfileID |UserInfo |
|=======================|
| 0 | Info |
|-----------------------|
| 1 | Info2 |
|-----------------------|
表2:存儲可能的語言
|LanguageID |LanguageName|
|========================|
| 50 | Python |
|------------------------|
| 51 | Java |
|------------------------|
等等...
表3:將配置文件鏈接存儲到languag中es
|ProfileID |LanguageID |
|========================|
| 0 | 50 |
|------------------------|
| 0 | 51 |
|------------------------|
| 1 | 50 |
|------------------------|
每當您想要將語言添加到用戶的配置文件中時,都需要在該表中創建一個條目。
您可以爲用戶知道的軟件添加兩個表格。一張表用於所有可能的軟件類型,另一張表用於存儲鏈接。
當你想要檢索的信息,你會做的操作,如下面的一個:
SELECT * FROM Table3
LEFT JOIN Table2
ON Table3.LanguageID = Table2.LanguageID
WHERE ProfileID = [TheProfileIDToSearch]
該結構使用JOIN鏈接表結合在一起,同時從多個表返回信息。這裏是關於SQL JOINS
的W3School快速解釋。
您需要5個表格,因爲您需要維護兩個不同的多對多關係。我假設用戶知道多種語言並使用多種軟件工具。 –
5是什麼?我只是認爲個人資料,語言,軟件 – BBDev