SLOVENSKÃ TECHNICKÃ UNIVERZITA V BRATISLAVE ... - Index of
SLOVENSKÃ TECHNICKÃ UNIVERZITA V BRATISLAVE ... - Index of
SLOVENSKÃ TECHNICKÃ UNIVERZITA V BRATISLAVE ... - Index of
Transform your PDFs into Flipbooks and boost your revenue!
Leverage SEO-optimized Flipbooks, powerful backlinks, and multimedia content to professionally showcase your products and significantly increase your reach.
SLOVENSKÁ TECHNICKÁ <strong>UNIVERZITA</strong> V <strong>BRATISLAVE</strong><br />
MATERIÁLOVOTECHNOLOGICKÁ FAKULTA SO<br />
SÍDLOM V TRNAVE<br />
Evidenčné číslo: MTF-5262-69497<br />
DATABÁZOVÁ APLIKÁCIA V PROSTREDÍ WEB PRE<br />
ASOCIÁCIU MILITARY PAINTBALL<br />
BAKALÁRSKA PRÁCA<br />
2012 Klaudia Lovíšková
SLOVENSKÁ TECHNICKÁ <strong>UNIVERZITA</strong> V <strong>BRATISLAVE</strong><br />
MATERIÁLOVOTECHNOLOGICKÁ FAKULTA SO<br />
SÍDLOM V TRNAVE<br />
Evidenčné číslo: MTF-5262-69497<br />
DATABÁZOVÁ APLIKÁCIA V PROSTREDÍ WEB PRE<br />
ASOCIÁCIU MILITARY PAINTBALL<br />
BAKALÁRSKA PRÁCA<br />
Študijný program: Aplikovaná informatika a automatizácia v priemysle<br />
Číslo študijného odboru: 2621<br />
Názov študijného odboru: 5.2.14 AUTOMATIZÁCIA 9.2.9 APLIKOVANÁ INFORMATIKA<br />
Školiace pracovisko: UIAM MTF STU v Trnave<br />
Vedúci záverečnej práce/školiteľ: Ing. Eduard Nemlaha, PhD.<br />
Trnava 2012<br />
Klaudia Lovíšková
Poďakovanie<br />
Ďakujem vedúcemu mojej bakalárskej práce Ing. Eduardovi Nemlahovi, PhD. za<br />
poskytnuté cenné rady, pripomienky a odborné informácie, ktoré mi veľmi pomohli pri<br />
vypracovávaní mojej bakalárskej práce.<br />
Klaudia Lovíšková
Súhrn<br />
Bakalárska práca obsahuje analýzu a návrh a implementáciu databázovej aplikácie v<br />
prostredí WEBu. Bola vypracovaná v rámci bakalárskeho štúdia na<br />
Materiálovotechnologickej fakulte, Slovenskej technickej univerzity v Bratislave, študijný<br />
program Aplikovaná informatika a automatizácia v priemysle. Ako ciel práce si autor<br />
stanovil návrh a tvorbu databázového systému a implementáciu grafického prostredia na<br />
web. Prvá kapitola z bakalárskej práce je venovaná definícii pojmov, druhá analyzuje<br />
problémovú oblasť, tretia navrhuje riešenie a dátovú analýzu. V štvrtej kapitole je popísaná<br />
implementácia navrhnutej aplikácie vo WISIWIG editore Adobe Dreamweawer. Piata<br />
kapitola obsahuje používateľskú príručku V závere je zhodnotený návrh riešenia a<br />
implementácia projektu. Použité podklady pri písaní práce pochádzajú z viacerých<br />
domácich i zahraničných odborných zdrojov a zo siete Internet.<br />
Kľúčové slová: Aplikácia, databáza, entitno-relačný model, fyzický model
Abstrakt<br />
Bachelor thesis contains an analysis, draft and implementation <strong>of</strong> the database<br />
applications on the Web. It was prepared within the bachelor study in Faculty <strong>of</strong> Materials<br />
Science, Slovak University <strong>of</strong> Technology in Bratislava, the study program Applied<br />
Informatics and Automation in industry. As the aim <strong>of</strong> this thesis, the<br />
author determined draft and creation <strong>of</strong> a database system and the implementation <strong>of</strong> a<br />
graphical environment on the web. The first chapter <strong>of</strong> the thesis is devoted to the<br />
definition <strong>of</strong> terms, the second analyzes the problem area, the third proposed solution,<br />
and data analysis. The fourth chapter describes the implementation <strong>of</strong><br />
the proposed applications in Adobe Dreamweawer, the WISIWIG editor. The<br />
fifth chapter contains the user guide. At the end <strong>of</strong> the thesis is appraised solutions <strong>of</strong><br />
the draft and implementation <strong>of</strong> the project. Materials that were used came from<br />
several local and foreign expertise and resources <strong>of</strong> the Internet.<br />
Key words: Application, database, entity-relational model, physical model
OBSAH<br />
Súhrn .............................................................................................................................................5<br />
Abstrakt .........................................................................................................................................6<br />
OBSAH .........................................................................................................................................7<br />
Zoznam príloh ...............................................................................................................................9<br />
Zoznam symbolov a skratiek ........................................................................................................10<br />
Zoznam ilustrácií a tabuliek .........................................................................................................11<br />
Úvod............................................................................................................................................12<br />
1. Informačný systém ..................................................................................................................14<br />
1.1 Definícia informácie ..........................................................................................................14<br />
1.2 Termín databáza ................................................................................................................14<br />
1.2.1 Databázový systém .....................................................................................................14<br />
1.3 Čo je to aplikácia ...............................................................................................................15<br />
1.4 Čo je paintball ...................................................................................................................15<br />
1.5 MySQL .............................................................................................................................15<br />
1.6 Apache HTTP Server ..........................................................................................................16<br />
1.7 PHP ...................................................................................................................................16<br />
1.8 HTML.................................................................................................................................16<br />
2. Analýza problémovej oblasti ...................................................................................................17<br />
2.1 Používateľské požiadavky .................................................................................................18<br />
2.2 Cieľová skupina ................................................................................................................18<br />
2.3 Operácie s dátami ..............................................................................................................19<br />
2.4 Rozdelenie používateľov ...................................................................................................19<br />
2.5 Identifikácia a špecifikácia požiadaviek ..............................................................................21<br />
2.6 Nájdenie účastníkov a prípadov použitia ............................................................................23<br />
2.7 Detaily niektorých prípadov použitia..................................................................................25<br />
2.8 Štruktúrovaný diagram prípadov použitia ..........................................................................29<br />
2.9 Diagram aktivít – prihlásenie do aplikácie ..........................................................................31<br />
3. Návrh riešenia - Dátová analýza...............................................................................................32<br />
3.1 Identifikácia množín entít a ich atribútov ...........................................................................32<br />
3.2 Identifikácia relačných vzťahov: .........................................................................................35<br />
3.3 Entitno – relačný model .....................................................................................................39<br />
3.4 Transformácia ERM do relačných schém ...........................................................................41<br />
3.3.1 Transformácia množín entít ........................................................................................41<br />
7
3.3.2 Transformácia relačných vzťahov ...............................................................................41<br />
3.3.3 Úprava relačných schém pre potreby implementácie ...................................................44<br />
3.3.4 Logický model ............................................................................................................44<br />
3.3.5 Fyzický model .............................................................................................................45<br />
4. Implementácia prostredia v editore Adobe Dreamweaver ........................................................46<br />
4.1 Adobe Dreamweaver .........................................................................................................46<br />
4.2 Návrh stránky ....................................................................................................................46<br />
4.2.1 Tvorba menu ..............................................................................................................47<br />
4.2.2 Kalendár akcií.............................................................................................................48<br />
4.2.3 Archív hier .................................................................................................................49<br />
4.2.4 Hráči a teamy .............................................................................................................49<br />
4.2.5 PB/Army shopy a Ihriská ............................................................................................49<br />
4.2.6 Fórum .........................................................................................................................50<br />
4.2.7 FAQ ...........................................................................................................................50<br />
4.3 Registrácia a prihlásenie ....................................................................................................50<br />
4.3.1 Rozdiel medzi Session a Cookies .................................................................................51<br />
4.3.2 Session .......................................................................................................................51<br />
4.3.3 Registrácia ..................................................................................................................51<br />
4.3.4 Prihlásenie ..................................................................................................................52<br />
4.4 Hlásenie o chybách............................................................................................................53<br />
5. Používateľská príručka .............................................................................................................54<br />
5.1 Prihlasovacie okno ............................................................................................................54<br />
5.2 Registrácia ........................................................................................................................55<br />
5.3 Založenie hry ....................................................................................................................56<br />
5.4 Pr<strong>of</strong>il .................................................................................................................................57<br />
Záver ...........................................................................................................................................59<br />
Zoznam použitej literatúry ...........................................................................................................60<br />
Prílohy .........................................................................................................................................62<br />
8
Zoznam príloh<br />
Príloha 1 Zdrojový kód na vypisovanie určitého počtu hier ...........................................................63<br />
Príloha 2 Zdrojový kód na prihlásenie ...........................................................................................64<br />
Príloha 3 Obrázok z kalendára akcií ..............................................................................................64<br />
Príloha 4 Ihriska ...........................................................................................................................65<br />
Príloha 5 Pridaj nove ihrisko .........................................................................................................65<br />
Príloha 6 vytvor novu hru ............................................................................................................66<br />
Príloha 7 uvod, index stranky .......................................................................................................66<br />
9
Zoznam symbolov a skratiek<br />
CSS<br />
DB<br />
DBS<br />
DW<br />
ERD<br />
FTP<br />
FK<br />
HTML<br />
OS<br />
PHP<br />
PK<br />
SQL<br />
SRBD<br />
WAIS<br />
WWW<br />
XML<br />
Cascading Style Sheets<br />
Databáza<br />
Databázový systém<br />
Adobe Dream weawer<br />
Entitno-relačný diagram<br />
File Transfer Protocol<br />
foreign key (cudzí kľúč)<br />
Hypertext Markup Language<br />
Operačný Systém<br />
Hypertext Preprocessor, programovací jazyk<br />
primary key (primárny kľúč)<br />
Structured Query Language<br />
systém riadenia bázy dát<br />
Wide area information server<br />
World Wide Web<br />
extensible markup language<br />
10
Zoznam ilustrácií a tabuliek<br />
Obrázok 1 Štruktúrovaný diagram prípadov použitia (1) ...............................................................29<br />
Obrázok 2 Štruktúrovaný diagram prípadov použitia (2) ...............................................................30<br />
Obrázok 3 Entitno – relačný diagram............................................................................................40<br />
Obrázok 4 Fyzický model ..............................................................................................................45<br />
Obrázok 5 master.css ...................................................................................................................47<br />
Obrázok 6 Kalendár hier ...............................................................................................................48<br />
Obrázok 7 Formulár na odosielanie chýb ......................................................................................53<br />
Obrázok 8 Prihlásenie do aplikácie ...............................................................................................54<br />
Obrázok 9 Registrovať_umiestnenie.............................................................................................55<br />
Obrázok 10 Registrácia do aplikácie .............................................................................................55<br />
Obrázok 11 Založenie hry .............................................................................................................56<br />
Obrázok 12 Kalendár pri zakladaní akcie ......................................................................................57<br />
Obrázok 13 Hľadaj hráča ..............................................................................................................57<br />
Obrázok 14 Pr<strong>of</strong>il .........................................................................................................................58<br />
Tabuľka 1 Identifikácia a špecifikácia požiadaviek.........................................................................21<br />
Tabuľka 2 Nájdenie účastníkov .....................................................................................................23<br />
Tabuľka 3 Nájdenie prípadov použitia ..........................................................................................23<br />
Tabuľka 4 Prípady použitia časť 1 .................................................................................................25<br />
Tabuľka 5 Prípady použitia časť 2 .................................................................................................25<br />
Tabuľka 6 Prípady použitia časť 3 .................................................................................................26<br />
Tabuľka 7 Prípady použitia časť 4 .................................................................................................27<br />
Tabuľka 8 Prípady použitia časť 5 .................................................................................................27<br />
Tabuľka 9 Prípady použitia časť 6 .................................................................................................28<br />
11
Úvod<br />
Výmena informácií je neoddeliteľnou súčasťou sveta. Nie len ľudia si pre svoju existenciu<br />
potrebujú vymieňať informácie, ale taktiež každý živý organizmus, či už zviera alebo<br />
rastlina. Informácií je veľmi vela, a každý jeden z nás ich musí selektovať a triediť podľa<br />
aktuálnej potreby. Čím je ale ľudstvo vyspelejšie, tým viac informácií nás obklopuje a tým<br />
je ich triedenie pre nás náročnejšie na čas. Človek preto neustále hľadá spôsoby, ako ich<br />
efektívne triediť, hľadať a posúvať ďalej. Snaží sa nájsť možnosť ako informáciu za krátku<br />
dobu posunie čo najväčšej cieľovej skupine a nemusí dlho čakať na spätnú väzbu.<br />
V minulosti to ľudia používali najmä ústne podanie, písanie novín či kníh, ktoré boli<br />
dostupné, no takéto predávanie informácii bolo často krát pomalé a nie vždy človek našiel<br />
to, čo hľadal. Obrovská zmena prišla až s rozšírením internetu. V dnešnej dobe sa<br />
nachádza vo väčšine domácností. Človek nemusí vynaložiť príliš veľa námahy a do<br />
niekoľko sekúnd si nájde všetko čo potrebuje. Statické stránky sa začali meniť na<br />
dynamické. Ľudia uprednostňujú posielanie elektronickej pošty pred klasickou. Vzniklo<br />
veľké množstvo sociálnych sietí, ktoré ponúkajú ľuďom ľahšiu komunikáciu medzi sebou<br />
a umožňujú spájať davy. A to všetko len preto, že im to ušetrí čas a rýchlo poskytne to, čo<br />
práve potrebujú. S internetom sa rozširovali aj databázy. Kedysi archív predstavoval<br />
obrovskú miestnosť s policami a skrinkami po označovanými písmenami abecedy a rokmi<br />
s veľkým množstvom papiera. V dnešnej dobe klasický archív zaniká. Ľudia zistili, že je<br />
oveľa efektívne ak sa informácie uchovávajú v rôznych dátových úložiskách, a za pomoci<br />
databázového systému ich veľmi rýchlo hľadajú, používajú či archivujú. Zistili, že<br />
s informáciou v takejto forme sa narába oveľa jednoduchšie a jej stratenie, či zničenie je<br />
oveľa náročnejšie. Tieto informácie sa dajú kopírovať, ukladať na rôzne miesta, ľahko<br />
sprístupňovať a listovať v nich a to všetko bez toho, aby sa človek musel postaviť zo<br />
stoličky, či sa fyzicky namáhať a to všetko v časovo veľmi krátkom intervale. Čo je ale<br />
najdôležitejšie, že tieto informácie dokážu pracovať aj samy bez toho aby sme do nich<br />
zasahovali. Pri tvorbe systému sa zadajú podmienky a informácie sa samy „upratujú“ na<br />
základe raz napísaného algoritmu. Vedia sa zatriediť, vyhľadať, spojiť.<br />
Cielom mojej práce, ako už i jej názov napovedá je vytvorenie databázového systému<br />
v prostredí webu. Túto aplikáciu som robila pre asociáciu military paintbal, nakoľko sama<br />
som jej súčasťou, som dobre oboznámená s problematikou v tejto oblasti. Momentálne na<br />
Slovensku neexistuje databázový systém venujúci sa military hráčom tohto športu preto ho<br />
12
nahrádza databázový systém zameraný na športový a komerčný paintball sídliaci na<br />
stránke www.pbcentrum.sk.<br />
Military paintball ide ale stále do popredia a s pribúdajúcimi hráčmi začalo byť fungovanie<br />
na tejto stránke neefektívne. Chýba tam akákoľvek selekcia informácií či hier. Často<br />
dochádza k strácaniu jedného alebo druhého nakoľko paintball sám osobe sa delí ešte<br />
minimálne na 5 veľkých kategórií a hráči venujúci sa jednej, málokedy sú ochotní zdieľať<br />
hry a informácie s inými kategóriami tohto športu. Hlavnou úlohou môjho databázového<br />
systému je spracovanie a prenos informácií, uchovávanie, zhromažďovanie, ich<br />
prezentácia, výber, distribúcia a následná práca s týmito údajmi. Cieľom môjho<br />
databázového systému je jednoduchá práca s dátami a ľahká dostupnosť pre bežného<br />
užívateľa a to bol dôvod, prečo som databázovú aplikáciu umiestnila na Internet<br />
a vytvorila jej jednoduché a zrozumiteľné prostredie.<br />
Moja práca obsahuje päť kapitol a Úvod, ktorý predstavuje vstup do spracovávanej<br />
problematiky a záver, kde sú zhodnotené výsledky práce a jej prínos.<br />
Prvá kapitola obsahuje teoretické pojmy a definície, aby oboznámila čitateľa s oblasťou,<br />
ktorou sa budeme zaoberať.<br />
Druhá kapitola sa už týka daného projektu. Popisuje požiadavky, ktoré budú na systém<br />
kladené, rozoberá praktické aplikácie, využívanie informácií zo systému, ich vkladanie<br />
a prácu s nimi. Taktiež obsahuje definície budúcich používateľov systému a ich práva.<br />
Tretia kapitola predstavuje jadro práce a zaoberá sa popisom a formálnym návrhom<br />
databázového systému a v štvrtej kapitole sa budem zaoberať implementáciou grafického<br />
prostredia v Adobe Dream weawer.<br />
13
1. Informačný systém<br />
1.1 Definícia informácie<br />
Informácia je slovo s mnohými významami, ktoré závisia na kontexte, ale vo<br />
všeobecnosti dá sa opísať ako predpis blízky<br />
pojmom význam, poznatok, signál, inštrukcia, komunikácia,<br />
reprezentácia a mentálny podnet.<br />
Informácia zahrňuje v sebe správu spolu s jej významom pre príjemcu. Je to správa,<br />
ktorá vyjadruje istý stav, slúži nejakému cieľu alebo vyvoláva nejakú akciu. Správa<br />
sa stáva informáciou buď v dôsledku ľudskej interpretácie alebo tým, že ju spracujú<br />
algoritmy, alebo že je uložená v súboroch. Podľa Shannonovej teórie informácií je<br />
informácia mierou stredného informačného obsahu, prenositeľného daným<br />
kódovaním.<br />
1.2 Termín databáza<br />
Databáza je skupina informácií usporiadaná podľa určitých kritérií (najčastejšie do<br />
formátu tabuľky) tak, aby bola umožnená čo najpokročilejšia manipulácia s týmito<br />
informáciami. Databáza je tvorená jednotlivými záznamami, pričom každý záznam<br />
je rozdelený do jednotlivých polí. [2]<br />
1.2.1 Databázový systém<br />
Databázový systém tvoria nasledovné komponenty[5]:<br />
<br />
<br />
<br />
<br />
Dáta<br />
Hardvér<br />
S<strong>of</strong>tvér<br />
Užívatelia<br />
14
1.3 Čo je to aplikácia<br />
Aplikácia alebo používateľský aplikačný program vo výpočtovej technike a<br />
v informatike je počítačový program pomáhajúci používateľovi pri uskutočňovaní<br />
činnosti určitého konkrétneho typu, napríklad pri manipulácii s textami (textový<br />
procesor), číslami, grafikou a pod. Aplikácie môžu byť združené do aplikačných<br />
balíkov napr. kancelárskych ako sú Micros<strong>of</strong>t Office alebo Open Office. [3]<br />
Internetová sieťová aplikácia je s<strong>of</strong>twarová aplikácia určená na spojenie medzi<br />
ľuďmi a so sieťou Internetu; je to program umožňujúci komunikovať s ostatnými<br />
používateľmi Internetu a mať prístup k dátam, ktoré možno v Internete nájsť.<br />
Napríklad: mail, telnet, ftp, gopher, WAIS, WWW, ... [4]<br />
1.4 Čo je paintball<br />
Paintball je šport, kde sa hráči snažia trafiť súpera farebnou silikónovou guľôčkou<br />
pomocou značkovacej zbrane a vyradiť ho z hry. Delí sa na niekoľko druhov.<br />
Športový paintball je v súčasnosti olympijskou športovou disciplínou. Military<br />
paintball sa svojimi pravidlami snaží čo najviac priblížiť reálnemu bojovému<br />
stretu. Hra je sústredená do CQB (close quarters battle/boj v uzavretom priestore)<br />
alebo do OSB (Open Space Battle/boj v otvorenom priestore) čím sa najviac líši od<br />
športového, ktorý je hraný na ihriskách.<br />
1.5 MySQL<br />
Databáza MySQL je svetovou najobľúbenejšou open source databázou, pretože má<br />
vysoký výkon, spoľahlivosť a jej používanie je jednoduché. MySQL beží na viac<br />
ako 20 platformách vrátane Linuxu, Windows, Mac OS,Solaris, IBM AIX a je<br />
implementovaný vo viacerých programovacích jazykoch ako PHP, C++ či Perl.<br />
Databázový systém je relačný typu DBMS (database management system). Každá<br />
databáza je v MySQL tvorená z jednej alebo z viacerých tabuliek, ktoré majú<br />
riadky a stĺpce. V riadkoch sa rozoznávajú jednotlivé záznamy, stĺpce udávajú<br />
15
dátový typ jednotlivých záznamov, pracuje sa s nimi ako s poľami. Práca s MySQL<br />
databázou je vykonávaná pomocou takzvaných dotazov, ktoré vychádzajú z<br />
programovacieho jazyka SQL (Structured Query Language). [1]<br />
1.6 Apache HTTP Server<br />
Je to s<strong>of</strong>twarový webový server s Open source licenciou pre Linux, BSD, Micros<strong>of</strong>t<br />
Windows a iné platformy. V dnešnej dobe je najrozšírenejším na celom svete.<br />
Apache je jednoduchý, ale pritom veľmi výkonný. Podporuje rôzne programovacie<br />
jazyky, ktoré nemusia byť v počítači vôbec nainštalované, ale stačí, ak si<br />
nainštalujeme príslušný modul, ktorý podporuje práve ten konkrétny programovací<br />
jazyk. [3]<br />
1.7 PHP<br />
PHP radíme k skriptovacím jazykom ktoré pracujú na strane servera. Z toho<br />
plynie, že jeho hlavnou výhodou je, že k zdrojovému kódu skriptu sa nedostane nik<br />
iný, ako jeho autor. PHP skripy sa zapisujú priamo do HTML kódu stránky.<br />
PHP dokáže získavať dáta z formulárov na HTML stránkach a ďalej s týmito<br />
dátami pracovať, môže čítať a ukladať cookies, dynamicky generovať stránky atd.<br />
Jeho najsilnejšou parketou je však široká spolupráce s databázami. [4]<br />
1.8 HTML<br />
Hypertextový značkový jazyk je značkový jazyk určený na vytváranie webových<br />
stránok a iných informácií zobraziteľných vo webovom prehliadači. HTML kladie dôraz<br />
hlavne na prezentáciu informácií (odseky, fonty, váha písma, tabuľky atď). Špecifikáciu<br />
jazyka HTML udržiava World Wide Web Consortium (W3C). Aktuálna verzia je HTML<br />
4.01<br />
16
2. Analýza problémovej oblasti<br />
V porovnaní s Českou republikou sme v organizácií paintballového športu pozadu, hoci<br />
počtom hráčov sa blížime k ich číslam, v organizácii a riadení stagnujeme na jednom<br />
mieste už niekoľko rokov. Kým na Slovensku sa rozvíja a napreduje len športový paintball,<br />
v zahraničí sa rovnako rýchlo vyvíjajú aj ostatné jeho podskupiny. Napríklad, v ČR už 5<br />
rokov funguje ako aj vlastný databázový systém pre túto kategóriu paintball športu tak aj<br />
vlastné fórum. Mojím cieľom bolo vytvoriť podobné zázemie aj na Slovensku s tým, že<br />
fórum, reprezentujúce military paintball už existuje niekoľko rokov a dotvorila som<br />
k nemu vyhovujúcu databázovú aplikáciu. Keďže sa v tomto športe pohybujem, často krát<br />
som narážala na problém, že som niečo hľadala a bolo to zdĺhavé, lebo jediný informačný<br />
systém venujúci sa tejto problematike bol neprehľadný a netriedil dáta v ktorých by sa dalo<br />
ľahko pohybovať. Neponúkal možnosť zatriediť akciu do jednotlivého štýlu paintballu aby<br />
si užívateľ mohol nechať selektovať len tie hry, o ktoré má záujem. Často krát vznikali<br />
situácie, že hráči nevedeli o nasledujúcej akcii alebo stretnutí. Ich informačná plocha bola<br />
zahltená pre nich nepodstatnými udalosťami. Toto ma viedlo k myšlienke, vytvoriť novú<br />
databázovú aplikáciu a umiestniť ju na Internet. Paintball sám o sebe sa delí na speedball<br />
(klasický športový paintball ako ho poznáme), woodsball (podobný ako športový,<br />
s rozdielom že sa hrá v lesnom ihrisku), scenario (väčšie ihrisko či plocha, kde sa vytvorí<br />
určitý scenár pre hracie strany, napr. získať budovu obsadenú súperom), military (hráči sa<br />
snažia čo najpresnejšie napodobniť určitú vojenskú jednotku, herné územie nie je<br />
ohraničené a zvyčajne sa pohybuje na ploche niekoľko kilometrov štvorcových. Dodržujú<br />
sa vojenské pravidlá a disciplína, akcie prebiehajú niekoľko dní bez prestávky. Všetky<br />
situácie sa každý účastník snaží zahrať čo najreálnejšie. Čiže pri smrteľnom zranení leží<br />
bez pohybu – nereaguje na okolie, pri zranení kričí a volá medika či ošetrujúceho lekára...)<br />
a obsahuje aj ďalšie menšie pod kategórie. Počet hráčov na Slovensku rok od roku<br />
enormne narastá. Je potrebné, aby existovalo miesto, ktoré ich bude spájať a pomáhať im<br />
v komunikácii. Hlavným cieľom teda bol databázový systém, ktorý umožní selekciu dát,<br />
jednoduché a rýchle vyhľadávanie, jednoduché vkladanie dát a komunikáciu. Zároveň som<br />
pri jeho tvorbe myslela na to, že tento šport sa veľmi rýchlo vyvíja, preto som navrhla<br />
databázu tak, aby sa dali jednoducho vykonať zmeny, či doplniť ďalšie údaje, ktoré by sa<br />
na strane užívateľa rýchlo prejavili.<br />
17
2.1 Používateľské požiadavky<br />
Úlohou databázovej aplikácie by malo byť predovšetkým uchovávanie informácií<br />
o užívateľoch, hrách a stretnutiach následne potrebné údaje selektovať.<br />
Registrovaný užívateľ by mal mať možnosť doplniť, zmeniť či vymazať svoj pr<strong>of</strong>il<br />
a nahliadnuť na pr<strong>of</strong>il iného užívateľa. Vytvoriť udalosť či vyhľadávať potrebné<br />
údaje, vedieť sa prihlásiť na udalosť a pozrieť, kto ďalší sa jej ešte zúčastní,<br />
prípadne kto ju vytvoril. Databázová aplikácia by mala taktiež dovoľovať vytvoriť<br />
nový team, pridať do informácií dostupných užívateľovi nové ihrisko a obchod<br />
zameraný na túto tematiku. Jej úlohou je triediť informácie tak, aby boli pre<br />
užívateľa aktuálne, čiže rozlišovať udalosti podľa dátumu konania, prípadne podľa<br />
dátumu vloženia.<br />
Taktiež by mala archivovať už prebehnuté udalosti a ponúkať užívateľom na ne<br />
spätný pohľad.<br />
2.2 Cieľová skupina<br />
Aplikácia bude zameraná predovšetkým na ľudí, ktorý sa aktívne alebo rekreačne<br />
venujú paintball športu. Taktiež bude informovať a uľahčovať vstup novým<br />
záujemcom o tento šport. Veľa nových hráčov, ktorí sa rozhodnú venovať<br />
paintballu nevedia zvyčajne o hrách, ktoré sa konajú alebo nevedia o tomto športe<br />
veľa informácií, ktoré by im umožnili rozhodnúť sa, ktorým smerom sa v tomto<br />
športe vydať. V konečnom dôsledku aby sa mohol military paintball ďalej rozvíjať<br />
je potrebná informovanosť a jednoduchý nábor práve nových členov a preto<br />
zameranie sa aj na túto skupinu je veľmi dôležité v ohľade na budúcnosť.<br />
18
2.3 Operácie s dátami<br />
V aplikácií budú ústrednými údajmi dáta o registrovaných užívateľoch a údaje<br />
jednotlivých akcií. Každý človek, ktorý bude mať záujem pracovať s aplikáciou<br />
bude musieť byť zaregistrovaný s dôvodu, aby sa zabránilo vytváraniu SPAMu od<br />
automatických programov na tvorenie reklamy. Tento častý problém dynamických<br />
webov budem riešiť pri registrácií generovaním kódu, ktorý bude nutné prepísať<br />
alebo kontrolnou otázkou s predpokladom, že len človek bude schopný na ňu<br />
odpovedať správne. Takýto užívateľ bude môcť tvoriť nové akcie, editovať a mazať<br />
vlastné akcie. Tie budú následne poskytované všetkým užívateľom bez nutnosti<br />
registrácie. Ďalšie údaje, ktoré budeme používať budú obchody, ihriská,<br />
značkovače a iné doplňujúce údaje. Aplikácia bude zabezpečovať pridávanie<br />
a vymazávanie užívateľov, akcií a ich editáciu. Cieľom bude navrhnúť aplikáciu<br />
tak, aby sa nenarušila jej štruktúra pri prípadnej zmene. Nakoľko je paintball mladý<br />
a vyvíjajúci sa šport, musíme predpokladať, že v budúcnosti môžu nastať zmeny,<br />
ktoré potom ľahkou editáciou budeme schopný vykonať.<br />
2.4 Rozdelenie používateľov<br />
Administrátor – má možnosť pridávať akcie, vkladať príspevky, vkladať novinky,<br />
obchody, ihriská a teamy. Má oprávnenie editovať a mazať tieto údaje a príspevky<br />
a novinky iných užívateľov. Úlohou administrátora je zabezpečiť správne<br />
fungovanie databázovej aplikácie a zabezpečiť, že bude plniť svoj cieľ. Taktiež<br />
bude evidovať pripomienky a návrhy jednotlivých užívateľov. Bude novým<br />
užívateľom pomáhať v orientácii sa v aplikácií a odpovedať im na otázky. Pri<br />
rozšírení sa sortimentu značkovačov pre paintball je povinný vložiť nový druh do<br />
databázy. Jeho úlohou je vkladať na úvodnú stránku novinky, ktoré napíšu<br />
užívatelia a skontrolovať ich správnosť a obsah.<br />
19
Veliteľ– Bežný užívateľ sa stáva týmto užívateľom automaticky pri vytvorení<br />
vlastného teamu. Bude mať možnosť pridávať nové akcie, obchody a ihriská. Môže<br />
editovať svoje príspevky, vložené akcie, svoj pr<strong>of</strong>il a svoje konto môže kedykoľvek<br />
zrušiť. Veliaci má schopnosť editovať si svoj vytvorený team. Vymazávať z neho<br />
členov a previesť svoje práva na iného člena teamu s tým, že sám ich stratí. Taktiež<br />
môže zrušiť tento team. Má právo napísať novinku, ktorú odošle na skontrolovanie<br />
administrátorovi.<br />
Vojak – Je to každý užívateľ, ktorý sa zaregistruje do databázovej aplikácie.<br />
Získava schopnosť editovať si vlastné konto a prípadne ho zrušiť. Môže vkladať<br />
akcie do kalendára, ktoré môže editovať. Je schopný pridať do aplikácie cez<br />
formulár nový obchod či ihrisko. Taktiež môže vkladať príspevky. Má právo<br />
napísať novinku, ktorú odošle na skontrolovanie administrátorovi. V jeho<br />
právomoci je založiť team a tým sa stať používateľom veliaci alebo sa pridať do už<br />
existujúceho teamu.<br />
Kadet – nezaregistrovaný užívateľ, ktorý má právo prezerať údaje v aplikácií no<br />
nemôže tam vkladať nové, editovať ich či zmazať. Je to typ používateľa, ktorý<br />
využíva databázu len na informatívnej úrovni bez toho aby sa do nej akýmkoľvek<br />
spôsobom zapájal. Každý kadet má možnosť registrácie a stať sa používateľom<br />
s právami vojak<br />
20
2.5 Identifikácia a špecifikácia požiadaviek<br />
Tabuľka 1 Identifikácia a špecifikácia požiadaviek<br />
Funkčné požiadavky Doplňujúce informácie Priorita Use Case<br />
R01 Aplikácia bude<br />
evidovať užívateľov<br />
R02 Aplikácia bude<br />
evidovať teamy<br />
R03 Aplikácia bude<br />
evidovať novinky<br />
R04 Aplikácia bude<br />
evidovať akcie<br />
R05 Aplikácia bude<br />
evidovať tréning<br />
R06 Aplikácia bude<br />
overovať práva pre<br />
užívateľov.<br />
R07 Aplikácia bude schopná<br />
nájsť hráča<br />
R08 Aplikácia bude schopná<br />
nájsť team<br />
R09 Aplikácia bude<br />
rozlišovať práva.<br />
R10 Aplikácia bude mať<br />
formulár na registráciu<br />
užívateľa.<br />
R11 Aplikácia bude<br />
ponúkať editáciu<br />
Evidencia užívateľov (IDuziv,<br />
Nazov, Web, typ)<br />
Musí UC001<br />
Evidencia teamov (IDteam,<br />
nazov, popis)<br />
Musí UC027<br />
Evidencia noviniek<br />
(IDnovinka, nadpis, text)<br />
Musí UC029<br />
Evidencia akcií (ID, meno,<br />
miesto, zaciatok, koniec,<br />
max_pocet, styl_hry, pokyny,<br />
Musí UC010<br />
scenar)<br />
Evidencia tréningov<br />
(IDtrening, zaciatok, koniec, Musí UC007<br />
ine)<br />
Musí UC009<br />
Musí UC020<br />
Musí UC021<br />
Musí -<br />
Musí -<br />
Musí -<br />
R12 Aplikácia umožní Musí UC022<br />
21
prihlásenie<br />
R13 Aplikácia bude Evidencia obchodov<br />
evidovať obchody (IDobchodu, nazov, web, typ)<br />
Musí UC005<br />
R14 Aplikácia bude Evidencia ihrísk (IDihriska,<br />
evidovať ihriská nazov, miesto, www)<br />
Musí UC006<br />
R15 Aplikácia bude Evidencia zbrane (ID_zbran,<br />
evidovať zbrane typ, vyrobca, popis, obrazok)<br />
Musí UC002<br />
R16 Aplikácia bude<br />
evidovať druhy<br />
Evidencia druhov (nazov,<br />
popis) Musí -<br />
paintballu<br />
R17 Aplikácia bude Evidencia pristupu(IDpristup,<br />
evidovať prístupy nazov)<br />
Musí -<br />
Nefunkčné požiadavky Doplňujúce informácie Priorita Use Case<br />
R12 Aplikácia bude<br />
implementovaná Verzia CSS 5 Mala by -<br />
v Dreamweaver<br />
R13 Overenie užívateľa<br />
bude do 2 sekúnd.<br />
Mala by -<br />
R14 Aplikácia bude<br />
Prehliadka bude aspoň raz za 6<br />
podliehať pravidelným<br />
mesiacov<br />
kontrolám.<br />
Musí -<br />
R15 Aplikácia sa bude Aktualizácia systému – každý<br />
pravidelne aktualizovať.<br />
rok<br />
Mala by -<br />
22
2.6 Nájdenie účastníkov a prípadov použitia<br />
Tabuľka 2 Nájdenie účastníkov<br />
Účastník<br />
A01 Systémový<br />
administrátor<br />
A02 Veliteľ<br />
A03 Vojak<br />
A04 Kadet<br />
Slovný popis<br />
Osoba, ktorá spravuje systém<br />
Osoba, ktorá vykonala registráciu, je prihlásená a založila<br />
tím<br />
Osoba, ktorá vykonala registráciu a je prihlásená<br />
Osoba, ktorá nie je zaregistrovaná a prihlásená<br />
Tabuľka 3 Nájdenie prípadov použitia<br />
Prípad použitia<br />
Slovný popis<br />
UC001 Eviduj užívateľa Právo založiť pr<strong>of</strong>il/registrovať sa má kadet<br />
UC002 Priraď zbraň Právo pridať zbraň má systémový administrátor,<br />
veliteľ a vojak<br />
UC003 Zúčastni sa tréningu Právo zúčastniť sa tréningu má systémový<br />
administrátor, veliteľ a vojak<br />
UC004 Zúčastni sa akcie Právo zúčastniť sa akcie má systémový<br />
administrátor, veliteľ a vojak<br />
UC005 Vlož obchod Právo vložiť obchod má systémový administrátor,<br />
veliteľ a vojak<br />
UC006 Vlož ihrisko Právo vložiť ihrisko má systémový administrátor,<br />
veliteľ a vojak<br />
UC007 Eviduj tréning Právo založiť tréning má systémový<br />
administrátor, veliteľ a vojak<br />
UC008 ZamedziťPrístup Pri nesprávnom zadaní prihlasovacieho mena<br />
alebo hesla bude užívateľovi automaticky<br />
zamedzený prístup.<br />
UC009 Overiť Práva Aplikácia bude automaticky overovať.<br />
UC010 Eviduj akciu Právo založiť akciu má systémový administrátor,<br />
23
veliteľ a vojak<br />
UC011 Eviduj team Právo založiť team má systémový administrátor a<br />
vojak<br />
UC012 Vstúpiť do teamu Právo vstúpiť do teamu má systémový<br />
administrátor a vojak<br />
UC013 Pridaj akciu Právo pridať akciu má systémový administrátor,<br />
veliteľ a vojak<br />
UC014 Pridať novinku Právo priradiť novinku má veliteľ a vojak<br />
UCO15 Vlož novinku<br />
Právo vložiť novinku má systémový<br />
administrátor<br />
UC016 Zmeň užívateľa Právo zmeniť, upraviť pr<strong>of</strong>il má systémový<br />
administrátor, veliteľ a vojak po splnení ďalších<br />
podmienok.<br />
UC017 Zmeniť team Právo zmeniť, upraviť team má systémový<br />
administrátor a veliteľ po splnení ďalších<br />
podmienok.<br />
UC018 Vymaž team Právo vymazať team má systémový administrátor<br />
a veliteľ po splnení ďalších podmienok.<br />
UC019 Vymaž pr<strong>of</strong>il Právo vymazať team má systémový<br />
administrátor, veliteľ a vojak po splnení ďalších<br />
podmienok.<br />
UC020 Nájdi hráča Právo vyhľadať hráča má systémový<br />
administrátor, veliteľ, vojak a kadet<br />
UC021 Nájdi team Právo vyhľadať team má systémový<br />
administrátor, veliteľ, vojak a kadet<br />
UC022 Prihlásiť sa Právo prihlásiť sa má systémový administrátor,<br />
veliteľ a vojak<br />
UC023 Zmeň akciu Právo zmeniť akciu má systémový administrátor,<br />
veliteľ a vojak po splnení ďalších podmienok.<br />
UC024 Pridať užívateľa Právo pridať užívateľa má kadet<br />
UC025 Pridať team Právo pridať team má systémový administrátor<br />
a vojak<br />
UC026 Zmaž akciu Právo zmazať akciu má systémový administrátor,<br />
24
veliteľ a vojak po splnení ďalších podmienok.<br />
UC027 Eviduj obchod Právo evidovať obchod má systémový<br />
administrátor, veliteľ a vojak<br />
UC028 Eviduj ihrisko Právo evidovať ihrisko má systémový<br />
administrátor, veliteľ a vojak<br />
UC029 Eviduj novinku Právo evidovať novinku má systémový<br />
administrátor<br />
2.7 Detaily niektorých prípadov použitia<br />
Tabuľka 4 Prípady použitia časť 1<br />
ID: UC020<br />
Vstupné podmienky:<br />
1. aktér je v aplikácii<br />
Prípad použitia: Hľadaj hráča<br />
Aktéri: systémový administrátor, veliteľ, vojak a kadet<br />
1. UC začína, keď administrátor, veliteľ, vojak alebo kadet vstúpi do systému za účelom<br />
hľadať hráča<br />
2. Systém overí spojenie s DB<br />
5.1. Aplikácia vyhľadá hráča<br />
5.2. inak aplikácia zamedzí prístup (Zakáž prístup)<br />
Vedľajší scenár: kontrola spojenia s DB<br />
Tabuľka 5 Prípady použitia časť 2<br />
Prípad použitia: Založ pr<strong>of</strong>il<br />
ID: UC001<br />
Aktéri: kadet<br />
Vstupné podmienky:<br />
1. aktér je v aplikácií<br />
1. UC začína, keď kadet vstúpi do aplikácie za účelom registrovať sa<br />
2. Kadet vyplní formulár, kde musí vyplniť povinné údaje.<br />
3. Aplikácia overí spojenie s databázou<br />
4. Aplikácia overí, či sa zhodujú obe zadané hesla<br />
25
5. Aplikácia overí, či bol dobre vyplnený overovací kód<br />
6. Aplikácia overí, či sú vyplnené povinné údaje<br />
7. Aplikácia overí, či prihlasovacie meno sa nezhoduje s menom už registrovaného<br />
užívateľa.<br />
8. Ak sú zadané údaje správne, potom<br />
8.1. Aplikácia povolí prístup k evidencii<br />
8.2. inak aplikácia zamedzí prístup (Zakáž prístup)<br />
Vedľajší scenár: Overenie práva, overovanie dát, kontrola spojenia s DB<br />
Tabuľka 6 Prípady použitia časť 3<br />
Prípad použitia: Prihlásenie<br />
ID: UC022<br />
Aktéri: administrátor systému, veliteľ a vojak<br />
Vstupné podmienky:<br />
1. aktér je v aplikácii<br />
1. UC začína, keď administrátor alebo veliteľ alebo vojak vstúpi do aplikácie za účelom<br />
prihlásiť sa<br />
2. Systémový administrátor alebo veliteľ práporu sa prihlasuje cez formulár, kde musí<br />
zadať prihlasovacie meno a heslo<br />
3. Aplikácia overí spojenie s databázou<br />
4. Aplikácia overí, či bolo zadané správne meno a heslo (Overenie práva)<br />
5. Ak sú zadané údaje správne, potom<br />
5.1. Aplikácia povolí prístup<br />
5.2. inak aplikácia zamedzí prístup(Zakáž prístup)<br />
Vedľajší scenár: Overenie práva, kontrola spojenia s DB<br />
26
Tabuľka 7 Prípady použitia časť 4<br />
Prípad použitia: Pridaj novinku<br />
ID: UC014<br />
Aktéri: veliteľ a vojak<br />
Vstupné podmienky:<br />
1. aktér je prihlásený<br />
1. UC začína, keď veliteľ alebo vojak vstúpi do aplikácie za účelom pridať novinku<br />
2. Aplikácia overí, či je užívateľ prihlásený<br />
3. Aplikácia overí práva užívateľa<br />
4. Ak sú zadané údaje správne, potom<br />
4.1. Aplikácia povolí pridanie novinky, ktorú odošle na schválenie administrátorovi<br />
4.2. inak aplikácia zamedzí prístup k evidencii (Zakáž prístup)<br />
Vedľajší scenár: Overenie práva, kontrola spojenia s DB<br />
Tabuľka 8 Prípady použitia časť 5<br />
Prípad použitia: Vlož novinku<br />
ID: UC015<br />
Aktéri: systémový administrátor<br />
Vstupné podmienky:<br />
1. aktér je prihlásený<br />
1. UC začína, keď administrátor vstúpi do aplikácie za účelom vložiť novinku<br />
2. Aplikácia overí spojenie s databázou<br />
3. Aplikácia overí, či je užívateľ prihlásený<br />
4. Aplikácia overí práva užívateľa<br />
5. Ak sú zadané údaje správne, potom<br />
5.1. Aplikácia povolí vloženie novinky do databázy<br />
5.2. inak aplikácia zamedzí prístup k evidencii (Zakáž prístup)<br />
Vedľajší scenár: Overenie práva, kontrola spojenia s DB<br />
27
Tabuľka 9 Prípady použitia časť 6<br />
Prípad použitia: Vložiť obchod<br />
ID: UC005<br />
Aktéri: systémový administrátor, veliteľ a vojak<br />
Vstupné podmienky:<br />
1. aktér je prihlásený<br />
1. UC začína, keď administrátor, veliteľ alebo vojak vstúpi do aplikácie za účelom pridať<br />
novinku<br />
2. Aplikácia overí spojenie s DB<br />
3. Aplikácia overí, či je užívateľ prihlásený<br />
4. Aplikácia overí práva užívateľa<br />
5. Ak sú zadané údaje správne, potom<br />
5.1. Aplikácia povolí pridanie obchodu<br />
5.2. inak aplikácia zamedzí prístup (Zakáž prístup)<br />
Vedľajší scenár: Overenie práva, kontrola spojenia s DB<br />
28
2.8 Štruktúrovaný diagram prípadov použitia<br />
Obrázok 1 Štruktúrovaný diagram prípadov použitia (1)<br />
29
Obrázok 2 Štruktúrovaný diagram prípadov použitia (2)<br />
30
2.9 Diagram aktivít – prihlásenie do aplikácie<br />
31
3. Návrh riešenia - Dátová analýza<br />
3.1 Identifikácia množín entít a ich atribútov<br />
Akcia - názov založenej akcie. Bude obsahovať tieto atribúty:<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
ID – kľúčový atribút, primárny kľúč<br />
Meno – Skrátený názov, pod ktorým bude akcia vystupovať v aplikácií.<br />
Miesto – Miesto konania sa akcie. Prípadne zemepisné súradnice.<br />
Zaciatok – Dátum začatia akcie.<br />
Koniec – Dátum skončenia akcie.<br />
Max_pocet – Maximálny počet účastníkov. Počet ľudí, pre ktorých je daná<br />
akcia robená.<br />
Styl_hry – Tento atribút zaraďuje akciu do určitej skupiny, na ktoré sa<br />
paintball delí (woodsball, military, speed...).<br />
Pokyny – Tento atribút predstavuje informácie o tom, čo organizátor<br />
požaduje. Môžu tam byť jednotlivé upozornenia, pravidla a iné.<br />
Scenar – Bude obsahovať popis priebehu danej akcie. Prípadne informácie<br />
pre hráčov, čo môžu od akcie očakávať.<br />
Užívateľ – Do tejto entity patrí každý zaregistrovaný užívateľ, ktorý chce aktívne<br />
využívať databázovú aplikáciu. Jej súčasťou sú tieto atribúty:<br />
<br />
<br />
<br />
<br />
IDuziv – číslo, ktoré je predstavuje určitého užívateľa, toto číslo je preňho<br />
originálne, čiže žiadny užívatel nemôže mať rovnaké ID. Taktiež je to<br />
primárny kľúč.<br />
Nick – Atribút, ktorý obsahuje prezývku užívateľa, pod ktorou bude<br />
vystupovať aby sa zabezpečila jeho anonymita.<br />
Preferovany_maskac – Maskovacie oblečenie má rôzny maskovací vzor,<br />
tento atribút bude obsahovať práve ten, ktorý užívateľ využíva najčastejšie –<br />
ktorý preferuje.<br />
Heslo – Atribút potrebný na prihlásenie sa užívateľa do aplikácie. Užívateľ<br />
si ho zadáva pri svojej registrácii.<br />
32
Pravo – Tento atribút má hodnoty 1 (administrátor), 2 (Veliaci), 3 (vojak)<br />
a udávajú, aké práva má užívateľ v aplikácií.<br />
Mesto – Atribút obsahujúci miesto bydliska užívateľa.<br />
Charakteristika – Obsahuje text, ktorý si užívateľ o sebe napíše a je ochotný<br />
zverejniť ostatným.<br />
Ihriská – Táto entita opisuje jednotlivé ihriska, na ktorých sa dá hrať paintball,<br />
zapožičať si výzbroj alebo výstroj ak užívateľ nemá vlastnú. Umožňuje ľahko sa<br />
dostať k tomuto športu novým záujemcom a taktiež robí reklamu distribútorovi:<br />
IDihriska – Primárny kľúč. Číslo, pod ktorým ihrisko vystupuje.<br />
Nazov – Názov, pod ktorým majiteľ ihriska podniká a je registrovaný.<br />
Miesto – Atribút, ktorý obsahuje adresu ihriska.<br />
Www – Obsahuje URL adresu ihriska.<br />
Obchody – Predstavuje obchod, ktorý je zameraný na paintball alebo vojenské<br />
doplnky. Tým umožní užívateľovi rýchlejšie sa dostať k hľadaným veciam,<br />
prípadne rýchlemu porovnaniu cien. Jeho atribúty sú:<br />
<br />
<br />
<br />
<br />
IDobchodu – Primárny kľúč, originálne číslo každého jedného obchodu.<br />
Nazov – Názov obchodu, pod ktorým vystupuje.<br />
Web – URL adresa na rýchle nájdenie obchodu, prípadne eshopu.<br />
Typ – Tento atribút udáva, na aké doplnky je obchod zameraný (army shop,<br />
paintball shop, prípadne iné)<br />
Team – Entita predstavujúca určitú skupinu užívateľov, ktorí sa spolu<br />
prezentujú pod určitým menom. Jej atribúty sú:<br />
<br />
<br />
<br />
IDteam – Primárny kľúč. Originálne číslo, ktoré zastupuje každý jeden tím.<br />
Nazov – Názov tímu, ktorý bude združovať užívateľov.<br />
Popis – Atribút, ktorý predstavuje charakteristiku tímu, ktorá sa zadáva pri<br />
registrácii užívateľom.<br />
33
Tréning – táto entita informuje užívateľov určitého tímu o zocvičení. Obsahuje<br />
nasledujúce atribúty:<br />
<br />
<br />
<br />
<br />
IDtrening – Primárny kľúč. Číselná hodnota.<br />
Zaciatok – Dátum začatia zocvičenia.<br />
Koniec – Dátum skončenia zocvičenia.<br />
Ine – Popis a ďalšie informácie, ktoré potrebujú poznať členovia tímu.<br />
Zbraň – táto entita predstavuje značkovač, ktorý je kľúčovou súčasťou paintballu.<br />
Bude obsahovať nasledujúce atribúty:<br />
<br />
<br />
<br />
<br />
<br />
ID_zbran – Primárny kľúč. Číselná hodnota každého jedného typu<br />
značkovača.<br />
Typ – Atribút, ktorý definuje určitý typ značkovača, ktorý výrobca dal na<br />
trh.<br />
Vyrobca – Atribút predstavuje výrobcu, ktorý značkovač vyrobil.<br />
Popis – Bližšie informácie o značkovači. Popis materiálu, dostrelu, FPS<br />
(feet per second) – jednotka rýchlosti a iné.<br />
Obrazok – Atribút, ktorý bude obsahovať obrázok značkovača.<br />
Druh – Entita, ktorá udáva o aký druh paintballu ide a jej popis, pre nových<br />
záujemcov.<br />
<br />
<br />
Nazov – Názov určitého druhu paintballu. Je to zároveň aj primárny kľúč,<br />
lebo tento názov je originálny.<br />
Popis – Predstavuje určitú charakteristiku daného druhu a jej základné<br />
pravidlá<br />
34
Prístup – Entita, ktorá udáva, či je akcia alebo tréning otvorený pre väčšiu skupinu<br />
záujemcov alebo uzavretý pre určitých ľudí, ktorých si vyberie a určí organizátor.<br />
<br />
<br />
<br />
ID_prostup – primárny kľúč<br />
Nazov – Názov, pod ktorým bude vystupovať v aplikácii<br />
Popis_p – obsahuje popis, ktorý objasní užívateľovi čo plynie z jednotlivých<br />
druhov prístupov.<br />
Novinka – Entita, ktorá obsahuje najnovšie správy zo sveta paintballu. Obsahuje<br />
tieto atribúty:<br />
<br />
<br />
<br />
IDnovinka<br />
Nadpis<br />
Text<br />
3.2 Identifikácia relačných vzťahov:<br />
Užívateľ vkladá(1) obchod:<br />
Obchod - Nemôže byť obchod, ktorý nie je vložený užívateľom: 1<br />
- Jeden obchod, môže byť vložený len jedným užívateľom: 1<br />
Užívateľ - Môže byť užívateľ, ktorý nevložil žiadny obchod: 0<br />
-Môže byť užívateľ, ktorý vložil viac obchodov: N<br />
Užívateľ vkladá(2) ihriská:<br />
Ihriská -Nemôže byť ihrisko, ktoré nevložil užívateľ: 1<br />
-Každé ihrisko, môže byť vložené len jedným užívateľom: 1<br />
Užívateľ -Môže byť užívateľ, ktorý nevložil ihrisko: 0<br />
-Môže byť užívateľ, ktorý vložil viac ihrísk: N<br />
35
Užívateľ vkladá(3) novinku:<br />
Novinka -Nemôže byť novinka, ktorú nevložil užívateľ: 1<br />
-Každú novinku vložil jeden užívateľ: 1<br />
Užívateľ -Môže byť užívateľ, ktorý nevložil novinku: 0<br />
-Môže byť užívateľ, ktorý vložil viac noviniek: N<br />
Užívateľ vlastní zbraň:<br />
Zbraň -Môže byť zbraň, ktorú nevlastní žiadny užívateľ: 0<br />
-Jedna zbraň, môže mať viac užívateľov: N<br />
Užívateľ -Môže byť užívateľ, ktorý nevlastní zbraň: 0<br />
-Môže byť užívateľ, ktorý vlastní viac zbraní: M<br />
Užívateľ sa zúčastňuje(1) tréningu:<br />
Tréning -Môže byť tréning, ktorého sa nezúčastní žiadny užívateľ: 0<br />
-Jedného tréningu sa môže zúčastniť viac užívateľov: N<br />
Užívateľ -Môže byť užívateľ, ktorý sa nezúčastní tréningu: 0<br />
-Môže byť užívateľ, ktorý sa zúčastní viac tréningov: M<br />
36
Užívateľ sa zúčastňuje(2) akcie:<br />
Akcia -Môže byť akcia, ktorej sa nezúčastní žiadny užívateľ: 0<br />
-Jednej akcie sa môže zúčastniť viac užívateľov: N<br />
Užívateľ -Môže byť užívateľ, ktorý sa nezúčastní žiadnej akcie: 0<br />
-Jeden užívateľ sa môže zúčastniť viac akcií: M<br />
Užívateľ zakladá(1) tréning:<br />
Tréning -Nemôže byť tréning, ktorý nezaložil užívateľ: 1<br />
-Každý tréning je založený len jedným užívateľom: 1<br />
Užívateľ -Môže byť užívateľ, ktorý nezaloží tréning: 0<br />
-Jeden užívateľ môže založiť viac tréningov: N<br />
Užívateľ zakladá(2) akciu:<br />
Akcia -Nemôže byť akcia, ktorý nezaložil užívateľ: 1<br />
-Každá akcia je založená len jedným užívateľom: 1<br />
Užívateľ -Môže byť užívateľ, ktorý nezaloží akciu: 0<br />
-Jeden užívateľ môže založiť viac akcií: N<br />
Užívateľ zakladá(3) tím:<br />
Tím -Nemôže byť tím, ktorý nezaložil užívateľ: 1<br />
-Každý tím je založený len jedným užívateľom: 1<br />
Užívateľ -Môže byť užívateľ, ktorý nezaloží tím: 0<br />
-Jeden užívateľ môže založiť viac tímov: N<br />
37
Užívateľ patrí do teamu:<br />
Tím -Nemôže byť tím, ktorému nepatrí žiadny užívateľ: 1<br />
-Môže byť tím, ktorému patrí viac užívateľov: N<br />
Užívateľ -Nemôže byť užívateľ, ktorý nepatrí do tímu: 1<br />
-Nemôže byť užívateľ, ktorý patrí do viac tímov: 1<br />
Akcia má(1) druh:<br />
Druh: -Môže byť druh, ktorý nemá žiadnu akciu: 0<br />
-Môže byť druh, ktorý má viac akcií: N<br />
Akcia -Nemôže byť akcia, ktorá nemá druh: 1<br />
-Každá akcia môže mať len jeden druh: 1<br />
Tréning má(2) prístup:<br />
Prístup: -Môže byť prístup, ktorý nemá žiaden tréning: 0<br />
-Môže byť prístup, ktorý má viac tréningov: N<br />
Tréning -Nemôže byť tréning, ktorá nemá prístup: 1<br />
-Každý tréning môže mať len jeden prístup: 1<br />
Akcia má(3) prístup:<br />
Prístup: -Môže byť prístup, ktorý nemá žiadnu akciu: 0<br />
-Môže byť prístup, ktorý má viac akcií: N<br />
Akcia -Nemôže byť akcia, ktorá nemá prístup: 1<br />
-Každá akcia môže mať len jeden prístup: 1<br />
38
3.3 Entitno – relačný model<br />
Entitno-relačný diagram (ER, ERD, ER diagram) je špeciálny graf, ktorý<br />
naznačuje vzťahy medzi subjektmi v databáze. V ER diagramoch sa používajú<br />
symboly predstavujúce základné typy informácií: boxy (obdĺžniky) reprezentujú<br />
entity, atribúty sú reprezentované oválmi, ktoré sú spojené s entitou, alebo je názov<br />
atribútu priamo vpísaný do značky pre entitu. Vzájomné vzťahy, resp. relácie<br />
medzi entitami sú vyjadrené buď značkou malého kosoštvorca, alebo jednoduchým<br />
prepojením 2 entít pomocou úsečky.<br />
Entita - je špecifickým predmetom záujmu z oblasti reálneho sveta. Každá<br />
jednotka základných informácií sa nazýva 'entita', ktorá má určitý názov a obsahuje<br />
atribúty (vlastnosti entity).<br />
Atribút - Každá entita obsahuje jeden alebo viac atribútov. Atribúty si môžeme<br />
predstaviť ako malé kusy informácií v rámci entity. Spolu popisujú entitu do takej<br />
miery, ako je to nevyhnutné.<br />
Relácia - V relačnej databáze majú všetky subjekty medzi sebou určitú väzbu,<br />
ktorá je vyjadrená ako vzťah. Relácia je väzba medzi subjektmi.<br />
Doména - Doména je pomenovaná množina skalárnych hodnôt rovnakého typu. Je<br />
to vlastne typ atribútu. Rozoznávame celočíselný, reálny, textový, dátumový a<br />
binárny typ.<br />
39
Obrázok 3 Entitno – relačný diagram<br />
40
3.4 Transformácia ERM do relačných schém<br />
3.3.1 Transformácia množín entít<br />
Obchod (IDobchodu, nazov, web, typ)<br />
Uzivatel (IDuziv, nick, preferovany_maskac, Heslo, Pravo, Mesto, Charakteristika)<br />
Ihriska(IDihriska, nazov, mesto, www)<br />
Zbran(ID_zbran, typ, vyrobca, popis, obrazok)<br />
Trening(IDtrening, zaciatok, koniec, ine)<br />
Akcia(ID, meno, miesto, zaciatok, koniec, max_pocet, styl_hry, pokyny, scenar)<br />
Team(IDteam, nazov, popis)<br />
Druh(nazov, popis)<br />
Pristup(ID_pristup, nazov, popis_p)<br />
Novinka(ID_novinka, nadpis, text)<br />
3.3.2 Transformácia relačných vzťahov<br />
a) Kardinalita M:N – binárne vzťahy<br />
<br />
<br />
Keďže kardinalita relačného vzťahu vlastní je M:N, bude reprezentovaný vlastnou<br />
relačnou schémou:<br />
Vlastni (IDuziv, ID_zbran)<br />
Keďže kardinalita relačného vzťahu zúčastňuje(1) je M:N, bude reprezentovaný<br />
vlastnou relačnou schémou:<br />
Zucastnuje_1 (IDuziv, IDtrening)<br />
41
Keďže kardinalita relačného vzťahu zúčastňuje(2) je M:N, bude reprezentovaný<br />
vlastnou relačnou schémou:<br />
Zucastnuje_2 (IDuziv, ID)<br />
b) Kardinalita 1:N resp N:1 – binárne vzťahy<br />
<br />
Keďže kardinalita relačného vzťahu vkladá(1) je 1:N ( Užívateľ vkladá obchod) a<br />
obchod je povinným členom vzťahu. Vzťah vkladá(1) bude reprezentovaný cudzím<br />
kľúčom ID užívateľa z relačnej schémy uzivatel v relačnej schéme obchod:<br />
Obchod (IDobchodu, nazov, web, typ, IDuziv-FK NN)<br />
<br />
Keďže kardinalita relačného vzťahu vkladá(2) je 1:N (Užívateľ vkladá ihriská)<br />
a ihriská sú povinným členom vzťahu. Vzťah vkladá(2) bude reprezentovaný<br />
cudzím kľúčom ID užívateľa z relačnej schémy uzivatel v relačnej schéme ihriska:<br />
Ihriska(IDihriska, nazov, mesto, www, IDuziv-FK NN )<br />
<br />
Keďže kardinalita relačného vzťahu zakladá(1) je 1:N (Užívateľ zakladá tréning)<br />
a tréning je povinným členom vzťahu. Vzťah zakladá(1) bude reprezentovaný<br />
cudzím kľúčom ID užívateľa z relačnej schémy uzivatel v relačnej schéme trening:<br />
Trening(IDtrening, zaciatok, koniec, ine, IDuziv-FK NN)<br />
<br />
Keďže kardinalita relačného vzťahu zakladá(2) je 1:N (Užívateľ zakladá akciu) a<br />
akcia je povinným členom vzťahu. Vzťah zakladá(2) bude reprezentovaný cudzím<br />
kľúčom ID užívateľa z relačnej schémy užívateľ v relačnej schéme akcia:<br />
Akcia(ID, meno, miesto, zaciatok, koniec, max_pocet, styl_hry, pokyny, scenar,<br />
IDuziv-FK NN)<br />
<br />
Keďže kardinalita relačného vzťahu zakladá(3) je 1:N (Užívateľ zakladá team) a<br />
team je povinným členom vzťahu. Vzťah zakladá(3) bude reprezentovaný cudzím<br />
kľúčom ID užívateľa z relačnej schémy užívateľ v relačnej schéme team:<br />
Team(IDteam, nazov, popis, IDuziv-FK NN)<br />
42
Keďže kardinalita relačného vzťahu patrí je N:1 (Užívateľ patrí do teamu) a<br />
užívateľ je povinným členom vzťahu. Vzťah patrí bude reprezentovaný cudzím<br />
kľúčom ID teamu z relačnej schémy team v relačnej schéme uzivatel:<br />
Uzivatel (IDuziv, nick, preferovany_maskac, Heslo, Pravo, Mesto, Charakteristika,<br />
IDteam-FK NN)<br />
<br />
Keďže kardinalita relačného vzťahu má(1) je N:1 (Akcia má(1) druh) a akcia je<br />
povinným členom vzťahu. Vzťah má(1) bude reprezentovaný cudzím kľúčom ID<br />
druh z relačnej schémy druh v relačnej schéme akcia:<br />
Akcia(ID, meno, miesto, zaciatok, koniec, max_pocet, styl_hry, pokyny, scenar,<br />
IDdruh-FK NN)<br />
<br />
Keďže kardinalita relačného vzťahu má(3) je N:1 (Akcia má(3) pristup) a akcia je<br />
povinným členom vzťahu. Vzťah má(3) bude reprezentovaný cudzím kľúčom ID<br />
prístupu z relačnej schémy prístup v relačnej schéme akcia:<br />
Akcia(ID, meno, miesto, zaciatok, koniec, max_pocet, styl_hry, pokyny, scenar,<br />
ID_pristup-FK NN)<br />
<br />
Keďže kardinalita relačného vzťahu má(2) je N:1 (Tréning má(2) pristup) a<br />
tréning je povinným členom vzťahu. Vzťah má(2) bude reprezentovaný cudzím<br />
kľúčom ID prístupu z relačnej schémy pristup v relačnej schéme trening:<br />
Trening(IDtrening, zaciatok, koniec, ine, ID_pristup-FK NN)<br />
Keďže kardinalita relačného vzťahu vkladá(3) je 1:N (Užívateľ vkladá(3)<br />
novinku) a novinka je povinným členom vzťahu. Vzťah vkladá(3) bude<br />
reprezentovaný cudzím kľúčom ID užívateľa z relačnej schémy užívateľ v relačnej<br />
schéme novinka:<br />
Novinka(ID_novinka, nadpis, text, IDuziv-FK NN)<br />
43
c) Kardinalita 1:1 – binárne vzťahy<br />
V entitno-relačnom modely sa nenachádza kardinalita 1:1<br />
3.3.3 Úprava relačných schém pre potreby implementácie<br />
Odstránime nadbytočné medzery, interpunkčné znamienka a znaky, ktoré by mohli<br />
robiť problém, pri implementácii tabuliek do databázy.<br />
3.3.4 Logický model<br />
Obchod (IDobchodu, nazov, web, typ, IDuziv)<br />
Uzivatel (IDuziv, nick, preferovany_maskac, Heslo, Pravo, Mesto, Charakteristika,<br />
IDteam)<br />
Ihriska(IDihriska, nazov, mesto, www, IDuziv)<br />
Zbran(ID_zbran, typ, vyrobca, popis, obrazok)<br />
Trening(IDtrening, zaciatok, koniec, ine, IDuziv, ID_pristup)<br />
Akcia(ID, meno, miesto, zaciatok, koniec, max_pocet, styl_hry, pokyny, scenar,<br />
IDuziv, ID_pristup, Nazov)<br />
Team(IDteam, nazov, popis, IDuziv)<br />
Druh(nazov, popis)<br />
Pristup(ID_pristup, nazov, popis_p)<br />
Novinka(ID_novinka, nadpis, text, IDuziv)<br />
Vlastni(IDuziv, ID_zbran)<br />
Zucastnuje_1(IDuziv, IDtrening)<br />
Zucastnuje_2(IDuziv, ID)<br />
44
3.3.5 Fyzický model<br />
Obrázok 4 Fyzický model<br />
45
4. Implementácia prostredia v editore Adobe Dreamweaver<br />
Vzhľad je prvým faktorom, ktorý na užívateľa zapôsobí, preto mu treba venovať<br />
dostatočnú pozornosť. Mojím cieľom bolo navrhnúť vzhľad, ktorý umožní užívateľovi<br />
jednoduchú orientáciu a ľahkú prácu s aplikáciou. Prostredie som sa rozhodla vytvoriť<br />
v editore Adobe Dreamweaver CS5. V prílohe je uvedených viacej obrázkov, ktoré<br />
umožňujú vytvoriť si predstavu o výzore aplikácie.<br />
4.1 Adobe Dreamweaver<br />
Adobe Dreamweaver je jedným z najobľúbenejších pr<strong>of</strong>esionálnych webových<br />
balíčkov pre rozvoj dreamweaver je komplexný produkt vhodný pre všetko, od<br />
jednoduchých stránok návrhu po rozvoj dynamických stránok písaných s<br />
ColdFusion, PHP , ASP, CSS, XML, XSLT a JavaScript. Dreamweaver je<br />
priemyselným štandardom pre vývoj prostredia webových aplikácií. Umožňuje<br />
pracovať všetkým typom užívateľov, od začiatočníkov až po pr<strong>of</strong>esionálov, od<br />
návrhárov pre vývojárov, ľahko a pohodlne vytvárať jednoduché aj zložité<br />
dynamické webové stránky.<br />
4.2 Návrh stránky<br />
Webová stránka je rozdelená pomocou tagu „div“ na 4 časti. Vrchnú časť zaberá<br />
logo v ktorom je umiestnené aj menu, na ľavo sa nám nachádza panel, spodnú časť<br />
tvorí päta stránky a zvyšok v strede je hlavné zobrazovacie okno. Rozdelenie<br />
stránky pomocou tagu div som zvolila preto, lebo je v súčasnosti najpoužívanejšie<br />
a dobre sa s ním pracuje. Podporujú ho všetky najpoužívanejšie prehliadače. Ja<br />
som testovala zobrazenie stránky v prehliadačoch Google Chrome 18, Mozzila<br />
Firefox 12.0, Opera 11.64 a Micros<strong>of</strong>t Explorer 9.<br />
Pomocou kaskádových štýlov som si nadefinovala hlavné zložky vzhľadu. Na<br />
obrázku nižšie môžete vidieť zadefinované vlastnosti niektorých častí stránky.<br />
46
4.2.1 Tvorba menu<br />
Menu sa nachádza ako nová vrstva položená na obrázku loga. Zvolila som ho<br />
čiastočne priehľadné aby nám nerušilo obrázok, ktorý sa nachádza pod ním. Je<br />
tvorené pomocou javaskriptu. Pozostáva z týchto volieb:<br />
Obrázok 5 master.css<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Home<br />
Kalendár akcií<br />
Archív hier<br />
Hráči<br />
Teamy<br />
PB/Army shopy<br />
Ihriská<br />
Forum<br />
Faq<br />
47
4.2.2 Kalendár akcií<br />
Pomocou kalendára sa dostaneme na stránku, na ktorej bude možnosť založiť novú<br />
hru a podľa dátumu vloženia zostupne vypísaných 8 akcií, ktoré pridal užívateľ. Ak<br />
bude databáza obsahovať viac týchto akcií, zoradia sa do strán a na každej strane<br />
bude vypísaných práve 8. Tieto výpisy budú zoradené do tabuľky aby sa zachovala<br />
štruktúra. Každý tento výpis bude obsahovať Názov hry, miesto, začiatok, koniec a<br />
maximálny počet hráčov pričom bude slúžiť ako hypertextový odkaz, ktorý nás<br />
prenesie na kartu, ktorá sa tvorí každej pridanej hre. Na tejto karte sa nachádzajú<br />
podrobnosti o akcii a taktiež možnosť prihlásiť sa na akciu. Na obrázku č.3 si<br />
môžete pozrieť kód, pomocou ktorého vypisujem dáta s databázy a usporadúvam<br />
ich na stránke.<br />
Obrázok 6 Kalendár hier<br />
48
4.2.3 Archív hier<br />
Tu si užívateľ môže pozrieť akcie, ktoré už prebehli a prečítať si z nich report. Do<br />
archívu sa dostane každá akcia automaticky, keď jej deň konania bude starší ako<br />
aktuálny deň. Používam tu podobný selekt ako pri „Kalendár akcií“ s tým<br />
rozdielom, že som upravila podmienku na výpis, ktorú budú spĺňať len akcie staršie<br />
ako aktuálny dátum a samozrejme prispôsobím ho na výpis nami požadovaných<br />
dát.<br />
4.2.4 Hráči a teamy<br />
Tieto odkazy nás pošlú na karty, kde môžeme vidieť vypísaných hráčov, čiže<br />
užívateľov, ktorí sa registrovali alebo registrované teamy. Obsahuje tiež<br />
okienko „hľadaj hráča/“hľadaj team“, ktoré bude selektovať buď vami zadaný<br />
údaj ak je celý a správne alebo po zadaní písmena vypíše užívateľov, ktorým<br />
prezývka začína na dané písmeno alebo sa v nej nachádza. Selekt na hľadanie<br />
vyzerá nasledovne:<br />
a) hráča<br />
("SELECT IDUziv,nick FROM uzivatel WHERE nick like '%$hladaj%'");<br />
b) teamu<br />
("SELECT IDteam,Nazov FROM team WHERE Nazov like '%$hladaj%' ");<br />
4.2.5 PB/Army shopy a Ihriská<br />
Obchody:<br />
Táto stránka nám ponúka známe obchody či už paintballového charakteru alebo<br />
obchody s vojenskými pomôckami a výstrojom. Je tu možnosť pridať obchod.<br />
Kliknúť na odkaz už vytvoreného a preniesť sa na jeho website. Záznamy sa tu<br />
taktiež vypisujú do tabuľky a ich počet na stranu je 10.<br />
49
Ihriská:<br />
U herných plôch platí to isté ako pri obchodoch. Selektuje záznamy z tabuľky<br />
ihriská, vkladá ich do tabuľky na stránke, počet na stranu je desať a ponúka<br />
ľahký prechod na ich website.<br />
4.2.6 Fórum<br />
Pri nábehu myšou na fórum v menu, dostaneme ďalšie dve pod kategórie, ktoré<br />
si môžeme zvoliť:<br />
o SK Forum<br />
o CZ Forum<br />
Obe slúžia ako hypertextový odkaz na stránky, kde je umiestnené fórum<br />
slovenskej a českej paintballovej asociácie. Tieto fóra sa otvoria na novej karte.<br />
4.2.7 FAQ<br />
Táto časť pomáha užívateľovi orientovať sa na stránke a dáva odpovede na<br />
najčastejšie otázky. Užívateľ sa tu dozvie ako sa môže zaregistrovať, ako pridá<br />
hru alebo sa na ňu prihlási. Taktiež radí, ako sa po registrácii prihlásiť, ako<br />
vyhľadať užívateľa a podobne.<br />
4.3 Registrácia a prihlásenie<br />
Registrácia a prihlásenie je jedna s najdôležitejších vecí v aplikácii. Aby užívateľ<br />
mohol s aplikáciou pracovať musí byť prihlásený. Bolo treba zabezpečiť, aby sa<br />
užívateľ nemusel prihlasovať za každým, ak načíta novú stránku pomocou menu.<br />
Toto som docielila pomocou Session.<br />
50
4.3.1 Rozdiel medzi Session a Cookies<br />
Havný rozdiel medzi COOKIEs a SESSION je ten, že COOKIES sa ukladajú u<br />
klienta a SESSION na webovom serveri. To čo je ukladané u klienta (COOKIEs) je<br />
vo svojej podstate potenciálne nebezpečné. U údajov ukladaných u užívateľa platí,<br />
že to čo prehliadač prijme môže byť uložené, zmenené a poslané naspať.<br />
4.3.2 Session<br />
SESSION k svojmu správnemu fungovaniu využíva COOKIEs. Samotná relácia je<br />
riadená priradeným popisovačom čo je vlastne PHP ID (zašifrované náhodné číslo<br />
ktoré je uložené u klienta ako COOKIEs), to odkazuje na SESSION uložené na<br />
serveri. Spúšťame ho pomocou session_start() a toto session sa nám nachádza na<br />
každej našej stránke a zabezpečuje, že prihlásenie užívateľa bude stále aktívne.<br />
4.3.3 Registrácia<br />
Táto možnosť sa nachádza na vrchu v ľavom panely vo forme hypertextového<br />
odkazu. Po jeho zvolení sa dostaneme na stránku register.php na ktorej sa<br />
nachádza formulár, ktorý je potrebné vyplniť. Pomocou „*“ sú vyznačené údaje<br />
ktoré sú povinné. Na konci formulára sa nachádza overovacia časť vo forme<br />
sčítania dvoch číslic. Kým sa formulár odošle kontroluje nasledovné veci:<br />
1. Kontroluje pripojenie na databázu<br />
2. Kontroluje zhodu zadaných hesiel<br />
3. Kontroluje, či bol dobre vyplnený overovací kód<br />
4. Kontroluje, či bolo vyplnené meno a heslo<br />
5. Kontroluje, či už neexistuje užívateľ s rovnakým menom<br />
Ak táto kontrola neprebehne, vždy vypíše užívateľovi, v čom nastala chyba aby<br />
vedel, čo je potrebné opraviť. Ak kontrola prebehne celá, vložia sa údaje<br />
51
o užívateľovi do databázy, jeho prihlásenie sa uloží do session, na jeho obrazovku<br />
sa vypíše informácia o tom, že jeho registrácia prebehla úspešne a bude<br />
presmerovaný a úvodnú stránku index.php.<br />
4.3.4 Prihlásenie<br />
Prihlásenie sa taktiež nachádza v ľavom panely. Po zvolení tejto možnosti<br />
a vyplnení mena a hesla sa odkaz „prihlásenie“ zmení na panely na<br />
„meno_prihláseného“, ktoré tiež predstavuje hypertextový odkaz, ktorý vás<br />
pošle na stránku pr<strong>of</strong>ilu. Na obrázku v prílohe je úsek kódu, ktorý toto<br />
prihlásenie umožňuje.<br />
52
4.4 Hlásenie o chybách<br />
Ak užívateľ na stránke nájde chybu, môže ju ohlásiť administrátorom stránky. Túto<br />
voľbu nájde v päte stránky, kde sa nachádza veta „Našli ste chybu? Ohláste ju alebo<br />
vložte pripomienku na vylepšenie TU“. Ak klikne na slovo „TU“ prejde na stránku,<br />
kde sa nachádza formulár. Ten po vyplnení odošle vyplnené údaje ako mail na<br />
mailovú adresu webovej aplikácie sídliacu na gmail.com. Do formulára užívateľ<br />
vyplní nasledovné údaje:<br />
Meno<br />
E-mail<br />
Predmet<br />
Správa<br />
Pomocou týchto údajov sa vyplní v maily odosielateľ, predmet a telo správy.<br />
Formulár si môžete pozrieť na priloženom obrázku.<br />
Obrázok 7 Formulár na odosielanie chýb<br />
53
5. Používateľská príručka<br />
Ak užívateľ navštívi aplikáciu, tak na úvodnej stránke môže vidieť horné menu,<br />
v obsahovej časti novinky zo sveta paintballu a na ľavom panely ponuku registrácie či<br />
prihlásenia, čas a dátum, 3 najbližšie akcie a počasie.<br />
5.1 Prihlasovacie okno<br />
Keďže aplikácia rozoznáva práva užívateľov je nutné sa na prácu s ňou<br />
prihlásiť. Predpokladáme, že užívateľ vykonal úspešne registráciu. Na<br />
prihlásenie zadá svoje meno a heslo. Ak sa údaje nezhodujú s údajmi v<br />
databáze, aplikácia vypíše, či bolo zadané zlé meno alebo heslo.<br />
Obrázok 8 Prihlásenie do aplikácie<br />
54
5.2 Registrácia<br />
Registrovať sa musí každý užívateľ, ktorý chce s aplikáciou pracovať<br />
na vyššej úrovni ako si ju prezerať. V ľavom panely sa nachádza vedľa<br />
dátumu ponuka registrácie a po jej zvolení sa užívateľovi vypíše<br />
formulár. Po vyplnení povinných údajov odošle údaje. Ak jeho<br />
registrácia prebehla úspešne, môže sa prihlásiť. V inom prípade bude<br />
upozornený, kde spravil chybu. Taktiež sa tam nachádza voľba vyčistiť<br />
formulár aby jednotlivé veci nemusel mazať ručne a po jednom.<br />
Obrázok 9 Registrovať_umiestnenie<br />
Obrázok 10 Registrácia do aplikácie<br />
55
5.3 Založenie hry<br />
Založenie novej hry prebieha voľbou kalendár akcií a pod vypísanými<br />
hrami sa nachádza voľba „založiť novú“. Založenie novej hry prebieha<br />
vyplnením formulára a jeho odoslaním. Túto právomoc má každý<br />
zaregistrovaný užívateľ.<br />
Obrázok 11 Založenie hry<br />
56
Začiatok a koniec hry sa zadáva kliknutím na kalendár. Otvorí sa nám toto okno,<br />
kde vyberieme vhodný dátum.<br />
Obrázok 12 Kalendár pri zakladaní akcie<br />
5.4 Pr<strong>of</strong>il<br />
Ak chce užívateľ nahliadnuť na svoj pr<strong>of</strong>il, môže tak spraviť po prihlásení, kde sa<br />
v ľavom panely zmení text z „Prihlásiť/Registrovať„ na „Meno_prihlaseneho<br />
Odhlásiť“. Ak klikne na svoje meno automaticky prejde na svoj pr<strong>of</strong>il. Druhá<br />
možnosť, ako nahliadnuť na svoj alebo cudzí pr<strong>of</strong>il je cez možnosť menu „Hráči“<br />
následne zvolí hľadaj hráča.<br />
Obrázok 13 Hľadaj hráča<br />
57
Nemusí zadať celé meno hľadaného užívateľa. Ak zadá písmeno ktoré<br />
sa v jeho mene nachádza a zvolí hľadaj, aplikácia mu vypíše<br />
registrovaných hráčov podľa písmena. Následne si vyberie užívateľa<br />
a po kliknutí na jeho meno bude presmerovaný na jeho pr<strong>of</strong>il.<br />
Obrázok 14 Pr<strong>of</strong>il<br />
58
Záver<br />
Cieľom bakalárskej práce bolo vytvoriť databázovú aplikáciu v prostredí webu a jej<br />
implementácia. Podľa katalógu požiadaviek som vytvorila návrh aplikácie, potrebné<br />
tabuľky a vytvorila potrebnú databázu. Prostredie som implementovala v editore Adobe<br />
Dreamweaver CSS5, čím boli splnené počiatočné požiadavky. Je potrebné aby prešla<br />
aplikácia testovaním. Táto fáza zatiaľ nebola vykonaná preto, lebo aplikácia prejde<br />
v blízkej dobe rozšírením, ktoré bude ponúkať užívateľom väčší komfort pri jej používaní<br />
a taktiež nové možnosti jej využitia. Už teraz som ale do jej tvorby a implementácie<br />
zaviedla formulár, ktorým užívatelia môžu podávať hlásenia o chybách a navrhovaných<br />
zmenách. Aplikácia sa bude potom vyvíjať podľa požiadaviek užívateľa. Plánované<br />
zavedenie aplikácie a umožnenie jej dostupnosti pre verejnosť je začiatkom augusta. Do<br />
toho termínu by mala aplikácia prejsť prvou fázou testovania, na ktorom by sa malo<br />
podieľať okolo dvadsať užívateľov. Keď už bude aplikácia dostupná na internete, jej<br />
aktualizácia bude prebiehať v nočných hodinách aby nenarušila prácu užívateľov. Čas<br />
a upozornenie o tejto aktualizácii bude včas zverejnený na stránke. Predpokladaný počet<br />
denných návštev je 300 ľudí.<br />
Implementácia databázovej aplikácie sa mi podarila. Aplikácia umožňuje vkladanie,<br />
mazanie a editovanie dát, ktoré sa v nej nachádzajú, rozlišuje práva užívateľov a podľa<br />
nich im umožňuje prístupy. Všetky zdrojové kódy sú priložené ako príloha na DVD-R<br />
nosiči, ktorý sa nachádza na poslednej strane obalu bakalárskej práce.<br />
59
Zoznam použitej literatúry<br />
[1] MySQL.[online], 28.5.2012, Dostupné na internete: < http://www.mysql.com/whymysql><br />
[2] Jiří Hlavenka a kol.: Nový výkladový slovník výpočetní techniky, 1. vyd. Praha 4:<br />
Computer Press, 1994. ISBN 80-85896-05-2<br />
[3] Apache HTTP server, [online], 25.5.2012, Dostupné na internete:<br />
<br />
[4] Bražina, M., PHP [online], 16.5. 2000, Dostupné na internete: <<br />
http://www.builder.cz/art/php/clanek2083064230.html><br />
[5] Date, C.J.: Introduction to Database Systems, Pearson Education Inc., 2004, 1024 s.<br />
ISBN 0-321-18956-6<br />
[6] Sheldon, R.,Moes, G.: Beginning MySQL (Programmer to Programmer), 1 edition<br />
Wrox, 2005. ISBN 0764579509<br />
60
Čestné vyhlásenie<br />
Čestne vyhlasujem, že bakalársku prácu na tému „Databázová aplikácia v prostredí WEB<br />
pre asociáciu military paintball“ som vypracovala samostatne. Použitú literatúru<br />
a podkladové materiály uvádzam v priloženom zozname bibliografických odkazov.<br />
V Trnave dňa 25. mája2012<br />
Podpis
Prílohy
Príloha 1 Zdrojový kód na vypisovanie určitého počtu hier
Príloha 2 Zdrojový kód na prihlásenie<br />
Príloha 3 Obrázok z kalendára akcií
Príloha 4 Ihriska<br />
Príloha 5 Pridaj nove ihrisko
Príloha 6 vytvor novu hru<br />
Príloha 7 uvod, index stranky