CVIČENÍ 4 Aplikace KNIHOVNA Ukázková data k této aplikaci jsou k dispozici v adresáři
G:\KU\DAS\PDOXWIN\KNIHOVNA Veřejná knihovna hodlá zavést do provozu automatizovaný systém, který jí má umožnit provádět následující transakce: 1. zpracování (evidenci a popis) nových publikací, tj. správu vlastního informačního fondu 2. zpřístupňování (půjčování) publikací z fondu čtenářům. Řešené úlohy: • Přehled o vypůjčených publikacích (kdy a komu byly půjčeny) • Přehled o využití fondu (kolikrát byla půjčena kniha...) • Třídění knižního fondu podle autorů, názvů, signatur, žánrů • Vyhledávání publikací určitých autorů, názvů, vydavatelů, žánrů • Přehled o finanční hodnotě fondu knih (ceny) Pro tento zjednodušený příklad nebudeme uvažovat problematiku akvizice (tj. objednávání publikací u dodavatelů, případné reklamace a úhrady faktur) a informační fond omezíme pouze na knihy. Informace o stavu fondu naší knihovny poskytuje katalog, v němž se dají publikace vyhledávat podle názvů, jmen autorů a podle žánrů. Protože knihovna nemá prostory pro zpřístupnění fondu čtenářům ve volném výběru, jsou knihy uloženy v uzavřeném skladišti, kde jsou řazeny podle signatur. Pro čtenáře jsou k dispozici dvě studovny – oddělení pro děti a dospělé, do nichž mají přístup vždy čtenáři příslušné kategorie (A = oddělení pro děti, B = oddělení pro dospělé). Základem systému bude evidence knih, pomocné seznamy žánrů a vydavatelů a dále evidence čtenářů a evidence výpůjček.
V databázi budou obsaženy minimálně tyto údaje: Název knihy (např. Afrika snů a skutečnosti)
Rodné číslo čtenáře (např. 650702/1851)
1. autor (např. Jiří Hanzelka)
Telefonní číslo čtenáře (např. 221 862 371)
2. autor (např. Miroslav Zikmund)
Číslo legitimace čtenáře (např. 14)
Signatura knihy (např. B486)
Kategorie čtenáře (např. A)
Rok vydání knihy (např. 1963)
E-mail čtenáře (např.
[email protected])
Vydavatel (např. Orbis) Žánr knihy (např. cestopisy) Místo vydání knihy (např. Praha) Cena knihy v Kč (např. 36,80) Jméno čtenáře (např. Josef Bednář) Adresa čtenáře (např. Praha 6)
Datum půjčení publikace (např. 3.11.2003) Datum vrácení publikace (např. 8.2.2004) ISBN (např. 80-85603-56-X)
Vztahy, které by měl databázový systém zachycovat: Příslušnost knihy k žánru
N : 1 (kniha...je zařazena do žánrové kategorie...)
1 kniha může být zařazena pouze do jedné žánrové kategorie do jedné žánrové kategorie může být zařazeno více knih Příslušnost knihy k vydavateli
N : 1 (kniha...byla vydána ve vydavatelství...)
1 kniha může být vydána pouze v jednom vydavatelství v jednom vydavatelství může být vydáno více knih Příslušnost knihy ke čtenáři
N : M (čtenář...si půjčil knihu...)
1 čtenář si může půjčit více knih 1 kniha může být půjčena více čtenářům
Konceptuální schéma databáze zpracované s využitím ERA diagramu 1. verze (se vztahy N : M)
Signatura Cena Název
Místo vydání
Autor3
Rok vydání
Autor2 Autor1 1
mají obsah
TŘÍDĚNÍ
ISBN N
N KNIHY
1
vydali
VYDAVATELÉ
N Kód žánru
Slovní vyjádření
Kód vydavatele
jsou půjčené
Datum výpůjčky
M
Datum vrácení
ČTENÁŘI Číslo legitimace
Jméno
Kategorie
Adresa Telefon
E-mail
Rodné číslo
Název vydavatelství
2. verze – po vyřešení vztahu N : M (přepracování na vztahy 1 : N)
Signatura Cena Místo vydání
Název Autor3
Rok vydání
Autor2 Autor1 1 TŘÍDĚNÍ
mají obsah
ISBN N
N KNIHY
1 VYDAVATELÉ
vydali
1 Kód žánru
Slovní vyjádření
Kód vydavatele
jsou půjčené
N Datum vrácení VÝPŮJČKY Datum výpůjčky N mají půjčené
1
ČTENÁŘI Číslo legitimace
Jméno
Kategorie
Adresa Telefon
E-mail
Rodné číslo
Název vydavatelství
Databázové schéma – struktura používaných tabulek a schéma jejich propojení: KNIHOVNA název databázového systému ( = adresáře, v němž jsou uloženy všechny soubory vztahující se k aplikaci, příp. alias databáze) KNIHY (∗Signatura, Nazev, Autor1, Autor2, Autor3, Cena, Misto vydani, Kod vydavatele, Rok vydani, Kod zanru, ISBN) TRIDENI (∗Kod zanru, Slovni vyjadreni) CTENARI (∗Cislo legitimace, Jmeno, Adresa, Rodne cislo, Telefon, Email, Kategorie) VYPUJCKY (∗Cislo legitimace, ∗Signatura, ∗Datum vypujcky, Datum vraceni) VYDAVAT (∗Kod vydavatele, Nazev vydavatelstvi)
N:1 Cislo legitimace
1:N Signatura
VYPUJCKY
KNIHY
N:1 Kod zanru
N:1 Kod vydavatele
TRIDENI
VYDAVAT
CTENARI
1. Podle tohoto schématu proveďte restrukturalizaci stávajících tabulek a vytvořte nové tabulky TRIDENI a VYDAVAT. 2. Nastavte pro tabulku KNIHY následující kontroly vstupů (Validity checks): • u pole pro záznam roku vydání publikace stanovte podmínku, že musí být vždy vyplněno (Required field – povinná položka) a dále podmínku, že nelze vkládat záznamy publikací vydaných po roce 1999 (Max – maximum) • pro pole Cena stanovte minimální hodnotu 15 Kč (Min – minimum) • jako implicitní (Default) hodnotu v poli Misto vydani vložte „Praha" • u pole pro záznam názvu publikace vytvořte masku (Picture) tak, aby prvním znakem mohlo být pouze písmeno, které se změní na velké; následující znaky v tomto poli mohou nabývat jakékoli hodnoty • pro pole Autor2 definujte masku, která dovolí vložit buď jméno autora Nováka nebo Svobody Doplňte do tabulky KNIHY záznamy pěti nových přírůstků. Položky Kod vydavatele a Kod zanru zatím nevyplňujte. Po odzkoušení funkčnosti všechny výše uvedené kontroly vstupu zrušte.
3. Vytvořte masky pro vstup dat do následujících polí tabulky KNIHY a tabulky CTENARI: • KNIHY.Autor1, KNIHY.Autor2, KNIHY.Autor3 a) 1 – 3 jména oddělená mezerou, každé bude začínat velkým písmenem
příklad: Stendhal Karel May Josef Václav Sládek b) libovolný počet jmen, první jméno je od ostatních odděleno čárkou –
možnost zadávat písmena i spojovací znaky (nikoli číslice) příklad: Colette Viková-Kunětická, Božena Goethe, Johann Wolfgang von Godard, Jean-Luc • KNIHY.ISBN • CTENARI.Cislo legitimace • CTENARI.Adresa • CTENARI.Rodne cislo • CTENARI.Email