Pagbuo ng database ng football club. Project "Paglikha ng Football Championship Database

kampeonato ng football»

1. Paglalahad ng suliranin.. 2

2. Disenyo ng database.. 2

2.1. Pangunahing konsepto. 2

2.2. Normalization ng database. 3

3. Mga paliwanag para sa proyekto.. 6

4. Pagkakasunod-sunod ng trabaho... 6

4.1. Paggawa ng mga talahanayan... 6

4.1.1. Mga tool para sa pagtatrabaho sa mga database. 6

4.1.2. Mga gamit. 7

4.1.3. Mga bahagi... 7

4.1.4. Database alias. 7

4.1.5. Paglikha ng database. 7

4.1.6. Paggawa ng alias. 7

4.1.7. Paglikha ng mga talahanayan. 9

4.2. Lumilikha ng mga form... 11

4.3. Access sa database. 12

4.4. Gamit ang data module. 13

4.5. Pag-navigate sa pamamagitan ng mga talahanayan ng database. 14

4.5.1. Form Listahan ng mga utos. 14

4.5.2. Mag-navigate sa mga talaan.. 15

4.5.3. Form Listahan ng mga laban. 16

4.5.4. Form Listahan ng mga layunin. 21

4.5.5. Takdang-aralin para sa malayang gawain.. 21

5. Mga Sanggunian... 21

6. Paglalapat. Halimbawa ng pagpapatupad ng paghahanap.. 22

1. Paglalahad ng suliranin

Lumikha ng isang database kampeonato ng football, na bubuo ng ilang mga talahanayan. Lumikha ng mga form upang punan ang mga talahanayan. Magbigay ng kakayahang maghanap ng impormasyon sa pamamagitan ng mga pangunahing field.

2. Disenyo ng database

2.1. Pangunahing Konsepto

Database– isang organisadong koleksyon ng data na inilaan para sa pangmatagalang imbakan sa panlabas na memorya ng computer, patuloy na pag-update at paggamit. (Diksyunaryo ng Ershov ng Computer Science).

Mapapatunayan na ang anumang istraktura ng data ay maaaring ma-convert sa isang simpleng two-dimensional na talahanayan. Ang representasyong ito ay ang pinaka-maginhawa para sa user at sa makina.

Relational database- isang set ng data na binubuo ng kaugnay dalawang-dimensional na mga talahanayan.

Tandaan

Ang pangalan ay nagmula sa salitang Ingles na "relasyon" - saloobin.

Field ng talahanayan

Numero

Pangalan ng subscriber

Address

Pagpasok sa mesa

Petrov Evgeniy

Sadovaya st., 18

Tiyo Kolya

Berdeng kalye, 45-2-56

Dry cleaning

Kiev st., 123

Mga pangunahing konsepto ng relational database

Ang anumang koleksyon ng data ay ipinakita sa form dalawang-dimensional na mga talahanayan, ang bawat isa ay naglalaman ng impormasyon tungkol sa mga bagay ng isang partikular na uri. Ang bawat talahanayan ay binubuo ng nakapirming numero mga hanay At variable na bilang ng mga linya. Itala– hilera ng mesa.
Ang bawat tala ay naglalaman ng impormasyon tungkol sa isang hiwalay na pagkakataon ng isang bagay. Patlang– hanay ng talahanayan.
Ang bawat column ay kumakatawan sa isang partikular na data - isang katangian ng isang bagay (attribute). Para sa bawat field, dapat tukuyin ng developer ang:

· natatanging pangalan ng field;

· uri ng field;

· karagdagang mga katangian (haba, format) ng field.

Susi– isa o higit pang mga field upang matukoy ang mga talaan ng talahanayan. Ang paglalarawan ng mga patlang, na tinukoy ng developer, ay tinatawag na istraktura ng talahanayan. Ang bawat patlang ay maaaring isama sa ilang mga talahanayan. Ang pagpapalit ng bilang ng mga field at/o ang mga uri ng mga ito ay isang espesyal na operasyon.

Ang pangunahing ideya ng pamanggit na diskarte– ipakita ang isang arbitrary na istraktura ng data sa anyo ng isang simpleng two-dimensional na talahanayan. Ang prosesong ito ay tinatawag na normalisasyon mga istruktura.

2.2. Normalization ng Database

Kapag nagdidisenyo ng istraktura ng database, maaaring lumitaw ang mga problema:

· kalabisan ng impormasyon;

    hindi pagkakapare-pareho ng impormasyon; pagkawala ng integridad (relasyon sa pagitan ng data).

Ang proseso ng pagdidisenyo ng database gamit ang normal na paraan ng mga form ay sunud-sunod at binubuo ng sunud-sunod na pagsasalin ayon sa ilang mga tuntunin ng mga relasyon mula sa unang normal na anyo hanggang sa normal na anyo ng mas mataas na pagkakasunud-sunod.

Magsimula tayo sa pagbuo ng isang database na mag-iimbak ng impormasyon tungkol sa kampeonato ng football ng bansa (petsa ng laban, mga koponan sa paglalaro, nakapuntos ng mga layunin). Ipakita natin ang impormasyong ito sa anyo ng talahanayan 1. Sa istruktura ng talahanayan, ang mga pangalan lamang ng mga patlang ang ipinahiwatig, dahil ang uri at sukat ng mga patlang ay hindi mahalaga sa yugtong ito.

Talahanayan 1

Pangalan ng field

Petsa ng laban

Home team: pangalan, lungsod, coach

Away team: pangalan, lungsod, coach

Manlalaro na nakapuntos ng layunin

Mayroong mga pangunahing patakaran para sa pag-normalize ng istraktura ng isang database. Ibibigay lang namin ang mga patakaran kung saan kami gagana.

Panuntunan 1: Sa isang talahanayan, kailangan mong paghiwalayin ang mga compound field sa mga indibidwal na elemento ng data. Ang bawat field ng talahanayan ay dapat na kumakatawan sa isang natatanging uri ng impormasyon. Iyon ay, ito ay kinakailangan upang mapupuksa ang paulit-ulit na mga patlang (mga grupo).

Panuntunan 2: Ang bawat talahanayan ay dapat na may natatanging identifier (pangunahing key), na maaaring binubuo ng isa o higit pang mga field.

Panuntunan 3: Ang talahanayan ay hindi dapat maglaman ng data na hindi nauugnay sa bagay na tinukoy ng pangunahing key.

1 hakbang(Panuntunan 1)

Sa Talahanayan 1, ang pangalawa at pangatlong field ay pinagsama-sama at naglalaman ng impormasyon tungkol sa pangalan ng koponan, lungsod, at apelyido ng coach. Alinsunod sa Panuntunan 1 Ito ay kinakailangan upang paghiwalayin ang mga patlang na ito. Kukuha tayo ng bagong table 2.

talahanayan 2

Pangalan ng field

Petsa ng laban

Home team: pangalan

Koponan ng Tahanan: Lungsod

Home team: coach

Away team: pangalan

Layo Team: Lungsod

Layo na koponan: coach

Manlalaro na nakapuntos ng layunin

Tanda ng koponan kung saan kabilang ang manlalaro

Oras (bilang ng mga minuto mula sa simula ng laban)

Ang isa pang kinakailangan na dapat nating isaalang-alang ay ang pangangailangan na alisin ang mga duplicate na field (mga grupo). Sa unang tingin, maaaring mukhang sa Talahanayan 2 ang mga paulit-ulit na grupo ng mga field ay mga field na may impormasyon tungkol sa home at away team. Ngunit ang mga patlang na ito ay may iba't ibang functional na kahulugan.

Hakbang 2(Panuntunan 2)

Ang mga entry sa Talahanayan 2 ay hindi naglalaman ng isang natatanging key na maaaring magamit upang malinaw na matukoy ang laban na nilalaro. Samakatuwid, maglalagay kami ng karagdagang key field sa Talahanayan 2 – ang match code. Kukuha tayo ng bagong table 3.

Talahanayan 3

Pangalan ng field

Match code (key)

Petsa ng laban

Home team: pangalan

Koponan ng Tahanan: Lungsod

Home team: coach

Away team: pangalan

Layo Team: Lungsod

Layo na koponan: coach

Manlalaro na nakapuntos ng layunin

Tanda ng koponan kung saan kabilang ang manlalaro

Oras (bilang ng mga minuto mula sa simula ng laban)

Para sa bawat layunin, ang Talahanayan 3 ay naglalaman ng paulit-ulit na impormasyon tungkol sa petsa ng laban at sa mga koponan. Samakatuwid, hahatiin namin ang talahanayang ito sa dalawang talahanayan, ang isa ay maglalaman ng data sa mga tugma, at ang isa ay maglalaman ng data sa mga layunin na nakapuntos sa bawat partikular na tugma. Ang istraktura ng mga talahanayan na ito ay ipinapakita sa Talahanayan 4 at 5.

Talahanayan 4

Pangalan ng field

Match code (key)

Petsa ng laban

Home team: pangalan

Koponan ng Tahanan: Lungsod

Home team: coach

Away team: pangalan

Layo Team: Lungsod

Layo na koponan: coach

Talahanayan 5

Pangalan ng field

Code ng layunin (key)

Match code

Manlalaro na nakapuntos ng layunin

Tanda ng koponan kung saan kabilang ang manlalaro

Oras (bilang ng mga minuto mula sa simula ng laban)

Ang mga talahanayan 4 at 5 ay naka-link ayon sa field Match code, na natatangi para sa Talahanayan 4. Upang matiyak ang pagiging natatangi ng mga tala sa talahanayan 5, ang susi ay ipinakilala dito Code ng Layunin.

Hakbang 3(Panuntunan 3)

Upang matupad ang Rule 3, kinakailangang paghiwalayin sa isang hiwalay na talahanayan ang mga field na hindi nakadepende sa susi Match code. Sa Talahanayan 4, ang mga patlang na ito ay ang mga patlang na tumutukoy sa utos. Hatiin natin ang talahanayan 4 sa dalawang talahanayan: ang una ay impormasyon tungkol sa mga laban, ang pangalawa ay impormasyon tungkol sa mga koponan (tingnan ang talahanayan 6 at 7).

Talahanayan 6

Pangalan ng field

Match code (key)

Petsa ng laban

Code ng home team

Code ng away ng team

Talahanayan 7

Pangalan ng field

Command code (key)

Pangalan

Bilang resulta, ang aming database kampeonato ng football magkakaroon ng istraktura na ipinapakita sa Figure 1.

3. Mga paliwanag para sa proyekto

Ang proyekto ay binubuo ng limang anyo:

    ang pangunahing anyo ng programa kung saan binubuksan ang lahat ng iba pang mga form; anyo Listahan ng mga laban, na naglalaman ng listahan ng lahat ng mga laban sa kampeonato ng football; anyo Listahan ng mga utos, na naglalaman ng impormasyon tungkol sa mga utos; anyo Listahan ng mga layunin, na naglalaman ng impormasyon tungkol sa mga nakapuntos na layunin; anyo Maghanap, kung saan maaari kang magsagawa ng iba't ibang uri ng paghahanap.

4. Pagkakasunod-sunod ng trabaho

4.1. Paglikha ng mga talahanayan

4.1.1. Mga Tool sa Database

Mga Pasilidad Delphi, na idinisenyo upang gumana sa mga database, ay maaaring nahahati sa dalawang uri:

· Mga gamit– mga espesyal na programa na nagbibigay ng pagpapanatili ng mga database sa labas ng mga binuong aplikasyon.

· Mga bahagi, na nilayon para sa paglikha ng mga application na gumaganap ng mga operasyon sa mga database.

4.1.2. Mga gamit

· BorlandDatabasemakina(BDE) ay isang database processor, na isang set ng mga dynamic na library at driver na idinisenyo upang ayusin ang access sa mga database mula sa mga application ng Delphi.

· BDETagapangasiwa– isang utility para sa pag-configure ng iba't ibang mga parameter ng BDE.

· Database Desktop – isang programa para sa paglikha at pag-edit ng mga talahanayan at mga query sa SQL.

· SQLExplorer- Database Explorer, na nagpapahintulot sa iyo na tingnan at i-edit ang mga database.

4.1.3. Mga bahagi

Narito ang mga bahagi na gagamitin sa proyektong ito.

mesa– isang set ng data batay sa isang talahanayan ng database (pahina BDE);

Pinanggalingan ng Datos– pinagmumulan ng data (pahina DataAccess);

DBGrid– talahanayan (pahina DataMga kontrol);

DBNavigator– interface ng nabigasyon (pahina DataMga kontrol);

DBEedit– isang linyang editor (pahina DataMga kontrol).

4.1.4. Database alias

Kapag bumubuo ng isang programa, mahirap agad na mahulaan kung aling disk at sa kung aling direktoryo ang mga file ng database ay matatagpuan sa panahon ng kanilang paggamit. Upang malutas ang problemang ito sa Delphi ginagamit ang alias ( alyas), na tumutukoy sa lokasyon ng mga file ng database. Ang alias ay isang maikling pangalan na tumutugma sa tunay, buong pangalan ng direktoryo ng database. Ang mga alyas ay nai-save sa registry, at pagkatapos ay ang lahat ng mga programa, kapag inilunsad, ay mahahanap ang talahanayan gamit ang mga alias na ito at basahin ang mga kinakailangang setting na dapat gamitin kapag nag-a-access ng data.

Tandaan

Sa prinsipyo, maaari mong ma-access ang mga talahanayan nang walang mga alias, ngunit sa kasong ito ang landas ay kailangang i-hardcode sa programa. Sa kasong ito, mas mahusay na iimbak ang mga talahanayan at ang maipapatupad sa parehong folder.

4.1.5. Paglikha ng database

Ang proseso ng paglikha ng isang database ay maaaring katawanin bilang isang pagkakasunud-sunod ng mga sumusunod na hakbang:

1. Gumawa ng folder.

2. Gumawa ng alias.

3. Paglikha ng mga talahanayan.

Gumawa tayo ng isang folder para sa ating proyekto at isang subfolder para sa database gamit ang mga tool sa Windows. Pangalan ng folder - Database, pangalan ng folder - Data.

4.1.6. Paglikha ng Alyas

Ang isang alias ay maaaring malikha gamit ang utility BDETagapangasiwa:

C:\Program Files\Common Files\Borland Shared\BDE\bdeadmin. exe

Ipinapakita ng Figure 2 ang dialog box BDETagapangasiwa pagkatapos ilunsad ang utility.

Sa kaliwang bahagi ng window, sa tab Mga database, naglilista ng mga alias na nakarehistro sa computer na ito. Upang lumikha ng bagong alias dapat mong piliin ang utos ng menu Bagay –Bago. Magbubukas ang isang bagong dialog box BagoDatabasealyas(Figure 3) mula sa listahan DatabaseDriverPangalan piliin ang driver (uri ng database) STANDARD, na nagbibigay ng access sa mga talahanayan sa format Kabalintunaan.

Upang kumpirmahin ang pagpili ng driver, mag-click sa pindutan OK. Bilang resulta, isang bagong elemento ang idadagdag sa listahan ng mga alias (tingnan ang Larawan 4).

Maaari mo na ngayong baguhin ang pangalan ng alias na awtomatikong ginawa ng administrator at itakda ang landas sa mga file ng database.

Maaari mong baguhin ang pangalan ng alias sa pamamagitan ng pag-right click sa pangalan ng alias (sa Mga database), sa menu ng konteksto na bubukas, piliin ang command Palitan ang pangalan at maglagay ng bagong pangalan - Isports.

Ang path sa mga file ng database ay ipinasok sa tab na Definition sa Path field gamit ang keyboard o gamit ang standard Select Directory dialog box, na bubukas sa pamamagitan ng pag-click sa tatlong-tuldok na button na matatagpuan sa dulo ng Path field (tingnan ang Figure 5 ).

Upang mairehistro ang nilikhang alias sa configuration file ( idapi.cfg), kailangan mong isagawa ang utos sa menu Bagay –Apple (Ilapat). Sa dialog box na bubukas Kumpirmahin Dapat mong kumpirmahin ang pangangailangang i-save ang mga pagbabago sa configuration file.

4.1.7. Paglikha ng mga talahanayan

Simulan natin ang paglikha ng mga talahanayan ng database kampeonato ng football: match table – tugma, command table – Koponan at ang talahanayan ng mga layunin - Layunin. Ang istraktura ng mga talahanayan na ito ay ipinapakita sa Talahanayan 8, 9 at 10, ayon sa pagkakabanggit.

Talahanayan ng tugma - tugma Talahanayan 8

(pangalan ng field)

Tandaan

Match code (key)

Petsa ng laban

Code ng home team

Code ng away ng team

Command Table – Koponan Talahanayan 9

(pangalan ng field)

Tandaan

Command code (key)

Pangalan

Talaan ng layunin - Layunin Talahanayan 10

(pangalan ng field)

Tandaan

Code ng layunin (key)

Match code

Manlalaro na nakapuntos ng layunin

Tanda ng koponan kung saan kabilang ang manlalaro: 1 – host, 2 – panauhin.

Oras (bilang ng mga minuto mula sa simula ng laban)

Ang mga talahanayan ay nilikha gamit ang kasama Delphi mga kagamitan DatabaseDesktop. Ang utility na ito ay nagpapahintulot sa iyo na lumikha, tingnan at baguhin ang mga talahanayan ng database ng iba't ibang mga format. Tawagan ang utility Desktop ng Database Maaari:

C:\Program Files\Common Files\Borland Shared\Database Desktop\dbd32.exe

Upang lumikha ng isang talahanayan sa isang window DatabaseDesktop patakbuhin ang utos file-bago-mesa... Una sa bintana Lumikhamesa kailangan mong piliin ang uri ng talahanayan mula sa drop-down na listahan at pindutin ang pindutan Ok. Hayaan ang uri ng base Kabalintunaan7. Pagkatapos nito, bubukas ang isang bagong window (tingnan ang Figure 5), kung saan kailangan mong lumikha ng istraktura ng talahanayan tugma.

Para sa bawat field ng talahanayan, dapat kang tumukoy ng pangalan, uri, at, kung kinakailangan, ang laki ng field. Ang pangalan ng field ay ginagamit upang ma-access ang data. Ang pangalan ay isang pagkakasunud-sunod ng mga titik ng alpabetong Latin at mga numerong hindi hihigit sa 25 character. Upang tukuyin ang uri ng field, gamitin ang spacebar o kanang pindutan ng mouse. Uri Alpha nangangahulugang text (string) na uri ng field. Para sa field na ito, dapat mong tukuyin ang haba nito. Para sa mga patlang na may uri Numero, Petsa hindi ipinahiwatig ang haba. Kinakailangang markahan ang pangunahing katangian ng field ID_M, itinatakda ang simbolo na “*” sa column Susi.

Tandaan

Dapat igrupo ang mga pangunahing field sa tuktok ng talahanayan.

Matapos makumpleto ang pagpuno sa talahanayan, i-save ito sa pamamagitan ng pag-click sa pindutan I-savebilang... Sa bintanang bumukas I-savemesaBilang... sa field Pangalan ng file ilagay ang pangalan ng talahanayan tugma, at sa bukid alyas piliin ang alyas na ginawa mo kanina Isports. Upang lumabas, pindutin ang key I-save.

Kapag lumilikha ng mga field ng talahanayan, maaari mong gamitin ang pagtatakda ng mga paghihigpit sa mga halaga ng field, na binubuo ng pagtukoy sa mga sumusunod na parameter para sa mga field na ito:

1. Kinakailangang magpasok ng mga halaga ( KailanganPatlang);

2. Pinakamababang halaga ( pinakamababahalaga);

3. Pinakamataas na halaga ( Pinakamataashalaga);

4. Default na halaga ( Defaulthalaga);

5. Input mask ( Larawan).

Ang Figure 6 ay nagpapakita ng isang halimbawa ng pagpuno sa field PR_G (Tanda ng utos), na nagpapahiwatig ng mga paghihigpit sa halaga ng field.

Lumikha at mag-save ng mga talahanayan ng command sa parehong paraan - Koponan at mga ulo- Layunin.

Ang mga talahanayan ng database ay nilikha at maaari mo na ngayong simulan ang pagbuo ng isang programa na gumagamit ng mga talahanayan na ito.

4.2. Paglikha ng mga Form

Gumawa ng proyekto.

Talahanayan 10

Napiling sangkap

Window ng Object Inspector

Pangalan ng ari-arian

Aksyon

database ng SPORTS

I-save ang module at proyekto bilang UnitGlavn at ProjectGlavn sa folder Database.

Gumawa ng apat na form gamit ang File-New-Other na utos. Sa bintanang bumukas Bagoitem piliin sa tab Bago isang bagay Form. Bigyan ang mga pangalan ng mga form at i-save ang mga module na may mga pangalan na ipinapakita sa talahanayan.

Talahanayan 11

Pangalan ng form

Pangalan ng form

Pangalan ng module

Listahan ng mga laban

Listahan ng mga utos

Listahan ng mga layunin

Maghanap

Maglagay ng limang mga pindutan sa pangunahing form:

Listahan ng mga laban, Listahan ng mga utos, Listahan ng Ulo, Maghanap, Lumabas.

Para sa bawat pindutan, isulat ang kaukulang pamamaraan para sa pagbubukas ng window (tingnan ang Talahanayan 12).

Talahanayan 12

Napiling sangkap

Window ng Object Inspector

Pangalan ng ari-arian

Aksyon

Listahan ng mga laban

FormMatch. Ipakita;

Listahan ng mga utos

Listahan ng mga layunin

Maghanap

FormSearch. Ipakita;

Lumabas

Sa pangunahing form na module pagkatapos ng service word pagpapatupad kailangan mong isulat:

Mga gamit UnitMatch, UnitTeam, UnitGoal, UnitPoisk;

Bumalik sa proyekto.

4.3. Access sa database

Ang access sa database ay ibinibigay ng mga bahagi Database, mesa At Pinanggalingan ng Datos.

Component Database kumakatawan sa database bilang isang solong kabuuan, ibig sabihin, isang koleksyon ng mga talahanayan, mga bahagi mesa– isa sa mga talahanayan ng database. Component Pinanggalingan ng Datos nagbibigay ng koneksyon sa pagitan ng talahanayan at ng data display o bahagi ng pag-edit (tingnan ang Figure 7).

4.4. Gamit ang Data Module

Kapag nagdidisenyo ng isang form, ang mga non-visual na bahagi na ginagamit upang ma-access ang data, gaya ng Pinanggalingan ng Datos o mesa, ay inilalagay sa form, ngunit ang mga bahaging ito ay hindi nakikita kapag tumatakbo ang application. Samakatuwid, maaari silang ilagay sa anumang maginhawang lugar sa form, na nagsisilbing isang lalagyan para sa kanila - isang module. Upang mapaunlakan ang mga di-visual na bahagi kung saan na-access ang data, isang espesyal na bagay ang inilaan - isang module ng data (tingnan ang Figure 8).

Lumikha ng bagong bagay DataModule sa pamamagitan ng pagpapatakbo ng utos file-bago-DataModule. I-save ang module nito sa ilalim ng pangalan UnitDModul sa folder Database.

Sa window sheet DataModule1 ipasok ang bahagi ng Database (koneksyon sa server) mula sa pahina BDE. Sa ari-arian AliasName(pangalan ng alyas) pumili mula sa listahan: Isports.

Idagdag sa window DataModule1 Mga bahagi mesa(set ng data) na may BDE At DateSource(pinagmulan ng data) mula sa pahina DataAccess at ilagay ang mga ito sa tabi ng bawat isa (tingnan ang Larawan 8).

Pag-activate ng talahanayan tugma. Upang gawin ito, itakda ang mga katangian ng bahagi Talahanayan1 At Pinagmulan ng Data1 sa pagkakasunud-sunod kung saan nakalista ang mga ito sa Talahanayan 13.

Talahanayan 13

Napiling sangkap

Window ng Object Inspector

Pangalan ng ari-arian

Aksyon

Tandaan

TableMatch

Ang pangalan ng database kung saan bahagi ang talahanayan. Ginagamit ang isang database alias.

tugma. db

Ang pangalan ng data file na ginagamit ng component para ma-access.

Tanda ng pag-activate ng file ng data (talahanayan). totoo– pagbubukas ng file.

DS_Match

Ang pangalan ng bahagi upang ma-access ang mga katangian nito.

TableMatch

Pangalan ng bahagi – input ng data.

Sundin ang mga katulad na hakbang para sa mga talahanayan Listahan ng mga utosKoponan At Listahan ng mga layuninLayunin. Bilang resulta, ang bintana DataModule1 magmumukhang ipinapakita sa Figure 9.

4.5. Pag-navigate sa Mga Table ng Database

4.5.1. Form Listahan ng mga utos

I-activate ang form Listahan ng mga utos. Maglagay ng isang bahagi dito DBGrid(talahanayan ng data) mula sa pahina DataMga kontrol(Pamamahala ng data). Para sa bagay na ito dapat kang sumulat Pinanggalingan ng Datos(pinanggalingan ng Datos). Buksan ang property na ito. Makikita mo na wala pang mapagpipilian. Sa form module Listahan ng mga utos pagkatapos ng opisyal na salita pagpapatupad isulat:

Mga gamit UnitDModul;

Buksan muli ang ari-arian Pinanggalingan ng Datos at piliin ang tanging magagamit na entry dito: DataModule1. DS_Team. Ngayon ang bahagi DBGrid at sangkap Pinanggalingan ng Datos konektado sa isa't isa. Sa sangkap DBGrid lumitaw ang mga pangalan ng mga patlang ng nilikhang talahanayan Koponan.

Pumunta sa bintana DataModule1 at i-double click ang bagay TableTeam. Magbubukas ang isang maliit na bintana DataModule1. DS_Koponan. Mag-click sa field ng window na ito gamit ang kanang pindutan ng mouse at piliin ang linya sa menu ng konteksto Idagdaglahatmga patlang(idagdag ang lahat ng mga patlang).

Pumunta sa form Listahan ng mga laban at i-double click ang bagay DBGrid. Bumukas ang bintana Pag-editDBGrid1.Mga hanay(editor ng hanay). Mag-click sa field ng window na ito gamit ang kanang pindutan ng mouse at piliin ang linya sa menu ng konteksto IdagdagLahatMga patlang(idagdag ang lahat ng mga patlang). Sa bintana Pag-editDBGrid1.Mga hanay Ang isang listahan ng lahat ng mga patlang ng talahanayan ay lilitaw. Mag-click sa isa sa mga pangalan ng field na lilitaw. Buksan ang ari-arian Pamagat(pangalan) at para sa bawat field sa

ari-arian Caption isulat ang pangalan: Code ng koponan, Pangalan ng koponan, Lungsod, Coach(tingnan ang Larawan 10) .

Bilang resulta ng mga pagkilos na ito, makikita sa talahanayan ang mga pangalan ng field na Russian Listahan ng mga laban. Isara ang bintana Pag-editDBGrid1.Mga hanay.

4.5.2. Mag-navigate sa mga entry

Ang mga sumusunod na pamamaraan ay ginagamit upang ilipat ang pointer sa kasalukuyang tala sa isang set ng data:

pamamaraan Una– pagtatakda sa unang tala;

pamamaraan Susunod– pagtatakda sa susunod na tala (para sa huling talaan ang pointer ay hindi gumagalaw);

pamamaraan Huling– pagtatakda sa huling tala;

pamamaraan Bago– pagtatakda sa nakaraang tala (para sa unang talaan ang pointer ay hindi gumagalaw).

Delphi nagbibigay ng kakayahang mag-navigate sa isang set ng data gamit ang mga kontrol, na maaaring magamit bilang mga bahagi DBGrid At DBNavigator. Ang pamamahala sa mga elementong ito ay nagiging sanhi ng mga naunang nakalistang pamamaraan na awtomatikong tinatawag.

Punta tayo sa form Listahan ng mga utos. Magdagdag ng isang bahagi sa form DBNavigator(database navigator) mula sa pahina DataMga kontrol(Pamamahala ng data). Ang navigator ay naglalaman ng mga pindutan na nagbibigay-daan sa iyo upang magsagawa ng iba't ibang mga operasyon gamit ang isang set ng data sa pamamagitan ng awtomatikong pagtawag sa naaangkop na paraan. Ang komposisyon ng mga button ay tinutukoy ng VisibleButtons property. Ang Figure 11 ay nagpapakita ng pangkalahatang view ng component DBNavigator.

Ginagawa ng mga navigator button ang mga sumusunod na pagkilos:

Talahanayan 14

Numero ng pindutan sa larawan

Pagtatalaga ng pindutan

Aksyon

Ilipat sa unang entry

Lumipat sa nakaraang entry

Lumipat sa susunod na entry

Ilipat sa huling entry

Paglalagay ng bagong record bago ang kasalukuyang record

Tinatanggal ang kasalukuyang entry

Pag-edit ng kasalukuyang entry

Pag-save ng na-edit na impormasyon sa database.

Kanselahin ang resulta ng pag-edit o pagdaragdag ng bagong entry

Gumawa ng mga pagbabago sa mga katangian ng bahagi DBNavigator.

Talahanayan 15

Napiling sangkap

Window ng Object Inspector

Pangalan ng ari-arian

Aksyon

(pinanggalingan ng Datos)

DataModule1.D.S. _Koponan

(pagtatatag ng koneksyon sa pagitan ng mga bagay)

(show hint)

(clue)

Mag-click sa pindutan na may tatlong tuldok na matatagpuan sa kanan. Sa lalabas na built-in na window ng editor StringListahanEditor palitan ang Ingles ng mga pangalan ng button na Ruso:

Unang recording

Nakaraang post

Susunod na entry

huling record

Paglalagay ng Record

Pagtanggal ng entry

Pag-edit ng post

Nagse-save ng mga pagbabago

kanselahin ang mga pagbabago

I-update ang mga pagbabago

Tapusin sa pamamagitan ng pag-click sa OK.

I-save ang iyong mga pagbabago at patakbuhin ang proyekto. Tiyaking gumagana ang lahat.

4.5.3. Form Listahan ng mga laban

I-activate ang form Listahan ng mga laban. Maglagay ng isang bahagi dito DBGrid at sundin ang mga katulad na hakbang sa talata 4.5.1 para sa talahanayan tugma.

Maaari kang mag-navigate sa talahanayan sa pamamagitan ng program, nang hindi gumagamit ng mga bahagi DBNavigator. Upang gawin ito, gumawa tayo ng mga pagbabago sa bahaging ito, magtakda ng mga katangian na magpapahintulot na magamit ito para sa pag-navigate sa talahanayan tugma apat na pindutan lamang Una, Bago, Susunod, Huli (tingnan ang Talahanayan 12). Itakda ang mga katangiang ito tulad ng ipinapakita sa Figure 12.

Magdagdag ng mga bahagi ng Button sa form ( Baguhin, Magdagdag, Tanggalin, Kumpirmahin, Kanselahin), Label upang ipakita ang katayuan ng pag-record (Tingnan, Tanggalin, I-edit, Ipasok) at CheckBox upang i-on o i-off ang mode ng pag-edit, tulad ng ipinapakita sa Figure 13. Ilagay din ang mga bahagi ng label sa form at sa tabi ng mga ito ang mga kaukulang bahagi para sa mga field sa pag-edit.

Larawan 13

Kapag pinupunan ang mga patlang Ang koponan ang may-ari, Guest team mga mesa Listahan ng mga laban, ipinapayong piliin ang mga halaga ng mga field na ito mula sa listahan. Kung ang isang field ay may tinukoy na lookup table, maaari mo lamang ilagay ang value na nilalaman sa lookup table. Tinitiyak nito na ang isang di-wastong halaga ay hindi ipinasok sa field. Upang gawin ito, gagamitin namin ang bahagi DBLookupComboBox, kung saan maaari mong piliin ang kinakailangang impormasyon mula sa talahanayan Koponan.

Sundin ang mga hakbang sa Talahanayan 16.

Talahanayan 16

Napiling sangkap

Window ng Object Inspector

Pangalan ng ari-arian

Aksyon

Petsa ng laban

DBEdit1 mula sa pahina ng Data Control

DataModule1.DS_Match

Ang koponan ang may-ari

DBLookupComboBox1

DataModule1.Ds_Match

DataModule1.DS_Team

Guest team

DBLookupComboBox2

DataModule1.DS_Match

DataModule1.DS_Team

Upang gawing madaling basahin ang programa na aming isusulat, ipakikilala namin ang mga pagtatalaga ng mga nilikha na mga pindutan at mga label. Upang gawin ito kailangan mong baguhin ang ari-arian Pangalan para sa kaukulang mga bahagi (tingnan ang talahanayan 17).

Talahanayan 17

Component

Simbolo

Ari-arian Pangalan

Baguhin

Idagdag

Tanggalin

Kumpirmahin

Kanselahin

Isara

Katayuan ng Pagre-record

Petsa ng laban

TDBLookupComboBox

Ang koponan ang may-ari

TDBLookupComboBox

Guest team

mesa

I-edit ang mode

UnitMatch.

1. Sa seksyon Gamitin

DB, DBTables , Mga Dialog, ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls, Mask;

2. At sa seksyong naglalarawan ng mga variable bago pagpapatupad dapat may entry:

FormSpisok: TFormSpisok;

3. Pagkatapos mag-record ($R *.dfm) maglalagay kami ng dalawang pantulong na pamamaraan:

pamamaraan TFormMatch. StateChange(Sender: TObject);

btnI-edit. Pinagana:=false;

btnInsert. Pinagana:=false;

btnTanggalin. Pinagana:=false;

btnChangeOK. Pinagana:=true;

pamamaraan TFormMatch. StateBrowse(Sender: TObject);

cbCanEditClick(Sender);

btnChangeOK. Pinagana:=False;

4. Bago ang seksyon pribado (Mga pribadong deklarasyon) sa seksyon ng paglalarawan Uri magpasok ng dalawang linya:

pamamaraan StateChange(Sender: TObject);

pamamaraan StateBrowse(Sender: TObject);

5. Para sa bawat pindutan, isulat ang kaukulang pamamaraan.

BtnEdit –Baguhin – OnClick

DataModule1.DS_Match. Dataset. I-edit;

lblChangeKind. Font. Kulay:=clTeal;

lblChangeKind. Caption:="EDITING A POST";

StateChange(Sender);

BtnInsert –Idagdag OnClick

Numero ng Var: Integer;

// Kumpirmahin upang ipasok ang mode

Kung MessageDlg("Magdagdag ng entry?",

<>mrYes pagkatapos Lumabas;

DataModule1.DS_Match. Dataset. Huling;

Numero:=DataModule1.DS_Match. Dataset. FieldByName("ID_M").AsInteger;

DataModule1.DS_Match. Dataset. Idugtong;

// Ang numero ng tugma ay awtomatikong nabuo sa pamamagitan ng pagtaas ng numero sa huling entry

DataModule1.DS_Match. Dataset. FieldByName("ID_M").AsInteger:=Nomer+1;

lblChangeKind. Font. Kulay:=clGreen;

lblChangeKind. Caption:="INSERT RECORD";

StateChange(Sender);

kung DbeDat. CanFocus pagkatapos ay DbeDat. SetFocus;

BtnDelete – Tanggalin - OnClick

// Kahilingan para sa kumpirmasyon ng paglipat sa viewing mode para sa tinanggal na tala

Kung MessageDlg("Tanggalin ang entry?",

mtConfirmation, , 0)<>mrYes pagkatapos Lumabas;

lblChangeKind. Font. Kulay:=clRed;

lblChangeKind. Caption:="DELETE ENTRY";

StateChange(Sender);

kung btnChangeCancel. CanFocus pagkatapos ay btnChangeCancel. SetFocus;

BtnChangeOK – Kumpirmahin - OnClick

// Aprubahan ang mga pagbabago sa kasalukuyang tala (na-edit o bago)

// o tanggalin ang kasalukuyang talaan (tiningnan)

Kung ang DataModule1.TableMatch. Estado sa

// Suriin kung ang mga patlang ay napunan

Kung ang dbeDat. Text="" pagkatapos

MessageDlg("Hindi itinakda ang petsa ng pagtutugma", mtError, , 0);

kung DbeDat. CanFocus pagkatapos ay DbeDat. SetFocus;

Kung ang DBLHost. Text="" pagkatapos

MessageDlg("Ang master command ay hindi tinukoy", mtError, , 0);

kung DBLHost. CanFocus pagkatapos ay DBLHost. SetFocus;

Kung ang DBLGuest. Text="" pagkatapos

MessageDlg("Hindi tinukoy ang utos ng bisita", mtError, , 0);

kung DBLGuest. CanFocus pagkatapos ay DBLGuest. SetFocus;

DataModule1.TableMatch. Post

iba kung lblChangeKind. Caption="DELETE ENTRY"

pagkatapos ay DataModule1.TableMatch. Tanggalin;

StateBrowse(Nagpadala);

BtnChangeCancel – Kanselahin - OnClick

// Kung ang dataset ay nasa view mode (noong ang record ay tinanggal),

// pagkatapos ang paraan ng Kanselahin ay hindi nagsasagawa ng anumang mga aksyon

DataModule1.TableMatch. Kanselahin

StateBrowse(Nagpadala);

BtnClose –Isara OnClick

cbCanEdit – OnClick

var bm1: TBookmark;

// Alalahanin ang posisyon ng kasalukuyang tala

bm1:=DataModule1.Ds_Match. Dataset. GetBookmark;

// Huwag paganahin ang pagpapakita ng mga pagbabago sa data sa mga visual na bahagi

DataModule1.Ds_Match. Dataset. DisableControls;

Kung hindi cbCanEdit. Sinuri pagkatapos magsimula

DataModule1.TableMatch. ReadOnly:=true;

// I-lock ang mga elemento na nauugnay sa paglipat

// sa record modification mode

btnI-edit. Pinagana:=false;

btnInsert. Pinagana:=false;

btnTanggalin. Pinagana:=false;

btnChangeCancel. Pinagana:=false;

btnChangeOK. Pinagana:=false;

lblChangeKind. Font. Kulay:=clBlue;

lblChangeKind. Caption:="VIEW RECORDING";

DBEDat. Pinagana:=false;

DBLHost. Pinagana:=false;

DBLGuest. Pinagana:=false;

DataModule1.TableMatch. Aktibo:=false;

DataModule1.TableMatch. ReadOnly:=false;

DataModule1.TableMatch. Aktibo:=totoo;

// I-unlock ang mga elemento na nauugnay sa paglipat

// sa record modification mode

btnI-edit. Pinagana:=true;

btnInsert. Pinagana:=true;

btnChangeCancel. Pinagana:=true;

btnChangeOK. Pinagana:=true;

DBEDat. Pinagana:=true;

DBLHost. Pinagana:=true;

DBLGuest. Pinagana:=true;

// Kung walang laman ang data set, ipinagbabawal ang pagtanggal ng mga tala

Kung ang DataModule1.Ds_Match. Dataset. RecordCount>0

pagkatapos btnDelete. Pinagana:=true

iba btnDelete. Pinagana:=false;

// Bumalik sa kasalukuyang entry

pagkatapos ay DataModule1.Ds_Match. Dataset. GotoBookmark(bm1);

Kung ang DataModule1.Ds_Match. Dataset. BookmarkValid(bm1)

pagkatapos ay DataModule1.Ds_Match. Dataset. LibrengBookmark(bm1);

// Paganahin ang pagpapakita ng mga pagbabago sa data sa mga visual na bahagi

DataModule1.Ds_Match. Dataset. EnableControls;

FormMatchOnCreate

// Sa una, ang pagpapalit ng mga tala ay ipinagbabawal

cbCanEdit. Naka-check:=false;

// Ipagbawal ang awtomatikong paglipat sa mode ng pag-edit

DataModule1.DS_Match. AutoEdit:=false;

DBGridMatch. Columns.ReadOnly:=True;

FormMatchSa palabas

// Paunang estado ng mga elemento ng kontrol

StateBrowse(Nagpadala);

4.5.4. Form Listahan ng mga layunin

Bumuo ng sarili mong proseso ng pagpuno ng form at nabigasyon Listahan ng mga layunin.

4.5.5. Takdang-aralin para sa malayang gawain

    Sa form Listahan ng mga laban magdagdag para sa bawat koponan (host team, guest team) ng impormasyon tungkol sa team city at ang pangalan ng coach. Sa form Listahan ng mga laban sa talahanayan ng mga tugma, alisin (visibility) ang field ng match code. Sa form Listahan ng mga utos pindutan ng magdagdag Isara anyo.

Na-rate na 5

Bumuo ng sarili mong form sa paghahanap ng tugma:

1. ayon sa petsa

2. sa utos.

Para sa nahanap na tugma, ipakita ang isang listahan ng lahat ng mga layuning napuntos at ang kabuuang iskor.

Ilarawan ang proseso ng paglikha ng isang form gamit ang halimbawa ng proyektong ito.

5. Mga Sanggunian

V. Goffman, A. Khomonenko Paggawa gamit ang mga database sa Delphi, St. Petersburg "BHV-Petersburg", 2003 A. Zhelonkin Fundamentals of Programming sa integrated DELPHI environment. Workshop, M: Binom. Laboratory ng pangunahing kaalaman, 2004 N. Kultin Mga Pangunahing Kaalaman ng programming sa Delphi 7, St. Petersburg "BHV-Petersburg", 2005

6. Paglalapat. Halimbawa ng pagpapatupad ng paghahanap

Magdagdag ng mga bahagi ng DBGrid at GroupBox sa form (Hanapin),Pindutan( Maghanap, Lumabas), CheckBox (Sa pamamagitan ng apelyido, Sa pamamagitan ng faculty), I-edit upang ipasok ang mga pangunahing halaga para sa paghahanap sa field DAT At FAK, tulad ng ipinapakita sa Figure 14.

Larawan 14

Upang gawing madaling basahin ang programa na aming isusulat, ipakikilala namin ang mga pagtatalaga ng mga nilikha na mga pindutan at mga label. Upang gawin ito kailangan mong baguhin ang ari-arian Pangalan sa mga kaukulang sangkap.

Talahanayan 16

Component

Simbolo

Ari-arian Pangalan

Maghanap

Lumabas

Hanapin

Sa pamamagitan ng apelyido

Sa pamamagitan ng faculty

Upang maglagay ng apelyido

Para makapasok sa faculty

mesa

Sa window ng editor ng form, pumunta sa form Paghahanap ng Yunit.

1. Sa seksyon Gamitin Ang mga sumusunod na karaniwang module ay dapat isama:

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

D.B. ,Mga Dialog, StdCtrls, ExtCtrls, Grids, DBGrids;

2. Upang maghanap ng mga tala ayon sa mga patlang, gamitin ang mga pamamaraan ng Hanapin at Paghahanap, at ang mga patlang ay maaaring hindi ma-index.

Function Locate (const KeyFields: String;

const KeyValues: Variant;

Mga Opsyon: TLocateOptions): Boolean

naghahanap ng isang talaan na may tinukoy na mga halaga ng field. Kung umiiral ang mga record na nakakatugon sa mga kundisyon sa paghahanap, ang kasalukuyang record pointer ay nakatakda sa una at ang function ay nagbabalik ng True. Ang listahan ng mga field na ginamit para sa paghahanap ay tinukoy sa KeyFields parameter (ang mga field ay pinaghihiwalay ng mga semicolon). Ang KeyValues ​​​​parameter ay tumutukoy sa mga halaga ng field na hahanapin. Tinutukoy ng parameter na Opsyon ang mga halaga ng LoCaseInsensitive (hindi isinasaalang-alang ang kaso) at LoPartialKey (pinapayagan ang bahagyang pagtutugma ng mga halaga).

3. Para sa button na Paghahanap, isulat ang naaangkop na pamamaraan.

BtnFind –Maghanap – OnClick

pamamaraan TFormPOISK. btnFindClick(Sender: TObject);

Var KeyFields: String;

KeyValues: Variant;

Mga Pagpipilian: TLocateOptions;

kung hindi (cbFindDAT. Nasuri o cbFindFAK. Nasuri)

MessageDlg("Hindi tinukoy ang mga kundisyon sa paghahanap!", mtInformation,,0);

//Maghanap nang sabay-sabay gamit ang dalawang field na DAT at FAK

kung cbFindDAT. Sinuri at cbFindFAK. Sinuri

KeyFields:="DAT;FAK";

KeyValues:=VarArrayOf();

//Maghanap sa isa sa mga field

//Sa pamamagitan ng DAT field

kung cbFindDAT. Sinuri

KeyFields:="DAT";

KeyValues:=editDAT. Teksto;

//Sa pamamagitan ng field FAK

kung cbFindFAK. Sinuri

KeyFields:="FAK";

KeyValues:=editFAK. Teksto;

//Isinasagawa ang paghahanap anuman ang letter case

//na may posibilidad ng mga bahagyang tugma

Mga Pagpipilian:=;

//Hindi mahanap ang rekord

Kung hindi DataModule1.Ds_Spisok. Dataset. Hanapin(KeyFields, KeyValues, Options)

MessageDlg("Hindi nahanap ang record...", mtInformation, ,0);

Ang pag-aaral ng ilang tunay na sistema ay binubuo ng dalawang yugto: ang yugto ng pagsusuri at ang yugto ng synthesis.

Ang pagsusuri ng isang sistema ay ang paghihiwalay ng mga bahagi nito upang linawin ang komposisyon ng sistema. Sa nakaraang talata, sinabi namin na ang bawat bahagi ng system ay isang subsystem, at ang subsystem na ito ay may sariling mga bahagi. Gayunpaman, imposibleng palawakin ang sistema nang walang hanggan. Kailangan mong huminto sa isang bagay, ang ilang mga bahagi ay kailangang tanggapin bilang simple, pagkatapos ay hindi mahahati na mga elemento. Ang tanong kung saan ititigil ang "fragmentation" ng system ay depende sa layunin ng pag-aaral. Ang layunin ng pag-aaral ng isang sistema ay upang makuha ang modelo nito - isang tinatayang ideya ng istraktura at paggana ng system. Ang resultang modelo ay gagamitin upang mahulaan ang pag-uugali ng system sa ilalim ng ilang partikular na kundisyon, upang makontrol ang system, upang masuri ang mga pagkabigo sa paggana ng system, atbp.

Gayunpaman, imposibleng maunawaan ang mekanismo ng paggana ng isang sistema sa pamamagitan ng pagtukoy lamang sa komposisyon nito. Kinakailangang malaman ang istraktura ng mga koneksyon sa pagitan ng mga bahagi ng system. Tanging ang kabuuan ng komposisyon at istraktura ang makakaunawa sa estado at pag-uugali ng sistema. Samakatuwid, ang pagsusuri ng sistema ay ang unang yugto ng pananaliksik nito. Ang pangalawang yugto ay tinatawag na synthesis. Ang salitang "synthesis" ay nangangahulugang kumbinasyon.

Ang synthesis ay ang mental o tunay na koneksyon ng mga bahagi sa isang solong kabuuan. Bilang resulta ng synthesis, ang isang holistic na pagtingin sa system ay nilikha at ang mekanismo ng systemic na epekto ay ipinaliwanag.

Ang pagsusuri ng system ay ang pag-aaral ng mga tunay na bagay at phenomena mula sa punto ng view ng diskarte sa system, na binubuo ng mga yugto ng pagsusuri at synthesis.

Ang anumang paglalarawan ng isang sistema ay may likas na modelo, ibig sabihin, ito ay nagpapakita ng limitadong bilang ng mga katangian nito. Ang pangunahing tanong kapag bumubuo ng isang modelo ng system ay kung anong mga katangian ang mahalaga mula sa punto ng view ng mga layunin ng paggamit ng modelo sa hinaharap?

Modelong black box

Sa pinakasimpleng kaso, sapat na magkaroon ng isang ideya ng pakikipag-ugnayan ng system sa panlabas na kapaligiran, nang hindi pumasok sa mga detalye ng panloob na istraktura nito. Halimbawa, kapag gumagamit ng mga kumplikadong kasangkapan sa bahay, hindi mo kailangang malaman kung paano gumagana ang mga ito. Sapat na malaman kung paano gamitin ito, ibig sabihin, kung anong mga aksyon sa pagkontrol ang maaaring gawin dito (ano ang input) at kung ano ang mga resulta na makukuha mo (ano ang output). Ang lahat ng impormasyong ito ay nakapaloob sa manwal ng gumagamit. Ang paglalarawang ito ng system ay tinatawag na "black box" na modelo (Larawan 1.2).

Ang input ng system ay ang impluwensya sa system mula sa panlabas na kapaligiran, at ang output ay ang impluwensyang ibinibigay ng system sa kapaligiran. Sa modelong ito, nakatago ang panloob na istraktura ng system. Kaya naman tinawag itong “black box”.

Mula sa punto ng view ng isang tao na hindi nauugnay sa mas mataas na sistema ng edukasyon, ang isang unibersidad ay isang "itim na kahon", ang input kung saan ay mga nagtapos sa paaralan, at ang output ay mga sertipikadong espesyalista.

Modelo ng komposisyon

Tulad ng nabanggit sa itaas, ang resulta ng pagsusuri ng isang sistema ay upang matukoy ang komposisyon nito. Kung nililimitahan natin ang paglalarawan ng system sa paglilista ng mga bahagi nito, kukuha tayo ng isang modelo ng komposisyon. Halimbawa, ang modelo ng komposisyon ng sistema ng "University" ay ipinakita sa Fig. 1.3.

Ang bawat isa sa mga minarkahan sa Fig. 1.3 mga bahagi ng sistemang "University" ay isang subsystem na may sariling komposisyon. Samakatuwid, maaari ka ring bumuo ng sarili mong mga modelo ng komposisyon para sa mga subsystem na ito. Siyempre, ang gayong modelo ay hindi sapat upang maunawaan kung paano gumagana ang isang unibersidad. Gayunpaman, nagbibigay ito ng mas detalyadong larawan ng unibersidad kaysa sa modelo ng black box.

Structural model ng system

Ang structural model ng isang system ay tinatawag ding structural diagram. Ang structural diagram ay sumasalamin sa komposisyon ng system at sa mga panloob na koneksyon nito. Ginagamit ang mga graph upang ipakita ang structural diagram ng system.

Ang graph ay binubuo ng mga vertice na nagpapahiwatig ng mga elemento ng system, at mga gilid - mga linya na nagpapahiwatig ng mga koneksyon (relasyon) sa pagitan ng mga elemento ng system. Ang Moscow high-speed transport scheme, pamilyar sa marami (Fig. 1.4), ay isang halimbawa ng isang graph. Ang mga vertice dito ay mga istasyon ng metro, at ang mga gilid ay mga linya ng tren. Ang scheme na ito ay nagpapahintulot sa pasahero ng metro na matukoy ang ruta ng kanyang paggalaw sa pagitan ng anumang mga istasyon. Ang layout ng metro ay sumasalamin sa istraktura ng radial-ring nito.

Ang isa pang halimbawa ng isang graph ay ipinapakita sa Fig. 1.5. Ito ay isang istrukturang modelo ng isang molekulang hydrocarbon. Ang mga vertices ay hydrogen at carbon atoms, ang mga gilid ay kumakatawan sa mga valence bond.

Ang koneksyon sa pagitan ng dalawang istasyon ng metro na konektado ng isang linya ay bidirectional, dahil ang mga tren ay maaaring maglakbay sa parehong direksyon. Ang valence bond sa pagitan ng mga atomo ng molekula ay wala ring ginustong direksyon. Ang ganitong mga graph ay tinatawag na hindi nakadirekta. Kung ang koneksyon sa pagitan ng dalawang elemento ng system ay kumikilos lamang sa isang direksyon, ito ay ipinapakita sa graph bilang isang nakadirekta na arrow. Ang ganitong graph ay tinatawag na nakadirekta. Ang mga direktang linya ng komunikasyon sa isang graph ay tinatawag na mga arko.

Sa Fig. Ang Figure 1.6 ay nagpapakita ng isang halimbawa ng isang direktang graph mula sa larangan ng medisina. Nabatid na ang iba't ibang tao ay maaaring may iba't ibang uri ng dugo. Mayroong apat na uri ng dugo. Lumalabas na kapag ang dugo ay naisalin mula sa isang tao patungo sa isa pa, hindi lahat ng grupo ay magkatugma. Graph sa Fig. Ang 1.6 ay nagpapakita ng mga posibleng opsyon sa pagsasalin ng dugo. Ang mga pangkat ng dugo ay ang mga vertice ng graph na may kaukulang mga numero, at ang mga arrow ay nagpapahiwatig ng posibilidad ng pagsasalin ng dugo ng isang grupo sa isang tao na may ibang grupo. Halimbawa, mula sa graph na ito ay malinaw na ang dugo ng pangkat na I ay maaaring maisalin sa sinumang tao, at ang isang taong may pangkat ng dugo ay tumatanggap lamang ako ng dugo ng kanyang sariling grupo. Makikita rin na ang isang taong may blood group IV ay maaaring masalinan ng anumang dugo, ngunit ang kanyang dugo ay maaari lamang maisalin sa mga taong may parehong grupo.

Sa pagsasagawa, ang mga sistema na may hierarchical na istraktura ay madalas na nakatagpo, ang graph kung saan ay tinatawag na isang puno (Larawan 1. 7).

Ang puno ay isang nakadirekta na graph, bagama't hindi palaging iginuhit ang mga arrow kapag inilalarawan ito. Karaniwan, ang mga tuktok ng isang puno ay nakaayos sa mga antas mula sa itaas hanggang sa ibaba. Ang mga arko ay nakadirekta mula sa itaas na mga vertex hanggang sa mas mababang mga. Ang bawat vertex ay maaaring iugnay sa isang top-level vertex (source) at maraming lower-level vertex (mga bata). Ang ganitong relasyon ay tinatawag na one-to-many. Ang nag-iisang vertex sa pinakamataas na antas ay tinatawag na ugat ng puno. Ang mga vertex sa pinakamababang antas na walang child vertices ay tinatawag na mga dahon ng puno. Ang puno ay isang konektadong graph . Nangangahulugan ito na sa pagitan ng alinmang dalawang vertices ay mayroong hindi bababa sa isang landas na nagkokonekta sa kanila sa isa't isa. Walang mga loop sa puno - saradong mga trajectory ng mga koneksyon. Samakatuwid, ang ruta ng paggalaw sa kahabaan ng puno sa pagitan ng alinmang dalawang vertices ay palaging natatangi.

Ang istraktura ng organisasyon ng file system sa panlabas na memorya ng isang computer ay hierarchical. Ang mga vertex ng graph na nagpapakita ng istraktura ng file ay mga folder at file. Sinasalamin ng mga arko ang mga ugnayan sa pagitan ng paglitaw ng isang vertex at isa pa. Ang puno ay may multi-level na istraktura. Ang pinakamataas na antas na folder ay tinatawag na ugat ng puno. Ang mga terminal vertices ng naturang puno (dahon) ay mga file at walang laman na folder.

Sistema ng mga pangunahing konsepto

Mga tanong at gawain

1. Anong mga uri ng mga modelo ng system ang nariyan? Paano sila nagkaiba?

2. Ano ang graph? Ano ang binubuo nito?

3. Aling graph ang tinatawag na hindi nakadirekta? Magbigay ng halimbawa.

4. Aling graph ang tinatawag na direct? Magbigay ng halimbawa.

6. Gumuhit ng dalawang bersyon ng graph ng “Computer” system, na naglalaman ng mga sumusunod na vertex: processor, RAM, external memory, keyboard, monitor, printer:

A) ang linya ng komunikasyon ay nagpapahiwatig ng relasyon na "nagpapadala ng impormasyon";

B) ang linya ng komunikasyon ay nagpapahiwatig ng relasyon: "mga kontrol."

Ministri ng Edukasyon at Agham ng Russian Federation

"IRKUTSK STATE TECHNICAL UNIVERSITY"
Kagawaran ng Computer Science
Inaamin ko sa pagtatanggol
Superbisor


pangalan ng paksa

TRABAHO NG KURSO
sa pamamagitan ng disiplina

Computer science

Nakumpleto
mag-aaral ng pangkat GD-14-2
Group code signature I.O. Apelyido
Karaniwang kontrol
lagda I.O. Apelyido
Ang gawain sa kurso ay protektado ng isang pagtatasa

Irkutsk, 2014

Ministri ng Edukasyon at Agham ng Russian Federation
Federal State Budgetary Educational Institution of Higher Professional Education
"IRKUTSK STATE TECHNICAL UNIVERSITY"

PAGSASANAY
PARA SA TRABAHONG KURSO

Sa kursong computer science
Mag-aaral
(apelyido, inisyal)
Paksa ng proyekto
Paglikha ng database ng "Mga Klub ng Football".

Paunang data
Lumikha ng isang database sa MS Access. Mga iminungkahing field sa mga talahanayan:
Pangunahing talahanayan:
Club [Club_code, Pangalan, Match code, Contact code]
Mga pantulong na talahanayan:
Lungsod [Area Code, City]
Stadium [Stadium_code, Pangalan ng Stadium, Bilang ng mga upuan, entrance fee, Telepono, email]
Match [Match_code, Mga Pangalan ng mga koponan (nakikilahok sa laban), petsa]
Mga Contact [Contact_code, City code, Stadium code]
Mga paliwanag para sa talahanayan ng Club: nakarehistro ang pangalan ng club, match code at contact code. Gamit ang mga auxiliary table, ang impormasyon tungkol sa lokasyon ng mga laro, ang halaga ng entrance ticket, at ang mga pangalan ng mga koponan na kalahok sa mga laro ay itinatag.
Lumikha ng mga pangunahing at auxiliary na talahanayan gamit ang Designer, tinutukoy ang mga kinakailangang field at uri ng data, i-link ang mga talahanayan gamit ang Data Schema, lumikha ng mga parametric na unibersal na query, isang form na batay sa pangunahing talahanayan at mga ulat batay sa mga ginawang query.

Ang pagtatalaga ay inilabas noong Setyembre 2014.

Petsa ng pagtatanghal ng trabaho sa manager "" Disyembre 2014

Ang superbisor ng coursework na si E.Yu. Solopanov

Panimula
Ang mga pundasyon ng modernong teknolohiya ng impormasyon ay mga database (DBs) at database management system (DBMS), ang papel na kung saan bilang isang solong paraan ng pag-iimbak, pagproseso at pag-access ng malalaking volume ng impormasyon ay patuloy na tumataas. Kasabay nito, mahalagang patuloy na dagdagan ang dami ng impormasyong nakaimbak sa database, na nangangailangan ng pangangailangan upang mapataas ang produktibidad ng mga naturang sistema. Ang pangangailangan para sa matalinong pag-access sa impormasyon ay lumalaki din nang husto sa iba't ibang mga aplikasyon. Ito ay lalo na maliwanag kapag nag-aayos ng lohikal na pagproseso ng impormasyon sa mga sistema ng base ng kaalaman, sa batayan kung saan nilikha ang mga modernong sistema ng eksperto.
Ang mga database ay nilikha gamit ang Microsoft Access application. Ang pinakamahalagang bentahe ng konsepto ng database (kumpara sa, halimbawa, pagproseso ng data sa mga offline na file) ay ang pagpapakilala ng isang hanay ng mga karaniwang istruktura kung saan inilalagay ang data, tulad ng mga lalagyan. Kapag nagpaplanong magtrabaho kasama ang data sa isang partikular na lugar ng paksa, pagkatapos maunawaan ang mga pangunahing gawain, malulutas nila ang mga isyu ng organisasyon ng data: kung paano igrupo ang data sa mga talahanayan, anong mga patlang at kung anong mga uri ang isasama sa bawat talahanayan, kung paano i-link ang mga talahanayan sa bawat isa. iba, atbp.
Pagkatapos lamang malutas ang mga isyu ng organisasyon ng data, nagsisimula silang bumuo ng mga application - mga multifunctional na programa na nagbabago ng data sa pamamagitan ng pagkuha ng mga ito mula sa ilang mga talahanayan, pagsasagawa ng mga kalkulasyon at paglalagay ng mga resulta sa iba pang mga talahanayan ng database. Ang diskarte na ito, una, ay ginagarantiyahan na ang bawat bagong piraso ng data na natanggap ng negosyo ay "sa lugar nito" - sa isang tiyak na talahanayan, isang tiyak na database, at, pangalawa, hindi na kailangang bumuo ng isang malaking bilang ng mga pamamaraan sa pagproseso ng data. .

1. Teoretikal na bahagi
1.1 Mga pangunahing kahulugan
Ang isang database ay isang paraan ng pag-aayos ng imbakan at pamamahala ng isang malaking halaga ng order na heterogenous na impormasyon. Karaniwan itong nailalarawan sa pamamagitan ng isang matibay na panloob na istraktura at relasyon sa pagitan ng mga indibidwal na elemento ng nakaimbak na data.
Ang modelo ng data ay isang abstraction na, dahil naaangkop sa partikular na data, ay nagbibigay-daan sa mga user at developer na ituring ito bilang impormasyon, iyon ay, impormasyong naglalaman hindi lamang ng data, kundi pati na rin ang kaugnayan sa pagitan nila.
Ang pormalisasyon ng data ay ang panghuling pamamaraan ng pagproseso ng data, na binubuo sa paglalahad ng data na ito sa anyo ng isang lohikal na istraktura.
Ang DBMS ay isang software system na nagbibigay ng input, storage at access sa data para sa maraming user, at nag-iimbak din ng paglalarawan ng istruktura ng data.
Ang lugar ng paksa ay isang lugar ng partikular na praktikal na aktibidad. Ang mga malalaking organisasyon ay karaniwang naglalaan ng ilang mga paksa sa loob ng balangkas ng mga pangunahing serbisyo, bawat isa ay lumilikha ng sarili nitong mga database upang malutas ang mga problema nito.
Ang istruktura ay ang pagpapakilala ng mga kumbensyon tungkol sa kung paano dapat iharap ang data. Ang konseptong ito ay malapit sa mga konsepto ng data model at data formalization. Gumagamit ang mga relational database ng tatlong istruktura ng data: table, record, at field. Ang bawat isa sa mga istrukturang ito ay may sariling mga katangian, na inilarawan ng mga parameter. Ang talahanayan ay may pangalan at binubuo ng mga talaan. Ang isang talaan ay may numero sa talahanayan at binubuo ng mga patlang. Ang bawat field ay may pangalan, uri (teksto, numeric, atbp.), haba sa byte. Ipaliwanag natin ang mga istrukturang ito gamit ang halimbawa ng pagbuo ng modelo ng impormasyon ng isang partikular na lugar ng paksa.
Ang bawat isa sa mga talahanayan na ito ay may pangalan sa naka-bold na italics at binubuo ng mga talaan - mga hilera, ang komposisyon kung saan (ang listahan ng mga patlang) ay ipinahiwatig sa mga square bracket. Ang mga pangalan ng field ay ang mga pangalan ng mga column ng talahanayan. Ang mga pangalan ng mga pangunahing field ay nasa italics. Ang halaga ng isang key field (key) ay natatanging kinikilala ang isang tala sa talahanayan. Ang DBMS ay nag-uuri ng mga tala sa mga talahanayan sa pataas na pagkakasunud-sunod ng mga pangunahing halaga.
Batay sa uri ng database na pinamamahalaan, ang mga DBMS ay nahahati sa:
- Hierarchical. Ang hierarchical database model ay binubuo ng mga bagay na may mga pointer mula sa mga magulang na bagay hanggang sa mga bata, na magkakaugnay na magkakaugnay na impormasyon.
Ang mga hierarchical database ay maaaring katawanin bilang isang puno na binubuo ng mga bagay sa iba't ibang antas. Ang pinakamataas na antas ay inookupahan ng isang bagay, ang pangalawa - ng mga bagay ng pangalawang antas, atbp.
May mga koneksyon sa pagitan ng mga bagay; ang bawat bagay ay maaaring magsama ng ilang mas mababang antas ng mga bagay. Ang ganitong mga bagay ay nasa kaugnayan ng isang ninuno (isang bagay na mas malapit sa ugat) sa isang bata (isang bagay na may mas mababang antas), at posible na ang isang bagay ng ninuno ay walang mga inapo o may ilan sa kanila, habang ang isang inapo na bagay dapat magkaroon lamang ng isang ninuno. Ang mga bagay na may iisang ninuno ay tinatawag na kambal.
Ang hierarchical database ay isang file system na binubuo ng root directory kung saan mayroong hierarchy ng mga subdirectory at file.
- Network. Ang mga database ng network ay katulad ng mga hierarchical database, maliban na mayroon silang mga pointer sa parehong direksyon na nagkokonekta ng kaugnay na impormasyon.
Bagama't nilulutas ng modelong ito ang ilan sa mga problemang nauugnay sa hierarchical na modelo, nananatiling kumplikado ang pagsasagawa ng mga simpleng query.
Gayundin, dahil ang lohika ng pamamaraan ng pagkuha ng data ay nakasalalay sa pisikal na organisasyon ng data na ito, ang modelong ito ay hindi ganap na independyente sa aplikasyon. Sa madaling salita, kung kailangang baguhin ang istraktura ng data, kailangang baguhin ang application.
- Relational. Ang mga modelong ito ay nailalarawan sa pamamagitan ng pagiging simple ng istraktura ng data, madaling gamitin na tabular na representasyon at ang kakayahang gumamit ng pormal na kagamitan ng relational algebra at relational calculus para sa pagproseso ng data.
Nakatuon ang relational model sa pag-aayos ng data sa anyo ng mga two-dimensional na talahanayan. Ang bawat relational table ay isang two-dimensional array at may mga sumusunod na katangian:
bawat elemento ng talahanayan ay isang elemento ng data
ang lahat ng mga cell sa isang haligi ng talahanayan ay homogenous, iyon ay, ang lahat ng mga elemento sa column ay magkaparehong uri (numeric, character, atbp.)
bawat column ay may kakaibang pangalan
Walang magkaparehong mga hilera sa talahanayan
ang pagkakasunud-sunod ng mga row at column ay maaaring maging arbitrary
- Object-relational. Ang Object-relational DBMS (ORDBMS) ay isang relational DBMS (RSDBMS) na sumusuporta sa ilang teknolohiya na nagpapatupad ng object-oriented na diskarte.
Ang pagkakaiba sa pagitan ng object-relational at object-based na DBMS: ang una ay isang superstructure sa relational schema, habang ang huli ay object-oriented sa una. Ang pangunahing tampok at pagkakaiba sa pagitan ng object-relational, pati na rin ang object, DBMS mula sa mga relational ay ang O(R)DBMSs ay isinama sa isang Object-Oriented (OO) programming language, panloob o panlabas tulad ng C++, Java. Ang mga katangian ng isang ORDBMS ay 1) kumplikadong data, 2) uri ng mana, at 3) pag-uugali ng bagay.
- Object-oriented. DBMS na nakatuon sa object - pagpapatupad ng isang object-oriented na diskarte. Ang sistema ng pamamahala na ito ay nagpoproseso ng data bilang mga abstract na bagay na pinagkalooban ng mga katangian, sa anyo ng hindi nakaayos na data, at gumagamit ng mga paraan ng pakikipag-ugnayan sa iba pang mga bagay sa nakapaligid na mundo.

1.2 Mga bahagi ng database
Ang talahanayan ay isang bagay na idinisenyo upang mag-imbak ng data sa anyo ng mga talaan (mga hilera) at mga patlang (mga haligi). Maaaring iugnay ang mga talahanayan sa isa't isa. Ang isang talahanayan ay ang batayang bagay ng database; lahat ng iba pang mga bagay ay nilikha batay sa mga umiiral na talahanayan (nagmula na mga bagay).
Ang query ay isang bagay na nagbibigay-daan sa iyong makuha ang kinakailangang data mula sa isa o higit pang mga talahanayan. Gamit ang isang query, maaari kang pumili ng mga talaan o mga field na nakakatugon sa pamantayan sa pagpili, maaari kang gumawa ng mga pagbabago sa mga talahanayan, at maaari kang gumawa ng mga kalkulasyon. Sa katunayan, ang mga query ang pinakamahalagang tool ng database.
Ang form ay isang bagay na idinisenyo upang ipakita at ipasok ang data sa mga talahanayan. Ang form ay isa ring maginhawang tool para sa paghahanap at pagwawasto ng impormasyon sa mga talahanayan. Kadalasan ang form ay isang form na nagpapakita ng mga nilalaman ng isang talaan ng talahanayan. Ang mga form ay maaaring batay sa mga query na nagbibigay-daan sa iyong magpakita at magpasok ng data na kabilang sa maramihang mga talahanayan. Sa katunayan, gamit ang form, isang graphical na interface para sa pag-access sa database ay nilikha.
Ang ulat ay isang organisadong presentasyon ng data, na idinisenyo upang i-print ang data na nilalaman sa mga talahanayan at mga query sa isang magandang disenyong anyo. Ang mga ulat na nakabatay sa query ay maaaring magpakita ng data mula sa maraming talahanayan.

2. Praktikal na bahagi
2.1 Paglikha ng isang database
Una, gumawa tayo ng walang laman na database ng Mga Football Club. Upang gawin ito, buksan ang application na Access at piliin ang Bagong Database. Sa window ng Bagong Database, piliin ang folder na ilalagay ang database, bigyan ng pangalan ang file at i-click ang button na Lumikha (Larawan 2.1.1).

Fig.2.1.1 Paglikha ng isang database

2.2 Paglikha ng mga talahanayan
Kailangan mong magsimula sa mga auxiliary table na City, Stadium, Match.
Para gumawa ng auxiliary table, halimbawa, City, sa database window, pumunta sa Creation tab at i-click ang table designer button. Una, gawin natin ang talahanayan ng Lungsod. Sa column na Field Name, ilagay ang City Code, at sa Data Type combo box, piliin ang Counter. Ang field ng City Code ang magiging susi (Fig. 2.2.1).
Pinupunan namin ang natitirang mga field sa eksaktong parehong paraan, piliin ang nais na uri ng data at piliin ang naaangkop na laki ng field.
Lumilikha kami ng kasunod na mga talahanayan sa eksaktong parehong paraan.

Fig.2.2.1 Paggawa ng table
Ang pangunahing talahanayan ng Club at talahanayan ng Mga Contact ay naglalaman ng mga field na may naka-encrypt na data, kaya kinakailangang gumamit ng numeric na uri ng data para sa ilang field (Figure 2.2.2).

Larawan 2.2.2. Uri ng data

2.3 Paglikha ng schema ng data
Sa schema ng data ikinonekta namin ang mga pangunahing field ng mga talahanayan: Club, City, Stadium, Match, Contacts. Sa bawat koneksyon, lagyan ng check ang checkbox na Tiyakin ang integridad ng data (Larawan 2.3.1).

Fig.2.3.1 Paglikha ng schema ng data

2.4 Paglikha ng isang form
Ang pangunahing layunin ng mga form ay upang gawing mas madali ang pagpasok, pagtingin at pag-edit ng mga talaan. Ang mga form ay karaniwang nagpapakita ng isang tala mula sa isang talahanayan at may mga pindutan upang ilipat mula sa isang tala patungo sa isa pa.
Upang lumikha ng isang form, dapat mong gamitin ang Form Wizard. Kapag lumilikha ng isang form, kailangan nating kunin ang lahat ng mga patlang na nagpapakita ng kumpletong impormasyon tungkol sa bagay. Sa database ng Mga Football Club, kukunin namin ang mga patlang na ipinapakita sa figure (Larawan 2.4.1).

Fig.2.4.1 Paglikha ng isang form
2.5 Paglikha ng mga query
Maraming uri ng mga query, gaya ng query na may parameter, query para sa pagdaragdag at pagtanggal ng record, query sa pagpapangkat, iba't ibang mga query sa matematika at mga query na may kundisyon.
Apat na query ang ginawa, tatlo sa kanila ay may parameter at isa para sa pagpapangkat at pagbibilang ng data.
Ginamit ang taga-disenyo ng query upang lumikha ng mga query. Upang lumikha ng mga query na may isang parameter, kailangan namin ang mga kinakailangang talahanayan at ang field na Kondisyon ng Pinili. Sa field na ito, hindi kami naglalagay ng kundisyon, ngunit hinihiling ang kundisyong ito mula sa user (Figure 2.5.1)

Larawan 2.5.1. Kahilingan na may parameter.
2.6 Paglikha ng mga ulat.
Upang lumikha ng mga ulat, kailangan mong gamitin ang Report Wizard. Gumawa tayo, halimbawa, ng isang ulat sa isang kahilingan para sa mga tugma sa Moscow. Upang gawin ito, pipiliin namin ang query na kailangan namin at ang mga field ng talahanayan na kailangan namin (Figure 2.6.1).

Larawan 2.6.1. Report Wizard
Gagawin namin ang natitirang mga ulat ayon sa parehong pamamaraan. Halimbawang ulat Larawan 2.6.2

Fig.2.6.2 Ulat

Konklusyon
Kapag nagsasagawa ng ilang mga gawain, ang isang tao, na nagtatrabaho sa isang partikular na produkto ng software, ay nagsasagawa ng isang bilang ng mga utos sa isang tiyak na pagkakasunud-sunod. May mga sandali kung saan napipilitan ang user na patuloy na gawin ang parehong mga aksyon, na pumipilit sa kanya na gumugol ng isang makabuluhang yugto ng oras sa mga mekanikal na pagkilos. Ang pag-access ay medyo madaling gamitin, na nagbibigay-daan sa iyo upang malutas ang mga problema na nauugnay sa pagproseso, pag-uuri, pagpapangkat at pagpapakita ng impormasyon sa iba't ibang anyo.
Ang diskarte na ito, una, ay ginagarantiyahan na ang bawat bagong piraso ng data na natanggap ng negosyo ay "sa lugar nito" - sa isang tiyak na talahanayan ng isang tiyak na database, at, pangalawa, hindi na kailangang bumuo ng isang malaking bilang ng mga pamamaraan sa pagproseso ng data. . Ang huli ay ipinaliwanag sa pamamagitan ng katotohanan na ang mga karaniwang operasyon sa mga nilalaman ng mga istruktura ng data (mga talahanayan, mga talaan, mga patlang) ay naka-program na at bahagi ng DBMS - pagkatapos ng lahat, ang mga sistema ng pamamahala ng database ay tiyak na idinisenyo para sa paglikha ng mga database at kasunod na pagmamanipula nito. datos. Ang isang DBMS na gumagana sa mga istruktura ng data ay maihahambing sa mga teknikal na paraan sa modernong transportasyon - gumagana ang mga ito sa mga lalagyan, anuman ang dinadala sa mga lalagyang ito sa isang partikular na kaso.
Ang layunin ng gawaing kursong ito ay palalimin ang kaalaman at palawakin ang mga kasanayan sa pagbuo ng database at pagpapatupad nito sa isang personal na computer. Bilang resulta ng trabaho sa proyekto ng kurso, ang database ng "Mga Klub ng Football" ay binuo.
Ang football ay isa sa pinakasikat na laro. Milyun-milyong tagahanga ang sumusubaybay sa mga laro ng kanilang mga koponan, ang mga bagong koponan ay lumalabas araw-araw, at araw-araw ay may malaking bilang ng mga laban na imposibleng masubaybayan. Pinagsasama at isinasaayos ng database na ito ang lahat ng impormasyon tungkol sa paparating na mga laban ng ilang mga koponan, ang lokasyon at petsa ng laban. At ipinakita ito sa isang form na maginhawa para sa mga tao.

Bibliograpiya
1. Lomtadze V.V., Shishkina L.P. Praktikal na computer science. – Irkutsk: ISTU publishing house. – 2012. – 200 p.
2. Boyarintseva T.P., Voropaeva E.F., Dmitrienko T.A., Shishkina L.P. Laboratory workshop sa computer science. Mga advanced na tampok ng Excel. – Irkutsk: ISTU publishing house. - 2003. – 71 p.
3. https://ru.wikipedia.org/wiki/List_of_football_stadiums_in_Russia
4. http://rfpl.org
5. http://tritickets.ru/category/sport/football/
6. http://www.belet.ru

Palagi akong naniniwala na ang mga nagtatrabaho sa football ay may pribilehiyo. Binabayaran tayo para gawin ang trabahong gusto natin at nasisiyahang gawin. At sa aking kaso, medyo masuwerte rin ako, dahil nagtrabaho ako sa iba't ibang bansa, nakatagpo ng iba't ibang kultura at pamamaraan ng pagtatrabaho, at pinalawak ang aking kaalaman at karanasan. At nakakatulong ito sa akin na tingnan ang mga bagay mula sa iba't ibang anggulo kapag nagsusuri.

Kapag pinag-uusapan ng mga tao ang mga paglilipat, halaga ng market ng manlalaro at ang mga dahilan kung bakit ka bumili o nagbebenta ng isang manlalaro, madaling makita na marami ang nawawala sa punto. Ang sitwasyon ay maaaring masyadong kumplikado at nakakalito para sa mga tagahanga. At sa artikulong ito susubukan kong ipakita ang aking pananaw sa mga ganitong problema, batay sa personal na karanasan.

Naturally, tututukan ko ang aking lugar ng responsibilidad sa club. Ito ang football, ang direksyon ng laro, na tinutukoy ng manager o coach - depende sa sitwasyon.

Istraktura ng club

Ang pinakaunang bagay na kailangan mong itatag kapag dumating ka sa isang bagong club ay ang mga layunin nito at ang mga mapagkukunang magagamit upang makamit ang mismong layuning ito. Mahalaga, lalo na kung nagtatrabaho ka sa ibang bansa, na maingat na pag-aralan ang istraktura ng club.

Mga panuntunan, standing, squad, mga empleyado ng club at kanilang mga kapangyarihan, mga kontrata ng manlalaro, kapaligiran, kultura, mga tradisyon ng club... Napakahalaga ng kaalaman sa lahat ng ito para sa paggawa ng mga tamang desisyon. At least yung umaasa sayo.

Sa Spain at Italy mayroong isang posisyon na tinatawag na "Director of Football" o "Chief Scout". Sa teorya, siya ang may pananagutan sa pagpirma ng isang coach at muling pagdadagdag ng squad. Sa karamihan ng mga kaso, bagama't hindi palaging, pinapayuhan niya ang kinauukulan, alinman sa Pangulo/May-ari, na responsable para sa lahat ng proseso kung saan kinakailangan ang kanyang huling say.

Sa England, ang lahat ng ito ay ginagawa ng Manager. Kabilang sa kanyang mga kapangyarihan ay ang pamamahala ng lahat ng mga gawain sa football, kabilang ang pagpapasiya ng komposisyon para sa laban.

Sa pagsasagawa, ang parehong uri ng mga istraktura ay nakasalalay sa isang bagay: magagamit na mga pondo para sa mga paglilipat at suweldo ng manlalaro. Parehong "manager" at "coach" ay hindi maiiwasang harapin ang katotohanan na mayroon lamang silang pagkakataong pumirma ng tatlo o apat na manlalaro mula sa kanilang listahan. Ito ay talagang totoo. Sa huling kaso, maaaring piliin ng manager ang mga gusto niya.

Pagbuo ng komposisyon

Bilang taong namamahala sa teknikal na bahagi ng isyu, dapat mong piliin ang modelo ng laro ayon sa kung saan kikilos ang iyong koponan sa field. Mahalagang makilala ang lahat ng mga manlalaro, makipag-usap sa kanila, alamin ang kanilang opinyon tungkol sa komposisyon. Kung kinakailangan, dagdagan ang clip ng mga performer na may kakayahang palakasin ito nang husay. Kung wala kang pagpipiliang ito, kailangan mong iakma ang umiiral na squad sa iyong modelo ng paglalaro at umaasa na ang mga manlalaro ay magbibigay ng suporta kapag kailangan mo ito.

Bilang karagdagan, ang iba't ibang mga bansa ay may iba't ibang diskarte sa pagbalangkas ng mga kontrata. Nalalapat ang mga espesyal na kundisyon sa mga club na kalahok sa mga internasyonal na paligsahan. May mga liga kung saan 5 manlalaro mula sa bansang ito ang dapat maglaro, sa iba ay may limitasyon sa pagpirma sa mga dayuhan, sa iba ay nahahati ang mga manlalaro sa mga listahang "A" at "B"... Sa huli, bawat bansa, bawat liga ay may sarili nitong mga katangian. At dapat mong ganap na matunaw ang mga ito bago ka sumali sa koponan at magpasya na baguhin ito.

Dapat ay mayroon kang plano, isang uri ng "proyekto sa football". Ngunit kapag nakikipag-usap sa mga may-ari na pumupunta sa football mula sa mundo ng negosyo, dapat lang itong tawaging "plano sa negosyo."

At dito muli akong bumaling sa sarili kong karanasan. Pagdating ko sa Italy, walang “business plan”. Nalaman ko lang ito noong huling araw ng transfer window, nang bigla akong ipaalam na susundin ng club ang financial fair play.

Sa Espanya, ang patuloy na pag-uusap sa pamamahala ng club ay nagpapahintulot sa iyo na sumunod sa mga paghihigpit sa ekonomiya, naiintindihan mo kung nasaan ka. Bagama't isang araw ay nagulat ako sa pagkuha ng isang forward noong huling araw ng Agosto, na pinasimulan ng pangulo. Nabigyang-katwiran niya ang paglipat na ito sa murang halaga ng manlalaro, dahil siya ay nangungutang.

Sa England, partikular sa Liverpool sa aking unang 3 season, ipinaalam sa akin ng Chairman at CEO ang lahat ng mga paghihigpit at opsyon na magagamit. Nang maglaon ay nagbago ang istraktura ng club at unti-unting naging mas mahalaga ang plano sa negosyo kaysa sa anumang proyekto ng football pagdating sa paggawa ng mahahalagang desisyon.

Ang hindi rin makakalimutan ay ang mga aktibidad ng youth academy. Ang paglalaro ng mga lokal na manlalaro ay lubos na nagpapataas ng iyong kaugnayan sa club at makabuluhang binabawasan ang mga gastos. Sa Espanya at Italya, ang istraktura ng kabataan ay ipinagkatiwala sa direktor ng palakasan, ang head coach ay hindi naglalaan ng maraming oras dito. Ang maaaring mangyari sa England ay ang nangyari sa akin noong huling taon ko sa Liverpool: ang tagapamahala ay may kumpletong kontrol sa buong sistema ng kabataan at maaaring patuloy na ituloy ang parehong istilo ng paglalaro sa lahat ng pangkat ng edad. Ang istruktura ng trabaho ng kabataan sa Barcelona ay nasa tuktok na ng katanyagan nito. Ang isang mas malinaw at kapansin-pansin na halimbawa sa bagay na ito ay hindi mahahanap.

Sa kawalan ng mga batang prospect na may kakayahang maglaro sa unang koponan sa malapit na hinaharap, kailangan mong tingnan ang transfer market.

Dapat panatilihin ng direktor o manager ng palakasan ang badyet sa paglipat sa ilalim ng kanyang kontrol, gayundin ang kalkulahin ang mga suweldo ng mga manlalaro. Ang isang mahusay na network ng pagmamanman ay mahalaga, bagama't hindi palya, at maiimpluwensyahan ng pera ang accessibility ng ilang partikular na market niches sa iyong club. Ang kita at gastos ay mas mahalaga para sa isang manager kaysa sa isang coach.

Mga tuntunin at uri ng mga regulasyon

Ang kailangan ding isaalang-alang ay ang iba't ibang internasyonal na regulasyon. Karaniwan, ang pagpasok ng unang koponan para sa season ay limitado sa 25 mga manlalaro. Sa ilang mga bansa, tulad ng Espanya, halimbawa, maaari kang maglaro ng isang junior sa 5 mga tugma, pagkatapos nito ay dapat na siya ay kasama sa pangunahing pangkat.

Sa England, maaari mong gamitin ang mga serbisyo ng mga manlalaro mula sa reserbang koponan, kung saan sinanay namin ang mga kabataan, at sila naman, ay nakatanggap ng karanasang kinakailangan upang umabante sa unang koponan.

Nasa iyo ang koponan ng U18 sa iyong pagtatapon. Ang ilang mga manlalaro mula doon, lalo na kung sila ay mula sa ibang bansa, ay dapat magkaroon ng mga propesyonal na kontrata. Kung hindi, maaaring agawin sila ng ibang mga club mula mismo sa ilalim ng iyong ilong.

Sa panahon ng aking oras sa Liverpool, madalas na sinasabi ng mga tagahanga na ako ay pumirma ng masyadong maraming mga manlalaro, kung saan marami sa kanila ay nagsasanay sa magkahiwalay na mga junior group, at ang ilan sa kanila ay hindi ko kilala. Sa Spain, ang mga naturang manlalaro ay sumali sa pangalawang pangkat ng kabataan, at hindi kasama sa rehistro ng mga pagkuha ng pangunahing koponan. Ang parehong prinsipyo ay nalalapat sa Italya.

[Sa mga komento sa artikulo, sinabi ni Rafa na ang sistema ng Espanyol ay mas mahusay kaysa sa Ingles, dahil ang mga manlalaro ng kabataan ay hindi nakikipag-usap sa kanilang mga kapantay, naglalaro sila ng pang-adultong football sa mas mababang mga dibisyon, at samakatuwid ay mas madaling maunawaan ang antas ng kanilang pagiging mapagkumpitensya sa isang mataas na antas]

Champions League

Ang isa pang hanay ng mga patakaran na palagi naming dapat isaalang-alang ay ang pagsasama ng aming sariling mga mag-aaral at mga lokal sa listahan kapag gumuhit ng isang aplikasyon para sa Champions League. Ang bilang na ito ay umabot na sa 4 sa column na "trainees from their academy", at kailangan din ng 4 na lokal na manlalaro. Kung ang isang manlalaro ng football ay gumugol ng higit sa 3 taon sa isang club bago maabot ang kanyang ika-21 kaarawan, siya ay itinuturing na kanyang sariling mag-aaral.

Muli may mga pagkakaiba. Ang coach ay nakikitungo lamang sa kanyang koponan, ang komposisyon ay ang prerogative ng sports director. Ngunit ang manager ay kailangang gumawa ng mga plano para sa hinaharap. Sa Liverpool, binigyan kami ng sumusunod na gawain: magdala mula sa ibang bansa ng ilang mga batang manlalaro na hindi bababa sa 3 taong gulang bago ang kanilang ika-21 kaarawan (Ayala, Pacheco, Insua). Kaya, ayon sa mga tuntunin noong panahong iyon, sa hinaharap sila ay ituring na mga estudyante namin, na makakatulong sa club na makatipid ng pera sa mga paglilipat at kontrata, at isasama rin sa aplikasyon para sa Champions League. Sa Espanya at sa Europa sa pangkalahatan, bilang isang coach ay nakikibahagi ka lamang sa proseso ng pagpaplano para sa mga susunod na taon kung ikaw ay nagtatrabaho nang ilang taon at nanalo ng mga tropeo. Iilan lang ang nakakagawa nito.

Ipadala ang iyong mabuting gawa sa base ng kaalaman ay simple. Gamitin ang form sa ibaba

Ang mga mag-aaral, nagtapos na mga estudyante, mga batang siyentipiko na gumagamit ng base ng kaalaman sa kanilang pag-aaral at trabaho ay lubos na magpapasalamat sa iyo.

Na-post sa http://www.allbest.ru/

Ministri ng Edukasyon at Agham ng Ukraine

Chernigov State Technological University

Kagawaran ng Impormasyon at Sistema ng Kompyuter

Sistema ng software na "Football Championship"

Coursework sa disiplina na "Organization of Databases"

Nakumpleto

mga mag-aaral gr. KI-104A.G. Wojciechowski

A.G. Paraiso

Superbisor

Assistant M.V. Kharchenko

Chernigov 2013

Sanaysay

Course work, 86 pp., Fig. 21, 9 na pinagmumulan, 2 apendise.

Ang layunin ng pagbuo ng gawaing kurso ay upang ipatupad ang isang application na magpapahintulot sa iyo na magtrabaho kasama ang database, kapwa sa pamamagitan ng isang manipis na kliyente at sa pamamagitan ng isang desktop application.

Ang pangunahing paraan ng pagdidisenyo ng mga module ng aplikasyon ay ang paggamit ng mga diagram ng UML. Kaya, kung magagamit ang lisensyadong software, posibleng i-export ang mga binuong klase sa kapaligiran ng Eclipse EE.

Sa proseso ng pagsulat ng aplikasyon, dalawang pabrika ang DAOTourFirma at ServiceTourFirma ay binuo at nilikha para sa pakikipagtulungan sa mga entity. Sa tulong ng ServiceTourFirma, ipinatupad din ang lohika ng negosyo.

Ginamit din ang teknolohiya ng lalagyan ng Servlet at JSP. Dahil ang mga servlet at JSP na pahina ay tinatawag sa pamamagitan ng HTTP protocol, ang Servlet container at JSP container ay kadalasang sinasamahan ng isa pang bahagi - isang web server, na maaari ding isulat sa Java.

Ang Tomcat 6.0 server ay ginamit bilang server. Ang application ay binuo gamit ang JDK bersyon 1.7.

Sa kursong ito, ginamit ang PostgerSQL 9.0 DBMS para magtrabaho kasama ang database. Isang database ang nilikha na binubuo ng 9 na talahanayan. Ang bawat talahanayan ay may natatanging primary key bilang foreign key. Ito ay isang karagdagang field ng serbisyo na idinagdag sa mga umiiral na field ng impormasyon ng talahanayan, ang tanging layunin nito ay magsilbi bilang pangunahing susi. Ang mga halaga ng patlang na ito ay hindi nabuo sa batayan ng anumang iba pang data mula sa database, ngunit artipisyal na nabuo. Ang pangunahing bentahe ng isang dayuhang key ay hindi ito nagbabago, dahil hindi ito isang field ng talahanayan ng impormasyon

Sa panahon ng pag-unlad, ang corporate application na "Football Championship" ay dinala sa antas ng isang matatag na bersyon. Ang resulta ng pag-unlad ay ipinakita sa anyo ng isang proyekto ng software, na ibinigay sa apendiks sa gawaing kurso.

Upang gumana, ang corporate application ay nangangailangan ng pinakamababa: 1024 MB ng RAM, isang processor na hindi bababa sa Atom 1100 MHz at anumang browser. Mga kinakailangan sa operating system - Windows, Unix.

Ang karagdagang pag-unlad ng gawain ay posible sa direksyon ng pagpapabuti ng gawain ng mga sesyon.

Sanaysay

Course work, 86 pp., 21 figures, 9 texts, 2 supplements.

Ang paksa ng pag-unlad ay isang corporate program na nagpapahintulot sa iyo na magtrabaho kasama ang database, kapwa sa isang manipis na kliyente at may mga karagdagang serbisyo sa web.

Ang pangunahing paraan para sa pagdidisenyo ng mga module ng programa ay ang UML wiki - mga diagram. Sa ganitong paraan, kung available ang lisensyadong software, posibleng mag-export ng mga extension ng klase sa Eclipse EE.

Sa proseso ng pagsulat ng programa, dalawang pabrika na DAOTourFirma at ServiceTourFirma para sa pakikipagtulungan sa mga entity ay pinaghiwalay at nilikha. Sa tulong ng ServiceTourFirma, komprehensibong ipinatupad ang lohika ng negosyo.

Ang parehong teknolohiya ay ginamit para sa mga lalagyan ng Servlet at JSP. Dahil ang mga pahina ng servlet at JSP ay ina-access sa pamamagitan ng HTTP protocol, ang lalagyan ng Servlet at lalagyan ng JSP ay madalas na sinasamahan ng isa pang bahagi - isang web server, na maaari ding isulat sa Java.

Ang server ay naglalaman ng Tomcat 6.0 server. Ang programa ay nahati sa mga bahagi ng JDK na bersyon 1.7.

Sa panahon ng kursong ito, ginamit ang PostgerSQL 9.0 DBMS para magtrabaho kasama ang database. Ang isang database ay nilikha upang bumuo ng 9 na mga talahanayan. Ang bawat talahanayan ay may natatanging pangunahing key at panlabas. Ang karagdagang field ng serbisyo na ito, na idinagdag sa mga umiiral nang field ng impormasyon ng talahanayan, ay may isang layunin - upang magsilbi bilang pangunahing susi. Ang mga halaga ng patlang na ito ay hindi nilikha batay sa anumang iba pang data mula sa database, ngunit nabuo nang paisa-isa. Ang pangunahing bentahe ng foreign key ay hindi ito nagbabago, hangga't ito ay hindi isang nagbibigay-kaalaman na larangan ng talahanayan

Sa panahon ng pag-unlad, ang corporate program na "Football Championship" ay hindi na ipinagpatuloy at dinala sa antas ng isang matatag na pagpapalaya. Ang resulta ng pag-unlad ay ipinakita sa anyo ng isang proyekto ng software, na idinagdag sa gawaing kurso.

Para sa trabaho nito, ang isang corporate program ay mangangailangan ng isang minimum: 1024 MB ng RAM, isang processor na hindi mas mababa sa Atom 1100 MHz at anumang browser. Magagamit para sa operating system - Windows, Unix.

Ang karagdagang pag-unlad ng proyekto ay posible sa direksyon ng mas sopistikadong gawain sa mga sesyon.

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

Ang Abstract

Proyekto ng kurso, 86 p., Pic.21, 9 na mapagkukunan, 2 ng annex.

Ang layunin ay upang bumuo ng isang application na nagbibigay-daan sa iyo upang gumana sa database, tulad ng sa pamamagitan ng isang manipis na kliyente o sa pamamagitan ng isang desktop application.

Ang pangunahing paraan ng pagdidisenyo ng mga module ng application - gumamit ng UML - mga diagram. Kaya, kung ang software ay maaaring mabuo upang i-export ang mga klase sa kapaligiran ng Eclipse EE.

Sa panahon ng pagsulat ng mga aplikasyon ay binuo at nag-set up ng dalawang pabrika na DAOTourFirma at ServiceTourFirma upang makipagtulungan sa mga entity. Sa ServiceTourFirma ay higit na ipinatupad ang lohika ng negosyo.

Sa kurso ng gawaing kurso para sa pagpapatakbo ng database, ginamit ang DBMS PostgerSQL 9.0. Isang database, na binubuo ng 9 na talahanayan. Sa bawat talahanayan, ang isang natatanging pangunahing key ay panlabas. Isa itong opsyonal na field ng serbisyo, na idinagdag sa mga umiiral nang field ng impormasyon ng talahanayan, ang tanging layunin nito ay magsilbi bilang pangunahing key. Ang mga halaga ng patlang na ito ay hindi nabuo batay sa anumang iba pang data mula sa database, at nabuo nang artipisyal. Ang pangunahing bentahe ng foreign key ay hindi ito nagbabago, dahil isa itong informative table field.

Gayundin, ang teknolohiya ay ginamit, at Servlet-JSP-container. Dahil ang mga servlet at jsp-page ay ini-invoke sa pamamagitan ng HTTP-protocol, ang Servlet-JSP-container at ang container ay madalas na sinasamahan ng isa pang component - web-server, na maaari ding isulat sa Java.

Sa panahon ng pagbuo ng mga enterprise application ay natanggap ang "Football championat" na dinala sa antas ng beta. Ang resulta ng pagbuo ng anyo ng isang software project, na nakapaloob sa annex sa course work.

Para sa corporate application nito ay nangangailangan ng isang minimum: 1024 MiB ng RAM, ang CPU ay hindi Atom sa ibaba 1100 MHz at isang browser. Mga kinakailangan para sa operating system - Windows, Unix.

Ang karagdagang gawain sa pag-unlad ay posible upang mapabuti ang trabaho sa session.

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

Panimula

1. Pagsusuri sa problemang nilulutas

1.1 Pagsusuri ng domain

1.2 Mga layunin at layunin ng system

1.3 Layunin ng sistema

1.4 Mga kinakailangan sa system

2. Disenyo

2.1 Pagpili ng mga tool sa pagbuo ng system

2.1.1 Server ng database

2.1.2 Mga teknolohiya sa pagpapatupad ng system

2.2 Disenyo ng arkitektura ng system

2.2.1 Pagdidisenyo ng isang layer ng lohika ng negosyo at mga panuntunan sa negosyo

2.2.2 Pagdidisenyo ng layer ng pag-access ng data

2.2.3 Pagdidisenyo ng display layer

3. Pag-unlad

3.1 Pagbuo ng database ng system

3.1.1 Idisenyo ang database schema

3.1.2 Pagtiyak ng integridad ng data

3.1.3 Pagbuo ng mga pangunahing query

3.1.4 Paglikha ng mga tungkulin, pagpili ng mga index at view

3.1.5 Pagbuo ng mga nakaimbak na pamamaraan at mga trigger

3.1.6 Organisasyon ng proteksyon ng data

3.1.7 Object-relational na pagmamapa

3.2 Pagbuo ng mga module ng system

3.2.1 Pagbuo ng business logic at business rules layer modules

3.2.2 Pagbuo ng data access layer modules

3.2.3 Pagbuo ng mga module ng layer ng serbisyo

3.2.4 Pagbuo ng mga module ng display layer

Listahan ng mga mapagkukunang ginamit

Panimula

Sa kasalukuyan, ang mga computer at teknolohiya sa Internet ay naging laganap sa lahat ng mga lugar ng aktibidad ng tao. Ang paggamit ng teknolohiya ng computer ay dahil sa ang katunayan na ito ay makabuluhang pinapadali ang gawain ng tao, habang pinapabilis ang oras na kinakailangan upang makumpleto ang isang gawain at pagtaas ng pagiging maaasahan ng resulta. Dahil ang teknolohiya ng computer ay tumatakbo sa ilalim ng kontrol ng programa, ang paggana nito ay nakasalalay sa software na ginamit. Para sa kadahilanang ito, ang iba't ibang mga highly specialized na corporate application ay nililikha.

Ang pagdidisenyo ng isang database (DB) ay isa sa pinakamasalimuot at mahahalagang gawain na nauugnay sa paglikha ng isang enterprise application. Bilang resulta ng desisyon nito, dapat matukoy ang nilalaman ng database, isang epektibong paraan upang ayusin ang data para sa lahat ng mga user nito sa hinaharap, at mga tool sa pamamahala ng data. Ang pangunahing layunin ng disenyo ng database ay upang mabawasan ang kalabisan ng nakaimbak na data, at samakatuwid ay i-save ang dami ng memorya na ginamit, bawasan ang gastos ng maramihang mga pagpapatakbo ng pag-update ng mga kalabisan na mga kopya at alisin ang posibilidad ng mga hindi pagkakapare-pareho dahil sa pag-iimbak ng impormasyon tungkol sa parehong bagay sa iba't ibang mga lugar.

Ang isang enterprise application ay isang software application na idinisenyo upang pamahalaan ang malaking volume ng data at iproseso ito ayon sa mga patakaran ng negosyo, na nagpapahintulot dito na magdala ng ilang partikular na benepisyo sa korporasyon (enterprise) kapag ito ay ipinatupad.

Ang mga application ng negosyo ay hindi kasama ang mga tool sa pagpoproseso ng teksto, kontrol sa pagkonsumo ng gasolina sa isang makina ng kotse, kontrol ng kagamitan sa pagpapalitan ng elevator at telepono, awtomatikong kontrol ng mga proseso ng kemikal, pati na rin ang mga operating system, compiler, laro, atbp. Ang isang enterprise application ay karaniwang nangangailangan ng pangmatagalang (minsan mga dekada) na pag-iimbak ng data. Ang data ay kadalasang makakaligtas sa maraming henerasyon ng pagpoproseso ng mga application, hardware, operating system, at compiler.

Maraming user ang nag-a-access ng data nang magkatulad. Bilang isang patakaran, ang kanilang bilang ay hindi lalampas sa daan-daan, ngunit para sa mga system na naka-host sa kapaligiran ng Web, ang figure na ito ay tumataas ng ilang mga order ng magnitude.

Para sa malalaking volume ng data, ang application ay dapat magbigay ng isang rich user interface.

Ang mga application ng enterprise ay bihirang umiiral nang nakahiwalay. Karaniwang nangangailangan sila ng pagsasama sa iba pang mga system na binuo sa iba't ibang panahon gamit ang iba't ibang teknolohiya.

Ang mga enterprise application ay karaniwang kumplikadong software system .

1. Pagsusuri sa problemang nilulutas

1.1 Pagsusuri ng domain

Ang football championship ay isang football competition. Ang ganitong uri ng kompetisyon ay ginaganap taun-taon. Sa panahon ng kampeonato, ang mga tugma ay nagaganap sa pagitan ng iba't ibang mga koponan, ang mga resulta nito ay naitala sa mga standing ng isang tiyak na qualifying round. Ang susunod na hakbang ng kampeonato ay ang pagdaraos ng panghuling pag-ikot, ang listahan ng mga kalahok na koponan ay nabuo mula sa mga nanalo sa mga qualifying round. Kapag ang lahat ng mga laban ng huling round ay nilaro, batay sa bilang ng mga puntos na naitala, ang nagwagi sa kampeonato ay maaaring matukoy.

Ang football championship ay isang mass event, na kung saan ay nagpapahiwatig ng pangangailangan na magkaroon ng isang tiyak na panloob na mekanismo na mag-coordinate sa pagpasa nito. Kaya, matutukoy natin ang pinakamataas na ehekutibong katawan - ang executive committee, na tumatagal ng buong responsibilidad sa pag-oorganisa at paghawak ng kampeonato. Binubuo ito ng isang presidente at iba pang mga miyembro na inihalal ng Kongreso (ang pinakamataas na namumunong katawan ng isang partikular na asosasyon ng football) ng kampeonato. Ang Kongreso ay ginaganap taun-taon. Ang Executive Committee ay maaaring magpasimula ng Ikalawang Ordinaryong Kongreso upang harapin ang mga usapin sa pananalapi at/o mga bagay na higit na mahalaga.

Ang termino ng panunungkulan para sa pangulo at mga miyembro ng executive committee na inihalal ng Kongreso ay isang tiyak na bilang ng mga taon. Ang lahat ng miyembro ng executive committee ay maaaring muling mahalal. Ang mga opisyal na napakatanda na lamang ang hindi maaaring ihalal o muling ihalal. Kung mabakante ang isang puwesto sa executive committee, ang susunod na Ordinaryong Kongreso ay pipili ng kapalit hanggang sa katapusan ng kasalukuyang termino ng panunungkulan. Kung ang isang puwesto ay mabakante sa huling taon ng termino ng isang miyembro ng executive committee, walang pipiliin na kapalit.

Ang termino ng panunungkulan para sa Pangulo at mga miyembro ng Komiteng Tagapagpaganap ay nagsisimula sa pagtatapos ng Kongreso kung saan sila inihalal, at nagtatapos sa pagtatapos ng Kongreso kung saan ang kanyang kahalili ay inihalal. Ang pagtatalaga ng isang babae bilang miyembro ng executive committee sa loob ng apat na taon ay ginawa sa founding meeting ng Executive Committee.

Ang Executive Committee ay awtorisado na aprubahan ang mga regulasyon at gumawa ng mga desisyon sa lahat ng mga isyu sa labas ng hurisdiksyon nito. Pinamamahalaan ng executive committee ang mga aktibidad ng isang partikular na unyon ng football, maliban sa mga kaso kung saan ang executive committee ay nagtalaga ng mga kapangyarihan - o sila ay ipinagkatiwala ng Charter - sa presidente o administrasyon ng football union.

Ang Executive Committee ay maaaring magtalaga ng mga responsibilidad para sa paghahanda at pagpapatupad ng mga desisyon o pagsasagawa ng ilang partikular na negosyo sa isa o higit pa sa mga miyembro nito. Ang Executive Committee ay pinahintulutan din na magtalaga ng mga kapangyarihan - sa bahagi o sa kabuuan - sa Pangulo, isa o higit pa sa mga miyembro nito at/o sa administrasyon.

Karaniwan, ang Executive Committee ay nagpupulong tuwing dalawang buwan kapag tinawag ng Pangulo. Ang pangulo ay maaari ring mag-imbita ng mga ikatlong partido sa pulong ng executive committee bilang mga consultant.

1.2 Mga layunin at layunin ng system

Ang layunin ng sistema ng Football Championship ay i-automate ang proseso ng pagdaraos ng mga championship. Ang application na ito ay nagbibigay-kaalaman: pinapayagan ka nitong i-automate ang pagkalkula ng bilang ng mga panalo, pagkatalo at draw, pati na rin ang pagbibigay ng mga puntos sa mga koponan alinsunod sa mga resulta ng tugma (3 puntos - panalo, 2 - draw, 1 - pagkawala). Binibigyang-daan ka ng application na magdagdag ng bago, tanggalin at baguhin ang data ng talahanayan ng paligsahan gamit ang mga form ng input/output. Posibleng tingnan ang data tungkol sa mga empleyado at team, pati na rin tingnan ang nangungunang 10 team at mga resulta ng laban na nilaro sa kasalukuyang araw.

1.3 Layunin ng sistema

Ang sistemang "Football Championship" na binuo bilang bahagi ng proyekto ng kursong ito ay inilaan para sa lahat ng mga gumagamit na interesado sa mga resulta ng mga laban. Ang pahintulot ay hindi ibinabahagi sa aming system. Maaaring hindi mag-log in ang bisita, ngunit pumunta lang at tingnan ang impormasyon tungkol sa championship. Ang tagapamahala, pangulo at tagapangasiwa ay dapat magpasok ng personal na data upang makilala sa system. Ang ibig sabihin ng personal na data ay login at password. Pagkatapos kumpirmahin ng user ang ipinasok na data, sinusuri ng software system ang katotohanan nito. Una, ang pag-login ay nasuri; kung hindi ito matatagpuan sa database, ang system ay nagpapakita ng isang mensahe na nagsasabi na ang isang gumagamit na may ganoong pangalan ay hindi umiiral. Kung tama ang pangalan, susuriin ang checksum ng password. Kung hindi ito tumugma, kung gayon ang password ay hindi tama. Para sa higit na seguridad ng system, pagkatapos kalkulahin ang checksum, ang buong password ay sinusuri upang tumugma. Kung ang pag-login at password ay totoo at naaangkop at isang value-key pair, pagkatapos ay papasok ang user sa system at itatalaga ang katayuan ng presidente, administrator o manager.

Ang Figure 1.1 ay nagpapakita ng isang diagram ng mga kaso ng paggamit para sa tungkulin ng Pangulo ng Championship

Figure 1.1 - Diagram ng mga use case para sa papel ng Championship President

Pagkatapos mag-log in, ang pangulo ay may mga sumusunod na opsyon: pamamahala ng mga tauhan at pagbabadyet.

Kasama sa use case para sa “Human Resources Management” ang pagdaragdag ng record tungkol sa isang bagong empleyado, gayundin kapag umalis ang isang empleyado, pagtanggal ng kaukulang record. Ang kaso ng paggamit ng Gumawa ng Badyet ay nagsasangkot ng pagdaragdag at pagtanggal ng mga rekord ng suweldo.

Ang Figure 1.2 ay nagpapakita ng diagram ng mga kaso ng paggamit para sa tungkulin ng Administrator

Figure 1.2 - Diagram ng mga kaso ng paggamit para sa tungkulin ng Administrator

Pagkatapos mag-log in, ang administrator ay may mga sumusunod na opsyon: pamahalaan ang mga account at suriin ang mensahe sa database.

Ang kaso ng paggamit ng "Pamahalaan ang mga account" ay may sumusunod na senaryo: Kung nagdaragdag ito ng bagong user, pagkatapos ay punan ang naaangkop na formula at i-save ang mga pagbabago; kung ito ay isang pagbabago o pagtanggal ng isang gumagamit, kailangan mo munang hanapin ito sa database, kung tinanggal, sirain ang data tungkol sa gumagamit, kung binago, itama ito at i-save ito.

Ang Figure 1.3 ay nagpapakita ng diagram ng use case para sa tungkulin ng Manager.

Figure 1.3 - Gamitin ang diagram ng case para sa tungkulin ng Manager

Pagkatapos mag-log in, ang Manager ay may mga sumusunod na opsyon: punan, tanggalin, o tingnan ang mga entry sa standing.

Ipinapakita ng Figure 1.4 ang diagram ng use case para sa tungkuling Panauhin.

Figure 1.4 - Diagram ng mga use case para sa tungkuling Panauhin

Pagkatapos i-download ang application, maaaring tingnan ng bisita ang mga standing, alamin ang impormasyon tungkol sa mga laban at mga koponan.

1.4 Pangangailangan sa System

Ang sistema ng "Football Championship" na binuo bilang bahagi ng gawaing kursong ito ay dapat gumana sa mga sumusunod na bagay: bansa, laban, empleyado, paligsahan. Ito ay kinakailangan upang bumuo ng isang sistema kung saan ang gumagamit ay maaaring magrehistro at baguhin ang kinakailangang impormasyon.

Ang ilang mga paghihigpit ay ipinapataw sa mga bagay at mga patakaran ng pakikipag-ugnayan sa pagitan ng mga bagay sa system, ang kabuuan nito ay tinatawag na lohika ng negosyo.

Ayon sa lohika ng negosyo ng system, kinakailangan na ipatupad ang: awtomatikong pagbibigay ng mga puntos sa mga koponan depende sa isang panalo, pagkatalo o draw sa isang naibigay na laban.

2. Disenyo

2.1 Pagpili ng mga tool sa pagbuo ng system

Sa puntong ito, pipiliin ang database server, at kung saan makikipag-usap ang user sa database, pipiliin din ang teknolohiya at arkitektura ng pagpapatupad ng system.

2.1.1 Server ng database

Sa ngayon mayroong isang malaking bilang ng mga database server tulad ng: MySQL, PostgreSQL, Microsoft Access at iba pa.

Ang PostgreSQL ay isang object-relational database management system na nagpapatakbo bilang isang client-server system. Batay sa mga pangunahing konsepto ng mga relational na database, sinusuportahan din ng PostgreSQL ang isang bilang ng mga "object" na operasyon, halimbawa, inheritance. Ang PostgreSQL ay umaayon sa SQL99 core specification at sinusuportahan ang marami sa mga feature na inilarawan sa SQL92 standard.

Ang Oracle ay bahagyang nakahihigit sa PostgreSQL sa mga lugar tulad ng paggamit ng mga index, pagtitiklop at pagbawi ng data, at mga tool sa pangangasiwa sa pangkalahatan. Ang Oracle ay mas advanced (ngunit mas kumplikado din). Sa kabilang banda, ang PostgreSQL ay nagbibigay ng kakayahang gumamit ng PL/Perl, PL/Python, PL/Tcl bilang isang procedural language, na nagpapahintulot sa developer na pumili ng mas pamilyar na tool.

Sa MySQL, ang bawat talahanayan ay ipinasok sa sarili nitong file (para sa karamihan ng mga uri ng mga database), na nag-aayos ng isang istraktura ng file.

Sa MySQL, ang diin ay ang pinakamahusay na bilis ng pagbabasa (sampling) ng data, na nagpapaliwanag sa kasikatan ng DBMS na ito sa mga web developer, kung saan ang sampling ang pangunahing operasyon. Ito ay nakakamit sa pamamagitan ng kawalan ng mga transaksyon (ang mga ito ay ipinatupad lamang para sa ilang mga uri ng mga talahanayan, halimbawa InnoDB, BerkleyDB) at multi-threaded na operasyon, ngunit ito rin ang dahilan para sa medyo mas mababang pagiging maaasahan ng DBMS na ito. Sa mga tuntunin ng mga pahintulot, pinapayagan ka ng MySQL na magtakda ng mga pahintulot hindi lamang sa antas ng talahanayan, kundi pati na rin sa antas ng hanay, ngunit sa PostgreSQL ito ay binabayaran ng kakayahang lumikha ng mga custom na view.

Ang Apache Derby ay isang relational database management system na nakasulat sa Java, na idinisenyo para sa pag-embed sa mga Java application o pagproseso ng mga transaksyon sa real time. Sumasakop ng 2 MB sa disk. Ang Apache Derby ay binuo bilang open source at ipinamahagi sa ilalim ng mga tuntunin ng Apache 2.0 na lisensya. Ang Derby ay dating kilala bilang IBM Cloudscape. Ang Sun ay namamahagi ng parehong mga binary sa ilalim ng pangalang Java DB.

Sa kursong ito, ginamit ang PostgreSQL - mga database na nangangailangan ng mataas na antas ng pagiging maaasahan ng pag-iimbak ng impormasyon, nadagdagan ang mga kinakailangan para sa pagsuri sa lahat ng mga pagbabago, may pangangailangan na awtomatikong ayusin ang isang malaking bilang ng data kapag nagbago ang impormasyon sa isa sa mga talahanayan, bilang pati na rin ang mga gawain na nangangailangan ng kakayahang bumuo ng mga di-maliit na solusyon, paggamit ng mga hindi karaniwang operator, atbp.

2.1.2 Mga teknolohiya sa pagpapatupad ng system

Ang JSP (JavaServer Pages) ay isang teknolohiyang nagbibigay-daan sa mga web developer na madaling gumawa ng content na may parehong static at dynamic na mga bahagi. Sa pangkalahatan, ang JSP page ay isang text document na naglalaman ng dalawang uri ng text: static source data, na maaaring i-format sa isa sa HTML, SVG, WML, o XML na mga format ng text, at mga elemento ng JSP, na bumubuo ng dynamic na content. Bilang karagdagan, ang mga library ng tag ng JSP, pati na rin ang EL (Expression Language), ay maaaring gamitin upang i-embed ang Java code sa static na nilalaman ng mga pahina ng JSP.

Ang JSP ay isa sa mga high-performance na teknolohiya dahil ang buong page code ay isinalin sa servlet java code gamit ang Jasper JSP page compiler, at pagkatapos ay pinagsama-sama sa java virtual machine (JVM) bytecode. Ang mga lalagyan ng Servlet, na may kakayahang magsagawa ng mga pahina ng JSP, ay nakasulat sa Java, na maaaring tumakbo sa iba't ibang mga platform. Ang mga pahina ng JSP ay na-load sa server at pinamamahalaan mula sa istruktura ng isang espesyal na Java server packet na tinatawag na Java EE Web Application, karamihan ay naka-package sa mga file archive na .war at .ear.

Ang benepisyo na ibinibigay ng teknolohiya ng JSP kaysa sa iba pang mga teknolohiya sa web ay ang JSP ay isang platform-independent, portable at madaling mapalawak na teknolohiya para sa pagbuo ng mga web application.

Ang JSP 2.0 ay isang bagong bersyon ng detalye ng JSP na idinagdag na may functionality na nagpapataas ng bilis ng trabaho ng programmer. Namely:

– Expression Language (EL) – isang expression na wika na nagbibigay-daan sa mga developer, bukod sa iba pang mga bagay, na lumikha ng mga template ng istilo ng Velocity;

– isang mas madali at mas mabilis na paraan upang lumikha ng mga bagong tag gamit ang mga .tag na file, ngayon ay hindi mo na kailangang malaman ang Java upang lumikha ng mga bagong tag;

– isang maginhawang paraan upang pamahalaan ang mga nested beans (JavaBeans);

– isang mas mabilis at mas madaling paraan upang ipakita ang mga variable na parameter.

Ang servlet ay isang Java interface na ang pagpapatupad ay nagpapalawak ng functionality ng server. Ang isang servlet ay nakikipag-ugnayan sa mga kliyente gamit ang prinsipyo ng kahilingan-tugon.

Bagama't maaaring maghatid ng anumang kahilingan ang mga servlet, kadalasang ginagamit ang mga ito upang palawigin ang mga web server. Para sa mga naturang application, ang teknolohiya ng Java Servlet ay tumutukoy sa mga klase ng servlet na partikular sa HTTP.

JSTL (JavaServer Pages Standard Tag Library) - isinalin mula sa English bilang "JSP standard tag library". Pinapalawak nito ang detalye ng JSP sa pamamagitan ng pagdaragdag ng library ng mga JSP tag para sa mga karaniwang pangangailangan tulad ng XML parsing, conditional processing, looping, at internationalization support. Ang JSTL ay ang huling resulta ng JSR 52, na binuo sa ilalim ng JCP (Java Community Process).

Ang JSTL ay isang alternatibo sa ganitong uri ng logic na binuo sa JSP, tulad ng mga scriptlet, iyon ay, direktang pagpapasok ng Java code. Mas mainam ang paggamit ng standardized set ng mga tag dahil ang resultang code ay mas madaling mapanatili at mas madaling paghiwalayin ang business logic mula sa display logic.

Ang Java Persistence API (JPA) -- isang API na kasama sa Java 5 sa Java SE at Java EE na mga platform, ay nagbibigay ng kakayahang mag-imbak ng mga bagay sa Java sa isang database nang maginhawa.

Mayroong ilang mga pagpapatupad ng interface na ito, isa sa mga pinakasikat na paggamit ng Hibernate para dito.

Suporta sa integridad ng data na ibinigay ng JPA, sumasaklaw sa mga lugar:

– direkta ang API na tinukoy sa javax.persistence package;

– platform-independiyenteng object-oriented na wika ng query na Java Persistence Query Language;

– meta-impormasyon na naglalarawan ng mga ugnayan sa pagitan ng mga bagay;

– henerasyon ng DDL para sa mga entity.

2.2 Disenyo ng arkitektura ng system

layer database module servlet

Ang arkitektura ng system ay magiging katulad ng ipinapakita sa pagsusuri (Figure 1.1) at mga pamamaraan para sa paglutas ng problema.

Ang papel ng integration layer (data source layer) ay upang paganahin ang application na makipag-ugnayan sa iba't ibang bahagi ng imprastraktura upang maisagawa ang mga kinakailangang function. Ang pangunahing bahagi ng problemang ito ay nauugnay sa pagpapanatili ng isang dialogue sa database - sa karamihan ng mga kaso relational. Isa sa mga pinakamalaking dahilan para sa tagumpay ng mga relational system ay ang kanilang suporta para sa SQL, ang pinaka-standardized na wika para sa mga komunikasyon sa database.

Ang paraan ng pagpapatupad ng layer ng pagsasama ay nakasalalay sa pakikipag-ugnayan ng lohika ng negosyo sa database. Ang mga pagpipiliang ginawa sa yugtong ito ay may malalayong kahihinatnan at maaaring maging mahirap o imposibleng baligtarin.

Samakatuwid, ito ay nararapat sa pinakamaingat na pagsasaalang-alang. Kadalasan, tinutukoy ng mga naturang desisyon ang mga pagpipilian sa layout para sa lohika ng negosyo.

Mas makatuwirang paghiwalayin ang SQL code mula sa lohika ng negosyo sa pamamagitan ng paglalagay nito sa mga espesyal na klase. Ang isang mahusay na paraan upang ayusin ang mga naturang klase ay ang "kopyahin" ang istraktura ng bawat Bagay sa Database sa isang hiwalay na klase, na bumubuo ng isang gateway na sumusuporta sa mga kakayahan sa pag-access sa talahanayan. Ngayon ang pangunahing code ng aplikasyon ay hindi kailangang "alam" ng anuman tungkol sa SQL, at lahat ng mga operasyon ng SQL ay puro sa isang compact na grupo ng mga klase. Ang isang mas mahusay na pagpipilian ay upang ihiwalay ang modelo ng domain mula sa database, na nagbibigay sa middleware ng buong responsibilidad para sa pagmamapa ng mga bagay ng domain sa mga bagay sa database. Ang nasabing data converter ay pinangangasiwaan ang lahat ng mga operasyon ng paglo-load at pag-iimbak ng impormasyon na pinasimulan ng lohika ng negosyo, at nagbibigay-daan sa iyong independiyenteng pag-iba-iba pareho ang modelo ng domain at ang schema ng database. Ito ang pinaka-kumplikado sa mga solusyon sa arkitektura upang matiyak ang pagsusulatan sa pagitan ng mga bagay ng aplikasyon at mga istrukturang pamanggit, ngunit ang hindi maikakaila na kalamangan nito ay ang kumpletong paghihiwalay ng dalawang layer.

Ngayon, maaaring samantalahin ng mga developer ng Java ang mga umiiral nang tool: serialization, object-relational mapping tool, object database at EJB. Ang bawat isa sa mga tool na ito ay may sariling mga lugar ng aplikasyon at, samakatuwid, ang ilang mga disadvantages. Tinatanggal ng JDO ang mga pagkukulang na ito at nagbibigay ng higit na transparency.

Serialization. Isang built-in na Java engine na nagko-convert ng mga bagay sa isang sequence ng mga byte na maaaring i-save sa isang file o i-transmit sa isang network. Napakadaling gamitin ng serialization, ngunit napakalimitado rin. Kapag gumagamit ng serialization, ang bagay ay naka-imbak bilang isang solong kabuuan. Hindi nito sinusuportahan ang mga transaksyon, o ang paggamit ng parehong serialized na bagay sa iba't ibang mga thread o program na walang mga salungatan sa pagitan ng mga ito;

Object-relational mapping (JPA). Ang JPA ay hindi isang bagong teknolohiya, ngunit isang koleksyon ng mga ideya mula sa pinakamahusay na magagamit na mga teknolohiya tulad ng Hibernate, TopLink at JDO. Bilang resulta, ang JPA ay isang standardized na detalye na kasama sa J2EE5, na nagpapahintulot sa data persistence layer na mabuo nang hiwalay sa anumang partikular na provider. Yung. Maaaring mayroong maraming mga pagpapatupad ng detalye ng JPA; isa sa mga ito, halimbawa, ay ang OpenJPA framework o ang parehong Hibernate.

Mga Bagay na Database. Ang mga database ng object ay partikular na idinisenyo upang mag-imbak ng mga bagay at ganap na magkasya sa konsepto ng object-oriented na programming. Ang Object Database Management Group (ODMG) ay nilikha upang bumuo ng isang API para sa pagtatrabaho sa mga naturang database. Gayunpaman, maraming mga database vendor ay nag-aalangan pa ring lumipat mula sa isang mahusay na itinatag na relational system patungo sa isang object-oriented. Gayundin, mas kaunting mga tool sa pagsusuri ng data ang magagamit para sa mga database ng object at isang napakalaking halaga ng data ang nakaimbak na sa mga relational na database. Para sa mga kadahilanang ito, at marami pang iba, ang mga object database ay hindi nakahanap ng malawakang paggamit gaya ng inaasahan ng kanilang mga tagalikha;

Enterprise Java Beans (EJBs). Ang mga EJB ay mga sangkap na nag-iimbak ng kanilang estado sa isang relational database at nagbibigay ng object-oriented na pagpapakita ng patuloy na data. Hindi tulad ng mga produktong pagmamapa ng object-relational, ang mga EJB ay may mahigpit na detalye, na ginagawang posible na gumamit ng mga produkto mula sa iba't ibang mga vendor. Sa kasamaang palad, ang pamantayan ng EJB ay limitado sa mga aspetong nakatuon sa object. Hindi nila sinusuportahan ang mana, polymorphism, atbp. Ang mga bahagi ng EJB ay nangangailangan din ng maraming pagsisikap upang magsulat at kadalasan ay nangangailangan ng espesyal na software upang patakbuhin ang mga ito.

Ngayon, may iba't ibang mga framework na gumagamit ng programming technique na ito. Narito ang ilan sa mga ito:

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

Kapag nag-aayos ng isang ORM gamit ang iba't ibang mga teknolohiya, kinakailangan na lumikha ng mga file ng pagmamapa ng bagay; gumawa ng mga configuration file na tumutukoy sa mga resource file, data source, suporta sa transaksyon, atbp.

2.2.1 Pagdidisenyo ng isang layer ng lohika ng negosyo at mga panuntunan sa negosyo

Ang prinsipyo ng pagpapatakbo ng system na ito:

Ang administrator ay nagpasok ng data tungkol sa mga empleyado, mga kampeonato, mga koponan;

Tinitingnan ng mga user ang mga standing at impormasyon tungkol sa mga championship;

Ang pagpaparehistro ay hindi sapilitan, ito ay kinakailangan lamang para sa pagbabago ng data;

Isang karagdagang talahanayan ang ginawa upang ipatupad ang isang many-to-many na relasyon. zakaz_dop_uslugi (ini-link ang order sa mga karagdagang serbisyo).

Samakatuwid, posibleng magdisenyo ng mga nasabing klase ng domain (Larawan 2.4).

Figure 2.4 - Mga klase ng domain

Ayon sa lohika ng negosyo ng system, kinakailangan na awtomatikong magbigay ng mga puntos para sa mga pagkalugi, panalo at draw, ayon sa pagkakabanggit.

2.2.2 Pagdidisenyo ng Data Access Layer

Upang ma-access ang data na nakaimbak sa panlabas na imbakan, ito ay pinaka-maginhawa upang tukuyin ang hiwalay na mga interface na may mga pamamaraan para sa pagmamanipula ng data. Ang pagpapatupad ng mga interface na ito ay maaaring anuman, halimbawa gamit ang JDBC o JPA, JAXB o kahit na simpleng mga koleksyon ng Java. Pinili ang JPA upang gawing simple ang proyektong ito ng kurso. Upang magamit ang iba't ibang mga pagpapatupad ng mga interface ng pag-access ng data, maginhawang gamitin ang pattern ng disenyo ng "Abstract Factory" o "Factory Method". Sa kasong ito, ang naturang pabrika ay ang abstract na klase na DAOFactory, na naglalaman ng kahulugan ng mga abstract na pamamaraan na nagbabalik ng mga pagpapatupad ng mga interface (Larawan 2.4).

Sa lahat ng mga operasyon sa pag-access ng data, malinaw na makikilala ng isa ang mga pangunahing operasyon ng CRUD (lumikha, magbasa, mag-update, magtanggal) - paglikha ng isang bagay, pagtanggal ng isang bagay, pag-update ng isang bagay, pagkuha ng isang bagay sa pamamagitan ng pagkakakilanlan, at pagkuha ng lahat ng mga bagay. Ang paglipat ng mga naturang operasyon sa isang hiwalay na super class ay maiiwasan ang pagdoble ng code. Ang ganitong mga pangunahing operasyon ay inilipat din sa isang hiwalay na pangunahing interface na IGenericDao , na, gamit ang Java Generics, ay nagpapahintulot sa iyo na tukuyin ang klase ng mga bagay kung saan ka gagana.

Larawan 2.4 - diagram ng klase ng DAO

2.2.3 Pagdidisenyo ng Display Layer

Ang layer na ito ay isang manipis na kliyente.

Upang gumana sa application, nilikha ang mga pahina na nagbibigay ng output, karagdagan, pag-edit at pagtanggal ng data. Ang pangunahing pahina kung saan napunta ang isang hindi rehistradong user, index.jsp. Ang mga karagdagang pahina ay nilikha din para sa pagdaragdag at pag-edit ng data, ngunit may mga karapatan lamang ng administrator.

3. Pag-unlad

3.1 Pagbuo ng database ng system

3.1.1 Idisenyo ang database schema

Batay sa pagsusuri, disenyo ng business logic layer at mga panuntunan, ang istraktura ng database ay maaaring gawin tulad ng sumusunod (Figure 3.1)

Figure 3.1 - Logical diagram ng database

Ang pisikal na layout ng database ay ipinapakita sa Figure 3.2

Figure 3.2 - Pisikal na diagram ng database

Ang database ng software system ay naglalaman ng lahat ng impormasyon tungkol sa mga bagay nito, lalo na:

talahanayan ng paligsahan;

Mga Koponan;

Gumagamit;

Manggagawa;

suweldo;

Championship.

Ang bawat talahanayan ay may natatanging primary key bilang foreign key. Ito ay isang karagdagang field ng serbisyo na idinagdag sa mga umiiral na field ng impormasyon ng talahanayan, ang tanging layunin nito ay magsilbi bilang pangunahing susi. Ang mga halaga ng patlang na ito ay hindi nabuo sa batayan ng anumang iba pang data mula sa database, ngunit artipisyal na nabuo. Ang pangunahing bentahe ng isang dayuhang susi ay hindi ito nagbabago, dahil hindi ito isang patlang ng talahanayan ng impormasyon (hindi ito nagdadala ng anumang impormasyon tungkol sa bagay na inilarawan ng talaan). Makatuwirang gumamit ng foreign key kapag maaaring magbago ang mga field na bumubuo sa (natural) na pangunahing key. Sa kasong ito, ang problema ng tinatawag na "mga pagbabago sa cascading" ay lumitaw. Kung gagamit ka ng foreign key bilang pangunahing key, hindi mo na ito kailangang baguhin. Gayundin, kapag nagpapatakbo ng mga query na gumagamit ng mga foreign key, ang mga paghahambing sa field ay magiging mas mabilis, lalo na kung ang natural na pangunahing key ay isang string.

3.1.2 Tinitiyak ang integridad ng data

Ang mga hadlang sa integridad ay ibinibigay sa Talahanayan 3.1

Talahanayan 3.1 - Paglalarawan ng mga talahanayan ng database

Pangalan ng talahanayan

Paglalarawan

Uri ng datos

Limitasyon

code ng pagkakakilanlan ng empleyado

Pangunahing susi

Address ng empleyado

linya, 20 character

kinakailangang entry

Araw ng kapanganakan

linya, 20 character

kinakailangang entry

Apelyido Pangalan. Panggitnang pangalan ng empleyado

linya, 60 character

kinakailangan para sa pagpasok;

Numero ng telepono ng empleyado

String 20 character

kinakailangang entry

User foreign key

integer

Championship foreign key

integer

para sa input; natatanging mga halaga

tumugma sa ID code

Pangunahing susi

Petsa ng laban

linya, 20 character

kinakailangang entry

Ang away team

linya, 20 character

kinakailangang entry

Host team

linya, 20 character

kinakailangang entry

Iskor ng Laro

linya, 20 character

Numero ng paglilibot

integer

kinakailangang entry

Mag-utos ng foreign key

integer

para sa input; natatanging mga halaga

code ng pagkakakilanlan ng gumagamit

Pangunahing susi

Mag-login upang makapasok sa site

linya, 20 character

kinakailangang entry

Password upang mag-login sa site

linya, 20 character

kinakailangang entry

Tungkulin sa dayuhang susi

integer

para sa input; natatanging mga halaga

code ng pagkakakilanlan ng talahanayan

Pangunahing susi

Bilang ng mga laban na nilaro sa isang draw

integer

kinakailangang entry

Bilang ng mga puntos sa bawat laban

integer

kinakailangang entry

Bilang ng mga laban na natalo

integer

kinakailangang entry

Bilang ng mga laban na napanalunan

integer

kinakailangang entry

kodigo ng pagkakakilanlan ng suweldo

Pangunahing susi

Bilang ng oras na nagtrabaho

integer

kinakailangang entry

Premium na halaga

Tunay na uri ng data

Dami ng multa

Tunay na uri ng data

Foreign key ng empleyado

integer

para sa input; natatanging mga halaga

code ng pagkakakilanlan ng lisensya

Pangunahing susi

Tungkulin sa dayuhang susi

integer

para sa input; natatanging mga halaga

Isang aksyon na maaaring gumanap sa tinukoy na tungkulin

linya, 30 character

para sa input; natatanging mga halaga

ID code ng papel

Pangunahing susi

linya, 30 character

kinakailangang entry

code ng pagkakakilanlan ng pangkat

Pangunahing susi

Pangalan ng lungsod

linya, 20 character

kinakailangang entry

Pangalan ng pangkat

linya, 20 character

kinakailangang entry

Pangalan ng tagapagsanay

linya, 60 character

kinakailangang entry

Table foreign key

integer

kinakailangang entry

code ng pagkakakilanlan ng championship

Pangunahing susi

Petsa ng championship

kinakailangang entry

Ang pangalan ng bansa

linya, 40 character

kinakailangang entry

Table foreign key

integer

kinakailangang entry

3.1.3 Pagbuo ng mga pangunahing query

Sa pagbuo ng mga pangunahing query, pinili ang JPQL bilang wika ng pag-unlad.

Nasa ibaba ang isang paglalarawan ng mga pangunahing query; ang kanilang pagpapatupad ay ibinigay sa Appendix A.

getKomandasByTablicaId - isang kahilingan upang pumili ng mga halaga mula sa talahanayan ng "Team", kung saan ang table id ay isang parameter para sa pagtanggap ng isang command.

findKomandaByName ay isang kahilingan upang pumili ng isang command, kung saan ang pangalan ng talahanayan ay isang parameter para sa pagtanggap ng command.

getTablicaByChampionatId - isang kahilingan na pumili ng mga halaga mula sa talahanayang "Talahanayan", kung saan ang championship id ay isang parameter para sa pagkuha ng talahanayan.

getKomandasByTablicaId - isang kahilingan upang pumili ng mga halaga mula sa talahanayan ng "Team", kung saan ang table id ay isang parameter para sa pagkuha ng talahanayan.

findUserByNameAndPassword ay isang kahilingan upang pumili ng mga halaga mula sa talahanayan ng "User", kung saan ang pag-login ng user ay katumbas ng unang parameter, at ang password ay ang pangalawa.

Ang getWorkerByChampionatId ay isang kahilingan na pumili ng mga value mula sa talahanayang “Worker,” kung saan ang championship id ay isang parameter para sa pagkuha ng isang manggagawa.

getZarplatasByWorkerId - isang kahilingan upang pumili ng mga halaga mula sa talahanayan ng "Salary", kung saan ang empleyado id ay isang parameter para sa pagtanggap ng suweldo.

3.1.4 Paglikha ng mga tungkulin, pagpili ng mga index at view

Mga tungkulin:

Ang ilang mga tungkulin ay nilikha na may iba't ibang mga karapatan sa pag-access sa mga database:

Lumikha ng tungkulin na "admin" LOGIN UNENCRYPTED PASSWORD "qwerty"

Lumikha ng tungkulin na "manager" LOGIN HINDI NA-ENCRYPTED NA PASSWORD "qwerty1"

Lumikha ng tungkulin na "direktor" LOGIN HINDI NA-ENCRYPTED NA PASSWORD "qwerty2"

Ang mga karapatan sa pag-access sa mga relasyong chempionat, komanda, matchi, prava, "role", tablica, users, worker, zarplata ay maaaring ilarawan tulad ng sumusunod:

bigyan ng piliin, tanggalin, ipasok, i-update sa chempionat, komanda, matchi, prava, "role", tablica, mga gumagamit, manggagawa, suweldo sa admin

bigyan ng piliin, tanggalin, ipasok, i-update sa tablica, matchi, komanda sa manager

Mga index:

Kapag pumipili ng mga index, ang pangunahing pamantayan ay ang madalas na pag-access sa isang partikular na field

Upang mapabuti ang kahusayan ng pagtatrabaho sa data, ginawa ang mga index para sa mga field na madalas na ginagamit kapag kumukuha ng data:

lumikha ng index i_worker sa worker(id);

lumikha ng index i_komanda sa komanda(id);

lumikha ng index i_matchi sa matchi(id);

lumikha ng index i_zarplata sa zarplata(id)

Kinatawan:

Upang ipatupad ang bahagyang pag-access sa talahanayan ng tablica, ginawa ang sumusunod na view:

gumawa ng view w_guest (kolnichiyih,kolocheck,kolproigrashey,kolviigrashey,idchampionata) bilang

piliin ang kolnichiyih, kolocheck, kolproigrashey, kolviigrashey, idchampionata mula sa tablica;

lumikha ng tungkuling panauhin MAG-LOGIN HINDI NA-ENCRYPTED NA PASSWORD "qwerty3"

bigyan ng pili sa w_guest ang bisita

3.1.5 Pag-unlad ng mga naka-imbak na pamamaraan at pag-trigger

Mga Trigger:

1) Isang trigger na naglalagay ng value sa field ng premiya kapag nagdaragdag ng record sa talahanayan ng Zarplata. Kung ang halaga ng kolChasov field ay lumampas sa isang tiyak na halaga.

GUMAWA O PALITAN ANG FUNCTION ins()

RETURNS trigger AS

I-UPDATE ang "suweldo"

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

Mula sa "zarplata", "manggagawa"

kung saan ("kolchasov" >8);

WIKA "plpgsql";

GUMAWA NG TRIGGER trig_11 PAGKATAPOS INSERT SA "zarplata"

PARA SA BAWAT HANAY NA PAMAMARAAN NG PAGSASANAY ins();

2) Isang trigger na nagdaragdag ng tala sa field ng halaga ng talahanayan ng suweldo kapag nagdaragdag o nag-a-update ng tala sa talahanayan. Ang halaga ng field na ito ay tinutukoy ng halaga ng field rate, penalty at premium.

lumikha o palitan ang function addSumInZarplata()nagbabalik ng trigger bilang

magdeklara ng shtr float:=(select shtraf from zarplata where id=new.id);

ideklara ang prem float:=(piliin ang premiya mula sa zarplata kung saan id=new.id);

declare s float:= (piliin ang sum mula sa zarplata kung saan id=new.id);

i-update ang hanay ng suweldo

summa = s+prem-shtr where id=new.id;

wika plpgsql;

lumikha ng trigger trigAddSumZarplat

sa suweldo para sa bawat hanay

execute procedure addSumInZarplata();

Naka-imbakmga pamamaraan:

1) Bumuo ng isang naka-imbak na pamamaraan na magbabalik ng isang listahan ng mga laban na nakatakdang maganap ngayon. Walang mga parameter ng pag-input. Ang output parameter ay ang talahanayan ng tugma.

GUMAWA O PALITAN ANG FUNCTION func_1()

RETURNS TABLE(id integer, gost character varying(30), hozain character varying(30),

schet character varying(10), tur integer, idkomandy integer, data date) AS $$

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

2) Bumuo ng isang naka-imbak na pamamaraan na magbabalik ng pangalan ng pangkat na nakakuha ng pinakamakaunting puntos sa isang tiyak na kampeonato. Mga parameter ng input - pangalan ng bansa. Ang output parameter ay ang pangalan ng command.

GUMAWA O PALITAN ANG FUNCTION func_2(nag-iiba-iba ang karakter ng bansa(40))

PUMILI ng "pangalan" MULA SA "komanda", "tablica", "chempionat" WHERE "komanda"."idtablici" = "tablica"."id" AT "kolocheck" IN (SELECT MIN("kolocheck") MULA sa "tablica") AT "idchampionata" SA (PUMILI "id" MULA SA "championata" SAAN "bansa" = $1); $$

3) Bumuo ng isang naka-imbak na pamamaraan na magbabalik sa nangungunang 10 mga koponan sa talahanayan ng paligsahan. Mga parameter ng input - pangalan ng bansa. Ang output parameter ay isang talahanayan na binubuo ng mga pangalan ng 10 pinakamahusay na mga koponan at ang kanilang bilang ng mga puntos.

GUMAWA O PALITAN ANG FUNCTION func_3(nag-iiba-iba ang karakter ng bansa(40))

RETURNS TABLE(_name character varying(20), kolocheck integer) BILANG $$

MAY subquery AS (PUMILI "pangalan", "kolocheck" MULA sa "komanda", "tablica", "chempionat" SAAN "komanda"."idtablici" = "tablica"."id" AT "idchampionata" SA (PUMILI "id" MULA sa "chempionat" WHERE "strana" = $1) GROUP BY 1, 2 ORDER BY "kolocheck" DESC)

PUMILI * MULA SA "subquery" GROUP NG 1, 2 NA MAY BILANG("pangalan")<= 10; $$

4) Bumuo ng isang nakaimbak na pamamaraan na magbabalik ng pangalan ng pinuno ng pangkat sa mga standing ng isang tiyak na kampeonato. Mga parameter ng input - pangalan ng bansa. Ang output parameter ay ang pangalan ng pinuno.

GUMAWA O PALITAN ANG FUNCTION func_5(nag-iiba-iba ang karakter ng bansa(40))

Ibinabalik ang character na nag-iiba(20) BILANG $$

PUMILI ng "pangalan" MULA SA "komanda", "tablica", "chempionat"

WHERE "komanda"."idtablici" = "tablica"."id" AT "kolocheck" IN (SELECT MAX("kolocheck") FROM "tablica") AT "idchampionata" IN (SELECT "id" FROM "chempionat" WHERE " bansa" = $1); $$

3.1.6 Organisasyon ng proteksyon ng data

Ang binuo na sistema ay may ilang mga tungkulin at para sa bawat isa sa kanila ay may iba't ibang pag-andar sa sistema ng software na "Football Championship". Ang mga kakayahan ng bawat uri ng user sa software system na ito ay ipinapakita sa Talahanayan 3.2

Talahanayan 3.2 - Proteksyon ng data

user/

Pahina

Tagapangasiwa

Nakarehistrong user

Hindi nakarehistrong user

Pagtingin sa listahan ng mga championship, isang listahan ng mga laban na gaganapin sa kasalukuyang araw, ang talahanayan ng paligsahan, paglipat sa mga pahina, pagbabago ng data ng talahanayan ng championship

Tingnan ang isang listahan ng mga championship, isang listahan ng mga laban na gaganapin sa kasalukuyang araw ng talahanayan ng paligsahan, pumunta sa mga pahina, pumunta sa pahina ng personal na impormasyon

Tingnan ang isang listahan ng mga championship, isang listahan ng mga laban na gaganapin sa kasalukuyang araw ng talahanayan ng paligsahan, mag-navigate sa mga pahina, at ang kakayahang magrehistro

Pag-edit ng data ng talahanayan

Tingnan ang mga standing, detalyadong impormasyon tungkol sa koponan, nangungunang 10 koponan, pinakamahusay at pinakamasamang koponan

Tingnan ang mga standing, detalyadong impormasyon tungkol sa koponan, nangungunang 10 koponan, pinakamahusay at pinakamasamang koponan

addEdtKomanda.jsp

Pag-edit ng mga detalye ng koponan

Pagtingin ng detalyadong impormasyon tungkol sa isang team

Pagtingin ng detalyadong impormasyon tungkol sa isang team

Tingnan ang mga tugma, magdagdag, magtanggal, mag-edit

Tingnan ang mga tugma, baguhin ang data ng tugma

Nanonood ng mga laban

Pagdaragdag, pagtanggal, pagbabago ng mga karapatan

Tingnan ang suweldo

Pagtingin at pag-edit ng suweldo

3.1.7 Object-relational na pagmamapa

Kapag bumubuo ng isang programa, ang data ay na-access, samakatuwid, upang gawing simple ang pagbuo ng naturang programa at upang madagdagan ang kahusayan at bilis ng pagtatrabaho sa natanggap na data, ginamit ang isang object-relational mapping.

Ang object-relational mapping (ORM) ay isang programming technique na nag-uugnay ng relational database sa object-oriented programming concepts at lumilikha ng "virtual object database".

Awtomatikong sini-synchronize ng mga ORM ang mga bagay na na-load sa memorya sa database. Upang gawin itong posible, pagkatapos gumawa ng object-to-SQL transform SQL query, ang resultang data ay kinokopya sa mga field ng object, tulad ng sa lahat ng iba pang pagpapatupad ng ORM.

Ang mga relational database management system ay nagpapakita ng mahusay na pagganap sa mga pandaigdigang query na nakakaapekto sa isang malaking bahagi ng database, ngunit ang object-oriented na access ay mas epektibo kapag nagtatrabaho sa maliit na halaga ng data, dahil binabawasan nito ang semantic gap sa pagitan ng object at relational na anyo ng data.

Ang lahat ng mga sistema ng ORM ay karaniwang nagpapakita ng kanilang mga sarili sa ilang anyo, na binabawasan sa ilang paraan ang posibilidad na hindi papansinin ang database. Bukod dito, ang layer ng transaksyon ay maaaring mabagal at hindi mahusay (lalo na sa mga tuntunin ng nabuong SQL). Ang lahat ng ito ay maaaring maging sanhi ng mga programa na tumakbo nang mas mabagal at gumamit ng mas maraming memorya kaysa sa mga program na nakasulat sa pamamagitan ng kamay.

Ngunit inililigtas ng ORM ang programmer mula sa pagsusulat ng isang malaking halaga ng code, kadalasang monotonous at madaling kapitan ng error, sa gayon ay makabuluhang pinapataas ang bilis ng pag-unlad. Bilang karagdagan, ang karamihan sa mga modernong pagpapatupad ng ORM ay nagbibigay-daan sa programmer, kung kinakailangan, na mahigpit na tukuyin ang SQL query code na gagamitin para sa ilang partikular na pagkilos (nagse-save sa isang database, naglo-load, naghahanap, atbp.) na may patuloy na bagay.

Kapag bumubuo ng isang application na nangangailangan ng pag-access sa data, kinakailangan upang gawing simple ang pagbuo ng naturang application, pagtaas ng kahusayan at bilis ng pagtatrabaho sa natanggap na data. Samakatuwid, ang problemang ito ay nananatiling may kaugnayan ngayon.

Upang malutas ang problemang ito, pinili ang JPA (Java Persistence API).

Ang diagram sa ibaba ay nagpapakita ng kaugnayan sa pagitan ng mga pangunahing bahagi ng arkitektura ng JPA.

Larawan 3.3 - arkitektura ng JPA

Pagpupursige - Naglalaman ang klase ng mga static na pamamaraan ng helper para sa pagkuha ng EntityManagerFactory sa paraang independyente sa provider.

Ang EntityManagerFactory ay isang interface na ang pagpapatupad ay isang factory para sa paglikha ng mga object ng EntityManager.

Ang EntityManager ay ang pangunahing interface ng JPA na ginagamit sa mga application. Ang bawat EntityManager ay namamahala ng isang set ng mga nakaimbak na bagay at naglalaman ng isang API para sa pagpasok ng mga bagong bagay at pagtanggal ng mga umiiral na. Ang bawat EntityManager ay may sariling EntityTransaction na nauugnay dito, at ang EntityManager ay gumaganap din bilang isang factory para sa mga Query object.

Entity - isang entity na isang nakaimbak na bagay.

Ang EntityTransaction ay isang object na nagsasagawa ng pamamahala ng transaksyon kapag nagsasagawa ng mga operasyon sa mga nakaimbak na object ng Entity. Ang mga operasyon ay pinagsama-sama at nakumpleto man o hindi, na iniiwan ang data store sa hindi nagbabagong estado.

Ang query ay isang interface para sa pagsasagawa ng mga query upang mahanap ang mga nakaimbak na bagay na nakakatugon sa tinukoy na pamantayan. Sinusuportahan ng JPA ang mga query sa Java Persistence Query Language (JPQL) at ang karaniwang Structured Query Language (SQL). Maaari kang makakuha ng mga instance ng Query mula sa object ng EntityManager.

3.2 Pag-unlad ng mga module ng system

3.2.1 Pagbuo ng business logic at business rules layer modules

Kinakatawan ng module na ito ang mga paglalarawan ng lahat ng entity sa aming database. Kabilang dito ang labing-isang klase, katulad ng:

Ang Matchi.java ay isang klase na naglalarawan ng mga tugma. Naglalaman ng sumusunod na impormasyon: petsa ng laban, panauhin, host, marka ng laban, numero ng round. Naglalaman ito ng mga pamamaraan para sa pagkuha at pagsulat ng mga patlang.

Ang Komanda.java ay isang klase na naglalarawan ng mga utos. Naglalaman ng sumusunod na impormasyon: pangalan ng koponan, pangalan ng coach, lungsod ng koponan. Naglalaman ito ng mga pamamaraan para sa pagkuha at pagsulat ng mga patlang.

Ang Tablica.java ay isang klase na naglalarawan sa talahanayan ng paligsahan. Naglalaman ito ng mga field: ang bilang ng mga puntos ng koponan, ang bilang ng mga pagkatalo, mga panalo at mga draw. Naglalaman ito ng mga pamamaraan para sa pagkuha at pagsulat ng mga patlang.

Ang Championat.java ay isang klase na naglalarawan ng isang kampeonato. Naglalaman ito ng sumusunod na impormasyon: petsa ng pagsisimula, petsa ng pagtatapos ng kumperensya, pangalan ng bansa kung saan ito gaganapin. Naglalaman ito ng mga pamamaraan para sa pagkuha at pagsulat ng mga patlang.

Ang Worker.java ay isang klase na naglalarawan sa isang manggagawa. Naglalaman ito ng sumusunod na impormasyon: buong pangalan ng empleyado, petsa ng kapanganakan, numero ng telepono, address. Naglalaman ito ng mga pamamaraan para sa pagkuha at pagsulat ng mga patlang.

Ang User.java ay isang klase na naglalarawan sa user. Naglalaman ito ng sumusunod na impormasyon: login at password para makapasok sa system. Naglalaman ito ng mga pamamaraan para sa pagkuha at pagsulat ng mga patlang.

Ang Role.java ay isang klase na naglalarawan sa tungkulin ng user. Naglalaman ito ng sumusunod na impormasyon: username. Naglalaman ito ng mga pamamaraan para sa pagkuha at pagsulat ng mga patlang.

Ang Prava.java ay isang klase na naglalarawan ng mga karapatan ng gumagamit. Naglalaman ito ng sumusunod na impormasyon: ang mga karapatan kung saan naka-log in ang user sa system

3.2.2 Pagbuo ng mga module ng layer ng pag-access ng data

Ang data ay ina-access gamit ang DAO. Ang modyul na ito ay kinakatawan ng dalawang pakete na may mga interface at kanilang mga pagpapatupad. Naglalaman ito ng mga sumusunod na interface:

– ITablicaDao.java - isang interface na naglalaman ng mga paglalarawan ng mga pamamaraan para sa pagtatrabaho sa talahanayan. Inilalarawan nito ang mga sumusunod na pamamaraan:

pampublikong Koleksyon Ang getTablicasByChampionatId(Integer chid) ay naghagis ng PersistenceException na paraan upang makuha ang lahat ng mga talahanayan para sa isang naibigay na kampeonato.

Ang pagpapatupad ng mga pamamaraan ay nasa klase ng TablicaDaoJpa.

– IKomandaDao.java - isang interface na naglalaman ng mga paglalarawan ng mga pamamaraan para sa pagtatrabaho sa isang listahan ng mga command. Inilalarawan nito ang mga sumusunod na pamamaraan:

a)pampubliko Koleksyon getKomandasByTablicaId(Integer chid) nagtatapon Paraan ng PersistenceException para makuha ang lahat ng mga koponan ng isang tiyak na standing;

b)pampubliko Ang Komanda findKomandaByName(String name) ay naghagis ng PersistenceException na paraan upang makakuha ng isang utos ayon sa pangalan.

c) getTheWorstKomandaByChampId(String name) throws PersistenceException method para makuha ang pinakamasamang team sa championship;

d)pampubliko String getTheBestKomandaByChampId(String name) throws PersistenceException method para makuha ang pinakamahusay na team sa championship;

e)pampubliko Koleksyon getTopTenKomandasByChampId(String name) throws PersistenceException method para makuha ang nangungunang 10 team sa championship;

...

Mga katulad na dokumento

    Istraktura ng database. Visualization ng isang tatlong antas na arkitektura na binubuo ng isang layer ng pagtatanghal, isang layer ng negosyo at isang layer ng database, na ipinatupad gamit ang mga diagram ng UML. Mga pangunahing tampok sa istruktura ng tatlong-layer na aplikasyon. Source code ng ilang mga module.

    course work, idinagdag noong 11/03/2012

    Pagdidisenyo ng modelo ng database ng hotel na binuo. Pagbuo ng mga nag-trigger, mga naka-imbak na pamamaraan, mga query. Paglikha ng user interface. Automation ng trabaho sa pagpaparehistro, accounting, paghahanap, pati na rin ang pagbuo ng mga ulat sa mga employer.

    course work, idinagdag noong 11/29/2015

    Mga katangian ng pangunahing daloy ng data na umiiral sa enterprise. Mga pamamaraan at paraan para sa pagbuo ng software. Disenyo ng user interface. Pagbuo ng isang layer ng pakikipag-ugnayan sa database. Pag-unlad ng isang layer ng mga serbisyo sa negosyo.

    thesis, idinagdag noong 07/10/2017

    Pagpapasiya ng functional dependencies. Pag-unlad ng istraktura ng database. Pag-aayos ng mga query sa database. Paggamit ng mga trigger upang panatilihing napapanahon ang data. Pag-unlad ng mga nakaimbak na pamamaraan at pag-andar. Mga limitasyon ng pagpapanatili ng database.

    course work, idinagdag 06/17/2014

    Ang kakanyahan ng isang database ay isang set, isang koleksyon ng mga file kung saan matatagpuan ang impormasyon. Ang database management system ay isang software system (application) na nagbibigay ng trabaho sa isang database (data file). Layunin at benepisyo ng paggamit ng mga trigger.

    course work, idinagdag 02/22/2011

    Pagdidisenyo ng isang relational database, pag-aayos ng pagkuha ng impormasyon mula dito. Pagbuo ng mga view upang ipakita ang mga resulta. Pagdidisenyo ng mga nakaimbak na pamamaraan. Mekanismo para sa pamamahala ng data gamit ang mga trigger. Mga kinakailangan para sa teknikal na suporta.

    thesis, idinagdag noong 07/03/2011

    Pag-develop at pag-debug ng isang database ng uri ng server na may web interface na "Product Accounting" para sa produksyon ng kasangkapan. Modelo ng pisikal na data. Ilarawan ang mga index at mga hadlang, mga query at data view, mga ulat at mga chart. Paglalarawan ng mga nag-trigger at nakaimbak na mga pamamaraan.

    course work, idinagdag 02/20/2015

    Wika sa pagmamanipula ng data. Proseso ng pagpili ng data. Paggamit ng mga pinagsama-samang function at mga espesyal na operator sa mga kundisyon ng pagpili. Lumikha at gumamit ng mga view at nakaimbak na mga pamamaraan. Paggamit ng mga trigger, pagbuo ng isang user interface.

    gawaing laboratoryo, idinagdag noong 02/13/2013

    Lohikal at pisikal na istraktura ng database. Hardware at software ng system. Paglikha ng mga view, mga naka-imbak na pamamaraan, mga custom na function, mga trigger. Paglalarawan ng pangunahing istraktura ng mga dokumento ng ASP.NET. User interface.

    course work, idinagdag noong 05/21/2013

    Ang konsepto ng isang database. Pagbuo ng mga talahanayan, mga form para sa input at output ng impormasyon, mga pangunahing query, mga nakaimbak na pamamaraan at mga trigger para sa database ng Bulletin Board. Paghahanda para sa pag-print. Pagsusuri ng pangangailangan para sa pangangasiwa at mga tool sa seguridad ng impormasyon.

Ibahagi: