FAJFR Z. 2004: Internetová databáze 40 ročníků Opera Corcontica – sborníku vědeckých prací z Krkonošského národního parku. In: ŠTURSA J., MAZURSKI K. R., PALUCKI A. & POTOCKA J. (eds.), Geoekologické problémy Krkonoš. Sborn. Mez. Věd. Konf., Listopad 2003, Szklarska Poręba. Opera Corcontica, 41: 568–575.
INTERNETOVÁ DATABÁZE 40 ROČNÍKŮ OPERA CORCONTICA – SBORNÍKU VĚDECKÝCH PRACÍ Z KRKONOŠSKÉHO NÁRODNÍHO PARKU Internet Database of 40 Years of the Opera Corcontica – Yearbook of Scientific Papers from the Krkonoše National Park FAJFR ZDENĚK Správa Krkonošského národního parku, Oddělení informatiky, Dobrovského 3, 543 01 Vrchlabí, tel: +420 499 456 232, e−mail:
[email protected] Sborník vědeckých prací Opera Corcontica vychází již od roku 1964 a v letošním roce vyjde jeho 40. číslo. Orientace v tak rozsáhlém množství publikovaných článků není snadná. Rovněž tak dostupnost jednotlivých čísel sborníku pro odbornou veřejnost je do značné míry omezená. Překonání těchto handicapů je cílem internetové databázové aplikace Opera Corcontica. Jde o relační databázi rejstříkového typu, ve které se ke každému článku eviduje základní sada atributů v dostupných jazykových verzích, a sice české, polské a anglické. Evidovanými položkami jsou: číslo ročníku, pořadové číslo článku, název práce, oborová klasifikace, jméno autora (autorů), seznam klíčových slov, číslo počáteční a koncové strany, abstrakt, souhrn, popis příloh, odkaz na plnou verzi (formát PDF [9]), poznámka. Je implementována možnost filtrování (např. dle ročníků, autorů či tématu), vyhledávání (dle klíčových slov nebo fultextově v názvu, abstraktu nebo souhrnu) a abecední řazení dle většiny položek. Databáze běží na internetovém serveru Správy KRNAP a je dostupná on−line na internetové adrese http://opera.krnap.cz. The yearbook of scientific papers Opera Corcontica has been published since 1964. This year the 40th volume is going to be issued. Orientation in such an extensive amount of information is not easy. Also accessibility of individual volumes for scientific public is rather limited. Overcoming of these handicaps is the principal goal of the internet data− base application Opera Corcontica. A basic set of attributes in three possible language versions (Czech, Polish, English) is recorded for every paper (article) in the underlying relational database. The recorded items are: volume number (year), article number, title of the article, branch classification, name of the author(s), keywords, page numbers (from – to), abstract, summary, descrip− tion of supplements, link to the full version in PDF [9] format, remark. The application enables user to apply filters (for example by year, author’s name or title), to search information (using keywords or in a full−text way in title, abstract or summary) and alphabetical sorting by relevant items. The database runs on the Internet server of the Krkonoše National Park Administration and is available on−line at http://opera.krnap.cz.
568
Klíčová slova: Opera Corcontica, rejstřík vědeckých prací, internetová databázová aplikace, relační databáze, SQL, Internet, HTML, PHP, PDF Keywords: Opera Corcontica, index of scientific papers, internet database applica− tion, relational database, SQL, Internet, HTML, PHP, PDF
ÚVOD Na internetových stránkách Správy KRNAP je od počátku roku 2003 k dispozici databáze článků sborníku vědeckých prací Opera Corcontica. Aplikace vznikla jako reakce na požadavek snadného a efektivního přístupu k informacím obsaženým v dosud publikovaných i budoucích číslech sborníku Opera Corcontica pro širokou vědeckou veřejnost. Internetové řešení bylo zvoleno pro svou zřejmou výhodnost plynoucí ze stále se zvyšující dostupnosti Internetu jako moderního dynamického média. Toto řešení umožňuje snadnou a dynamickou aktualizaci jak obsahu databáze, tak i vzhledu a funkčnosti aplikačního rozhraní. Veškeré změny jsou okamžitě k dispozici koncovému uživateli. Nejvýznamnější výhodou publikování sborníku Opera Corcontica na Internetu ve srovnání s klasickou tištěnou verzí je efektivita a rychlost vyhledávání požadovaných informací, jakož i zajištění dostupnosti mnohem širšímu okruhu zájemců (bez ohledu na státní hranice).
Obr. 1. Úvodní stránka internetové aplikace Opera Corcontica. Fig. 1. Initial Page of the Opera Corcontica Internet Application.
569
STRUKTURA DATABÁZE S vývojem aplikace bylo započato koncem roku 2002, a sice návrhem databázové struktury dle standardu pro relační databáze SQL (Structured Query Language) [6] s využitím nástroje pro modelování databázových struktur CASE Studio 2 [7]. Schéma výsledné databázové struktury, jednotlivé entity (tabulky) a relační vazby mezi nimi jsou patrné z obr. 2. Nosnou částí databáze je seznam článků (tabulka „CLANEK“), jež obsahuje základní údaje charakterizující publikovanou práci (název, klíčová slova, abstrakt, souhrn, přílohy, poznámka) ve třech jazykových verzích, rozsah stran a URL [1] cesta k PDF souboru s plnou verzí článku. Číselník autorů prací (tabulka „AUTOR“) obsahuje údaje o jednotlivých autorech (jméno, příjmení, tituly, název instituce, kontakt do zaměstnání, příp. do soukromí). V seznamu ročníků (tabulka „OPERA“) jsou uvedeny údaje o jednotlivých ročnících sborníku jako je název, počet stran, jméno redaktora či kód ISBN. Oborová klasifikace článků sice nebyla v době psaní tohoto textu ještě v aplikaci implementována, nicméně ve struktuře databáze je již počítáno s možností klasifikace článků do hierarchického klasifikačního schématu „Kategorie – Skupina – Podskupina“.
Obr. 2. Schéma struktury zdrojové databáze Opera Corcontica (entitně−relační diagram). Fig. 2. Structural Scheme of the Opera Corcontica Source Database (Entity Relationship Diagram). Standard SQL definuje tzv. referenční integritu databáze [7]. Pod tímto pojmem se skrývá systém pravidel, která se využívají k zajištění platnosti relací mezi záznamy vázaných tabulek. Referenční integrita dále slouží k zamezení nechtěného odstranění nebo změny souvisejících dat. Pravidla referenční integrity v případě databáze Opera Corcontica zajišťují, že např. do tabulky CLANEK nelze zadat záznam odkazující na neexistující ročník v tabulce OPERA, nelze smazat záznam o ročníku z tabulky ROCNIK, pokud k němu existuje alespoň jeden záznam v tabulce CLANEK apod. Relevantní pole v klíčových tabulkách (OPERA, CLANEK, AUTOR) jsou z důvodu zvýšení výkonu databáze při prohledávání a řazení záznamů opatřeny indexy.
570
APLIKAČNÍ ROZHRANÍ Celý systém aplikace je založen na filozofii klient – server s třívrstvou architekturou. Serverová část aplikace je tvořena vlastní databází (první vrstva) a webovým serverem s modulem PHP (druhá vrstva). Klientská část je reprezentována koncovým počítačem s aplikačním rozhraním v prostředí běžného internetového prohlížeče (Microsoft Internet Explorer, Netscape Navigator [8] a další), pomocí něhož je realizována komunikace uživatele se systémem. Vlastní aplikace se skládá z několika základních částí, které v zásadě odpovídají jednotlivým tabulkám datového modelu ve zdrojové databázi. Protože jde o Internetovou aplikaci, jsou jednotlivé logické části aplikace reprezentovány WWW [1] stránkami generovanými dynamicky (při jejich otevření) z databáze – ve většině případů jsou podkladem SQL dotazy založené na relaci mezi více tabulkami, méně často jde o dotaz pouze nad jednou tabulkou. Úvodní stránka aplikace (obr. 1.) představuje výchozí bod pro vstup do dalších částí aplikace – viz horní část obrazovky. Pro rychlý přístup k několika posledním ročníkům jsou ve střední části umístěny zmenšeniny obálek s odkazem na detaily o ročníku (obr. 3.). Ve spodní části jsou některé důležité kontaktní informace týkající se redakce sborníku.
Obr. 3. Informace o ročníku. Fig. 3. Information about a Volume. Základní kameny aplikace tvoří seznam ročníků, seznam článků (obr. 4.) a seznam autorů. Tyto stránky mají víceméně jednotně pojatý vzhled i funkčnost. Základem je vždy tabulka obsahující jednotlivé záznamy, jež jsou výsledkem zadaného filtru a jsou požadovaným způsobem řazeny. Kliknutím na položky v záznamech se lze dostat na stránku s detailními informacemi o jednotlivých subjektech, tj. o ročníku (obr. 3), článku (obr. 5) nebo autorovi. V záhlaví tabulky je v levé části informace o celkovém
571
počtu nalezených záznamů a o rozsahu právě zobrazených záznamů. V pravé části záhlaví a zápatí tabulky jsou navigační tlačítka umožňující zobrazení příslušné skupiny záznamů v rozsahu definovaném v poli v levé části zápatí. Záhlaví jednotlivých polí tabulky obsahuje kromě názvu pole i dva odkazy v podobě malých trojúhelníků pro abecední (numerické) řazení dat v tabulce dle příslušného pole (vzestupně nebo sestupně). Ve spodní části stránek jsou k dispozici tlačítka pro aplikaci a odstranění filtru a pro přechod do dalších (souvisejících) částí aplikace, včetně přechodu na úvodní stránku a na stránku „Vyhledávání“.
Obr. 4. Přehled dvanácti článků ročníku 39. Fig. 4. List of 12 Articles of Volume 39.
Stránka pro vyhledávání článků (obr. 6) je koncipována v podobném duchu jako výše popsané stránky s tím rozdílem, že v horní části je umístěna sada polí pro vyhledávání dle různých kritérií. Jako kritérium výběru lze použít kombinace čísla ročníku, autora, výrazu z názvu článku, klíčového slova a výrazu z abstraktu nebo souhrnu. Ve výsledných záznamech je kromě odkazu na detaily o článku a informace o autorovi (autorech) v pravé části tabulky položka obsahující odkaz na plnou verzi článku v PDF formátu (pokud existuje). Tato stránka představuje asi nejužitečnější část aplikace, pokud si uživatel přeje vyhledávat informace v celém rozsahu ročníků a potřebuje přitom zadávat kombinované dotazy.
572
Aplikace je od počátku koncipována jako vícejazyčná s možností zadávat nosné položky (název, klíčová slova, abstrakt, souhrn, přílohy, poznámka) ve třech jazycích, a to v češtině, polštině a angličtině. Rovněž aplikační rozhraní by do budoucna mělo být k dispozici v těchto třech jazykových mutacích (autor hledá dobrovolníka pro překlad do polštiny!).
Obr. 5. Detailní informace o článku. Fig. 5. Detail Information about an Article.
EDITACE DAT V prostředí internetového prohlížeče je řešena i editace údajů v databázi. Vše je realizováno ve stejném duchu jako výše popsané prohlížení a vyhledávání, tj. systémem klient – server s využitím stejných internetových technologií, kdy je pomocí sady webových formulářů umožněno přidávání, úprava i odstraňování záznamů ve všech tabulkách. Výhodou tedy je, že na straně klienta není nutná existence jakéhokoliv databázového programu pro editaci dat v databázi. Ochrana údajů v databázi proti úmyslnému či náhodnému poškození je zabezpečena systémem autorizace, a to zadáním kombinace uživatelského jména a hesla, jež je vyžadována pro vstup do editačního režimu. Do aplikace se tedy za účelem editace mohou přihlásit pouze oprávnění uživatelé. Bez úspěšného přihlášení je aplikace v režimu pouze pro čtení a není možné v ní cokoliv měnit.
573
DATA Po dokončení první verze struktury databáze bylo započato s postupným naplňováním daty ze všech ročníků sborníku. Pro ročníky 1 (1964) až 30 (1993) jsou evidovány zatím pouze základní údaje (název příspěvku, autor, rozsah stran), od ročníku 31 jsou pro většinu článků k dispozici alespoň některé z dalších atributů – klíčová slova, abstrakt, souhrn, seznam příloh a poznámka. Pokud je příspěvek dvoujazyčný, jsou data zadávána v obou jazykových variantách – většinou jde o kombinaci čeština/ angličtina a polština / angličtina. Od ročníku 34 (1997) jsou k dispozici též elektronické verze kompletních příspěvků ve formátu PDF [9]. Nabízí se tak možnost publikování plné verze příspěvku v platformově nezávislém standardním formátu, což by výrazně zvýšilo informační hodnotu celého projektu. Publikování plné verze lze pojmout buď paušálně nebo ho podmínit souhlasem autora (závisí to na rozhodnutí redakční rady OC).
Obr. 6. Stránka s vyhledávacím formulářem. Fig. 6. Page with the Searching Form.
574
TECHNOLOGIE Jde o aplikaci kompletně spravovanou prostřednictvím internetových technologií, kdy jak editace, tak vyhledávání dat probíhá z pohledu uživatele prostřednictvím internetového prohlížeče. Aplikace byla vyvíjena a intenzivně testována v prostředí Microsoft Internet Explorer, nicméně by měla být plně funkční i v ostatních běžně používaných webových prohlížečích (Netscape Navigator, Mozzila, Opera apod.). Celý projekt je založen na použití otevřených a volně dostupných technologií, a sice Apache (populární internetový WWW server) [3], HTML (Hypertext Markup Language) [1], PHP (hypertextový preprocesor – skriptovací jazyk na straně serveru) [2] a JavaScript (skriptovací jazyk na straně klienta) [8]. Data jsou uložena ve volně dostupném relačním databázovém systému PostgreSQL [4] na platformě operačního systému Linux [10]. Celou aplikaci, včetně databáze, lze však používat bez nejmenšího omezení i v prostředí MS Windows [11]. V tomto případě byla data uložena v databázi Oracle [5]. Uložení dat v jiných databázích, jako např. MySQL [12] (v Linuxu i ve Windows), je rovněž velmi reálné (ačkoliv nebylo autorem nikdy testováno), jelikož se aplikace připojuje k databázi prostřednictvím systému ADOdb [13], který zajišťuje téměř dokonalou databázovou abstrakci, tj. nezávislost na typu použité databáze.
SOUHRN – ÚKOLY DO BUDOUCNA Internetová databáze Opera Corcontica je poměrně mladý projekt, takže i přes upřímnou snahu autora obsahuje jistě řadu nedostatků, nedokonalostí či přímo chyb. Kromě jejich odstranění má autor do budoucna v úmyslu realizovat tato opatření: − důslednou trojjazyčnost celého projektu – jelikož Internet „nezná“ hranic, mají přístup k aplikaci i uživatelé ze zahraničí, takže je třeba upravit aplikační rozhraní (tj. ovládání) tak, aby bylo snadno použitelné i pro ně; pokud jde o zvolené cizí jazyky, polština je jazykem celé řady autorů příspěvků a angličtina byla jako jazyk 21. století stanovena redakční radou OC jako druhý volitelný jazyk pro nově přijímané příspěvky − oborovou klasifikaci příspěvků – zařazení jednotlivých příspěvků do hierarchické oborové klasifikace by zvýšilo efektivitu vyhledávání informací; zodpovědná klasifikace však představuje časově poměrně náročnou činnost i pro zkušeného odborníka (skupinu odborníků) znalého více oborů − fulltextové vyhledávání v plných verzích příspěvků v PDF formátu [9] – bude třeba najít vhodný mechanizmus jak toho dosáhnout; předpokladem zřejmě bude ukládat PDF dokumenty přímo do databáze (nyní jsou uloženy v souborech PDF) a dostatečně výkonná databáze běžící na výkonném hardware.
REFERENCE [1] http://www.w3c.org [2] http://www.php.net [3] http://www.apache.org [4] http://www.postgresql.org [5] http://www.oracle.com [6] http://www.sql.org [7] http://www.casestudio.com [8] http://devedge.netscape.com [9] http://www.adobe.com/products/acrobat/adobepdf.html
[10] http://www.linux.org [11] http://www.microsoft.com [12] http://www.mysql.org [13] http://php.weblogs.com
575