powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Спроектировать связи объектов
14 сообщений из 14, страница 1 из 1
Спроектировать связи объектов
    #39537473
_mashuta__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть некие объекты, нужно спроектировать их связи.
В зависимости от типа связи для объектов потребуется указать дополнительные свойства. Также, объект А всегда присутствует в системе, а объект В может отсутствовать, вместо его ID нужно будет указать ряд свойств.

Или все это поместить в одну таблицу, или для дополнительных свойств для каждого типа связи создавать подчиненные таблицы?
Или как-то еще?
Как правильно?
...
Рейтинг: 0 / 0
Спроектировать связи объектов
    #39537479
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Entity-Relation Model.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Спроектировать связи объектов
    #39537489
_mashuta__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Объекты, с некоторой натяжкой, можно считать однотипными.
Связи всегда 1:1.
...
Рейтинг: 0 / 0
Спроектировать связи объектов
    #39537499
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_mashuta__Есть некие объекты, нужно спроектировать их связи.
В зависимости от типа связи для объектов потребуется указать дополнительные свойства. Также, объект А всегда присутствует в системе, а объект В может отсутствовать, вместо его ID нужно будет указать ряд свойств.

Или все это поместить в одну таблицу, или для дополнительных свойств для каждого типа связи создавать подчиненные таблицы?
Или как-то еще?
Как правильно?
Можно и так, можно и этак.
Если у Вас число доп.свойств, размер записи и т.п. точно не упрутся в ограничения СУБД - можно хранить в одной таблице, если не факт - соответственно надежнее сразу создавать подчиненные таблицы.
...
Рейтинг: 0 / 0
Спроектировать связи объектов
    #39537557
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_mashuta__Есть некие объекты, нужно спроектировать их связи.
В зависимости от типа связи для объектов потребуется указать дополнительные свойства.

Или все это поместить в одну таблицу, или для дополнительных свойств для каждого типа связи создавать подчиненные таблицы?


Ну, как минимум три таблицы надо, объекты, связи объектов, и свойства связей объектов. Это без метаданных, которых ещё должно быть три-четыре, классы, типы связей, типы свойств, возможно, словари значений свойств.

авторТакже, объект А всегда присутствует в системе, а объект В может отсутствовать, вместо его ID нужно будет указать ряд свойств.


Эт бред какой-то. Если A есть, а B нету, то просто нету связи...
Если нужны в таком случае свойства объекту A, то это не свойства связи объекта А, а свойства самого объекта A
...
Рейтинг: 0 / 0
Спроектировать связи объектов
    #39537590
_mashuta__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Эт бред какой-то. Если A есть, а B нету, то просто нету связи...
Если нужны в таком случае свойства объекту A, то это не свойства связи объекта А, а свойства самого объекта A

Объект В есть в реале, но его нет в системе. Возможно, он будет заведен позже, возможно нет.
Но отметить это связью нужно.
Например, объект "человек N" есть в системе, а человека M нет, поэтому пока укажем в доп.свойствах имя, фамилию, номер паспорта.
...
Рейтинг: 0 / 0
Спроектировать связи объектов
    #39537625
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_mashuta__Связи всегда 1:1.

Это уже подозрительно, поскольку такое решение нельзя оправдать третьей НФ.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Спроектировать связи объектов
    #39537630
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_mashuta__Например, объект "человек N" есть в системе, а человека M нет, поэтому пока укажем в доп.свойствах имя, фамилию, номер паспорта.

Тогда человек М (как объект) в системе все же есть. Просто информация по нему неполная.

Можно сделать признак, что она настолько неполная, что будут какие-то ограничения по его использованию, как будто с каких-то точек зрения его как-бы нет. Но это уже бизнес-лирика.
...
Рейтинг: 0 / 0
Спроектировать связи объектов
    #39537641
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cane Cat Fisher_mashuta__Например, объект "человек N" есть в системе, а человека M нет, поэтому пока укажем в доп.свойствах имя, фамилию, номер паспорта.

Тогда человек М (как объект) в системе все же есть. Просто информация по нему неполная.

Она может быть настолько неполна, что будут проблемы с ключами.
Вот, скажем, у Вас есть только имя и фамилия - Иван Кузнецов. Вы предлагаете завести псевдообъект "Иван Кузнецов"? А что будем делать, когда в другом случае будет указано "Иван Кузнецов" - заводить нового "Кузнецова"? привязывать к текущему?
Решение ТС-а не заводить псевдообъектов, а писать текстовые данные в случае сомнительной/неполной информации - вполне рабочее и зачастую предпочтительное
...
Рейтинг: 0 / 0
Спроектировать связи объектов
    #39537828
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинОна может быть настолько неполна, что будут проблемы с ключами.
Вот, скажем, у Вас есть только имя и фамилия - Иван Кузнецов. Вы предлагаете завести псевдообъект "Иван Кузнецов"? А что будем делать, когда в другом случае будет указано "Иван Кузнецов" - заводить нового "Кузнецова"? привязывать к текущему?

Во всяком случае в этом месте будет возможность выбора.

Кот МатроскинРешение ТС-а не заводить псевдообъектов, а писать текстовые данные в случае сомнительной/неполной информации - вполне рабочее и зачастую предпочтительное

Да ведь текстовых данных ему недостаточно, он хочет "ряд свойств", то есть, как я понимаю, заполненных полей, связанных записей-деталей, и прочего, что присуще полноценному объекту.
...
Рейтинг: 0 / 0
Спроектировать связи объектов
    #39537892
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cane Cat FisherКот МатроскинОна может быть настолько неполна, что будут проблемы с ключами.
Вот, скажем, у Вас есть только имя и фамилия - Иван Кузнецов. Вы предлагаете завести псевдообъект "Иван Кузнецов"? А что будем делать, когда в другом случае будет указано "Иван Кузнецов" - заводить нового "Кузнецова"? привязывать к текущему?

Во всяком случае в этом месте будет возможность выбора.

Ну т.е. надо будет писать вполне бессмысленную логику и заполнять базу в общем случае мусором. Ничего хорошего в этом не вижу :)
Cane Cat FisherКот МатроскинРешение ТС-а не заводить псевдообъектов, а писать текстовые данные в случае сомнительной/неполной информации - вполне рабочее и зачастую предпочтительное

Да ведь текстовых данных ему недостаточно, он хочет "ряд свойств", то есть, как я понимаю, заполненных полей, связанных записей-деталей, и прочего, что присуще полноценному объекту.
Как я понял, он(а) хочет ряд свойств у другого обьекта. Пример - у нас есть полноценный объект "Маша Кузнецова", и нам надо хранить данные о ее супруге. Если супруг Иван Кузнецов заведен в систему - прекрасно, ставим между объектами "Иван Кузнецов" и "Маша Кузнецова" связь вида "супруги". Если Иван Кузнецов в систему не заведен - ставим у объекта "Маша Кузнецова" свойство "Имя супруга" равным "Иван", "Фамилия супруга" - "Кузнецов". Имхо это куда лучше, чем заводить псевдообъект "Иван Кузнецов", в куче мест учитывать, что объект фиктивный, в агрегациях вида "сколько человек заведено у нас в систему?" учитывать его не нужно, в поиске показывать не нужно, и т.п.
...
Рейтинг: 0 / 0
Спроектировать связи объектов
    #39538371
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вся беда в том, что чаще всего ТС -ы предлагают обсудить своё видение какой-то проблемы, а не саму реальную проблему, закинут как пример Васю с Петей и народ начинает голову ломать... думаю реальное ТЗ гораздо проще и прозаичнее....
...
Рейтинг: 0 / 0
Спроектировать связи объектов
    #39538457
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov_mashuta__Связи всегда 1:1.

Это уже подозрительно, поскольку такое решение нельзя оправдать третьей НФ.


да там связи все многие компании многим, это ему кажется, что 1:1
...
Рейтинг: 0 / 0
Спроектировать связи объектов
    #39538458
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmagВся беда в том, что чаще всего ТС -ы предлагают обсудить своё видение какой-то проблемы, а не саму реальную проблему, закинут как пример Васю с Петей и народ начинает голову ломать... думаю реальное ТЗ гораздо проще и прозаичнее....

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


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