sergeiss
7.05.2015 - 20:05
bestxp, про Постгрес я тоже думал сказать

Но решил, что не стоит. Потому что, если человек привык к мускулю, то это если не навсегда, то надолго.
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
пока только Игорь плюсик заработал, остальные "в молоко"
_____________
Стимулятор ~yoomoney - 41001303250491
Игорь_Vasinsky
7.05.2015 - 20:48
Цитата |
1) можно stored proc которая все подсчитает |
для этого как бэ вьюхи придуманы)
Цитата |
пока только Игорь плюсик заработал, остальные "в молоко" |
считай я в акуе
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Цитата (Игорь_Vasinsky @ 7.05.2015 - 20:48) |
Цитата | 1) можно stored proc которая все подсчитает |
для этого как бэ вьюхи придуманы)
|
Считать по вьюхах? СУБД посчитало в stored proc и через data maper выдало расчитываемые параметры в base class который передал во view через контроллер?
Вести расчеты в view не есть best practice.
_____________
Трус не играет в хокей
Игорь_Vasinsky
7.05.2015 - 23:02
Подсчёта это умный select. а это дело вьюх
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Цитата |
Вопрос 1. Создать таблицу, в которой будет подробно описывать каждая валюта.
t_money
id | name | img ------------------- 1 | камни | a.png 2 | кирпичи| b.png 3 | доска| c.png и т. д.
PS: По мне это самый оптимальный вариант. |
Для уменьшения нагрузки, я бы убрал третью графу (img), а саму картинку выбирал по id средствами php, или на каком там у Вас игра будет языке.
Цитата |
Таблица 2.
t_history_money
id_history | id_money | numbers | type
id_history - ид из таблицы t_history id_money - ид валюты из таблицы t_money numbers - сколько было затронуто данной валюты type - добавлялась или отнималась валюта (0 или 1)
Хочу заметить, что у одной операции может быть задействовано несколько валют. |
тут вообще можно оставить 2 поля
не делить на валюты, а конвертировать опять же средствами php к примеру:
1 000 000 бронзы = 1 000 серебра = 1 золота
Заносить без type, а просто со знаком +-
Ну и это
Цитата |
myisam - медленно обрабатывает инсерты но быстро выполняет селекты из основных минусов данный движок не поддерживает связи (в сторону которых Вам можно было бы посмотреть) и транзакции. innodb - поддерживает связи и транзакции, быстрый в инсертах но медлителен в селектах. |
стоит учесть =)))
Вот как то так всё)
_____________
минус, конечно, иногда полезен, но
плюс мне нравиться больше :)
Женский журнал - Жена сказала раскрутить сайт любой ценой (Sorry)
Цитата |
тут вообще можно оставить 2 поля
не делить на валюты, а конвертировать опять же средствами php к примеру: 1 000 000 бронзы = 1 000 серебра = 1 золота |
Допустим на постройку забора требуется 30 дерева, 40 камней и 50 энергии.
В истории операций должны отображаться эти три валюты
Игорь_Vasinsky
8.05.2015 - 13:28
Цитата |
Допустим на постройку забора требуется 30 дерева, 40 камней и 50 энергии. |
currencycid | cname
1 | дерево
2 | камень
3 | энергия
ordersoid | uid | cid | summ
id оплаты | id юзера | id валюты | сумма
12 | 1 | 1 | 30
12 | 1 | 2 | 40
12 | 1 | 3 | 50
select
o.summ,
c.cname
from orders o
left join currency c on c.cid = o.cid
where o.oid = 12 and o.uid = 1
summ | cname
-----------------------
30 | дерево
-----------------------
40 | камень
-----------------------
50 | энергия
к справке
Цитата |
не делить на валюты, а конвертировать опять же средствами php к примеру: |
если операцции над данными в бд можно выполнить средствами БД - то это и стоит делать средствами БД
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Цитата (123456 @ 8.05.2015 - 13:20) |
Цитата | тут вообще можно оставить 2 поля
не делить на валюты, а конвертировать опять же средствами php к примеру: 1 000 000 бронзы = 1 000 серебра = 1 золота |
Допустим на постройку забора требуется 30 дерева, 40 камней и 50 энергии.
В истории операций должны отображаться эти три валюты
|
К примеру может быть: таблица.где написано что сколько стоит (дом: 3 дерева,5 камней). И есть таблица что построил юзер: дом, забор, сарай, курятник пр. Когда надо узнать затраты тянем из одной таблицы что построил и джоиним с таблицей что где почем. Т.о мы не храним лишние данные о том что растрачено. и т.п.
_____________
Трус не играет в хокей
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.