Главная страница
    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.036 c
1-1095235389
Григорьев Антон
2004-09-15 12:03
2004.10.03
Как открыть страницу в новом окне браузера?


14-1095233952
malkolinge
2004-09-15 11:39
2004.10.03
Я женился :)


1-1095332052
l1gic
2004-09-16 14:54
2004.10.03
Настройка MaskEdit


6-1087309655
Shade
2004-06-15 18:27
2004.10.03
Передача / Приём файлов при помощи модема (свой Hyperterminal)


1-1095352041
panov
2004-09-16 20:27
2004.10.03
Ошибка в потоке





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