リゾートデータベースとバックエンドを作成しています。
このバックエンドにより、管理者は新しいリゾートを作成し、リゾートに含まれる設備を指定できます。
アメニティ : テニスコート、プールなど
簡単ですね。私が直面している問題は、各アメニティに [近く] または [場所] という属性が必要なことです。
私が考えている方法は次のとおりです。
CREATE TABLE IF NOT EXISTS `amenity_resort_assn` (
`amenities_id` int(10) unsigned NOT NULL,
`resorts_id` int(10) unsigned NOT NULL,
PRIMARY KEY (`amenities_id`,`resorts_id`),
KEY `IDX_amenityresortassn_1` (`amenities_id`),
KEY `IDX_amenityresortassn_2` (`resorts_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `resorts` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(100) NOT NULL,
PRIMARY KEY (`id`),
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT ;
CREATE TABLE IF NOT EXISTS `amenities` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(100) NOT NULL,
`amenities_onsite_id` int(10) unsigned NOT NULL,
PRIMARY KEY (`id`),
KEY `IDX_amenities_1` (`amenities_onsite_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT ;
CREATE TABLE IF NOT EXISTS `onsite_type` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(100) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `IDX_amenitiesonsitetype_1` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT;