Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
построение иерархических справочников
|
|||
|---|---|---|---|
|
#18+
проблема построения иерархической структуры(дерева) справочников товаров есть товары, группы, подгруппы и в принципе уровень вложености не ограничен товар может лежать на любом уровне вложенности, т.е. входить в группу, и не входить ни в одну из нижележащих. как грамотно построить базу, чтобы все товары лежали в одной таблице, и при этом сохранялась иерархия. если строить обычным образом группа-подгруппа-...-товар ограничевается вложенность, и товар попадает в таблицы с группами, подгруппами и т.д., т.е. номенклатура конечного товара бъётся на несколько таблиц. другое решение создается таблица вида Код: plaintext 1. 2. 3. 4. 5. 6. но тогда возникает вопрос об автообработке ID_group и построении иерархии. есть и третье решение две таблицы Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. пока до конца не обдумано. если есть у кого идеи, или кто уже нечто подобное реализовывал, поделитесь плз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2004, 15:09 |
|
||
|
построение иерархических справочников
|
|||
|---|---|---|---|
|
#18+
http://www.osp.ru/os/2004/02/062_print.htm для тебя смотри про деревья ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2004, 15:22 |
|
||
|
построение иерархических справочников
|
|||
|---|---|---|---|
|
#18+
Это будет справочник групп: ID Parent Name и спр товаров: ID Group_ID Name ну и т.д. Тут и думать нефига. Читай про деревья. так и только так правильно организовывать их! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 06:24 |
|
||
|
построение иерархических справочников
|
|||
|---|---|---|---|
|
#18+
KlickЭто будет справочник групп: ID Parent Name и спр товаров: ID Group_ID Name ну и т.д. Тут и думать нефига. Читай про деревья. так и только так правильно организовывать их! Думать надо всегда. 8-) Я бы сделал по другому. 2 таблицы. 1.Товары T_Id -ключ Name -наименование Any -всяко разно (опционально) 2.Дерево Id -ключ Parent_id -родительский ключ T_id -ссылка на товары Kol -количество (опционально) Any -всяко разно (опционально) Такая структура позволяет строить "неправильные" деревья, когда один и тот же товар может входить в несколько групп/изделий. Таблу товаров, в принципе, тоже можно сделать деревянной, для описания сложных, но поддерживать все это вместе намного сложнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 11:29 |
|
||
|
построение иерархических справочников
|
|||
|---|---|---|---|
|
#18+
У меня такая штука реализована. Все в одной табличке (part). База - FireBird 1.5. Реализованы - уровни/подуровни ("каталоги"), пакеты ("составной товар"), ссылки (определяешь один базовый товар, а в "ссылках" меняешь, некоторые мелочи (ну, там, цену, например, или номер версии)). Отображаю с помощью компонента TVirtualTreeView (использую Delphi 7). Для ссылки на родительскую запись используется значение поля Base_part_id, для ссылки из "ссылки" на породившую запись - использую POINTER_PART_ID. Кроме того, (некоторая денормализация, конечно) - для определения, что это за запись - ссылка или реальный узел дерева - использую поле BOOLEAN_PART_OR_REFERENCE. LOCATION - для задания позиции записи при отображения записи в текущем уровне дерева. CHILD_COUNT - счетчик дочерних записей, используется для ускорения формирования запросов. Тип конкретного узла определяется значением NODE_CATEGORY. Запросы к дереву формируются с помощью хранимой процедуры GET_TREE_PART(MASTER_PART_ID : integer) - параметр - Id узла, с которого надо начинать выборку. Почти вся функциональность реализована с помщью треггеров и хранимых процедур. Вот кое - какой код (лишнюю шнягу повыкидывал) : Код: 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. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303. 304. 305. 306. 307. 308. 309. 310. 311. 312. 313. 314. 315. 316. 317. 318. 319. 320. 321. 322. 323. 324. 325. 326. 327. 328. 329. 330. 331. 332. 333. 334. 335. 336. 337. 338. 339. 340. 341. 342. 343. 344. 345. 346. 347. 348. 349. 350. 351. 352. 353. 354. 355. 356. 357. 358. 359. 360. 361. 362. 363. 364. 365. 366. 367. 368. 369. 370. 371. 372. 373. 374. 375. 376. 377. 378. 379. 380. 381. 382. 383. 384. 385. 386. 387. 388. 389. 390. 391. 392. 393. 394. 395. 396. 397. 398. 399. 400. 401. 402. 403. 404. 405. 406. 407. 408. 409. 410. 411. 412. 413. 414. 415. 416. 417. 418. 419. 420. 421. 422. 423. 424. 425. 426. 427. 428. 429. 430. 431. 432. 433. 434. 435. 436. 437. 438. 439. 440. 441. 442. 443. 444. 445. 446. 447. 448. 449. 450. 451. 452. 453. 454. 455. 456. 457. 458. 459. 460. 461. 462. 463. 464. 465. 466. 467. 468. 469. 470. 471. 472. 473. 474. 475. 476. 477. 478. 479. 480. 481. 482. 483. 484. 485. 486. 487. 488. 489. 490. 491. 492. 493. 494. 495. 496. 497. 498. 499. 500. 501. 502. 503. 504. 505. 506. 507. 508. 509. 510. 511. 512. 513. 514. 515. 516. 517. 518. 519. 520. 521. 522. 523. 524. 525. 526. 527. 528. 529. 530. 531. 532. 533. 534. 535. 536. 537. 538. 539. 540. 541. 542. 543. 544. 545. 546. 547. 548. 549. 550. 551. 552. 553. 554. 555. 556. 557. 558. 559. 560. 561. 562. 563. 564. 565. 566. 567. 568. 569. 570. 571. 572. 573. 574. 575. 576. 577. 578. 579. 580. 581. 582. 583. 584. 585. 586. 587. 588. 589. 590. 591. 592. 593. 594. 595. 596. 597. 598. 599. 600. 601. 602. 603. 604. 605. 606. 607. 608. 609. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 17:53 |
|
||
|
построение иерархических справочников
|
|||
|---|---|---|---|
|
#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. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303. 304. 305. 306. 307. 308. 309. 310. 311. 312. 313. 314. 315. 316. 317. 318. 319. 320. 321. 322. 323. 324. 325. 326. 327. 328. 329. 330. 331. 332. 333. 334. 335. 336. 337. 338. 339. 340. 341. 342. 343. 344. 345. 346. 347. 348. 349. 350. 351. 352. 353. 354. 355. 356. 357. 358. 359. 360. 361. 362. 363. 364. 365. 366. 367. 368. 369. 370. 371. 372. 373. 374. 375. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 18:06 |
|
||
|
построение иерархических справочников
|
|||
|---|---|---|---|
|
#18+
слушай, а рука набивать все это не устала ? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 10:46 |
|
||
|
построение иерархических справочников
|
|||
|---|---|---|---|
|
#18+
"Паслюшай, дарагой, какой автоматизм - не видишь, все вручную?" Скрипт автоматически сгенерирован программкой AllFusion ErWin DataModeller . (Ver 4.1.4.3643). Если хочешь, могу проект кинуть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 10:57 |
|
||
|
построение иерархических справочников
|
|||
|---|---|---|---|
|
#18+
блин... алес капут :( такие посты огроменные. MV, зачем они? ужасть... каким нить прикрепленным файлом нельзя что ли? или по почте меняться с тем кому это надо. читать невозможно ж... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2004, 06:16 |
|
||
|
построение иерархических справочников
|
|||
|---|---|---|---|
|
#18+
А что полностью весь скрипт сгенерировал ? Так уж ничего в скриптах руками и не правил ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2004, 13:33 |
|
||
|
построение иерархических справочников
|
|||
|---|---|---|---|
|
#18+
ну и посты.... :( решений обычно два: 1. В карточке товара строчное поле aaabbbcccddd... где зашито нахождение в иерархии. Всегда можно получить всю ветку Like 'aaabbb%'. Недостатки - огранич.вложенность, медленные строчные операции и Like. 2. Внешняя таблица с перечислением всего пути от листьев к корню дерева. Таблица узкая, хотя и очень длинная. Длина сильно зависит от уровня вложености (каждый уровень удваивает таблицу). Всегда можно 1-м запросом получить все листья любой ветки или подветки. Рулится всё триггерами...Скорость обычно вполне нормальная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2004, 18:00 |
|
||
|
построение иерархических справочников
|
|||
|---|---|---|---|
|
#18+
LSVну и посты.... :( решений обычно два: 1. 2. Ну у тебя и решения. 8-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2004, 18:10 |
|
||
|
построение иерархических справочников
|
|||
|---|---|---|---|
|
#18+
в Access 2002 одна таблица, в которой содержаться и группы и записи id код(текст, нач. с буквы: это для TreeView'a) name наименование idParent код родителя vol уровень группировки в окне СХЕМА ДАННЫХ заносим табл. Справочник два раза и привязываем idParent одной табл. к id другой уровень я сделал, но пока он пригодился только при формирования отчета(типа прайс) Если надо - вышлю .mde с рабочей(он недоделаной) базой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2004, 13:28 |
|
||
|
построение иерархических справочников
|
|||
|---|---|---|---|
|
#18+
в Access 2002 одна таблица, в которой содержаться и группы и записи id код(текст, нач. с буквы: это для TreeView'a) name наименование idParent код родителя vol уровень группировки в окне СХЕМА ДАННЫХ заносим табл. Справочник два раза и привязываем idParent одной табл. к id другой уровень я сделал, но пока он пригодился только при формирования отчета(типа прайс) Если надо - вышлю .mde с рабочей(он недоделаной) базой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2004, 13:30 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=32675266&tid=1546306]: |
0ms |
get settings: |
10ms |
get forum list: |
21ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
78ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 422ms |

| 0 / 0 |
