Форум: "Базы";
Текущий архив: 2002.11.25;
Скачать: [xml.tar.bz2];
ВнизПодходы к разработке БД-II. Где о них можно почитать. Найти похожие ветки
← →
Z-Yuri (2002-11-01 15:13) [0]Существуют ли выработанные методы проектировки и реализации типичных баз данных (склад, магазин, бухгалтерия и т. п.) или каждый программист решает все по-своему?
Когда я начинал свою первую БД (а прошло уже год) я конечно прочитал умные книжки про нормализацию, SQL и т. п. Но в процессе работы возникли ряд проблем, решить которые для меня было сложно.
Некоторые из них:
- справочники: вид, поиск, удаление, идентификаторы.
- расчет и хранение остатков (итогов) - принципы реализации,
- введение, правка и удаление документов задним числом и за прошлые периоды.
и др. я все так сразу и не вспомню.
Вобщем программу я написал, потом вторую но многие вещи делались по интуиции, иногда по ходу внося серьезные изменения в структуру БД.
Сейчас хочу написать очередную программу более-менее "правильно", но проблем мне кажется не меньше.
Иногда случаются очень полезные ветки на форуме, как например
http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1035468144&n=1
правда Мастера не всегда приходят к единому мнению.
Косить под 1С не хочется, но иногда приходится.
И вот вопрос к Мастерам - см. первый абзац.
← →
Alexandr (2002-11-01 15:21) [1]обычно все ориентируются на свой собственный опыт.
Поскольку все частности реализации стараются скрыть т.к. это типа коммерческая тайна.
Так что собирай информацию по-крупицам, думай, пробуй, смотри на чужие системы, изучай и т.д.
← →
Z-Yuri (2002-11-02 14:44) [2]> обычно все ориентируются на свой собственный опыт.
И что, никто свой опыт не систематизировал и не оформил как, книгу, статью... Если так, то значит количество настоящих профи
не достигло еще критической отметки.
← →
MsGuns (2002-11-02 18:04) [3]>Z-Yuri © (02.11.02 14:44)
Могу поделиться своим собственным (не сладким). С БД я работаю в общей сложности больше 20 лет. За это время технологии менялись постоянно, а несколько раз кардинально, что не могло не сказаться и на принципах проектирования самих БД. Хотя, конечно, основополагающие принципы (лог.связи, справочники, ограничения на значения полей и т.д.) остались почти незыблимыми и по-прежнему во многом определяют качественное наполнение БД, т.е. состав таблиц, типы данных, наличие ключей и индексов.
Любая БД состоит как минимум из 2 вещей: собственно данные в таблицах и заложенный при проектировании алгоритм извлечения этих данных, который носит модное название "бизнез-правила". Так вот первая вещь во многом зависит от второй, а вторая определяется первой. Другими словами, если в структуру или топологию БД была "внесена" ошибка, то на этапе проектирования бизнес-логики (БЛ) приходится эту ошибку "обходить" или же исправлять саму ошибку, меняя сущности БД (модифицирование, удаление или добавление таблиц, полей, ключей, связей и пр.)
Как показывает мой личный опыт, невозможно создание сколько-нибудь солидной БД (я не говорю про тел.справочник с простейшими поисковыми функциями) без нескольких "возвратов" к пересмотру сущностей БД и соответсвенно ревизии полной или частичной БЛ.
Как пример. Есть у меня хорошо зарекомендовавшая себя на практике программа "Оптовая торговля", работающая уже несколько лет (до 8) у нескольких десятков клиентов. Прога написана в ДОСе на Paradox 3.5 и рассчитана на работу до 28 клиентских станций с обязательным выделенным сервером.
Когда пришла пора перевести ее в винду (сначала под 5-й, затем 7-й Paradox), пришлось "перетряхивать" не столько логику программ, сколько состав и структуры таблиц и их связи.
Теперь пришла пора тащиться в клиент - сервер. Снова всеобщая ревизия. Т.к.новые возможности (централизация большинства элементов БЛ на сервер) должны дать существенный эффект как по временным характеристикам, так и (и это, пожалуй, главное) по резкому "облегчению" подгонки программ, реализующих собственно интерфейс с клиентом-человеком. Кроме того, весьма существенно упрощается администрирование, т.е. поддержание в работоспособном состоянии, всей БД, что для того же парадокса было ахиллесовой пятой.
Т.е. я хочу сказать, что давать конкретные советы по создании БД, не зная элементной базы (начиная от кол-ва компов и их характеристик, типа сети, ОС, вида СУБД и проч), не говоря уже об особенностях объекта (т.е.сферы деятельности человека) - дело весьма неблагодарное и даже несколько авантюрное.
Но все же есть некоторые постулаты...
Вся инфа, как правило делится на:
- нормативно-справочная (справочники)
- оперативная (документы)
- статистическая (картотеки, архивы)
- выходные формы (отчеты, графики и проч)
- управляющая (права, роли, сценарии и проч)
Начиная работу над ТЗ (техническим заданием) советую как можно тщательнее разобраться с объектом, а именно
- документооборот (т.е.первичные носители информации - счета, накладные, платежки, договора, справки, журналы и проч), который разнится практически в каждой конторе хотя бы в деталях. А также способы хранения документов, их регистрации и учета.
- специфику работы людей на каждом рабочем месте, т.е. чтО собственно они делают и каковы главные цели их труда.
- Как руководители фирмы хотят улучшить результаты своей деятельности после внедрения программы, для чего собственно и затевают весь сыр-бор, стОящий им совсем не дешево.
После сбора этой инфы надо ее систематизировать, дополнить новыми деталями, позволяющими улучшить всю модель в целом, затем убрать избыточность и определить связи. Профи называт все это НОРМАЛИЗАЦИЕЙ БД.
И только после этого лично я выбирал бы СРЕДСТВА, т.е. ОС, СУБД тип сети и проч. На этом этапе весьма уместно обращение к опытным людям за советом о СПОСОБАХ РЕАЛИЗАЦИИ и оценкой КАЧЕСТВ БЛ и сущностей БД.
← →
Anatoly Podgoretsky (2002-11-02 18:25) [4]Мартин, Грубер, Дейт - это Мастера БД, их книги надо читать в первую очередь, остальные как парвило не стоят и бумаги на которой они напечатаны.
← →
blackman (2002-11-03 11:38) [5]>Anatoly Podgoretsky
Книги это хорошо !
У меня есть и были, но
"Суха теория мой друг, а древо жизни вечно зеленеет"
Нужно
- понять какие документы имеются (не вообще все, а те из которых юзер берет цифры)
- сделать из них таблицы, выкинув в справочники все повторяющиеся поля
- определить какие из полей будут калькулироваться и из каких таблиц/полей
- нарисовать печатные формы.
- НАЧАТЬ ПИСАТЬ
- ПОДУМАТЬ и НАЧАТЬ ЗАНОВО.
- исправить или переписать
- .... и так до тех пор пока не поймешь, что полное ...
- закончить работу и сдать заказчику (ужас летящий во тьме ночи)
← →
MsGuns (2002-11-03 12:57) [6]>blackman © (03.11.02 11:38)
>- закончить работу и сдать заказчику (ужас летящий во тьме ночи)
Если это как ужас, то лучше вообще не сдавать.. А идти сразу в грузчики (или дирижеры)
← →
Sergey13 (2002-11-04 11:51) [7]2Z-Yuri © (01.11.02 15:13)
>Существуют ли выработанные методы проектировки и реализации
>типичных баз данных (склад, магазин, бухгалтерия и т. п.) или
>каждый программист решает все по-своему?
ИМХО, документально оформленных методов не существует, есть только рекомендации. Это, опять же ИМХО, в основном определяется тем, что не существует четко регламентированных правил работы складов, магазинов, бухгалтерий и т.п.
← →
blackman (2002-11-04 14:15) [8]>MsGuns
Как скажешь, так и сделаю.
← →
MsGuns (2002-11-04 14:41) [9]>blackman © (04.11.02 14:15)
>MsGuns
>Как скажешь, так и сделаю.
Да это шутка была 8) Хотя, как известно, в каждой шутке...
← →
blackman (2002-11-04 17:11) [10]Xa.
← →
Z-Yuri (2002-11-06 15:36) [11]Всем спасибо за обсуждение, особенно - MsGuns © (02.11.02 18:04).
Буду разрабатывать свои методы. :)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.11.25;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.009 c