Главная страница
    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.257 c
1-1095334252
Delph1
2004-09-16 15:30
2004.10.03
Как по закрытию формы освободить память из под нее?


1-1095272951
Sergokkke
2004-09-15 22:29
2004.10.03
RichView


14-1095187107
stany
2004-09-14 22:38
2004.10.03
XP Pro vs XP Home


1-1095670408
Gemini
2004-09-20 12:53
2004.10.03
Чем локализовать интерфейс?


14-1095319296
BiN
2004-09-16 11:21
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский