Я застрял в сложной ситуации с дизайном БД 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")
Так что в основном мне нужно, чтобы Симптомы содержали String of Array, но, очевидно, я не могу это сделать, так как это СУРБД
Спасибо всем за ваше время и усилия!