Univerzita Hradec Králové Filozofická fakulta Katedra pomocných věd historických a archivnictví
Databáze soupisu duší s historicko-demografickými výstupy Diplomová práce
Autor: Bc. Jiří Kudr Studijní program: N7105 – Historické vědy Studijní obor: 7105T005 – Archivnictví Vedoucí práce: Ing. Monika Borkovcová Hradec Králové, 2014
Univerzita Hradec Králové Filozofická fakulta
Zadání diplomové práce Autor: Bc. Jiří Kudr Studijní program: N7105 Historické vědy Studijní obor: Archivnictví Název
závěrečné
práce:
Databáze
soupisu
duší
s historicko-
demografickými výstupy Název závěrečné práce AJ: The Database of the Register of Souls with Historical-Demographic Output Cíle, metody, literatura, předpoklady: Stručný obsah: Analýza zpracovávaných dat, návrh ERD modelu, specifikace statistických funkcí, implementace databáze s tvorbou číselníků a pomocných tabulek pro statistické výpočty, historicko-vědní zpracování vstupních dat. Metody zpracování: literární rešerše, analýza databázového konceptu a její implementace. Literatura nebo archivní fondy: Sbírka knih soupisu duší SOkA Hradec Králové, zásady historické demografie, knihy UML, database development. Garantující pracoviště: Katedra pomocných věd historických a archivnictví, Filozofická fakulta Vedoucí práce: Ing. Monika Borkovcová Oponent práce: Mgr. Radek Pokorný Datum zadání práce 19. 11. 2013 Datum odevzdání práce: 17. 12. 2014
Prohlášení Prohlašuji, že jsem tuto diplomovou práci vypracoval (pod vedením vedoucího diplomové práce) samostatně a uvedl jsem všechny použité prameny a literaturu.
V Hradci Králové, 17. 12. 2014
Bc. Jiří Kudr
Poděkování Na tomto místě bych rád poděkoval vedoucí mé diplomové práce Ing. Monice Borkovcové za trpělivost, čas a cenné rady, které věnovala spolupráci na vytvoření této práce. Za trpělivost a ochotu při sestavování databáze děkuji pracovníkům Státního okresního archivu v Hradci Králové.
Anotace Kudr, Jiří. Databáze soupisu duší s historicko-demografickými výstupy. Hradec Králové: Filozofická fakulta, Univerzita Hradec Králové, 2014, 87 stran. Diplomová práce.
Tématem diplomové práce je návrh a realizace databázového nástroje pro historicko-demografické zpracování knih soupisu duší uložených ve fondech Státního okresního archivu v Hradci Králové. Na základě rozboru archivního pramene soupisu duší je vytvořen konceptuální model relační databáze a následně vytvořen vlastní databázový nástroj. Klíčová slova: soupis duší, databáze, relační model, historická demografie
Annotation Kudr, Jiří. The Database of the Register of Souls with HistoricalDemographic Output: Hradec Králové, Faculty of Arts, University of Hradec Králové, 87 pp. Master´s thesis.
Creating of the database of the register of souls with historicaldemographic output is the main goal of this master´s thesis. The thesis describes particular register of souls and analyzes its structure. On the basis of this research the conceputal model of relational database and subsequently the own database is created. Keywords: register of souls, database, relational model, historical demography
Obsah Úvod ............................................................................................................ 10 1. Teoretická část – technická ..................................................................... 12 1.1 Teoretická východiska........................................................................ 12 1.1.1 Informace, data, databáze ......................................................... 12 1.1.2 Systém řízení báze dat ............................................................... 14 1.1.3 Relační model dat....................................................................... 15 1.1.4 Návrh databáze s využitím ERD modelu a transformace .......... 17 1.1.5 Jazyk SQL .................................................................................... 20 1.1.6 Software SŘBD............................................................................ 25 1.2 Analýza zpracovávaných dat .............................................................. 32 1.2.1 Definice databázového systému ................................................ 32 1.2.1.1 Definice parametrů ................................................................. 33 1.2.1.2 Definice pracovních procesů ................................................... 34 2. Teoretická část – historicko-demografická ............................................. 35 2.1 Demografie ........................................................................................ 35 2.2 Historická demografie ........................................................................ 36 2.3 Soupis duší ......................................................................................... 38 2.3.1 Demografická analýza soupisu duší ........................................... 38 3. Praktická část – technická ....................................................................... 40 3.1 Vstupní požadavky ............................................................................. 41 3.1.1 Přístup k archiváliím ................................................................... 41
3.1.2 Zpracování dat ............................................................................ 41 3.1.3 Rozsah použití ............................................................................ 44 3.2 Cíle projektu ....................................................................................... 45 3.3 Konceptuální model dat..................................................................... 45 3.3.1 E-R model ................................................................................... 46 3.3.2 Lineární konceptuální zápis ........................................................ 46 3.4 Relační model dat .............................................................................. 47 3.4.1 Transformace E-R modelu .......................................................... 48 3.4.2 Fyzický model relační databáze ................................................. 48 3.5 Definice dat ........................................................................................ 49 3.6 Manipulace s daty .............................................................................. 57 3.7 Grafické rozhraní................................................................................ 57 4. Praktická část – historicko-demografická ............................................... 60 4.1 Soupis duší ......................................................................................... 60 4.2 Analýza pramene ............................................................................... 61 4.3 Transformace údajů pramene do databáze ...................................... 63 4.3.1 Tabulka obec .............................................................................. 63 4.3.2 Tabulka dum a vlastnictvi_dum ................................................. 64 4.3.4 Tabulka domacnost .................................................................... 66 4.3.5 Tabulka osoba ............................................................................ 68 4.3.6 Tabulky vira a vira_osoba ........................................................... 76 4.4 Demografické výstupy ....................................................................... 78
Závěr ............................................................................................................ 81 Seznam použitých zdrojů ............................................................................ 83 Seznam použitých obrázků a tabulek .......................................................... 86 Přílohy.......................................................................................................... 87
Úvod Soupisy duší jsou cenným historickým pramenem pro demografické studium vývoje obyvatelstva v 18. a první polovině 19. století. Aby však bylo možné pracovat s informacemi, které tento pramen nabízí, je nezbytné tyto data náležitě demograficky zpracovat, neboli provést excerpci dat. Samotná excerpce dat z pramene je časově velmi náročná činnost, proto je nezbytné úkol dopředu dobře promyslet, neboť zjistit na konci zpracování pramene, že nějaký údaj nebo faktor nebyl za začátku práce zohledněn, může být velmi frustrující. Při řešení otázky, jak excerpci provést, je nutné stanovit dva základní faktory. Prvním z nich je faktor historicko-demografický. Na základě kritické analýzy pramene je nutné jasně popsat, jaký rozsah dat a jakou obsahovou hodnotu může pramen poskytnout. Druhým faktorem, který je nutné definovat, je způsob, jakým budou technicky data zpracována. Snahou této práce je vytvořit a aplikovat relační databázový systém pro historicko-demografické zpracování analogového pramene soupisu duší. Analýzou konkrétního soupisu duší bude rozebrána struktura a obsahová podstata pramene, jejichž poznání je nezbytným aspektem pro vytvoření fundovaného návrhu databáze. Následně bude popsána samotná tvorba databázového systému, který by měl budoucím uživatelům umožnit efektivní zpracování pramene pomocí relačního databázového systému. Samotná práce je rozdělena do čtyř hlavních kapitol. První kapitola se zabývá teorií relačních databází. Druhá kapitola je věnována historicko-
10
demografickým otázkám a popisuje problematiku soupisu duší. Třetí část dokumentuje postup tvorby databázového systému. Čtvrtá kapitola pak rozebírá vytvořenou databázi z historicko-demografického hlediska.
11
1. Teoretická část – technická
1.1 Teoretická východiska Technická část práce se opírá o řadu specifických termínů z oblasti informačních technologií a relačních databází, které je nezbytné úvodem definovat a popsat. Teoretická část práce popisuje stěžejní problematiku, jež se v práci objevuje. 1.1.1 Informace, data, databáze
Informace a data V nejobecnějším slova smyslu se informace chápe jako údaj o reálném prostředí, o jeho stavu a procesech v něm probíhajících. V informační vědě se informací rozumí především sdělení, komunikovatelný poznatek, který má význam pro příjemce, nebo údaj usnadňující volbu mezi alternativními rozhodovacími možnostmi.1 Informace je tedy obsah určitého sdělení. Pokud informaci přiřadíme určitou strukturu, vytvoříme data. Vytvořením struktury – kódováním a zaznamenáním na vhodné médium (ať už se jedná o papír nebo o elektronický záznam) – jsou získána data, která mohou přetrvat v čase a znovu být dekódována do informace. 2
1
KATUŠČÁN, Dušan. Terminologický a výkladový slovník: odbor knižničná a informačná veda. 1. vyd. Bratislava: SNP, 1998, s. 117. ISBN 1335-3403. 2 KOCH, Miloš a Bernard NEUWIRTH. Datové a funkční modelování. 1. vyd. Brno: VUT, 2008, s. 5. ISBN 978-80-214-3731-9
12
Proces přeměny dat v informaci výstižně demonstruje obrázek níže. Obrázek 1: Proces přeměny dat na informace Fyzický záznam
Lidský mozek dekódování
informace
data kódování
informace
zdroj: KOCH, Miloš a Bernard NEUWIRTH. Datové a funkční modelování. 1. vyd. Brno: VUT, 2008, s. 5. ISBN 978-80-214-3731-9
Databáze V průběhu historie se ukázalo jako nezbytné zajistit způsob, jakým by bylo možné získaná data uchovat, organizovat a zajistit k nim efektivní přístup. Vývoj vedl přes analogové kartotéky, děrnoštítkové automaty až k počítačům. Od 60. let 20. století tak dochází k vývoji prvních softwarových nástrojů pro databázové zpracování dat pomocí počítače. Dnes je pojem databáze nejčastěji definován jako souhrn všech potřebných (uložených) dat dané organizace.
13
Databáze jako taková je nezávislá na aplikaci, pomocí které k ní přistupujeme. Zahrnuje čtyři základní komponenty:3 1. Datové prvky Datové prvky slouží k zachycení elementárních hodnot (například jméno zaměstnance, název pobočky a podobně). 2. Vztahy mezi prvky dat Vztahy mezi prvky dat zachycují vztahy mezi datovými prvky (například fakt, že daný zaměstnanec pracuje na konkrétní pobočce). 3. Integritní omezení Integritní omezení vyjadřuje podmínky, které mají splňovat data obsažená v databázi. 4. Schéma Schéma je popis dat srozumitelné uživateli a odpovídajícímu softwaru. 1.1.2 Systém řízení báze dat Jak už bylo zmíněno, báze dat stojí nezávisle na aplikacích, pomocí kterých k nim lze přistupovat. Speciálním programem, který tvoří rozhraní mezi samotnou databází a aplikačními programy, je systém řízení báze dat, častěji jen SŘBD. Každý SŘBD musí poskytovat několik základních služeb:4 definice databáze 3
POKORNÝ, Jaroslav a Ivan HALAŠKA. Databázové systémy. Praha: ČVUT, 2003, s. 6-7. ISBN 8001-02789-9 4 tamtéž s. 38
14
efektivní manipulace databáze souběžný přístup ochrana dat zotavení z chyb Systém řízení báze dat spolu s databází tvoří databázový systém. Tato syntaxe je dobře patrná z následujícího obrázku: Obrázek 2: Struktura databázového systému
zdroj: osobní stránka Ing. Moniky Borkovcové. Edu.uhk.cz [online]. [cit. 2014-12-12]. Dostupné z: http://edu.uhk.cz/~simkomo1/
1.1.3 Relační model dat Model dat, je způsob, jakým jsou data v databázi organizována. V současné době nejpoužívanějším je modelem relační model dat.5
5
Existují také další modely dat, například objektový, relačně-objektový, hierarchický, síťový nebo relační.
15
Myšlenkovým základem relačního modelu dat je matematická teorie množin. Implementací této teorie vznikla základní struktura relačního modelu, která je reprezentována relacemi. Soubor těchto relací je vyjádřen pomocí tabulek. Aby tabulka splňovala pravidla relačního modelu dat, musí mít následující vlastnosti:6 každá tabulka má jednoznačné jméno každý sloupec v tabulce má jednoznačné jméno všechny hodnoty daného sloupce jsou stejného datového typu každá tabulka musí mít primární klíč7 nezáleží na pořadí sloupců nezáleží na pořadí řádků tabulka nemůže mít duplicitní řádky všechny hodnoty jsou atomické Relační databázový systém (RDBMS) musí splňovat také několik definovaných pravidel, aby mohl být považován za „skutečně“ relační. Mezi tyto pravidla patří: pravidla o struktuře dat pravidla o integritě dat pravidla o modifikaci dat pravidla o nezávislosti dat
6
HERNANDEZ, Michael. Návrh databází. Praha: Grada Publishng, 2006, s. 46-48. ISBN 80-2470900-7 7 Primární klíč v tabulce je pole hodnot, které má jedinečnou hodnotu a lze pomocí něj tabulku jednoznačně určit. Pravidla, která primární klíč musí splňovat, jsou vyjádřena pravidly o integritě dat.
16
1.1.4 Návrh databáze s využitím ERD modelu a transformace ERD model Mezi záměrem vytvořit databázi a fyzickou tvorbou databáze stojí velmi podstatný krok konceptuálního modelování databáze. Jedná se vlastně o proces zaznamenání myšlenky „jak má databáze vypadat“ strukturovanou formou. Podstatou je převést objekty z reálného světa (zákazník, produkt, výrobce) do světa relačních databází. V souvislosti s relačními databázemi se v konceptuálním modelování využívá entitně-relačního (E-R) modelu. Ten má přesně popsanou strukturu, které je nezbytné se při tvorbě konceptuálního modelu držet. Při tvorbě modelu rozeznáváme tyto konstrukty:8 Entita Entita je objekt reálného světa, který je schopen nezávislé existence a je jednoznačně odlišitelný od ostatních objektů, například zákazník Josef Novák, produkt Škoda Octavia. Vztah Vztah je vazba mezi dvěma (nebo více) entitami, například zákazník Josef Novák kupuje produkt Škoda Octavia. Atribut Atribut přiřazuje entitám nebo vztahům hodnotu, která určuje jejich podstatnou vlastnost, například červená Škoda Octavia. 8
POKORNÝ, Jaroslav a Ivan HALAŠKA. Databázové systémy. 1. vydání. Praha: ČVUT, 1999, s. 1416. ISBN 80-01-01724-9.
17
ERD diagram Struktura rozeznaných entit, vztahů a jejich atributů je následně zaznamenávána pomocí ERD diagramu (entity-relation diagram). ERD diagram má přesně definována pravidla tvorby schématu, která je nezbytné dodržet. Součástí těchto pravidel jsou mechanismy, ty dále rozvíjejí a zpřesňují entity, atributy a vztahy mezi nimi. V ERD diagramu dále sledujeme:9 primární klíč kardinalitu vztahu členství ve vztahu Každý použitý konstrukt nebo parametr má přesně definovanou grafickou značku. Existuje několik variant možností grafického zápisu ERD diagramu. Pro účely této práce byl zvolen takzvaný „Chenův model“, jehož název je odvozen od jména svého vynálezce, Petera Chena.10
Transformace ERD modelu Transformace ERD modelu do relačního modelu dat je proces, při kterém je konceptuální model dat transformován do „opravdového“ modelu dat, tedy takového modelu, na jehož základě lze přistoupit k samotné tvorbě databáze.
9
KOCH, Miloš a Bernard NEUWIRTH. Datové a funkční modelování. 1. vyd. Brno: VUT, 2008, s. 50. ISBN 978-80-214-3731-9 10 Za výběrem tohoto modelu nestojí nic hlubšího než autorova vizuální sympatie jeho grafického provedení. V zásadě se funkčně od ostatních modelů neliší.
18
Správný převod dat do relačního modelu je klíčová operace, která má zásadní dopad na správné fungování databáze. Výsledně navržený model dat musí odpovídat pravidlům relačního modelu dat popsaných v předchozích kapitolách. Pro navržený model musí také platit pravidla normalizace. Normalizace je proces, který postupnou dekompozicí původní relace vede k vytvoření množiny relací, u kterých platí:11 jsou eliminovány nežádoucí redundance dat je zjednodušena kontrola integrity dat nedochází k anomáliím při údržbě (aktualizaci) dat Proces normalizace má několik úrovní. Aby relace splňovala kritéria dané úrovně, musí být její struktura přesně v souladu s pravidly pro danou úroveň. 1. normální forma relace (NF) o Relace je v 1. NF, když jsou všechny její hodnoty atomické. 2. normální forma relace o Relace je v 2. NF, když je v 1. NF a každý neklíčový atribut je plně funkčně závislý na primárním klíči. 3. normální forma relace o Relace je v 3. NF, když je v 2. NF a všechny neklíčové atributy jsou vzájemně nezávislé.
11
POKORNÝ, Jaroslav a Ivan HALAŠKA. Databázové systémy. 1. vydání. Praha: ČVUT, 1999, s. 1416. ISBN 80-01-01724-9.
19
1.1.5 Jazyk SQL S relační databází úzce souvisí jazyk SQL (Structured Query Language). Jedná se o neprocedurální jazyk – specifikuje, co získat, ne jak to získat. Jedná se o standardizovaný jazyk, který je v současné době reprezentovaný standardem SQL92.12 Tento jazyk je spjatý především s relačními databázemi, ale jeho struktura je implementována také do jiných programovacích jazyků. SQL se v relačních SŘBD vyskytuje současně ve dvou verzích – interakční a hostitelské.13 V interakční verzi se dají příkazy SQL používat samostatně, přičemž v hostitelské verzi se příkazy stávají součástí hostitelského jazyka (jazyků vyšší úrovně – 3GL, nebo 4GL). Popsat lze několik základních použití SQL:14 SQL jako dotazovací jazyk pro relační databáze SQL jako dotazovací jazyk pro multimediální databáze SQL
jako
složka
hostitelského
jazyka
pro
programování
databázových aplikací SQL jako jazyk komunikace mezi různými zdroji dat Příkazy jazyka SQL lze rozdělit do dvou základních částí: 1. Jazyk pro definování datové struktury
12
Introduction to SQL. W3school.com [online]. 2014 [cit. 2014-12-11]. Dostupné z: http://www.w3schools.com/sql/sql_intro.asp 13 POKORNÝ, Jaroslav. Dotazovací jazyky. Praha: Karolinum, 2007, s. 46-47. ISBN 978-80-2490497-8. 14 tamtéž s. 10
20
Jazyk pro definování datové struktury, který je označován také jako DDL (data definition language), slouží k vytváření a úpravě struktury databáze. Konkrétně se jedná o tyto příkazy:15 CREATE TABLE o Tento příkaz slouží k vytvoření tabulky. o Jeho přesná syntaxe vypadá takto: CREATE TABLE [nazev_databaze.]nazev_tabulky (
[DEFAULT ] [NULL | NOT NULL] [] |[] [,...n]; ALTER TABLE, DROP TABLE o Příkaz ALTER TABLE slouží k úpravě struktury již vytvořené tabulky, DROP TABLE pak umožňuje odstranit již vytvořenou tabulku. CREATE INDEX o Pro často používané záznamy v tabulkách je vhodné vytvořit indexování, které zrychluje dotazovací procesy v databázi. Obvyklá definice indexu má tento tvar: CREATE [UNIQUE] INDEX jmeno_indexu ON jmeno_tabulky (jmeno_atr1 [usporadani], jmeno_atr2[usporadani]…) CREATE VIEW
15
SQL tutorial. W3schools.com [online]. 2014 [cit. 2014-12-11]. Dostupné z: http://www.w3schools.com/sql/default.asp
21
o Pohled je virtuální tabulka, která umožňuje z praktických nebo bezpečnostních důvodu nastavit uživateli přístup pouze k některým datům obsaženým v tabulce. Syntaxe toho příkazu vypadá takto: CREATE VIEW jmeno_pohledu AS SELECT nazev_sloupce FROM jmeno_tabulky WHERE podminka
2. Jazyk pro manipulaci s daty Jazyk pro manipulaci s daty, označovaný také jako DML (data manipulation language) slouží k výběru, aktualizaci a odstranění dat v databázi. Pro výběr dat je určen příkaz SELECT. Základním konstruktem tohoto příkazu je blok SELECT – FROM – WHERE. Složka SELECT obsahuje seznam jmen sloupců vytvářející schéma tabulky. Složka FROM určuje tabulky, pro které je dotaz definován. Složka WHERE určuje podmínku, která definuje, co musí splňovat vyhledávaná data. Při definování podmínky se využívají aritmetické a logické operátory a nástroje pro vyhledání textového řetězce nebo data. Pro specifikaci pořadí hodnot ve výsledku slouží funkce ORDER BY. V rámci bloku SELECT se používají také hnízděné dotazy, neboli poddotazy. Poddotaz je zpravidla umístěn do jiného (vnějšího) dotazu, pro nějž vytváří
22
hodnotu, která je v tomto dotazu následně použita. Poddotaz je vždy uzavřený v závorkách.16 Při tvorbě dotazů lze využít agregační funkce, které SQL nabízí: COUNT o Vrací počet hodnot ve specifikovaném sloupci. SUM o Vrací součet hodnot ve specifikovaném sloupci. AVG o Vrací průměr hodnot ve specifikovaném sloupci. MIN, MAX o Tyto funkce vrací nejmenší, nebo největší hodnotu ve specifikovaném sloupci. Agregační funkce lze aplikovat na celou tabulku nebo její podmnožinu. Při použití konstruktu GROUP BY se tabulka konceptuálně rozdělí na skupiny, pro které je hodnota ve zvoleném sloupci konstantní. Spolu s tímto konstruktem lze využít funkci HAVING sloužící k filtrování skupin, které budou do výsledku zahrnuty. Podstatným nástrojem při výběru dat je relační algebra, která slouží při získávání výsledků z více relací. Operátory relační algebry se aplikují na relace a výsledkem vyhodnocení odpovídajících relací jsou opět relace. Mezi tyto množinové operace patří sjednocení, průnik, rozdíl, kartézský součin, projekce, selekce a spojení relací.17
16
POKORNÝ, Jaroslav. Dotazovací jazyky. Praha: Karolinum, 2007, s. 64-70. ISBN 978-80-2490497-8. 17 KOCH, Miloš a Bernard NEUWIRTH. Datové a funkční modelování. 1. vyd. Brno: VUT, 2008, s. 51-80. ISBN 978-80-214-3731-9
23
Sjednocení relací A a B lze provést, pokud jsou relace z hlediska datového typu kompatibilní. Výsledná relace obsahuje prvky relace A nebo B nebo obou relací. Pro sjednocení relací SQL 92 definuje příkaz UNION. Průnik relací A a B lze provést, pokud jsou relace z hlediska datového typu kompatibilní. Výsledná relace obsahuje prvky, které jsou obsaženy současně v A i B. Této operaci je v SQL92 přidělen příkaz INTERSECT. Rozdíl relací A a B lze provést, pokud jsou relace z hlediska datového typu kompatibilní. Výsledkem je relace se stejným záhlavím jako A i B a tělem, které obsahuje pouze prvky relace A. Této operaci je v SQL92 přidělen příkaz EXCEPT. Kartézský součin, nebo také spojení křížem, vyjadřuje kartézský součin tabulek A a B. V jazyce SQL lze použít funkci CROSS JOIN. Rozlišit lze několik způsobů spojení tabulek. Při přirozeném spojení dvou tabulek je spojovací podmínka realizována automaticky dle přítomnosti referenčních vazeb nebo shodnosti názvů sloupců a datových typů ve spojovaných tabulkách. V SQL je definován příkaz NATURAL JOIN. Pokud je spojení tabulek definováno rovností primárního nebo cizího klíče, použito je vnitřní spojení. V SQL je definován příkaz INNER JOIN. Vnější spojení je přirozeným spojením tabulek, které umožňuje zahrnout do výsledné relace i ty řádky, pro které neexistuje v druhé relaci stejná hodnota ve společném sloupci – chybějícím hodnotám druhé relace se přiřadí hodnota NULL. V SQL je pro toto spojení definován příkaz OUTER JOIN. V rámci DML jsou definovány také příkazy pro aktualizaci a odstranění dat:
24
INSERT INTO umožňuje vkládání řádku do tabulky. Jeho syntaxe vypadá takto: INSERT INTO nazev_tabulky (sloupec1,sloupec2,sloupec3,...) VALUES (hodnota1,hodnota2,hodnota3,...); DELETE slouží k odstraňování řádků z tabulky. Zápis tohoto příkazu vypadá takto: DELETE FROM nazev_tabulky WHERE sloupec=hodnota; Příkaz UPDATE slouží ke změně údajů v řádku, nebo množině řádků. UPDATE nazev_tabulky SET sloupec1=hodnota1,sloupec2=hodnota2,... WHERE sloupec=hodnota; 1.1.6 Software SŘBD Většina dnešních databázových systémů je založena na síťové architektuře klient-server. Tato architektura definuje vztah mezi dvěma programy, přičemž jeden program vystupuje jako klient a druhý jako server. Programy klienta a serveru jsou fyzicky odděleny na dvou různých počítačích. Na personálním počítači uživatele je nainstalován klient, pomocí kterého je databázový systém spravován. Je zde vytvořena struktura databáze a prováděny jsou zde také příkazy pro manipulaci s daty. Na serverovém počítači je pak nainstalován databázový server (program), kde je samotná databáze fyzicky uložena. Komunikace mezi oběma programy probíhá pomocí počítačové sítě: klient zadává dotaz
25
dotaz je odeslán na databázový server databázový server vykoná dotaz výsledek dotazu je poslán zpět klientovi, kde je zobrazen Obrázek 3: Architektura klient-server
zdroj: Architektura databází. Databáze [online]. 2014 [cit. 2014-12-12]. Dostupné z: http://www.databaze.chytrak.cz/architektura.htm
Na trhu existuje velké množství softwarů poskytujících systém řízení báze dat. Z hlediska jejich podílu na trhu a uživatelské rozšířenosti jsou níže uvedeny nejpoužívanější produkty.18 Oracle Database Oracle Database, v aktuální verzi Oracle Database 12c, je databázový produkt společnosti Oracle. Produkt je založen na principu klient-server. Nabízí komplexní řešení od malých databází až po velké korporátní systémy. Nástroj standardně podporuje standard jazyka SQL92 a přidává vlastní nadstavbu jazyka SQL/PL. Nástroj podporuje víceuživatelský přístup
18
Pro porovnání podílu jednotlivých produktů na trhu byla použita komparace údajů z několika webových portálů zabývajících se touto problematikou. Nejlépe vystihuje zjištěnou situaci tento portál: DB Engines ranking. DB-Engines [online]. 2014 [cit. 2014-12-11]. Dostupné z: http://dbengines.com/en/ranking.
26
a virtualizaci databáze pomocí „cloudových“ služeb. Produkt je komerční a je distribuován pod licencí OLSA (Oracle Licence and Services Agreement). MySQL Oblíbený multiplatformní databázový systém vyvíjený společností Oracle. Produkt je založen na principu klient-server. Současnou aktuální verzí je MySQL 5.6. Jeho hlavní výhodou je distribuce pod bezplatnou licencí GPL (General Public Licence). Z tohoto důvodu je v kombinaci s dalším svobodným softwarem (webový server Apache, operační systém Linux, programovací jazyk PHP) oblíbenou volbou pro tvorbu dynamických webových stránek. Microsoft SQL Server Microsoft SQL Server, v současné verzi SQL Server 2014, je relační databázový systém vyvíjený společností Microsoft. Produkt založený na principu klient-server nabízí komplexní řešení pro malé i korporátní databáze. Podporuje standard jazyka SQL 92 a přidává vlastní rozšíření jazyka Transact-SQL. Nástroj podporuje víceuživatelský přístup a virtualizaci databáze pomocí „cloudových“ služeb. Program je proprietární a je distribuován v komerční i bezplatné verzi. Bezplatná verze SQL Server Express je však funkčně omezena.
27
Microsoft Access Produkt Microsoft Access je relačním databázovým systémem určeným především pro desktopové použití. Není zde využit princip klient-server jako u výše uvedených programů, ale aplikační vrstva i databázový systém jsou alokovány na stejném pevném disku bez využití serveru. Práce s databázovým systémem je prováděna pomocí implementovaného grafického rozhraní. V Accessu jsou předem definovány objekty, pomocí kterých lze program obsluhovat: tabulky o Tabulky jsou objekty, do kterých jsou vkládána data v souladu s principy relačních databází. Tabulky mohou být vytvořeny pomocí jazyka SQL, nebo pomocí implementovaného nástroje pro tvorbu tabulek. dotazy o Tvorba struktury databáze a manipulace s daty může být prováděna přímo pomocí jazyka SQL nebo lze využít nadstavbového nástroje, který vytvoří dotaz místo uživatele pomocí stanovených kritérií a s využitím grafického rozhraní. formuláře o Práci s tabulkami a dotazy lze uživatelsky zjednodušit pomocí formulářů, ve kterých lze tabulky a dotazy seskupovat a vytvořit grafickou nadstavbu. sestavy o Sestavy umožňují uživateli vytvářet výstupy z databáze a přímo je odeslat k tisku.
28
Práce s jednotlivými objekty probíhá pomocí ovládacích prvků. Využít lze širokou nabídku hotových řešení, nebo lze vytvořit vlastní ovládací prvky pomocí jazyka VBA (Visual Basic for Applications). Technicky je Access postaven na databázovém stroji Microsoft Access Database Engine (ACE engine). Pohled na strukturu databázového systému nabízí níže uvedený obrázek.19 Obrázek 4: Struktura databázového systému Access
zdroj: Data programming with Microsoft Access. MSDN: Microsoft developer network [online]. 2014 [cit. 2014-12-12]. Dostupné z: http://msdn.microsoft.com/enus/library/office/ff965871(v=office.14).aspx#DataProgrammingWithAccess2010_AceArchitecture
19
Data Programming with Microsoft Access. Microsoft Developer Network [online]. 2014 [cit. 2014-12-11]. Dostupné z: http://msdn.microsoft.com/enus/library/office/ff965871(v=office.14).aspx#DataProgrammingWithAccess2010_AceArchitecture
29
Z hlediska rozsahu použití je databázový systém Access koncipován pro menší podniková a kancelářská řešení. Maximální použitelný rozsah podle jednotlivých parametrů dokládá následující tabulka. Tabulka 1: Technické parametry DBMS Access Technické parametry MS Access Parametr Maximální velikost celého databázového objektu Maximální počet objektů v databázi Maximální počet tabulek v databázi Maximální počet spojení k jedné tabulce Maximální počet znaků v jednom poli Maximální velikost jedné tabulky
Maximum 2 GB 32 768 34 16 255 2 GB
Zdroj: http://msdn.microsoft.com/en-us/library/office/ff604965%28v=office.14%29.aspx
Databázový systém Access pochopitelně využívá k práci s daty jazyk SQL. Vychází přitom ze standardu ANSI SQL92. Oproti standardu je však zápis některých prvků pozměněn a výrobce používaný jazyk SQL nazývá jako Microsoft Access SQL.20 Microsoft Access, v aktuální verzi Microsoft Access 2013, je určen pro použití v operačním systému Microsoft Windows. Není však kompatibilní se všemi verzemi tohoto operačního systému, což znázorňuje níže uvedená tabulka.
20
Comparison of Microsoft Access SQL and ANSI SQL. Microsoft developer network [online]. 2014 [cit. 2014-12-10]. Dostupné z: http://msdn.microsoft.com/enus/library/bb208890(v=office.12).aspx
30
Tabulka 2: Požadavky DBMS Access na operační systém operační systém Windows XP Windows Vista Windows 7 Windows 8 Windows 8.1
verze SP3 všechny všechny všechny všechny
architektura 32bit 32/64bit 32/64bit 32/64bit 32/64bit
Zdroj: Microsoft Office. Microsoft developer network [online]. 2014 [cit. 2014-12-10]. Dostupné z: http://msdn.microsoft.com/en-us/library/office/cc313152(v=office.12).aspx
Data jsou na databázovém systému Access nezávislá. Program podporuje mechanismus ODBC (Open Database Connectivity), což umožňuje export dat do jiných databázových systému. Program také podporuje přímou migraci dat do programu Microsoft SQL Server a rovněž propojení s dalšími aplikacemi balíku Microsoft Office. Produkt Microsoft Access není dodáván koncovému uživateli samostatně, ale je součástí balíku aplikací Microsoft Office. Jedná se o proprietární komerční software, který je nutné zakoupit. Jeho používání je definováno licenčním
ujednáním
EULA
(End-User-Licence-Agreement).21
Pokud
uživatel produkt zakoupený nemá, lze využít nástroj Microsoft Access Runtime, který je možné používat zdarma. Je ovšem určen pouze ke čtení.
21
Microsoft Software License Terms for Office. Office products [online]. [cit. 2014-11-26].
Dostupné z: http://products.office.com/en-us/microsoft-software-license-terms-for-office
31
1.2 Analýza zpracovávaných dat Počátkem
tvorby
funkčního
databázového
systému
je
analýza
zpracovávaných dat. Tento často opomíjený krok předchází samotné tvorbě databáze. Cílem analýzy je správné pochopení záměru zadavatele projektu. Při analýze je nezbytné objasnit základní otázky: Proč má být databáze vytvořena? Co od ní zadavatel očekává? Jedině tak lze dosáhnout funkčního návrhu a implementace databáze. 1.2.1 Definice databázového systému Návrh databáze nelze dělat „od stolu“. Správné pochopení situace je založeno na komunikaci se zadavatelem projektu. To zahrnuje přímou účast tvůrce databáze v organizaci, pro kterou má být databáze určena. Musí proběhnout série setkání a konzultací s potencionálními uživateli databáze. Nezbytné je také pochopení všech procesů, které v dané organizaci probíhají. V některých případech může být vhodné i užití dotazníků. Výsledkem těchto poznávacích procesů je sestavení definice navrženého databázového systému. Je to jakási dokumentace databáze shrnující vstupní požadavky a cíle, kterých má být dosaženo. Pomocí těchto údajů lze také závěrem zjistit, zda bylo navržených cílů opravdu dosaženo. Při prvotním sestavení definic systému nelze očekávat, že jejich výsledky budou finální. Teprve jejich opakovanou konzultací s uživateli databáze a obecnou kritikou lze dosáhnout uspokojivých výsledků.
32
Definici systému lze pro přehlednost rozdělit do dvou skupin:22 1.2.1.1 Definice parametrů 1. Stanovení cílů V tomto bodě jsou stanoveny cíle, kterých má být na konci tvorby databáze dosaženo. Vznikají na základě vstupní analýzy dat, které proběhla komunikací se zadavatelem projektu. 2. Sestavení kritérií návrhu Kritéria návrhu jsou vlastně kompromisy mezi stanovenými cíli projektu a možnostmi, které jsou dané reálnou situací, možnostmi dané organizace a navržené technologie. Na základě těchto kritérií lze hodnotit úspěšnost projektu. Při sestavení návrhu sledujeme následující kritéria:23 Kritéria prostředí Tato část vyjasňuje otázky spojené s prostředím, ve kterém má být databáze nasazena. Sledována je hardwarová a softwarová situace dané organizace. To v praxi znamená zjistit, zda již nějaký databázový software organizace využívá, jaké je morální staří hardwarových a softwarových komponent využívaných organizací a podobně. Důležitým faktorem, který je také brát na zřetel, je počítačová gramotnost cílových uživatelů.
22
RIORDAN, Rebecca. Vytváříme relační databázové aplikace. Praha: Computer Press, 2000, s. 97115. ISBN 80-7226-360-9 23 tamtéž s. 127-43
33
přímo měřitelná kritéria Přímo měřitelná kritéria vyjadřují požadavky, které lze nějakým způsobem exaktně vyjádřit. Jejich hodnota je pak často porovnatelná se způsobem, jakým daná organizace konkrétní agendu zpracovávala dříve. Pro názornost uveďme například fiktivní požadavek: „Zpracování faktury pomocí toho nástroje by mělo trvat nejdéle deset minut“. Obecné strategie Obecné strategie formulují požadavky, které jsou jen obtížně popsatelné nějakou hodnotou. Můžeme sem zařadit například požadavky na grafický vzhled databáze. 1.2.1.2 Definice pracovních procesů Definice pracovních procesů jsou uváděny ve většině literatury jako samostatný blok procesů. Jedním dechem je ale upozorňováno, že tato problematika se proplétá všemi aspekty již od prvních kroků návrhu databáze. Jedná se o pochopení a záznam pracovních procesů dané organizace v oblastech, do kterých databázový systém zasahuje. Lze tedy říci, že zatímco definice parametrů sledují data a úlohy, které má databáze obsahovat,
definice
pracovních
postupů
sledují
mechanismy
a
posloupnosti, jakými jsou tato data a úlohy zpracovány. Pokud by totiž nebyly tyto přirozené postupy reflektovány, stala by se databáze nepoužitelnou.
34
2. Teoretická část – historicko-demografická Tato práce je jakýmsi protnutí dvou odlišných světů – informačních technologií a historických věd. Samotná tvorba databáze není cílem, ale spíše prostředkem, jakým dosáhnout cíle. Jejím úkolem je napomoci historikům při jejich práci, konkrétně usnadnit zpracování dat soupisů duší. Z tohoto důvodu je nezbytné vymezit a popsat základní historicko-vědní pojmy, o které se tato práce opírá.
2.1 Demografie Demografie je společenskovědní disciplína zabývající se studiem počtu, složení, rozmístění a pohybu obyvatelstva a jejich zákonitostmi, přičemž ve středu pozornosti demografie leží otázky reprodukce lidské populace.24 Volně přeloženo lze říci, že demografie se zabývá studiem lidské populace a faktory, které její stav a strukturu ovlivňují. Mezi faktory, které jsou při studiu populací brány vzaty na zřetel, jsou faktory přírodní, politické, sociální a ekonomické. Mezi základní jevy, které demografie ve vztahu k populaci studuje, jsou: úmrtnost, porodnost, nemocnost, potratovost, sňatečnost a rozvodovost. Z hlediska oblastí zájmu a metod výzkumu lze demografii rozdělit do několika podkategorií: demografická analýza paleodemografie 24
MAUR, Eduard. Základy historické demografie. Praha: SPN, 1978, s. 5.
35
regionální demografie historická demografie ekonomická a sociální demografie geografie obyvatelstva
2.2 Historická demografie Historická demografie se zabývá retrospektivním zkoumáním populačního vývoje, tedy historickými populacemi.25 Metodologicky vychází z obecné demografie,
ovšem
vlastní
metody
zkoumání
musí
přizpůsobit
dochovaným pramenům, ze kterých může vycházet. Prameny, ze kterých může historická demografie čerpat, nevznikaly z demografických důvodů, ale v době vzniku plnily jiný účel. Většinou vznikaly pro účely daňové evidence obyvatel, nebo z důvodu církevních potřeb. Zde se historická demografie velmi úzce propojuje s klasickými historickými vědami. Při demografickém zpracování pramenů je nezbytné detailně znát politické, kulturní, náboženské a ekonomicko-sociální poměry doby, neboť pramen je nezbytné podrobit historicko-vědní kritické analýze. Jedině tak mohou mít datové výstupy, které jsou zkoumáním zjišťovány, určitou vypovídající hodnotu o populaci a době, ve které pramen vznikl. Jeden příklad za všechny - nelze očekávat, že v období násilné rekatolizace v pobělohorském období v soupisech obyvatel podle víry budou obyvatelé pravdivě uvádět jako svoje vyznání jinou než katolickou víru. Je evidentní, že pokud by v demografické studii tento aspekt nebyl zohledněn, pravdivost výstupních dat by byla velmi zkreslená.
25
MAUR, Eduard. Základy historické demografie. Praha: SPN, 1978, s. 6
36
Prameny, ze kterých může historická demografie čerpat, se v průběhu historie mění. Nemá smysl na tomto místě popisovat pramenné zdroje pro všechny historické epochy. Omezme se tedy na širší období od konce 16. století do poloviny 19. století, kam soupisy duší z hlediska doby vzniku spadají.26 Toto období bývá také nazýváno jako období protodemografické. V tomto období začíná postupně docházet k systematické evidenci obyvatel a majetku, i když důvody vzniku stále ještě nejsou demografické. Původce těchto pramenů lze rozdělit do tří základních skupin – státní administrativu, patrimonijní správu a církevní administrativu. Státní administrativu vedly k evidenci obyvatel dva hlavní důvody – fiskální a vojenské. Jinými slovy, snahou bylo zaevidovat daňové poplatníky a získat údaje o mužích schopných odvodu. V rámci církevní administrativy vznikala evidence obyvatel ze dvou základních potřeb. Hlavním úkolem bylo evidovat obyvatele - „duše“, které spadaly do jednotlivých farností, pro potřeby církve. Druhým důvodem byla delegace funkcí státní správy na bedra církve. Jinak řečeno, státní správa ukládala tvořit evidenci obyvatel církevním institucím. Je třeba podotknout, že z evidence obyvatel pořízené církví měla užitek jak státní správa, tak i církev jako taková. Mezi prameny, které vzniky působením církevních institucí, jsou nejpodstatnější církevní matriky a seznamy farníků.27
26 27
MAUR, Eduard. Základy historické demografie. Praha: SPN, 1978, s. 42 tamtéž s. 58-59
37
2.3 Soupis duší Vedeny jsou dva základní typy seznamů farníků – soupisy duší a zpovědní seznamy. Zpovědní seznamy měly být vyhotovovány každoročně o Velikonocích u osob, které absolvovaly povinnou zpověď.28 Soupis duší, užíván je také výraz status animarum, je soupis, do kterého měli být zahrnuti všichni obyvatelé příslušného církevního obvodu, tedy i děti předzpovědního věku. Soupisy byly sestavovány po výměně 1-2 generací obyvatel, rozlišovány po jednotlivých obcích a strukturovány dle čísel popisných jednotlivých domů. U zde žijících osob měly být zaznamenávány údaje o jménu, příjmení, věku, vyznání, povolání a vztahu k živiteli.29 2.3.1 Demografická analýza soupisu duší Na základě zpracování dat, které status animarum nabízí, lze získat některé socio-demografické poznatky o daném obyvatelstvu. Pochopitelně základním údajem je znalost celkového počtu obyvatel v obci. Na základě této znalosti pak lze populaci dále analyzovat. Podstatným údajem je věková struktura obyvatel. Možností, jak vyjádřit věkovou strukturu obyvatelstva, existuje celá řada. Jako základní pohled na
28
MAUR, Eduard. Dějiny obyvatel českých zemí. Praha: Mladá fronta, 1996, s. 136-137. ISBN 80204-0283-7. 29 PAVLÍK, Jiří a Radek POKORNÝ. Status animarum. Důležitý archivní pramen k vývoji obyvatelstva pevnostního Hradce Králové v první polovině 19. století. Královéhradecko: historický sborník pro poučenou veřejnost. 2011, č. 8. DOI: 1214-5211
38
věkovou strukturu lze uvést kategorizaci populace do věkových skupin, které lze takto diverzifikovat:30 obyvatelstvo v předprodukčním věku 0 – 14 let obyvatelstvo v reprodukčním věku 15 – 49 let obyvatelstvo v postproduktivním věku 50 let a více Dalším pohledem je věková pyramida, která zobrazuje věkovou strukturu obyvatelstva odděleně pro muže a ženy. Stanoveny jsou nerovnoměrné věkové skupiny obyvatel 0 – 5 let, 6 – 11 let, 12 – 14 let, 15 – 19 let, 20 – 59 let a 60 – 100 let. Ze soupisů lze také sledovat strukturu domácností a rodin. Zprvu je nezbytné definovat pojem rodina. Z pohledu historické demografie je základním kamenem takzvaná nukleární rodina. Je to svazek muže a ženy s jejich svobodnými dětmi, kteří žijí v jedné domácnosti. Ti dohromady tvoří jádro. Pokud v jedné domácnosti žije více příbuzných, hovoří se o rozšířené rodinné domácnosti, kde je možné pomyslnou rodinu rozdělit do více jader. Strukturu domácností lze výstižně klasifikovat na základě Laslettovy typologie.31 Domácnosti lze klasifikovat do dvou základních typů – rodinné domácnosti a nerodinné domácnosti. 1) Rodinné domácnosti a. manželský pár b. manželský pár s dětmi c. matka s dětmi d. otec s dětmi 30 31
MAUR, Eduard. Základy historické demografie. Praha: SPN, 1978, s. 92-93 tamtéž s. 98-99
39
e. rozšířená rodinná domácnost 2) Nerodinné domácnosti a. vdovec nebo vdova b. svobodný, nebo bez určení stavu c. rozšířená nerodinná domácnost Strukturu obyvatelstva a rozmístění obyvatelstva v obci dokreslují informace o počtu obyvatel, které žijí v jednotlivých typech domácností a počet obyvatel na jeden dům. Důležitým pohledem na strukturu obyvatelstva v rámci mikroanalýzy je sociální složení neboli sociální stratifikace obyvatelstva. Soupis bohužel tyto údaje explicitně neuvádí. U některých obyvatel, zejména u živitelů domácnosti, je uvedeno jejich povolání. To ovšem nestačí ke generalizujícímu pohledu na zkoumané obyvatelstvo, a proto ani v práci tato problematika není řešena.
3. Praktická část – technická Tato část práce se zaměřuje na popis tvorby databázového systému navrženého pro zpracování soupisu duší. V jednotlivých částech této kapitoly bude kompletně popsán proces vzniku databáze od úvodní analýzy dat, přes vytvoření konceptuálního modelu, relačního modelu, až po implementaci návrhu do samotného aplikačního programu včetně jeho popisu. Úmyslně v této části nebude vysvětlen historicko-vědní význam termínů, které se v popisu databázového systému objeví. Této problematice je vyčleněna samostatná kapitola.
40
3.1 Vstupní požadavky Základním úkolem při návrhu databáze pro soupisy duší je pochopení dosavadní přístupu k těmto archiváliím. Jinými slovy je nezbytné odpovědět na otázky, kdo jsou potencionální uživatelé databáze, jakým způsobem získávají přístup k soupisům duší, proč jsou pro ně tyto archiválie atraktivní, jakým způsobem jsou zpracovávány a zisk jakých dat je pro badatele klíčový. Vytvoření uceleného pohledu na tuto problematiku probíhalo pomocí setkání a konzultací s pracovníky SOkA v Hradci Králové jakožto iniciátory projektu a studiem publikací, které se problematice soupisů duší věnují. V dalších odstavcích budou popsány jednotlivé aspekty práce se soupisy duší, které mají přímý dopad na tvorbu návrhu databáze. 3.1.1 Přístup k archiváliím Danou situaci lze charakterizovat takto: badatelé mohou získat na vyžádání originál archiválie, který lze studovat přímo v badatelně příslušného archivu, ne jinde. Druhou možností je získat digitalizovanou kopii archiválie, se kterou mohou jakkoliv nakládat. 3.1.2 Zpracování dat Práce s daty, které kniha soupisu duší obsahuje, má v zásadě dva okruhy zájmu. První, jednodušší cíl, je najít v záznamech konkrétní osobu, o kterou se badatel zajímá. Důvod tohoto hledání je prostý: badatele zajímá, zda daná osoba v předpokládaném časovém období a lokalitě žila, tedy jestli je o ní nějaký záznam. Pro splnění těchto požadavků je přepis a zpracování
41
dat databázovým systémem určitě výhodné, neboť vyhledání záznamu v databázi je rozhodně rychlejší, než prohledávání archivního materiálu. Často se však jedná o jednorázovou operaci, kdy badatel „zjistil, co potřeboval“, a vícekrát už soupis nepoužije. V takovém případě je ke zvážení, zda práce vynaložená na přepis pramene do databáze není namáhavější než prostudování analogového pramene. Druhou, z pohledu databáze mnohem zásadnější, službou, kterou soupis duší poskytuje, je hromadné a statistické zpracování dat, které pramen nabízí. Tato data jsou v zájmové oblasti badatelů, kteří například vytvářejí historicko-demografickou studii dané lokality. Zjednodušeně řečeno, představme si, že badatel potřebuje zjistit, kolik bylo v obci, která je středem jeho zájmu, obyvatel. Kolik z nich bylo žen a kolik mužů a podobně. Na základě těchto informací následně badatel vypracovává konkrétní studii. Na tomto jednoduchém příkladu si lze snadno představit, že manuální počítání jednotlivých záznamů, které archiválie obsahuje, je značně vyčerpávající a snadno vede k chybám ve výpočtu. V dřívějších dobách, dnes už opravdu jen vzácně, řešili historičtí demografové excerpci potřebných dat pomocí tištěných formulářů a „čárkovací“ metodou. Většina současných badatelů používá ke zpracování dat služeb tabulkových editorů. Přepisem analogových záznamů do tabulkového editoru s následným využitím matematických funkcí pro práci se záznamy se sice lze dobrat určitých výsledků, na první pohled je ale patrné, že to není zcela ideální řešení. I když použití databázového systému obecně pro účely zpracování dat opravdu není v současnosti přelomovou novinkou, v oblasti historické demografie, soupisů duší a badatelů, kteří se touto problematikou
42
zabývají, se nejedná o prozkoumanou oblast. Tato práce je jedním z prvních pokusů aplikovat databázový systém pro zpracování dat pro historicko-demografické účely. Z povahy relačních databází a databází obecně je tedy patrné, že zpracování dat tímto způsobem přináší nesporné výhody. Samotný návrh databáze ztěžuje několik obecných okolností, které je si třeba uvědomit.
Studium soupisů duší jako pramene pro historickou
demografii je teprve v začátcích, takže existuje jen velmi málo scelujících studií, které by mapovaly excerpci dat z archivního pramene soupisu duší. Jinými slovy, nelze naprosto přesně a priori říci, která data ze soupisu duší lze považovat při návrhu databáze za naprosto klíčová a která označit za okrajová. V mnoha případech je tedy návrh struktury databáze z hlediska obsažených dat založen více na úsudku a znalostech historické demografie autora návrhu databáze než na studiích, které tuto problematiku sledují. Dalším problémem, který komplikuje návrh databáze, je fakt, že forma jednotlivých soupisů duší není unifikovaná. I když v době vzniku soupisů duší existovaly určité metodické pokyny, jak knihy vést a které informace v nich sledovat, forma knih se v průběhu doby měnila a samotné rozhodnutí, jak knihy vést, stejně záviselo na konkrétním autorovi. Nelze tedy vytvořit generalizující pohled, jak soupis duší vypadal, ale je při návrhu databáze nutné mít na paměti, že mezi jednotlivými knihami jsou, mnohdy značné, rozdíly. Výsledná struktura databáze je tedy jakýsi „použitelný kompromis“ zohledňující rozdílnost jednotlivých soupisů.
43
3.1.3 Rozsah použití Důležitým aspektem, který je třeba objasnit, je jak velký objem dat bude databáze zpracovávat. Jedná o údaj, který je těžké vyjádřit nějakou přesnou hodnotou, cílem je tedy spíše vytvořit rámcovou představu. Jedná se ovšem o podstatný údaj, neboť na jeho základě lze hodnotit, zda uvažovaný
databázový
systém
bude
výkonově
vyhovovat
jeho
navrhovanému účelu. Tento údaj lze získat protnutím dvou stanovitelných aspektů – tedy jaké množství záznamů obsahuje jeden soupis duší a kolik soupisů bude databáze zpracovávat. Očekává se, že databáze bude sloužit badatelům SOkA Hradec Králové pro individuální použití, při tvorbě historickodemografických studií, které se budou vztahovat ke konkrétní lokalitě, v níž soupis duší vznikl. Představou tedy není zpracovat celý fond soupisů duší a vytvořit nějakou ucelenou databázi všech knih. Ze znalosti historické demografie, analýzy již existujících studií zabývajících se populacemi obcí a analýzou knih uložených v příslušném fondu vyplývá, že k vytvoření konkrétní studie používají badatelé řádově jednotky knih.32 Pokud bychom přijali velmi zjednodušující fakt, že jedna osoba v soupisu duší se rovná jednomu záznamu v databázi, vyplývá, že z pohledu objemu dat se jedná o databázi spíše menšího rozsahu.
32
Zohledněny byly tyto studie: ČÁP, Jaroslav. Broumov a jeho obyvatelé ve světle soupisu věřících z roku 1785: články a studie. Stopami dějin Náchodska. Náchod: Státní okresní archiv, 1997, č. 3, s. 53-80. PAVLÍK, Jiří a Radek POKORNÝ. Status Animarum: Důležitý archivní pramen k vývoji obyvatelstva pevnostního Hradce Králové v první polovině 19. století. Královéhradecko: historický sborník pro poučenou veřejnost. 2011, č. 8
44
3.2 Cíle projektu Na základě rozboru výše uvedených vstupních požadavků lze stanovit cíle projektu: Tvorba databázového systému pro účely zpracování dat v rámci historicko-demografické studie nebo edice. Umožnit vkládání dat pomocí grafického rozhraní. Umožnit vyhledávání dat pomocí grafického rozhraní. Vytvořit nástroje pro komparaci dat s ohledem na zásady historické demografie. Vytvořit nástroje pro export dat z databázového nástroje a tvorbu rejstříku. Vytvořit databázový systém, který je přenosný – tedy není závislý síti nebo lokálním úložišti. Pro tvorbu databázového systému byl použit program Microsoft Access ve verzi Microsoft Access 2010. Tento produkt splňuje požadavky, které jsou na databázový systém kladeny. Výhodou je všeobecná rozšířenost produktu Microsoft Office, jehož je součástí.
3.3 Konceptuální model dat Na základě zmapování vstupních požadavků a stanovení cílů lze přejít k samotné tvorbě konceptuálního modelu databáze. V tomto kroku jsou vytvořeny entity, jejich atributy a vztahy mezi entitami. Stanoveny jsou také primární klíče, sledována je kardinalita mezi vztahy entit a jejich členství v daném vztahu. Koncept je znázorněn E-R diagramem a veškeré aspekty jsou také zobrazeny pomocí lineárního zápisu.
45
3.3.1 E-R model E-R model popisuje navržené entity, vztahy mezi entitami a základní integritní omezení, které zahrnuje stanovení primárního klíče, kardinality, vztahu mezi entitami a členství ve vztahu. Obrázek 5: Schéma E-R diagramu
zdroj: autor
3.3.2 Lineární konceptuální zápis OSOBA (id_osoba:int, jmeno_transk_cj:char, prijmeni_transk_cj:char, jmeno_transk_nj:char, prijmeni_transk_nj:char, jmeno_transk_lt:char, prijmeni_transk_lt:char, jmeno_translit:char, prijmeni_translit:char, predikat:char, udavane_datum_nar:date, udavany_vek:int, misto_nar:char, umrti:char, datum_umrti:date, pohlavi:int, prednosta:char, pastorek:char, prislusnost:char, povolani:char, funkce:char, pozn_povolani:varchar)
46
DOMACNOST (id_domacnost:int, pozn_domacnost:varchar) DUM (id_dum:int, cislo_popisne:int, popis_domu:char, pozn_dum:varchar) MESTO (id_mesto:int, nazev_mesto:char, interpi:char, město_pozn:varchar) VIRA (id_vira:char, nazev_vira:char) CISELNIK_ROLE (id_role:char, popis_role:char) CISELNIK_SOC_STRATIFIKACE (id_soc_stratifikace:char, popis_soc_stratifikace:char) CISELNIK_TYP_DOMACNOST (id_typ_domacnost:char, popis_typ_domacnost:char) VERI (svate_prijimani:char, velikonocni_zpoved:char, obdrzeni_birmovani:char, schopnost_zpovedi:char, schopnost_svateho_prijimani:char)
3.4 Relační model dat Podstata relační databáze a relačního modelu dat byla vysvětlena v teoretické části. Z praktického hlediska lze říci, že navržený relační model databáze odpovídá struktuře dat následně aplikované v databázovém nástroji.
47
3.4.1 Transformace E-R modelu Proces transformace E-R modelu do relačního modelu dat je založen na dekompozici vztahů mezi uvažovanými relacemi, analýzy funkčních závislostí atributů a stanovení integritního omezení tak, aby navrhovaná struktura odpovídala pravidlům relační databáze. Ověření správnosti struktury probíhá pomocí procesu normalizace, tak aby datová struktura splňovala normalizační pravidla. Cílem navrhované struktury je, aby odpovídala pravidlům třetí normální formy. 3.4.2 Fyzický model relační databáze Fyzický model relační databáze lze zobrazit několika způsoby. Základní metodou je lineární zápis relací. Ten však není ve svém důsledku příliš přehledný, neboť nevyjadřuje vazby mezi relacemi. Z hlediska přehlednosti je mnohem výhodnější použití schématu, které mnohem lépe vyjadřuje vazby mezi relacemi.
48
Schéma fyzického modelu relační databáze
Obrázek 6: Schéma fyzického modelu databáze
zdroj: autor
3.5 Definice dat Tvorba struktury databáze – tabulek, je provedena pomocí jazyka SQL, respektive pomocí jeho příkazů pro definici dat (DDL). Pro tvorbu tabulek je stanoven příkaz CREATE TABLE. Jeho celá syntaxe vypadá takto: CREATE TABLE [nazev_databaze.]nazev_tabulky (
49
[DEFAULT ] [NULL | NOT NULL] [] |[] [,...n];33 Na následujících stránkách je popsána tvorba konkrétních tabulek pomocí jazyka SQL včetně obrázku vyobrazující vytvořenou tabulku v návrhovém zobrazení.
Tabulka obec Obrázek 7: Tabulka obec
zdroj: autor
Zápis pomocí SQL: CREATE TABLE obec ( id_obec int NOT NULL PRIMARY KEY, nazev_obec char(30) NOT NULL, interpi char(30), obec_pozn char(255) )
33
POKORNÝ, Jaroslav a Ivan HALAŠKA. Databázové systémy. 1. vydání. Praha: ČVUT, 1999, s. 87, ISBN 80-01-01724-9.
50
Tabulka dum Obrázek 8: tabulka dum
zdroj: autor
Zápis pomocí SQL: CREATE TABLE dum ( id_dum int NOT NULL, cislo_popisne char(10) NOT NULL, popis_dum char(30), dum_pozn varchar(255), id_obec int, PRIMARY KEY (id_dum), CONSTRAINT id_obec FOREIGN KEY (id_obec) REFERENCES obec(id_obec) )
Tabulka ciselnik_typ_domacnosti Obrázek 9: Tabulka ciselnik_typ_domacnosti
zdroj: autor
51
Zápis pomocí SQL CREATE TABLE ciselni_typ_domacnosti ( id_typ_domacnost char(5) NOT NULL UNIQUE PRIMARY KEY, popis_typ_domacnosti char(30) )
Tabulka domacnost Obrázek 10: Tabulka domacnost
zdroj: autor
Zápis pomocí SQL: CREATE TABLE domacnost ( id_domacnost int NOT NULL, id_typ_domacnost char(5) NOT NULL, id_obec int, id_dum int, domacnost_pozn varchar(255), PRIMARY KEY (id_domacnost), CONSTRAINT fk_d_id_obec FOREIGN KEY (id_obec) REFERENCES obec(id_obec), CONSTRAINT fk_d_id_dum FOREIGN KEY (id_dum) REFERENCES dum(id_dum), CONSTRAINT fk_d_id_typ_domacnost FOREIGN KEY (id_typ_domacnost) REFERENCES ciselnik_typ_domacnosti(id_typ_domacnost) )
52
Tabulka ciselnik_role Obrázek 11: Tabulka ciselnik_role
zdroj: autor
Zápis pomocí SQL: CREATE TABLE ciselnik_role ( id_role char(5) NOT NULL UNIQUE PRIMARY KEY, popis_role char(30) role_pozn varchar(255) )
Tabulka ciselnik_soc_stratifikace Obrázek 12: Tabulka ciselnik_soc_stratifikace
zdroj: autor
Zápis pomocí SQL: CREATE TABLE ciselnik_soc_stratifikace ( id_soc_stratifikace char(5) NOT NULL UNIQUE PRIMARY KEY, popis_soc_stratifikace char(30), soc_stratifikace_pozn varchar(255) )
53
Tabulka osoba Obrázek 13: Tabulka osoba
Zdroj: autor
Zápis pomocí SQL: CREATE TABLE osoba ( id_osoba int UNIQUE NOT NULL, id_domacnost int NOT NULL, id_dum int NOT NULL, jmeno_transk_cj char(20) NULL, prijmeni_transk_cj char(20) NULL, jmeno_transk_nj char(20) NULL, prijmeni_transk_nj char(20) NULL, jmeno_transk_lt char(20) NULL, prijmeni_transk_lt char(20) NULL, predikat char(10) NULL, udavane_dat_nar date NULL, udavany_vek int NULL, misto_nar char(30) NULL, pohlavi int NOT NULL, prednosta bit NULL, prislusnost int NOT NULL, pastorek bit NULL, id_soc_stratifikace char(5) NULL, id_role char(5) NOT NULL, povolani char(20) NULL, funkce char(20) NULL, umrti bit NULL,
54
datum_umrti date NULL, navstevovani_skoly bit NULL, osoba_pozn varchar(255), PRIMARY KEY (id_osoba), CONSTRAINT fk_o_id_dum FOREIGN KEY (id_dum) REFERENCES dum(id_dum), CONSTRAINT fk_o_id_domacnost FOREIGN KEY (id_domacnost) REFERENCES domacnost(id_domacnost), CONSTRAINT fk_o_id_role FOREIGN KEY (id_role) REFERENCES ciselnik_role(id_role), CONSTRAINT fk_o_id_soc_stratifikace FOREIGN KEY (id_soc_stratifikace) REFERENCES ciselnik_soc_stratifikace(id_soc_stratifikace) )
Tabulka vira Obrázek 14: Tabulka vira
Zdroj: autor
Zápis pomocí SQL: CREATE TABLE vira ( id_vira int NOT NULL, nazev_vira char(50) NULL, PRIMARY KEY (id_vira) )
55
Tabulka vira_osoba Obrázek 15: Tabulka vira_osoba
zdroj: autor
Zápis pomocí SQL: CREATE TABLE vira_osoba ( id_vira int NOT NULL, id_osoba int NOT NULL, svate_prijimani bit NULL, velikonocni_zpoved bit NULL, obdrzeni_birmovani bit NULL, schopnost_zpovedi bit NULL, schopnost_svateho_prijimani bit NULL, PRIMARY KEY (id_osoba, id_vira), CONSTRAINT fk_vo_id_osoba FOREIGN KEY (id_osoba) REFERENCES osoba(id_osoba), CONSTRAINT fk_vo_id_vira FOREIGN KEY (id_vira) REFERENCES vira(id_vira) )
Tabulka vlastnictví_dum Obrázek 16: Tabulka vlastnictvi_dum
zdroj: autor
56
Zápis pomocí SQL: CREATE TABLE vlastnictvi_dum ( id_osoba int NOT NULL, id_dum int NOT NULL, PRIMARY KEY (id_osoba, id_dum), CONSTRAINT fk_odm_id_osoba FOREIGN KEY (id_osoba) REFERENCES osoba(id_osoba), CONSTRAINT fk_odm_id_dum FOREIGN KEY (id_dum) REFERENCES dum(id_dum) ) 3.6 Manipulace s daty Příkazy pro manipulaci dat v SQL zahrnují výběrový příkaz SELECT a aktualizační příkazy INSERT, DELETE, UPDATE. Tyto příkazy jsou zapisovány a spouštěny pomocí dotazů. Dotazy jsou následně implementovány do grafického rozhraní. Uživatel k nim může přistupovat pomocí vytvořených formulářů, nebo pomocí vlastních dotazových objektů. Vzhledem k množství použitých dotazů je jejich kompletní výčet včetně popisu konstrukce přiložen jako vlastní dokumentace v příloze práce. Z hlediska historicko-vědního jsou tyto dotazy rozebrány v následující kapitole.
3.7 Grafické rozhraní Tvorbu grafického uživatelského rozhraní (GUI) databáze v MS Access lze realizovat pomocí již hotových objektů a ovládacích prvků, které program nabízí. Výhodné je, že uživatel databáze tak může sám snadno přizpůsobovat uživatelské rozhraní podle vlastní potřeby. Databázový
57
systém je na prvcích grafického rozhraní nezávislý, takže změny v GUI neovlivní strukturu dat. Grafické uživatelské rozhraní použité v práci je vytvořeno pomocí soustavy formulářů. Pro každou relaci a skupinu dotazů je vytvořen vlastní formulář. Podle oblasti použití jsou formuláře seskupeny do tří hlavních kategorií. Pro každou tuto kategorii je vytvořen jeden centrální formulář – navigační formulář, který umožňuje pomocí pásu přepínacích karet jejich ovládání. Vytvořen je navigační formulář vkládání údajů, který slouží k vkládání dat do
databáze.
Navigační
formulář
dotazy
seskupuje
formuláře
s vytvořenými dotazy. Navigační formulář rejstřík a vyhledávání slouží k vyhledávání konkrétních záznamů v databázi podle parametru a také k tvorbě sestav. Obrázek 17: Formulář vkládání údajů
zdroj: autor
58
Obrázek 18: Formulář dotazy
zdroj: autor
Obrázek 19: Formulář rejstřík a vyhledávání
zdroj: autor
59
4. Praktická část – historicko-demografická V předchozí kapitole byl popsán vznik databáze a její fyzická struktura. Aby ovšem byl pohled na databázi kompletní, je nezbytné ji také popsat z pohledu historické demografie, neboť databáze jako taková je pouze nástroj. Tato kapitola si klade za cíl popsat historicko-demografické aspekty, které vedly k navržení takovéto struktury databáze a jednotlivé prvky popsat.
4.1 Soupis duší Z pohledu historické demografie je cílem navržené databáze umožnit badatelům získat ze soupisu duší seznam osob žijících v jednotlivých domech a poskytnout o nich socio-demografické údaje. Návrh databáze se v rozsahu použití nezobecňuje pouze na potřeby konkrétního zkoumaného soupisu, ale klade si za cíl možnost aplikace databáze i na zpracování jiných soupisů, nebo alespoň poskytnout pohled, jak data zpracovat. Tyto aspekty jsou proto brány v potaz i v samotné struktuře databáze. Databáze byla ovšem vytvořena na základě analýzy konkrétní knihy soupisu duší, která je uložena v archivu Státního okresního archivu v Hradci Králové. Konkrétně se jedná o soupis duší vyhotovený pro královéhradecké děkanství. To v sobě zahrnovalo statutární město Hradec Králové a přilehlé obce Malšovice, Zámostí, Malšovu Lhotu a Svinary. Jeho vznik je datován do roku 1842. Fyzicky se archiválie nachází ve Státním okresním archivu v Hradci Králové, ve fondu děkanského a vikariátního úřadu Hradce Králové, pod inventárním číslem 78, v kartonu číslo 33. Jedná se o jeden z nejlépe dochovaných soupisů duší uložených ve fondu.
60
Z pohledu návrhu databáze se jedná o ideální soupis, neboť v sobě zahrnuje údaje jak o městě a jeho obyvatelích, tak i o vsích a jejich obyvatelích. Oba tyto druhy obcí mají jinou strukturu domů a obyvatelstva, takže struktura databáze v sobě zohledňuje různorodost těchto typů obcí.
4.2 Analýza pramene Záznamy v soupisu jsou zapisovány do předem vyhotoveného formuláře. Seznamy jsou organizovány podle obcí a v nich podle čísla popisného domů. Obyvatelé jednotlivých domů jsou seskupováni do domácností. Každá domácnost je reprezentována hlavní osobou, jejíž pozice je předsazena před ostatními osobami v domácnosti. Tato hlavní osoba – přednosta domácnosti – je hlavním zaopatřovatelem rodiny a v drtivém množství případů také majitelem domácnosti. U této osoby je uvedeno celé křestní jméno a příjmení, přičemž ostatní osoby mají uvedeno pouze křestní jméno. Sled zápisu dalších členů domácnosti je pevně stanoven. Na druhém místě jsou vždy uváděni manžel, nebo manželka přednosty domácnosti. Následují pak jejich děti. Nejprve jsou uváděni jejich synové sestupně podle věku a poté dcery, opět sestupně podle věku. Následně jsou uváděni další příslušníci domácnosti, kteří jsou v rodinném vztahu k přednostovi domácnosti. Na posledním místě jsou uvedeny osoby, které nemají rodinný vztah k přednostovi domácnosti. Jedná se o osoby, které jsou v domácnosti ve služebném poměru, nebo o studenty, kteří v domácnosti přechodně bydlí. Údaje, které jsou zapisovány k jednotlivým osobám, se mírně liší podle toho, zda je konkrétní osoba přednostou domácnosti, či nikoliv. Uveďme
61
proto zvlášť sledované údaje pro přednostu domácnosti a pro její ostatní členy. Údaje vedené pro přednostu domácnosti: křestní jméno příjmení datum narození osoby údaj, zda je osoba narozena jako manželský, nebo nemanželský potomek povolání víra (Soupis eviduje k víře dále církevní rituály, které osoba absolvovala. Jednotlivé rituály budou rozebrány ve vlastním odstavci.) školní docházka Údaje vedené pro ostatní rodinné členy domácnosti křestní jméno datum narození osoby vztah k přednostovi domácnosti víra školní docházka Aby bylo možné funkčnost databáze otestovat a zhodnotit navržené řešení, bylo metodou sondy z pramene vybráno sto osob, které byly do databáze zapsány.
62
4.3 Transformace údajů pramene do databáze Vytvořená
databáze
z obsahového
hlediska
dodržuje
strukturu
analogového pramene. Zpracování pramene pomocí relační databáze ovšem nabízí možnost sledovat i další údaje a vazby, které ze zápisu analogového pramene explicitně nevyplívají, ale jsou pro badatele velmi přínosné. Z tohoto důvodu se navržená databáze nedrží formy, ve které je status animarum původně zhotoven, ale je vytvořena struktura vlastní. Struktura analogového pramene je dekomponována do podoby relační databáze a je reprezentována pomocí tabulek. Z důvodu přehlednosti je tedy výhodné, se při popisu vstupních dat databázové struktury držet. 4.3.1 Tabulka obec Soupis duší eviduje obyvatele (farníky) pro celou farnost. Jedna farnost v sobě velmi často zahrnuje několik obcí. V případě toho soupisu jsou to statutární město Hradec Králové a blízké vsi Malšovice, Zámostí, Náhon, Malšova Lhota a Svinary. Tyto jednotlivé obce je nutné evidovat zvlášť, aby bylo možné ke každé osobě v soupisu jednoznačně určit, ze které obce pochází. Na základě tohoto vztahu pak lze porovnávat data o osobách žijících pouze v konkrétních obcích. Některé obce mohly v průběhu doby zaniknout, vzájemně se sloučit nebo mohly být připojeny k některé z jiných obcí. Z dnešního pohledu tak nemusí být evidentní, jaká obec je vlastně v soupisu zaznamenána. Velkým pomocníkem při definování obce je připravovaný projekt INTERPI. V rámci
63
tohoto projektu jsou evidovány všechny známé historické obce na našem území a je jim přidělen unikátní identifikátor, na jehož základě lze informace o dané obci dohledat.34 Je tedy výhodné tuto informaci také v rámci databáze sledovat. Na základě těchto potřeb tabulka obec obsahuje následující pole: id_obec o Toto pole slouží jako automaticky generovaný jednoznačný identifikátor obce. nazev_obce o Toto pole slouží k zaznamenání názvu obce tak, jak je uvedeno v soupisu. interpi o Zde se vkládá identifikátor obce z databáze projektu INTERPI. obec_pozn o Pokud jsou v rámci identifikace obce zjištěny další informace, které jsou podstatné k popisu obce, lze je v tomto poli zaznamenat. 4.3.2 Tabulka dum a vlastnictvi_dum Soupis seskupuje obyvatele do domácností, kterým ovšem nevytváří žádný identifikátor. Obyvatelé jsou evidování pouze podle čísla popisného domu, ve kterém bydlí. Situace se liší ve městech a vsích. O domech na vsích lze ve většině případů říci, že jeden dům rovná se jedné domácnosti. Důvod je prostý – rodiny žily převážně v chalupách, kam by se více rodin vešlo jen 34
Znalostní model. INTERPI [online]. [cit. 2014-12-01]. Dostupné z: http://www.interpi.cz/metodika/met.ge.oz/Oznaceni
64
těžko. Ve městech je situace jiná. Prostorová dispozice městských domů umožňuje, aby jeden dům obsahoval více domácností. Tato situace je v databázi vyřešena tak, že pomocí tabulek dům a domácnost jsou jednoznačně identifikovány jak domy, tak i domácnosti a je vyjádřen vztah jak mezi osobou a domem, tak i mezi osobou a domácností. Popis domu včetně dalších sledovaných informací obsahuje tabulka dum, která obsahuje tato pole: id_dum o Automaticky generovaný jednoznačný identifikátor domu. cislo_popisne o Toto pole obsahuje informaci o čísle popisném konkrétního domu, které je uvedeno v soupisu duší. Číslo popisné není záměrně použito jako identifikátor závazný pro databázový systém, neboť pokud by databáze obsahovala více obcí, je nanejvýš pravděpodobné, že by se vyskytly dva domy se stejným číslem popisným, což by vedlo k problematickému určování jednotlivých domů. popis_domu o Pro některé význačné budovy je uváděn také slovní popis (například radnice). Pro zaznamenání tohoto údaje slouží pole popis_domu. id_obec o Toto pole přejímá data z pole id_obec z tabulky obec. Vyjadřuje vztah, že daný dům je součástí konkrétní obce.
65
dum_pozn o Umožňuje badateli vložit další zjištěné informace o analyzovaném domě. Z analyzovaného soupisu nelze určit osobu, která je fyzickým majitelem domu. Teoreticky může být jedna osoba majitelem i více domů. Studiem jiných pramenů vázajících se k dané lokalitě mohou být tyto údaje zjištěny. Aby mohla být znalost vlastníka domu v databázi zaznamenána, byla vytvořena tabulka vlastnictvi_dum. Ta vyjadřuje vztah mezi existující osobou a domem, který vlastní. Osobu zde vyjadřuje přejatý sloupec id_osoba z tabulky osoba a dům je identifikován sloupcem id_dum přejatý z tabulky dum. 4.3.4 Tabulka domacnost Jedním z důležitých historicko-demografických údajů je typologie rodiny. Aby tyto údaje bylo možné sledovat, bylo nutné rodinu v soupisu vymezit a jednoznačně identifikovat. Jak už bylo uvedeno, rodina (domácnost) je v soupisu vymezena hlavní osobou (přednostou) domácnosti. Podle způsobu zápisu hlavní osoby v seznamu pak lze odvodit další osoby, které jsou na ní závislé. Tuto skupinu osob pak lze označit jako jednu domácnost. Každá takto rozeznaná domácnost je zapsána do tabulky domacnost a je jí přiřazen unikátní identifikátor. Na základě analýzy vztahů mezi členy domácnosti, které ze soupisu přímo vyplývají, lze popsat typologii domácnosti (rodiny). Definice domácnosti a její typy jsou podrobně rozepsány v teoretické části práce, nemá tedy smysl je na tomto místě opakovat znovu.
66
Tabulka domacnost obsahuje tato pole: id_domacnost o Automaticky generovaný jednoznačný identifikátor, který označuje rozeznanou domácnost typ_domacnosti o Hodnota, která jednoznačně určuje typologii domácnosti. Z praktických důvodů je pro každý typ domácnosti vytvořen unikátní zástupný symbol, který je i s popisem uložen v pomocné tabulce ciselnik_typ_domacnosti. Následující tabulka zobrazuje typ domácnosti se symbolem, který ji reprezentuje. Tabulka 3: Hodnoty tabulky ciselnik_typ_domacnosti ciselnik_typ_domacnosti zástupný symbol b3a b3b b3c
typ domácnosti manželský pár manželé s dětmi matka s dětmi
b3d b4
otec s dětmi rozšířená rodinná domácnost
a1a a1b
vdovec/vdova svobodný, nebo bez určení stavu
a2
vícečlenná nerodinná domácnost zdroj: autor
id_dum o Toto pole přejímá hodnoty z tabulky dum. Vyjadřuje vztah, že daná domácnost je součástí konkrétního domu.
67
id_obec o Toto pole přejímá hodnoty z tabulky obec. Vyjadřuje vztah mezi danou domácností a obcí, ve které se domácnost nachází. domacnost_pozn o Umožňuje badateli vložit další zjištěné informace o analyzované domácnosti. 4.3.5 Tabulka osoba S trochou nadsázky lze říci, že pomocí předchozích tabulek byl definován „životní prostor“ pro jednotlivé osoby. Jinými slovy, na vzniku relací mezi předchozími tabulkami a tabulkou osoba lze osobu bezchybně umístit do správné domácnosti, jíž byla součástí, a analogicky také do správného domu a obce. Tabulka osoba v sobě integruje záznamy o všech osobách zaznamenaných v soupisu duší včetně údajů, které o ní jsou vedeny. Výjimku tvoří údaje náboženského charakteru, kterým se věnuje vlastní tabulka. Jméno, příjmení Základním údajem, který soupis eviduje, je jméno a příjmení osoby. Kompletně je křestní jméno a příjmení uvedeno pouze u přednosty domácnosti. U ostatních rodinných členů domácnosti příjmení není uvedeno. Předpokládá se, že ostatní rodinní členové přejímají příjmení od přednosty, lze si ho tedy snadno dovodit. Pokud jsou součástí domácnosti nerodinní členové, je u nich uvedeno zpravidla křestní jméno a příjmení.
68
Jazyky, jakými jsou iniciále v jednotlivých soupisech zapisovány, se různí. Rozdílný jazyk se může objevit i v rámci jednoho soupisu, pokud jej vyhotovovalo více osob. Setkat se lze s češtinou, němčinou, nebo latinou. Konkrétní studie nebo edice může vyžadovat různý způsob přepisu jména a příjmení ze soupisu do databáze. Z tohoto důvodu ponechává databáze badateli volnost a nechává na něm, jaký způsob přepisu zvolí, zda transkripci, nebo transliteraci. Z tohoto důvodu je navrženo několik polí, které počítají s více variantami. Možné způsoby přepisu: transkripce jména a příjmení v češtině o Pro tento způsob zápisu křestního jména je vytvořeno pole jmeno_transk_cj a pro příjmení prijmeni_transk_cj. transkripce jména příjmení v němčině o Pro tento způsob zápisu křestního jména je vytvořeno pole jmeno_transk_nj a pro příjmení prijmeni_transk_nj. transkripce jména a příjmení v latině o Pro tento způsob zápisu křestního jména je vytvořeno pole jmeno_transk_lt a pro příjmení prijmeni_transk_lt. transliterace jména a příjmení o Pro tento způsob zápisu křestního jména je vytvořeno pole jmeno_translit a pro příjmení prijmeni_translit. Predikát o Některé osoby šlechtického původu mohou mít součástí příjmení také predikát (přídomek). Pro něj je vytvořeno také vlastní pole predikat.
69
Role, pohlaví a příslušnost osoby Ve sloupci, ve kterém je uvedeno jméno a příjmení, je také uveden vztah dané osoby k přednostovi domácnosti (pokud pochopitelně sama osoba není přednostou). Nejčastěji se jednalo o manželku, syna nebo dceru. Tento vztah, pro který je v databázi užit název role, je velmi důležité sledovat pro následné demografické studium rodiny. Pro evidenci tohoto údaje bylo vytvořeno pole role, které je propojeno s pomocnou tabulkou ciselnik_role, ze které data přejímá. Následující tabulka znázorňuje typ role, které může osoba nabývat. Tabulka 4: Hodnoty tabulky ciselnik_role ciselnik_role zástupný symbol mn mz s d omn omz mmn mmz st t bt sr n
popis_role manžel manželka syn dcera otec manžela otec manželky matka manžela matka manželky strýc teta bratranec sestřenice neurčeno zdroj: autor
S identifikací role osoby v domácnosti souvisí také potřeba jednoznačně určit osobu, která je přednostou domácnosti. V soupisu jako takovém je tato osoba určena graficky, tedy předsazením před ostatními členy domácnosti. V databázi je tato situace řešena polem prednosta. Toto pole
70
u konkrétní osoby nabývá hodnoty ANO/NE pomocí zaškrtávacího prvku v tabulce. Důležitým úkolem je také určit pohlaví dané osoby. V soupisu explicitně tento údaj vyjádřen není, ale pro pohled na strukturu obyvatelstva se jedná o klíčový údaj. Fakt, jestli se jedná o muže, či ženu musí badatel odvodit z křestního jména a příjmení osoby. Nemělo by se však jednat o nijak složitý problém. Tento údaj je sledován v poli pohlavi. Soupis duší obsahuje vlastní kolonku, která sleduje, zda se konkrétní osoba narodila jako manželské, nebo nemanželské dítě. Tento údaj je zapsán prostým proškrtnutím patřičné kolonky. Pokud je kolonka prázdná, jedná se o nemanželské dítě. Tohoto pregnantního zápisu se drží také databáze. Pro tento údaj je alokováno pole pastorek, které pomocí zaškrtávacího prvku nabývá hodnoty ANO/NE. Zejména ve městech mohou být součástí domácnosti osoby, které nemají rodinný vztah k přednostovi domácnosti a pobývají zde často pouze po omezenou dobu. Mezi tyto osoby lze zařadit studenty, kteří v daném místě navštěvují školu, a jsou v domácnosti dočasně ubytováni, a jsou to také osoby ve služebném poměru (tovaryši, sluhové, pacholci a podobně). Je na zvážení badatele, zda chce tyto osoby do součtů obyvatel zahrnout, nebo s nimi jinak pracovat. Z tohoto důvodu byl osobě vytvořen atribut příslušnost, který rozděluje obyvatele na domácí a cizí. Vyjádření příslušnosti osoby je realizováno pomocí vytvořeného pole prislusnost. Věk osoby Velkou kapitolou a důležitým údajem je věk obyvatel. V tomto soupise je u každé osoby uveden rok narození. Den a měsíc narození uveden není.
71
V některých soupisech ovšem může být uvedeno přesné datum narození, nebo pouze věk, nebo kombinace obojího. Datum narození osoby je důležitý údaj, ovšem pro vyjádření věkové struktury obyvatelstva je potřebné znát číselně vyjádřený věk osoby. Databáze tento problém řeší automatickým vypočítáním věku obyvatele. Jedná se o jednoduchý výpočet, ve kterém je od data vzniku soupisu odečteno datum narození osoby. Výpočet je sám o sobě jednoduchý, složitější je ovšem adekvátně určit vstupní hodnoty. Rok vzniku soupisu duší je většinou známý. Určení konkrétního data jeho pořízení je obtížnější. Většinou byly soupisy sestavovány o Velikonocích v rámci vykonané zpovědi.35 Nejpravděpodobněji byly sestavovány k Velkému pátku, nebo k Velikonoční neděli. Jelikož se jedná o pohyblivé svátky, nelze v databázi nastavit pevný datum Velikonoc, ale uživatel musí sám zjistit datum Velikonoc v konkrétním roce a údaj do databáze vložit.36 Druhou vstupní hodnotou je určení přesného data narození osoby. Pokud je uvedeno, není co řešit. Pokud ne, je třeba dosadit vlastní univerzální hodnotu pro den a měsíc narození. Je na badateli, jakou hodnotu zvolí. Jako nejschůdnější se jeví zvolit prostředek roku (30. června), nebo konec roku (31. prosince). V soupise duší se také objevují údaje o úmrtí osoby. Zápis této informace o dané osobě je zobrazován různě. Nejčastěji však připsáním symbolu křížku
35
MAUR, Eduard. Historická demografie. Praha: SPN, 1978, s. 58
36
Pro zjištění historického data Velikonoc lze doporučit publikaci BLÁHOVÁ, Marie. Historická
chronologie. Praha: Libri, 2001. ISBN 80-7277-024-1.
72
ke jménu dané osoby. Tento aspekt byl v databázi zohledněn, zejména proto, aby taková osoba mohla být vyřazena ze součtů obyvatel. Místo narození osob analyzovaný soupis neuvádí. Je ale reálné, že uživatel na základě studia jiných pramenů zjistí, že místo narození dané osoby se liší od místa, pro které je soupis vyhotoven. V takovém případě je přínosné, aby tato informace byla k údajům o osobě připojena. Pro tyto účely je vytvořeno vlastní pole. Pro určení věku osoby jsou v databázi vytvořena tato pole: udavane_dat_nar o Tento sloupec slouží k vložení udávaného data narození osoby. udavany_vek o Tento sloupec slouží k vložení k udávaného věku osoby, pokud je v soupisu uveden. vypocitany_vek o Tento
sloupec
obsahuje
automaticky
vygenerovanou
hodnotu reprezentující věk osoby vypočtený z data vzniku soupisu a udávaného data narození osoby. misto_nar o Sloupec slouží k zaznamenání informací o místě narození osoby. umrti o Pokud je ze soupisu patrné, že daná osoba zemřela, lze tento fakt vyjádřit v tomto sloupci. datum_umrti
73
o V některých případech lze zjistit, třeba studiem jiných pramenů, datum úmrtí osoby. Pokud tomu tak je, lze tuto informaci zaznamenat v tomto sloupci. Sociální stratifikace, povolání a škola Pojem sociální stratifikace byl vysvětlen v teoretické části práce. Zkoumaný rukopis nenabízí informace, na základě kterých by bylo možné nějak stanovit sociální složení obyvatelstva. Tato problematika tedy není konkrétně řešena, což by ovšem jinému badateli nemělo upřít možnost pokusit se sociální stratifikaci provést, pokud studiem dalších pramenů takové informace získá. Pro tento účel je vytvořen sloupec soc_stratifikace s návazností na pomocnou tabulku ciselnik_soc_stratifikace. Pomocí toho konstruktu lze osobě přiřadit hodnotu, která reprezentuje její sociální postavení ve společnosti. Zejména u osob, které jsou v soupisu označeny jako přednostové domácnosti, bývá uvedeno jejich povolání. Jedná se o textovou informaci zaznamenanou pod jménem a příjmením konkrétní osoby. Tato informace je reprezentována vytvořeným polem povolani. V některých případech může mít osoba kromě uvedeného povolání uvedenu také další činnost ve vztahu k obci, ve které žije. Ve většině případů se jedná o čestnou funkci, kterou osoba v obci vykonává. Pro účely zaznamenání této informace slouží pole funkce. Analyzovaný status animarum řeší také školskou problematiku. Na základě školského řadu (Schulkodexu) vydaného v roce 1805, církve provádějí
74
dozor nad nižším školstvím.37 Pro každou osobu jsou v soupise vedeny tyto sloupce: školní docházky schopen/neschopen o Tento záznam vyjadřuje, zda daná osoba splňuje věkovou hranici pro navštěvování triviální školy. Vytvořeno je pole schopnost_skolni_dochazky. školu navštěvuje/nenavštěvuje o I přestože osoba splňuje podmínky pro navštěvování školy, není podmínkou, že osoba školu skutečně navštěvuje. Tento fakt v databázi postihuje pole navstevovani_skoly. opakovací vyučování navštěvuje/nenavštěvuje o Pokud osoba navštěvovala opakovací vyučování, tento údaj je evidován pomocí sloupce navstevovani_opak_vyucovani. Identifikace osoby Z databázového hlediska je zásadní osobu jednoznačně identifikovat. Jelikož identifikace osoby pomocí jména a příjmení je z databázových důvodů nepoužitelná, je každé osobě automaticky vygenerována unikátní hodnota, podle které ji lze identifikovat. Pro tento účel je vytvořen sloupec id_osoba. Aby bylo možné osobu jednoznačně přiřadit k domácnosti a domu, jichž je součástí, je do tabulky osoba přejat sloupec id_dum z tabulky dum a sloupec id_domacnost z tabulky domacnost.
37
SOMR, Miroslav. Dějiny školství a pedagogiky. Praha, 1987, s. 157
75
4.3.6 Tabulky vira a vira_osoba Hlavním důvodem tvorby soupisů duší byla evidence obyvatel především pro církevní účely. Je tedy pochopitelné, že status animarum eviduje podrobně církevní rituály a zda je konkrétní osoba absolvovala či nikoliv. I když se tato situace v soupisech objevuje vzácně, nemusí osoba nutně být katolického vyznání. Soupis pomocí jednotlivých kolonek rozeznává vyznání katolické, augsburské, helvétské, řecké disurnisty a židy. Pro evidování jednotlivých náboženství v databázi je vytvořena tabulka vira. Při popisu náboženství nebylo použito názvosloví použité v soupisu, ale bylo využito oficiálních názvů náboženství, kterých se využívá dnes.38 Seznam sledovaných náboženství zobrazuje tabulka níže: Tabulka 5: Hodnoty tabulky vira
id_vira 1 2 3 4 5 6
tabulka vira nazev_vira Římskokatolická církev Řeckokatolická církev Českobratrská církev evangelická Evangelická církev augsburského vyznání Jednota bratrská Judaismus
V tabulce víra je vytvořen sloupec id_vira, který je jednoznačným identifikátorem konkrétní víry. Sloupec nazev_vira pak obsahuje přesný název daného náboženství.
38
Rejstříky registrovaných církví a náboženských společností. Ministerstvo kultury [online]. [cit. 2014-12-02]. Dostupné z: http://www.mkcr.cz/scripts/detail.php?id=4961
76
Ústřední tabulkou pro záznam církevních rituálů je tabulka osoba_vira. Ta obsahuje záznam konkrétní osoby pomocí sloupce id_osoba, záznam o víře, kterou osoba praktikuje pomocí sloupce id_vira a přidává pole pro zaznamenání
v soupisu
uvedených
katolických
církevních
rituálů.
Náboženské rituály jiných náboženství v databázi nejsou uvažovány, neboť u drtivé většiny osob je uváděno katolické vyznání. Soupis duší postihuje rituály svatého přijímání, velikonoční zpovědi a biřmování. Velikonoční zpověď a přijímání jsou uvedeny v jednom sloupci. Pravděpodobně byl nejprve proveden akt zpovědi a na jeho základě se osoba mohla zúčastnit svátého přijímání. V rámci tohoto rituálu soupis eviduje, zda byl proces u konkrétní osoby vykonán a zda je vůbec osoba schopna tímto aktem projít. To souvisí s faktem, že aby se mohla osoba zúčastnit svatého přijímání, musela být samozřejmě pokřtěna a musela projít řádnou náboženskou naukou.39 Je jasné, že zejména u dětí těchto požadavků nemůže být dosaženo. Na základě této analýzy byly v databázi vytvořeny tyto sloupce: Sloupec velikonocni_zpoved_prijimani uvádí údaj, zda u dané osoby proběhla velikonoční zpověď a svaté přijímání. Sloupec schopnost_prijimaní eviduje, zda je konkrétní osoba schopna vykonat velikonoční zpověď a zúčastnit se svatého přijímání. Dalším církevním rituálem, který soupis eviduje, je biřmování. Stejně jako u svatého přijímání je evidováno, zda osoba biřmování obdržela a zda je
39
CUNNINGHAM, Lawrence. Úvod do katolictví. Praha: Volvox Globator, 2013, s. 134-161. ISBN 978-80-7207-885-1
77
vůbec schopna tímto aktem projít. Pro účely evidence byly v databázi vytvořeny tyto sloupce: Pole obdrzeni_birmovani udává, zda daná osoba obdržela biřmování, či nikoliv. Jestli je osoba schopna obdržet biřmování, umožňuje evidovat sloupec schopnost_birmovani.
4.4 Demografické výstupy Na základě analýzy soupisu a jeho transformace do podoby relační databáze byly vytvořeny pomocí dotazů a formulářů graficky zpracované socio-demografické výstupy, které analyzují strukturu obyvatelstva. Vzhledem k tomu, že byl v databázi zpracován jen „testovací“ vzorek dat, nikoliv celý soupis, nelze tato čísla považovat z demografického pohledu za relevantní, nicméně konstrukční funkčnost vypočítaných dat a vazeb je ověřena. Tato kapitola se zabývá interpretací vytvořených výstupů. V databázi jsou výstupy členěny do jednotlivých formulářů. Této struktury se drží i jejich popis. formulář přehled obyvatel přehled obyvatelstva o Tato tabulka uvádí celkový počet obyvatel žijících v dané obci. Dále také uvádí počet obyvatel rozdělených podle příslušnosti na obyvatele domácí a cizí. kategorizace obyvatel podle věkových skupin
78
o Tato tabulka kategorizuje obyvatele do věkových skupin. Pro každou skupinu pak sleduje poměr mužů a žen vyjádřený jak v absolutních číslech, tak i percentuálně. formulář věková pyramida Pomocí dotazů na tomto formuláři je vyjádřena struktura obyvatel rozdělených do věkových skupin, které jako celek tvoří věkovou pyramidu.
U jednotlivých věkových skupin je možné sledovat
celkový počet osob a také poměr mužů a žen vyjádřený jak v absolutních číslech, tak i percentuálně. formulář typ domácnosti V tomto formuláři je sledován souhrnný počet domácností v dané obci. Dále jsou zde vyjádřeny počty domácností rozdělených dle Laslettovy typologie. Sledován je také poměr těchto typů domácností k jejich celkovému počtu, který je vyjádřen percentuálně. formulář počet dětí v domácnosti V rámci rodinných domácností je důležitým údajem počet dětí, které jsou součástí tohoto typu domácností. Pro každý rodinný typ domácnosti je vytvořena vlastní tabulka, která souhrnně eviduje počet dětí, které ji obývají. Řešen je také poměr mezi pohlavími, který je vyjádřen jak číselně, tak i percentuálně.
79
formulář dům přehled počtu domů o Pomocí tohoto dotazu je zobrazen souhrnný počet domů v dané obci. přehled domů podle počtu domácností o Tato tabulka rozděluje domy podle počtu domácností, které jsou jejich součástí. přehled domů podle počtu obyvatel o Tento dotaz eviduje všechny domy v dané obci a uvádí u nich součet obyvatel, kteří daný dům obývají. Rejstřík a vyhledávání rejstřík o Důležitým úkolem při zpracováním pramene je tvorba seznamu osob, které jsou v rámci pramene sledovány. Tím je možné je zpřístupnit širší veřejnosti. Pomocí formuláře rejstřík lze vytvořit jmenný rejstřík osob, které jsou v soupise evidovány. U každé osoby je uvedeno jméno, příjmení a číslo popisné domu. vyhledávání o Databáze umožňuje vyhledávat konkrétní osoby, domácnosti a domy podle zadaného parametru. K tomuto účelu je vytvořen formulář vyhledávání.
80
Závěr Cílem této práce bylo navrhnout a vytvořit databázový systém, který umožňuje uživateli zpracování pramene soupisů duší, na jehož základě je možné vytvořit historicko-demografickou studii obyvatelstva lokality, pro kterou byl soupis vytvořen. Za tímto účelem byl analyzován konkrétní soupis duší obyvatel královéhradeckého děkanství z roku 1842. Byla popsána fyzická struktura a obsahová stránka pramene. Dále byl pomocí konzultací s pracovníky státního okresního archivu v Hradci Králové tento pramen znovu kriticky analyzován a byly také popsány pracovní procesy badatelů, kteří soupisy duší zpracovávají a jsou potencionálními uživateli databáze. Zhodnocením všech těchto aspektů byly stanoveny cíle, kterých má uvažovaná databáze dosáhnout. Na základě toho poznání byl vytvořen návrh relačního databázového systému. Byl vytvořen konceptuální a fyzický model dat. Poté byla vytvořena samotná databáze. Využito bylo produktu Microsoft Access, ve kterém byl databázový systém vytvořen. Vytvořeno bylo také uživatelské grafické rozhraní, které umožňuje kompletní obsluhu databáze tak, aby co nejlépe vyhovovalo potřebám uživatelů. V rámci práce byl také vytvořen uživatelský manuál, který popisuje obsluhu databáze. Tato práce byla vytvořena pro potřeby pracovníků a badatelů Státního okresního archivu v Hradci Králové jako pomůcka při tvorbě dílčích studií soupisů duší. Tomuto záměru vytvořená práce plně vyhovuje. Pokud
by
však
uživatelé,
vzhledem
k technickým
možnostem
databázového nástroje, zamýšleli vytvářet obsáhlé scelující studie soupisů
81
duší, nebude již tento nástroj svými možnostmi dostačovat a bude muset být využit robustnější databázový systém již na serverové koncepci.
82
Seznam použitých zdrojů Knižní publikace POKORNÝ, Jaroslav a Ivan HALAŠKA. Databázové systémy. Praha: ČVUT, 2003. ISBN 80-01-02789-9 POKORNÝ, Jaroslav. Dotazovací jazyky. Praha: Karolinum, 2007. ISBN 978-80-249-0497-8 KOCH, Miloš a Bernard NEUWIRTH. Datové a funkční modelování. 1. vyd. Brno: VUT, 2008. ISBN 978-80-214-3731-9 RIORDAN, Rebecca. Vytváříme relační databázové aplikace. Praha: Computer Press, 2000. ISBN 80-7226-360-9 HERNANDEZ, Michael. Návrh databází. Praha: Grada Publishing, 2006. ISBN 80-247-0900-7 MAUR, Eduard. Základy historické demografie. Praha: SPN, 1978 FIALOVÁ, Ludmila. Dějiny obyvatelstva českých zemí. Vyd. 1. Praha: Mladá fronta, 1996. ISBN 80-204-0283-7 VELKOVÁ, Alice. Krutá vrchnost, ubozí poddaní? Proměny venkovské rodiny a společnosti v 18. a první polovině 19. století na příkladu západočeského panství Šťáhlavy. Praha: Historický ústav, 2009. ISBN 978-80-7286-121-4. GRULICH, Josef. Populační vývoj a životní cyklus venkovského obyvatelstva na jihu Čech v 16. až 18. století. České Budějovice: Jihočeská univerzita, 2008. ISBN 978-80-7394-091-1. CUNNINGHAM, Lawrence. Úvod do katolictví. Praha: Volxor Globator, 2013. ISBN 978-80-7207-885-1
83
KATUŠČÁK, Dušan, Marta MATTHAEIDESOVÁ a Marta NOVÁKOVÁ. Terminologický a výkladový slovník: odbor knižničná a informačná veda. 1. vyd. Bratislava: Slovenské pedagogické nakladateľstvo, 1998, 375 s. ISBN 80-08-02818-1 Články ČÁP, Jaroslav. Broumov a jeho obyvatelé ve světle soupisu věřících z roku 1785. Stopami dějin Náchodska. Náchod: Státní okresní archiv, 1997, č. 3, s. 53-80 PAVLÍK, Jiří a Radek POKORNÝ. Status Animarum: Důležitý archivní pramen k vývoji obyvatelstva pevnostního Hradce Králové v první polovině 19. století. Královéhradecko: historický sborník pro poučenou veřejnost. 2011, č. 8 Internetové zdroje W3schools: world largest web development site [online]. 2014 [cit. 2014-12-11]. Dostupné z: http://www.w3schools.com/ DB-Engines: Knowledge Base of Relational and NoSQL Database Management Systems [online]. 2014 [cit. 2014-12-11]. Dostupné z: http://db-engines.com/ MSDN: Microsoft developer network [online]. 2014 [cit. 2014-1211]. Dostupné z: http://msdn.microsoft.com/cs-cz/ Office: Dev center [online]. 2014 [cit. 2014-12-11]. Dostupné z: http://dev.office.com/ INTERPI: Interoperabilita v paměťových institucích [online]. 2014 [cit. 2014-12-11]. Dostupné z: http://www.interpi.cz/
84
Ministerstvo kultury [online]. 2014 [cit. 2014-12-11]. Dostupné z: http://www.mkcr.cz/ Root.cz: Informace nejen ze světa Linuxu [online]. 2014 [cit. 201412-11]. Dostupné z: http://www.root.cz/ osobní stránka Moniky Borkovcové. Edu.uhk.cz [online]. [cit. 201412-12]. Dostupné z: http://edu.uhk.cz/~simkomo1/ Databáze [online].
2014
[cit.
2014-12-12].
Dostupné
z: http://www.databaze.chytrak.cz/
85
Seznam použitých obrázků a tabulek Obrázek 1: Proces přeměny dat na informace ........................................... 13 Obrázek 2: Struktura databázového systému ............................................. 15 Obrázek 3: Architektura klient-server ......................................................... 26 Obrázek 4: Struktura databázového systému Access ................................. 29 Tabulka 1: Technické parametry DBMS Access .......................................... 30 Tabulka 2: Požadavky DBMS Access na operační systém ........................... 31 Obrázek 5: Schéma E-R diagramu ............................................................... 46 Obrázek 6: Schéma fyzického modelu databáze ........................................ 49 Obrázek 7: Tabulka obec ............................................................................. 50 Obrázek 8: tabulka dum .............................................................................. 51 Obrázek 9: Tabulka ciselnik_typ_domacnosti ............................................ 51 Obrázek 10: Tabulka domacnost ................................................................. 52 Obrázek 11: Tabulka ciselnik_role .............................................................. 53 Obrázek 12: Tabulka ciselnik_soc_stratifikace ........................................... 53 Obrázek 13: Tabulka osoba ......................................................................... 54 Obrázek 14: Tabulka vira ............................................................................. 55 Obrázek 15: Tabulka vira_osoba ................................................................. 56 Obrázek 16: Tabulka vlastnictvi_dum ......................................................... 56 Obrázek 17: Formulář vkládání údajů ......................................................... 58 Obrázek 18: Formulář dotazy ...................................................................... 59 Obrázek 19: Formulář rejstřík a vyhledávání .............................................. 59 Tabulka 3: Hodnoty tabulky ciselnik_typ_domacnosti ............................... 67 Tabulka 4: Hodnoty tabulky ciselnik_role ................................................... 70 Tabulka 5: Hodnoty tabulky vira ................................................................. 76
86
Přílohy Přílohy připojené k práci umístěné na přiloženém optickém disku: soubor vytvořené databáze uživatelský manuál databáze dokumentace vytvořených dotazů v databázi
87