JAK NA SUPERBÁZI
Vážení příznivci Amigy a Superbase zvláště, vítám Vás tímto u druhého dílu
seriálu o tomto databázovém programu. V předcházejícím čísle ATLANTIDA News jsem
Vám vysvětlil několik základních pojmů v oboru databází, ukázal Vám, jak se v
Superbasi vytváří struktura jednoduchého adresáře a dnes nás čeká jeho plnění
záznamy (tedy adresáře adresami) a ukážeme si také jak se editují a prohlíží a
třídí a vyhledávají a ... a o tom dalším snad později.
Superbase Professional - Díl 2.
V prvním díle jsme si již společně vytvořili celou strukturu databázového
souboru "Adresář" a skončili jsme právě v místě, kde se vše po zadání indexů
uložilo na disk. Dnes budeme pochopitelně pokračovat. Náš soubor je hotov, ale
chybí mu data. V našem případě to jsou ty adresy.
Předpokládám, že jste si dovolili od minule počítač vypnout (snad jste ho dva
měsíce natrápili zapnutý ???!!!), a proto by jsem Vám měl nejprve ukázat, jak se
soubor uložený na disk otevírá. Nyní tedy opět spusťte program Superbase
Professional stejným způsobem jako minule a počkejte než se Vám objeví úvodní
obrazovka. Pokud používáte verze SBpro4 v1.0 nebo SBase4 Pro v1.30 mělo by se
před Vámi objevit přibližně to, co vidíte zda na otištěném obrázku.
Nyní otevřete v menu "Project" položky "Open" a "File", případně použijte
kombinace kláves pravá Amiga a "O". V registru, který se Vám následně objeví
zvolte jméno souboru, který chcete otevřít. V našem případě "Adresar" a opět
klikněte na "OK". V případě, že jste minule uložili tento soubor na jinou
disketu nebo do jiného adresáře, musíte tento adresář otevřít (to je v tom malém
okénku napravo).
U verze SBpro2.01 a 3.01 musíte použít před "Open File" ještě "Directory
Change", pro změnu aktuálního adresáře, protože tyto verze nedokáží otevírat
soubory z jiného než aktuálního adresáře.
Poté Vás program požádá o zadání hesla, napište to s největší prioritou, aby
jste mohli číst, zapisovat i mazat záznamy. V našem případě to bylo heslo
"atlantida" a odešlete. Vzápětí se otevře obrazovka, kde budou v černém
obdélníku v pravém horním rohu vypsána všechna jména polí. Právě jste se dostali
do hlavní části programu Superbase, protože zde se odehrává vše důležité. Na
tomto místě budete prozatím zadávat i mazat záznamy, vyhledávat i listovat v
nich, ale to by jste tam museli také něco mít.
V menu "Record" zvolte položku "New" jako nový záznam (též možno stisknout pouze
pravá Amiga a "N"). Vzápětí se v řádku za názvem pole "Cislo" objevila číslice
"1" a kurzor je aktivní až na řádku "Prijmeni". Vysvětlení je zcela jednoduché.
Pokud si dobře vzpomínáte, v minulém díle jste definovali, že do pole "Cislo"
budou automaticky přiřazována pořadová čísla (v tomto případě jednička znamená
pochopitelně první záznam), a že toto pole bude pouze pro čtení (Read only - vy
jako uživatel ho nemůžete editovat). Proto počítač dle vzorce, který jste při
definování databázového souboru zadali v okně "Constant formula for Cislo",
vygeneroval onu jedničku, zapsal ji do pole a protože je pouze pro čtení, rovnou
přeskočil na další řádek - pole "Prijmeni". Tam nyní můžete zadat příjmení první
osoby ve Vašem adresáři. Pokud používáte SBpro 2.01, 3.01 nebo programem SBpatch
(nalézá se na disketě Národní prostředí 11 / AmigaInfo - viz. články "Pracujeme
v superbázi" v ATLANTIDA News Září 94 strany 33-34 a "České národní prostředí a
lokalizace- 2. část" v tomto čísle) upravené SBpro4 či SBase4 můžete zadávat do
obsahů polí texty včetně diakritiky, ti ostatní si musí odpustit háčky a čárky
(místo "Novák František" píší "Novak Frantisek" atd.).
Napište tedy například "Novák" a stiskněte Enter, kurzor automaticky přeskočí na
další pole (řádek), ale při té příležitosti ještě změní všechna malá písmena v
příjmení pana Nováka na velká. Vy můžete zadat křestní jméno, třeba "František".
Takto pokračujte ve vyplňování ulice s číslem popisným ("Neznámá 1994"),
poštovním směrovacím číslem ("120 00"), městem ("Praha 2"), telefonním číslem
("(02) 123 987") a nakonec i poznámkou (mažete zadat libovolný text. třeba
"Ještě větší blbec, než jsme doufali." - toto je pouze příklad).
Aby jsme si mohli ukázat co všechno Superbáze umožňuje, definovali jsme v
minulém díle pole datum a částka. V nasetu případě budou představovat datum, kdy
jste dané osobě zapůjčili nějaký finanční obnos, a jeho velikost v poli
"Částka". Jako datum zadejte například "28.10.94" a částku "10000" (představuje
10 000.- Kč). Po potvrzení klávesou Enter se objeví requester s textem "Save
this record?". Program se Vás ptá, zda má uložit tento záznam na disk. Pokud ho
chcete uložit, klikněte na "OK" nebo ještě jednou stiskněte Enter, v opačném
případě klikněte na "Cancel" nebo klávesu Escape (Esc).
Většina z Vás si v této chvíli asi povšimla obsahu pole "Částka", kde se
objevilo asi toto "10000.00". Pokud jste již dříve v Superbázi pracovali, možná
již máte program nakonfigurován a obsah tohoto pole bude trochu jiný. Nyní Vám
ale ukáži, jak Superbázi nakonfigurovat tak, aby pracovala s naší měnovou
jednotkou - korunou českou (Kč). V programu SBpro4 a výše (u nižších verzí je
možnost konfigurace omezená, ale určitě si to také vyzkoušejte) otevřete v menu
"Set" položku "System options" a v okně, které se objevilo, klikněte vlevo dole
na "More" (další volby). Zde klikněte ukazatelem myši do políčka pod nápisem
"Currency" (měna, peníze), kde je onen znak "$". Vymažte ho a místo něj napište
"Kč", tím dosáhnete, že před finanční částkou v poli "částka" se objeví zkratka
Kč. Jenomže dle normy se u nás píše zkratka měny už za čárku. Takže ještě
klikněte na gagdet "Suffix" (t.j. přípona), který tuto chybu odstraní. Další
chybičkou je vypisování desetinné tečky místo u nás používané desetinné čárky.
To opravíte v malém okénku "Decimal" (desetiny) pod nápisem "Number format", do
kterého napíšete ",". Tisíce se dle našich norem neoddělují, ale ve světe se
běžně užívá tečka, takže u "1000" si ji můžete napsat ("."). Vše nakonec
odsouhlaste "OK" v jednom i druhém okně. Toto nakonfigurování se automaticky
uloží na disk a vy s ním budete pracovat kdykoliv spustíte superbázi.
První záznam tedy může vypadat asi takto:
Číslo: 1
Příjmení: NOVÁK František
Ulice: Neznámá 1994
PSČ: 120 00
Město: Praha 2
Telefon: (02) 123 987
Poznámka: Ještě větší blbec než jsme doufali.
Datum: 28.10.94
Částka: 10000,00 Kč
Nyní potřebujeme zadat ještě několik osob do našeho adresáře. Opět menu
"Record" položka "New" nebo využijte kombinace kláves pravá Amiga a "N". V
obsahu pole "Číslo" se objevila číslice 2, která zde zcela logicky představuje
další (tentokráte druhý) záznam. Pokračujte v zadávání příjmením, jménem atd.
dle níže uvedených příkladů. Opište je do své databáze pečlivě, se všemi
detaily, protože na některé položky se budu později odvolávat. Po zadání dvou
nových záznamů hned po sobě, se objeví mimo jiné requester "Continue Data
Entry?". Počítač se Vás dotazuje zda chcete pokračovat v zadávání dalšího nového
záznamu nebo ne. Pokud ano, klikněte na "OK" nebo stiskněte klávesu Enter a
budete moci přímo editovat další záznam (ušetříte si tím otvírání menu "Record"
položka "New" nebo kombinaci kláves pravá Amiga a "N"). V případě, že nechcete
pokračovat v zadávání nového záznamu postačí kliknout na "Cancel" či klávesa
Escape. Postupně zadejte do svého adresáře těchto devět dalších adres a případně
ještě nějaké další Vámi vymyslené:
Číslo: 2
BREBURDA Josef
Slepá 25
180 00 Praha 8
(02) 786 66 23
Zcela bezvýznamná osoba.
28.10.94
5000.00 Kč
Číslo: 3
PRCÍK Václav
Hřbitovní 153
500 10 Trutnov
(049) 561 93
Vynikající přítel, vždy mi rád pomůže.
1.11.94
0.00 Kč
Číslo: 4
NEMRAVA Pavel
Pod lipou 1941
320 12 Chomutov
(0310) 819 64
Stále někam pospíchá.
15.11.94
20000,00 Kč
Číslo: 5
ANDONOV Martin
Heydukova 18
438 01 Žatec
(018) 279 617
Nic důležitého.
30.11.94
150,00 Kč
Číslo: 6
HERNOVÁ Miloslava
Chelčického 661
470 01 Bruntál
(0425 ) 913 62
POZOR - je to ještě slečna!!!
1.12.94
2500,00 Kč
Číslo: 7
ŠIMEK Petr
Lermontova 72
160 00 Praha 6
(02) 450 25 63
5.12.94
800,00 Kč
Číslo: 8
JAKOUBEK Jakub
Pionýrů 828
560 03 Česká Třebová
(0456) 2590
Prodal A500 a koupil A1200.
5.11.94
1500,00 Kč
Číslo: 9
KADLEC Stanislav
Wilsonova 125
274 01 Slaný
Nemá ani telefon.
5.11.94
12500,00 Kč
Číslo: 10
KOZEL Tomáš
Jaselská 6
792 01 Bruntál
Abnormálně nespolehlivá osoba.
7. 11 .94
800,00 Kč
Veškeré údaje (jména, adresy, datumy ...) opisujte přesně, protože si na nich
předvedeme možnosti tohoto databázového programu. (Poznámka autora: v tomto
odstavci se budou objevovat výrazy jako záznam, pole, název pole..., podrobné
vysvětlení co znamenají bylo obsaženo v předcházejícím díle). Jistě se během své
práce dostanete do situace, kdy budete potřebovat nějaký záznam opravit. K
tomuto účelu nalezněte záznam, kde chcete něco pozměnit a použijte menu "Edit"
položka "Current" (kombinace kláves Amiga a E). Nyní můžete daný záznam editovat
a cokoliv v něm pozměnit. Pro přesun pojednotlivých znacích se používají
kurzorové šipky, Shift + šipka vpravo (nebo vlevo) znamená skok na konec
(začátek) obsahu pole (tedy například konec/začátek jména). Toto vše se zdá
trochu složité (časem si na to určitě zvyknete), ale pro začátek to jde i mnohem
jednodušeji. Pomocí myši, kterou pouze ukážete a levým tlačítkem klikněte na
místo, kde chcete mít kurzor a on tam bude. Pro potvrzení obsahu pole a
přeskočení do dalšího (o řádek níže) se používá Enter a Ctrl Enter znamená
návrat do předcházejícího pole. Pro uložení všech oprav v záznamu na disk můžete
odesílat jednotlivá pole Enterem až do konce (poté se automaticky uloží) nebo
použít menu "Record" položka "Save" resp. kombinace kláves levá Amiga + "S".
A nyní se dostáváme k tomu nejdůležitějšímu, k čemu byly vlastně databáze
vytvořeny: prohlížení záznamů, jejich rychlé třídění a vyhledávání. Pro pohodlné
ovládání a prohlížení záznamů je určena lišta, na obrazovce úplně dole, která se
ovládá pomocí myši, ale většinu symbolů lze zadat velmi pohodlně i z klávesnice.
Zde je význam, jednotlivých znaků této lišty:
- pauza při rychloprohlížení - mezerník
[] - stop při rychloprohlížení - mezerník a potom K <- skok na začátek databáze
- Shift + K vlevo
<<- rychloprohlížení směrem na začátek - Shift+K nahoru
<- skok o jeden záznam směrem na začátek - K vlevo
>- skok o jeden záznam směrem ke konci - K vpravo
>>- rychloprohlížení směrem ke konci - Shift + K vpravo >-skok na konec databáze
- Shift + K vlevo
?- vyhledávání záznamu dle aktuálního indexu - ?= - filter (zadání podmínky) - =
[o] - zobrazení externího souboru (vysvětlení v některém z dalších dílů)
(Poznámka: písmeno "K" představuje kurzorovou šipku.)
Jaký význam mají základní úkony jako posun o jeden záznam dopředu/dozadu nebo
rychloprohlížení snad nemusím vysvětlovat, takže se na tomto místě pozastavím
pouze u vyhledávání záznamu, použití filtru a změna indexu pro třídění. Nyní
jste se dostali do stavu, kdy máte svou databázi naplněnu určitým počtem záznamů
(v našem případě 10), a Vy potřebujete znát třeba telefonní číslo pana Jakoubka.
Zde Vám předkládám jednoduchý návod jak na to jít nejlépe. Předpokládejme, že
jste si právě otevřel svou databázi a pamatujete si pouze příjmení dané osoby,
nic více.
1. Podívejte se do horní lišty, kde je mimo jiné obsaženo toto "... /ADRESAR
indexed on Cislo". Program Vám oznamuje název databázového souboru, který máte
právě otevřen a název pole dle kterého se provádí třídění (aktuální index).
Nejjednodušší ale zároveň nejhloupější a nejpomalejší metoda jak nalézt záznam
pana Jakoubka: skočit na začátek (záznam kde je Cislo: 1) a postupně po jednom
záznamu listovat až k místu, kde bude hledaná osoba - ABSOLUTNÍ HLOUPOST!!!. V
našem případě by se tato metoda dala použit, protože v adresáři máme jen deset
osob, ale představte si, že by jste takto měli hledat někoho v databázi, kde
jsou tisíce záznamu!!!??? Situace by byla mnohem jednodušší, kdyby jste znali
pořadové číslo hledané osoby, postačilo by kliknout myší na znak "?" v dolní
liště (případně pouze stisknout klávesu "?") a do okénka, které se vzápětí
objeví zadat číslo hledaného záznamu (např. 3, stisknout Enter a Superbase
okamžitě vyhledá a zobrazí záznam, kde je pořadové číslo 3 - pan PRCÍK Václav,
Trutnov).
2. Protože však znáte pouze příjmení, musíte změnit aktuální index: nabídka
"Project, Open, Index..." (klávesa pravá Amiga + I), v okně, které se objeví je
nabídka všech dostupných indexů, klikněte na "Prijmeni" a opusťte okno "OK". V
horní liště Superbase hlásí změnu indexu "... /ADRESAR indexed on Prijmeni" a
veškeré třídění bude od této chvíle probíhat abecedně dle příjmení osob v
adresáři.
3. Klikněte na "?" a zadejte hledané jméno (Jakoubek - je úplně jedno zda budete
zadávat velkými či malými písmeny). Zároveň není podmínkou zadávat celé jméno -
někdy postačí jen několik znaků a počítač nalezne nejbližší podobný následující
záznam. Tedy v případě pana Jakoubka by stačilo udat "jak" a Superbase by sice
ohlásila "jak: Key not found..." ("jak" - nenalezen, nejbližší následující je
...) a stejně by Vám zobrazila záznam pana Jakoubka. Podobně "her" nalezne
záznam paní Hernové. Pokud pracujete v nějaké větší databázi doporučuji po
vyhledání ještě přelistovat na následující záznam (mohlo by tam být zapsáno více
osob se stejným příjmením).
Příklad: Potřebujete vyhledat záznam jisté osoby z Bruntálu, ale nevíte o ni už
nic dalšího. Není problém. Podívejte se na ovládací lištu na v dolním okraji
obrazovky, v její pravé části je "=" (filter), a klikněte na něj. Objeví se okno
filtru pro soubor "Adresar". A nyní si ujasněte co víte, osoba je z Bruntálu,
tedy klikněte na "Mesto", "LIKE" a do okénka VALUE napište "Bruntal" (stačí bez
uvozovek) a Enter. V nejspodnějším řádku by se nyní mělo objevit asi toto:
Mesto.ADRESAR LIKE "Bruntal". Protože jsme použili slůvko LIKE místo operátoru
"=", budou nyní vypisovány a abecedně tříděny dle příjmení osoby v jejichž
záznamech je město "Bruntál", ale i "bruntál" či "BRUNTÁL". Při použití "="
místo LIKE by se vypisovaly pouze záznamy, kde by se město stoprocentně
shodovalo s tím co za tento znak napíšete, tedy pouze "Bruntál" a nic víc. Proto
je použití LIKE mnohem výhodnější. Klikněte tedy "OK", okno se uzavře a znak pro
filtr v dolní liště je zvýrazněn, čímž Vám Superbase oznamuje, že definovaný
filtr je aktivní. Pokud nyní budete provádět prohlížení záznamů, budete se
pohybovat pouze v záznamech splňujících podmínku definovanou ve filtru (pani
Hernova (6) a pan Kozel (10)). Filtr zrušíte, pokud opět kliknete na jeho
symbol.
Podobný případ je, pokud by jste chtěli vypisovat pouze osoby z Prahy, tady to
ovšem má malý zádrhel. Při zadávání adres jste psali i číslo čtvrti (nebo snad
obvodu ???). Znovu klikněte na symbol pro filtr, pokud jste ho ještě nezrušili
musíte kliknout ještě jednou, aby se Vám otevřelo staré známé okno a vy jste
mohli opět zadávat novou podmínku. Použijte gagdet "Clear" (vymazání staré
podmínky) a začneme definovat nový filtr: opět "Mesto", "LIKE" a napište
"Praha*". Nyní vysvětlení k té hvězdičce, která zde je takzvaným zástupným
znakem, představujícím libovolné množství libovolných znaků za slovem "Praha".
Takže filtr bude zobrazovat i záznamy kde je "Praha 2", "Praha XX" atd., bez
tohoto zástupného znaku by jste zobrazovali pouze záznamy, u kterých je u města
udáno jen: Praha (takový záznam v našem adresáři není, ale můžete si to
vyzkoušet.
Podmínky lze velmi efektivně i spojovat, takže pokud chcete zobrazovat osoby z
Prahy, které Vám dluží více jak 6000,- Kč, upravte předcházející filtr. Znovu
otevřete okno pro definování filtru, vše ponechte a přidáte jen podmínku: "AND"
(logický operátor - a současně), "Castka", ">" a do řádku value napište "6000".
V okénku by tedy mělo být asi toto:
Mesto.ADRESAR LIKE "Praha*" AND Castka.ADRESAR > 6000
Po aktivaci tohoto filtru by Superbase měla zobrazovat pouze jediný záznam: pan
NOVÁK Frantisek (1), Praha 2, 10.000,- Kč. Sami si vyzkoušejte všechny další
možnosti a kombinace filtrů. Zde je pár příkladů:
Castka.ADRESAR <= 5000
- všechny osoby, které dluží méně jak 5000,- Kč (včetně 5000,- Kč)
NOT (Mesto.ADRESAR LIKE "Praha*") - všechny mimopražské osoby
Datum.ADRESAR < "17.11.94"
- osoby, které si vypůjčili před 17.listopadem 1994
Telefon.ADRESAR = ""
- osoby, které nemají telefon
No, to by pro dnes (nebo pro tento měsíc???) asi stačilo!!! Tak zase příště,
u Superbase, nashledanou. Doufám že nic nevymažete, protože o mazání záznamů,
query reportech a ještě něco málo o filtrech si povíme zase v dalším čísle.
Těším se na další setkání u již 3. dílu. Vytlačiť článok
Pozn.: články boli naskenované ako text a preto obsahujú aj zopár chýb. Taktiež neručíme za zdrojové kódy (Asm, C, Arexx, AmigaGuide, Html) a odkazy na web. Dúfame, že napriek tomu vám táto databáza dobre poslúži.
Žiadna časť nesmie byť reprodukovaná alebo inak šírená bez písomného povolenia vydavatela © ATLANTIDA Publishing
none
|