|  | 
| 
Проектирование базы перечня изделий | |||
|---|---|---|---|
| #18+ Здравствуйте, господа. У нас возник спор, как лучше сделать. В данный момент на предприятии существует база данных по деталям основного производства, типа модель-деталь-суффикс-наименование. Она используется в нескольких программах. В ней содержится полный состав изделия, храниться в виде дерева. Сейчас руководство пожелало чтобы в этой или другой базе хранилась еще и оснастка для производства этих деталей, при чем оснастка может быть тоже сборочной единицей и поэтому должна храниться тоже в виде дерева. Так вот вопрос как это лучше организовать? 1) Хранить оснастку и детали основного производства в одной таблице и будет ли это логически правильно? Или все-таки разнести оснастку и другие детали по разным таблицам справочникам или даже базам? 2) И как построить таблицу состава изделия? сейчас сделано так ID-детали ParentID-подсборки Если эту таблицу оставить одну и создать 2-е таблицы справочника по ID и ParentID будут пересекаться и не понятно что это оснастка или дет. осн. произв. Мне предложили засунуть все в одну таблицу и работать с ней. Но правильно ли это? Я предлагаю разнести информацию по разным таблицам и создать разные таблицы состава изделия. Во-первых, я четко разделю вид информации. Во-вторых, таблицы будут поменьше. Да, забыл сказать все это делается на MSSQL 2000. Жду ответа, особенно от pkarklin, борца за правильность проектирования баз. :)) ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 12.05.2003, 15:27 |  | ||
| 
Проектирование базы перечня изделий | |||
|---|---|---|---|
| #18+ У меня в голове есть такой вариант 1. Детали и сборки (ID детали, Parent ID, название ...) 2. Оснастка (ID Оснастки, название... 3. Детали - оснастка (ID строки, FK детали или сборки, FK оснастки) Чем я этот вариант обосную? 1. "Детали и сборки" и "оснастка" скорее всего отличаются по набору аттрибутов. 2. Оснасткой не торгуют 3. Данные об оснастке носят вспомогательный характер 4. Если понадобится ответить на вопросы типа :"дана оснастка. Для производства каких изделий или сборок она используется?", ответить на них будет, по моему, легче, чем возится с деревьями. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 13.05.2003, 19:58 |  | ||
| 
Проектирование базы перечня изделий | |||
|---|---|---|---|
| #18+ В основном согласен с wara От себя добавлю >1. Детали и сборки (ID детали, Parent ID, название ...) Я когда делал такую задачу тоже сначала сделал именно так. Но появилась проблема входящих деталей. Это когда какой-то узел/деталь входит в несколько изделий. Причем заимствование может быть многоуровневым. Решил проблему так - сделал 2 таблицы 1 - как предлагает wara - в ней хранится "банк деталей", т.е. каждая деталь может быть описана только 1 раз 2 - сделал таблицу комплектаций (ID , Parent ID, ID_детали(FK на первую таблицу), количество) Потом просто мышкой натаскиваю нужные узлы на изделие. Этим решается и вариантность изделий, когда изделие вроде то-же самое но одна(2,3,4...) деталь есть/нет/другая. А к вариантам обоснования разнесения оснастки и деталей по разным таблицам я бы добавил (вернее перефразировал п4) - одна оснастка может идти на N деталей - на каждый же раз ее описывать. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 14.05.2003, 11:26 |  | ||
|  | 

| start [/forum/topic.php?fid=32&fpage=181&tid=1546973]: | 0ms | 
| get settings: | 10ms | 
| get forum list: | 12ms | 
| check forum access: | 3ms | 
| check topic access: | 3ms | 
| track hit: | 33ms | 
| get topic data: | 12ms | 
| get forum data: | 2ms | 
| get page messages: | 45ms | 
| get tp. blocked users: | 2ms | 
| others: | 14ms | 
| total: | 136ms | 

| 0 / 0 | 
