| 
 | 
| 
 
Спроектировать связи объектов 
 | 
|||
|---|---|---|---|
| 
 #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=39537499&tid=1540120]:  | 
    0ms | 
get settings:  | 
    9ms | 
get forum list:  | 
    15ms | 
check forum access:  | 
    4ms | 
check topic access:  | 
    4ms | 
track hit:  | 
    56ms | 
get topic data:  | 
    10ms | 
get forum data:  | 
    3ms | 
get page messages:  | 
    48ms | 
get tp. blocked users:  | 
    1ms | 
| others: | 14ms | 
| total: | 164ms | 

| 0 / 0 | 
