Duomenų bazės „Futbolo klubai. Domeno struktūros modelio pavyzdys II

MASKAVOS VALSTYBINIS TECHNIKOS UNIVERSITETAS "MAMI"

KURSINIS DARBAS

disciplina: Valdymo sistemų informacinis palaikymas

tema: „Futbolo klubų duomenų bazės kūrimas“

Baigė: 642 grupės mokinys

Pletnevas Nikolajus Viktorovičius

Tikrino: mokytojas

Semenikhinas Genadijus Iljičius

Serpuhovas 2009 m


Turinys Užduotis

Įvadas

1.Organizacijos veiklos aprašymas

3.Duomenų bazės kūrimas Access 2003 DBVS aplinkoje

3.1 Lentelių kūrimas

3.2 Duomenų schemos kūrimas

3.3 Formų kūrimas

3.4 Užklausų kūrimas QBE ir SQL

3.5 Ataskaitų generavimas

4. Terminų žodynas

Išvada

Bibliografija


Pratimas

1.Parengti Chelsea futbolo klubo veiklos aprašymą, suformuluoti pagrindinius informacijos valdymo sistemos uždavinius ir pagrįsti jo duomenų bazei keliamus reikalavimus.

2. Sukurkite duomenų bazės „esybės ir santykių“ modelį:

Sukurkite objektų ir jų atributų sąrašą

Pabrėžkite ryšius tarp subjektų

Sukurkite ER tipo ir ER egzempliorių diagramas, atsižvelgdami į visas esybes ir ryšius

Generuokite išankstinių ryšių rinkinius, atsižvelgdami į ryšio laipsnį ir objektų egzempliorių narystės klasę, nurodydami preliminarų kiekvieno ryšio raktą ir naudodami ER tipo diagramas.

Pridėkite ne pagrindinius atributus į ryšius

Jei reikia, pakoreguokite ER tipo diagramas

3. Įdiegti sukurtą reliacinę duomenų bazę Chelsea futbolo klubo informacijos valdymo sistemai Access 2003 DBMS aplinkoje.

4. Sukurti bent 2 ataskaitas ir bent 5-7 užklausas į duomenų bazę, naudojant DBVS įrankius ir QBE bei SQL kalbas su pagrindimu jų naudojimui Organizacijoje.


Įvadas

Duomenų bazė yra informacijos, susijusios su konkrečia tema ar užduotimi, pvz., klientų užsakymų stebėjimas arba muzikos kolekcijos tvarkymas, rinkinys. Jei duomenų bazė nėra saugoma kompiuteryje arba kompiuteryje saugomos tik jos dalys, informaciją galima sekti iš įvairių kitų šaltinių, kuriuos vartotojas turi derinti ir organizuoti pats.

Duomenų bazių kūrimas naudojant „Microsoft Access“ yra greitas ir tikslus būdas. Duomenų bazės yra prieinamos visur, o tai rodo, kad jų naudojimas labai supaprastina įvairias operacijas organizacijose.

Naudodami Microsoft Access galite kurti lenteles, formas ir kitus objektus, kurie sudaro duomenų bazę. Ypatinga funkcija yra užklausų kūrimas naudojant SQL užklausą.

Užklausos naudojamos duomenims peržiūrėti, keisti ir analizuoti įvairiais būdais. Užklausos taip pat gali būti naudojamos kaip formų, ataskaitų ir duomenų prieigos puslapių įrašų šaltiniai.

SQL užklausa yra užklausa, sukurta naudojant įvairius teiginius, tokius kaip: Select, UpDate arba DELETE. SQL užklausų pavyzdžiai yra prisijungimo užklausos, serverio užklausos, valdymo užklausos ir pavaldžios užklausos.

Šiame kursiniame darbe bus pateikta duomenų bazė, susidedanti iš lentelių ir užklausų, pateiktų SQL ir QBE.


1. „Chelsea“ futbolo klubo veiklos aprašymas

informacijos valdytojo prieigos duomenų bazė

„Chelsea“ futbolo klubas buvo įkurtas 1905 m. Londone. Šis klubas žaidžia Anglijos „Premier“ lygoje (Anglijos čempionate). „Chelsea FC“ turi slapyvardį tarp gerbėjų – aristokratai. Ši pravardė kilusi iš turtingos Londono srities. Pati vietovė, kurioje gyvena turtingiausi Foggy Albion piliečiai. „Chelsea FC“ pasirodymas XX amžiuje buvo laikomas prastu, todėl Anglijoje buvo laikomas vidutiniu. 1955 metais jie pirmą kartą tapo Anglijos čempionais. „Chelsea FC“ retai žaisdavo Europos taurėse ir sėkmė nebuvo įspūdinga. Tačiau 1971 m. jiems pavyko laimėti Europos taurių laimėtojų taurę, praėjusiais metais laimėjus FA taurę. XX amžiaus pabaigoje aristokratai iškovojo dar vieną Taurės laimėtojų taurę, o vėliau ir Europos supertaurę. Tai buvo didžiausias titulas klubo istorijoje. Kai „Chelsea FC“ nupirko Rusijos milijardierius, Čiukotkos gubernatorius Romanas Abramovičius, klubas įsigijo daugybę žvaigždžių, tokių kaip Petras Čechas, Ricardo Carvalho, Claude'as Makelele, Jeremy ir kt. Su tokiais žaidėjais klubas tapo vienu stipriausių Europoje. O 2005 metais Anglijoje iškovojo antrąjį čempiono titulą. Pastaruoju metu prie klubo prisijungė ne mažiau žinomi žaidėjai kaip Arjenas Robbenas, Michaelas Ballackas, Andrejus Ševčenka, Didier Drogba. Šie žaidėjai padėjo iškovoti trečiąjį Anglijos titulą. „Chelsea FC“ per pastaruosius dvejus metus pateko į Čempionų lygos pusfinalį.

Stadionas, kuriame žaidžia Chelsea, yra Stamford Bridge, kuriame telpa 42 142 žmonės, įskaitant VIP vietas. Klubo prezidentas yra Bruce'as Buckas. Aristokratai turi savo svetainę gerbėjams www.chelseafc.com.

„Chelsea“ futbolo klubo valdymo sistemą galima suskirstyti į keletą posistemių:

Darbas su komandos nariais, tiek pagrindiniais, tiek rezerviniais. Šioje pastraipoje taip pat aptariamas darbas su jaunimo komanda. Šis posistemis yra pats svarbiausias norint laimėti bet kurias rungtynes.

Darbas su personalu, būtent komandos treneriu, vartininkų treneriu, jaunimo komandos treneriu, gydytojais, rinkodaros specialistais, stadiono personalu, sirgalių atstovu ir kt.

Darbas su gerbėjais yra pagrindinė moralinės paramos dalis. Būtent sirgalių skaičius lemia klubo populiarumą pasaulyje.

Darbas su klubo finansais nulemia finansinę situaciją. Čia skaičiuojami atlyginimai žaidėjams, treneriams, gydytojams, vadovams ir kt. Finansinė padėtis rodo klubo galimybes atlikti įvairius sandorius, pavyzdžiui, įsigyti žaidėjų stiprinimui, modernizuoti stadioną ir kitus greta klubo esančius pastatus.

Bet kurio klubo nario atlyginimas priklauso nuo jo užimamų pareigų jame. Todėl kiekvienas žmogus turi savo statusą, kuris lemia jo atlyginimą ir vaidmenį.

Žaidimo kokybė taip pat turi įtakos atlyginimui. Tam jie ima jo pasiekimų duomenis, kuriuose nurodomas rungtynių skaičius, įvarčiai, taurės. Žaidėjo parametrai, tokie kaip ūgis ir svoris, lemia jo būklę kovoje. Remiantis šiais duomenimis, žaidėjas patenka į rungtynes, atsižvelgiant į priešininko duomenis. Žaidėjo amžius lemia jo patirtį ir įgūdžius žaidime.

Vieta futbolo aikštėje vadinama vaidmeniu. Žaidėjo pasirinkimas pagal vaidmenį yra labai svarbus komandos žaidimo kokybei. Jei žaidėjas yra sužeistas, jį reikia pakeisti. Bet kuo jį pakeisti? Norėdami tai padaryti, vyriausiasis treneris pasirenka iš galimų žaidėjų pagal vaidmenį. Jeigu žaidėjų neužtenka, tuomet treneris kreipiasi į vadovybę dėl būtinybės pirkti futbolininką iš kito klubo.


2.Duomenų bazės „esybės ir santykių“ modelio sukūrimas

Norint sukurti subjekto ir santykių modelį, reikalingi šie projektavimo etapai:

1. Identifikuokite esybes ir ryšius tarp jų.

2. Sukonstruoti ER tipo diagramas.

3. Preliminariųjų ryšių aibės formavimas, nurodant jų pirminius raktus.

4. Nepagrindinių atributų įtraukimas į ryšį.

5. Preliminarių santykių sumažinimas iki 3 sustiprintos normalios formos.

„Chelsea“ futbolo klubo „Entity-connection“ modelio kūrimas:

1 etapas: būsena (kodas, būsenos tipas)

Žaidėjas (kodas, pavardė, vardas, vaidmuo, amžius, ...)

Pasiekimas (pavardė, vardas, rungtynių skaičius...)

Sutartis (sutarties numeris, pavardė...)

Personalas (kodas, pavardė, vardas)

2 etapas: pasirinkite ryšius ir nustatykite narystės klasę:

Žaidėjas turi statusą

Žaidėjas turi pasiekimų

Darbuotojai turi statusą

Žaidėjas atitinka Sutartį

Darbuotojai laikosi Sutarties

Remdamiesi gautais duomenimis sudarome ER tipo diagramą:


Žaidėjas
Būsena
1 1
Sutartis
Į žaidėją
1 1 1 1
Žaidėjas
Pasiekimai
M 1 1 1

3 etapas: išankstinių santykių rinkinio formavimas atliekamas pagal taisykles:

1 taisyklė: Jei dvejetainio ryšio laipsnis yra 1:1 ir CP yra privalomas, tada susidaro vienas ryšys. Pirminis raktas gali būti bet kurio objekto raktas.

2 taisyklė: Jei ryšio laipsnis yra 1:1, o CP yra O-N, tada kiekvienam iš objektų jis sudaromas atsižvelgiant į pirminius raktus, kurie yra atitinkamų objektų raktai, tada su ryšiu, esybe iš kurių turi privalomą CP, objekto su pasirenkamu CP raktas pridedamas kaip atributas .

3 taisyklė: Jei ryšio laipsnis yra 1:1, o abiejų objektų narystės klasė yra neprivaloma, tuomet būtina naudoti tris ryšius su pirminiais raktais, du santykius, sujungtus santykiais.

4 taisyklė: Jei ryšio laipsnis yra 1:M ir CP narystės klasė yra privaloma, tada pakanka suformuoti du ryšius, po vieną kiekvienam subjektui.

5 taisyklė: Jei ryšio laipsnis yra 1:M, o su M prijungto subjekto narystės klasė yra neprivaloma, tuomet reikia sudaryti 3 ryšius, 2 ryšius, atitinkančius susijusius objektus, kurių raktai yra pirminiai šiame ryšyje. .

6 taisyklė: Jei M:M ryšio laipsnis ir subjekto narystės klasė yra privalomi, tai nepriklauso nuo subjekto narystės klasės.

Pagal 1 taisyklę: 1. Būsena (kodas, būsenos tipas...)

Pagal 5 taisyklę: 1. Statusas (kodas, būsenos tipas……)

2. Žaidėjas (kodas, pavardė...)

3. Sutartis (sutarties numeris, pavardė…)

Pagal 1 taisyklę: 1. Pasiekimai (pavardė,...)

Pagal 2 taisyklę: 1. Personalas (kodas, pavardė...)

2. Sutartis (Sutarties numeris, Pavardė....)


3. Duomenų bazės kūrimas Access 2003 DBVS aplinkoje

3.1 Lentelių kūrimas

Naudodami Microsoft Access galite kurti lenteles projektavimo režimu, kurti lenteles naudodami vedlį ir kurti lenteles įvesdami duomenis.

„Chelsea Football Club“ duomenų bazėje yra 5 lentelės, sukurtos naudojant „Table Wizard“.

Lentelių vedlys leidžia greitai sukurti lenteles iš esamų duomenų, o tai labai supaprastina jūsų darbą.




Yra paspaudimo įvykis. Mygtukų paspaudimų įvykių tvarkyklės pateiktos A priede. Išvada Kursinio darbo metu buvo pasiektas darbo tikslas – suprojektuota futbolo klubo ekonominės apskaitos duomenų bazė. Tikslui pasiekti buvo išspręsta nemažai užduočių: dalykinės srities aprašo sudarymas; sąvokų ir terminų žodyno sudarymas; pradinio modelio kūrimas (ER-...

Agregatai vaizduojami ne geometrinėmis figūromis, o simboliais ar ženklais, kurie tam tikru mastu atkartoja išorinį statistinių duomenų vaizdą. Šio grafinio vaizdavimo metodo pranašumas yra didelis aiškumas, kai gaunamas panašus ekranas, atspindintis lyginamų populiacijų turinį. Svarbiausia bet kokios diagramos savybė yra mastelis. Todėl norint...

... „Traktor“, „Dinamo“, „Torpedo“, „Kamvolščikas“, „Lokomotiv“, „Skvich“ futbolo komplekso statyba, įskaitant areną, stadioną su standartine futbolo aikšte. 2. Minskas – Baltarusijos socialinio ir ekonominio vystymosi šaltinis Minskas, kuriam neseniai sukako 940 metų, visais laikais buvo didelis administracinis vienetas – apanažinės kunigaikštystės sostinė, vaivadijos centras Didžiojoje...

| Sistemos analizė (§§ 1 - 4). Praktinis darbas Nr. 1.1 "Sistemos modeliai"

2–5 pamokos
Sistemos analizė (1–4 paragrafai)
Praktinis darbas Nr. 1.1 "Sistemos modeliai"

§ 1. Kas yra sistema





Sistemos koncepcija, taip pat informacijos samprata, yra viena iš pagrindinių mokslo sąvokų. Kaip ir informacijai, nėra vieno visuotinai priimto sistemos apibrėžimo. Tuo pačiu metu šią sąvoką mes dažnai vartojame kasdienėje kalboje ir vartojame mokslinėje terminijoje. Pateikiame nemažai sistemos sąvokos vartojimo pavyzdžių: švietimo sistema, transporto sistema, ryšių sistema, saulės sistema, nervų sistema, periodinė cheminių elementų lentelė, skaičių sistema, operacinė sistema, informacinė sistema.

Apibendrindami visus aukščiau pateiktus pavyzdžius, pateikiame tokį apibrėžimą.

Sistema yra tam tikrą vientisumą turinčių medžiagų ar informacijos objektų rinkinys.

Sistemos sudėtis yra jos dalių (elementų) visuma. Vertinant kompiuterį kaip sistemą, galime išskirti šiuos komponentus: procesorius, atmintis, įvesties įrenginiai, išvesties įrenginiai. Bet, savo ruožtu, procesorius taip pat yra sistema, kurią sudaro: aritmetinis-loginis vienetas (ALU), valdymo įrenginys, registrai ir talpyklos atmintis. Kadangi procesorius yra kompiuterio dalis, pabrėžianti jo paties sistemiškumą, procesorių reikėtų vadinti kompiuterio posisteme.

Taigi, posistemis yra sistema, kuri yra kitos, didesnės sistemos dalis.

Savo ruožtu procesorius ALU taip pat yra sistema. Jį sudaro sumatoriai, pusiau priedai ir kiti elementai. Todėl ALU yra procesoriaus posistemė. Tokiu būdu galite toliau eiti gilyn. Iš to išplaukia išvada: kiekviena sistema yra ją sudarančių posistemių hierarchija (1.1 pav.).

Klausimas, kas laikoma sistema (posisteme), o kas – paprastu (nedalomu) elementu, yra subjektyvus ir priklauso nuo sprendžiamos problemos. Pavyzdžiui, apibūdindami mokyklą kaip sistemą, įgyvendinančią mokinių mokymo ir auklėjimo funkciją, paprastais elementais laikysime žmones (mokinius, mokytojus). Tuo pačiu metu medicina į žmogų žiūri kaip į sudėtingą anatominę sistemą.

Išorinė sistema duotosios atžvilgiu yra jos egzistavimo aplinka. Žemės aplinka yra saulės sistema; Saulės sistemos egzistavimo aplinka yra Galaktika ir tt Kiekviena sistema yra santykinai izoliuota nuo savo egzistavimo aplinkos. Tai reiškia, kad, viena vertus, ji gali būti izoliuota nuo aplinkos (nagrinėjama atskirai), bet, kita vertus, ji yra nuolat susijusi su savo aplinka.

Sistemos gali būti natūralios arba dirbtinės. Natūralios sistemos– tai natūralios sistemos. Pavyzdžiai: žvaigždžių ir planetų sistemos, Žemės flora ir fauna, molekulės ir atomai. Dirbtinės sistemos kurias kuria žmonės – tai gamyklos, keliai, švietimas, kultūra, sveikatos apsauga, kompiuteriai, lėktuvai ir kt. Kai kurios sistemos sujungia natūralios ir dirbtinės kilmės dalis. Pavyzdžiui: hidroelektrinė, miesto parkas.

Bet kuri sistema turi vientisumo savybę, nes ji egzistuoja savo dalių visuma ir atlieka savo individualią funkciją savo egzistavimo aplinkoje.

Sisteminis poveikis. Sistema nėra atsitiktinis dalių rinkinys. Jos sudėtis priklauso nuo sistemos paskirties gamtoje ar visuomenėje. Žmogus kuria dirbtines sistemas tam tikram tikslui. Šiuo atžvilgiu yra toks sistemos apibrėžimas: sistema yra priemonė tikslui pasiekti. Štai pavyzdžiai: transporto sistema skirta žmonėms ir prekėms vežti, sveikatos apsaugos sistema skirta žmonių sveikatai gydyti ir gerinti, kompiuteris dirbti su informacija.

Sistemų moksle – sistemologijoje formuluojamas dėsnis, kuris vadinamas atsiradimo principu, arba sistemos poveikio dėsniu. Tai skamba taip: visuma yra didesnė už jos dalių sumą. Kitaip tariant, sistemos savybės nėra redukuojamos iki jos dalių savybių visumos ir nėra iš jų išvestos. Žodis „atsiradimas“ kilęs iš anglų kalbos atsiradimas – staigus pasirodymas. Pavyzdžiui, sudėtinga gyvūno ar žmogaus kūno sistema sukuria sisteminį poveikį, vadinamą gyvybe. Bet kurio organizmo posistemio (kraujotakos, virškinimo ir kt.) gedimas lemia gyvybės praradimą.

Ryšiai (santykiai) sistemoje. Sistemos dalys visada yra tarpusavyje susijusios ir tam tikruose santykiuose. Šių jungčių tipai gali būti labai skirtingi. Gamtinėse ir techninėse sistemose jie yra materialaus pobūdžio. Pavyzdžiui, Saulės sistemos planetas jungia gravitacinės jėgos; automobilių dalys tarpusavyje sujungiamos varžtais, suvirinimu, krumpliaračiais; energetikos sistemos dalys sujungtos elektros linijomis.

Socialinių sistemų dalių santykiai yra skirtingi. Tai gali būti pavaldumo santykiai (viršininkas – pavaldinys, ministerija – įmonė), stojimo santykiai (universitetas – fakultetas – katedra – mokytojas), šeimos narių santykiai. Informaciniai ryšiai sistemoje, taip pat su išorine aplinka, vaidina lemiamą vaidmenį tokių sistemų funkcionavimui. Tokie ryšiai realizuojami per tiesioginį bendravimą, susirašinėjimą, technines komunikacijos priemones, žiniasklaidą. Žmogus yra daugelio sistemų dalis: šeima, klasė, gamybos komanda, komanda, valstybė ir tt Visose šiose sistemose jis yra informacijos sąveikos su kitais žmonėmis būsenoje.

Informacinė komunikacija turi didelę reikšmę gamybinių komandų veiklai. Jei vadovo įsakymas nepasiekia jo pavaldinių arba yra iškraipomas perdavimo procese, tada gamybos procesas gali būti sutrikdytas su rimčiausiomis pasekmėmis, net ir nelaimėmis. Karinių operacijų armijoje metu žmonių gyvybė priklauso nuo informacinių ryšių darbo. Ryšių netekusi kariuomenė negali įvykdyti savo tikslo – efektyviai vykdyti karines operacijas.

Iš aukščiau pateiktų pavyzdžių matyti, kad sisteminį poveikį užtikrina ne tik reikiamos sistemos dalių sudėties buvimas, bet ir būtinų ryšių tarp jų buvimas..

Sistemos struktūra yra jungčių, egzistuojančių tarp sistemos dalių, visuma. Aiškus sistemos struktūros atvaizdavimo pavyzdys yra elektros grandinių schemos. Elektros prietaiso elementai tarpusavyje jungiami dviem būdais: nuosekliuoju ir lygiagrečiu. Visos grandinės savybės priklauso nuo sujungimo būdo. Pavyzdžiui, jei trys laidininkai, turintys varžą R1, R2, R3, yra sujungti nuosekliai, tada bendra grandinės varža bus lygi R1 + R2 + R3. O jei jie sujungti lygiagrečiai, tai grandinės varža bus lygi: (R1*R2*R3)/(R1*R2 + R1*RЗ + R2*R3). Pirmasis pasipriešinimas yra didesnis nei antrasis. Todėl, pavyzdžiui, per pirmąją grandinę praleidžiant elektros srovę, bus sukurta daugiau šilumos nei antrojoje.

Moksle yra daug pavyzdžių, kai, norint suprasti kai kurių sistemų savybes, reikėjo suprasti jų struktūrą. Pavyzdžiui, vokiečių chemiko F. Kekulės benzeno molekulės (benzeno žiedo) struktūros atradimas padėjo suprasti šios organinės medžiagos chemines savybes. Atomo savybes fizikai geriau suprato po to, kai Ernestas Rutherfordas atrado „planetinę“ atomo struktūrą ir Nielsas Bohras suformulavo savo garsiuosius postulatus.

Bet kuri socialinė sistema, kurią vienija informaciniai ryšiai, taip pat pasižymi tam tikra struktūra. Sistemos efektyvumas labai priklauso nuo jos struktūros. Bet kurios socialinės sistemos struktūrinę organizaciją lemia įstatymai, chartijos, taisyklės ir instrukcijos. Valstybės struktūra aprašyta konstitucijoje, kariuomenės struktūra – chartijoje.

Apibendrindami viską, kas buvo pasakyta apie sistemas, suformuluojame tokį apibrėžimą.

Sistema - holistinis, tarpusavyje susijęs dalių rinkinys, egzistuojantis tam tikroje aplinkoje ir turintis konkrečią paskirtį, pavaldus tam tikram tikslui. Sistema turi vidinę struktūrą, santykinę izoliaciją nuo aplinkos ir ryšių su aplinka buvimą.

Sistemingas požiūris paskambino mokslinis tikrovės tyrimo metodas, kai bet kuris tyrimo objektas yra laikomas sistema, atsižvelgiant į reikšmingus jo ryšius su išorine aplinka..


Klausimai ir užduotys

1. Kas yra sistema? Pateikite pavyzdžių.

2. Kokia yra sistemos struktūra? Pateikite pavyzdžių.

3. Pateikite pavyzdžius sistemų, kurių sudėtis yra tokia pati (tos pačios sudedamosios dalys), bet skirtingos struktūros.

4. Kokia yra sisteminio poveikio esmė? Pateikite pavyzdžių.

5. Kas yra posistemis?

6. Nustatykite posistemes šiuose objektuose, kurie laikomi sistemomis:

Kostiumas; automobilis; kompiuteris; miesto telefono tinklas; mokykla; kariuomenė; valstybė.

7. Kurių elementų pašalinimas iš 6 užduotyje įvardytų sistemų praras sistemos efektą, t.y., negalės įvykdyti pagrindinės sistemų paskirties? Pabandykite nustatyti esminius ir neesminius šių sistemų elementus sisteminio poveikio požiūriu.

Kitas puslapis

Siųsti savo gerą darbą žinių bazėje yra paprasta. Naudokite žemiau esančią formą

Studentai, magistrantai, jaunieji mokslininkai, kurie naudojasi žinių baze savo studijose ir darbe, bus jums labai dėkingi.

Paskelbta http://www.allbest.ru/

Ukrainos švietimo ir mokslo ministerija

Černigovo valstybinis technologijos universitetas

Informacijos ir kompiuterinių sistemų katedra

Programinė įranga „Futbolo čempionatas“

Kursinis darbas disciplinoje „Duomenų bazių tvarkymas“

Baigta

mokiniai gr. KI-104A.G. Wojciechovskis

A.G. Rojus

Prižiūrėtojas

Padėjėjas M.V. Charčenka

Černigovas 2013 m

Esė

Kursinis darbas, 86 p., 21 pav., 9 šaltiniai, 2 priedai.

Kursinio darbo tikslas – įdiegti programą, kuri leistų dirbti su duomenų baze tiek per ploną klientą, tiek per darbalaukio programą.

Pagrindinis taikomųjų programų modulių projektavimo metodas yra UML diagramų naudojimas. Taigi, jei buvo licencijuota programinė įranga, sukurtas klases buvo galima eksportuoti į Eclipse EE aplinką.

Paraiškos rašymo metu buvo sukurtos ir sukurtos dvi gamyklos DAOTourFirma ir ServiceTourFirma darbui su subjektais. Su ServiceTourFirma pagalba buvo papildomai įdiegta verslo logika.

Taip pat buvo naudojama servleto ir JSP konteinerių technologija. Kadangi servletai ir JSP puslapiai iškviečiami per HTTP protokolą, Servlet konteinerį ir JSP konteinerį dažnai lydi kitas komponentas – žiniatinklio serveris, kuris taip pat gali būti parašytas Java.

Kaip serveris buvo naudojamas Tomcat 6.0 serveris. Programa buvo sukurta naudojant JDK 1.7 versiją.

Šio kursinio darbo metu darbui su duomenų baze buvo naudojama PostgerSQL 9.0 DBVS. Sukurta duomenų bazė, kurią sudaro 9 lentelės. Kiekviena lentelė turi unikalų pirminį raktą kaip išorinį raktą. Tai papildomas paslaugų laukas, pridedamas prie esamų lentelės informacijos laukų, kurio vienintelis tikslas – būti pirminiu raktu. Šio lauko reikšmės formuojamos ne remiantis jokiais kitais duomenų bazės duomenimis, o generuojamos dirbtinai. Pagrindinis užsienio rakto privalumas yra tai, kad jis niekada nesikeičia, nes tai nėra informacinis lentelės laukas

Kūrimo metu korporacinė programa „Futbolo čempionatas“ buvo pakelta į stabilios versijos lygį. Kūrimo rezultatas pateikiamas programinio projekto forma, pateikta kursinio darbo priede.

Kad įmonės programa veiktų, reikia mažiausiai: 1024 MB RAM, bent 1100 MHz Atom procesoriaus ir bet kokios naršyklės. Reikalavimai operacinei sistemai – Windows, Unix.

Galimas tolesnis darbo tobulinimas sesijų darbo tobulinimo kryptimi.

Esė

Kursinis darbas, 86 p., 21 pav., 9 tekstai, 2 priedai.

Kūrimo objektas yra įmonės programa, leidžianti dirbti su duomenų baze tiek su plonu klientu, tiek su papildomomis žiniatinklio paslaugomis.

Pagrindinis programos modulių projektavimo metodas yra UML wiki – diagramos. Tokiu būdu, jei yra licencijuota programinė įranga, galima eksportuoti klasės plėtinius į Eclipse EE.

Rašant programą buvo atskirtos ir sukurtos dvi gamyklos DAOTourFirma ir ServiceTourFirma, skirtos darbui su subjektais. ServiceTourFirma pagalba buvo visapusiškai įgyvendinta verslo logika.

Ta pati technologija buvo naudojama Servlet ir JSP konteineriams. Kadangi servletai ir JSP puslapiai pasiekiami per HTTP protokolą, servleto konteinerį ir JSP konteinerį dažnai lydi kitas komponentas – žiniatinklio serveris, kuris taip pat gali būti parašytas Java.

Serveryje yra Tomcat 6.0 serveris. Programa buvo padalinta į JDK 1.7 versijos komponentus.

Šio kursinio darbo metu darbui su duomenų baze buvo naudojama PostgerSQL 9.0 DBVS. Sukurta duomenų bazė 9 lentelėms suformuoti. Kiekviena lentelė turi unikalų pirminį raktą ir yra išorinė. Šis papildomas paslaugos laukas, pridėtas prie jau esamų lentelės informacijos laukų, turi vieną paskirtį – tarnauti kaip pirminis raktas. Šio lauko reikšmės nėra kuriamos remiantis jokiais kitais duomenų bazės duomenimis, o generuojamos individualiai. Pagrindinis išorinio rakto privalumas yra tai, kad jis visiškai nesikeičia, kol tai nėra informacinis lentelės laukas

Vystymo metu įmonės programa „Futbolo čempionatas“ buvo nutraukta ir perkelta į stabilaus išleidimo lygį. Kūrimo rezultatas pateikiamas programinės įrangos projekto forma, kuri pridedama prie kursinio darbo.

Savo darbui įmonės programai reikės mažiausiai: 1024 MB RAM, procesoriaus, ne žemesnio nei Atom 1100 MHz, ir bet kokios naršyklės. Galima operacinėms sistemoms - Windows, Unix.

Galima toliau plėtoti projektą sudėtingesnio darbo su sesijomis kryptimi.

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

Santrauka

Kursinis projektas, 86 p., 21 pav., 9 šaltiniai, 2 priedo.

Tikslas yra sukurti programą, kuri įgalintų dirbti su duomenų baze, pavyzdžiui, per ploną klientą arba darbalaukio programą.

Pagrindinis taikomųjų programų modulių projektavimo būdas – naudokite UML – diagramas. Taigi, jei būtų galima sukurti programinę įrangą, kuri galėtų eksportuoti klases į aplinką Eclipse EE.

Paraiškų rašymo metu buvo sukurtos ir įkurtos dvi gamyklos DAOTourFirma ir ServiceTourFirma, kurios dirbs su subjektais. Su ServiceTourFirma buvo toliau įgyvendinama verslo logika.

Kursinio darbo metu duomenų bazės veikimui naudota DBMS PostgerSQL 9.0. Duomenų bazė, kurią sudaro 9 lentelės. Kiekvienoje lentelėje unikalus pirminis raktas yra išorinis. Tai pasirenkamas paslaugos laukas, pridedamas prie jau esamų lentelės informacijos laukų, kurių vienintelė paskirtis – būti pirminiu raktu. Šio lauko reikšmės nėra formuojamos remiantis jokiais kitais duomenų bazės duomenimis, o generuojamos dirbtinai. Pagrindinis užsienio rakto privalumas yra tai, kad jis niekada nesikeičia, nes tai yra informacinis lentelės laukas.

Taip pat buvo naudojama technologija ir Servlet-JSP konteineris. Kadangi servletai ir jsp puslapiai iškviečiami per HTTP protokolą, Servlet-JSP konteinerį ir konteinerį dažnai lydi kitas komponentas – žiniatinklio serveris, kuris taip pat gali būti parašytas Java.

Kuriant įmonės programas buvo gautas „Futbolo čempionas“, pakeltas į beta versiją. Programinės įrangos projekto formos kūrimo rezultatas, pateiktas kursinio darbo priede.

Įmonės naudojimui reikia mažiausiai: 1024 MiB RAM, CPU nėra Atom, mažesnis nei 1100 MHz, ir naršyklės. Reikalavimai operacinei sistemai – Windows, Unix.

Galimas tolesnis tobulinimo darbas tobulinant darbą su sesija.

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

Įvadas

1. Sprendžiamos problemos analizė

1.1 Domeno analizė

1.2 Sistemos tikslai ir uždaviniai

1.3 Sistemos paskirtis

1.4 Sistemos reikalavimai

2. Dizainas

2.1 Sistemos kūrimo įrankių pasirinkimas

2.1.1 Duomenų bazės serveris

2.1.2 Sistemos diegimo technologijos

2.2 Sistemos architektūros projektavimas

2.2.1 Verslo logikos ir verslo taisyklių sluoksnio kūrimas

2.2.2 Duomenų prieigos sluoksnio projektavimas

2.2.3 Ekrano sluoksnio projektavimas

3. Vystymasis

3.1 Sistemos duomenų bazės kūrimas

3.1.1 Sukurkite duomenų bazės schemą

3.1.2 Duomenų vientisumo užtikrinimas

3.1.3 Pagrindinių užklausų kūrimas

3.1.4 Vaidmenų kūrimas, indeksų ir rodinių pasirinkimas

3.1.5 Išsaugomų procedūrų ir trigerių kūrimas

3.1.6 Duomenų apsaugos organizavimas

3.1.7 Objektų ir santykių atvaizdavimas

3.2 Sistemos modulių kūrimas

3.2.1 Verslo logikos ir verslo taisyklių sluoksnio modulių kūrimas

3.2.2 Duomenų prieigos sluoksnio modulių kūrimas

3.2.3 Paslaugų lygmens modulių kūrimas

3.2.4 Ekrano sluoksnio modulių kūrimas

Naudotų šaltinių sąrašas

Įvadas

Šiuo metu kompiuteriai ir interneto technologijos plačiai paplito visose žmogaus veiklos srityse. Kompiuterinės technologijos naudojamos dėl to, kad jos žymiai palengvina žmogaus darbą, kartu pagreitina užduočiai atlikti reikalingą laiką ir padidina rezultato patikimumą. Kadangi kompiuterinės technologijos veikia pagal programos valdymą, jos funkcionalumas priklauso nuo naudojamos programinės įrangos. Dėl šios priežasties kuriamos įvairios itin specializuotos korporacinės programos.

Duomenų bazės (DB) projektavimas yra viena iš sudėtingiausių ir svarbiausių užduočių, susijusių su įmonės programos kūrimu. Dėl jos sprendimo turėtų būti nustatytas duomenų bazės turinys, efektyvus būdas tvarkyti duomenis visiems būsimiems jos vartotojams, duomenų valdymo priemonės. Pagrindinis duomenų bazės projektavimo tikslas yra sumažinti saugomų duomenų perteklinį kiekį, taigi sutaupyti sunaudojamos atminties, sumažinti daugkartinių perteklinių kopijų atnaujinimo operacijų sąnaudas ir pašalinti neatitikimų galimybę dėl informacijos apie tą patį objektą saugojimo skirtingose ​​vietose. vietos.

Įmonės taikomoji programa – tai programinė įranga, skirta didelės apimties duomenims valdyti ir apdoroti pagal verslo taisykles, leidžianti diegti korporacijai (įmonei) duoti tam tikros naudos.

Į įmonės taikomąsias programas neįeina teksto apdorojimo įrankiai, degalų sąnaudų kontrolė automobilio variklyje, lifto ir telefono stočių įrangos valdymas, automatinis cheminių procesų valdymas, taip pat operacinės sistemos, kompiliatoriai, žaidimai ir kt. Įmonės programai paprastai reikia ilgalaikio (kartais dešimtmečių) duomenų saugojimo. Duomenys dažnai gali išgyventi kelias apdorojimo programas, aparatinę įrangą, operacines sistemas ir kompiliatorius.

Keli vartotojai lygiagrečiai pasiekia duomenis. Paprastai jų skaičius neviršija šimtų, tačiau žiniatinklio aplinkoje priglobtoms sistemoms šis skaičius padidėja keliais dydžiais.

Dideliam duomenų kiekiui programa turi pateikti turtingą vartotojo sąsają.

Įmonės programos retai egzistuoja atskirai. Paprastai jas reikia integruoti su kitomis sistemomis, sukurtomis skirtingu metu naudojant skirtingas technologijas.

Įmonių programos paprastai yra sudėtingos programinės įrangos sistemos .

1. Sprendžiamos problemos analizė

1.1 Domeno analizė

Futbolo čempionatas yra futbolo varžybos. Tokio tipo varžybos vyksta kiekvienais metais. Čempionato metu vyksta rungtynės tarp skirtingų komandų, kurių rezultatai fiksuojami tam tikro atrankos etapo turnyrinėje lentelėje. Kitas čempionato žingsnis – finalinio turo surengimas, dalyvaujančių komandų sąrašas formuojamas iš atrankos etapų nugalėtojų. Sužaidus visas finalinio turo rungtynes, pagal surinktų taškų skaičių gali būti nustatytas čempionato nugalėtojas.

Futbolo čempionatas yra masinis renginys, o tai savo ruožtu rodo, kad reikia turėti tam tikrą vidinį mechanizmą, kuris koordinuotų jo praėjimą. Taigi galime išskirti aukščiausią vykdomąjį organą – vykdomąjį komitetą, kuris prisiima visą atsakomybę už čempionato organizavimą ir pravedimą. Jį sudaro prezidentas ir kiti čempionato Kongreso (aukščiausio konkrečios futbolo asociacijos valdymo organo) išrinkti nariai. Kongresas vyksta kasmet. Vykdomasis komitetas gali inicijuoti Antrąjį eilinį kongresą finansiniams ir (arba) svarbesniems klausimams spręsti.

Kongreso renkamo prezidento ir vykdomojo komiteto narių kadencija yra tam tikras metų skaičius. Visi vykdomojo komiteto nariai gali būti perrinkti. Negali būti renkami ar perrinkti tik labai seni valdininkai. Jei vykdomajame komitete atsilaisvins vieta, kitas eilinis kongresas parinks pakaitinį asmenį iki dabartinės kadencijos pabaigos. Jei per paskutinius vykdomojo komiteto nario kadencijos metus atsilaisvina vieta, joks pakaitalas nerenkamas.

Prezidento ir Vykdomojo komiteto narių kadencija prasideda pasibaigus suvažiavimui, kuriame jie yra išrinkti, ir baigiasi pasibaigus suvažiavimui, kuriame išrenkamas jo įpėdinis. Moteris paskiriama vykdomojo komiteto nare ketveriems metams steigiamajame Vykdomojo komiteto susirinkime.

Vykdomasis komitetas yra įgaliotas tvirtinti nuostatus ir priimti sprendimus visais klausimais, nepriklausančiais jo jurisdikcijai. Vykdomasis komitetas vadovauja konkrečios futbolo sąjungos veiklai, išskyrus atvejus, kai vykdomasis komitetas perdavė įgaliojimus – arba juos delegavo Chartija – futbolo sąjungos prezidentui ar administracijai.

Vykdomasis komitetas gali deleguoti vienam ar keliems savo nariams pareigas rengti ir įgyvendinti sprendimus arba vykdyti tam tikrus reikalus. Vykdomasis komitetas taip pat turi teisę deleguoti įgaliojimus – iš dalies arba visus – prezidentui, vienam ar keliems savo nariams ir (arba) administracijai.

Paprastai vykdomasis komitetas posėdžiauja kas du mėnesius, kai jį kviečia prezidentas. Prezidentas taip pat gali kviesti trečiąsias šalis į vykdomojo komiteto posėdį konsultantais.

1.2 Sistemos tikslai ir uždaviniai

Futbolo čempionato sistemos tikslas – automatizuoti čempionatų rengimo procesą. Ši programa yra informatyvi: ji leidžia automatizuoti laimėjimų, pralaimėjimų ir lygiųjų skaičiavimą, taip pat taškų skyrimą komandoms pagal rungtynių rezultatus (3 taškai - pergalė, 2 - lygiosios, 1 - praradimas). Programa leidžia pridėti naujų, ištrinti ir keisti turnyro lentelės duomenis naudojant įvesties/išvesties formas. Galima peržiūrėti duomenis apie darbuotojus ir komandas, taip pat peržiūrėti 10 geriausių komandų ir rungtynių rezultatus, kurios buvo žaidžiamos šią dieną.

1.3 Sistemos paskirtis

Šio kurso projekto metu kuriama sistema „Futbolo čempionatas“ skirta visiems vartotojams, kurie domisi rungtynių rezultatais. Įgaliojimas mūsų sistemoje nėra bendrinamas. Svečias gali neprisijungti, o tiesiog užeiti ir peržiūrėti informaciją apie čempionatą. Vadovas, prezidentas ir administratorius sistemoje turi įvesti asmens duomenis, kuriuos būtų galima identifikuoti. Asmeniniai duomenys reiškia prisijungimo vardą ir slaptažodį. Vartotojui patvirtinus įvestus duomenis, programinė įranga patikrina jų teisingumą. Pirmiausia patikrinamas prisijungimas, jei jo duomenų bazėje nerandama, sistema parodo pranešimą, kad vartotojo tokiu vardu nėra. Jei vardas teisingas, tikrinama slaptažodžio kontrolinė suma. Jei jis nesutampa, slaptažodis yra neteisingas. Siekiant didesnio sistemos saugumo, apskaičiavus kontrolinę sumą patikrinamas visas slaptažodis, kad jis sutaptų. Jei prisijungimo vardas ir slaptažodis yra tikri ir tinkami bei yra reikšmės raktų pora, tada vartotojas įeina į sistemą ir jam priskiriamas prezidento, administratoriaus arba vadovo statusas.

1.1 paveiksle parodyta čempionato prezidento vaidmens naudojimo atvejų schema

1.1 pav. Čempionato prezidento vaidmens naudojimo atvejų diagrama

Prisijungęs prezidentas turi tokias galimybes: personalo valdymas ir biudžeto sudarymas.

„Žmogiškųjų išteklių valdymo“ naudojimo atvejis apima įrašo apie naują darbuotoją pridėjimą, taip pat darbuotojui išeinant, atitinkamo įrašo ištrynimą. Biudžeto kūrimo atvejis apima darbo užmokesčio įrašų pridėjimą ir ištrynimą.

1.2 paveiksle parodyta administratoriaus vaidmens naudojimo atvejų schema

1.2 pav. Administratoriaus vaidmens naudojimo atvejų diagrama

Prisijungęs administratorius turi tokias galimybes: tvarkyti paskyras ir patikrinti pranešimą duomenų bazėje.

„Tvarkyti paskyras“ naudojamas toks scenarijus: Jei tai yra naujo vartotojo pridėjimas, užpildykite atitinkamą formulę ir išsaugokite pakeitimus; jei tai yra vartotojo pakeitimas ar ištrynimas, tuomet pirmiausia turite jį rasti duomenų bazėje, jei ištrinami, sunaikinti duomenis apie vartotoją, jei pakeisti, pataisyti ir išsaugoti.

1.3 paveiksle parodyta valdytojo vaidmens naudojimo atvejo diagrama.

1.3 pav. Vadovo vaidmens naudojimo atvejo diagrama

Prisijungęs Valdytojas turi tokias galimybes: pildyti, ištrinti arba peržiūrėti įrašus turnyrinėje lentelėje.

1.4 paveiksle parodyta svečio vaidmens naudojimo atvejo schema.

1.4 pav. Svečio vaidmens naudojimo atvejų diagrama

Atsisiuntę aplikaciją, svečias gali peržiūrėti turnyrinę lentelę, sužinoti informaciją apie rungtynes ​​ir komandas.

1.4 Sistemos reikalavimai

Kursinio darbo metu sukurta „Futbolo čempionato“ sistema turėtų veikti su šiais objektais: šalis, rungtynės, darbuotojas, turnyras. Būtina sukurti sistemą, kurioje vartotojas galėtų užsiregistruoti ir keisti reikiamą informaciją.

Sistemoje objektams taikomi tam tikri apribojimai ir sąveikos tarp objektų taisyklės, kurių visuma vadinama verslo logika.

Pagal sistemos verslo logiką būtina įgyvendinti: automatinį taškų skyrimą komandoms priklausomai nuo pergalės, pralaimėjimo ar lygiųjų tam tikrose rungtynėse.

2. Dizainas

2.1 Sistemos kūrimo įrankių pasirinkimas

Šiuo metu bus pasirinktas duomenų bazės serveris, per kurį vartotojas bendraus su duomenų baze, taip pat bus parinkta sistemos diegimo technologija ir architektūra.

2.1.1 Duomenų bazės serveris

Šiuo metu yra daugybė duomenų bazių serverių, tokių kaip: MySQL, PostgreSQL, Microsoft Access ir kt.

PostgreSQL yra objektų ir ryšių duomenų bazės valdymo sistema, kuri veikia kaip kliento-serverio sistema. Remiantis pagrindinėmis reliacinių duomenų bazių koncepcijomis, PostgreSQL taip pat palaiko daugybę „objektų“ operacijų, pavyzdžiui, paveldėjimą. PostgreSQL atitinka SQL99 pagrindinę specifikaciją ir palaiko daugelį SQL92 standarte aprašytų funkcijų.

„Oracle“ yra šiek tiek pranašesnis už „PostgreSQL“ tokiose srityse kaip indeksų naudojimas, duomenų replikavimas ir atkūrimas bei administravimo įrankiai apskritai. „Oracle“ yra pažangesnė (bet ir sudėtingesnė). Kita vertus, PostgreSQL suteikia galimybę naudoti PL/Perl, PL/Python, PL/Tcl kaip procedūrinę kalbą, kuri leidžia kūrėjui pasirinkti labiau pažįstamą įrankį.

„MySQL“ kiekviena lentelė įvedama į atskirą failą (daugumai duomenų bazių tipų), organizuojant vieną failo struktūrą.

„MySQL“ sistemoje akcentuojamas geriausias duomenų skaitymo (atrankos) greitis, o tai paaiškina šios DBVS populiarumą tarp žiniatinklio kūrėjų, kur pagrindinė operacija yra atranka. Tai pasiekiama dėl to, kad nėra transakcijų (jos įdiegtos tik kai kurių tipų lentelėms, pavyzdžiui, InnoDB, BerkleyDB) ir kelių gijų operacija, tačiau tai taip pat yra šiek tiek mažesnio šios DBVS patikimumo priežastis. Kalbant apie teises, MySQL leidžia nustatyti teises ne tik lentelės, bet ir stulpelių lygiu, tačiau PostgreSQL tai kompensuoja galimybė kurti pasirinktinius rodinius.

„Apache Derby“ yra reliacinė duomenų bazių valdymo sistema, parašyta „Java“, skirta įterpti į „Java“ programas arba apdoroti operacijas realiuoju laiku. Diske užima 2 MB. „Apache Derby“ sukurtas kaip atvirasis šaltinis ir platinamas pagal „Apache 2.0“ licencijos sąlygas. Derbis anksčiau buvo žinomas kaip IBM Cloudscape. Sun platina tuos pačius dvejetainius failus pavadinimu Java DB.

Šiame kursiniame darbe buvo panaudota PostgreSQL – duomenų bazės, kurioms reikalingas didelis informacijos saugojimo patikimumas, keliami didesni reikalavimai visų pakeitimų tikrinimui, atsiranda poreikis automatiškai koreguoti didelį duomenų skaičių pasikeitus informacijai vienoje iš lentelių, kaip taip pat užduotys, reikalaujančios nebanalių sprendimų kūrimo, nestandartinių operatorių naudojimo ir kt.

2.1.2 Sistemos diegimo technologijos

JSP (JavaServer Pages) yra technologija, leidžianti žiniatinklio kūrėjams lengvai kurti turinį, turintį tiek statinių, tiek dinaminių komponentų. Iš esmės JSP puslapis yra tekstinis dokumentas, kuriame yra dviejų tipų tekstas: statiniai šaltinio duomenys, kurie gali būti suformatuoti vienu iš HTML, SVG, WML arba XML teksto formatų, ir JSP elementai, kurie sukuria dinaminį turinį. Be to, JSP žymų bibliotekos, taip pat EL (išraiškos kalba), gali būti naudojamos Java kodui įterpti į statinį JSP puslapių turinį.

JSP yra viena iš didelio našumo technologijų, nes visas puslapio kodas verčiamas į servlet Java kodą naudojant Jasper JSP puslapio kompiliatorių, o tada sukompiliuojamas į Java virtualios mašinos (JVM) baitų kodą. Servlet konteineriai, galintys vykdyti JSP puslapius, yra parašyti Java kalba, kuri gali veikti įvairiose platformose. JSP puslapiai įkeliami į serverį ir valdomi iš specialaus Java serverio paketo, vadinamo Java EE Web Application, struktūros, dažniausiai supakuoto į failų archyvus .war ir .ear.

JSP technologijos pranašumas, palyginti su kitomis žiniatinklio technologijomis, yra tas, kad JSP yra nuo platformos nepriklausoma, nešiojama ir lengvai išplečiama žiniatinklio taikomųjų programų kūrimo technologija.

JSP 2.0 yra nauja JSP specifikacijos versija, papildyta funkcionalumu, kuris padidina programuotojo darbo greitį. Būtent:

– Expression Language (EL) – išraiškos kalba, leidžianti kūrėjams, be kita ko, kurti Velocity stiliaus šablonus;

– paprastesnis ir greitesnis būdas kurti naujas žymas naudojant .tag failus, dabar jums nereikia žinoti Java, kad galėtumėte kurti naujas žymas;

– patogus būdas tvarkyti įdėtas pupeles (JavaBeans);

– greitesnis ir paprastesnis būdas rodyti kintamus parametrus.

Servletas yra „Java“ sąsaja, kurios įgyvendinimas praplečia serverio funkcionalumą. Servletas sąveikauja su klientais naudodamas užklausos ir atsakymo principą.

Nors servletai gali aptarnauti bet kokią užklausą, jie paprastai naudojami žiniatinklio serveriams išplėsti. Tokioms programoms Java Servlet technologija apibrėžia HTTP specifines servletų klases.

JSTL („JavaServer Pages Standard Tag Library“) – iš anglų kalbos išverstas kaip „JSP standartinė žymų biblioteka“. Jis praplečia JSP specifikaciją, pridedant JSP žymų biblioteką bendriems poreikiams, pvz., XML analizei, sąlyginiam apdorojimui, kilpai ir internacionalizavimo palaikymui. JSTL yra galutinis JSR 52 rezultatas, sukurtas pagal JCP (Java Community Process).

JSTL yra alternatyva tokio tipo logikai, integruotai į JSP, pvz., scenarijus, ty tiesioginius Java kodo įterpimus. Pageidautina naudoti standartizuotą žymų rinkinį, nes gautą kodą lengviau prižiūrėti ir lengviau atskirti verslo logiką nuo rodymo logikos.

Java Persistence API (JPA) – API, įtraukta į Java 5 Java SE ir Java EE platformose, suteikia galimybę patogiai saugoti Java objektus duomenų bazėje.

Yra keletas šios sąsajos įdiegimų, vienas iš populiariausių tam naudoja Hibernate.

Duomenų vientisumo palaikymą teikia JPA, apima šias sritis:

– tiesiogiai API, nurodytą javax.persistence pakete;

– nuo ​​platformos nepriklausoma objektinė užklausų kalba Java Persistence Query Language;

– metainformacija, apibūdinanti santykius tarp objektų;

– DDL generavimas subjektams.

2.2 Sistemos architektūros projektavimas

sluoksnio duomenų bazės modulio servlet

Sistemos architektūra bus tokia, kaip parodyta analizėje (1.1 pav.) ir problemos sprendimo metodai.

Integravimo sluoksnio (duomenų šaltinio sluoksnio) vaidmuo yra suteikti programai galimybę sąveikauti su įvairiais infrastruktūros komponentais, kad būtų galima atlikti būtinas funkcijas. Pagrindinis šios problemos komponentas yra susijęs su dialogo su duomenų baze palaikymu – dažniausiai reliaciniu. Viena didžiausių reliacinių sistemų sėkmės priežasčių yra jų palaikymas SQL, labiausiai standartizuotai duomenų bazių ryšių kalbai.

Integracijos sluoksnio įgyvendinimo būdas priklauso nuo verslo logikos sąveikos su duomenų baze. Šiame etape padaryti pasirinkimai turi didelių pasekmių ir gali būti sunku arba net neįmanoma pakeisti.

Todėl jis nusipelno kruopščiausio svarstymo. Dažnai tokie sprendimai lemia verslo logikos išdėstymo galimybes.

Tikslingiau atskirti SQL kodą nuo verslo logikos, įtraukiant jį į specialias klases. Geras būdas organizuoti tokias klases yra „nukopijuoti“ kiekvieno duomenų bazės objekto struktūrą į atskirą klasę, kuri sudaro vartus, palaikančius prieigos prie lentelių galimybes. Dabar pagrindiniam programos kodui nieko nereikia „žinoti“ apie SQL, o visos SQL operacijos yra sutelktos į kompaktišką klasių grupę. Geresnis pasirinkimas yra atskirti domeno modelį nuo duomenų bazės, suteikiant tarpinei programinei įrangai visą atsakomybę už domeno objektų susiejimą su duomenų bazės objektais. Toks duomenų keitiklis atlieka visas verslo logikos inicijuotas informacijos įkėlimo ir saugojimo operacijas ir leidžia savarankiškai keisti tiek domeno modelį, tiek duomenų bazės schemą. Tai yra sudėtingiausias architektūrinis sprendimas, užtikrinantis atitikimą tarp taikomųjų objektų ir reliacinių struktūrų, tačiau jo neabejotinas pranašumas yra visiškas dviejų sluoksnių atskyrimas.

Šiandien „Java“ kūrėjai gali pasinaudoti esamais įrankiais: serializavimu, objektų santykių atvaizdavimo įrankiais, objektų duomenų bazėmis ir EJB. Kiekvienas iš šių įrankių turi savo taikymo sritis ir todėl turi tam tikrų trūkumų. JDO pašalina šiuos trūkumus ir užtikrina didesnį skaidrumą.

Serializavimas. Integruotas „Java“ variklis, konvertuojantis objektus į baitų seką, kurią galima įrašyti į failą arba perduoti tinkle. Serializavimas yra labai paprastas naudoti, bet taip pat labai ribotas. Naudojant serializavimą, objektas išsaugomas kaip viena visuma. Ji nepalaiko operacijų arba to paties serijinio objekto naudojimo skirtingose ​​gijose ar programose be konfliktų tarp jų;

Objektų ir santykių kartografavimas (JPA). JPA nėra nauja technologija, o idėjų rinkinys iš geriausių turimų technologijų, tokių kaip Hibernate, TopLink ir JDO. Dėl to JPA yra standartizuota specifikacija, įtraukta į J2EE5, kuri leidžia duomenų patvarumo sluoksnį kurti nepriklausomai nuo konkrečių tiekėjų. Tie. Gali būti daug JPA specifikacijos įdiegimų; vienas iš jų, pavyzdžiui, yra OpenJPA sistema arba ta pati Hibernate.

Objektų duomenų bazės. Objektų duomenų bazės buvo specialiai sukurtos saugoti objektus ir visiškai atitiko objektinio programavimo koncepciją. Objektų duomenų bazių valdymo grupė (ODMG) buvo sukurta siekiant sukurti vieną API darbui su tokiomis duomenų bazėmis. Tačiau daugelis duomenų bazių pardavėjų vis dar nesiryžta pereiti nuo nusistovėjusios reliacinės sistemos prie objektinės sistemos. Taip pat objektų duomenų bazėms yra mažiau duomenų analizės įrankių, o reliacinėse duomenų bazėse jau yra saugomas labai didelis duomenų kiekis. Dėl šių ir daugelio kitų priežasčių objektų duomenų bazės nebuvo taip plačiai naudojamos, kaip tikėjosi jų kūrėjai;

Enterprise Java Beans (EJB). EJB yra komponentai, kurie saugo savo būseną reliacinėje duomenų bazėje ir užtikrina objektinį nuolatinių duomenų rodymą. Skirtingai nuo objektų santykio atvaizdavimo produktų, EJB turi griežtą specifikaciją, kuri leidžia naudoti skirtingų tiekėjų produktus. Deja, EJB standartas yra ribotas savo objektiniais aspektais. Jie nepalaiko paveldėjimo, polimorfizmo ir kt. EJB komponentai taip pat reikalauja daug pastangų parašyti ir dažnai reikalauja specialios programinės įrangos jiems paleisti.

Šiandien yra įvairių sistemų, naudojančių šią programavimo techniką. Štai keletas iš jų:

Hibernate, iBATIS, Java duomenų objektai (JDO), JPOX, Cayenne, TopLink, JPA.

Organizuojant ORM naudojant įvairias technologijas, būtina sukurti objektų atvaizdavimo failus; sukurti konfigūracijos failus, nurodančius išteklių failus, duomenų šaltinius, operacijų palaikymą ir kt.

2.2.1 Verslo logikos ir verslo taisyklių sluoksnio projektavimas

Šios sistemos veikimo principas:

Administratorius įveda duomenis apie darbuotojus, čempionatus, komandas;

Vartotojai peržiūri turnyrinę lentelę ir informaciją apie čempionatus;

Registracija neprivaloma, ji reikalinga tik duomenims keisti;

Buvo sukurta papildoma lentelė, kad būtų galima įgyvendinti ryšį „daugelis su daugeliu“. zakaz_dop_uslugi (susieja užsakymą su papildomomis paslaugomis).

Todėl galima suprojektuoti tokias domenų klases (2.4 pav.).

2.4 pav. – Domeno klasės

Pagal sistemos verslo logiką reikia automatiškai skirti taškus už pralaimėjimus, laimėjimus ir lygiąsias.

2.2.2 Duomenų prieigos sluoksnio projektavimas

Norint pasiekti išorinėje saugykloje saugomus duomenis, patogiausia apibrėžti atskiras sąsajas su duomenų manipuliavimo metodais. Šių sąsajų įgyvendinimas gali būti bet koks, pavyzdžiui, naudojant JDBC arba JPA, JAXB ar net paprastas Java kolekcijas. JPA buvo pasirinkta siekiant supaprastinti šį kursinį projektą. Tam, kad būtų galima naudoti skirtingus duomenų prieigos sąsajų diegimus, patogu naudoti „Abstract Factory“ arba „Factory Method“ dizaino modelį. Šiuo atveju tokia gamykla yra abstrakčioji klasė DAOFactory, kurioje yra abstrakčių metodų, grąžinančių sąsajų įgyvendinimus, apibrėžimas (2.4 pav.).

Tarp visų duomenų prieigos operacijų galima aiškiai išskirti pagrindines CRUD (create, read, update, delete) operacijas – objekto sukūrimas, objekto ištrynimas, objekto atnaujinimas, objekto gavimas pagal identifikatorių ir visų objektų gavimas. Perkėlus tokias operacijas į atskirą superklasę išvengsite kodo dubliavimo. Tokios pagrindinės operacijos taip pat buvo perkeltos į atskirą pagrindinę sąsają IGenericDao , kuri naudojant Java Generics leidžia nurodyti objektų klasę, su kuria dirbsite.

2.4 pav. – DAO klasių diagrama

2.2.3 Ekrano sluoksnio projektavimas

Šis sluoksnis yra plonas klientas.

Norint dirbti su programa, buvo sukurti puslapiai, kuriuose pateikiama duomenų išvestis, papildymas, redagavimas ir trynimas. Pagrindinis puslapis, į kurį patenka neregistruotas vartotojas, index.jsp. Taip pat buvo sukurti papildomi puslapiai duomenims pridėti ir redaguoti, tačiau tik su administratoriaus teisėmis.

3. Vystymasis

3.1 Sistemos duomenų bazės kūrimas

3.1.1 Sukurkite duomenų bazės schemą

Remiantis analize, verslo logikos sluoksnio projektavimu ir taisyklėmis, duomenų bazės struktūra gali būti sudaryta taip (3.1 pav.)

3.1 pav. – Loginė duomenų bazės schema

Fizinis duomenų bazės išdėstymas parodytas 3.2 pav

3.2 pav. – Fizinė duomenų bazės diagrama

Programinės įrangos sistemos duomenų bazėje yra visa informacija apie jos objektus, būtent:

Turnyro stalas;

Komandos;

Vartotojas;

Darbuotojas;

Atlyginimas;

čempionatas.

Kiekviena lentelė turi unikalų pirminį raktą kaip išorinį raktą. Tai papildomas paslaugų laukas, pridedamas prie esamų lentelės informacijos laukų, kurio vienintelis tikslas – būti pirminiu raktu. Šio lauko reikšmės formuojamos ne remiantis jokiais kitais duomenų bazės duomenimis, o generuojamos dirbtinai. Pagrindinis išorinio rakto privalumas yra tas, kad jis niekada nesikeičia, nes tai nėra informacinis lentelės laukas (neneša jokios informacijos apie įrašo aprašytą objektą). Prasminga naudoti išorinį raktą, kai gali pasikeisti laukai, sudarantys (natūralų) pirminį raktą. Šiuo atveju iškyla vadinamųjų „pakopinių pokyčių“ problema. Jei išorinį raktą naudosite kaip pirminį raktą, jo keisti nereikės. Be to, vykdant užklausas, kuriose naudojami išoriniai raktai, laukų palyginimai bus greitesni, ypač jei natūralus pirminis raktas yra eilutė.

3.1.2 Duomenų vientisumo užtikrinimas

Vientisumo apribojimai pateikti 3.1 lentelėje

3.1 lentelė – duomenų bazės lentelių aprašymas

Lentelės pavadinimas

apibūdinimas

Duomenų tipas

Apribojimas

darbuotojo identifikavimo kodas

Pirminis raktas

Darbuotojo adresas

eilutė, 20 simbolių

reikalingas įrašas

Gimimo data

eilutė, 20 simbolių

reikalingas įrašas

Pavardė Vardas. Antrasis darbuotojo vardas

eilutė, 60 simbolių

reikalingas norint patekti;

Darbuotojo telefono numeris

20 simbolių eilutė

reikalingas įrašas

Vartotojo užsienio raktas

sveikasis skaičius

Čempionato užsienio raktas

sveikasis skaičius

įvedimui; unikalios vertybės

atitikti ID kodą

Pirminis raktas

Rungtynių data

eilutė, 20 simbolių

reikalingas įrašas

Svečių komanda

eilutė, 20 simbolių

reikalingas įrašas

Priimančioji komanda

eilutė, 20 simbolių

reikalingas įrašas

Žaidimo rezultatas

eilutė, 20 simbolių

Ekskursijos numeris

sveikasis skaičius

reikalingas įrašas

Komandos užsienio raktas

sveikasis skaičius

įvedimui; unikalios vertybės

vartotojo identifikavimo kodas

Pirminis raktas

Prisijunkite norėdami patekti į svetainę

eilutė, 20 simbolių

reikalingas įrašas

Slaptažodis prisijungti prie svetainės

eilutė, 20 simbolių

reikalingas įrašas

Vaidmenų užsienio raktas

sveikasis skaičius

įvedimui; unikalios vertybės

lentelės identifikavimo kodas

Pirminis raktas

Lygiosios sužaistų rungtynių skaičius

sveikasis skaičius

reikalingas įrašas

Taškų skaičius per rungtynes

sveikasis skaičius

reikalingas įrašas

Pralaimėtų rungtynių skaičius

sveikasis skaičius

reikalingas įrašas

Laimėtų rungtynių skaičius

sveikasis skaičius

reikalingas įrašas

atlyginimo identifikavimo kodas

Pirminis raktas

Dirbtų valandų skaičius

sveikasis skaičius

reikalingas įrašas

Priemokos suma

Tikrasis duomenų tipas

Baudos suma

Tikrasis duomenų tipas

Darbuotojo užsienio raktas

sveikasis skaičius

įvedimui; unikalios vertybės

licencijos identifikavimo kodas

Pirminis raktas

Vaidmenų užsienio raktas

sveikasis skaičius

įvedimui; unikalios vertybės

Veiksmas, galintis atlikti nurodytą vaidmenį

eilutė, 30 ženklų

įvedimui; unikalios vertybės

vaidmens ID kodas

Pirminis raktas

eilutė, 30 ženklų

reikalingas įrašas

komandos identifikavimo kodas

Pirminis raktas

Miesto pavadinimas

eilutė, 20 simbolių

reikalingas įrašas

Komandos pavadinimas

eilutė, 20 simbolių

reikalingas įrašas

Trenerio vardas

eilutė, 60 simbolių

reikalingas įrašas

Lentelės išorinis raktas

sveikasis skaičius

reikalingas įrašas

čempionato identifikacinis kodas

Pirminis raktas

Čempionato data

reikalingas įrašas

Šalies pavadinimas

eilutė, 40 ženklų

reikalingas įrašas

Lentelės išorinis raktas

sveikasis skaičius

reikalingas įrašas

3.1.3 Pagrindinių užklausų kūrimas

Kuriant pagrindines užklausas, JPQL buvo pasirinkta kaip kūrimo kalba.

Žemiau pateikiamas pagrindinių užklausų aprašymas, jų įgyvendinimas pateiktas A priede.

getKomandasByTablicaId - prašymas pasirinkti vertes iš lentelės „Komanda“, kur lentelės ID yra komandos gavimo parametras.

findKomandaByName yra užklausa pasirinkti komandą, kur lentelės pavadinimas yra komandos gavimo parametras.

getTablicaByChampionatId - užklausa pasirinkti vertes iš lentelės „Table“, kur čempionato ID yra lentelės gavimo parametras.

getKomandasByTablicaId - užklausa pasirinkti vertes iš lentelės „Komanda“, kur lentelės ID yra lentelės gavimo parametras.

findUserByNameAndPassword yra užklausa pasirinkti reikšmes iš lentelės „Vartotojas“, kur vartotojo prisijungimo vardas yra lygus pirmajam parametrui, o slaptažodis yra antrasis.

getWorkerByChampionatId yra užklausa pasirinkti vertes iš lentelės „Darbininkas“, kur čempionato ID yra parametras darbuotojui gauti.

getZarplatasByWorkerId - prašymas pasirinkti vertes iš lentelės „Atlyginimas“, kur darbuotojo ID yra atlyginimo gavimo parametras.

3.1.4 Vaidmenų kūrimas, rodyklių ir rodinių pasirinkimas

Vaidmenys:

Buvo sukurti keli vaidmenys su skirtingomis prieigos prie duomenų bazių teisėmis:

Sukurti vaidmenį "admin" PRISIJUNGTI NEKRIPTUOTAS SLAPTAŽODŽIS "qwerty"

Sukurti vaidmenį „vadybininkas“ PRISIJUNGTI NEKRIPTUOTAS SLAPTAŽODŽIS „qwerty1“

Sukurti vaidmenį "direktorius" PRISIJUNGTI NEKRIPTUOTAS SLAPTAŽODŽIS "qwerty2"

Prieigos teises į santykius chempionat, komanda, matchi, prava, "role", tablica, users, worker, zarplata galima apibūdinti taip:

suteikti pasirinkti, ištrinti, įterpti, atnaujinti apie chempionat, komanda, matchi, prava, "vaidmuo", tablica, vartotojai, darbuotojas, atlyginimas administratoriui

suteikti valdytojui pasirinkti, ištrinti, įterpti, atnaujinti tablica, matchi, komanda

Indeksai:

Renkantis indeksus, pagrindinis kriterijus buvo dažnas priėjimas prie konkrečios srities

Siekiant pagerinti darbo su duomenimis efektyvumą, laukams, dažnai naudojamiems duomenims gauti, buvo sukurti indeksai:

sukurti indeksą i_worker ant worker(id);

sukurti indeksą i_komanda komanda(id);

sukurti indeksą i_matchi ant matchi(id);

sukurti indeksą i_zarplata zarplata(id)

Atstovavimas:

Norint įgyvendinti dalinę prieigą prie tablica lentelės, buvo sukurtas toks vaizdas:

sukurti rodinį w_guest (kolnichiyih,kolocheck,kolproigrashey,kolviigrashey,idchampionata) kaip

pasirinkite kolnichiyih, kolocheck, kolproigrashey, kolviigrashey, idchampionata iš tablica;

sukurti svečio vaidmenį PRISIJUNGTI NEKRIPTUOTAS SLAPTAŽODŽIS "qwerty3"

suteikti svečiui pasirinkimą svetainėje w_guest

3.1.5 Saugomų procedūrų ir trigerių kūrimas

Trigeriai:

1) Trigeris, kuris įveda reikšmę į „premiya“ lauką, kai įrašas pridedamas prie „Zarplata“ lentelės. Jei kolChasov lauko reikšmė viršija tam tikrą reikšmę.

KURTI ARBA PAKEISTI FUNKCIJĄ ins()

RETURNS paleidiklis AS

ATNAUJINTI "atlyginimą"

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

Iš „zarplata“, „darbuotojas“

kur ("kolchasov" >8);

KALBA "plpgsql";

KURTI TRIGGERĄ trig_11 PO ĮTERPIMO Į „zarplata“

KIEKVIENAI EILUTEI VYKDYKITE PROCEDŪRĄ ins();

2) Trigeris, kuris prideda įrašą į atlyginimų lentelės sumos lauką, kai pridedamas arba atnaujinamas įrašas lentelėje. Šio lauko reikšmė nustatoma pagal laukų tarifo, baudos ir priemokos reikšmę.

sukurti arba pakeisti funkciją addSumInZarplata() grąžina trigerį kaip

deklaruoti shtr float:=(pasirinkite shtraf iš zarplata kur id=new.id);

deklaruoti prem float:=(pasirinkite premiya iš zarplata, kur id=new.id);

deklaruoti s float:= (pasirinkite sumą iš zarplata, kur id=new.id);

atnaujinti atlyginimų rinkinį

summa = s+prem-shtr kur id=naujas.id;

kalba plpgsql;

sukurti trigerį trigAddSumZarplat

nuo atlyginimo už kiekvieną eilutę

vykdyti procedūrą addSumInZarplata();

Saugomaprocedūras:

1) Sukurkite išsaugotą procedūrą, kuri pateiks rungtynių, kurios turi įvykti šiandien, sąrašą. Įvesties parametrų nėra. Išvesties parametras bus atitikties lentelė.

KURTI ARBA PAKEISTI FUNKCIJĄ func_1()

GRĄŽINIMO LENTELĖ(sveikasis skaičius, gost simbolis kintantis (30), hozain simbolis kintantis (30),

schetos simbolis kintamas (10), turas sveikasis skaičius, idkomandy sveikasis skaičius, duomenų data) AS $$

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

2) Sukurti saugomą procedūrą, kuri grąžins mažiausiai taškų tam tikrame čempionate surinkusios komandos pavadinimą. Įvesties parametrai – šalies pavadinimas. Išvesties parametras bus komandos pavadinimas.

KURTI ARBA PAKEISTI FUNKCIJĄ func_2 (kinta šalies simbolis (40))

PASIRINKITE "pavadinimą" IŠ "komanda", "tablica", "chempionat" WHERE "komanda"."idtablici" = "tablica"."id" IR "kolocheck" IN (SELECT MIN("kolocheck") FROM "tablica") IR "idchampionata" IN (SELECT "id" FROM "championata" WHERE "country" = 1 USD); $$

3) Sukurkite išsaugotą procedūrą, kuri sugrąžins 10 geriausių komandų į turnyro lentelę. Įvesties parametrai – šalies pavadinimas. Išvesties parametras bus lentelė, kurią sudaro 10 geriausių komandų pavadinimai ir jų taškų skaičius.

KURTI ARBA PAKEISTI FUNKCIJĄ func_3 (kinta šalies simbolis (40))

GRĄŽINIMO LENTELĖ(_pavadinimo simbolis kintantis(20), kolocheck sveikasis skaičius) AS $$

WITH subquery AS (SELECT "name", "kolocheck" FROM "komanda", "tablica", "chempionat" WHERE "komanda"."idtablici" = "tablica"."id" IR "idchampionata" IN (SELECT "id" IŠ „chempionat“, KUR „strana“ = 1 USD) GRUPĖ PAGAL 1, 2 UŽSAKYTI PAGAL „kolocheck“ DESC)

SELECT * FROM "antrinė užklausa" GROUP BY 1, 2 HAVING COUNT("vardas")<= 10; $$

4) Sukurti saugomą tvarką, kuri grąžins komandos lyderio vardą tam tikro čempionato įskaitoje. Įvesties parametrai – šalies pavadinimas. Išvesties parametras bus lyderio vardas.

KURTI ARBA PAKEISTI FUNKCIJĄ func_5 (kinta šalies simbolis (40))

GRĄŽA kintamo simbolio(20) AS $$

PASIRINKITE "vardas" IŠ "komanda", "tablica", "chempionat"

WHERE "komanda"."idtablici" = "tablica"."id" IR "kolocheck" IN (SELECT MAX("kolocheck") FROM "tablica") IR "idchampionata" IN (SELECT "id" FROM "chempionat" WHERE " šalis“ = 1 USD); $$

3.1.6 Duomenų apsaugos organizacija

Sukurta sistema atlieka kelis vaidmenis ir kiekvienam iš jų yra skirtinga „Futbolo čempionato“ programinės įrangos funkcionalumas. Kiekvieno tipo vartotojo galimybės šioje programinės įrangos sistemoje parodytos 3.2 lentelėje

3.2 lentelė. Duomenų apsauga

Vartotojas/

Puslapis

Administratorius

Registruotas vartotojas

Neregistruotas vartotojas

Čempionatų sąrašo peržiūra, einamąją dieną vykusių rungtynių sąrašas, turnyro lentelė, vartymas puslapiais, čempionatų lentelės duomenų keitimas

Peržiūrėkite čempionatų sąrašą, dabartinę turnyro lentelės dieną vykusių rungtynių sąrašą, eikite per puslapius, eikite į asmeninės informacijos puslapį

Peržiūrėkite čempionatų sąrašą, dabartinę turnyro lentelės dieną vykusių rungtynių sąrašą, naršykite puslapius ir galimybę registruotis

Lentelės duomenų redagavimas

Peržiūrėkite turnyrinę lentelę, išsamią informaciją apie komandą, 10 geriausių komandų, geriausią ir prasčiausią komandą

Peržiūrėkite turnyrinę lentelę, išsamią informaciją apie komandą, 10 geriausių komandų, geriausią ir prasčiausią komandą

addEdtKomanda.jsp

Komandos informacijos redagavimas

Išsamios informacijos apie komandą peržiūra

Išsamios informacijos apie komandą peržiūra

Peržiūrėkite rungtynes, pridėkite, ištrinkite, redaguokite

Peržiūrėkite rungtynes, keiskite rungtynių duomenis

Žiūri rungtynes

Teisių pridėjimas, trynimas, keitimas

Žiūrėti atlyginimą

Atlyginimo peržiūra ir redagavimas

3.1.7 Objektų ir santykių atvaizdavimas

Kuriant programą yra pasiekiami duomenys, todėl siekiant supaprastinti tokios programos kūrimą ir padidinti darbo su gautais duomenimis efektyvumą ir greitį, buvo naudojamas objektų-relacinis atvaizdavimas.

Objektų santykinis atvaizdavimas (ORM) yra programavimo technika, kuri susieja reliacinę duomenų bazę su objektinio programavimo koncepcijomis ir sukuria „virtualiųjų objektų duomenų bazę“.

ORM automatiškai sinchronizuoja į atmintį įkeltus objektus su duomenų baze. Kad tai būtų įmanoma, sukūrus objekto į SQL transformavimo SQL užklausą, gauti duomenys nukopijuojami į objekto laukus, kaip ir visuose kituose ORM diegimuose.

Reliacinės duomenų bazių valdymo sistemos rodo gerą visuotinių užklausų, kurios paveikia didelę duomenų bazės dalį, našumą, tačiau objektinė prieiga yra efektyvesnė dirbant su mažais duomenų kiekiais, nes sumažina semantinį atotrūkį tarp objektų ir reliacinių duomenų formų.

Visos ORM sistemos dažniausiai pasireiškia tam tikra forma, tam tikru būdu sumažindamos galimybę ignoruoti duomenų bazę. Be to, operacijų sluoksnis gali būti lėtas ir neefektyvus (ypač kalbant apie sugeneruotą SQL). Dėl viso to programos gali veikti lėčiau ir naudoti daugiau atminties nei programos, parašytos ranka.

Tačiau ORM apsaugo programuotoją nuo didelio kodo, dažnai monotoniško ir klaidų, rašymo, taip žymiai padidindamas kūrimo greitį. Be to, dauguma šiuolaikinių ORM diegimų leidžia programuotojui, jei reikia, griežtai apibrėžti SQL užklausos kodą, kuris bus naudojamas tam tikriems veiksmams (išsaugojimui į duomenų bazę, įkėlimui, paieškai ir pan.) su nuolatiniu objektu.

Kuriant programą, kuriai reikalinga prieiga prie duomenų, būtina supaprastinti tokios programos kūrimą, didinant darbo su gautais duomenimis efektyvumą ir greitį. Todėl ši problema išlieka aktuali ir šiandien.

Šiai problemai išspręsti buvo pasirinktas JPA (Java Persistence API).

Toliau pateiktoje diagramoje parodytas ryšys tarp pagrindinių JPA architektūros komponentų.

3.3 pav. – JPA architektūra

Patvarumas – klasėje yra statinių pagalbinių metodų, leidžiančių gauti „EntityManagerFactory“ nepriklausomai nuo teikėjo.

„EntityManagerFactory“ yra sąsaja, kurios įgyvendinimas yra „EntityManager“ objektų kūrimo gamykla.

„EntityManager“ yra pagrindinė JPA sąsaja, naudojama programose. Kiekvienas „EntityManager“ valdo saugomų objektų rinkinį ir turi API naujiems objektams įterpti ir esamiems ištrinti. Kiekvienas „EntityManager“ turi savo „EntityTransaction“, susietą su juo, o „EntityManager“ taip pat veikia kaip užklausos objektų gamykla.

Esybė – esybė, kuri yra saugomas objektas.

EntityTransaction yra objektas, kuris atlieka operacijų valdymą, kai atlieka operacijas su saugomais Entity objektais. Veiksmai sugrupuojami ir visiškai užbaigiami arba ne, todėl duomenų saugykla lieka nepakitusi.

Užklausa yra sąsaja, skirta vykdyti užklausas, siekiant rasti saugomus objektus, atitinkančius nurodytus kriterijus. JPA palaiko užklausas Java nuolatinės užklausos kalba (JPQL) ir standartine struktūrine užklausų kalba (SQL). Užklausos egzempliorius galite gauti iš objekto „EntityManager“.

3.2 Sisteminių modulių kūrimas

3.2.1 Verslo logikos ir verslo taisyklių sluoksnio modulių kūrimas

Šiame modulyje pateikiami visų mūsų duomenų bazėje esančių objektų aprašymai. Jį sudaro vienuolika klasių, būtent:

Matchi.java yra klasė, kuri aprašo atitikmenis. Pateikiama tokia informacija: rungtynių data, svečias, šeimininkas, rungtynių rezultatas, turo numeris. Jame pateikiami laukų gavimo ir rašymo metodai.

Komanda.java yra komanda, aprašanti komandas. Pateikiama tokia informacija: komandos pavadinimas, trenerio pavardė, komandos miestas. Jame pateikiami laukų gavimo ir rašymo metodai.

Tablica.java yra klasė, apibūdinanti turnyro lentelę. Jame yra laukai: komandos taškų skaičius, pralaimėjimų, pergalių ir lygiųjų skaičius. Jame pateikiami laukų gavimo ir rašymo metodai.

Championat.java yra klasė, apibūdinanti čempionatą. Jame pateikiama ši informacija: konferencijos pradžios data, pabaigos data, šalies, kurioje ji vyksta, pavadinimas. Jame pateikiami laukų gavimo ir rašymo metodai.

Worker.java yra klasė, apibūdinanti darbuotoją. Jame pateikiama ši informacija: darbuotojo vardas, pavardė, gimimo data, telefono numeris, adresas. Jame pateikiami laukų gavimo ir rašymo metodai.

User.java yra vartotoją apibūdinanti klasė. Jame yra ši informacija: prisijungimo vardas ir slaptažodis, norint patekti į sistemą. Jame pateikiami laukų gavimo ir rašymo metodai.

Role.java yra klasė, apibūdinanti vartotojo vaidmenį. Jame yra ši informacija: vartotojo vardas. Jame pateikiami laukų gavimo ir rašymo metodai.

Prava.java yra klasė, apibūdinanti vartotojo teises. Jame pateikiama ši informacija: teisės, kuriomis remdamasis vartotojas prisijungia prie sistemos

3.2.2 Duomenų prieigos sluoksnio modulių kūrimas

Duomenys pasiekiami naudojant DAO. Šį modulį reprezentuoja du paketai su sąsajomis ir jų įgyvendinimais. Jame yra šios sąsajos:

– ITablicaDao.java – sąsaja, kurioje yra darbo su lentele metodų aprašymai. Jame aprašomi šie metodai:

viešoji kolekcija getTablicasByChampionatId(Integer chId) meta PersistenceException metodą, kad gautų visas tam tikro čempionato lenteles.

Metodų įgyvendinimas yra TablicaDaoJpa klasėje.

– IKomandaDao.java – sąsaja, kurioje yra darbo su komandų sąrašu metodų aprašymai. Jame aprašomi šie metodai:

a)viešas Kolekcija getKomandasByTablicaId(Sveikasis skaičius chId) metimai PersistenceException metodas, skirtas gauti visas tam tikros turnyrinės lentelės komandas;

b)viešas Komanda findKomandaByName(Eilutės pavadinimas) meta PersistenceException metodą, kad gautų komandą pagal pavadinimą.

c) getThe WorstKomandaByChampId(String name) meta PersistenceException metodą, kad gautų prasčiausią čempionato komandą;

d)viešas String getTheBestKomandaByChampId(String name) meta PersistenceException metodą, kad gautų geriausią komandą čempionate;

e)viešas Kolekcija getTopTenKomandasByChampId(String name) meta PersistenceException metodą, kad patektų į 10 geriausių komandų čempionate;

...

Panašūs dokumentai

    Duomenų bazės struktūra. Trijų lygių architektūros, susidedančios iš pristatymo sluoksnio, verslo sluoksnio ir duomenų bazės sluoksnio, vizualizacija, įgyvendinta naudojant UML diagramas. Pagrindinės trijų sluoksnių aplikacijų konstrukcinės savybės. Kai kurių modulių šaltinio kodas.

    kursinis darbas, pridėtas 2012-11-03

    Kuriamos viešbučių duomenų bazės modelio projektavimas. Trigerių, saugomų procedūrų, užklausų kūrimas. Vartotojo sąsajos kūrimas. Registracijos, apskaitos, paieškos darbų automatizavimas, taip pat ataskaitų apie darbdavius ​​generavimas.

    kursinis darbas, pridėtas 2015-11-29

    Pagrindinių įmonėje esančių duomenų srautų charakteristikos. Programinės įrangos kūrimo metodai ir priemonės. Vartotojo sąsajos dizainas. Duomenų bazės sąveikos sluoksnio kūrimas. Verslo paslaugų lygmens plėtra.

    baigiamasis darbas, pridėtas 2017-10-07

    Funkcinių priklausomybių nustatymas. Duomenų bazės struktūros kūrimas. Duomenų bazės užklausų tvarkymas. Trigerių naudojimas duomenims atnaujinti. Saugomų procedūrų ir funkcijų kūrimas. Duomenų bazės priežiūros apribojimai.

    kursinis darbas, pridėtas 2014-06-17

    Duomenų bazės esmė yra rinkinys, rinkmenų rinkinys, kuriame yra informacija. Duomenų bazių valdymo sistema – tai programinė sistema (programa), suteikianti darbą su duomenų baze (duomenų failais). Trigerių naudojimo paskirtis ir nauda.

    kursinis darbas, pridėtas 2011-02-22

    Reliacinės duomenų bazės projektavimas, informacijos gavimo iš jos organizavimas. Rodinių kūrimas rezultatams rodyti. Saugomų procedūrų projektavimas. Duomenų valdymo mechanizmas naudojant trigerius. Reikalavimai techninei pagalbai.

    baigiamasis darbas, pridėtas 2011-07-03

    Baldų gamybai skirtos serverio tipo duomenų bazės su web sąsaja „Produktų apskaita“ kūrimas ir derinimas. Fizinių duomenų modelis. Apibūdinkite indeksus ir apribojimus, užklausas ir duomenų rodinius, ataskaitas ir diagramas. Trigerių ir saugomų procedūrų aprašymas.

    kursinis darbas, pridėtas 2015-02-20

    Duomenų manipuliavimo kalba. Duomenų atrankos procesas. Suvestinių funkcijų ir specialių operatorių naudojimas pasirinkimo sąlygomis. Kurkite ir naudokite rodinius bei saugomas procedūras. Trigerių naudojimas, vartotojo sąsajos kūrimas.

    laboratorinis darbas, pridėtas 2013-02-13

    Loginė ir fizinė duomenų bazės struktūra. Sistemos techninė ir programinė įranga. Rodinių, saugomų procedūrų, pasirinktinių funkcijų, trigerių kūrimas. Pagrindinės ASP.NET dokumentų struktūros aprašymas. Vartotojo sąsaja.

    kursinis darbas, pridėtas 2013-05-21

    Duomenų bazės samprata. Lentelių, informacijos įvedimo ir išvedimo formų, pagrindinių užklausų, saugomų procedūrų ir Skelbimų lentos duomenų bazės trigerių kūrimas. Paruošimas spausdinimui. Administravimo ir informacijos saugumo priemonių poreikio analizė.

Visada tikėjau, kad tie, kurie dirba futbole, yra privilegijuoti. Mes gauname atlyginimą už tai, kad dirbtume mėgstamą darbą ir su malonumu. O mano atveju man taip pat labai pasisekė, nes dirbau įvairiose šalyse, susidūriau su skirtingomis kultūromis ir darbo metodais, praplėčiau žinias ir patirtį. Ir tai padeda man analizuojant pažvelgti į dalykus iš skirtingų kampų.

Kai žmonės diskutuoja apie perkėlimus, žaidėjų rinkos vertes ir priežastis, kodėl perkate ar parduodate žaidėją, nesunku pastebėti, kad daugeliui trūksta esmės. Situacija gerbėjams gali būti pernelyg sudėtinga ir paini. Ir šiame straipsnyje pabandysiu pateikti savo požiūrį į tokias problemas, remdamasis asmenine patirtimi.

Žinoma, daugiausia dėmesio skirsiu savo atsakomybės sričiai klube. Tai futbolas, žaidimo kryptis, kurią nustato vadovas ar treneris – priklausomai nuo situacijos.

Klubo struktūra

Pats pirmas dalykas, kurį turite nustatyti, kai atvykstate į naują klubą, yra jo tikslai ir turimi ištekliai šiam tikslui pasiekti. Svarbu, ypač jei dirbate svečioje šalyje, atidžiai išanalizuoti klubo struktūrą.

Taisyklės, turnyrinė lentelė, rinktinė, klubo darbuotojai ir jų galios, žaidėjų sutartys, aplinka, kultūra, klubo tradicijos... Visa tai žinoti labai svarbu norint priimti teisingus sprendimus. Bent jau tie, kurie priklauso nuo jūsų.

Ispanijoje ir Italijoje yra pareigos, vadinamos „futbolo direktoriumi“ arba „vyriausiuoju skautu“. Teoriškai jis yra atsakingas už trenerio pasirašymą ir komandos papildymą. Daugeliu atvejų, nors ir ne visada, jis pataria atsakingam asmeniui – prezidentui/savininkui, kuris yra atsakingas už visus procesus, kai reikia jo galutinio žodžio.

Anglijoje visa tai atlieka vadybininkas. Tarp jo galių yra visų futbolo reikalų tvarkymas, įskaitant rungtynių sudėties nustatymą.

Praktiškai abiejų tipų struktūra priklauso nuo vieno dalyko: turimų lėšų perėjimams ir žaidėjų atlyginimų. Tiek „vadovas“, tiek „treneris“ neišvengiamai susiduria su tuo, kad iš savo sąrašo turi tik tris ar keturis žaidėjus. Tai iš tikrųjų yra tiesa. Pastaruoju atveju vadovas gali pasirinkti tuos, kurių nori.

Kompozicijos formavimas

Jūs, kaip už techninę problemos pusę atsakingas asmuo, turite pasirinkti žaidimo modelį, pagal kurį jūsų komanda elgsis aikštelėje. Svarbu pažinti visus žaidėjus, pasikalbėti su jais, sužinoti jų nuomonę dėl sudėties. Jei reikia, papildykite klipą atlikėjais, galinčiais jį kokybiškai sustiprinti. Jei neturite šios galimybės, turėsite pritaikyti esamą komandą prie savo žaidimo modelio ir tikėtis, kad žaidėjai palaikys, kai jums to prireiks.

Be to, įvairios šalys turi skirtingą požiūrį į sutarčių rengimą. Tarptautiniuose turnyruose dalyvaujantiems klubams taikomos specialios sąlygos. Yra lygų, kuriose turi žaisti 5 žaidėjai iš šios šalies, kitose yra užsieniečių pasirašymo limitas, kitose žaidėjai skirstomi į sąrašus „A“ ir „B“... Galų gale kiekviena šalis, kiekviena lyga turi savo ypatybes. Ir jūs turite juos visiškai suvirškinti prieš prisijungdami prie komandos ir nuspręsdami ją pakeisti.

Turite turėti planą, savotišką „futbolo projektą“. Tačiau kalbant su savininkais, kurie į futbolą ateina iš verslo pasaulio, tai turėtų būti vadinama tik „verslo planu“.

Ir čia aš vėl kreipsiuosi į savo patirtį. Kai atvykau į Italiją, „verslo plano“ nebuvo. Apie tai sužinojau tik paskutinę perėjimų lango dieną, kai staiga sužinojau, kad klubas laikysis sąžiningo finansinio žaidimo.

Ispanijoje nuolatinis dialogas su klubo vadovybe leidžia laikytis ekonominių apribojimų, supranti, kur esi. Nors vieną dieną nustebino paskutinę rugpjūčio dieną prezidentės inicijuotas puolėjo įsigijimas. Šį perdavimą jis pateisino pigiomis žaidėjo išlaidomis, nes jis buvo paskolintas.

Anglijoje, ypač Liverpulyje per pirmuosius 3 sezonus, pirmininkas ir generalinis direktorius mane informavo apie visus apribojimus ir galimybes. Vėliau klubo struktūra pasikeitė ir pamažu verslo planas tapo vis svarbesnis už bet kokį futbolo projektą priimant svarbius sprendimus.

Taip pat negalima pamiršti jaunimo akademijos veiklos. Žaidimas su vietiniais žaidėjais labai padidina jūsų ryšį su klubu ir žymiai sumažina išlaidas. Ispanijoje ir Italijoje jaunimo struktūra patikėta sporto direktoriui, vyriausiasis treneris tam neskiria daug laiko. Tai, kas gali nutikti Anglijoje, nutiko man praėjusiais metais Liverpulyje: vadybininkas visiškai kontroliuoja visą jaunimo sistemą ir gali nuolat siekti to paties žaidimo stiliaus visose amžiaus grupėse. Barselonos darbo su jaunimu struktūra dabar yra savo populiarumo viršūnėje. Ryškesnio ir ryškesnio pavyzdžio šiuo atžvilgiu nerasi.

Artimiausiu metu nesant jaunų perspektyvų, galinčių žaisti pirmoje komandoje, teks pasidomėti perėjimų rinka.

Sporto direktorius ar vadovas privalo kontroliuoti perėjimų biudžetą, taip pat skaičiuoti žaidėjų atlyginimus. Geras skautų tinklas yra būtinas, nors ir nėra patikimas, o pinigai turės įtakos tam, kad jūsų klubas galėtų pasiekti tam tikras rinkos nišas. Pajamos ir išlaidos svarbiau vadovui nei treneriui.

Taisyklės ir reglamentų rūšys

Taip pat reikia atsižvelgti į įvairius tarptautinius reglamentus. Paprastai pirmąją komandą sezone gali dalyvauti 25 žaidėjai. Kai kuriose šalyse, pavyzdžiui, Ispanijoje, jaunimas gali žaisti 5 rungtynes, po kurių jis turi būti įtrauktas į pagrindinę komandą.

Anglijoje galima naudotis žaidėjų iš dublerių komandos, kurioje treniravome jaunimą, paslaugomis, o jie savo ruožtu gavo patirties, reikalingos patekti į pirmąją komandą.

Jūs turite U18 komandą. Kai kurie žaidėjai iš ten, ypač jei jie yra iš užsienio, turi turėti profesionalius kontraktus. Priešingu atveju kiti klubai gali juos išplėšti tiesiai iš po nosies.

Per savo laiką Liverpulyje sirgaliai dažnai sakydavo, kad pasirašiau per daug žaidėjų, nors iš tikrųjų daugelis jų treniravosi atskirose jaunių grupėse, o kai kurių net nepažinojau. Ispanijoje tokie žaidėjai prisijungia prie antrosios jaunimo komandos ir nėra įtraukti į pagrindinės komandos įsigijimų registrą. Tas pats principas galioja ir Italijoje.

[Straipsnio komentaruose Rafa pažymėjo, kad ispanų sistema yra geresnė nei angliška, nes jaunimo žaidėjai nesileidžia tarp bendraamžių, žaidžia suaugusiųjų futbolą žemesniuose divizionuose, todėl daug lengviau suprasti aukšto lygio konkurencingumo lygis]

Čempionų lyga

Kitas taisyklių rinkinys, į kurį visada turime atsižvelgti, yra mūsų pačių ir vietinių studentų įtraukimas į sąrašą rengiant paraišką Čempionų lygai. Šis skaičius pasiekė 4 stulpelyje „mokytojai iš savo akademijos“, taip pat reikalingi 4 vietiniai žaidėjai. Jei futbolininkas klube praleido daugiau nei 3 metus, kol sulaukęs 21-ojo gimtadienio, jis laikomas savo mokiniu.

Vėlgi yra skirtumų. Treneris užsiima tik savo komanda, sudėtis yra sporto direktoriaus prerogatyva. Tačiau vadovas turi kurti ateities planus. Liverpulyje gavome tokią užduotį: atvežti iš užsienio kelis jaunus žaidėjus, kuriems iki 21-ojo gimtadienio buvo ne mažiau kaip 3 metai (Ayala, Pacheco, Insua), taigi pagal to meto taisykles ateityje jie būtų laikomi mūsų auklėtiniais, o tai padėtų klubui sutaupyti pinigų perėjimams ir sutartims, taip pat būtų įtraukta į paraišką Čempionų lygai. Ispanijoje ir apskritai Europoje kaip treneris į ateinančių metų planavimo procesą įsitraukia tik tuo atveju, jei dirbate keletą metų ir laimite trofėjus. Nedaugeliui pavyksta tai padaryti.

Futbolas yra komandinė sporto šaka, kurios tikslas yra įmušti kamuolį į varžovo vartus kojomis ar kitomis kūno dalimis (išskyrus rankas) daugiau kartų nei priešininkų komanda. Tai pati populiariausia sporto šaka pasaulyje. „Access Football Team“ duomenų bazės pagrindu pasirinktas futbolo klubas „Spartak“. Dalyko sritis – futbolo komanda. Tikslas – sukurti duomenų bazę, kurioje būtų galima saugoti, ieškoti ir peržiūrėti informaciją apie žaidėjus, žaidimus, žaidimų rezultatus, futbolo komandas ir kt. Ši duomenų bazė suteikia galimybę peržiūrėti klubo įvarčius, rodyti FC Spartak užsienio žaidėjų sąrašą, parsisiųsti žaidimų kalendorių, peržiūrėti kiekvieno FC Spartak žaidėjo statistiką, rungtynių statistiką. Taip pat galite generuoti turnyrinės lentelės lentelę po kiekvieno turo ir peržiūrėti kiekvienos komandos judėjimą RFPL čempionate grafiko pavidalu. Jei pageidaujama, duomenų bazę galima konvertuoti į bet kurį kitą futbolo klubą.

Prieigos futbolo komandų duomenų bazėje yra 7 lenteles, 12 užklausų, 8 formos + pagrindinio mygtuko forma, 7 ataskaitos. Ši Access duomenų bazė skirta mokymo tikslams ir tinka tolesniam optimizavimui bei modifikavimui, kad atitiktų jūsų poreikius.

Nėra aiškinamojo rašto!

Praktinių užduočių tikslas – įgyti dalykinės srities analizės, duomenų bazės projektavimo ir jos fizinio realizavimo Access DBVS įgūdžių.
Darbo rezultatas pateikiamas kaip Access duomenų bazė, kurioje turėtų būti:
projektuojamų stalų struktūra,
duomenų diagrama su ryšiais tarp lentelių,
formas, kurios suteikia vartotojo sąsają,
prašymai,
ataskaitos,
pagrindinio mygtuko forma.

Lentelė "Kalendorius 2016-2017" - Prieigos duomenų bazės futbolo komanda

„Žaidimų tvarkaraščio“ forma – Prieiga prie DB futbolo komandos

Žaidėjų forma – Prieigos duomenų bazės futbolo komanda

Forma „Turo rezultatai“ – Prieigos duomenų bazės futbolo komanda

Komandos žaidimo statistikos ataskaita – „Access Database Football Team“.

Ataskaita „Žaidėjų statistika 2016-2017“ – Prieiga DB Futbolo komanda

Pranešimas „Užsienio žaidėjų sąrašas“ – Prieigos duomenų bazės futbolo komanda

Pranešimas „Turnyro lentelė po N turo“ – Prieigos duomenų bazės futbolo komanda

Ataskaita "Kalendorius 2016-2017" - Prieigos duomenų bazės futbolo komanda

Pranešimas „Spartak komandos kelionių judėjimas“ - Prieiga prie futbolo komandos duomenų bazės

Atsisiųskite MS Access duomenų bazę; DB Access Football Team; Spartakas; futbolo klubas; prieigos duomenų bazė; db prieiga; subd prieiga; Prieiga prie duomenų bazių; prieigos pavyzdys; programavimo prieiga; paruošta duomenų bazė; sukurti duomenų bazę; DBVS duomenų bazė; patekti į kursinius darbus; duomenų bazės pavyzdys; prieigos programa; prieigos aprašymas; prieiga abstrakčiai; prieigos prašymai; prieigos pavyzdžiai; atsisiuntimo duomenų bazės prieiga; prieiti prie objektų; db prieigoje; parsisiųsti subd prieigą; ms prieigos duomenų bazė; subd prieigos santrauka; subd ms prieiga; prieigos privalumai; duomenų bazė; atsisiųskite prieigos duomenų bazę; Duomenų bazė; reliacinė duomenų bazė; duomenų bazių valdymo sistemos; kursų duomenų bazė; parsisiųsti duomenų bazę; prieigos duomenų bazės atsisiuntimas; prieigos duomenų bazės atsisiuntimas;

Panašūs straipsniai

2024 m. ap37.ru. Sodas. Dekoratyviniai krūmai. Ligos ir kenkėjai.