Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
17.10.2017, 13:35
|
|||
---|---|---|---|
|
|||
Спроектировать связи объектов |
|||
#18+
Есть некие объекты, нужно спроектировать их связи. В зависимости от типа связи для объектов потребуется указать дополнительные свойства. Также, объект А всегда присутствует в системе, а объект В может отсутствовать, вместо его ID нужно будет указать ряд свойств. Или все это поместить в одну таблицу, или для дополнительных свойств для каждого типа связи создавать подчиненные таблицы? Или как-то еще? Как правильно? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.10.2017, 13:44
|
|||
---|---|---|---|
|
|||
Спроектировать связи объектов |
|||
#18+
Entity-Relation Model. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.10.2017, 13:59
|
|||
---|---|---|---|
|
|||
Спроектировать связи объектов |
|||
#18+
Объекты, с некоторой натяжкой, можно считать однотипными. Связи всегда 1:1. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.10.2017, 14:15
|
|||
---|---|---|---|
|
|||
Спроектировать связи объектов |
|||
#18+
_mashuta__Есть некие объекты, нужно спроектировать их связи. В зависимости от типа связи для объектов потребуется указать дополнительные свойства. Также, объект А всегда присутствует в системе, а объект В может отсутствовать, вместо его ID нужно будет указать ряд свойств. Или все это поместить в одну таблицу, или для дополнительных свойств для каждого типа связи создавать подчиненные таблицы? Или как-то еще? Как правильно? Можно и так, можно и этак. Если у Вас число доп.свойств, размер записи и т.п. точно не упрутся в ограничения СУБД - можно хранить в одной таблице, если не факт - соответственно надежнее сразу создавать подчиненные таблицы. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.10.2017, 15:22
|
|||
---|---|---|---|
Спроектировать связи объектов |
|||
#18+
_mashuta__Есть некие объекты, нужно спроектировать их связи. В зависимости от типа связи для объектов потребуется указать дополнительные свойства. Или все это поместить в одну таблицу, или для дополнительных свойств для каждого типа связи создавать подчиненные таблицы? Ну, как минимум три таблицы надо, объекты, связи объектов, и свойства связей объектов. Это без метаданных, которых ещё должно быть три-четыре, классы, типы связей, типы свойств, возможно, словари значений свойств. авторТакже, объект А всегда присутствует в системе, а объект В может отсутствовать, вместо его ID нужно будет указать ряд свойств. Эт бред какой-то. Если A есть, а B нету, то просто нету связи... Если нужны в таком случае свойства объекту A, то это не свойства связи объекта А, а свойства самого объекта A ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.10.2017, 15:57
|
|||
---|---|---|---|
|
|||
Спроектировать связи объектов |
|||
#18+
Эт бред какой-то. Если A есть, а B нету, то просто нету связи... Если нужны в таком случае свойства объекту A, то это не свойства связи объекта А, а свойства самого объекта A Объект В есть в реале, но его нет в системе. Возможно, он будет заведен позже, возможно нет. Но отметить это связью нужно. Например, объект "человек N" есть в системе, а человека M нет, поэтому пока укажем в доп.свойствах имя, фамилию, номер паспорта. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.10.2017, 16:53
|
|||
---|---|---|---|
|
|||
Спроектировать связи объектов |
|||
#18+
_mashuta__Связи всегда 1:1. Это уже подозрительно, поскольку такое решение нельзя оправдать третьей НФ. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.10.2017, 16:58
|
|||
---|---|---|---|
|
|||
Спроектировать связи объектов |
|||
#18+
_mashuta__Например, объект "человек N" есть в системе, а человека M нет, поэтому пока укажем в доп.свойствах имя, фамилию, номер паспорта. Тогда человек М (как объект) в системе все же есть. Просто информация по нему неполная. Можно сделать признак, что она настолько неполная, что будут какие-то ограничения по его использованию, как будто с каких-то точек зрения его как-бы нет. Но это уже бизнес-лирика. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.10.2017, 17:15
|
|||
---|---|---|---|
|
|||
Спроектировать связи объектов |
|||
#18+
Cane Cat Fisher_mashuta__Например, объект "человек N" есть в системе, а человека M нет, поэтому пока укажем в доп.свойствах имя, фамилию, номер паспорта. Тогда человек М (как объект) в системе все же есть. Просто информация по нему неполная. Она может быть настолько неполна, что будут проблемы с ключами. Вот, скажем, у Вас есть только имя и фамилия - Иван Кузнецов. Вы предлагаете завести псевдообъект "Иван Кузнецов"? А что будем делать, когда в другом случае будет указано "Иван Кузнецов" - заводить нового "Кузнецова"? привязывать к текущему? Решение ТС-а не заводить псевдообъектов, а писать текстовые данные в случае сомнительной/неполной информации - вполне рабочее и зачастую предпочтительное ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.10.2017, 09:14
|
|||
---|---|---|---|
|
|||
Спроектировать связи объектов |
|||
#18+
Кот МатроскинОна может быть настолько неполна, что будут проблемы с ключами. Вот, скажем, у Вас есть только имя и фамилия - Иван Кузнецов. Вы предлагаете завести псевдообъект "Иван Кузнецов"? А что будем делать, когда в другом случае будет указано "Иван Кузнецов" - заводить нового "Кузнецова"? привязывать к текущему? Во всяком случае в этом месте будет возможность выбора. Кот МатроскинРешение ТС-а не заводить псевдообъектов, а писать текстовые данные в случае сомнительной/неполной информации - вполне рабочее и зачастую предпочтительное Да ведь текстовых данных ему недостаточно, он хочет "ряд свойств", то есть, как я понимаю, заполненных полей, связанных записей-деталей, и прочего, что присуще полноценному объекту. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.10.2017, 10:42
|
|||
---|---|---|---|
|
|||
Спроектировать связи объектов |
|||
#18+
Cane Cat FisherКот МатроскинОна может быть настолько неполна, что будут проблемы с ключами. Вот, скажем, у Вас есть только имя и фамилия - Иван Кузнецов. Вы предлагаете завести псевдообъект "Иван Кузнецов"? А что будем делать, когда в другом случае будет указано "Иван Кузнецов" - заводить нового "Кузнецова"? привязывать к текущему? Во всяком случае в этом месте будет возможность выбора. Ну т.е. надо будет писать вполне бессмысленную логику и заполнять базу в общем случае мусором. Ничего хорошего в этом не вижу :) Cane Cat FisherКот МатроскинРешение ТС-а не заводить псевдообъектов, а писать текстовые данные в случае сомнительной/неполной информации - вполне рабочее и зачастую предпочтительное Да ведь текстовых данных ему недостаточно, он хочет "ряд свойств", то есть, как я понимаю, заполненных полей, связанных записей-деталей, и прочего, что присуще полноценному объекту. Как я понял, он(а) хочет ряд свойств у другого обьекта. Пример - у нас есть полноценный объект "Маша Кузнецова", и нам надо хранить данные о ее супруге. Если супруг Иван Кузнецов заведен в систему - прекрасно, ставим между объектами "Иван Кузнецов" и "Маша Кузнецова" связь вида "супруги". Если Иван Кузнецов в систему не заведен - ставим у объекта "Маша Кузнецова" свойство "Имя супруга" равным "Иван", "Фамилия супруга" - "Кузнецов". Имхо это куда лучше, чем заводить псевдообъект "Иван Кузнецов", в куче мест учитывать, что объект фиктивный, в агрегациях вида "сколько человек заведено у нас в систему?" учитывать его не нужно, в поиске показывать не нужно, и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.10.2017, 19:03
|
|||
---|---|---|---|
Спроектировать связи объектов |
|||
#18+
Вся беда в том, что чаще всего ТС -ы предлагают обсудить своё видение какой-то проблемы, а не саму реальную проблему, закинут как пример Васю с Петей и народ начинает голову ломать... думаю реальное ТЗ гораздо проще и прозаичнее.... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.10.2017, 05:31
|
|||
---|---|---|---|
Спроектировать связи объектов |
|||
#18+
Dimitry Sibiryakov_mashuta__Связи всегда 1:1. Это уже подозрительно, поскольку такое решение нельзя оправдать третьей НФ. да там связи все многие компании многим, это ему кажется, что 1:1 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.10.2017, 05:34
|
|||
---|---|---|---|
Спроектировать связи объектов |
|||
#18+
vmagВся беда в том, что чаще всего ТС -ы предлагают обсудить своё видение какой-то проблемы, а не саму реальную проблему, закинут как пример Васю с Петей и народ начинает голову ломать... думаю реальное ТЗ гораздо проще и прозаичнее.... да, xy-problem ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=32&tablet=1&tid=1540120]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
66ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 228ms |
total: | 400ms |
0 / 0 |