Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.04.21;
Скачать: [xml.tar.bz2];

Вниз

Как лучше построить таблицу?   Найти похожие ветки 

 
Andrio   (2003-04-03 12:24) [0]

Уважаемые мастера!
Есть таблица "Лицевые_Счета".
Каждый месяц на каждый лицевой счет производится начисление определенной суммы.
Эти начисления записываются в отдельную таблицу "Начисления"
Но как лучше сделать? :
а) Для каждого нового месяца создавать новую таблицу "Начисления"
(Например: "Начисления_YYYY_MM")
б) Начисления всех месяцев писать в одну таблицу. (В этом случае первичный ключ увеличивается на 1 поле - "Дата начисления")

В реальной БД работа будет происходить только с 1 месяцем, остальные будут только как архив, и совсем старые будут удаляться.

Какой способ лучше с т.з. клиента (скорости доступа, безопасности хранения и по другим характеристикам), но не с точки зрения программиста.

Заранее благодарен.


 
Mike_Goblin   (2003-04-03 12:49) [1]

На мой взгляд лучше

>б) Начисления всех месяцев писать в одну таблицу. (В этом >случае первичный ключ увеличивается на 1 поле - "Дата >начисления")
Так как часто клиент просит а вот скажите какие начисления были
12, 15, 17 этого месяца и 1 прошлого и за период с 1.03.2001 по 19.07.2001, при этом лазить по многим таблицам не удобно
Первичный ключ не увеличится, если использовать GEN_ID
Так же для архивации введите флаг - и сделайте View всех неархивных начислений

>Какой способ лучше с т.з. клиента
Это надо спрашивать у клиента :)



 
Johnmen   (2003-04-03 13:01) [2]

пункт б)
"Дата начисления" вообще не должна входить в PK. Скорее всего UNIQUE INDEX.
Как сказал Mike_Goblin © - введение флага.

>Какой способ лучше с т.з. клиента (скорости доступа,
>безопасности хранения и по другим характеристикам), но не с
>точки зрения программиста.

Иди на клиентский сайт, там т.з.и узнаешь :)
А здесь сплошь программеры :)))))))



 
vopros   (2003-04-03 13:42) [3]

Я уже намучился с таких подходом одного умника.Даже в пьяном угаре не придумал бы более зловещей постановки вопроса.
а) Для каждого нового месяца создавать новую таблицу "Начисления"
(Например: "Начисления_YYYY_MM")


 
Tomkat   (2003-04-03 15:06) [4]

на мой взгляд , лучше всего делать 2 таблицы - счета (ACCOUNTS) и начисления на них (OPERS)
ACCOUNTS
ID - идетнификатор счета
...
....
.....
OPERS
ID - идентификатор операции
ID_AC - идентификатор счета, на к-й производятся начисления
DATA
SUMMA
...
....
Связать OPERS.ID_AC > ACCOUNTS.ID в отношении "много к одному"
там много раз делал , работает :-)))



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

Форум: "Базы";
Текущий архив: 2003.04.21;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.012 c
1-67291
Ifrit
2003-04-01 15:56
2003.04.21
Есть RichEdit. Как определить атрибуты текста который находится п


4-67649
MorfeyCool
2003-02-20 13:30
2003.04.21
Как контролировать время ?


4-67647
Eug201
2003-02-11 08:48
2003.04.21
SetWindowsHookEx(WH_MOUSE,@MouseHook,HInstance,0)


3-67089
Наташа
2003-04-03 23:00
2003.04.21
Создание отчета Master-Detail с помощью Free_Report


14-67503
Soft
2003-04-01 18:21
2003.04.21
День протеста против произвола мордераторов





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