3.5.3. SQL

SQL je zkratka pro Structured Query Language - jazyk strukturovaných dotazů (1970). V této kapitole stručně nastíníme možnosti tohoto jazyka, podrobný popis syntaxe každého příkazu lze nalézt např. v [1]. Jazyk SQL dnes plní řadu úloh, s některými jsme se již setkali:

Jazyk SQL je jazyk vysoké úrovně struktury a syntaxe, která je odvozena na základě anglického jazyka. Je specializovaný pro obsluhu databází a interaktivní práci s ní. Neobsahuje však příkazy nutné pro stavbu aplikačního programu (např. testy podmínek, skoky, cykly apod.). Proto je nutné používat tento jazyk ve spojení s programovacími jazyky (COBOL, C, atd.) nebo jako součást již naprogramované databázové aplikace.

Jazyk SQL má definován ANSI/ISO standard. Konkrétní SŘBD někdy ne zcela přesně tento standard dodržují, často jsou doplněny ještě další nadstandardní příkazy.

SQL umožňuje provádět tyto hlavní činnosti:

Definici datových struktur (např. struktura relací v relačním SŘBD)
CREATE TABLE

-

vytvoření tabulky.
DROP TABLE

-

zrušení tabulky.
ALTER TABLE

-

změna struktury existující tabulky.
CREATE VIEW

-

přidá pohled do SŘBD. Pohled je virtuální tabulka vzniklá relační operací s fyzickými tabulkami. Využívají relační algebry, zejména projekce, selekce a spojení.
DROP VIEW

-

odstraní pohled z SŘBD.
CREATE INDEX

-

vytvoří index pro sloupec.
DROP INDEX

-

zruší index pro sloupec.
CREATE SYNONYM

-

vytvoří jméno-synonymum pro tabulku.
DROP SYNONYM

-

zruší jméno-synonymum pro tabulku.
COMENT

-

definuje komentář pro tabulku.
LABEL

-

definuje popisy sloupců
Získávání dat
SELECT

-

získání dat z databáze.
Manipulaci s daty (změna, rušení, vkládání)
INSERT

-

uložení záznamu do databáze.
DELETE

-

odstranění záznamu z databáze.
UPDATE

-

modifikace existující databáze.
Kontrolu přístupu k datům - ochrana před neoprávněným přístupem
GRANT

-

definuje práva uživatelů.
REVOKE

-

odebírá práva uživatelům.
Řízení transakcí
COMMIT

-

ukončuje aktivní transakci.
ROLLBACK

-

přerušuje aktivní transakci.
Programové příkazy
DECLARE

-

definuje kursor pro dotaz.
EXPLAIN

-

popisuje plán přístupu.
OPEN

-

otevírá kursor pro dotaz.
FETCH

-

získání řádků dat z dotazu.
CLOSE

-

uzavírá kursor.
PREPARE

-

připraví SQL pro dynamický přístup.
EXECUTE

-

ukončuje SQL dynamický přístup.
DESCRIBE

-

popisuje připravovaný dotaz.
Agregované funkce (použitelné v příkazu SELECT)
COUNT()

-

počet hodnot ve sloupci.
SUM()

-

součet hodnot v číselném sloupci.
MIN()

-

nejmenší hodnota ve znakovém nebo číselném sloupci.
MAX()

-

největší hodnota ve znakovém nebo číselném sloupci.
AVG()

-

aritmetický průměr hodnot v číselném sloupci.
Predikáty
BETWEEN

-

testuje, zde hodnota leží uvnitř určeného intervalu (včetně krajních hodnot).
IN

-

testuje, zda je hodnota prvkem seznamu, seznam může být zadán jako sloupec tabulky, paměová proměnná apod.
LIKE

-

srovnává znakový sloupec s určeným řetězcem, znak "-" nahrazuje jeden znak a "%" nahrazuje libovolný počet znaků.
Datové typy
CHAR(length), CHARACTER(length)

-

řetězec pevné délky.
INTEGER, INT

-

celé číslo.
SMALLINT

-

malé celé číslo.
NUMERIC(precision, scale),
DECIMAL(precision, scale),
DEC(precision, scale)

-

desetinné číslo s pevnou desetinnou tečkou.
FLOAT(precision)

-

číslo s plovoucí desetinnou tečkou.
REAL

-

reálná čísla s vědeckotechnickým formátem.
DOUBLE PRECISION

-

číslo s dvojitou přesností.
LOGICAL

-

logická hodnota Ano/Ne.
Konkrétní rozsahy jednotlivých datových typů závisí na konkrétním SŘBD. V řadě aplikací se liší, přidávají se další datové typy nebo naopak některé chybí. A to i přes existenci normy ANSI pro SQL.

Příklad použití SQL

Následující příklad ukazuje použití SQL při základních databázových operacích, jako je založení tabulky, vložení a rušení dat, výběr dat, spojení tabulek a rušení tabulek.

Vytvoření tabulek

CREATE TABLE Studenti

(Č_studenta INTEGER, Jmeno CHAR(15), Adresa CHAR(50), Č_studenta INTEGER)

PRIMARY KEY (Č_studenta);

CREATE TABLE Katedry

(Č_studenta INTEGER, Fakulta CHAR(15)) PRIMARY KEY (Č_studenta);

Vkládání dat

INSERT INTO Studenti (0900, "Novák", "Brno",352);

INSERT INTO Katedry (352, "strojní");

Rušení dat:

DELETE FROM Studenti WHERE Jmeno="Mach";

Změna dat v tabulce

UPDATE STUDENI SET Č_studenta=352 WHERE Č_studenta=456;

Výběr dat, spojení tabulek

SELECT Jmeno, Adresa FROM Studenti WHERE Č_studenta=456 AND Č_studenta>1000

SELECT Jmeno, Adresa FROM Studenti, Katedry WHERE Studenti.Č_studenta=Katedry.Č_studenta AND Studenti.Č_studenta=456;

Zrušení tabulek

DROP TABLE Studenti;

DROP TABLE Katedry;

4. Událostmi řízená objektově orientovaná relační databáze

Následující text je věnován popisu událostmi řízené objektové databáze Microsoft Access for Windows ve verzi 2.0. Je samozřejmě nemožné vytvořit tak dokonalý text, jako je manuál poskytovaný výrobcem, ani to není účel této publikace. Proto se soustředíme především na zdolávání úskalí, která před začínajícím uživatelem stojí a zaměříme se na obecné otázky relačních databázových systémů. Podrobněji popíšeme zajímavé části a uvedeme několik příkladů. Na začátku každé kapitoly popíšeme menu programu. Někdy jsou popisy delší a pro první čtení nezáživné. Není problém je přeskočit a vrátit se k nim až v případě potřeby. Podrobnosti jsou obvykle vynechány, nebo jsou k nalezení ve velmi kvalitní nápovědě (Help). Přestože databáze již existuje v české mutaci, používáme všechny názvy činností v anglických názvech. Takto s nimi pracuje programátor. Vytvořená aplikace pak používá texty zadané programátorem, může tedy být plně česká.

4.1. Spuštění programu

Vědomě je přeskočena fáze instalace programu. Výrobce dodává dostatek informací a většina uživatelů program instalovat nebude. Proto můžeme přejít přímo ke spuštění programu. Pokud nebyl nastaven chráněný přístup (bude popsán dále), ihned se přesuneme do programu. Po spuštění Access nabídne několik činností (pokud jsme při dřívějším spuštění tuto nabídku nezakázali), jako vytvoření nové databáze, spuštění ukázkové databáze apod. Když tuto možnost zrušíme (Cancel), dostaneme se do jádra programu. V nabídce menu jsou dvě položky na vodorovné liště, po jejich výběru se rozvine obvyklé roletové menu s nabídkami činností. Jako u jiných aplikací pod Windows, i zde má menu dynamický charakter, jeho položky se mění podle situace. Nepřístupné položky se zobrazují šedou barvou. Ovládání klávesnicí i myší je také obvyklé.

Popíšeme tedy jednotlivé položky menu a činnosti, které nabízejí :

4.1.1. Menu File

New Database... Ctrl+N

-

vytvoření nové databáze.
Open Database... Ctrl+O

-

otevření existující databáze.
Compact Database...

-

"zhutnění" databáze. Pokud se s databází hodně manipulovalo, obsahuje soubor již zrušené záznamy, jeho jednotlivé části mohou být na disku zpřeházeny, apod. Dojde k jejich vhodnému seřazení.
Convert Database...

-

konverze databáze z verze 1.0 a 1.1 na verzi 2.0.
Encrypt/Decrypt Database...

-

zašifrování (odšifrování) databáze, aby byla čitelná jen pod autorizovanou instalací programu Access.
Repair Database...

-

oprava porušené databáze.
Toolbars...  

-

určení, které lišty nástrojů (Toolbars) neboli tlačítkové lišty mají být zobrazeny.
Unhide...  

-

zobrazení dříve otevřeného okna (činnost je nepřístupná).
Run Macro...  

-

spuštění makra (činnost je nepřístupná).
Add-ins >

-

připojení doplňkových programových možností. Jsou definovány v inicializačním souboru .INI.
1 ÷ 4 název souboru

-

názvy naposledy otevřených databází pro rychlý přístup k nim.
Exit

-

opuštění programu Microsoft Access.
Většina činností pracuje s konkrétní databází. Databáze v objektovém prostředí nabývá poněkud širšího pojmu. Je to soubor, který obsahuje jak data, tak operace s nimi v jednom celku. U databázových systémů typu dBase III+ apod. byly jednotlivé části v samostatných souborech. Tady tvoří jeden celek. Soubor databáze má implicitní příponu mdb.

Všechny činnosti s databází otevírají okno pro výběr databáze. Obvyklým postupem zvolíme z nabídky požadovaný soubor nebo název nového souboru. Zajímavé jsou položky :

Read Only

-

ukazuje na skutečnost, že databáze je určena jen pro čtení,
Exclusive

-

určuje, zda je databáze určena jedinému uživateli. Hlášení souvisí
    s nastavením parametrů pro víceuživatelský systém.
U některých činností (Compact Database apod.) se určuje název zdrojového souboru a následně cílového souboru. Postup je vždy stejný.

4.1.2. Menu Help

Contents

-

kontextová nápověda.
Search...

-

vyhledání požadované informace ze seznamu hesel.
Cue Cards

-

průvodce programem s výukou obsluhy.
Technical Support

-

odpovědi na nejčastější problémy a otázky.
About Microsoft Access...

-

informace o instalaci programu, licenční jméno apod.
Činnost nápovědy je obvyklá prostředí Windows, proto se jí nebudeme dále zabývat.

4.2. Otevření databáze

Každý databázový soubor se skládá z objektů několika tříd. Jakmile otevřeme databázi, objeví se seznam těchto objektů rozdělený do tříd, viz obr. 13. Na ukázce je databáze "Ukázka", se kterou budeme pracovat v následujícím textu při ukázkách různých činností.

Obr.13. Objekty databáze

V horní části okna databáze jsou tři tlačítka pro základní činnosti s objektem. Pro různé třídy objektů se tyto činnosti svými názvy poněkud liší. Mají přitom obdobný význam :

New

-

vytvoření nového objektu,
Open (Run, Preview)

-

zobrazení objektu nebo jeho provedení,
Design

-

úprava vzhledu, vlastností objektu apod.
Jednotlivým objektům se budeme věnovat podrobněji v následujících kapitolách. Posloupnost jejich tvorby při zpracování úlohy je naznačena jejich pořadím shora - dolů. Ale není tomu tak vždy. Nyní popíšeme opět menu a všimneme si některých zajímavostí.

4.2.1. Menu File

New Database... Ctrl+N

-

vytvoření nové databáze.
Open Database... Ctrl+O

-

otevření existující databáze.
Close Database

-

uzavření aktivní databáze.
New >

-

vytvoření nového objektu, následně je nabídnut seznam tříd objektů.
Rename...  

-

přejmenování objektu.
Output To...  

-

export dat do souboru ve formátu *.XLS - Excel, *.RTF - Rich Text Format, *.TXT - DOS Text.
Import...

-

importování dat do tabulky z jiné databáze nebo jiného formátu.
Export...

-

exportování dat z tabulky do jiného formátu.
Attach Table...

-

připojení nové tabulky z jiné databáze nebo jiného formátu.
Imp/Exp Setup...

-

uložení parametrů programu do textového souboru nebo načtení téhož z textového souboru.
Print Setup...

-

nastavení parametrů pro tisk. Nastavuje se pro každý objekt databáze samostatně.
Print Preview

-

ukázka, jak bude vypadat tisk zvoleného objektu na tiskárně. Zobrazí stránku papíru s výstupem. Pomocí lupy je možno se podívat na detail.
Print... Ctrl+P

-

tisk objektu. Nejprve se nastaví parametry pro tiskárnu.
Print Definition...

-

tisk popisu aktuálního objektu. Je možno nastavit rozsah údajů, zda chceme také vlastnosti položek, vazby, přístupová práva apod.
Send

-

vyslání objektu elektronickou poštou ve standardu MAPI.
Run Macro...

-

spuštění některého z hotových maker (objekt třídy makro, tvorba bude popsána později).
Add-ins >

-

připojení doplňkových programových možností. Jsou definovány v inicializačním souboru .INI.
Exit

-

opuštění programu Microsoft Access.
Zastavíme se u komunikace s jinými databázovými systémy. Access umožňuje zpracovávat formáty dat následujících typů. Umožňuje přitom export dat (E), import dat (I) a připojení dat dynamickou vazbou (A) :

Microsoft Access E, I, A - slouží pro převzetí objektu z jiné databáze.
Text (Delimited) E, I - textový soubor, položky jsou oddělovány oddělovačem.
Text (Fixed Width) E, I - textový soubor, položky mají pevnou délku.
Word for Windows Merge E - tabulka pro Mail Merge (tisk adres na dopisy a obálky).
Microsoft Excel 2.0 - 5.0 E, I
Lotus (WKS, WK1, a WK3) E, I
Paradox 3.x, 4.x E, I, A
FoxPro 2.0, 2.5, 2.6 E, I, A
dBASE III, IV E, I, A
Btrieve E, I, A
<SQL Database> E, I, A
Vzhledem k potížím s přijatým řešením, kdy všechny objekty databáze jsou uloženy v jednom souboru, se doporučuje rozdělit úlohu alespoň do dvou souborů. Jeden obsahuje data (tabulky a vazby mezi nimi), druhý ostatní objekty a tabulky připojuje dynamickou vazbou. Tak je možno odladit obsluhu na cvičných datech a pak připojit k ostrým datům apod. Jsou s tím však spojeny některé problémy. Jejich řešením se budeme zabývat samostatně.

4.2.2. Menu Edit

Undo Ctrl+Z

-

zrušení poslední operace.
Cut Ctrl+X

-

přesun označené oblasti do pomocné paměti (Clipboard).
Copy Ctrl+C

-

kopie označené oblasti do pomocné paměti.
Paste Ctrl+V

-

kopie obsahu pomocné paměti ke kurzoru.
Delete Del

-

zrušení označené oblasti.
Relationships...

-

vytvoření vazby mezi tabulkami.
Činnost těchto nabídek je běžně známa. Jediná zajímavá položka je Relationships. Budeme se jí věnovat při vytváření konkrétních tabulek.

4.2.3. Menu View

Tables

-

zobrazí seznam objektů třídy tabulka (Table).
Queries

-

zobrazí seznam objektů třídy dotaz (Query).
Forms

-

zobrazí seznam objektů třídy formulář (Form).
Reports

-

zobrazí seznam objektů třídy výstupní sestava (Report).
Macros

-

zobrazí seznam objektů třídy makro (Macro).
Modules

-

zobrazí seznam objektů třídy program (Module).
Code...

-

zobrazení programu (Module) s procedurami pro obsluhu událostí (Event procedure) u formulářů a sestav.
Toolbars...

-

určení, které lišty nástrojů (Toolbars) neboli tlačítkové lišty mají být zobrazeny.
Options...

-

zobrazí nastavení parametrů programu Access.
Zobrazení seznamu objektů požadované třídy je možno vyvolat myší, zmáčknutím tlačítka příslušné třídy objektů přímo v okně objektů databáze, viz obr. 13. Blíže popíšeme nastavení parametrů programu (Options). Některá nastavení budou důležitá pro další práci. V případě neočekávaného chování programu lze "závadu" často najít právě v nastavení parametrů programu. Nastavování provádíme v okně dle obr. 14. V horní části nejprve zvolíme oblast parametrů, v dolní se pak nastavují konkrétní parametry.

Obr.14. Okno pro nastavování parametrů programu

Nastavitelné parametry programu jsou rozděleny do následujících skupin. Za názvem parametru je uvedena implicitní nebo doporučená hodnota. Pod uvedenými názvy je možno parametry nastavovat i v programech. Pokud se hodnota parametru volí z nabídky možností, pak se v programu nastavuje číslem 0, 1, 2 ... podle pořadí hodnoty v nabídce.

General  

-

obecné parametry pro celý program
Show Status Bar Yes

-

určuje, zda má být zobrazen dolní informační řádek (stavový řádek).
Show System Objects No

-

určuje, zda mají být vidět systémové objekty. Je to řada tabulek, např MSystObjects obsahuje informace o všech objektech databáze (datum vytvoření apod.). Některé systémové objekty nejsou přístupné.
OLE/DDE Timeout (sec) 30

-

maximální doba čekání při komunikaci s jinými úlohami.
Built-In Toolbars Available
  Yes

-

určuje, zda mají být zobrazovány lišty s tlačítky pro často používané operace (Toolbar).
Confirm Document
Deletions Yes

-

určuje, zda má být žádáno potvrzení při rušení objektů.
Confirm Action Queries Yes

-

určuje, zda má být žádáno potvrzení při provádění dotazů.
New Database
Sort Order General

-

určuje způsob seřazení objektů databáze (General, Traditional Spanisch, Dutch, ... Czech, ...).
Ignore DDE Requests No

-

určuje, zda má být ignorována komunikace s jinými úlohami za běhu programu.
Default
Find/Replace Behavior Fast Search

-

určuje způsob prohledávání (Fast Search - rychlé hledání, General Search - standardní hledání, Start of Field Search - vyhledávání na začátku položky).
Default
Database Directory  

-

implicitní cesta k souborům.
Confirm Record Changes Yes

-

určuje, zda má být žádáno potvrzení změny záznamů.
Can Customize Toolbars Yes

-

určení, zda je možno vytvářet uživatelské lišty tlačítek.
Enable DDE Refresh Yes

-

povolena obnova dat DDE spojení.
First Weekday Sunday

-

od kterého dne začíná počítání týdne.
First Week Start on Jan 1 který týden má dostat číslo 1 (Start on Jan 1 - se dnem 1.1., - First 4-day Week - první se čtyřmi dny, First Full Week - první plný, tedy sedmidenní týden).
Show ToolTips Yes

-

zobrazení doplňkové nápovědy.
Collor Buttons on Toolbars Yes

-

zda v lištách tlačítek budou barevná tlačítka nebo ne. Má význam změnit při používání monochromatického monitoru.
Large Toolbar Buttons No

-

zvětšená tlačítka v lištách. Má smysl nastavit při používání vyššího rozlišení monitoru, kdy jsou tlačítka příliš malá.
Keyboard  

-

parametry pro klávesnici.
Arrow Key Behavior Next Field

-

kam má systém přejít při přechodu kurzoru za poslední znak položky (Next Field - přechod do další položky a její označení (Select), Next Character - plynule přejde do další položky).
Move After Enter Next Field

-

kam má systém přejít po zmáčknutí klávesy Enter (Next Field - na následující položku, Next Record - na následující záznam, No - nikam).
Cursor Stops
at First/Last Field No

-

zda se má kurzor zastavit na první či poslední položce záznamu (Yes) nebo pokračovat na další záznam (No).
Key Assignment Macro AutoKeys

-

jméno makra, které obsluhuje uživatelské "horké klávesy".
Printing  

-

nastavení okrajů pro tisk.
Left Margin 2,5 cm

-

levý okraj.
Right Margin 2,5 cm

-

pravý okraj.
Top Margin 2,5 cm

-

horní okraj.
Bottom Margin 2,5 cm

-

dolní okraj.
Form & Report Design  

-

parametry pro vytváření formulářů a sestav.
Form Template Normal

-

šablona pro formuláře.
Report Template Normal

-

šablona pro výstupní sestavy.
Objects Snap to Grid Yes

-

určuje, zda se objekty budou umísovat podle rastru.
Show Grid Yes

-

určuje, zda bude zobrazen pomocný rastr.
Selection Behavior Partialy...

-

při uchopení objektu jsou současně vybrány objekty: (Partialy Enclosed - částečně a plně vázané, Fully Enclosed - jen plně vázané, např. Label u objektu Text Box).
Show Ruler Yes

-

určuje, zda bude zobrazeno pomocné měřítko rozměrů.
Move Enclosed Controls No

-

zda se smí pohybovat s uzamčenými objekty.
Control Wizards Yes

-

zda mají být otevírány pomocné programy pro tvorbu objektů (Wizard - česky Průvodce, Pomocník, ale také Čaroděj...)
Datasheet  

-

parametry pro zobrazení tabulky (Table, Select Query).
Default      
Gridlines Behavior On

-

standardní zobrazení rastrovací čáry oddělující položky.
Default Column Width 2,5 cm

-

standardní šířka sloupců.
Default Font Name MS Sans Serif jméno standardního fontu.
Default Font Size 8

-

výška písma standardního fontu.
Default Font Weight Normal

-

standardní způsob kreslení (Thin, Extra Light, Light, Normal apod.).
Default Font Italic No

-

standardní písmo skloněné.
Default Font Underline No

-

standardní písmo podtržené.
Query Design  

-

parametry pro vytváření dotazu (Query).
Output All Fields No

-

zda se ve výstupu objeví všechny položky.
Run Permissions User's

-

spuštění s určenými vlastnickými právy (Owner's - autora, User's - uživatele).
Show Table Names No

-

zobrazování řádku se jmény tabulek.
Macro Design  

-

parametry pro vytváření makra (Macro) Změna nastavení parametrů se projeví jen na nově vytvořený objekt (New).
Show
Macro Names Column No

-

zobrazení sloupce s názvy maker.
Show
Conditions Column No

-

zobrazení sloupce podmínek, za kterých se má příkaz provést.
Module Design  

-

parametry pro tvorbu programu (Module).
Syntax Checking Yes

-

automatická kontrola syntaktické správnosti při opuštění řádku. Většinu uživatelů obtěžuje, že nemohou cestovat programem podle libosti a dopisovat několik řádků najednou. Doporučujeme nastavit No.
Tab Stop Width 4

-

implicitní vzdálenost pro posun tabelátoru.
Multiuser  

-

parametry pro víceuživatelský systém.
Default Record Locking No Locks

-

způsob uzamykání záznamů (No Locks - není uzamykání, All Records - všechny záznamy, Edited Record - zpracovávaný záznam) Změna nastavení parametrů se projeví jen na nově vytvořený objekt (New).
Default Open
Mode for Databases Exclusive

-

standardní způsob otevírání databází (Shared -víceuživatelský, Exclusive - jednouživatelský).
Refresh Interval (sec) 60

-

interval obnovování dat v oknech.
Update Retry      
Interval (msec) 250

-

interval opakování pokusu o změnu hodnoty uzamčené položky.
Number of
Update Retries 2

-

počet pokusů o změnu uzamčené položky.
ODBC Refresh
Interval (sec) 600

-

interval aktualizace záznamu zpřístupněného přes ODBC (Open Database Connectivity).

4.2.4. Menu Security

Permissions...

-

určení přístupových práv pro jednotlivé objekty.
Users...

-

vytváření a rušení uživatelů, určování jejich práv.
Groups...

-

vytváření skupin uživatelů, určování jejich práv.
Change Password...

-

změna hesla uživatele, který spustil program.
Change Owner...

-

změna autora u jednotlivých objektů.
Print Security...

-

tisk informací o přístupových skupinách a uživatelích.
Toto menu nabízí možnost omezovat přístup k programu a také ke konkrétním databázím. Jeho použití si popíšeme podrobněji, nebo "hraní si" a zkoušení těchto činností může způsobit, že se uživatel posléze vůbec nedostane do programu.

Access definuje implicitně tři skupiny uživatelů :

Admins

-

administrátoři, mají všechna práva a smějí vytvářet a rušit nové uživatele.
Guests

-

hosté, implicitně nemají žádná práva.
Users

-

mají právo číst a modifikovat data.
Pokud nepracujeme s přístupovými právy, pak je uživatel do programu automaticky přihlášen jako administrátor. Pokud však zadáme heslo pro administrátora, celý systém kontroly přístupu je uveden do činnosti a po spuštění programu očekává systém zadání jména uživatele a jeho hesla. Při zadání špatného jména nebo hesla neumožní práci s programem!

Administrátor může definovat nové skupiny uživatelů nebo jednotlivé uživatele. K tomu slouží okno na obr. 15, vyvolané z menu Security činností Users. Nejprve zadáme jméno uživatele, v pomocném okně mu přiřadíme identifikační číslo (čtyřmístné), pak mu přiřadíme práva vybraných skupin. Je možno také zrušit jeho heslo (Clear Password), pokud ho zapoměl. Pokud zapomene heslo administrátor, není úniku.

Obr.15. Definice uživatelů

Jakmile jsme určili práva pro skupiny uživatelů (Groups) a uživatele (Users), můžeme omezit přístup k objektům (Permissions) pomocí okna na obr. 16. Nejprve určíme třídu objektů (Object Type), pak název konkrétního objektu (Object Name). Určíme pro kterou skupinu nebo uživatele omezujeme práva (přepínačem zvolíme Users - Groups, konkrétní jméno vybereme z nabídky existujících jmen. Nelze tedy zadat neexistující jméno). Nakonec určíme jaká práva bude mít.

Open/Run

-

otevření objektu, spuštění makra apod.
Read Design

-

čtení struktury dotazů, sestav apod.
Modify Design

-

změna dotazů, vzhledu sestav apod.
Administer

-

práva správce neboli administrátora k objektu.
Read Data

-

čtení dat.
Update Data

-

změna dat.
Insert Data

-

vkládání dat.
Delete Data

-

rušení dat.
Při udělování práv je potřeba postupovat s rozvahou. Doporučujeme tuto činnost provádět až po vytvoření celé databáze a odladění všech objektů. Smysl má v konkrétní praktické aplikaci, se kterou pracují uživatelé s různým stupněm zodpovědnosti. Např. v systému skladu dostane pracovník výdeje právo zapsat věc jako vydanou, ale nesmí ji zadat jako přijatou. Tím se bráníme možnosti nežádoucí manipulace se systémem (nejčastěji s kriminálním pozadím). Na druhé straně však musí být možné, aby tento pracovník výdeje opravil chybně zapsanou vydanou věc zpět do skladu.

Pokud se uživatel pokusí přestoupit svá práva, je na to upozorněn hlášením. Např. viz obr. 17. Pokud přitom např. uživatel jménem Guest nemá práva spouštět makropříkazy, pak po otevření databáze není spuštěno makro Autoexec a uživatel se přímo dostane do okna objektů databáze, viz obr. 13. To je samozřejmě nepříjemné, nebo se s touto skutečností obvykle nepočítá. Význam makra Autoexec bude vysvětlen v kapitole věnované makropříkazům.

Nastavení přístupových práv je spolu s nastavením parametrů systému uloženo v souboru SYSTEM.MDA. Pomocí programu MS Access Workgroup Administrator je možno připojit jiný soubor *.MDA a tím i jinou pracovní skupinu s jiným rozsahem práv. Je vhodné, aby v každé skupině byl definován jiný administrátor (s jiným Personal ID). Pak mají administrátoři různých skupin různý rozsah práv a nemohou vzájemně ovlivňovat jednotlivé skupiny.

Při udělování identifikačních čísel (Personal ID) uživatelů je třeba mít na zřeteli, že pokud zavedeme zrušeného uživatele znovu se stejným Personal ID, pak bude mít automaticky stejná práva jako před zrušením.

Obr.16. Definice přístupových práv k objektu

Obr.17. Hlášení při přestoupení práv k objektu

4.2.5. Menu Window

Tile

-

seřadí otevřená okna vedle sebe přes celou obrazovku v pořadí, jak byla otevřena, zleva-doprava.
Cascade

-

seřadí otevřená okna za sebou.
Arrange Icons

-

rozmístí ikony pro rychlou volbu operací dle svých zvyklostí.
Hide

-

"deaktivuje" otevřené okno, okno zůstane otevřené, ale nebude zobrazeno na obrazovce.
Unhide...

-

aktivuje dříve "deaktivované" okno podle výběru z jejich seznamu.
1 ÷ n název okna

-

seznam otevřených oken, která nejsou "deaktivovaná" (Hide).

4.3. Tvorba tabulky

Tabulka (Table, také nazývaná Datasheet) je prvním a nejdůležitějším objektem v aplikaci. Jsou v ní umístěna konkrétní data. Každá tabulka je relační databází Změna nastavení parametrů se projeví jen na nově vytvořený objekt (New).

. Jednotlivé řádky jsou záznamy (Records) a týkají se vždy jednoho objektu zájmové reality. Jednotlivé sloupce pak popisují jednu vlastnost, společnou všem objektům zájmové reality Změna nastavení parametrů se projeví jen na nově vytvořený objekt (New).

. Nazýváme je položky (Fields).

Definice struktury tabulky tedy znamená, že definujeme jednotlivé položky. Každá položka musí být v tabulce jedinečná. To zajišuje název položky. Kromě něj určujeme vlastnosti položky, především jaké informace do ní budou uloženy (textové, číselné, časové ...). Access podporuje v tabulkách následující datové typy :

Datový typ Význam Velikost
Text alfanumerický text do 255 znaků
Memo alfanumerický text, může být členěn do odstavců do 32 000 znaků
Number numerická hodnota 1, 2, 4 nebo 8 Byte
Date/Time datum a čas 8 Byte
Currency finanční hodnota 8 Byte
Counter automatické počítadlo (číslo záznamu) 4 Byte
Yes/No logická hodnota 1 bit
OLE Object grafická a binární data do 128 MByte
Vlastní tvorbě tabulek musí předcházet důkladná datová analýza. Je potřeba rozhodnout, jaká data budou organizována v jakých tabulkách, jaké budou vazby mezi tabulkami. Při návrhu volíme takové tabulky, které neobsahují duplicitní data, nebo data jsou v tabulkách uložena fyzicky. Pro práci s daty je možno využít tvorby dotazů (virtuálních tabulek - Queries). V nich můžeme tabulky kombinovat a různě skládat.

Jakmile vytvoříme nový objekt třídy tabulka, změní se menu programu a otevře okno pro tvorbu její struktury. Nyní popíšeme nejprve menu, pak vlastní okno. Vynecháme přitom nabídky Window a Help ve kterých není nic nového. Access nám nabízí využít průvodce pro tvorbu tabulky (Wizard), který nám usnadní naplnění všech vlastností položek. V textu však budeme předpokládat jejich ruční nastavení.

4.3.1. Menu File

New

>

-

vytvoření nového objektu, následně je nabídnut seznam tříd objektů.
Close  

-

uzavření aktuálního objektu.
Save

Ctrl+S

-

uložení aktuálního objektu.
Save As...  

-

uložení aktuálního objektu pod zvoleným jménem.
Output To...  

-

export dat do souboru ve formátu *.XLS - Excel, *.RTF - Rich Text Format, *.TXT - DOS Text.

Print Definition...

-

tisk popisu aktuálního objektu. Je možno nastavit rozsah údajů, zda chceme také vlastnosti položek, vazby, přístupová práva apod.

Send

-

vyslání objektu elektronickou poštou ve standardu MAPI.
Run Macro...

>

-

spuštění některého z hotových maker (objekt třídy makro, tvorba bude popsána později).
Add-ins  

-

připojení doplňkových programových možností. Jsou definovány v inicializačním souboru .INI.

Exit

-

opuštění programu Microsoft Access.
Při prvním uložení objektu příkazem Save je uživatel dotázán na jméno objektu, není tedy nutno používat příkaz Save As.

4.3.2. Menu Edit

Undo

Ctrl+Z

-

zrušení poslední operace.
Cut

Ctrl+X

-

přesun označené oblasti do pomocné paměti (Clipboard).
Copy

Ctrl+C

-

kopie označené oblasti do pomocné paměti.
Paste

Ctrl+V

-

kopie obsahu pomocné paměti ke kurzoru.
Delete

Del

-

zrušení označené oblasti.
Select All  

-

označení všech položek (všech řádků) struktury tabulky.
Insert Row  

-

vložení prázdného řádku (nové položky) do struktury tabulky ke kurzoru.
Delete Row  

-

zrušení aktuálního řádku (položky) struktury tabulky.
Set Primary Key  

-

nastavení primárního klíče. Tato položka nebo skupina položek tabulky musí mít jedinečné hodnoty. Podle ní je tabulka setříděna.

4.3.3. Menu View

Table Design  

-

zobrazí okno pro definici struktury tabulky.
Datasheet  

-

zobrazí okno s obsahem tabulky.
Indexes...  

-

zobrazí seznam klíčů (indexů) tabulky a jejich vlastností.
Table Properties...  

-

zobrazí globální vlastnosti tabulky.
Toolbars...  

-

určení, které lišty nástrojů (Toolbars) neboli tlačítkové lišty mají být zobrazeny.
Options...  

-

zobrazí nastavení parametrů programu Access.

Návrat k obsahu