как правильно построить базу данных
Мне необходимо построить базу данных, где в одной из таблиц находятся элементы с разным числом свойств, но относящиеся к одному классу( как например модели сотовых телефонов). Подскажите, пожалуйста, как правильно организовать такую базу данных.
например - создать отдельные таблицы для моделей телефонов, имеющих одинаковый набор свойств (телефоны одной марки).
Это как один вариант. Но все зависит от задачи - что нужно, какая степень детализации и пр. Может имеет смысл просто сделать одну таблицу и не париться.
Цитата: squirL
например - создать отдельные таблицы для моделей телефонов, имеющих одинаковый набор свойств (телефоны одной марки).
Как то не рационально получается!
Проще сделать одну таблицу с количеством столбцов равным количеству свойств.
Цитата: kot_
правильно - это только в школе можно что либо сделать. БД строиться под задачу. Если разное число свойств - заначит создаеться таблица-спарвочник где храниться идентификатор объекта, и другие общие х-ки - типа производитель, модель, серийный номер. Создаеться таблица-справочник типов свойств - где храниться уникальный идентификатор свойства и его названия. И таблица собственно где эти свойства храняться. Выборка производиться из таблицы телефонов с использованием LEFT OUTER JOIN.
Это как один вариант. Но все зависит от задачи - что нужно, какая степень детализации и пр. Может имеет смысл просто сделать одну таблицу и не париться.
Это как один вариант. Но все зависит от задачи - что нужно, какая степень детализации и пр. Может имеет смысл просто сделать одну таблицу и не париться.
Согласен!
Спасибо, начинает проясняться. Однако одна таблица мне не подойдет ( сам сначала так хотел), слишком большое количество свойств... так как много видов продукции с пересекающимися свойствами. Думаю лучше будет сделать несколько таблиц со свойствами отдельных видов продукции, и таблицы которые содержат все свойства и все виды продукции отдельно.