Главная страница
    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.046 c
14-1095306740
КаПиБаРа
2004-09-16 07:52
2004.10.03
Опрос - Когда вы впервые пришли на этот форум?


1-1095421813
Stas_on
2004-09-17 15:50
2004.10.03
Как сделать так, чтобы введённое число из Edit a


14-1095071269
Holy
2004-09-13 14:27
2004.10.03
Mad Max. Кажется была такая команда...


1-1095187186
Destiny
2004-09-14 22:39
2004.10.03
Как выводить огромную картинку на экран.


6-1091039930
dms_main
2004-07-28 22:38
2004.10.03
html encoding





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