NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Lekce 1 - Osobní finance v MS Access – Záměr

V úvodní části dnešní lekce si ukážeme, jak se uvažuje nad databázovou úlohou, tedy jakési žvanění, které je ale je mnohdy účinnější, než napsat desítky stran kódu, který je následně třeba opravit, škrtat, přepisovat a nakonec zahodit. V další části se budeme věnovat návrhu úlohy a datových struktur.

Popis záměru úlohy

Rodinné finance nejsou jenom tanečky kolem peněženky každého člena rodiny nebo tlustého výpisu z bankovního účtu, nejsou to jenom přímé příjmy a výdaje podobné účetnictví. Pokud opravdu chceme mít vládu nad hospodařením domácnosti, která má barvitější obrat peněz, než jak jsem slyšel nedávno u kasy ve velkokšeftě, kde volal Jano na kamaráda: „Fero, ber eném nejnútnější, prachy pridú ve středu,“ musíme tomu věnovat úsilí v rozvrhu projektu, přesnost při sestavení úlohy a pečlivost při zadávání dat.

Pokud mluvíme o financích, všechny peníze projdou hotovostním nebo bankovním obratem, na tom se asi všichni shodneme. K běžným agendám patří, odkud peníze přišly a kam je vydáváme, dále také sledování, za jakým účelem. Někdy je dělíme na úspory a spotřebu, jindy podle osob v domácnosti. Rozšíříme-li pojem finance na ekonomiku, jsou zde i investice jiné, než finanční nebo do dětí - někdo bude obchodovat s akciemi, může být zájem o rozšíření na hmotné jednotky, pokud například máme zahradu s větší rozlohou a ta nám pomáhá v rodinném hospodaření. Také otázka měn a jejich převodu může být silným pilířem našeho snažení. Z rozsahu záběru, který chceme pojmout do projektu a hlavně, který jsme v budoucnu schopni plnit daty a využívat, si stanovíme hranice systému.

Důležité je si uvědomit, že nevytváříme podvojné účetnictví nebo buzerační systém, ale stavíme si pomocníka, jehož sklad budeme roky plnit a využívat.

Zde jsme vedeni omezenými stupni volnosti z hlediska prostoru a času, ale také vazbami na výukové lekce, ke kterým by tato realizace měla směřovat.

Základní popis úlohy

Po definici ohraničení a koncepce začneme požadavky na výsledné funkce, pro někoho možná nelogicky. Podobně jako barák se sice staví od základů, ale v té době už musíte vědět, kolik bude pater a jak to všechno bude těžké a kde bude těžiště, jinak se staví základy k hvězdným branám.

Definice systému

Stanovíme si hranice systému, abychom později netápali mimo rámec, kterým si omezíme naše fantazie a sny na reálnou míru tak, že je lze dosáhnout a dlouhodobě udržovat. Dále musíme mít na mysli, že jde o školní příklad. Půjde tedy o mnohá zjednodušení.

Já zde definuji dvoučlennou rodinu, jednu hotovostní peněženku a jeden bankovní účet. Pro praktické použití si můžete počty těchto zdrojů libovolně zvýšit. Předpokládám, že hypoteční úvěr lze snadno převést a importovat na stejné úrovni, jako běžný účet bankovní.

Koncepce úlohy

Centrem dat bude tabulka jednotné struktury o finančních pohybech. Tato tabulka bude ve vztahu k uživateli pouze pro čtení. Ve stejné datové struktuře budeme pořizovat data o hotovostních obratech dávkovým způsobem a na trvalou tabulku je ukládat. Přijatá data z bankovních účtů budeme transformovat také do této centrální struktury, tam budou zkontrolována a před jejich uložením je doplníme hodnotami o osobách a účelech. Kompletní data z banky nezahodíme, ale budeme je archivovat.

Datové struktury vyplynou z další analýzy úlohy. Důležitý je kalendář a jeho sledování, ale vzhledem k úzkým vazbám na bankovní účty dávám jako sledované období jeden měsíc, banky zatím asi jinou závěrku neumí.

Definice funkcí

  • hotovost (pořízení a oprava dat)
  • bankovní účty (import dat, transformace na jednotnou strukturu, doplnění typů pohybů a osob, pohled na detaily a součty)
  • archivace úplných importovaných dat a přístup k nim (v praxi použijeme jenom malou část)
  • hledání v uložených datech
  • bilance příjmů a výdajů v hrubém nebo podrobném členění
  • základní informační panel

Způsob uvažování nad funkcemi

Abych přiblížil, jak je důležité mít rozmyšleno, čeho chceme dosáhnout, vezmu první definovanou funkci Hotovost a rozeberu ji z pohledu očekávaných akcí.

Je třeba si ale jasně říci, že jde o uvažování individuální, každý z nás může mít jiný pohled na problém a jiné požadavky.

Někomu postačí holé formuláře a součty, jiný bude chtít škálu doprovodných funkcí.

Detailní funkce

  • pořízení dat
  • vyhledávání v datech
  • součtované pohledy do dat

Další specifikace detailu

Také zde bude možná škála rozsahu práce, tedy v tomto stádiu spíše počet a kvalita plánovaných funkcí, tedy široká. Funkce kromě pořízení budou společné pro všechny záznamy, tedy i banku. Jako příklad uvedu první detailní funkci Pořízení dat. Pomineme minimalistický přístup jako zobrazení tabulky peněžního deníku v datové tabulce.

Střední požadavky na pořízení dat

  • při spuštění funkce pořizování dat zobrazit zprávu, jaké je poslední pořízené datum a vložená částka.
  • zobrazení tabulky peněžního deníku v datové tabulce
  • na konci pořizování dat opět zobrazit zprávu, jaký je součet hodnot dnes pořízených záznamů a jejich počet
  • v případě nesouhlasu se součty možnost vrátit se na pořizování dat

Datové struktury

Pro vytvoření datových tabulek nemusíme studovat právní předpisy ani čekat na vyjádření zadavatele. Vše je v naší hlavě, záleží na zkušenostech a fantazii. Zde položíme jednoduchý základ, který můžeme případně dále upravovat, ale pokusíme se být co nejpřesnější. Nebudeme se zde zabývat metodami návrhu databází a datových struktur. Základem je zjistit, kam plynou peníze z našich účtů a z peněženky, nebo najít několik let starý záznam. Pro identifikaci osoby, účelu a zdroje pohybu vytvoříme číselníky. Pro vyhledávání a uchování nezbytných pracovních proměnných si vytvoříme parametrickou tabulku.

Finance – centrální datová struktura

Pole: /ID/Datum/Zdroj/O­soba/Ucel/Cas­tka/Poznamka/

Číselníky

Zdroj

Označení, odkud se obrat do tabulky dostal. Abychom nemuseli dělat další číselník pro banky, jsou zde pole potřebná pro kontrolu importů,, která u hotovosti nevyužijeme.

Pole: /Zdroj/IBAN/U­cet/Banka/Nazev/U­zaverkaDatum/U­zaverkaStav/Im­portSoubor/Poz­namka/

Hodnoty pole Zdroj:

  • f – banka Fio (případná další písmena použiji u jiných bankovních účtů)
  • h – hotovost (možné hodnoty jsou také 1 a 2 pro kasu jednoho a druhého člena rodiny atd.)

Osoba

Pole: /Titul/Jmeno/Prij­meni/Adresa/Te­lefon/Poznamka/

Titul ve smyslu přezdívka

Hodnoty pole Titul:

  • Ty
  • Oba

Účel

Zdržím se u této položky komentářem. V každém větším systému bych raději volil dva číselníky, tedy Typ a Účel, kde Typ by byl nadřazený, např. auto, dům, domácnost a účel by byl definován pouze jednou, např. spotřeba by byla jedna pro auto, dům i pro domácnost. Podobných drobností jsou ale desítky, systém bobtná a stává se složitým na pořizování dat i jako školní příklad. Proto zde máme účel jenom jeden a číselník se dvěma pozicemi, první k typu, druhá k jeho podrobnostem.

Pole: /Ucel(!! Textové pole)/Nazev/Poz­namka/

Hodnoty pole Ucel:

  • 0Příjmy
  • 01 – Mzda
  • 02 – Jiný příjem
  • 09 - Ostatní
  • 1Domácnost
  • 11 – Potraviny a jídlo
  • 12 – Alkohol
  • 13 – Energie
  • 14 - Údržba
  • 19 - Ostatní
  • 2Auto
  • 21 – Opravy
  • 22 – Pojištění
  • 23 – Spotřeba
  • 29 – Ostatní

Možná se tato lekce programátorům nebo netrpělivým řešitelům zdá jako plané kecání, ale z mojí čtyřicetileté praxe je tento čas, kdy jenom sepisuji funkce, řadím, škrtám, doplňuji, sčítám, rozčleňuji a zase hromadím nové, jedním z nejlépe využitých, i když se to pozná až v průběhu práce.

Tím končí první lekce.

V příští, Osobní finance v MS Access – Datové tabulky, už budeme pracovat s databází.


 

Všechny články v sekci
Osobní finance v MS Access
Přeskočit článek
(nedoporučujeme)
Osobní finance v MS Access – Datové tabulky
Článek pro vás napsal Luboš Marvan
Avatar
Uživatelské hodnocení:
3 hlasů
Snahou autora je žít podle svého
Aktivity