0
所以我知道在Mysql中有一個SET數據類型,可以用來在單個列中保存零個或多個String元素。Mysql SET引用外鍵
我想要做的事情是有一個名爲EMPLOYEES的表,它有一個名爲Languages的列,該列將包含員工知道的所有語言的集合。但是也會有一個語言表,其中包含系統中所有可能的語言,我需要EMPLOYEES語言集列來引用語言表中的語言ID。
這是甚至可能或有更好的方法來解決這個問題?
感謝
所以我知道在Mysql中有一個SET數據類型,可以用來在單個列中保存零個或多個String元素。Mysql SET引用外鍵
我想要做的事情是有一個名爲EMPLOYEES的表,它有一個名爲Languages的列,該列將包含員工知道的所有語言的集合。但是也會有一個語言表,其中包含系統中所有可能的語言,我需要EMPLOYEES語言集列來引用語言表中的語言ID。
這是甚至可能或有更好的方法來解決這個問題?
感謝
不要使用這個set
。此數據類型限制爲64個元素(請參閱documentation)。世界上有超過64種語言。
相反,創建一個真正的結合表,與EmployeeId
和LanguageId
(和適當的外國引用到Employees
和Languages
表)列這也爲您提供了以下功能:
此外,set
數據類型特定於MySQL,所以如果您決定更改基礎數據庫,則必須創建此類聯接表(或類似的東西)。
好的,我想我明白你在說什麼;例如創建一個名爲EMPLOYEE_LANGUAGES的表,並將EMPLOYEE ID和語言ID用作複合主鍵,並將其作爲將員工鏈接到他們所知的語言的一種方式。 – Hussain1993 2014-10-04 16:29:01
@ Hussain1993。 。 。究竟。這在技術上被稱爲「聯結」或「關聯」表。它是一個實現多對多關係的表格。 – 2014-10-04 16:40:28