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

Вниз

Нужен ваш совет   Найти похожие ветки 

 
Rostislav Rotaru ©   (2004-09-02 14:56) [0]

Здравствуйте, уважаемые мастера.
Нужен ваш совет по поводу структуры базы данных аптечной программы.
Аптека не очень большая (15-20 приходных накладных по 20-30 позиций каждая и 2-3 кассы по 250-300 чеков/день каждая) и я остановился на MSDE(как бесплатная).
По поводу структуры: есть 2 варианта
1. Таблица приходов и таблица расходов отдельно + таблица остатков.
2. Одна таблица для приходов и расходов(приходы - положительное число, расходы с минусом), остатки формируются динамически.
Мне больше нравиться второй вариант, но никак не могу до конца додумать структуру таблиц, учитывая то, что нужна еще разбивка на партии. Мне кажется так:

t_products
- product_id
- product_name
- producer_id

t_partii
- partia_id
- n_document
- product_id
- nac_cena
- prih_cena
- nds
- procent
- cena

t_moves
- move_id
- tip_ducument (1-приход, 2-расход...)
- partia_id
- colicestvo
- nac_cena
- prih_cena
- nds
- procent
- cena

Прошу вашего совета: правильна ли логика такой структуры или есть другие, лучшие варианты. Если возможно поделитесь вашим вариантом структуры.
Спасибо


 
Zlod3y ©   (2004-09-02 15:06) [1]

ERWin + 1c (какая-нить аптечная конфигурация).....расковыряешь


 
KSergey ©   (2004-09-02 15:09) [2]

Это к Тенцеру
Но он денег попросит. И правильно.
На и готовые проги у него давно есть.
А про 1С тут, наверняка, правильно говорят.


 
HSolo ©   (2004-09-02 15:18) [3]

Да вроде нормально.
Только, может быть, есть смысл тип документа задавать так: 1 - приход, -1 - расход? Тогда легко считаются остатки:
sum(tip_ducument * colicestvo)
А что это за поля:
- nac_cena
- procent
- cena


 
Rostislav Rotaru ©   (2004-09-02 15:32) [4]

- nac_cena: начальная цена
- procent: процент
- cena: розничная цена

1С хорошо, но меня не устраивает файл-сервер. Сейчас эти аптеки работают на 1С(в терминале). И даже это не устраивает. Нужно переходить на client-server.

> Только, может быть, есть смысл тип документа задавать так:
> 1 - приход, -1 - расход?
: но есть еще типы документов(возврат, продажа бн, акт добавления НДС....)


 
Sergey13 ©   (2004-09-02 15:35) [5]

А почему бы в таблицу продуктов не засунуть текущий остаток? Пресчитывать тригерами. И ограничение на него >=0 поставить.


 
Rostislav Rotaru ©   (2004-09-02 15:41) [6]

Можно, но мне кажется что при таких объемах, при правильном построении таблиц и индексов удобнее не делать таблицу или поле с остатками. Динамически формировать, и хлопот меньше


 
Sergey13 ©   (2004-09-02 15:50) [7]

2[6] Rostislav Rotaru ©   (02.09.04 15:41)
>Можно, но мне кажется что при таких объемах
Дело хозяйское, просто объмы имеют свойство расти. А 90% твоих запросов все равно будут просить текущее положение дел.
Посмотрел еще. Скорее надо текущий остаток не на продукт а на партию вешать. Здорово облегчишь себе жизнь. Избыточность конечно, но и упрощение налицо.



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

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

Наверх




Память: 0.46 MB
Время: 0.062 c
6-1090492324
Duk
2004-07-22 14:32
2004.10.03
Как с п-ю TMemoryStream переслать текст от ServerSocket к ClienSo


14-1094822954
jack128
2004-09-10 17:29
2004.10.03
Как скопировать содержимое окна CPU


10-1043831821
RAM_S
2003-01-29 12:17
2004.10.03
О каких сетях идет речь


14-1095051926
YurikGL
2004-09-13 09:05
2004.10.03
Правила эксплуатации ЭВМ


11-1080885301
nick_cr
2004-04-02 09:55
2004.10.03
Delphi





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский