powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Общая таблица
7 сообщений из 7, страница 1 из 1
Общая таблица
    #35637291
_mashuta_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть объект типа О1. Объекты типа О2 ссылаются на объекты типа О1.
Объекты типа О3 ссылаются на объекты типа О2. И так далее, типов не очень много, штук 6-7.
Объекты всех типов имеют ряд общих свойств.

Так вот, я эти общие свойства вынес в отдельную таблицу. Вопрос - стоило ли?
И как в этом случае строить иерархию объектов - по общей таблице, по отдельным таблицам для объектов или одновременно и так и так?
...
Рейтинг: 0 / 0
Общая таблица
    #35637771
KOT MATPOCKuH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мало чего понял...

Наводящие вопросы:
1) _mashuta_, ты уверена, что больше объектов не будет?
2) А не дерево ли получается?
3) А много ли специфических параметров у объектов?
4) На какой СУБД работаем?

Уже устал повторять: хотите ответа - ставьте конкретнее вопрос. Потрепаться на общие темы - welcome на соответствующие сайты и форумы
...
Рейтинг: 0 / 0
Общая таблица
    #35637948
Bely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
+1

Машута, лучше описать задачу человеческим языком, а не непонятно какими абстракциями.
Для разных вариантов "объектов" - решение будет разное.

Кроме этого - некисло было бы предоставить имеющуюся схему данных, чтобы было что обсуждать.
Может оказаться, что все можно уложить в 2-3 таблицы и жить долго и счастливо.
...
Рейтинг: 0 / 0
Общая таблица
    #35639001
_mashuta_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KOT MATPOCKuHМало чего понял...

Наводящие вопросы:
1) _mashuta_, ты уверена, что больше объектов не будет?
2) А не дерево ли получается?
3) А много ли специфических параметров у объектов?
4) На какой СУБД работаем?

Уже устал повторять: хотите ответа - ставьте конкретнее вопрос. Потрепаться на общие темы - welcome на соответствующие сайты и форумы

1) Будут объекты, но это основные, вокруг них все крутится
2) Конечно, дерево
3) Довольно много
4) Оракл

Объекты такие

MSC
BSC
BTS
Cabinet
...
Отношение верхнего объекта к нижнему - один ко многим
...
Рейтинг: 0 / 0
Общая таблица
    #35639097
KOT MATPOCKuH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вариантов, как обычно, несколько...

Один из вариантов, которые я бы выбрал:

таблица объектов:
object_id - Идентификатор объекта
object_type - Тип объекта (MSC, BSC, BTS, Cabinet, ...)
parent_id - Родитель (NULL для корня)
<общие параметры>

и таблицы спец.параметров:
таблица параметров объектов типа MSC:
param_MSC_id - Идентификатор параметров объекта
object_id - Идентификатор объекта (FK)
<спец.параметры MSC>

С иерархией проблем быть не должно. Общее вместе, а специфика - в специфичном. Для получения специфичных параметров можно реализовать ряд функций (тормознуто немного будет, но стандартно)

Другой вариант - если специфичных параметров в объектах не очень много (ИМХО до 50), то можно ВСЕ сложить в одну таблицу. Конечно она будет слабонаполненная, но не будет заморочек с получением специфических параметров, например, родителя (заранее не знаешь какого он типа).
...
Рейтинг: 0 / 0
Общая таблица
    #35639292
_mashuta_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KOT MATPOCKuHВариантов, как обычно, несколько...


Другой вариант - если специфичных параметров в объектах не очень много (ИМХО до 50), то можно ВСЕ сложить в одну таблицу. Конечно она будет слабонаполненная, но не будет заморочек с получением специфических параметров, например, родителя (заранее не знаешь какого он типа).

Я вот тоже стал склоняться ко 2-му варианту. Ну и пусть она слабонаполненная.
...
Рейтинг: 0 / 0
Общая таблица
    #35640251
Фотография Valentin Kotelnitski
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
конечно, нормализуем базу:

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
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Общая таблица
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]