我正在將使用單表繼承的舊項目移動到更加結構化的新數據庫中。我將如何編寫一個SQL腳本來移植它?擺脫STI-SQL將單表拆分爲新的多表結構
舊結構
我已經簡化了易讀性的SQL。
CREATE TABLE customers (
id int(11),
...
firstName varchar(50),
surname varchar(50),
address1 varchar(50),
address2 varchar(50),
town varchar(50),
county varchar(50),
postcode varchar(50),
country varchar(50),
delAddress1 varchar(50),
delAddress2 varchar(50),
delTown varchar(50),
delCounty varchar(50),
delPostcode varchar(50),
delCountry varchar(50),
tel varchar(50),
mobile varchar(50),
workTel varchar(50),
);
新結構
CREATE TABLE users (
id int(11),
firstName varchar(50),
surname varchar(50),
...
);
CREATE TABLE addresses (
id int(11),
ForeignKey(user),
street1 varchar(50),
street2 varchar(50),
town varchar(50),
county varchar(50),
postcode varchar(50),
country varchar(50),
type ...,
);
CREATE TABLE phone_numbers (
id int(11),
ForeignKey(user),
number varchar(50),
type ...,
);
這不是單表繼承,這只是一個非規範化的表。這將是你的工作,構建一個看起來完全一樣的視圖。我們能否編輯OP來反映這確實是這種情況?單表繼承涉及實際的繼承,並且在OP中沒有提及。 – 2009-05-26 18:51:01