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