|
|
|
Общая таблица
|
|||
|---|---|---|---|
|
#18+
Есть объект типа О1. Объекты типа О2 ссылаются на объекты типа О1. Объекты типа О3 ссылаются на объекты типа О2. И так далее, типов не очень много, штук 6-7. Объекты всех типов имеют ряд общих свойств. Так вот, я эти общие свойства вынес в отдельную таблицу. Вопрос - стоило ли? И как в этом случае строить иерархию объектов - по общей таблице, по отдельным таблицам для объектов или одновременно и так и так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2008, 12:55:13 |
|
||
|
Общая таблица
|
|||
|---|---|---|---|
|
#18+
Мало чего понял... Наводящие вопросы: 1) _mashuta_, ты уверена, что больше объектов не будет? 2) А не дерево ли получается? 3) А много ли специфических параметров у объектов? 4) На какой СУБД работаем? Уже устал повторять: хотите ответа - ставьте конкретнее вопрос. Потрепаться на общие темы - welcome на соответствующие сайты и форумы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2008, 14:59:41 |
|
||
|
Общая таблица
|
|||
|---|---|---|---|
|
#18+
+1 Машута, лучше описать задачу человеческим языком, а не непонятно какими абстракциями. Для разных вариантов "объектов" - решение будет разное. Кроме этого - некисло было бы предоставить имеющуюся схему данных, чтобы было что обсуждать. Может оказаться, что все можно уложить в 2-3 таблицы и жить долго и счастливо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2008, 15:44:33 |
|
||
|
Общая таблица
|
|||
|---|---|---|---|
|
#18+
KOT MATPOCKuHМало чего понял... Наводящие вопросы: 1) _mashuta_, ты уверена, что больше объектов не будет? 2) А не дерево ли получается? 3) А много ли специфических параметров у объектов? 4) На какой СУБД работаем? Уже устал повторять: хотите ответа - ставьте конкретнее вопрос. Потрепаться на общие темы - welcome на соответствующие сайты и форумы 1) Будут объекты, но это основные, вокруг них все крутится 2) Конечно, дерево 3) Довольно много 4) Оракл Объекты такие MSC BSC BTS Cabinet ... Отношение верхнего объекта к нижнему - один ко многим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2008, 06:33:49 |
|
||
|
Общая таблица
|
|||
|---|---|---|---|
|
#18+
Вариантов, как обычно, несколько... Один из вариантов, которые я бы выбрал: таблица объектов: object_id - Идентификатор объекта object_type - Тип объекта (MSC, BSC, BTS, Cabinet, ...) parent_id - Родитель (NULL для корня) <общие параметры> и таблицы спец.параметров: таблица параметров объектов типа MSC: param_MSC_id - Идентификатор параметров объекта object_id - Идентификатор объекта (FK) <спец.параметры MSC> С иерархией проблем быть не должно. Общее вместе, а специфика - в специфичном. Для получения специфичных параметров можно реализовать ряд функций (тормознуто немного будет, но стандартно) Другой вариант - если специфичных параметров в объектах не очень много (ИМХО до 50), то можно ВСЕ сложить в одну таблицу. Конечно она будет слабонаполненная, но не будет заморочек с получением специфических параметров, например, родителя (заранее не знаешь какого он типа). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2008, 08:54:54 |
|
||
|
Общая таблица
|
|||
|---|---|---|---|
|
#18+
KOT MATPOCKuHВариантов, как обычно, несколько... Другой вариант - если специфичных параметров в объектах не очень много (ИМХО до 50), то можно ВСЕ сложить в одну таблицу. Конечно она будет слабонаполненная, но не будет заморочек с получением специфических параметров, например, родителя (заранее не знаешь какого он типа). Я вот тоже стал склоняться ко 2-му варианту. Ну и пусть она слабонаполненная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2008, 10:23:35 |
|
||
|
Общая таблица
|
|||
|---|---|---|---|
|
#18+
конечно, нормализуем базу: o1 (o1_id .... o1 fields... common_properties_table_id) o2 (o2_id .... o2 fields ... common_properties_table_id могут быть ссылки на o1) и т. д. common_properties_table (common_properties_table_id common_property_1 common_property_2 ....) иерархия - по основным таблицам с join таблиц properties Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2008, 14:52:05 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=35637948&tid=1543588]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
200ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 518ms |

| 0 / 0 |
