0
我需要創建一個巨大的表叫工人(id_worker
是主鍵)和許多其他列像name
,date_of_birth
等繼承在MySQL
我還需要創建繼承這一個其他幾個表(來自公司的所有不同類型的員工)。它們都具有來自工作人員的屬性(name
,date_of_birth
)以及相同的主鍵(id_worker
)。
我讀過,我不能在MySQL中這樣做,因爲它不支持繼承。我該怎麼做呢?
我需要創建一個巨大的表叫工人(id_worker
是主鍵)和許多其他列像name
,date_of_birth
等繼承在MySQL
我還需要創建繼承這一個其他幾個表(來自公司的所有不同類型的員工)。它們都具有來自工作人員的屬性(name
,date_of_birth
)以及相同的主鍵(id_worker
)。
我讀過,我不能在MySQL中這樣做,因爲它不支持繼承。我該怎麼做呢?
CREATE TABLE workers(id INT(11) NOT NULL, name VARCHAR(64), date_of_birth DATE);
CREATE TABLE worker_type(id INT(11) NOT NULL, name VARCHAR(64));
CREATE TABLE workers_types(worker_id INT(11) NOT NULL, woker_type_id INT(11) NOT NULL);
SELECT workers.name, worker_type.name FROM workers
LEFT JOIN workers_types ON workers_types.worker_id = workers.id
LEFT JOIN worker_type ON worker_type.id = workers_types.worker_type_id;
對不起沒有校對和壞命名...
我不明白你實際上是試圖做 – Strawberry
據我理解你的問題,你可以使用常規的加入來獲得相同影響。 –
你可以用任何sql來進行繼承,並且有幾種方法可以完成它;最好的依賴於問題(例如單視圖或多表視圖)。如果他們都有相同的*精確*字段,沒有額外的字段,那麼您實際上只需要一個'employeeType'的列。我可能會爲這些可擴展的表創建一個枚舉表。 – ChiefTwoPencils