Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Ссылка таблицы на себя или сделать цепочку? / 24 сообщений из 24, страница 1 из 1
30.05.2016, 09:03
    #39245872
may7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ссылка таблицы на себя или сделать цепочку?
Каждая воинская часть состоит из рот, роты из взводов, взводы из отделений, в свою очередь воинские части объединяются в дивизии, корпуса или бригады, а те в армии.
Если создавать цепочку, то получается слишком громоздкая и неудобная диаграмма.
Подскажите, как можно реализовать такое условие?
...
Рейтинг: 0 / 0
30.05.2016, 09:05
    #39245874
Be or not to be...
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ссылка таблицы на себя или сделать цепочку?
Пока вы не написали ничего, чтобы вам ответили. Где реализовать, что значит реализовать в вашем понимании?
По существу - дерево обыкновенное, вроде не так много уровней
...
Рейтинг: 0 / 0
30.05.2016, 09:36
    #39245911
may7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ссылка таблицы на себя или сделать цепочку?
...
Рейтинг: 0 / 0
30.05.2016, 09:38
    #39245916
may7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ссылка таблицы на себя или сделать цепочку?
Be or not to be...,
Проблема в том, что к каждой таблице придется делать ссылку на военнослужащих. Получается очень громоздко.
...
Рейтинг: 0 / 0
30.05.2016, 09:57
    #39245951
Ссылка таблицы на себя или сделать цепочку?
а почему не 2 таблицы: список контейнеров и список людей. контейнеры замыкаются сами на себя ,а люди только на контейнеры ?
...
Рейтинг: 0 / 0
30.05.2016, 15:40
    #39246301
may7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ссылка таблицы на себя или сделать цепочку?
в порядке бреда_,

Вот так?
...
Рейтинг: 0 / 0
30.05.2016, 15:44
    #39246306
may7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ссылка таблицы на себя или сделать цепочку?
в порядке бреда_,
Не совсем понял, что такое контейнеры (видимо это как раз моя матрешка "воинская часть состоит из рот, роты из взводов, взводы из отделений"?)
Не понимаю принцип того, как это все записывается в таблице.
...
Рейтинг: 0 / 0
30.05.2016, 19:05
    #39246465
Теоретик
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ссылка таблицы на себя или сделать цепочку?
may7Каждая воинская часть состоит из рот, роты из взводов, взводы из отделений, в свою очередь воинские части объединяются в дивизии, корпуса или бригады, а те в армии.
Если создавать цепочку, то получается слишком громоздкая и неудобная диаграмма.
Подскажите, как можно реализовать такое условие?
На любом уровне связи может быть изменение в истории? Например, воинская часть была в одной дивизии, а со временем стала в другой?
Если да, то одна таблица типизированных объектов, другая таблица связей между объектами с атрибутами начала и конца связи. Если нет и нет свойств, которые должны быть только у определенных типов объектов, то Ссылка таблицы на себя или сделать цепочку?
P.S. Но в душЕ я за Ссылка таблицы на себя или сделать цепочку?
...
Рейтинг: 0 / 0
30.05.2016, 19:31
    #39246474
legg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ссылка таблицы на себя или сделать цепочку?
Теоретикmay7Каждая воинская часть состоит из рот, роты из взводов, взводы из отделений, в свою очередь воинские части объединяются в дивизии, корпуса или бригады, а те в армии.
Если создавать цепочку, то получается слишком громоздкая и неудобная диаграмма.
Подскажите, как можно реализовать такое условие?
На любом уровне связи может быть изменение в истории? Например, воинская часть была в одной дивизии, а со временем стала в другой?
Если да, то одна таблица типизированных объектов, другая таблица связей между объектами с атрибутами начала и конца связи. Если нет и нет свойств, которые должны быть только у определенных типов объектов, то Ссылка таблицы на себя или сделать цепочку?
P.S. Но в душЕ я за Ссылка таблицы на себя или сделать цепочку?
учитывая что у всех подразделений разного уровня атрибуты в основном совпадают все-таки лучше их в одну таблицу поместить имхо. и в дальнейшем работать проще будет, к чему новые сущности плодить без необходимости?
а если у каких-то подразделений есть отличительные атрибуты - я их в таблицу-расширение поместил бы.
т.е. ссылка сам на себя удобнее, имхо.
...
Рейтинг: 0 / 0
30.05.2016, 19:52
    #39246480
Теоретик
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ссылка таблицы на себя или сделать цепочку?
leggТеоретикпропущено...

На любом уровне связи может быть изменение в истории? Например, воинская часть была в одной дивизии, а со временем стала в другой?
Если да, то одна таблица типизированных объектов, другая таблица связей между объектами с атрибутами начала и конца связи. Если нет и нет свойств, которые должны быть только у определенных типов объектов, то Ссылка таблицы на себя или сделать цепочку?
P.S. Но в душЕ я за Ссылка таблицы на себя или сделать цепочку?
учитывая что у всех подразделений разного уровня атрибуты в основном совпадают все-таки лучше их в одну таблицу поместить имхо. и в дальнейшем работать проще будет, к чему новые сущности плодить без необходимости?
а если у каких-то подразделений есть отличительные атрибуты - я их в таблицу-расширение поместил бы.
т.е. ссылка сам на себя удобнее, имхо.
В этом случае, свойство - "учебная часть"(сегодня учебная, завтра боевая часть), можно будет привязать и к армии или выносить логический контроль на уровень выше...
...
Рейтинг: 0 / 0
31.05.2016, 02:14
    #39246632
Ссылка таблицы на себя или сделать цепочку?
may7Не совсем понял, что такое контейнеры (видимо это как раз моя матрешка "воинская часть состоит из рот, роты из взводов, взводы из отделений"?)
Не понимаю принцип того, как это все записывается в таблице.
у тебя в задаче всего 2 сущности: люди и орг. единицы (отделения, дивизии...)

В таблице людей делаешь поле в котором указывается принадлежность к орг. единице. В таблице контейнеров - поле указывающее на родительскую единицу из этой же таблицы.
...
Рейтинг: 0 / 0
31.05.2016, 09:05
    #39246709
may7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ссылка таблицы на себя или сделать цепочку?
в порядке бреда_,

Блин, все равно не понимаю, можете пожалуйста показать как это будет выглядеть на диаграмме?
...
Рейтинг: 0 / 0
31.05.2016, 11:30
    #39246915
--Eugene--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ссылка таблицы на себя или сделать цепочку?
в порядке бреда_всего 2 сущноститолько вот у орг единиц разных типов могут быть разные наборы атрибутов (чисто теоретически)
...
Рейтинг: 0 / 0
31.05.2016, 12:21
    #39247016
may7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ссылка таблицы на себя или сделать цепочку?
--Eugene--,

А как оно соединяется между собой? что является primary key, а что foreign key?
...
Рейтинг: 0 / 0
31.05.2016, 12:57
    #39247078
legg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ссылка таблицы на себя или сделать цепочку?
--Eugene--в порядке бреда_всего 2 сущноститолько вот у орг единиц разных типов могут быть разные наборы атрибутов (чисто теоретически)
по необходимости можно создавать таблицы -расширения, со ссылкой на основную, т.к. таких атрибутов равно будет немного по сравнению с общим набором.
или , если такие атрибуты совсем редки, одну общую таблицу-расширение + справочник допатрибутов. таблица расширение будет хранить ссылку на подразделение, ссылку на справочник допатрибутов, значение доп. атрибута. несколько неудобно, зато универсально, легко расширять атрибуты при необходимости, не меняя архитектуры.

лично я даже при большом количестве специфических атрибутов все равно создал бы одну корневую таблицу с общими атрибутами и иерархией+ таблицы-расширения.
...
Рейтинг: 0 / 0
31.05.2016, 13:14
    #39247108
--Eugene--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ссылка таблицы на себя или сделать цепочку?
leggлично я..вот именно это ТС и просит ему показать в качестве примера.
...
Рейтинг: 0 / 0
31.05.2016, 13:16
    #39247111
Теоретик
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ссылка таблицы на себя или сделать цепочку?
legg--Eugene--пропущено...
только вот у орг единиц разных типов могут быть разные наборы атрибутов (чисто теоретически)
по необходимости можно создавать таблицы -расширения, со ссылкой на основную, т.к. таких атрибутов равно будет немного по сравнению с общим набором.
или , если такие атрибуты совсем редки, одну общую таблицу-расширение + справочник допатрибутов. таблица расширение будет хранить ссылку на подразделение, ссылку на справочник допатрибутов, значение доп. атрибута. несколько неудобно, зато универсально, легко расширять атрибуты при необходимости, не меняя архитектуры.

лично я даже при большом количестве специфических атрибутов все равно создал бы одну корневую таблицу с общими атрибутами и иерархией+ таблицы-расширения.
Тебе привели простой пример, когда прикладной уровень выносится с того уровня где он должен быть... не понимаешь?
Взят простейший пример, твою универсальность в Опу...
...
Рейтинг: 0 / 0
31.05.2016, 13:27
    #39247135
legg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ссылка таблицы на себя или сделать цепочку?
Теоретик... не понимаешь?
Взят простейший пример, твою универсальность в Опу...
честно говоря - не очень. впрочем, я не настаиваю.
...
Рейтинг: 0 / 0
31.05.2016, 13:53
    #39247169
SQL*Plus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ссылка таблицы на себя или сделать цепочку?
Этой теме место на форуме "Проектирование БД"
Лучше бы её модераторам туда и перенести...
...
Рейтинг: 0 / 0
31.05.2016, 14:23
    #39247209
legg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ссылка таблицы на себя или сделать цепочку?
вопщим моя версия на диаграмме (упрощенная малость)
...
Рейтинг: 0 / 0
31.05.2016, 14:25
    #39247212
legg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ссылка таблицы на себя или сделать цепочку?
leggвопщим моя версия на диаграмме (упрощенная малость)
вотъ

Модератор: Тема перенесена из форума "Oracle".
...
Рейтинг: 0 / 0
31.05.2016, 14:54
    #39247251
Cane Cat Fisher
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ссылка таблицы на себя или сделать цепочку?
may7Каждая воинская часть состоит из рот, роты из взводов

Не совсем так. Из рот состоят батальоны, из батальонов полки.

А воинская часть - это понятие условное. Где-то один взвод правительственной связи может считаться отдельной в/ч, а где-то полк.

Еще в разных родах войск эти единицы называются по-разному, например у артиллеристов после взвода идет батарея-дивизион-бригада, не говоря уже о летчиках и моряках.

Кроме того, не все подразделения укладываются в прямую иерархию. Например, в дивизионе есть три батареи по четыре взвода, и есть еще один взвод, не входящий ни в какую батарею.

Так что в любом случае правильно, что отказались от жесткой иерархии в таблицах.
...
Рейтинг: 0 / 0
04.06.2016, 11:51
    #39250591
may7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ссылка таблицы на себя или сделать цепочку?
legg,

У меня в задании еще нужно получить цепочку подчиненности снизу доверху для указанного военнослужащего. Это можно по той же схеме сделать, как и в случае с типом армейской единицы?
...
Рейтинг: 0 / 0
04.06.2016, 12:13
    #39250601
may7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ссылка таблицы на себя или сделать цепочку?
legg,

т.е. военный округ представлен офицерским составом, сержантским и рядовым. Нам нужно сослаться на руководителей конкретного рядового, через туже самую рекурсию?
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Ссылка таблицы на себя или сделать цепочку? / 24 сообщений из 24, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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