Virtualni nogomet: algoritmi i simulacija igre nogometnih robota. Izrada baze podataka „Nogometni klubovi

Pošaljite svoj dobar rad u bazu znanja je jednostavno. Upotrijebite obrazac u nastavku

Studenti, diplomski studenti, mladi znanstvenici koji koriste bazu znanja u svom studiju i radu bit će vam jako zahvalni.

Hostirano na http://www.allbest.ru/

Ministarstvo obrazovanja i znanosti Ukrajine

Černihivsko državno tehnološko sveučilište

Zavod za informacijske i računalne sustave

Softverski sustav "Football Championship"

Nastavni rad iz discipline "Organizacija baza podataka"

Dovršeno

studenti gr. KI-104A.G. Voitsekhovsky

A.G. Raj

Nadglednik

Asistent M.V. Kharčenko

Černihiv 2013

sažetak

Predmetni rad, 86 str., sl. 21, 9 izvora, 2 aplikacije.

Svrha izrade nastavnog rada je implementacija aplikacije koja će vam omogućiti rad s bazom podataka, kako kroz tanki klijent tako i kroz desktop aplikaciju.

Glavna metoda projektiranja aplikacijskih modula je korištenje UML dijagrama. Tako je uz prisutnost licenciranog softvera bilo moguće izvesti razvijene klase u okruženje Eclipse EE.

U procesu pisanja aplikacije razvijene su i kreirane dvije tvornice DAOTourFirma i ServiceTourFirma za rad s entitetima. Uz pomoć ServiceTourFirma dodatno je implementirana poslovna logika.

Također je korištena tehnologija servleta i JSP kontejnera. Budući da se servleti i jsp stranice pozivaju preko HTTP protokola, spremnik servleta i JSP spremnik često prati druga komponenta, web poslužitelj, koji se također može napisati u Javi.

Poslužitelj je bio Tomcat 6.0. Aplikacija je razvijena pomoću JDK verzije 1.7.

Tijekom ovog kolegija za rad s bazom podataka korišten je PostgerSQL 9.0 DBMS. Izrađena je baza podataka koja se sastoji od 9 tablica. U svakoj tablici, jedinstveni primarni ključ je strani ključ. Ovo je dodatno uslužno polje dodano postojećim informacijskim poljima tablice, čija je jedina svrha da služi kao primarni ključ. Vrijednosti ovog polja nisu formirane na temelju bilo kojih drugih podataka iz baze podataka, već su generirane umjetno. Glavna prednost stranog ključa je ta što se nikada ne mijenja jer nije polje informativne tablice.

Tijekom razvoja, korporativna aplikacija "Football Championship" dovedena je na razinu stabilne verzije. Rezultat izrade prikazan je u obliku softverskog projekta koji je dat u prilogu nastavnog rada.

Za svoj rad, korporativna aplikacija zahtijeva minimalno: 1024 MB RAM-a, procesor od najmanje Atom 1100 MHz i bilo koji preglednik. Zahtjevi operativnog sustava - Windows, Unix.

Moguć je daljnji razvoj rada u smjeru unapređenja rada sjednica.

sažetak

Nastavni rad, 86 str., 21 crtež, 9 džerel, 2 dodatka.

O "razvoju" je korporativni program koji vam omogućuje rad s bazom podataka, kako za pomoć tankog klijenta, tako i za pomoć web usluga.

Glavna metoda projektiranja programskih modula je korištenje UML - dijagrama. Na ovaj način, uz prisutnost licenciranog softvera, moguće je izvesti razbijenu klasu u Eclipse EE.

U procesu pisanja programa proširene su i stvorene dvije tvornice DAOTourFirma i ServiceTourFirma za rad s entitetima. Uz pomoć ServiceTourFirma dodatno je implementirana poslovna logika.

Također, rođena je tehnologija Servlet- i JSP-kontejnera. Budući da servleti i JSP-ovi komuniciraju putem HTTP protokola, spremnik servleta i JSP spremnik često dolaze s još jednom komponentom, web poslužiteljem, koji se također može napisati u Javi.

U kapacitetu poslužitelja nalazi se Tomcat 6.0 poslužitelj. Program je distribuiran s JDK verzijama 1.7.

Tijekom ovog kolegija testiran je PostgerSQL 9.0 DBMS za rad s bazom podataka. Izrađena je baza podataka koja se sastoji od 9 tablica. U tablici kože poziva se jedinstveni primarni ključ. Tse dodatkove servisno polje, dodano već očitim informacijskim poljima tablice, jedino priznanje ovoga - služi kao primarni ključ. Vrijednosti ovog polja se ne postavljaju na temelju drugih podataka iz baze, već se generiraju pojedinačno. Smut dignitet originalnog ključa leži u činjenici da se vino ni na koji način ne mijenja, krhotine nisu informativno polje stola

Tijekom razvoja, korporativni program "Football Championship" je ukinut, jer je doveden na razinu stabilnog izdanja. Rezultat razvoja je uokviren u obliku softverskog projekta koji treba dodati nastavnim radom.

Za njegov robotski korporativni program, minimalni zahtjev je: 1024 MB RAM-a, procesor ne niži od Atom 1100 MHz i bilo koji preglednik. Wimogi na operativni sustav - Windows, Unix.

Daljnji razvoj projekta mogao bi dovesti do boljeg rada sa sesijama.

Java, C#, ORM, JSP, JPA, SQL, Servlet, HTML, TAG, JS

Sažetak

Projekt kolegija, 86 str., sl.21, 9 izvora, 2 priloga.

Cilj je razviti aplikaciju koja vam omogućuje rad s bazom podataka, kao kroz tanki klijent ili kroz desktop aplikaciju.

Osnovna metoda projektiranja aplikacijskih modula - korištenje UML - dijagrama. Dakle, ako bi se mogao razviti softver za izvoz klasa u Eclipse EE okruženje.

Tijekom pisanja aplikacija razvijene su i postavljene dvije tvornice DAOTourFirma i ServiceTourFirma za rad sa subjektima. Uz ServiceTourFirma dodatno je implementirana poslovna logika.

U tijeku nastavnog rada za rad baze podataka korišten je DBMS PostgerSQL 9.0. Baza podataka koja se sastoji od 9 tablica. U svakoj tablici jedinstveni primarni ključ je vanjski. Ovo je izborno servisno polje, dodano već postojećim informacijskim poljima tablice, čija je jedina svrha - služiti kao primarni ključ. Vrijednosti ovog polja nisu formirane na temelju bilo kojih drugih podataka iz baze podataka, već su generirane umjetno. Glavna prednost stranog ključa je ta što se nikada ne mijenja, jer je to polje informativne tablice.

Također, korištena je tehnologija i Servlet-JSP-kontejner. Budući da se servleti i jsp-stranice pozivaju putem HTTP-protokola, Servlet-JSP-kontejner i kontejner često prati još jedna komponenta - web-poslužitelj, koji također može biti napisan u Javi.

Tijekom razvoja poslovnih aplikacija zaprimljene su "Football Championat" dovedene na razinu beta. Rezultat izrade obrasca softverskog projekta, sadržanog u prilogu nastavnog rada.

Za svoju korporativnu primjenu potrebno je minimalno: 1024 MiB RAM-a, CPU nije Atom ispod 1100 MHz i preglednik. Zahtjevi za operativni sustav - Windows, Unix.

Daljnji razvojni rad moguć je za poboljšanje rada sa sesijom.

Java, C#, ORM, JSP, JPA, SQL, Servlet, HTML, TAG, JS

Uvod

1. Analiza problema koji se rješava

1.1 Analiza domene

1.2 Ciljevi i zadaci sustava

1.3 Svrha sustava

1.4 Zahtjevi sustava

2. Dizajn

2.1 Odabir alata za razvoj sustava

2.1.1 Poslužitelj baze podataka

2.1.2 Tehnologije implementacije sustava

2.2 Dizajn arhitekture sustava

2.2.1 Dizajniranje sloja poslovne logike i poslovnih pravila

2.2.2 Dizajniranje sloja za pristup podacima

2.2.3 Dizajniranje sloja prikaza

3. Razvoj

3.1 Razvoj sustava baze podataka

3.1.1 Dizajniranje sheme baze podataka

3.1.2 Osiguravanje integriteta podataka

3.1.3 Razvijanje osnovnih upita

3.1.4 Kreiranje uloga, odabir indeksa i pogleda

3.1.5 Razvoj pohranjenih procedura i okidača

3.1.6 Organizacija zaštite podataka

3.1.7 Objektno-relacijsko preslikavanje

3.2 Razvoj modula sustava

3.2.1 Razvoj poslovne logike i modula sloja poslovnih pravila

3.2.2 Razvoj modula sloja za pristup podacima

3.2.3 Razvoj modula servisnog sloja

3.2.4 Razvoj modula sloja prikaza

Popis korištenih izvora

Uvod

Danas su računala i internetske tehnologije široko rasprostranjene u svim sferama ljudske djelatnosti. Korištenje računalne tehnologije je zbog činjenice da uvelike olakšava rad osobi, a istovremeno ubrzava vrijeme za dovršetak zadatka i povećava pouzdanost rezultata. Budući da računalna tehnologija radi pod kontrolom softvera, njezina funkcionalnost ovisi o korištenom softveru. Stoga se stvaraju različite korporativne aplikacije uske specijalizacije.

Dizajniranje baze podataka (DB) jedan je od najsloženijih i najodgovornijih zadataka povezanih s kreiranjem korporativne aplikacije (enterprise application). Kao rezultat njegove odluke treba odrediti sadržaj baze podataka, učinkovit način organiziranja podataka za sve njezine buduće korisnike te alate za upravljanje podacima. Glavni cilj dizajna baze podataka je smanjiti redundantnost pohranjenih podataka, a time i uštedjeti količinu korištene memorije, smanjiti troškove višestrukih ažuriranja suvišnih kopija i eliminirati mogućnost nedosljednosti zbog pohranjivanja informacija o istom objektu u različitim mjesta.

Korporativna aplikacija je softverska aplikacija dizajnirana za upravljanje velikim količinama podataka i njihovu obradu u skladu s poslovnim pravilima, što omogućuje da se korporaciji (poduzeću) donese određene prednosti tijekom njezine implementacije.

Poduzetnička aplikacija ne uključuje obradu teksta, upravljanje gorivom u motoru automobila, kontrolu opreme dizala i telefonskih centrala, automatsku kontrolu kemijskih procesa, kao ni operativne sustave, kompajlere, igre itd. Poduzetnička aplikacija obično podrazumijeva potrebu za dugotrajnom (ponekad desetljećima) pohranom podataka. Podaci su često sposobni preživjeti generacije aplikacija za obradu podataka, hardvera, operacijskih sustava i kompilatora.

Mnogi korisnici pristupaju podacima paralelno. U pravilu njihov broj ne prelazi stotinu, ali za sustave koji se nalaze na webu, ta se brojka povećava za nekoliko redova veličine.

Uz velike količine podataka, aplikacija mora pružiti bogato korisničko sučelje.

Poduzetničke aplikacije rijetko postoje izolirane. Obično zahtijevaju integraciju s drugim sustavima izgrađenim u različito vrijeme koristeći različite tehnologije.

Poduzetničke aplikacije obično su složeni softverski sustavi .

1. Analiza problema koji se rješava

1.1 Analiza domene

Nogometno prvenstvo - nogometno natjecanje. Ova vrsta natjecanja održava se svake godine. Tijekom prvenstva održavaju se utakmice između različitih momčadi, čiji se rezultati bilježe na ljestvici određenog pretkola. Sljedeći korak prvenstva je održavanje završnog kola čiji se popis ekipa sudionica formira od pobjednika kvalifikacijskih kola. Kada se odigraju sve utakmice posljednjeg kola, vodeći se podacima o broju osvojenih bodova, možete odrediti pobjednika prvenstva.

Nogometno prvenstvo je masovni događaj, što pak ukazuje na potrebu za određenim unutarnjim mehanizmom koji bi koordinirao njegovo prolazak. Tako je moguće izdvojiti najviše izvršno tijelo – Izvršni odbor, koji preuzima punu odgovornost za organizaciju i održavanje prvenstva. Sastoji se od predsjednika i ostalih članova koje bira Kongres (najviše upravno tijelo određenog nogometnog sindikata) prvenstva. Kongres se održava svake godine. Izvršni odbor može pokrenuti drugi redoviti kongres koji će se baviti financijskim pitanjima i/ili pitanjima veće važnosti.

Mandat predsjednika i članova izvršnog odbora, koje bira Kongres, je fiksni broj godina. Svi članovi Izvršnog odbora mogu biti ponovno birani. Ne mogu se birati niti ponovno birati samo vrlo stari dužnosnici. Ako se mjesto u Izvršnom odboru uprazni, sljedeći Redoviti kongres bira zamjenu prije isteka tekućeg mandata. Ako se mjesto uprazni tijekom posljednje godine mandata člana Izvršnog odbora, ne bira se zamjena.

Mandat predsjednika i članova Izvršnog odbora počinje završetkom Kongresa na kojem su izabrani i završava završetkom Kongresa na kojem se bira njegov nasljednik. Imenovanje žene za člana Izvršnog odbora na četiri godine vrši se na osnivačkoj sjednici Izvršnog odbora.

Izvršni odbor ovlašten je odobravati propise i donositi odluke o svim pitanjima koja nisu u nadležnosti. Izvršni odbor upravlja radom pojedinog nogometnog sindikata, osim u slučajevima kada je izvršni odbor prenio ovlasti - ili su one Poveljom prenesene - na predsjednika ili upravu nogometnog sindikata.

Izvršni odbor može prenijeti odgovornost za pripremu i provedbu odluka ili za vođenje određenih poslova na jednog ili više svojih članova. Izvršni odbor također je ovlašten prenijeti ovlasti - u cijelosti ili djelomično - na predsjednika, jednog ili više svojih članova i/ili upravu.

U pravilu se Izvršni odbor sastaje svaka dva mjeseca na poziv predsjednika. Predsjednik može na sjednicu Izvršnog odbora pozvati i treće osobe kao savjetnike.

1.2 Ciljevi i zadaci sustava

Cilj sustava nogometnog prvenstva je automatizirati proces održavanja prvenstava. Ova aplikacija je informativna: omogućuje vam automatizirati izračun broja pobjeda, poraza i remija, kao i dodjelu bodova timovima u skladu s rezultatima utakmice (3 boda - pobjeda, 2 - remi, 1 - poraz ). Aplikacija omogućuje korištenje ulazno-izlaznih obrazaca za dodavanje novih, brisanje i promjenu podataka turnirske tablice. Moguć je pregled podataka o zaposlenicima i timovima, kao i pregled 10 najboljih momčadi i rezultata utakmica koje su odigrane na tekući dan.

1.3 Svrha sustava

Sustav nogometnog prvenstva razvijen u okviru ovog tečajnog projekta namijenjen je svim korisnicima koje zanimaju rezultati odigranih utakmica. Autorizacija se ne dijeli u našem sustavu. Gost se možda neće prijaviti, već se jednostavno prijaviti i pogledati informacije o prvenstvu. Voditelj, predsjednik i administrator moraju unijeti osobne podatke koji se utvrđuju u sustav. Osobni podaci podrazumijevaju prijavu i lozinku. Nakon što korisnik potvrdi unesene podatke, softverski sustav provjerava njihovu valjanost. Prvo se provjerava prijava, ako nije pronađena u bazi, sustav prikazuje poruku da ne postoji korisnik s tim imenom. Ako je naziv točan, provjerava se kontrolni zbroj lozinke. Ako se ne podudara, lozinka je netočna. Za veću sigurnost sustava, nakon izračuna kontrolnog zbroja, provjerava se podudaranje cijele lozinke. Ako su korisničko ime i lozinka autentični i prikladni te su par vrijednost-ključ, tada se korisnik prijavljuje i dodjeljuje mu se status predsjednika, administratora ili menadžera.

Slika 1.1 je dijagram slučajeva korištenja za ulogu predsjednika prvenstva.

Slika 1.1 - Dijagram slučajeva korištenja uloge predsjednika prvenstva

Nakon prijave, predsjednik ima sljedeće mogućnosti: upravljanje osobljem i proračun.

Slučaj korištenja "Upravljanja ljudskim resursima" uključuje dodavanje unosa o novom zaposleniku i, kada je zaposlenik otpušten, brisanje odgovarajućeg unosa. Slučaj upotrebe "Sastavljanje proračuna" uključuje dodavanje i brisanje zapisa o plaćama.

Slika 1.2 je dijagram slučajeva upotrebe za ulogu administratora

Slika 1.2 - Dijagram slučajeva korištenja za ulogu administratora

Nakon prijave, administrator ima sljedeće mogućnosti: upravljanje računima i provjeru poruke u bazi podataka.

Slučaj upotrebe "Upravljanje računima" ima sljedeći scenarij: Ako ovo dodaje novog korisnika, ispunite odgovarajuću formulu i spremite promjene; ako se radi o promjeni ili brisanju korisnika, onda to prvo morate pronaći u bazi podataka, prilikom brisanja uništiti korisničke podatke, prilikom promjene ispraviti i spremiti.

Slika 1.3 je dijagram slučaja upotrebe za ulogu upravitelja.

Slika 1.3 - Dijagram slučajeva korištenja uloge Manager

Nakon prijave, Manager ima sljedeće mogućnosti: popunjavanje, brisanje ili pregled unosa na ljestvici.

Slika 1.4 je dijagram slučaja upotrebe za ulogu gosta.

Slika 1.4 - Dijagram slučajeva korištenja uloge Gost

Nakon preuzimanja aplikacije, gost može pregledati ljestvicu, saznati informacije o utakmicama i momčadima.

1.4 Zahtjevi sustava

Sustav nogometnog prvenstva razvijen u okviru ovog predmeta trebao bi funkcionirati sa sljedećim objektima: država, utakmica, zaposlenik, turnir. Potrebno je razviti takav sustav u kojem bi se korisnik mogao registrirati i modificirati potrebne podatke.

Objektima se nameću određena ograničenja i pravila interakcije između objekata u sustavu, čija se ukupnost naziva poslovna logika.

Prema poslovnoj logici sustava potrebno je implementirati: automatsku dodjelu bodova timovima ovisno o pobjedi, porazu ili remiju u datoj utakmici.

2. Dizajn

2.1 Odabir alata za razvoj sustava

U ovom trenutku bit će odabran poslužitelj baze podataka, preko kojeg će korisnik komunicirati s bazom, također će se odabrati tehnologija implementacije sustava i arhitektura.

2.1.1 Poslužitelj baze podataka

Trenutno postoji ogroman broj poslužitelja baza podataka kao što su MySQL, PostgreSQL, Microsoft Access i drugi.

PostgreSQL je objektno-relacijski sustav upravljanja bazom podataka koji radi kao sustav klijent-poslužitelj. Na temelju osnovnih koncepata relacijskih baza podataka, PostgreSQL također podržava brojne "objektne" operacije, kao što je nasljeđivanje. PostgreSQL je u skladu s baznom specifikacijom SQL99 i podržava mnoge značajke opisane standardom SQL92.

Oracle je donekle superiorniji od PostgreSQL-a u pitanjima kao što su upotreba indeksa, replikacija podataka i oporavak te u općim administrativnim alatima. Oracle je napredniji (ali i složeniji). S druge strane, PostgreSQL pruža mogućnost korištenja kao proceduralnog jezika uz PL/pgSQL (vrlo slično PL/SQL-u koji se koristi u Oralceu), također PL/Perl, PL/Python, PL/Tcl, što omogućuje programeru da odaberete poznatiji alat.

U MySQL-u svaka je tablica pohranjena u vlastitu datoteku (za većinu tipova baza podataka), organizirajući jednu strukturu datoteke.

U MySQL-u je naglasak na najboljoj brzini čitanja (odabira) podataka, što objašnjava popularnost ovog DBMS-a u okruženju web razvoja, gdje je odabir glavna operacija. To se postiže izostankom transakcija (implementirane su samo za neke vrste tablica, na primjer, InnoDB, BerkleyDB) i višenitnim radom, ali to je i razlog nešto niže pouzdanosti ovog DBMS-a. Što se tiče dopuštenja, MySQL vam omogućuje postavljanje dopuštenja ne samo na razini tablice, već i na razini stupca, ali u PostgreSQL-u to se nadoknađuje mogućnošću stvaranja prilagođenih pogleda.

Apache Derby je relacijski DBMS napisan u Javi dizajniran za ugradnju u Java aplikacije ili obradu transakcija u stvarnom vremenu. Zauzima 2 MB na disku. Apache Derby je razvijen kao open source i distribuiran pod uvjetima licence Apache 2.0. Derby je prije bio poznat kao IBM Cloudscape. Sun distribuira iste binarne datoteke pod imenom Java DB.

U ovom kolegijalnom radu korišten je PostgreSQL - baze podataka koje zahtijevaju visok stupanj pouzdanosti pohrane informacija, imaju povećane zahtjeve za provjerom svih promjena, imaju potrebu za automatskim ispravljanjem velike količine podataka kada se informacija promijeni u jednoj od tablica, kao npr. kao i zadaci koji zahtijevaju sposobnost razvoja netrivijalnih rješenja, korištenje nestandardnih operatora itd.

2.1.2 Tehnologije implementacije sustava

JSP (JavaServer Pages) je tehnologija koja web programerima omogućuje jednostavno stvaranje sadržaja koji ima i statičke i dinamičke komponente. U osnovi, JSP stranica je tekstualni dokument koji sadrži dvije vrste teksta: statičke izvorne podatke, koji mogu biti u jednom od tekstualnih formata HTML, SVG, WML ili XML, i JSP elemente koji grade dinamički sadržaj. Osim toga, biblioteke JSP oznaka, kao i EL (Expression Language), mogu se koristiti za ubacivanje Java koda u statički sadržaj JSP stranica.

JSP je jedna od tehnologija visokih performansi jer se sav kod stranice prevodi u servlet Java kod pomoću JSP kompajlera Jasper stranice, a zatim se prevodi u bajt-kod Java virtualnog stroja (JVM). Kontejneri servleta koji mogu izvršavati JSP stranice napisani su u jeziku Java, koji se može izvoditi na raznim platformama. JSP stranice se učitavaju na poslužitelj i njima se upravlja iz posebne strukture paketa Java poslužitelja nazvane Java EE Web Application, uglavnom pakirane u .war i .ear arhive datoteka.

Prednost JSP-a u odnosu na druge web tehnologije je u tome što je JSP platformski neovisna, prenosiva i lako proširiva tehnologija za razvoj web aplikacija.

JSP 2.0 je nova verzija JSP specifikacije s dodatnom funkcionalnošću koja povećava brzinu programatora. Naime:

– Expression Language (EL) -- jezik izražavanja koji omogućuje, između ostalog, programerima stvaranje predložaka u stilu Velocity;

- lakši i brži način za stvaranje novih oznaka pomoću .tag datoteka, sada ne morate poznavati Javu za stvaranje novih oznaka;

– prikladan način upravljanja ugniježđenim grahovima (JavaBeans);

– brži i lakši način za prikaz varijabilnih parametara.

Servlet je Java sučelje čija implementacija proširuje funkcionalnost poslužitelja. Servlet komunicira s klijentima putem principa zahtjev-odgovor.

Iako servleti mogu poslužiti bilo koji zahtjev, oni se obično koriste za proširenje web poslužitelja. Za takve aplikacije, Java Servlet tehnologija definira klase servleta specifične za HTTP.

JSTL (JavaServer Pages Standard Tag Library) - prevedeno s engleskog kao "JSP Standard Tag Library". Proširuje JSP specifikaciju dodavanjem biblioteke JSP oznaka za uobičajene potrebe kao što su raščlanjivanje XML podataka, uvjetna obrada, petlja i podrška za internacionalizaciju. JSTL je krajnji rezultat JSR 52 razvijen u okviru JCP (Java Community Process).

JSTL je alternativa ovoj vrsti ugrađene JSP logike, poput skriptleta, odnosno izravnog umetanja Java koda. Korištenje standardiziranog skupa oznaka je poželjno jer je rezultirajući kod lakše održavati i lakše je odvojiti poslovnu logiku od logike prikaza.

Java Persistence API (JPA) -- Uključen u Javu 5 na platformama Java SE i Java EE od Jave 5, API pruža mogućnost prikladnog zadržavanja Java objekata u bazi podataka.

Postoji nekoliko implementacija ovog sučelja, a jedna od najpopularnijih za to koristi Hibernate.

Osigurana podrška za zadržavanje podataka JPA, pokriva područja:

- izravno API naveden u paketu javax.persistence;

– platformski neovisan objektno orijentirani jezik upita Java Persistence Query Language;

– metainformacije koje opisuju veze između objekata;

– generiranje DDL-a za entitete.

2.2 Projektiranje arhitekture sustava

sloj baze podataka modul servlet

Arhitektura sustava bit će ona prikazana u analizi (slika 1.1) i metode za rješavanje problema.

Uloga integracijskog sloja (sloja izvora podataka) je omogućiti aplikaciji interakciju s različitim komponentama infrastrukture za obavljanje potrebnih funkcija. Glavna komponenta takvog problema odnosi se na održavanje dijaloga s bazom podataka – u većini slučajeva relacijskog. Jedan od najvećih razloga za uspjeh relacijskih sustava je njihova podrška za SQL, najstandardiziraniji jezik za komunikaciju s bazom podataka.

Način na koji se implementira sloj integracije ovisi o tome kako poslovna logika stupa u interakciju s bazom podataka. Odabir donesen u ovoj fazi ima dalekosežne posljedice i može biti teško ili čak nemoguće preokrenuti.

Stoga zaslužuje najpažljivije razmatranje. Često takve odluke određuju mogućnosti izgleda poslovne logike.

Ima smisla izolirati SQL kod od poslovne logike stavljanjem u posebne klase. Dobar način organiziranja ovih klasa je "kopiranje" strukture svakog objekta baze podataka u zasebnu klasu koja tvori pristupnik koji podržava mogućnosti pristupa tablici. Sada glavni programski kod ne mora ništa "znati" o SQL-u, a sve SQL operacije su koncentrirane u kompaktnoj skupini klasa. Bolja opcija je izolirati model domene iz baze podataka, ostavljajući srednji sloj isključivo odgovoran za mapiranje objekata domene u objekte baze podataka. Takav pretvarač podataka upravlja svim operacijama učitavanja i spremanja informacija koje pokreće poslovna logika i omogućuje vam neovisno mijenjanje modela domene i sheme baze podataka. Ovo je najsloženije arhitektonsko rješenje koje osigurava korespondenciju između aplikacijskih objekata i relacijskih struktura, ali njegova neosporna prednost leži u potpunoj izolaciji dvaju slojeva.

Do danas, Java programeri mogu iskoristiti prednosti već dostupnih alata: serijalizaciju, alate za objektno-relacijsko mapiranje, objektne baze podataka i EJB-ove. Svaki od ovih alata ima svoja područja primjene i, stoga, neke nedostatke. JDO rješava ove nedostatke i pruža veću transparentnost.

Serijalizacija. Ugrađeni Java motor koji pretvara objekte u niz bajtova koji se mogu spremiti u datoteku ili prenijeti putem mreže. Serijalizacija je vrlo jednostavna za korištenje, ali i prilično ograničena. Kada se koristi serijalizacija, objekt se pohranjuje kao jedan entitet. Ne podržava transakcije, kao ni korištenje istog serijaliziranog objekta u različitim nitima ili programima bez sukoba među njima;

Objektno-relacijsko preslikavanje (JPA). JPA nije nova tehnologija, već skup ideja iz najboljih dostupnih tehnologija kao što su Hibernate, TopLink i JDO. Kao rezultat toga, JPA je standardizirana specifikacija uključena u J2EE5, koja vam omogućuje da izgradite sloj postojanosti podataka neovisno o bilo kojem specifičnom pružatelju usluga. Oni. Može postojati mnogo implementacija JPA specifikacije, jedna od njih je, na primjer, okvir OpenJPA ili isti Hibernate.

Objektne baze podataka. Objektne baze podataka su posebno dizajnirane za pohranjivanje objekata i savršeno se uklapaju u koncept objektno orijentiranog programiranja. Grupa za upravljanje bazom podataka objekata (ODMG) stvorena je za razvoj jedinstvenog API-ja za rad s takvim bazama podataka. Međutim, mnogi dobavljači baza podataka još uvijek oklijevaju prijeći s dobro uspostavljenog relacijskog sustava na objektno orijentirani sustav. Također, manje alata za analizu podataka dostupno je za objektne baze podataka, a vrlo velika količina podataka već je pohranjena u relacijskim bazama podataka. Iz ovih i mnogih drugih razloga, objektne baze podataka nisu bile tako široko korištene kao što su se njihovi tvorci nadali;

Enterprise Java Beans (EJB). EJB-ovi su bean-ovi koji pohranjuju svoje stanje u relacijsku bazu podataka i pružaju objektno orijentirani pogled na trajne podatke. Za razliku od proizvoda za objektno-relacijsko mapiranje, EJB-ovi imaju krutu specifikaciju koja omogućuje korištenje proizvoda različitih dobavljača. Nažalost, EJB standard je ograničen u objektno orijentiranim terminima. Ne podržavaju nasljeđivanje, polimorfizam itd. Također, EJB komponente su skupe za pisanje i često zahtijevaju poseban softver za njihovo pokretanje.

Do danas postoje različiti okviri koji koriste ovu tehniku ​​programiranja. Ovo su neki od njih:

Hibernate, iBATIS, Java Data Objects (JDO), JPOX, Cayenne, TopLink, JPA.

Prilikom organiziranja ORM-a korištenjem različitih tehnologija potrebno je kreirati datoteke mapiranja objekata; stvoriti konfiguracijske datoteke koje specificiraju datoteke resursa, izvore podataka, podršku za transakcije itd.

2.2.1 Dizajniranje sloja poslovne logike i poslovnih pravila

Kako ovaj sustav funkcionira:

Administrator upisuje podatke o zaposlenicima, prvenstvima, timovima;

Korisnici pregledavaju poredak i informacije o prvenstvima;

Registracija nije obvezna, potrebna je samo za promjenu podataka;

Stvorena je dodatna tablica za implementaciju odnosa mnogo-prema-više. zakaz_dop_uslugi (povezuje narudžbu s dodatnim uslugama).

Stoga se takve klase domene mogu dizajnirati (slika 2.4).

Slika 2.4 - Klase domene

Prema poslovnoj logici sustava, potrebno je automatski dodijeliti bodove za poraze, pobjede i remije.

2.2.2 Dizajniranje sloja pristupa podacima

Za pristup podacima pohranjenim u vanjskoj pohrani, najprikladnije je definirati odvojena sučelja s metodama za manipulaciju podacima. Implementacija ovih sučelja može biti bilo što, na primjer, korištenjem JDBC ili JPA, JAXB, ili čak jednostavnih Java kolekcija. Za provedbu ovog tečajnog projekta odabrana je JPA. Kako biste mogli koristiti različite implementacije sučelja za pristup podacima, prikladno je primijeniti obrazac dizajna "Apstraktna tvornica" ili "Tvornička metoda". U ovom slučaju takva je tvornica apstraktna klasa DAOFactory, koja sadrži definiciju apstraktnih metoda koje vraćaju implementacije sučelja (slika 2.4).

Među svim operacijama pristupa podacima, jasno se mogu razlikovati osnovne CRUD (kreiranje, čitanje, ažuriranje, brisanje) operacije - stvaranje objekta, brisanje objekta, ažuriranje objekta, dobivanje objekta po identifikatoru i dobivanje svih objekata. Stavljanjem takvih operacija u zasebnu super klasu izbjeći će se dupliciranje koda. Takve osnovne operacije također su premještene u zasebno osnovno sučelje IGenericDao , koji vam pomoću Java Generics omogućuje da odredite klasu objekata s kojima ćete raditi.

Slika 2.4 - Dijagram klasa DAO

2.2.3 Dizajniranje sloja prikaza

Ovaj sloj je tanak klijent.

Za rad s aplikacijom kreirane su stranice koje pružaju izlaz, dodavanje, uređivanje i brisanje podataka. Glavna stranica na koju dolazi neregistrirani korisnik, index.jsp. Izrađene su i dodatne stranice za dodavanje i uređivanje podataka, ali samo s administratorskim pravima.

3. Razvoj

3.1 Razvoj sustava baze podataka

3.1.1 Dizajniranje sheme baze podataka

Na temelju analize, projektiranja sloja poslovne logike i pravila, struktura baze podataka može se izraditi na sljedeći način (slika 3.1)

Slika 3.1 - Logički dijagram baze podataka

Fizička shema baze podataka prikazana je na slici 3.2

Slika 3.2 - Fizička shema baze podataka

Baza podataka softverskog sustava sadrži sve podatke o njegovim objektima, i to:

Tablica turnira;

Timovi;

Korisnik;

Zaposlenik;

Plaća;

Prvenstvo.

U svakoj tablici, jedinstveni primarni ključ je strani ključ. Ovo je dodatno uslužno polje dodano postojećim informacijskim poljima tablice, čija je jedina svrha da služi kao primarni ključ. Vrijednosti ovog polja nisu formirane na temelju bilo kojih drugih podataka iz baze podataka, već su generirane umjetno. Glavna prednost stranog ključa je u tome što se nikada ne mijenja, budući da nije informativno polje tablice (ne nosi nikakve informacije o objektu opisanom zapisom). Ima smisla koristiti strani ključ kada su moguće promjene u poljima koja čine (prirodni) primarni ključ. U ovom slučaju nastaje problem takozvanih "kaskadnih promjena". Ako koristite strani ključ kao primarni ključ, nećete ga morati mijenjati. Također, kada se izvršavaju upiti koji koriste strane ključeve, usporedba polja bit će brža, pogotovo ako je prirodni primarni ključ niz.

3.1.2 Osiguravanje integriteta podataka

Ograničenja integriteta prikazana su u tablici 3.1

Tablica 3.1 - Opis tablica baze podataka

Naziv tablice

Opis

Tip podataka

Ograničenje

identifikacijski kod zaposlenika

glavni ključ

Adresa zaposlenika

string, 20 znakova

potreban unos

Datum rođenja

string, 20 znakova

potreban unos

Prezime Ime. Patronim zaposlenika

string, 60 znakova

potrebno unijeti;

Broj telefona zaposlenika

Niz 20 znakova

potreban unos

Strani ključ korisnika

cijeli broj

Strani ključ prvenstva

cijeli broj

za unos; jedinstvene vrijednosti

podudaraju identifikacijski kod

glavni ključ

Datum utakmice

string, 20 znakova

potreban unos

Gostujući tim

string, 20 znakova

potreban unos

Domaćin tim

string, 20 znakova

potreban unos

Rezultat igre

string, 20 znakova

Broj obilaska

cijeli broj

potreban unos

Strani ključ naredbe

cijeli broj

za unos; jedinstvene vrijednosti

identifikacijski kod korisnika

glavni ključ

Prijavite se za prijavu

string, 20 znakova

potreban unos

Lozinka

string, 20 znakova

potreban unos

Uloga stranog ključa

cijeli broj

za unos; jedinstvene vrijednosti

identifikacijski kod tablice

glavni ključ

Broj odigranih utakmica do neriješenog rezultata

cijeli broj

potreban unos

Broj bodova po utakmici

cijeli broj

potreban unos

Broj izgubljenih utakmica

cijeli broj

potreban unos

Broj osvojenih utakmica

cijeli broj

potreban unos

identifikacijski kod plaće

glavni ključ

Broj odrađenih sati

cijeli broj

potreban unos

Iznos nagrade

stvarni tip podataka

Iznos kazne

stvarni tip podataka

Radnički strani ključ

cijeli broj

za unos; jedinstvene vrijednosti

desni identifikacijski kod

glavni ključ

Uloga stranog ključa

cijeli broj

za unos; jedinstvene vrijednosti

Radnja koju navedena uloga može izvršiti

string, 30 znakova

za unos; jedinstvene vrijednosti

identifikacijski kod uloge

glavni ključ

string, 30 znakova

potreban unos

identifikacijski kod zapovijedi

glavni ključ

Ime grada

string, 20 znakova

potreban unos

Ime tima

string, 20 znakova

potreban unos

Ime trenera

string, 60 znakova

potreban unos

Strani ključ tablice

cijeli broj

potreban unos

identifikacijski kod prvenstva

glavni ključ

Datum prvenstva

potreban unos

Ime zemlje

string, 40 znakova

potreban unos

Strani ključ tablice

cijeli broj

potreban unos

3.1.3 Razvijanje osnovnih upita

Prilikom razvoja osnovnih upita, JPQL je odabran kao razvojni jezik.

Ispod je opis glavnih upita, njihova implementacija je data u Dodatku A.

getKomandasByTablicaId - zahtjev za odabir vrijednosti iz tablice "Tim", gdje je ID tablice parametar za primanje naredbe.

findKomandaByName - upit za odabir naredbe, pri čemu je naziv tablice parametar za dobivanje naredbe.

getTablicaByChempionatId - zahtjev za dohvaćanje vrijednosti iz tablice "Tablica", gdje je id prvenstva parametar za dobivanje tablice.

getKomandasByTablicaId - zahtjev za odabir vrijednosti iz tablice "Tim", gdje je ID tablice parametar za dobivanje tablice.

findUserByNameAndPassword - zahtjev za odabir vrijednosti iz tablice "Korisnik", pri čemu je prijava korisnika prvi parametar, a lozinka je drugi.

getWorkerByChempionatId - zahtjev za dohvaćanje vrijednosti iz tablice "Employee", gdje je id prvenstva parametar za dobivanje radnika.

getZarplatasByWorkerId - zahtjev za odabir vrijednosti iz tablice "Plaća", gdje je ID zaposlenika parametar za primanje plaće.

3.1.4 Stvaranje uloga, odabir indeksa i pogleda

uloge:

Stvoreno je nekoliko uloga s različitim pravima pristupa bazi podataka:

Kreirajte ulogu "admin" PRIJAVA NEŠIPIRANA LOZINKA "qwerty"

Kreirajte ulogu "menadžer" PRIJAVA NEŠIPIRANA LOZINKA "qwerty1"

Kreirajte ulogu "direktor" PRIJAVA NEŠIPIRANA LOZINKA "qwerty2"

Prava pristupa odnosima chempionat, komanda, matchi, prava, "uloga", tablica, korisnici, radnik, zarplata mogu se opisati na sljedeći način:

odobri odabir, brisanje, umetanje, ažuriranje na chempionat, komanda, matchi, prava, "uloga", tablica, korisnici, radnik, zarplata adminu

odobri odabir, brisanje, umetanje, ažuriranje na tablici, matchi, komanda upravitelju

Indeksi:

Prilikom odabira indeksa glavni je kriterij bio čest pristup određenom polju

Kako bi se povećala učinkovitost rada s podacima, kreirani su indeksi za polja koja se često koriste u uzorkovanju podataka:

stvoriti indeks i_worker na worker(id);

kreiraj indeks i_komanda na naredbi(id);

kreiraj indeks i_matchi na matchi(id);

kreiraj indeks i_zarplata na zarplati(id)

Zastupstvo:

Za implementaciju djelomičnog pristupa tablica tablici, kreiran je sljedeći prikaz:

kreiraj prikaz w_guest (kolnichiyih,kolocheck,kolproigrashey,kolviigrashey,idchampionata) kao

odaberite kolnichiyih, kolocheck, kolproigrashey, kolviigrashey, idchampionata iz tablica ;

kreiraj ulogu gost PRIJAVA NEŠIFRIRANA LOZINKA "qwerty3"

odobri odabir na w_guest gostu

3.1.5 Razvoj pohranjenih procedura i okidača

Okidači:

1) Okidač koji dodaje vrijednost u premium polje prilikom dodavanja zapisa u tablicu Zarplata. Ako vrijednost polja kolChasov prelazi određenu vrijednost.

STVORI ILI ZAMIJENI FUNKCIJU ins()

RETURNS okidač AS

AŽURIRAJ "platu"

SET "premiya" =("kolchasov" - 176)*100

Od "zarplata", "radnik"

gdje("kolchasov">8);

JEZIK "plpgsql";

STVORI TRIGGER trig_11 NAKON UMETANJA NA "zarplatu"

ZA SVAKI RED IZVRŠITE POSTUPAK ins();

2) Okidač koji dodaje zapis u polje iznosa u tablici plaća kada se zapis doda ili ažurira u tablici. Vrijednost ovog polja određena je vrijednošću polja Stopa, Kazna i Premija.

create ili replace funkcija addSumInZarplata() vraća okidač kao

declare shtr float:=(odaberite shtraf iz zarplata gdje je id=new.id);

declare prem float:=(odaberite premium iz zarplata gdje je id=new.id);

declare s float:= (odaberite sumu iz zarplata gdje je id=new.id);

ažurirati skup plaće

zbroj = s+prem-shtr gdje je id=novi.id;

jezik plpgsql;

stvoriti okidač trigAddSumZarplat

na plaću za svaki red

izvršiti proceduru addSumInZarplata();

Pohranjenopostupci:

1) Razvijte pohranjenu proceduru koja će vratiti popis utakmica koje se trebaju održati danas. Nema ulaznih parametara. Izlazni parametar bit će tablica podudaranja.

STVORI ILI ZAMIJENI FUNKCIJU func_1()

TABLICA POVRATA(id cijeli broj, gost znak se razlikuje (30), hozain znak varira (30),

schet karakter varira (10), tur integer, idkomandy integer, data date) AS $$

SELECT * FROM "matchi" WHERE "data" = timenow()::date; $$

2) Razviti pohranjenu proceduru koja će vratiti ime momčadi koja je osvojila najmanje bodova na određenom prvenstvu. Ulazni parametri su naziv zemlje. Izlazni parametar bit će naziv naredbe.

STVORI ILI ZAMIJENI FUNKCIJU func_2(strana znak varira (40))

ODABERITE "name" IZ "komanda", "tablica", "chempionat" GDJE "komanda"."idtablici" = "tablica"."id" I "kolocheck" IN (ODABIR MIN("kolocheck") IZ "tablica") I "idchampionata" IN (ODABIR "id" IZ "championat" GDJE "strana" = $1); $$

3) Razvijte pohranjenu proceduru koja će vratiti top-10 momčadi na turnirskoj tablici. Ulazni parametri su naziv zemlje. Izlazni parametar bit će tablica koja se sastoji od imena 10 najboljih momčadi i njihovih bodova.

STVORI ILI ZAMIJENI FUNKCIJU func_3(strana znak varira (40))

TABLICA VRAĆA(_naziv znak varira(20), kolocheck cijeli broj) KAO $$

SA podupitom AS (ODABIR "name", "kolocheck" IZ "komanda", "tablica", "chempionat" GDJE "komanda"."idtablici" = "tablica"."id" I "idchampionata" IN (ODABIR "id" OD "chempionata" GDJE "strana" = $1) GRUPA PO 1, 2 REDUS PO "kolocheck" DESC)

SELECT * IZ "potupita" GRUPA ZA 1, 2 IMAJUĆI COUNT("name")<= 10; $$

4) Razviti pohranjenu proceduru koja će vratiti ime vodeće momčadi na ljestvici određenog prvenstva. Ulazni parametri su naziv zemlje. Izlazni parametar bit će ime voditelja.

STVORI ILI ZAMIJENI FUNKCIJU func_5(strana znak varira (40))

VRAĆA znakove koji variraju (20) KAO $$

ODABERITE "ime" IZ "komanda", "tablica", "chempionat"

GDJE "komanda"."idtablici" = "tablica"."id" I "kolocheck" IN (ODABIR MAX("kolocheck") IZ "tablica") I "idchampionata" IN (ODABIR "id" IZ "chempionat" GDJE " zemlja" = 1 $); $$

3.1.6 Organizacija zaštite podataka

U razvijenom sustavu postoji nekoliko uloga, a za svaku od njih u softverskom sustavu nogometnog prvenstva postoji drugačija funkcionalnost. Mogućnosti svake vrste korisnika u ovom softverskom sustavu prikazane su u tablici 3.2

Tablica 3.2 - Zaštita podataka

Korisnik/

Stranica

Administrator

Registrirani korisnik

Neregistrirani korisnik

Pregled popisa prvenstava, popisa odigranih utakmica u tekućem danu, turnirske tablice, kretanje po stranicama, promjena podataka tablice prvenstva

Pregledavanje popisa prvenstava, popisa utakmica odigranih na aktualni dan na ljestvici, kretanje po stranicama, odlazak na stranicu s osobnim podacima

Pregled popisa prvenstava, popis utakmica odigranih na aktualni dan turnirske tablice, prebacivanje između stranica, mogućnost registracije

Uređivanje podataka tablice

Pogledajte poredak, pojedinosti o timu, 10 najboljih momčadi, najbolju i najgoru momčad

Pogledajte poredak, pojedinosti o timu, 10 najboljih momčadi, najbolju i najgoru momčad

addEdtCommand.jsp

Timsko uređivanje

Pregled detaljnih informacija o timu

Pregled detaljnih informacija o timu

Pregledanje utakmica, dodavanje, brisanje, uređivanje

Pregled utakmica, promjena podataka o utakmicama

Pregled utakmica

Dodavanje, uklanjanje, promjena dopuštenja

Pogledajte plaću

Pregledajte, uredite plaću

3.1.7 Objektno-relacijsko preslikavanje

Prilikom izrade programa pristupa se podacima, dakle, kako bi se pojednostavila izrada takvog programa te povećala učinkovitost i brzina rada s primljenim podacima, korišteno je objektno-relacijsko preslikavanje.

Objektno-relacijsko mapiranje (ORM) je tehnika programiranja koja povezuje relacijsku bazu podataka s konceptima objektno orijentiranog programiranja i stvara "virtualnu bazu podataka objekata".

ORM-ovi automatski sinkroniziraju objekte učitane u memoriju s bazom podataka. Da bi to bilo moguće, nakon kreiranja SQL upita za transformaciju objekta u SQL, rezultirajući podaci se kopiraju u polja objekta, kao iu svim drugim implementacijama ORM-a.

Sustavi za upravljanje relacijskim bazama podataka pokazuju dobru izvedbu na globalnim upitima koji utječu na veliko područje baze podataka, ali objektno orijentirani pristup učinkovitiji je kada se radi s malim količinama podataka, jer smanjuje semantičku prazninu između objektnih i relacijskih oblika podaci.

Svi ORM sustavi imaju tendenciju da se izlažu na ovaj ili onaj način, smanjujući mogućnost ignoriranja baze podataka na neki način. Štoviše, sloj transakcije može biti spor i neučinkovit (osobito u smislu generiranog SQL-a). Sve to može uzrokovati sporije izvođenje programa i korištenje više memorije od ručno pisanih programa.

Ali ORM spašava programere od pisanja velike količine koda, često ponavljajućeg i sklonog pogreškama, čime se značajno povećava brzina razvoja. Osim toga, većina modernih ORM implementacija omogućuje programeru, ako je potrebno, da tvrdo kodira SQL upite koji će se koristiti za određene radnje (spremanje u bazu podataka, učitavanje, pretraživanje, itd.) s trajnim objektom.

Prilikom razvoja aplikacije koja zahtijeva pristup podacima, potrebno je pojednostaviti razvoj takve aplikacije, povećavajući učinkovitost i brzinu rada s primljenim podacima. Stoga je ovaj problem i danas aktualan.

JPA (Java Persistence API) je odabran da ga riješi.

Donji dijagram prikazuje odnos između glavnih komponenti JPA arhitekture.

Slika 3.3 - JPA arhitektura

Postojanost – Klasa sadrži pomoćne statičke metode za dobivanje EntityManagerFactory na način neovisan o dobavljaču.

EntityManagerFactory je sučelje čija implementacija je tvornica za kreiranje EntityManager objekata.

EntityManager je glavno JPA sučelje koje se koristi u aplikacijama. Svaki EntityManager upravlja skupom trajnih objekata i sadrži API za umetanje novih objekata i brisanje postojećih. Svaki EntityManager ima svoj vlastiti EntityTransaction povezan s njim, a EntityManager također djeluje kao tvornica za objekte upita.

Entitet - entitet koji je pohranjeni objekt.

EntityTransaction - objekt koji obavlja upravljanje transakcijama prilikom izvođenja operacija na pohranjenim objektima Entiteta. Operacije se grupiraju i izvode se u cijelosti ili ne, ostavljajući pohranu podataka u nepromijenjenom stanju.

Upit je sučelje za izvršavanje upita za pronalaženje pohranjenih objekata koji odgovaraju zadanim kriterijima. JPA podržava upite u jeziku Java Persistence Query Language (JPQL) i standardnom jeziku strukturiranih upita (SQL). Možete dobiti instance upita iz objekta EntityManager.

3.2 Razvoj modula sustava

3.2.1 Razvoj poslovne logike i modula sloja poslovnih pravila

Ovaj modul je opis svih entiteta naše baze podataka. Obuhvaća jedanaest klasa, i to:

Matchi.java je klasa koja opisuje podudaranja. Sadrži sljedeće informacije: datum utakmice, gost, domaćin, rezultat utakmice, broj turneje. Sadrži metode za dobivanje i pisanje polja.

Komanda.java je klasa koja opisuje naredbe. Sadrži sljedeće podatke: naziv tima, ime trenera, grad momčadi. Sadrži metode za dobivanje i pisanje polja.

Table.java - klasa koja opisuje turnirsku tablicu. Sadrži polja: broj momčadskih bodova, broj poraza, pobjeda i remija. Sadrži metode za dobivanje i pisanje polja.

Chempionat.java je klasa koja opisuje prvenstvo. Sadrži sljedeće podatke: datum početka, datum završetka mempionata, naziv zemlje u kojoj se održava. Sadrži metode za dobivanje i pisanje polja.

Worker.java je klasa koja opisuje radnika. Sadrži sljedeće podatke: puno ime i prezime zaposlenika, datum rođenja, broj telefona, adresu. Sadrži metode za dobivanje i pisanje polja.

User.java je klasa koja opisuje korisnika. Sadrži sljedeće podatke: prijavu i lozinku za ulazak u sustav. Sadrži metode za dobivanje i pisanje polja.

Role.java je klasa koja opisuje ulogu korisnika. Sadrži sljedeće podatke: korisničko ime. Sadrži metode za dobivanje i pisanje polja.

Prava.java je klasa koja opisuje prava korisnika. Sadrži sljedeće informacije: prava pod kojima se korisnik prijavljuje

3.2.2 Razvoj modula sloja pristupa podacima

Podacima se pristupa pomoću DAO-a. Ovaj modul predstavljaju dva paketa sa sučeljima i njihovim implementacijama. Sadrži sljedeća sučelja:

– ITablicaDao.java - sučelje koje sadrži opise metoda za rad s tablicom. Opisuje sljedeće metode:

javna zbirka getTablicasByChempionatId(Integer chid) baca metodu PersistenceException da dobije sve tablice za dano prvenstvo.

Implementacija metoda je u klasi TablicaDaoJpa.

– IKomandaDao.java - sučelje koje sadrži opise metoda za rad s popisom naredbi. Opisuje sljedeće metode:

a)javnost kolekcija getKomandasByTablicaId(Integer chid) baca Metoda PersistenceException za dobivanje svih timova na određenom poretku;

b)javnost Komanda findKomandaByName(String name) izbacuje metodu PersistenceException za dobivanje naredbe po imenu.

c) getTheWorstKomandaByChampId(String name) baca metodu PersistenceException za dobivanje najgore momčadi na prvenstvu;

d)javnost String getTheBestKomandaByChampId(String name) baca metodu PersistenceException za dobivanje najbolje ekipe na prvenstvu;

e)javnost kolekcija getTopTenKomandasByChampId(String name) baca metodu PersistenceException da dobije 10 najboljih timova u prvenstvu;

...

Slični dokumenti

    Struktura baze podataka. Vizualizacija troslojne arhitekture koja se sastoji od prezentacijskog sloja, poslovnog sloja i sloja baze podataka, implementirana korištenjem UML dijagrama. Osnovne strukturne značajke troslojnih aplikacija. Izvorni kod za neke module.

    seminarski rad, dodan 03.11.2012

    Dizajniranje modela hotelske baze podataka u izradi. Razvoj okidača, pohranjenih procedura, upita. Izrada korisničkog sučelja. Automatizacija rada na registraciji, računovodstvu, pretraživanju, kao i izvješćivanju o poslodavcima.

    seminarski rad, dodan 29.11.2015

    Karakteristike glavnih tokova podataka koji postoje u poduzeću. Načini i sredstva za razvoj softvera. Dizajn korisničkog sučelja. Razvoj sloja interakcije s bazom podataka. Razvoj sloja poslovnih usluga.

    rad, dodan 10.07.2017

    Definicija funkcionalnih ovisnosti. Razvoj strukture baze podataka. Organizacija upita bazi podataka. Korištenje okidača za ažuriranje podataka. Razvoj pohranjenih procedura i funkcija. Ograničenja održavanja baze podataka.

    seminarski rad, dodan 17.06.2014

    Bit baze podataka je skup, zbirka datoteka koje sadrže informacije. Sustav za upravljanje bazom podataka - softverski sustav (aplikacija) koji omogućuje rad s bazom podataka (datotekama s podacima). Svrha i prednosti korištenja okidača.

    seminarski rad, dodan 22.02.2011

    Dizajniranje relacijske baze podataka, organiziranje odabira informacija iz nje. Dizajnirajte prikaze za prikaz rezultata. Dizajniranje pohranjenih procedura. Mehanizam upravljanja podacima pomoću okidača. Zahtjevi za tehničku podršku.

    rad, dodan 03.07.2011

    Razvoj i ispravljanje pogrešaka poslužiteljske baze podataka s web sučeljem "Product Accounting" za proizvodnju namještaja. Fizički model podataka. Opis indeksa i ograničenja, upita i prikaza podataka, izvješća i grafikona. Opis okidača i pohranjenih procedura.

    seminarski rad, dodan 20.02.2015

    jezik za manipulaciju podacima. Proces odabira podataka. Korištenje agregatnih funkcija i posebnih operatora u uvjetima odabira. Kreiranje i korištenje pogleda i pohranjenih procedura. Korištenje okidača, razvoj korisničkog sučelja.

    laboratorijski rad, dodano 13.02.2013

    Logička i fizička struktura baze podataka. Hardver i softver sustava. Kreiranje pogleda, pohranjenih procedura, korisnički definiranih funkcija, okidača. Opis osnovne strukture ASP.NET dokumenata. Korisničko sučelje.

    seminarski rad, dodan 21.05.2013

    Koncept baze podataka. Razvoj tablica, obrazaca za unos i izlaz informacija, osnovnih upita, pohranjenih procedura i okidača baze podataka Bulletin Board. Priprema za tisak. Analiza potreba za administracijom, alatima za informacijsku sigurnost.

Ciljevi lekcije: stvoriti uvjete za percepciju i konsolidaciju obrazovnog materijala na temu "Modeliranje u procesoru teksta"

  1. Nastaviti upoznavati učenike s mogućnostima modeliranja u Word procesoru;
  2. Upoznati studente s pojmom i vrstama strukturnih modela;
  3. Učiti opći pristup stvaranju modela figurativnog znaka u procesoru teksta;
  4. Osigurati izvršavanje zadataka modeliranja u okruženju procesora teksta.

Razvijanje:

Razvoj tehnika mentalne aktivnosti (generalizacija, analiza, sinteza, usporedba), pamćenje (najbolje se pamti ono što je povezano s prevladavanjem prepreka), razvoj modelnog stila učenika.

Obrazovni:

Razvoj kognitivnih sposobnosti učenika razmatranjem različitih zadataka modeliranja u okruženju procesora teksta.

Vrsta lekcije: kombinirana.

Oprema za nastavu: računalo, projektor, prezentacija ( dodatak 1), kartice sa zadacima za praktični rad ( aplikacija 2).

Tijekom nastave:

I. Org. trenutak.

Postavljanje ciljeva sata, informiranje učenika o glavnim fazama lekcije.

II. Ažuriranje osnovnih znanja učenika.

  • Frontalni rad s razredom:
(Dodatak 1 slajd 2),

- Koje modele nazivam kultnim?

- Koje su vam poznate vrste kultnih modela?

– Koji se model znakova naziva verbalnim?

Koji se tekstualni dokument naziva složenim?

– Navedite primjere dizajnerskih zadataka riješenih stvaranjem složenih dokumenata u uređivaču teksta.

III. Učenje novog gradiva.

Struktura je raspored sastavnih dijelova nečega.

Struktura podataka – skup informacijskih elemenata koji se nalaze u određenom, unaprijed određenom odnosu, kao i način opisivanja takvog odnosa. ( Dodatak 1 slajd 3),

Strukturni model podataka je model podataka predstavljen kao struktura – skup tipova podataka i odnosa među njima.

U tekstualnim dokumentima najčešće su sljedeće vrste informacijskih struktura: ( Dodatak 1 slajd 4)

  • Stol
  • Shema - odražava izgled klasifikacije objekata
  • (Dodatak 1 slajd 5)

Izvana, klasifikacijska shema nalikuje obrnutom stablu i predstavlja hijerarhiju objekata. U hijerarhijskim shemama, svaki objekt ima samo jednog roditelja i može imati više djece. Najviša razina (korijen stabla) nema pretka i definira glavne značajke koje omogućuju razlikovanje objekata ove klase od drugih.

Vidite slične obrasce u biologiji, povijesti i drugim predmetima.

Vježba: Napravite blok dijagram za rodovnik prema sljedećem opisu:

Mladenci obično koriste desnu ruku. U ženinoj obitelji bile su još dvije sestre, koje inače koriste desnu ruku, i tri brata ljevoruka. Majka žene je dešnjak, otac je ljevak. Moj otac ima sestru i 2 brata dešnjaka. Moj djed po ocu je dešnjak, moja baka je ljevak. Ženina majka ima dva brata i sestru, sve dešnjake. Muževljeva majka je dešnjak, otac ljevak. ( Dodatak 1 slajd 6)

Na satovima ruskog morali ste napraviti sintaktičku analizu rečenice, a budući da je rečenica sustav koji se sastoji od riječi, možete izgraditi dijagram koji prikazuje glavne i sporedne članove rečenice. ( Dodatak 1 slajd 7)

  • blok dijagram
  • - skup geometrijskih oblika, od kojih svaki označava određenu radnju, odnos između kojih se uspostavlja pomoću strelica ili linija ( Dodatak 1 slajd 8)
  • Dokumenti sa strukturom definiranom zakonodavstvom

Vrlo često se u životu susrećemo s raznim vrstama dokumenata. To su potvrde, izjave, narudžbe i još mnogo toga. Bilo koji od navedenih dokumenata je nositelj informacija i mora biti pravno ispravan. Trenutno se za sastavljanje takvih dokumenata sve više koristi aplikacijsko okruženje uređivača teksta.

Vi ste, naravno, morali voditi zapisnik sa razrednog sastanka.

– Što je protokol? ( Zapisnik - dokument kojim se utvrđuje tijek rasprave o pitanjima i donošenja odluka na sjednicama, sastancima i sl.)

- Koje bi se obavezne informacije, po Vašem mišljenju, trebale odraziti u protokolu? (datum sastanka; broj prisutnih; dnevni red; tijek rasprave; odluke sastanka)(Dodatak 1 slajd 9)

Na slajd 10 iz dodatka 1 daje se uzorak zapisnika sa razrednog sastanka.

IV. Učvršćivanje proučenog gradiva.

Izvođenje praktičnog rada "Izrada strukturnog modela znaka" na računalu ( aplikacija 2)

V. Sažetak lekcije.

1. Analiza rezultata praktičnog rada:

- što se dogodilo?
- što nije uspjelo?
Koje ste poteškoće naišli na ispunjavanje zadataka?

2. Ocjenjivanje za praktični rad.

VI. Domaća zadaća.

Sastaviti u radnim bilježnicama (u programu za obradu teksta) klasifikacijsku shemu za školski pribor.

MOSKVSKO DRŽAVNO TEHNIČKO SVEUČILIŠTE "MAMI"

PREDMETNI RAD

po disciplini: Informacijska potpora sustavima upravljanja

na temu: "Razvoj baze podataka nogometnog kluba"

Izvršio: učenik 642 grupa

Pletnev Nikolaj Viktorovič

Provjerio: učitelj

Semenikhin Genadij Iljič

Serpukhov 2009


Potraga za sadržajem

Uvod

1. Opis aktivnosti organizacije

3. Razvoj baze podataka u okruženju Access 2003 DBMS

3.1 Izrada tablica

3.2 Izrada podatkovne sheme

3.3 Izrada obrazaca

3.4 Kreiranje upita u QBE i SQL-u

3.5 Izrada izvješća

4. Pojmovnik pojmova

Zaključak

Bibliografija


Vježbajte

1. Opisati aktivnosti nogometnog kluba Chelsea, formulirati glavne zadatke njegova sustava upravljanja informacijama i obrazložiti zahtjeve za njegovu bazu podataka.

2. Razviti model "entitet-odnos" baze podataka:

Razviti popis entiteta i njihovih atributa

Istaknite odnose između entiteta

Izgradite dijagrame tipa ER i ER-instanci, uzimajući u obzir sve entitete i odnose

Generirajte skupove preliminarnih odnosa, uzimajući u obzir stupanj povezanosti i klasu članstva instanci entiteta, i navodeći preliminarni ključ za svaki odnos i koristeći dijagrame tipa ER

Dodajte ne-ključne atribute odnosima

Po potrebi prilagodite dijagrame tipa ER

3. Implementirati razvijenu relacijsku bazu informacijskog sustava upravljanja informacijama nogometnog kluba "Chelsea" u okruženju Access 2003 DBMS.

4.Razviti najmanje 2 izvješća i najmanje 5-7 upita bazi podataka koristeći DBMS alate i jezike QBE i SQL s opravdanjem za njihovu upotrebu u Organizaciji.


Uvod

Baza podataka je zbirka informacija vezanih uz određenu temu ili zadatak, kao što je praćenje narudžbi kupaca ili održavanje glazbene zbirke. Ako baza podataka nije pohranjena na računalu, ili su samo njezini dijelovi pohranjeni na računalu, informacije se mogu pratiti iz raznih drugih izvora koje korisnik mora sam koordinirati i organizirati.

Razvoj baze podataka s Microsoft Accessom brz je i točan. Baze podataka su posvuda, što sugerira da njihova upotreba uvelike pojednostavljuje različite operacije dostupne u organizacijama.

S Microsoft Accessom možete kreirati tablice, obrasce i druge objekte koji čine bazu podataka. Značajka je stvaranje upita pomoću SQL upita.

Upiti se koriste za prikaz, modificiranje i analizu podataka na razne načine. Upiti se također mogu koristiti kao izvori zapisa za obrasce, izvješća i stranice za pristup podacima.

SQL upit je upit kreiran raznim izjavama kao što su Select, UpDate ili DELETE. Primjeri SQL upita su spojni upiti, upiti poslužitelja, kontrolni upiti i potupiti.

U ovom kolegiju bit će predstavljena baza podataka koja se sastoji od tablica, upita predstavljenih u SQL-u i QBE-u.


1. Opis aktivnosti Nogometnog kluba Chelsea

pristup bazi podataka upravitelja informacija

Nogometni klub Chelsea osnovan je 1905. godine u Londonu. Ovaj klub igra u engleskoj Premier ligi (English Championship). Chelsea FC među navijačima ima nadimak - Aristokrati. Ovaj nadimak dolazi iz bogatog područja Londona. Upravo područje u kojem žive najbogatiji građani maglovitog Albiona. Učinak Chelsea FC-a u 20. stoljeću smatrao se ne baš sjajnim, pa su se stoga smatrali prosječnim u Engleskoj. 1955. prvi put su postali prvaci Engleske. Chelsea FC je rijetko igrao u europskim kupovima i uspjeh nije bio impresivan. Međutim, 1971. uspjeli su osvojiti Europski kup pobjednika kupova nakon što su godinu prije osvojili FA kup. Krajem 20. stoljeća aristokrati su osvojili još jedan Kup kupova, a potom i europski Superkup. Bio je to najveći naslov u povijesti kluba. Kada je Chelsea FC kupio ruski milijarder, guverner Čukotke Roman Abramovič, klub je stekao mnoge zvijezde kao što su Petr Cech, Ricardo Carvalho, Claude Makelele, Jeremy, itd. S takvim igračima klub je postao jedan od najjačih u Europi. A 2005. godine osvojio je svoju drugu ligašku titulu u Engleskoj. Nedavno su u klub došli ništa manje poznati igrači poput Arjena Robbena, Michaela Ballacka, Andrija Ševčenka, Didiera Drogbe. Ovi igrači pomogli su osvojiti treći naslov engleskog prvaka. Chelsea FC je u posljednje dvije godine izborio polufinale Lige prvaka.

Chelseajev stadion je Stamford Bridge s kapacitetom od 42.142, uključujući VIP sjedala. Predsjednik kluba je Bruce Buck. Aristokrati imaju svoju stranicu za obožavatelje www.chelseafc.com.

Sustav upravljanja nogometnim klubom Chelsea može se podijeliti u nekoliko podsustava:

Radite s ekipom, kako s glavnim tako i s rezervom. U ovom odlomku razmatra se i rad s timom mladih. Ovaj podsustav je najvažniji za pobjedu u bilo kojoj utakmici.

Rad s osobljem, odnosno s trenerom momčadi, trenerom vratara, trenerom mladih, liječnicima, marketinškim stručnjacima, stadionskim stručnjacima, predstavnikom navijača itd.

Rad s navijačima kao glavni dio moralne podrške. Upravo broj navijača određuje popularnost kluba u svijetu.

Rad s financijama kluba određuje financijsku situaciju. Ovdje se obračunava plaća igrača, trenera, liječnika, menadžera itd. Financijski položaj pokazuje sposobnost kluba za razne transakcije, kao što su kupnja igrača za jačanje, modernizacija stadiona i ostalih zgrada uz klub.

Plaća svakog člana kluba ovisi o njegovoj poziciji u njemu. Dakle, svaka osoba ima svoj status, koji određuje njegovu plaću i ulogu.

Kvaliteta igre utječe i na plaću. Da bi to učinili, uzimaju njegove podatke o postignuću, koji označavaju broj utakmica, golova, kupova. Parametri igrača kao što su visina, težina određuju njegovo stanje u borbi. Prema tim podacima, igrač se plasira za utakmicu, uzimajući u obzir podatke protivnika. Dob igrača određuje njegovo iskustvo i vještinu u igri.

Mjesto na nogometnom igralištu zove se uloga. Odabir igrača po ulozi vrlo je važan za kvalitetu igre momčadi. Ako je igrač ozlijeđen, potrebna je zamjena. Ali koga zamijeniti? Da bi to učinio, glavni trener bira između dostupnih igrača prema ulozi. Ako nema dovoljno igrača, onda se trener obraća upravi o potrebi kupnje nogometaša iz drugog kluba.


2. Razvoj modela baze podataka "entitet-odnos".

Za razvoj modela entitet-odnos potrebni su sljedeći koraci dizajna:

1. Odaberite entitete i odnose između njih.

2. Izgradite dijagrame tipa ER.

3. Formiranje skupa preliminarnih odnosa s naznakom njihovih primarnih ključeva.

4. Dodavanje ne-ključnih atributa odnosima.

5. Svođenje preliminarnih odnosa na 3 ojačana normalna forma.

Razvoj modela "entitet-odnos" nogometnog kluba Chelsea:

1. faza: status (šifra, vrsta statusa)

Igrač (šifra, prezime, ime, pozicija, dob,…)

Postignuće (Prezime, Ime, Broj utakmica...)

Ugovor (broj ugovora, prezime...)

Osoblje (šifra, prezime, ime)

2. faza: Odaberite veze i definirajte klasu članstva:

Igrač ima status

Igrač ima postignuća

Osoblje ima status

Igrač odgovara Ugovoru

Osoblje poštuje Ugovor

Na temelju primljenih podataka gradimo dijagram tipa ER:


Igrač
Status
1 1
Ugovor
Igrač
1 1 1 1
Igrač
Dostignuća
M 1 1 1

Faza 3: Formiranje skupa preliminarnih odnosa provodi se prema pravilima:

Pravilo 1: Ako je stupanj binarnog odnosa 1:1 i CP je obavezan, tada se formira jedan odnos. Primarni ključ može biti bilo koji ključ entiteta.

Pravilo 2: Ako je stupanj odnosa 1:1 i CP je O-N, tada se za svaki od entiteta formira u odnosu na primarne ključeve koji su ključevi odgovarajućih entiteta, zatim na odnos, entitet od koji ima obvezni CP, ključ entiteta s izbornim CP-om se dodaje kao atribut.

Pravilo 3: Ako je stupanj odnosa 1:1 i klasa članstva oba entiteta nije obavezna, tada morate koristiti tri odnosa s primarnim ključevima, dva odnosa povezana relacijama.

Pravilo 4: Ako je stupanj odnosa 1:M i klasa članstva CP-a obavezna, tada je dovoljno formirati dva odnosa, po jedan za svaki entitet.

Pravilo 5: Ako je stupanj odnosa 1:M i klasa članstva M-povezanog entiteta nije obavezna, tada je potrebno formirati 3 relacije, 2 relacije koje odgovaraju povezanim entitetima, čiji su ključevi primarni u ovoj relaciji .

Pravilo 6: Ako je stupanj odnosa M:M i zahtijeva se klasa članstva entiteta, tada je neovisna o klasi članstva entiteta.

Prema pravilu 1: 1.Status (Šifra, Vrsta statusa…..)

Prema pravilu 5: 1.Status (Šifra, Vrsta statusa……)

2. Igrač (šifra, prezime……)

3. Ugovor (broj ugovora, prezime…..)

Prema pravilu 1: 1. Postignuća (Prezime, ...)

Prema pravilu 2: 1. Osoblje (Šifra, Prezime ....)

2. Ugovor (broj ugovora, prezime ....)


3. Razvoj baze podataka u okruženju Access 2003 DBMS

3.1 Izrada tablica

Pomoću programa Microsoft Access možete kreirati tablice u načinu dizajna, kreirati tablice pomoću čarobnjaka i kreirati tablice unosom podataka.

Baza podataka nogometnog kluba Chelsea sadrži 5 tablica kreiranih pomoću Čarobnjaka za tablice.

Čarobnjak za tablice omogućuje vam brzo stvaranje tablica iz postojećih podataka, što uvelike pojednostavljuje vaš rad.




Ima događaj klika. Obrađivači događaja klika za gumbe prikazani su u Dodatku A. Zaključak Tijekom rada na tečaju postignut je cilj rada - izrada poslovne računovodstvene baze podataka nogometnog kluba. Za postizanje cilja riješen je niz zadataka: sastavljanje opisa predmetnog područja; sastavljanje rječnika pojmova i pojmova; izgradnja početnog modela (ER-...

Agregati se ne prikazuju geometrijskim likovima, već simbolima ili znakovima koji u određenoj mjeri reproduciraju vanjsku sliku statističkih podataka. Prednost ove metode grafičkog prikaza leži u visokom stupnju jasnoće, u dobivanju sličnog prikaza koji odražava sadržaj uspoređenih populacija. Najvažnija značajka svakog dijagrama je mjerilo. Stoga, za...

... "Traktor", "Dinamo", "Torpedo", "Worsted", "Lokomotiv", izgradnja nogometnog kompleksa "Skvich", uključujući arenu, stadion sa standardnim nogometnim igralištem. 2. Minsk je resurs za društveno-ekonomski razvoj Bjelorusije Minsk, koji je nedavno napunio 940 godina, oduvijek je bio velika upravna jedinica - glavni grad određene kneževine, vojvodsko središte u Velikoj...

Nogomet je timski sport u kojem je cilj udariti loptu u protivnička vrata nogama ili drugim dijelovima tijela (osim ruku) više puta od protivničke momčadi. To je najpopularniji sport na svijetu. Nogometni klub Spartak izabran je kao temelj baze podataka Access Football Team. Predmetno područje - nogometna reprezentacija. Cilj je stvoriti bazu podataka za pohranjivanje, pretraživanje i pristup informacijama o igračima, igrama, rezultatima utakmica, nogometnim momčadima itd. Ova baza podataka ima mogućnost pregleda strijelaca kluba, prikaza popisa legionara FC Spartaka, istovarivanja kalendara utakmica, pregleda statistike svakog igrača FC Spartaka, statistike utakmica. Također možete kreirati poredak nakon svakog kola, vidjeti kretanje svake momčadi u RFPL prvenstvu u obliku grafikona. Po želji se baza podataka može pretvoriti u bilo koji drugi nogometni klub.

Baza podataka Football Team Access sadrži 7 tablice, 12 upita, 8 obrazaca + obrazac za glavni gumb, 7 izvješća. Ova Access baza podataka je obrazovna, prikladna za daljnju optimizaciju i usavršavanje za vaše vlastite potrebe.

Obrazloženje br!

Svrha praktičnih zadataka je stjecanje vještina analize predmetnog područja, projektiranja baze podataka i njezine fizičke implementacije u Access DBMS.
Rezultat rada predstavljen je u obliku Access baze podataka koja bi trebala sadržavati:
struktura dizajniranih stolova,
shema podataka s odnosima između tablica,
obrasci koji pružaju korisničko sučelje,
zahtjevi ,
izvještaji,
glavni oblik gumba.

Kalendarska tablica 2016.-2017. - Nogometna momčad Pristupne baze podataka

Obrazac "Raspored utakmica" - DB Access Football Team

Igračka uniforma - Pristup bazi podataka Nogometna momčad

Obrazac za sažetak obilaska - pristup bazi podataka nogometnog tima

Izvješće o statistici momčadskih utakmica - Pristup bazi podataka Nogometna momčad

Izvješće "Statistika igrača 2016-2017" - DB Access Football Team

Izvješće o popisu stranih igrača - Nogometna momčad pristupa bazi podataka

Scoreboard After Round N Report - Access Database Football Team

Kalendarsko izvješće 2016.-2017. - Nogometna momčad Pristupne baze podataka

Izvještaj "Kretanje na turnejama momčadi Spartak" — DB Access Football Team

Preuzmite bazu podataka (DB) MS Access; Nogometna momčad DB Access; Spartak; nogometni klub; pristup bazi podataka; db pristup; subd pristup; pristup bazama podataka; primjer pristupa; programiranje pristupa; gotova baza podataka; stvaranje baze podataka; DBMS baza podataka; pristupiti nastavnim radovima; primjer baze podataka; pristupni program; opis pristupa; pristup sažetku; zahtjevi za pristup; primjeri pristupa; preuzimanje pristupa bazi podataka; pristupni objekti; db u pristupu; preuzimanje subd pristup; ms pristup bazi podataka; subd pristup sažetak; subd ms pristup; pogodnosti pristupa; baza podataka; preuzimanje baze podataka o pristupu; Baza podataka; relacijske baze podataka; Sustavi upravljanja bazama podataka; baza podataka tečajeva; preuzimanje baze podataka; pristup preuzimanju baze podataka; pristup preuzimanju baze podataka;