Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.05;
Скачать: CL | DM;

Вниз

Нужен совет по структуре таблиц   Найти похожие ветки 

 
KIR ©   (2003-05-15 13:38) [0]

Ситуация следующая: есть две таблицы, олицетворяющие оплаты клиентов.
1 таблица - главная в ней заголовок: дата, сумма, ключ клиента и т.д.
2 таблица - подчиненная в ней коды товаров, за которые уплочено.

В принципе ситуация стандартная. Но дело в том, что иногда (довольно редко процентов 5-10) оплата производится по безналу. Хочу спросить совет как это грамотно оформлять. у меня два варианта:
1 - добавить в мастер таблицу 2 поля типа SMALLINT и ставить в первое поле единичку, а второе оставлять пустым, если нал. И ставить в первое нолик, если безнал, а во второе ставить единичку, когда деньги поступили на счет. Но тогда получится целая куча как бы лишних единичек и null"в, т.к. в основном в итак платят наличностью.
2 - создать еще одну таблицу с двумя полями, которая будет пополняться только в случае безнала


 
gek ©   (2003-05-15 13:44) [1]


> 1 - добавить в мастер таблицу 2 поля типа SMALLINT


Тогда уж лучше одно - 0 or 1


 
JohnnyJ ©   (2003-05-16 09:54) [2]

Если в основном платят налом, то лучше второй вариант.


 
Sergey13 ©   (2003-05-16 10:07) [3]

2JohnnyJ © (16.05.03 09:54)
>Если в основном платят налом, то лучше второй вариант.
Чем лучше? Чем первый. 8-)
Так на постоянном объединении двух таблиц больше потеряешь, ИМХО. Я бы поддержал gek © (15.05.03 13:44)


 
Сергей Суровцев ©   (2003-05-16 10:44) [4]

Вариант gek © (15.05.03 13:44)
Но лучше в подчиненную таблицу - так гибкость больше.


 
Sergey13 ©   (2003-05-16 10:57) [5]

2Сергей Суровцев © (16.05.03 10:44)
>Но лучше в подчиненную таблицу - так гибкость больше.
Какая гибкость? Если есть оплата, то если вы занесете данные о виде оплаты ЧАСТИ записей в другую таблицу, это означает, что для оставшихся записей информации о виде оплаты просто НЕТ. Какая тут гибкость? Ты попробуй написать запрос по документам с выводом вида оплаты для обоих вариантов, и сразу все станет ясно. Я не говорю, что это сложно, я спрашиваю - зачем?
Тут рассматривался вариант с нал/безнал. Логично предположить, что может добавиться еще, например, бартер. Что, в другую подчиненную таблу писать?



 
Anatoly Podgoretsky ©   (2003-05-16 11:12) [6]

Деньги не пахнут, а если пахнут, то нужна колонка с видом запаха.


 
Danilka ©   (2003-05-16 11:19) [7]

Sergey13 © (16.05.03 10:57)
ну, если что-то предполагать, то можно предположить, что для безнала что-то еще понадобится, (например номер счета) что для безнала нафиг не нужно - отсюда и гибкость. :))

если-же быть есть уверенность что ничего не добавится, тогда лучше все-таки gek © (15.05.03 13:44)


 
Danilka ©   (2003-05-16 11:27) [8]

упс...
вместо:

что для безнала нафиг не нужно - отсюда и гибкость. :))

следует читать:

что для нала нафиг не нужно - отсюда и гибкость. :))


 
Sergey13 ©   (2003-05-16 11:30) [9]

2Danilka © (16.05.03 11:19)
>ну, если что-то предполагать, то можно предположить, что для безнала что-то еще понадобится, (например номер счета) что для безнала нафиг не нужно - отсюда и гибкость. :))
Ты предлагаешь на КАЖДУЮ оплату номер счета вешать? Я то думал что этот номер в свойствах клиента прописан. А для нала тогда может понадобиться вид валюты и курс на дату.
Что то из мухи слон прорисовывается. 8-) Наверное в "потрепаться" пора переносить. 8-)


 
Danilka ©   (2003-05-16 11:34) [10]

Sergey13 © (16.05.03 11:30)
1. у клиентов может быть не один десяток счетов, кроме того, это просто пример, где там гибкость.
2. потрепаться, ну если есть желание, у меня, честно говоря, нету, пусть хозяин ветки решает сам, надо ему что-то на безнал дополнительно вешать или нет.


 
Danilka ©   (2003-05-16 11:37) [11]

конечно, номер счета клиента будет в платежке


 
Сергей Суровцев ©   (2003-05-16 14:31) [12]

>Sergey13 © (16.05.03 10:57)
>Какая гибкость?
Лишних баз не нужно, у него их две есть и хватит. Но
признак оплаты, как и совмещенный с ним тип оплаты
(0-не оплачено / 1-оплачено нал / 2-оплачено безнал)
нужно ставить в списке товаров, т.е. подчиненной
таблице. Гибкость в том, что часть одного и того же
заказа (на который в главной безе одна строка) может
быть оплачена, часть нет, часть налом, часть безналом
и т.д. Могут появиться и другие виды оплаты, которые
в этом случае легко добавить. Я бы еще и дату на
базу товаров повесил - когда была оплата каждого товара.


 
Sergey13 ©   (2003-05-19 09:25) [13]

Может и не набо было поднимать эту ветку... 8-)

2Danilka © (16.05.03 11:37)
>конечно, номер счета клиента будет в платежке
В платежке (бумажной) будет, но каждый раз вводить 20и значные счета - через пару месяцев у клиентов будет и правда будет "не один десяток счетов" 8-) Эти счета должны быть в справочнике клиентов а не в сведениях по оплате.


2Сергей Суровцев © (16.05.03 14:31)
>Нопризнак оплаты, как и совмещенный с ним тип оплаты
нужно ставить в списке товаров
Ты че?!!! Был документ и список товаров в 1000 позиций. Ты предлагаешь в каждую позицию заносить (разносить!!!) оплату. да тебя расстреляют бухгалтеры. Оплата относится к документу, а не к каждому товару отдельно.

>Гибкость в том, что часть одного и того же
заказа (на который в главной безе одна строка) может
быть оплачена, часть нет, часть налом, часть безналом
и т.д. Могут появиться и другие виды оплаты, которые
в этом случае легко добавить.
В этом случае нужна отдельная таблица оплат по ДОКУМЕНТАМ со связью один ко многим.

>Я бы еще и дату на базу товаров повесил - когда была оплата каждого товара.
Тебя бы заставить работать с такой базой. 8-)



 
Danilka ©   (2003-05-19 10:03) [14]

Sergey13 © (19.05.03 09:25)
>каждый раз вводить 20и значные счета
это уже интерфейс как их ручками вводить, выбирать из списка или еще как.

ну, конечно можно все сделать по документам и связям между ними, так будет даже правильнее, сейчас мы автору ветки по-быстрому набросаем модель данных, пусть реализует, зато все будет по-правильному. :))



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

Текущий архив: 2003.06.05;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.04 c
1-13308
Navi
2003-05-25 07:42
2003.06.05
Состояния и веса - сохранение и восстановление


1-13263
gRad2003
2003-05-23 19:38
2003.06.05
Delphi -> C++


1-13134
Multy
2003-05-26 05:15
2003.06.05
Управление мышью


1-13171
Новенький
2003-05-26 11:35
2003.06.05
TActionPopupMenuBar


14-13385
Ghost
2003-05-16 11:06
2003.06.05
Передать скриншот экрана по сети не преобразовывая его в файл