Главная страница
    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.45 MB
Время: 0.01 c
14-67519
Eknot!!8
2003-04-03 17:16
2003.04.21
Про секс и не только...


11-67190
Kirill
2002-07-09 17:22
2003.04.21
Label


14-67452
Антон
2003-04-05 11:52
2003.04.21
Scripts


3-67141
Михаил Баринов
2003-04-03 11:16
2003.04.21
Получение значение параметра процедуры (Delphi 5, BDE + Oracle 8)


3-67168
Silver_
2003-04-03 10:35
2003.04.21
SQL (СУБД - Access)





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