|
|
|
Нужна критика к спроектированной структуре БД
|
|||
|---|---|---|---|
|
#18+
Пояснения к рисунку. 1. Кабельная линия состоит из сегментов и соединяющих их муфт. 2. N принадлежит множеству натуральных чисел. Задача. Нужно хранить информацию о структуре КЛ в БД ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2006, 12:01 |
|
||
|
Нужна критика к спроектированной структуре БД
|
|||
|---|---|---|---|
|
#18+
рисунок: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2006, 12:01 |
|
||
|
Нужна критика к спроектированной структуре БД
|
|||
|---|---|---|---|
|
#18+
Предполагаемое решение. Пояснения: CL - кабельная линия CLOrder - порядок сегментов в КЛ CLS - сегмент кабельной линии Muff - муфта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2006, 12:03 |
|
||
|
Нужна критика к спроектированной структуре БД
|
|||
|---|---|---|---|
|
#18+
Что-то мне подсказывает, что это не идеальный вариант... Покритикуйте конструктивно, пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2006, 12:04 |
|
||
|
Нужна критика к спроектированной структуре БД
|
|||
|---|---|---|---|
|
#18+
А что вы хотите в результате получить?... Какими запросами вы эти таблицы нагружать будите? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2006, 12:10 |
|
||
|
Нужна критика к спроектированной структуре БД
|
|||
|---|---|---|---|
|
#18+
это газопровод в Европу мимо Украины? ______________________________________________ Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2006, 12:11 |
|
||
|
Нужна критика к спроектированной структуре БД
|
|||
|---|---|---|---|
|
#18+
Я начал бы с такой структуры ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2006, 13:11 |
|
||
|
Нужна критика к спроектированной структуре БД
|
|||
|---|---|---|---|
|
#18+
Petro123это газопровод в Европу мимо Украины? газ качают по трубам, по кабелям качают электричество по существу, предложил бы рассматривать задачу как классический пример описания иерархической структуры - набора мест-муфт объединенных кабелями... узлы и дуги... зы а что - из одной муфты два кабеля не бывает? как ветвятся электросети? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2006, 13:58 |
|
||
|
Нужна критика к спроектированной структуре БД
|
|||
|---|---|---|---|
|
#18+
BULK INSERT а что - из одной муфты два кабеля не бывает? простите - сработал стереотип - имелось в виду "больше двух кабелей" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2006, 13:59 |
|
||
|
Нужна критика к спроектированной структуре БД
|
|||
|---|---|---|---|
|
#18+
gardenmanА что вы хотите в результате получить?... Какими запросами вы эти таблицы нагружать будите? 1. Сохранять КЛ со всей ее структурой в БД 2. Загружать КЛ из БД. :) 3. Ну и всякая статистика, типа, кол-во муфт на кабелях по типам и др... Собвственно, если уточнить мой изначальный вопрос, то он прозвучит следующим образом: позволяет ли предложенная мной схема БД хранить структуру КЛ, не упустил ли что-нибудь важное? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2006, 14:25 |
|
||
|
Нужна критика к спроектированной структуре БД
|
|||
|---|---|---|---|
|
#18+
goodron Собвственно, если уточнить мой изначальный вопрос, то он прозвучит следующим образом: позволяет ли предложенная мной схема БД хранить структуру КЛ, не упустил ли что-нибудь важное? И еще: оптимальный ли это вариант, или есть более подходящие методы? Например, метод предложенный !!!. Чем он хуже/лучше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2006, 14:28 |
|
||
|
Нужна критика к спроектированной структуре БД
|
|||
|---|---|---|---|
|
#18+
Без требований вариантов можно нафантазировать много. Начните с простого: ЭлементЛинии ------------ ЭлементИД ЭлементТип ОтносительныйНомер КабельнаяЛинияИД <Общие атрибуты обоих типов> <Атрибуты тип Муфта> <Атрибуты тип Сегмент> и сформулируйте требования в виде 'чем это плохо для этой задачи?' например - 1)часто вставляются куски линии из многих элементов - сложно поддерживать ОтносительныйНомер. 2)нужно обеспечить контроль порядка типов: - линия начинается и кончается муфтой, ( 2 !!! Если это так, то ссылки инвертируются) - ... n)Состав линии в данный момент может изменять много/только одна сессия. Если только одна то это многое упрощает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2006, 18:02 |
|
||
|
Нужна критика к спроектированной структуре БД
|
|||
|---|---|---|---|
|
#18+
ModelR 2)нужно обеспечить контроль порядка типов: - линия начинается и кончается муфтой, ( 2 !!! Если это так, то ссылки инвертируются) Да, сегмент начинается и кончается муфтой, поэтому внешние ключи на муфты (idMuffS и idMuffF) я рассположил в таблице CLS. В варианте предложенном "!!!" для таблицы "Муфта" для первой и последней муфты поля Код сегмента левого и Код сегмента правого должны быть NULL, что уже не есть гут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2006, 16:11 |
|
||
|
Нужна критика к спроектированной структуре БД
|
|||
|---|---|---|---|
|
#18+
goodronКод сегмента левого и Код сегмента правого должны быть NULL, что уже не есть гут. И чем же это не есть гуд? goodronНужно хранить информацию о структуре КЛ в БД Структура хранения завязывается еще и на операции с этими данными; хранить "абстрактно" - не лучшая идея. А вообще - есть одна хорошая программистская сказка. Жила-была на свете некая железнодорожная компания, и был у нее президент. И однажды сказал президент своим подчиненным: "А зачем нам в каждом вагоне каждого пассажирского поезда туалеты? Давайте оставим туалеты только в половине вагонов, а на оставшихся сэкономим". Быстро сказка сказывается, недолго и дело делается; тут отпилили, там привинтили, сделали новые вагоны, стали считать экономию, и тут посыпались жалобы: оказалось, что комплектуя составы, некоторые посылают в путь даже и вовсе без туалетов. Осерчал президент, и дал категорическое распоряжение: рассчитывать, учитывать, и в каждом поезде чтобы половина вагонов была с туалетами. Подчиненные - делать нечего - стали считать туалеты. Но не прекратились жалобы - теперь выяснилось, что все вагоны с туалетами могут оказаться в одном конце поезда, и пассажиры из другого конца состава носятся туда-сюда по коридору, на ходу выстраиваясь в очередь. Огорчился президент, и велел: цеплять вагоны так, чтобы вагон с туалетом шел за вагоном без туалета и наоборот. Сцепщики на стациях сплюнули в сердцах, высказали все что думают по поводу нового геморроя, и - делать нечего - пошли работать. И только, казалось, все стало налаживаться - новая беда: оказалось, что как ни цепляй вагоды по очереди, а если пассажир не знает, где ближайших туалет, то в худшем случае ему придется пройти три вагона, прежде чем он найдет нужное. Эту проблему решили, казалось, легко - внутри вагонов нарисовали красивые стрелочки, показывающие направление к ближайшему туалету, но и тут вышла незадача - оказалось, что в вагонах без туалета стрелки в половине случаев указывают не на ближайший туалет, а ровно даже наоборот, и пассажиры от такого сервиса просто звереют. Совсем пригорюнился президент и сказал, уже ни на что не надеясь - нарисуйте, что ли, снаружи на вагонах стрелочки в правильном направлении, и пусть вагоны сцепляют так, чтобы все стрелочки смотрели в одну сторону - но тут сцепщики сказали, что они уже сыты по горло и если им придется еще и стрелочки выравнивать, они потребуют повышения зарплаты, а то и устроят забастовку. И, казалось, совсем уже пришел железнодорожной компании ценный зверь с голубым мехом, когда один молодой сотрудник вдруг сказал: "А что если мы разобьем все вагоны на пары, сцепим каждую пару так, чтобы туалет оказался посередине, и никогда больше не будем эти пары расцеплять?". Мораль: о структуре объектов, удобной для последующего манипулирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2006, 20:31 |
|
||
|
Нужна критика к спроектированной структуре БД
|
|||
|---|---|---|---|
|
#18+
softwarer goodronНужно хранить информацию о структуре КЛ в БД Структура хранения завязывается еще и на операции с этими данными; хранить "абстрактно" - не лучшая идея. А вообще - есть одна хорошая программистская сказка. Спасибо, сказка действительно интересная! :) Итак, варианты использования КЛ: 1. Создать КЛ. При создании КЛ автоматически создается один сегмент с начальной и конечной муфтой 2. Добавить сегмент в конец. Автоматически добавляется муфта. Добавленная муфта становится конечной. Стартовой муфтой для добавленного сегмента автоматически становится муфта, предыдущего сегмента. 3. Добавить сегмент в указанное место (между двумя сегментами). С сегментом добавляется муфта (стартовая), а муфта последующего становится автоматически для добавленного сегмента конечной. 4. Удалить указанный сегмент. Автоматически удаляется одна из муфт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2006, 14:05 |
|
||
|
Нужна критика к спроектированной структуре БД
|
|||
|---|---|---|---|
|
#18+
Ну и вполне можно действовать строго по сказке. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2006, 16:31 |
|
||
|
Нужна критика к спроектированной структуре БД
|
|||
|---|---|---|---|
|
#18+
softwarerНу и вполне можно действовать строго по сказке. Лихо! Со всем разобрался, кроме вьюхи, ибо не знаю, что есть lead, over & partition by. Схема получается совсем простой: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2006, 16:52 |
|
||
|
Нужна критика к спроектированной структуре БД
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2006, 16:53 |
|
||
|
Нужна критика к спроектированной структуре БД
|
|||
|---|---|---|---|
|
#18+
goodronСхема получается совсем простой: Простота здесь обладает одним важным достоинством: контроль целостности максимально прост. Достаточно контролировать условие "все муфты, кроме последней, имеют привязанный сегмент", что делается одним простым запросом, в то время как в более накрученных - и следовательно более избыточных по данным схемах - потребовались бы проверки на отсутствие циклов, развилок и разрывов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2006, 22:07 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=135&tid=1545139]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
320ms |
get topic data: |
14ms |
get forum data: |
4ms |
get page messages: |
121ms |
get tp. blocked users: |
2ms |
| others: | 235ms |
| total: | 735ms |

| 0 / 0 |
