В моей базе данных есть следующие две таблицы (индексирование не завершено, поскольку оно будет зависеть от того, какой движок я использую):
Таблица 1:
CREATE TABLE `primary_images` (
`imgId` smallint(6) unsigned NOT NULL AUTO_INCREMENT,
`imgTitle` varchar(255) DEFAULT NULL,
`view` varchar(45) DEFAULT NULL,
`secondary` enum('true','false') NOT NULL DEFAULT 'false',
`imgURL` varchar(255) DEFAULT NULL,
`imgWidth` smallint(6) DEFAULT NULL,
`imgHeight` smallint(6) DEFAULT NULL,
`imgDate` datetime DEFAULT NULL,
`imgClass` enum('jeans','t-shirts','shoes','dress_shirts') DEFAULT NULL,
`imgFamily` enum('boss','lacoste','tr') DEFAULT NULL,
`imgGender` enum('mens','womens') NOT NULL DEFAULT 'mens',
PRIMARY KEY (`imgId`),
UNIQUE KEY `imgDate` (`imgDate`)
)
Таблица 2:
CREATE TABLE `secondary_images` (
`imgId` smallint(6) unsigned NOT NULL AUTO_INCREMENT,
`primaryId` smallint(6) unsigned DEFAULT NULL,
`view` varchar(45) DEFAULT NULL,
`imgURL` varchar(255) DEFAULT NULL,
`imgWidth` smallint(6) DEFAULT NULL,
`imgHeight` smallint(6) DEFAULT NULL,
`imgDate` datetime DEFAULT NULL,
PRIMARY KEY (`imgId`),
UNIQUE KEY `imgDate` (`imgDate`)
)
Таблица 1 будет использоваться для создания галереи миниатюр со ссылками на увеличенные версии изображения. imgClass
, imgFamily
и imgGender
уточнят отображаемые эскизы.
Таблица 2 содержит изображения , связанные с изображениями в Таблице 1. Отсюда использование primaryId
для связи одного изображения в Таблице 1 с одним или несколькими изображениями в Таблице 2. Здесь я был подумываю об использовании способности внешнего ключа InnoDB, но я также знаком со способностью индексов в MyISAM делать то же самое.
Не углубляясь в оставшиеся поля, imgDate
используется для упорядочивания результатов.
И последнее, но не менее важное: я должен отметить, что эта база данных READ ONLY . Все данные будут введены мной. Мне сказали, что если база данных предназначена только для чтения, это должна быть MyISAM, но я надеюсь, что вы сможете пролить свет на то, что вы сделаете в моей ситуации.