Я использовал Excel для учёта личных финансов более 10 лет. И почти всё это время намеревался перейти на что-нибудь SQL-подобное. Тем временем Richard Hipp кропел над своим SQLite. И вот мы встретились :)
Осталось малое:
1. Поставить в Firefox аддон «SQLite Manager»: addons.mozilla.org/ru/firefox/addon/5817
2. Создать новую базу данных
3. Создать таблицу для транзакций:
В эту таблицу будем аккуратно записывать все свои денежные действия в виде «Куда», «Откуда», «Сколько», «Зачем», «Когда».
Пример 1: Я получил зарплату, ура!
Пример 2: Внесу немнго денег на платежную карту.
Пример 3: Я расплатился картой за покупку.
Прелесть SQL в данном случае состоит в том, что с введенной информацией можно творить что угодно, строить любые запросы и получать любые разрезы. Об этом я напишу позже и подробнее, если будет инвайт ;)
Например: что за бухгалтерия без счетов! Создаём представление:
Посмотрим, что получилось:
Я вижу сколько у меня денег, где я их взял и куда тратил. Учёт личных финансов, построенный на одной таблице. Осталось только нарисовать интерфейс :)
to be continued…
Осталось малое:
1. Поставить в Firefox аддон «SQLite Manager»: addons.mozilla.org/ru/firefox/addon/5817
2. Создать новую базу данных
3. Создать таблицу для транзакций:
CREATE TABLE entries (
debit varchar2(50) not null,
credit varchar2(50) not null,
amount numeric(10, 2) check (amount > 0) not null,
purpose varchar(200) not null default (''),
created date not null default current_timestamp
);В эту таблицу будем аккуратно записывать все свои денежные действия в виде «Куда», «Откуда», «Сколько», «Зачем», «Когда».
Пример 1: Я получил зарплату, ура!
insert into entries (debit, credit, amount)
values ('Деньги.Кошелёк', 'Доходы.Зарплата', 100.50);Пример 2: Внесу немнго денег на платежную карту.
insert into entries (debit, credit, amount)
values ('Деньги.Карточка', 'Деньги.Кошелёк', 50);Пример 3: Я расплатился картой за покупку.
insert into entries (debit, credit, amount,purpose)
values ('Расходы.Быт', 'Деньги.Карточка', 20, 'На шампуньку');Прелесть SQL в данном случае состоит в том, что с введенной информацией можно творить что угодно, строить любые запросы и получать любые разрезы. Об этом я напишу позже и подробнее, если будет инвайт ;)
Например: что за бухгалтерия без счетов! Создаём представление:
CREATE VIEW accounts AS
select account, balance
from (
select debit account, amount balance from entries
union all
select credit account, -1 * amount balance from entries
)
group by account
having balance <> 0;Посмотрим, что получилось:
select account || ': ' || balance from accounts;
Деньги.Карточка: 30
Деньги.Кошелёк: 50.5
Доходы.Зарплата: -100.5
Расходы.Быт: 20Я вижу сколько у меня денег, где я их взял и куда тратил. Учёт личных финансов, построенный на одной таблице. Осталось только нарисовать интерфейс :)
to be continued…