Частый посетитель
Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010
Помог: 1 раз(а)
|
Всем прив.
Я не первый наверное кто подобный вопрос поднимает, но всё же... Стоит задача в проекте сделать баланс пользователей.
Сразу подчеркну что надо создать 2 разных счёта " USD" и " EUR"
Думаю какого вида таблицы создать. Попробую привести прим. той что я думаю.
В таблице пользователя создать 2 поля:
Думаю для того что бы сумму подсчитывать баланс сразу из одного поля, что бы не пробегать по другой таблицы для суммирования все входящие и исходящие суммы.
Таблица транзакции: Для введение учёта всех транзакции
CODE ( SQL):
скопировать код в буфер обмена
CREATE TABLE IF NOT EXISTS `users_transactions` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_id` int(11) DEFAULT NULL COMMENT 'Пользователь', `datetime` datetime NOT NULL COMMENT 'Дата-Время операции', `type` enum('credit','debit') NOT NULL COMMENT 'credit-поступило на счет, debit - снято со счета', `currency` enum('usd','eur') NOT NULL COMMENT 'Какая валюта была', `method_id` tinyint(1) NOT NULL COMMENT 'Метод', `order_id` int(11) DEFAULT NULL COMMENT 'Заказ', `amount` double(15,2) NOT NULL COMMENT 'Сумма', `comment` text NOT NULL COMMENT 'Комментарий' PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
Вопрос: "order_id" думаю тут держать, т.к. снятие счёта тоже тут буду сохранять
Метод пополнения счёта:
CODE ( SQL):
скопировать код в буфер обмена
CREATE TABLE `methods` ( `method_id` int(11) NOT NULL, `status` tinyint(1) NOT NULL, `title` varchar(55) COLLATE utf8_unicode_ci NOT NULL PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
Заказы:
CODE ( SQL):
скопировать код в буфер обмена
CREATE TABLE `orders` ( `order_id` int(11) NOT NULL, `status` tinyint(1) NOT NULL, `summ` double(15,2) NOT NULL COMMENT 'Сумма', `sale` double(15,2) NOT NULL COMMENT 'Скидка', `comment` text NOT NULL COMMENT 'Комментарий' PRIMARY KEY (`order_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
Вопрос: Как тут определятьопределять каике продукты входят в запись? Делять ещё отдельную таблицу и там ввести учёт? напр. order_id = product_id
Продукты:
CODE ( SQL):
скопировать код в буфер обмена
CREATE TABLE `products` ( `product_id` int(11) NOT NULL AUTO_INCREMENT, `status` tinyint(1) NOT NULL, `title` varchar(55) COLLATE utf8_unicode_ci NOT NULL `price` double(15,2) NOT NULL COMMENT 'Сумма', `comment` text NOT NULL COMMENT 'Комментарий' PRIMARY KEY (`product_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
Что думаете...?
спс.Ув.
|