Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Нужен ваш совет [D7, MSSQL]


Rostislav Rotaru ©   (2004-09-02 14:56:00) 

Здравствуйте, уважаемые мастера.
Нужен ваш совет по поводу структуры базы данных аптечной программы.
Аптека не очень большая (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

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


Sergey13   (2004-09-02 15:50:00) [1]

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


Rostislav Rotaru   (2004-09-02 15:41:00) [2]

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


Sergey13   (2004-09-02 15:35:00) [3]

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


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

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

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

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


HSolo   (2004-09-02 15:18:00) [5]

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


KSergey   (2004-09-02 15:09:00) [6]

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


Zlod3y   (2004-09-02 15:06:00) [7]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо