Моделирование данных MySQL - PullRequest
1 голос
/ 05 ноября 2008

У меня есть текущая проблема с данными, которые я должен представить в базе данных MySQL:

Я должен поддерживать различные виды продуктов с разными данными, например, автомобили, гостиничные номера, книги и т. Д. Для моего приложения есть некоторые данные, которые являются общими для каждого продукта, такие как название, описание, цена, и т.д.

Поэтому я думаю о наличии таблицы продуктов с общими данными, с автомобилями, гостиничными номерами, книгами и любыми другими таблицами, ссылающимися на эту таблицу продуктов в соотношении 1: 1.

Проблема в том, что таблица продукта является главной таблицей, поэтому я могу запросить таблицу продукта и автоматически получить дополнительные данные с этими запросами, чтобы сделать приложение более «универсальным».

Есть идеи, как этого достичь? У меня есть несколько идей, но я не думаю, что это лучший способ сделать это, и я не хочу идти на грязные хаки, когда эта проблема может быть более распространенной, чем я думаю.

Использование: PHP + Zend Framework + MySQL.

Ответы [ 2 ]

2 голосов
/ 05 ноября 2008
0 голосов
/ 05 ноября 2008

Имейте базовый объект, затем используйте полиморфизм, чтобы создать подкласс этого базового объекта. Базовый объект хранит все общие данные (в 1 таблице). Тогда каждый подкласс имеет свои уникальные свойства и отправляет их из отдельной таблицы ключей в базовую таблицу. Сделать подклассы способными загружать как общие данные из их родительского объекта, так и загружать их уникальные / отличные данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...