Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Таблица для депозита
 
 автор: Mookapek   (14.11.2011 в 00:12)   письмо автору
 
 

Как организовать данные по вкладу такого вида:
Процентная ставка по вкладу меняется в зависимости от суммы вклада, срока размещения и валюты.
Валюты и сроки размещения, допустим, фиксированны. Возможные варианты сроков размещения - от 3 месяцев до 3 лет, т.е. 3 месяца, 6, 9 ... 36. Три валюты: рубли, доллары и евро.
Одной таблицой здесь, наверное, не обойтись.
Какие тут могут быть варианты?

  Ответить  
 
 автор: cheops   (14.11.2011 в 00:27)   письмо автору
 
   для: Mookapek   (14.11.2011 в 00:12)
 

А что делать-то нужно?

  Ответить  
 
 автор: Mookapek   (14.11.2011 в 00:54)   письмо автору
 
   для: cheops   (14.11.2011 в 00:27)
 

Таблицу MySQL для вклада. Если бы процент был фиксированный, то организация таблицы была бы простой. Например,

название вклада |  ставка  |  срок(мес)  |  валюта  |   Выплата  |
----------------+----------+-------------+----------+------------|
  Доходный      |   12 %   |     12      |   рубли  | ежемесячно |


Но в моем случае ставка не фиксированная - она зависит от валюты, срока размещения и суммы вклада. Что-то вроде этого:
                |    Срок (месяцы)           |
    Сумма       |   6  |  12  |  18  |   24  |
----------------+------+------+------+-------|
  рубли      
от 10 000       |  8%  | 10%  |  12% |  14%  |
от 50 000       |  9%  | 11%  |  13% |  15%  |
  евро
от 1 000        |  2%  | 3%  |  3,5% |  4%   |
от 3 000        | 2,5% | 3,5%|   4%  |  5%   |


То есть как сделать таблицу (таблицы?) в этом случае, для переменной процентной ставки?

  Ответить  
 
 автор: cheops   (14.11.2011 в 13:18)   письмо автору
 
   для: Mookapek   (14.11.2011 в 00:54)
 

Да, тут лучше организовать несколько таблиц, в основной лучше хранить сумму и ключи-ссылки на остальные таблицы: таблица сроков, таблица вкладов, таблица валют. Вероятно разумно завести еще одну таблицу, где вы будете хранить проценты, которая тоже будет содержать поле с процентами, интервалами и ссылки на таблицы валют и сроков.

  Ответить  
 
 автор: Mookapek   (20.11.2011 в 03:30)   письмо автору
 
   для: cheops   (14.11.2011 в 13:18)
 

Не совсем понял вами предложенную структуру, но у меня получилось как-то так:
     Таблица сроков
+--------+---------------+
|id_срок | Срок (месяцы) |
+--------+---------------+
|   1    |       6       |
|   2    |       12      |
|   3    |       18      |
+--------+---------------+

     Таблица валют
+----------+---------------+
|id_валюта |    Валюта     |
+----------+---------------+
|    1     |     rub       |
|    2     |     usd       |
|    3     |     eur       |
+----------+---------------+

            Таблица сумм
+---------+---------------+-----------+
|id_сумма |  Сумма (от)   | id_валюта |
+---------+---------------+-----------+
|    1    |    10 000     |      1    |
|    2    |    50 000     |      1    |
|    3    |     1 000     |      3    |
+---------+---------------+-----------+

                   Таблица процентов
+------------+---------------+-----------+----------+---------+----------+
|id_процента |  Ставка (%)   | id_валюта | id_сумма | id_срок | id_вклад |
+------------+---------------+-----------+----------+---------+----------+
|      1     |       8       |      1    |     1    |    1    |     1    |
|      2     |      11       |      1    |     2    |    2    |     1    |
|      3     |      3,5      |      3    |     3    |    3    |     1    |
+------------+---------------+-----------+----------+---------+----------+

           Таблица вкладов
+----------+------------+------------+
| id_вклад |  Название  |   Выплата  |  
+----------+------------+------------+
|     1    |  Доходный  | ежемесячно |
+----------+------------+------------+


Получилось, что основная таблица - таблица процентов, а не вкладов.
Как, на ваш взгляд, такая структура с точки зрения оптимизации?

  Ответить  
 
 автор: cheops   (20.11.2011 в 12:30)   письмо автору
 
   для: Mookapek   (20.11.2011 в 03:30)
 

1. Таблица процентов получилась избыточная, так как ставка у вас будет много раз дублироваться, если бы была таблица со всеми возможными, но уникальными процентами.
2. Более того, при операции с суммами, просто даже узнать, какой тип вклада, вам всегда придется осуществлять объединение двух таблиц - суммы и процентов. Обе таблицы - гиганские. Лучше если бы у вас была одна гиганская таблица, а все остальные - маленькими.

PS Я бы переименовал таблицу вкладов в типы вкладов, выделил бы еще одну таблицу - проценты, а таблицу, которая сейчас называется проценты переименовал бы в таблицу вкладов.

  Ответить  
 
 автор: Mookapek   (22.11.2011 в 00:10)   письмо автору
 
   для: cheops   (20.11.2011 в 12:30)
 

Следуя вашим рекомендациям у меня получилось вот что:

     Таблица сроков
+--------+---------------+
|id_срок | Срок (месяцы) |
+--------+---------------+
|   1    |       6       |
|   2    |       12      |
|   3    |       18      |
+--------+---------------+

     Таблица валют
+----------+---------------+
|id_валюта |    Валюта     |
+----------+---------------+
|    1     |     rub       |
|    2     |     usd       |
|    3     |     eur       |
+----------+---------------+

            Таблица сумм
+---------+---------------+-----------+
|id_сумма |  Сумма (от)   | id_валюта |
+---------+---------------+-----------+
|    1    |    10 000     |     1     |
|    2    |    50 000     |     1     |
|    3    |     1 000     |     3     |
+---------+---------------+-----------+

      Таблица процентов
+-----------+---------------+
|id_процент |  Ставка (%)   |
+-----------+---------------+
|     1     |        8      |
|     2     |       11      |
|     3     |      3,5      |
+-----------+---------------+

          Таблица депозитов
+---------------+------------+------------+
|  id_депозит   |  Название  |   Выплата  |
+---------------+------------+------------+
|       1       |  Доходный  | ежемесячно |
+---------------+------------+------------+

                               Таблица ставок
+------------+---------------+-----------+----------+---------+--------------+
| id_ставка  |  id_процент   | id_валюта | id_сумма | id_срок |  id_депозит  |
+------------+---------------+-----------+----------+---------+--------------+
|     1      |       1       |      1    |     1    |    1    |       1      |
|     2      |       2       |      1    |     2    |    2    |       1      |
|     3      |       3       |      3    |     3    |    3    |       1      |
+------------+---------------+-----------+----------+---------+--------------+


Эта структура по идее должна полностью описывать следующий депозит:

Депозит

Название:                Доходный
Выплата процентов:       Ежемесячно

           Процентные ставки
+---------------+--------------------+
|               |    Срок (месяцы)   |
|   Сумма       |   6  |  12  |  18  |
+---------------+------+------+------+
|   рубли      
| от 10 000     |  8%  |      |      |
| от 50 000     |      |  11% |      |
|   евро            
| от 1 000      |      |      | 3,5% |
+---------------+------+------+------+

  Ответить  
 
 автор: Mookapek   (22.11.2011 в 20:05)   письмо автору
 
   для: Mookapek   (22.11.2011 в 00:10)
 

Хотелось бы услышать мнение Игоря Вячеславовича по поводу такой структуры, чтобы уж закрытьтему.

  Ответить  
 
 автор: cheops   (22.11.2011 в 21:01)   письмо автору
 
   для: Mookapek   (22.11.2011 в 20:05)
 

Понравилось, по крайней мере больше не нашел к чему придраться :)))

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования