我有點停留在一個棘手的情況與MySQL數據庫設計我webservice.The DB們最初這種結構:MySQL數據庫結構
CREATE TABLE IF NOT EXISTS `Disease` (
`Name` varchar(20) NOT NULL,
`Age` int(10) unsigned NOT NULL,
`Descriptin` text NOT NULL,
`Sex` varchar(10) NOT NULL,
`Ethnicity` varchar(20) NOT NULL,
PRIMARY KEY (`Name`,`Sex`,`Ethnicity`),
KEY `Sex` (`Sex`),
KEY `Ethnicity` (`Ethnicity`)
)
ALTER TABLE `Disease`
ADD CONSTRAINT `Disease_ibfk_1` FOREIGN KEY (`Sex`) REFERENCES `Sex` (`Sex`) ON DELETE CASCADE ON UPDATE CASCADE,
ADD CONSTRAINT `Disease_ibfk_2` FOREIGN KEY (`Ethnicity`) REFERENCES `Ethnicity` (`Ethnicity`) ON DELETE CASCADE ON UPDATE CASCADE;
所以基本上疾病(名稱,年齡,說明, 性別,種族)性別和種族是兩個性別和種族表的外鍵,因爲它們可以具有多個價值。
我們的問題,我需要添加另一列稱爲症狀,這將是多值的,但我不能聲明爲外鍵,我需要的是這樣的:一排
例如
Disease(Name="DiseaseName",Age="40",Description="is caused by...",Sex="male",Ethnicity="Caucasian",Symptoms"Headache,sorethroat,fever")
所以基本上我需要症狀來包含一個字符串的數組,但顯然我不能這樣做,因爲它的RDBMS
謝謝大家的時間和精力!
是的,我實際上已經實施了其他兩列性別和種族你說的方式,問題是,他們不解決我的需要。有沒有其他解決方法? – rosa
@羅莎:那麼,恩呢怎麼樣? –
其實只是通過性的枚舉:),它的作品謝謝!但是對於原來的問題,它不會起作用,因爲使用枚舉可以爲每個記錄存儲一個值 – rosa