Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];

Вниз

Структура БД   Найти похожие ветки 

 
Аноним   (2005-09-28 13:24) [0]

Необходимо разработать структуру таблиц БД для хранения нормативов технологических процессов.

Т.е. есть некоторая технология изготовления некоторого продукта, которая состоит из нескольких этапов (минимум - 1; максимум ~ 20). На каждом этапе из исходных материалов (и/или полуфабрикатов - результаты предыдущих этапов) получают полуфабрикаты. На последнем этапе результатом является готовый продукт.

Каждый этап характерезуется одним или нескольким нормативами (т.е. один и тотже продукт или полуфабрикат можно получить несколькими способами), в котором задются:
1. материалы на входе (1..N)
2. материалы на выходе (1..M)

Нужно организовать структуру БД таким образом, чтобы быстро выполнялись SQL запросы, для получения всего списка необходимых материалов для получения некоторого готового продукта, например,

ГП1:
 - Полуфабрикат 1
   - Полуфабрикат2
   - Полуфабрикат3
   - Полуфабрикат4
 - Полуфабрикат5
   - Полуфабрикат6
   - Полуфабрикат7
     - Полуфабрикат8
       -Сырье3
     - Полуфабрикат9
       - Полуфабрикат10
         -Сырье1
         -Сырье2

Имеются таблицы:
1. Номенклатура (хранит всю номенклатуру включая сырье, полуфабрикаты и готвую продукцию) с полями id, name, ntype(вид номенклатуры)
2. Процессы (хранит технологические этапы) с полями id и name.
3. Варианты процесса (таблица нужная для того, чтобы обеспечить возможность получения одного продукта/полуфабриката в одном этапе разными способами) с полями id и name.
4. Таблица соответствия с полями:
 id_процесс, id_вариант, id_вход_номенклатура, id_выход_номенклатура, где поля id_* - это ссылки на соответствующие таблицы, а поля id_вход_номенклатура, id_выход_номенклатура - ссылки на таблицу номенклатура.

Может лучше использовать какую-нибудь другую структуру? Поделитесь опытом, мнениями как лучше организовать БД?

Планируется использование MS SQL 2000.


 
msguns ©   (2005-09-28 13:31) [1]

Типичная задача на разузлование с расцеховкой. Советую хоть в общих чертах ознакомиться с теорией графов для начала.

Вид БД в данном случае не столь принципиален, как верно смоделироваванная БД.


 
Курдль ©   (2005-09-28 13:32) [2]

Проектирование БД - наиболее ответственный и трудоемкий процесс.
Мне кажется, что на форуме его не решить. Это надо сесть с заказчиком, разрисовать бизнесс-процесс. Потом неспешно нарисовать концептуальную модель, опять согласовать с заказчиком (всегда появляются новые вопросы) и так - несколько итераций.


 
Sergey13 ©   (2005-09-28 13:45) [3]

2 Аноним   (28.09.05 13:24)
[1]+[2]+думать+думать+пробовать+думать....
Как знакомо. Я подобное год писАл + 2 года дорабатывл.


 
Курдль ©   (2005-09-28 13:47) [4]


> Аноним   (28.09.05 13:24)


А с какими CASE-инструментами Вы работаете?


 
MOA ©   (2005-09-28 15:28) [5]

И, ПМСМ, нельзя затачивать структуру под этот критерий:
>таким образом, чтобы быстро выполнялись SQL запросы
ПМСМ, это ошибка. Нужно делать как нужно. По опыту - заточки структуры под "быстрое выполнение запросов" ни к чему хорошему не приводит, а даже и наоборот - гарантированно приводит к необходимости пересмотра структуры.
Тем более, заточка под скорость выполнения запросов как правило не актуальна для MSSQL. Если запрос будет медленно выполняться - только тогда стоит что-то предпринимать. Кстати, программист всегда (ну, или очень часто ;)) ошибается прикидывая "как будет быстрее" - именно поэтому и существут профилировщики ;).
Удачи!



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.04 c
2-1129468114
AlexLines
2005-10-16 17:08
2005.11.06
Работа со строками


2-1129198068
Sunrice
2005-10-13 14:07
2005.11.06
Как правельно сделать пинг?


14-1129577447
raymond
2005-10-17 23:30
2005.11.06
Инет-провайдер, PPP, хочу разобраться...


14-1129106888
Андрей Жук
2005-10-12 12:48
2005.11.06
Нынешняя молодежь - самая образованная в истории человечества


2-1129291926
Ним
2005-10-14 16:12
2005.11.06
TChart





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский