Ֆուտբոլային ակումբների տվյալների բազայի մշակում. Նախագիծ «Ֆուտբոլի առաջնության տվյալների բազայի ստեղծում

ֆուտբոլի առաջնություն»

1. Խնդրի շարադրանք.. 2

2. Տվյալների բազայի ձևավորում.. 2

2.1. Հիմնական հասկացություններ. 2

2.2. Տվյալների բազայի նորմալացում: 3

3. Նախագծի բացատրություններ.. 6

4. Աշխատանքի հաջորդականությունը... 6

4.1. Աղյուսակների ստեղծում... 6

4.1.1. Տվյալների բազաների հետ աշխատելու գործիքներ. 6

4.1.2. Գործիքներ. 7

4.1.3. Բաղադրիչներ... 7

4.1.4. Տվյալների բազայի կեղծանունը: 7

4.1.5. Տվյալների բազայի ստեղծում. 7

4.1.6. Փոխանունի ստեղծում: 7

4.1.7. Աղյուսակների ստեղծում. 9

4.2. Ձևաթղթերի ստեղծում... 11

4.3. Տվյալների բազայի հասանելիություն: 12

4.4. Օգտագործելով տվյալների մոդուլը: 13

4.5. Նավիգացիա տվյալների բազայի աղյուսակների միջոցով: 14

4.5.1. Ձև Հրամանների ցանկ. 14

4.5.2. Նավարկեք գրառումների միջով... 15

4.5.3. Ձև Համընկնումների ցուցակ. 16

4.5.4. Ձև Նպատակների ցուցակ. 21

4.5.5. Առաջադրանք ինքնուրույն աշխատանքի.. 21

5. Հղումներ... 21

6. Դիմում. Որոնման իրականացման օրինակ.. 22

1. Խնդրի հայտարարություն

Ստեղծեք տվյալների բազա ֆուտբոլի առաջնություն, որը բաղկացած կլինի մի քանի աղյուսակներից։ Աղյուսակները լրացնելու համար ձևաթղթեր ստեղծեք: Տրամադրեք տեղեկատվություն փնտրելու հնարավորություն ըստ հիմնական դաշտերի:

2. Տվյալների բազայի ձևավորում

2.1. Հիմնական հասկացություններ

Տվյալների բազա– տվյալների կազմակերպված հավաքածու, որը նախատեսված է արտաքին համակարգչային հիշողության մեջ երկարաժամկետ պահպանման, մշտական ​​թարմացման և օգտագործման համար: (Ershov Dictionary of Computer Science).

Կարելի է ապացուցել, որ տվյալների ցանկացած կառուցվածք կարող է վերածվել պարզ երկչափ աղյուսակի։ Այս ներկայացումը ամենահարմարն է ինչպես օգտագործողի, այնպես էլ մեքենայի համար:

Հարաբերական տվյալների բազա- տվյալների մի շարք, որը բաղկացած է կապվածերկչափ սեղաններ.

Նշում

Անունը գալիս է անգլերեն «հարաբերություն» բառից՝ վերաբերմունք:

Սեղանի դաշտ

Թիվ

Բաժանորդի անունը

Հասցե

Սեղանի մուտքագրում

Պետրով Եվգենի

Սադովայա փող., 18

Քեռի Կոլյա

Կանաչ փողոց, 45-2-56

Չոր մաքրում

Կիևի փող., 123

Հարաբերական տվյալների բազաների հիմնական հասկացությունները

Տվյալների ցանկացած հավաքածու ներկայացված է ձևով երկչափ սեղաններ, որոնցից յուրաքանչյուրը պարունակում է տեղեկատվություն որոշակի տեսակի օբյեկտների մասին։ Յուրաքանչյուր սեղան բաղկացած է ֆիքսված համար սյունակներԵվ տողերի փոփոխական քանակ. Գրառում- սեղանի շարք.
Յուրաքանչյուր գրառում պարունակում է տեղեկատվություն օբյեկտի առանձին օրինակի մասին: Դաշտ- աղյուսակի սյունակ:
Յուրաքանչյուր սյունակ ներկայացնում է կոնկրետ տվյալ՝ օբյեկտի (հատկանիշի) մեկ հատկանիշ: Յուրաքանչյուր դաշտի համար մշակողը պետք է սահմանի.

· եզակի դաշտի անվանում;

· դաշտի տեսակը;

· դաշտի լրացուցիչ բնութագրեր (երկարություն, ձևաչափ):

Բանալի– մեկ կամ մի քանի դաշտ՝ աղյուսակի գրառումները նույնականացնելու համար: Մշակողի կողմից սահմանված դաշտերի նկարագրությունը կոչվում է աղյուսակի կառուցվածք։ Յուրաքանչյուր դաշտ կարող է ներառվել մի քանի աղյուսակներում: Դաշտերի քանակի և/կամ դրանց տեսակների փոփոխությունը հատուկ գործողություն է:

Հարաբերական մոտեցման հիմնական գաղափարը– ներկայացնել կամայական տվյալների կառուցվածքը պարզ երկչափ աղյուսակի տեսքով: Այս գործընթացը կոչվում է նորմալացումկառույցները։

2.2. Տվյալների բազայի նորմալացում

Տվյալների բազայի կառուցվածքը նախագծելիս կարող են խնդիրներ առաջանալ.

· տեղեկատվության ավելորդություն;

    տեղեկատվության անհամապատասխանություն; ամբողջականության կորուստ (տվյալների միջև կապ):

Նորմալ ձևերի մեթոդով տվյալների բազայի նախագծման գործընթացը քայլ առ քայլ է և բաղկացած է հարաբերությունների որոշակի կանոնների համաձայն հաջորդական թարգմանությունից՝ առաջին նորմալ ձևից մինչև ավելի բարձր կարգի նորմալ ձևեր:

Սկսենք մշակել տվյալների բազա, որը կպահի երկրի ֆուտբոլի առաջնության մասին տեղեկատվությունը (խաղի ամսաթիվը, խաղային թիմերը, խփած գոլերը): Ներկայացնենք այս տեղեկատվությունը աղյուսակ 1-ի տեսքով: Աղյուսակի կառուցվածքում նշվում են միայն դաշտերի անվանումները, քանի որ դաշտերի տեսակն ու չափն այս փուլում նշանակություն չունեն։

Աղյուսակ 1

Դաշտի անվանումը

Խաղի ամսաթիվը

Տնային թիմ՝ անուն, քաղաք, մարզիչ

Արտագնա թիմ՝ անուն, քաղաք, մարզիչ

Գոլի հեղինակ դարձած խաղացող

Տվյալների բազայի կառուցվածքը նորմալացնելու հիմնական կանոններ կան: Մենք կտանք միայն այն կանոնները, որոնցով աշխատելու ենք։

Կանոն 1.Աղյուսակում դուք պետք է առանձնացնեք բարդ դաշտերը առանձին տվյալների տարրերի: Աղյուսակի յուրաքանչյուր դաշտ պետք է ներկայացնի տեղեկատվության յուրահատուկ տեսակ: Այսինքն՝ անհրաժեշտ է ազատվել կրկնվող դաշտերից (խմբերից)։

Կանոն 2.Յուրաքանչյուր աղյուսակ պետք է ունենա եզակի նույնացուցիչ (հիմնական բանալի), որը կարող է բաղկացած լինել մեկ կամ մի քանի դաշտից:

Կանոն 3.Աղյուսակը չպետք է պարունակի տվյալներ, որոնք կապված չեն հիմնական բանալիով սահմանված օբյեկտի հետ:

1 քայլ(Կանոն 1)

Աղյուսակ 1-ում երկրորդ և երրորդ դաշտերը բաղադրյալ են և պարունակում են տեղեկություններ թիմի անվան, քաղաքի և մարզչի ազգանվան մասին: Համաձայն Կանոն 1Պետք է առանձնացնել այս դաշտերը։ Մենք կստանանք նոր աղյուսակ 2:

աղյուսակ 2

Դաշտի անվանումը

Խաղի ամսաթիվը

Տնային թիմ. անունը

Տնային թիմ՝ Սիթի

Տնային թիմ՝ մարզիչ

Հյուրերի թիմ. անունը

Հյուրերի թիմ՝ Սիթի

Հյուրերի թիմ՝ մարզիչ

Գոլի հեղինակ դարձած խաղացող

Թիմի նշանը, որին պատկանում է խաղացողը

Ժամանակը (խաղի մեկնարկից րոպեների քանակը)

Մեկ այլ պահանջ, որը մենք պետք է հաշվի առնենք, կրկնվող դաշտերից (խմբերից) ազատվելու անհրաժեշտությունն է։ Առաջին հայացքից կարող է թվալ, որ Աղյուսակ 2-ում դաշտերի կրկնվող խմբերը դաշտեր են՝ տանտերերի և հյուրերի մասին տեղեկություններով: Բայց այս դաշտերը տարբեր ֆունկցիոնալ նշանակություն ունեն։

Քայլ 2(2-րդ կանոն)

Աղյուսակ 2-ի գրառումները չեն պարունակում եզակի բանալի, որը կարող է օգտագործվել խաղարկվող խաղը միանշանակ որոշելու համար: Հետևաբար, մենք աղյուսակ 2-ում կներկայացնենք լրացուցիչ բանալի դաշտ՝ համընկնման կոդը: Մենք կստանանք նոր աղյուսակ 3.

Աղյուսակ 3

Դաշտի անվանումը

Համապատասխանեցման կոդը (բանալին)

Խաղի ամսաթիվը

Տնային թիմ. անունը

Տնային թիմ՝ Սիթի

Տնային թիմ՝ մարզիչ

Հյուրերի թիմ. անունը

Հյուրերի թիմ՝ Սիթի

Հյուրերի թիմ՝ մարզիչ

Գոլի հեղինակ դարձած խաղացող

Թիմի նշանը, որին պատկանում է խաղացողը

Ժամանակը (խաղի մեկնարկից րոպեների քանակը)

Յուրաքանչյուր գոլի համար Աղյուսակ 3-ը պարունակում է կրկնվող տեղեկություններ հանդիպման ամսաթվի և թիմերի մասին: Հետևաբար, մենք այս աղյուսակը կբաժանենք երկու աղյուսակի, որոնցից մեկը կպարունակի տվյալներ հանդիպումների վերաբերյալ, իսկ մյուսը կպարունակի տվյալներ յուրաքանչյուր կոնկրետ խաղում խփված գոլերի վերաբերյալ: Այս աղյուսակների կառուցվածքը ներկայացված է 4-րդ և 5-րդ աղյուսակներում:

Աղյուսակ 4

Դաշտի անվանումը

Համապատասխանեցման կոդը (բանալին)

Խաղի ամսաթիվը

Տնային թիմ. անունը

Տնային թիմ՝ Սիթի

Տնային թիմ՝ մարզիչ

Հյուրերի թիմ. անունը

Հյուրերի թիմ՝ Սիթի

Հյուրերի թիմ՝ մարզիչ

Աղյուսակ 5

Դաշտի անվանումը

Նպատակի կոդը (բանալի)

Համապատասխանեցման կոդը

Գոլի հեղինակ դարձած խաղացող

Թիմի նշանը, որին պատկանում է խաղացողը

Ժամանակը (խաղի մեկնարկից րոպեների քանակը)

Աղյուսակներ 4-ը և 5-ը կապված են դաշտերով Համապատասխանեցման կոդը, որը եզակի է աղյուսակ 4-ի համար։ Աղյուսակ 5-ի գրառումների եզակիությունն ապահովելու համար բանալին մուտքագրվում է դրան Նպատակի կոդը.

Քայլ 3(Կանոն 3)

3-րդ կանոնը կատարելու համար անհրաժեշտ է առանձին աղյուսակի մեջ առանձնացնել այն դաշտերը, որոնք կախված չեն բանալիից Համապատասխանեցման կոդը. Աղյուսակ 4-ում այս դաշտերն այն դաշտերն են, որոնք սահմանում են հրամանը: Աղյուսակ 4-ը բաժանենք երկու աղյուսակի. առաջինը հանդիպումների մասին տեղեկատվություն է, երկրորդը՝ թիմերի մասին (տես աղյուսակներ 6 և 7):

Աղյուսակ 6

Դաշտի անվանումը

Համապատասխանեցման կոդը (բանալին)

Խաղի ամսաթիվը

Տնային թիմի կոդը

Արտագնա թիմի կոդը

Աղյուսակ 7

Դաշտի անվանումը

Հրամանի կոդը (բանալին)

Անուն

Արդյունքում՝ մեր տվյալների բազան ֆուտբոլի առաջնությունկունենա Նկար 1-ում ներկայացված կառուցվածքը:

3. Ծրագրի բացատրություններ

Նախագիծը բաղկացած կլինի հինգ ձևերից.

    ծրագրի հիմնական ձևը, որից բացվում են մնացած բոլոր ձևերը. ձեւը Համընկնումների ցուցակ, որը պարունակում է ֆուտբոլի առաջնության բոլոր հանդիպումների ցանկը. ձեւը Հրամանների ցանկհրամանների մասին տեղեկատվություն պարունակող; ձեւը Նպատակների ցուցակ, որը պարունակում է տեղեկատվություն խփած գոլերի մասին. ձեւը Որոնում, որում կարող եք կատարել տարբեր տեսակի որոնումներ։

4. Աշխատանքի հաջորդականությունը

4.1. Աղյուսակների ստեղծում

4.1.1. Տվյալների բազայի գործիքներ

Հարմարություններ Դելֆի, որը նախատեսված է տվյալների բազաների հետ աշխատելու համար, կարելի է բաժանել երկու տեսակի.

· Գործիքներ– հատուկ ծրագրեր, որոնք ապահովում են տվյալների բազաների պահպանում մշակված հավելվածներից դուրս:

· Բաղադրիչներ, նախատեսված է տվյալների բազաների հետ գործողություններ կատարող հավելվածներ ստեղծելու համար։

4.1.2. Գործիքներ

· ԲորլանդՏվյալների բազաՇարժիչ(BDE) տվյալների բազայի պրոցեսոր է, որը դինամիկ գրադարանների և դրայվերների մի շարք է, որոնք նախատեսված են Delphi հավելվածներից տվյալների բազաների հասանելիությունը կազմակերպելու համար:

· BDEԱդմինիստրատոր– BDE-ի տարբեր պարամետրերի կազմաձևման ծրագիր:

· Database Desktop – աղյուսակների և SQL հարցումների ստեղծման և խմբագրման ծրագիր:

· SQLExplorer– Database Explorer-ը, որը թույլ է տալիս դիտել և խմբագրել տվյալների բազաները:

4.1.3. Բաղադրիչներ

Ահա այն բաղադրիչները, որոնք կօգտագործվեն այս նախագծում:

Աղյուսակ- տվյալների հավաքածու՝ հիմնված տվյալների բազայի աղյուսակի վրա (էջ BDE);

Տվյալների աղբյուր- տվյալների աղբյուր (էջ ՏվյալներՄուտք);

DBGrid- աղյուսակ (էջ ՏվյալներԿառավարում);

DBNavigator- նավիգացիոն ինտերֆեյս (էջ ՏվյալներԿառավարում);

DBEdit- մեկ տողով խմբագիր (էջ ՏվյալներԿառավարում).

4.1.4. Տվյալների բազայի կեղծանունը

Ծրագիր մշակելիս դժվար է անմիջապես կանխատեսել, թե որ սկավառակի վրա և որ գրացուցակում կտեղակայվեն տվյալների բազայի ֆայլերը դրանց օգտագործման ընթացքում։ Այս խնդիրը լուծելու համար Դելֆիօգտագործվում է կեղծանունը ( կեղծանունը), որը սահմանում է տվյալների բազայի ֆայլերի գտնվելու վայրը։ Այլանունը կարճ անուն է, որը համապատասխանում է տվյալների բազայի տեղեկատուի իրական, լրիվ անվանմանը: Փոխանունները պահվում են գրանցամատյանում, այնուհետև բոլոր ծրագրերը, երբ գործարկվեն, կկարողանան գտնել աղյուսակը՝ օգտագործելով այս անունները և կարդալ անհրաժեշտ կարգավորումները, որոնք պետք է օգտագործվեն տվյալներ մուտք գործելու ժամանակ:

Նշում

Սկզբունքորեն, դուք կարող եք մուտք գործել աղյուսակներ առանց անունների, բայց այս դեպքում ուղին պետք է կոշտ կոդավորված լինի ծրագրում: Այս դեպքում ավելի լավ է աղյուսակները և գործարկվողը պահել նույն թղթապանակում:

4.1.5. Տվյալների բազայի ստեղծում

Տվյալների բազայի ստեղծման գործընթացը կարող է ներկայացվել որպես հետևյալ քայլերի հաջորդականությունը.

1. Ստեղծեք թղթապանակ:

2. Ստեղծեք այլանուն:

3. Աղյուսակների ստեղծում.

Եկեք ստեղծենք թղթապանակ մեր նախագծի համար և ենթաթղթապանակ՝ տվյալների բազայի համար՝ օգտագործելով Windows գործիքները: Թղթապանակի անվանումը – Տվյալների բազա, թղթապանակի անվանումը – Տվյալներ.

4.1.6. Այլանունի ստեղծում

Կոմունալ ծրագրի միջոցով կարող է ստեղծվել կեղծանուն BDEԱդմինիստրատոր:

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

Նկար 2-ը ցույց է տալիս երկխոսության տուփը BDEԱդմինիստրատորկոմունալ ծրագիրը գործարկելուց հետո:

Պատուհանի ձախ կողմում, ներդիրում Տվյալների բազաներ, թվարկում է այս համակարգչում գրանցված կեղծանունները: Նոր կեղծանուն ստեղծելու համար դուք պետք է ընտրեք ցանկի հրամանը Օբյեկտ -Նոր. Նոր երկխոսության տուփ կբացվի ՆորՏվյալների բազաԱյլանուն(Նկար 3) ցանկից Տվյալների բազաՎարորդԱնունընտրեք վարորդը (տվյալների բազայի տեսակը) ՍՏԱՆԴԱՐՏ, որն ապահովում է ձևաչափով աղյուսակների հասանելիություն Պարադոքս.

Վարորդի ընտրությունը հաստատելու համար սեղմեք կոճակը լավ. Արդյունքում նոր տարր կավելացվի այլանունների ցանկում (տես նկար 4):

Այժմ կարող եք փոխել ադմինիստրատորի կողմից ինքնաբերաբար ստեղծված կեղծանունը և սահմանել տվյալների բազայի ֆայլերի ուղին:

Դուք կարող եք փոխել կեղծանունը, աջ սեղմելով կեղծանունի անվան վրա (in Տվյալների բազաներ), բացվող համատեքստի մենյուում ընտրեք հրամանը Վերանվանելև մուտքագրեք նոր անուն - ՍՊՈՐՏ.

Տվյալների բազայի ֆայլերի ուղին մուտքագրվում է «Definition» ներդիրում՝ «Ուղ» դաշտում՝ օգտագործելով ստեղնաշարը կամ օգտագործելով «Ընտրել գրացուցակի» ստանդարտ երկխոսության տուփը, որը բացվում է՝ սեղմելով «Ուղ» դաշտի վերջում գտնվող երեք կետանոց կոճակը (տես Նկար 5): )

Որպեսզի ստեղծված կեղծանունը գրանցվի կազմաձևման ֆայլում ( idapi.cfg), դուք պետք է կատարեք հրամանը ցանկի մեջ Օբյեկտ -Apple (Դիմել). Բացվող երկխոսության վանդակում ՀաստատելԴուք պետք է հաստատեք կազմաձևման ֆայլում փոփոխությունները պահելու անհրաժեշտությունը:

4.1.7. Աղյուսակների ստեղծում

Սկսենք ստեղծել տվյալների բազայի աղյուսակներ ֆուտբոլի առաջնություն: խաղի աղյուսակ – Համապատասխանում, հրամանների աղյուսակ – Թիմև գոլերի աղյուսակը՝ Նպատակ. Այս աղյուսակների կառուցվածքը ներկայացված է համապատասխանաբար 8-րդ, 9-րդ և 10-րդ աղյուսակներում:

Խաղի աղյուսակ - ՀամապատասխանումԱղյուսակ 8

(դաշտի անվանումը)

Նշում

Համապատասխանեցման կոդը (բանալին)

Խաղի ամսաթիվը

Տնային թիմի կոդը

Արտագնա թիմի կոդը

Հրամանի աղյուսակ - ԹիմԱղյուսակ 9

(դաշտի անվանումը)

Նշում

Հրամանի կոդը (բանալին)

Անուն

Նպատակների աղյուսակ - ՆպատակԱղյուսակ 10

(դաշտի անվանումը)

Նշում

Նպատակի կոդը (բանալի)

Համապատասխանեցման կոդը

Գոլի հեղինակ դարձած խաղացող

Թիմի նշանը, որին պատկանում է խաղացողը. 1 – տանտեր, 2 – հյուր:

Ժամանակը (խաղի մեկնարկից րոպեների քանակը)

Սեղանները ստեղծվում են ներառվածի միջոցով Դելֆիկոմունալ ծառայություններ Տվյալների բազաՍեղան. Այս օգտակար ծրագիրը թույլ է տալիս ստեղծել, դիտել և փոփոխել տվյալների բազայի աղյուսակները տարբեր ձևաչափերով: Զանգահարեք կոմունալ ծառայություն Տվյալների բազայի աշխատասեղանԿարող է:

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

Պատուհանում աղյուսակ ստեղծելու համար Տվյալների բազաՍեղանգործարկել հրամանը Ֆայլ -Նոր-Աղյուսակ... Առաջինը պատուհանում ՍտեղծելԱղյուսակդուք պետք է ընտրեք աղյուսակի տեսակը բացվող ցանկից և սեղմեք կոճակը Լավ. Թող բազային տեսակը լինի Պարադոքս 7. Դրանից հետո բացվում է նոր պատուհան (տես նկար 5), որտեղ դուք պետք է ստեղծեք աղյուսակի կառուցվածք Համապատասխանում.

Յուրաքանչյուր աղյուսակի դաշտի համար դուք պետք է նշեք անունը, տեսակը և, անհրաժեշտության դեպքում, դաշտի չափը: Դաշտի անունը օգտագործվում է տվյալների մուտք գործելու համար: Անունը լատինական այբուբենի տառերի հաջորդականություն է և 25 նիշից ոչ ավելի թվեր։ Դաշտի տեսակը որոշելու համար օգտագործեք բացատ կամ մկնիկի աջ կոճակը: Տիպ Ալֆանշանակում է տեքստային (լարային) դաշտի տեսակ: Այս դաշտի համար դուք պետք է նշեք դրա երկարությունը: Տիպ ունեցող դաշտերի համար Թիվ, Ամսաթիվերկարությունը նշված չէ: Անհրաժեշտ է նշել առանցքային դաշտի հատկանիշը ID_Մ, սյունակում դնելով «*» նշանը Բանալի.

Նշում

Հիմնական դաշտերը պետք է խմբավորվեն աղյուսակի վերևում:

Աղյուսակը լրացնելուց հետո պահպանեք այն՝ սեղմելով կոճակը Պահպանելինչպես... Բացվող պատուհանում ՊահպանելԱղյուսակԻնչպես... դաշտում Ֆայլի անունըմուտքագրեք աղյուսակի անունը Համապատասխանում, և դաշտում Այլանունընտրեք նախկինում ստեղծած ձեր կեղծանունը ՍՊՈՐՏ. Դուրս գալու համար սեղմեք ստեղնը Պահպանել.

Աղյուսակային դաշտեր ստեղծելիս կարող եք օգտագործել դաշտերի արժեքների վրա սահմանելու սահմանափակումներ, որոնք բաղկացած են այս դաշտերի համար հետևյալ պարամետրերը նշելուց.

1. Արժեքներ մուտքագրելու պահանջ ( Պահանջվում էԴաշտ);

2. Նվազագույն արժեքը ( Նվազագույնըարժեքը);

3. Առավելագույն արժեքը ( Առավելագույնըարժեքը);

4. Կանխադրված արժեքը ( Կանխադրվածարժեքը);

5. Մուտքային դիմակ ( Նկար).

Նկար 6-ը ցույց է տալիս դաշտը լրացնելու օրինակ PR_Գ (Հրամանի նշան), նշելով դաշտի արժեքի սահմանափակումները:

Ստեղծեք և պահպանեք հրամանների աղյուսակները նույն ձևով. Թիմև գլուխներ - Նպատակ.

Տվյալների բազայի աղյուսակները ստեղծվել են, և այժմ կարող եք սկսել մշակել ծրագիր, որն օգտագործում է այս աղյուսակները:

4.2. Ձևաթղթերի ստեղծում

Ստեղծեք նախագիծ.

Աղյուսակ 10

Ընտրված բաղադրիչ

Օբյեկտի տեսուչի պատուհան

Գույքի անվանումը

Գործողություն

SPORTS տվյալների բազա

Պահպանեք մոդուլը և նախագիծը որպես UnitGlavn և ProjectGlavn թղթապանակում Տվյալների բազա.

Ստեղծեք չորս ձևեր՝ օգտագործելով File-New-Other հրամանը: Բացվող պատուհանում ՆորՆյութընտրել ներդիրում Նորառարկա Ձև. Տվեք ձևաթղթերի անունները և պահեք մոդուլները աղյուսակում նշված անուններով:

Աղյուսակ 11

Ձևի անվանումը

Ձևի անվանումը

Մոդուլի անվանումը

Համընկնումների ցուցակ

Հրամանների ցանկ

Նպատակների ցուցակ

Որոնում

Տեղադրեք հինգ կոճակ հիմնական ձևի վրա.

Համընկնումների ցուցակ, Հրամանների ցանկ, Գլխավոր ցուցակ, Որոնում, Ելք.

Յուրաքանչյուր կոճակի համար գրեք պատուհանի բացման համապատասխան ընթացակարգը (տես Աղյուսակ 12):

Աղյուսակ 12

Ընտրված բաղադրիչ

Օբյեկտի տեսուչի պատուհան

Գույքի անվանումը

Գործողություն

Համընկնումների ցուցակ

FormMatch. Ցուցադրում;

Հրամանների ցանկ

Նպատակների ցուցակ

Որոնում

FormSearch. Ցուցադրում;

Ելք

Ծառայողական բառից հետո հիմնական ձևի մոդուլում իրականացումըդուք պետք է գրեք.

Օգտագործումներ UnitMatch, UnitTeam, UnitGoal, UnitPoisk;

Վերադարձ դեպի նախագիծ։

4.3. Տվյալների բազայի հասանելիություն

Տվյալների բազայի հասանելիությունը ապահովվում է բաղադրիչներով Տվյալների բազա, ԱղյուսակԵվ Տվյալների աղբյուր.

Բաղադրիչ Տվյալների բազաներկայացնում է տվյալների բազան որպես մեկ ամբողջություն, այսինքն՝ աղյուսակների, բաղադրիչների հավաքածու Աղյուսակ– տվյալների բազայի աղյուսակներից մեկը: Բաղադրիչ Տվյալների աղբյուրապահովում է կապ աղյուսակի և տվյալների ցուցադրման կամ խմբագրման բաղադրիչի միջև (տես Նկար 7):

4.4. Տվյալների մոդուլի օգտագործումը

Ձևը նախագծելիս տվյալների մուտք գործելու համար օգտագործվում են ոչ տեսողական բաղադրիչներ, ինչպիսիք են Տվյալների աղբյուրկամ Աղյուսակ, տեղադրվում են ձևաթղթի վրա, բայց այս բաղադրիչները տեսանելի չեն, երբ հավելվածն աշխատում է: Հետեւաբար, դրանք կարող են տեղադրվել ցանկացած հարմար վայրում այն ​​ձևով, որը նրանց համար գործում է որպես կոնտեյներ՝ մոդուլ: Ոչ վիզուալ բաղադրիչները տեղավորելու համար, որոնց միջոցով մուտք են գործում տվյալներ, նախատեսված է հատուկ օբյեկտ՝ տվյալների մոդուլ (տես Նկար 8):

Ստեղծեք նոր օբյեկտ DataModuleհրամանը գործարկելով Ֆայլ -Նոր-ՏվյալներՄոդուլ.Պահպանեք դրա մոդուլը անվան տակ UnitDModulթղթապանակում Տվյալների բազա.

Պատուհանի թերթիկի վրա DataModule1տեղադրեք տվյալների բազայի բաղադրիչը (սերվերի միացում) էջից BDE. Սեփականության մեջ AliasName(անունը անուն) ընտրեք ցանկից՝ ՍՊՈՐՏ.

Ավելացնել պատուհանին DataModule1Բաղադրիչներ Աղյուսակ(տվյալների հավաքածու) հետ BDEԵվ DateSource(տվյալների աղբյուր) էջից ՏվյալներՄուտքև տեղադրեք դրանք միմյանց կողքին (տես Նկար 8):

Սեղանի ակտիվացում Համապատասխանում. Դա անելու համար սահմանեք բաղադրիչի հատկությունները Աղյուսակ 1Եվ Տվյալների Աղբյուր 1այն հերթականությամբ, որով դրանք թվարկված են Աղյուսակ 13-ում:

Աղյուսակ 13

Ընտրված բաղադրիչ

Օբյեկտի տեսուչի պատուհան

Գույքի անվանումը

Գործողություն

Նշում

TableMatch

Տվյալների բազայի անվանումը, որի մաս է կազմում աղյուսակը: Օգտագործվում է տվյալների բազայի կեղծանուն:

Համապատասխանում. դբ

Տվյալների ֆայլի անվանումը, որն օգտագործվում է բաղադրիչը մուտք գործելու համար:

Տվյալների ֆայլի ակտիվացման նշան (աղյուսակ): Ճիշտ- ֆայլ բացելը.

DS_Match

Բաղադրիչի անվանումը՝ դրա հատկությունները մուտք գործելու համար:

TableMatch

Բաղադրիչի անվանումը - մուտքային տվյալներ:

Հետևեք նմանատիպ քայլերին աղյուսակների համար Հրամանների ցանկԹիմԵվ Նպատակների ցուցակՆպատակ. Արդյունքում պատուհանը DataModule1նման կլինի նկար 9-ում:

4.5. Նավարկվող տվյալների բազայի աղյուսակներ

4.5.1. Ձև Հրամանների ցանկ

Ակտիվացրեք ձևը Հրամանների ցանկ. Տեղադրեք բաղադրիչ դրա վրա DBGrid(տվյալների աղյուսակ) էջից ՏվյալներԿառավարում(Տվյալների կառավարում): Այս օբյեկտի համար պետք է գրել Տվյալների աղբյուր(տվյալների աղբյուր). Բացեք այս գույքը: Դուք կտեսնեք, որ դեռ ընտրելու բան չկա։ Ձևի մոդուլում Հրամանների ցանկպաշտոնական խոսքից հետո իրականացումըգրիր.

Օգտագործումներ UnitDModul;

Կրկին բացեք գույքը Տվյալների աղբյուրև ընտրեք դրա մեջ առկա միակ մուտքը. DataModule1. DS_Team. Այժմ բաղադրիչը DBGridև բաղադրիչ Տվյալների աղբյուրմիմյանց հետ կապված: Բաղադրիչում DBGridհայտնվեցին ստեղծված աղյուսակի դաշտերի անվանումները Թիմ.

Գնացեք դեպի պատուհանը DataModule1և կրկնակի սեղմեք օբյեկտի վրա Սեղանի թիմ. Մի փոքրիկ պատուհան կբացվի DataModule1. DS_Թիմ. Սեղմեք այս պատուհանի դաշտը մկնիկի աջ կոճակով և ընտրեք տողը համատեքստի ընտրացանկում Ավելացնելբոլորըդաշտերը(ավելացնել բոլոր դաշտերը):

Գնալ դեպի ձև Համընկնումների ցուցակև կրկնակի սեղմեք օբյեկտի վրա DBGrid. Պատուհանը բացվեց ԽմբագրումDBGrid1.Սյունակներ(սյունակի խմբագիր): Սեղմեք այս պատուհանի դաշտը մկնիկի աջ կոճակով և ընտրեք տողը համատեքստի ընտրացանկում ԱվելացնելԲոլորըԴաշտեր(ավելացնել բոլոր դաշտերը): Պատուհանում ԽմբագրումDBGrid1.ՍյունակներԿհայտնվի աղյուսակի բոլոր դաշտերի ցանկը: Կտտացրեք դաշտերի անուններից մեկի վրա, որը հայտնվում է: Բացեք գույքը Կոչում(անունը) և յուրաքանչյուր դաշտի համար

սեփականություն Վերնագիրգրել անունը. Թիմի կոդը, թիմի անվանումը, քաղաքը, մարզիչը(տես Նկար 10) .

Այս գործողությունների արդյունքում ռուսերեն դաշտերի անունները կարտացոլվեն աղյուսակում Համընկնումների ցուցակ. Փակել պատուհանը ԽմբագրումDBGrid1.Սյունակներ.

4.5.2. Նավարկեք գրառումների միջով

Հետևյալ մեթոդները օգտագործվում են ցուցիչը տվյալների հավաքածուի ընթացիկ գրառումը տեղափոխելու համար.

ընթացակարգը Առաջին- սահմանել առաջին ռեկորդը;

ընթացակարգը Հաջորդը– հաջորդ ռեկորդի սահմանում (վերջին ռեկորդի համար ցուցիչը չի շարժվում);

ընթացակարգը Վերջին- սահմանելով վերջին ռեկորդը;

ընթացակարգը Նախկինում– սահմանել նախորդ ռեկորդը (առաջին գրանցման համար ցուցիչը չի շարժվում):

Դելֆիապահովում է տվյալների հավաքածուի միջոցով նավարկելու հնարավորություն՝ օգտագործելով վերահսկիչները, որոնք կարող են օգտագործվել որպես բաղադրիչներ DBGridԵվ DBNavigator. Այս տարրերի կառավարումը հանգեցնում է նախկինում թվարկված մեթոդների ավտոմատ կանչի:

Եկեք անցնենք ձևին Հրամանների ցանկ. Ձևի մեջ բաղադրիչ ավելացրեք DBNavigator(տվյալների բազայի նավիգատոր) էջից ՏվյալներԿառավարում(Տվյալների կառավարում): Նավիգատորը պարունակում է կոճակներ, որոնք թույլ են տալիս կատարել տարբեր գործողություններ տվյալների հավաքածուով` ավտոմատ կերպով զանգահարելով համապատասխան մեթոդը: Կոճակների կազմը որոշվում է VisibleButtons հատկությամբ։ Նկար 11-ը ցույց է տալիս բաղադրիչի ընդհանուր տեսքը DBNavigator.

Նավիգատորի կոճակները կատարում են հետևյալ գործողությունները.

Աղյուսակ 14

Կոճակի համարը նկարում

Կոճակի նշանակում

Գործողություն

Տեղափոխեք առաջին մուտքը

Տեղափոխել նախորդ մուտքը

Անցնել հաջորդ մուտքին

Անցնել վերջին մուտքին

Ներկայիսից առաջ նոր ռեկորդ մտցնելը

Ընթացիկ մուտքի ջնջում

Ընթացիկ մուտքի խմբագրում

Խմբագրված տեղեկատվության պահպանում տվյալների բազայում:

Չեղարկել խմբագրման կամ նոր գրառում ավելացնելու արդյունքը

Փոփոխություններ կատարեք բաղադրիչի հատկություններում DBNavigator.

Աղյուսակ 15

Ընտրված բաղադրիչ

Օբյեկտի տեսուչի պատուհան

Գույքի անվանումը

Գործողություն

(տվյալների աղբյուր)

DataModule1.Դ.Ս. _Թիմ

(օբյեկտների միջև կապ հաստատելը)

(ցույց տալ հուշում)

(հուշում)

Կտտացրեք աջ կողմում գտնվող երեք կետերով կոճակին: Ներկառուցված խմբագրիչի պատուհանում, որը հայտնվում է ԼարայինՑուցակԽմբագիրփոխարինել անգլերենը ռուսերեն կոճակների անուններով.

Առաջին ձայնագրությունը

Նախորդ գրառումը

Հաջորդ գրառումը

վերջին ռեկորդը

Գրառման տեղադրում

Մուտքի ջնջում

Գրառման խմբագրում

Փոփոխությունների պահպանում

չեղարկել փոփոխությունները

Թարմացնել փոփոխությունները

Ավարտեք՝ սեղմելով OK կոճակը:

Պահպանեք ձեր փոփոխությունները և գործարկեք նախագիծը: Համոզվեք, որ ամեն ինչ աշխատում է:

4.5.3. Ձև Համընկնումների ցուցակ

Ակտիվացրեք ձևը Համընկնումների ցուցակ. Տեղադրեք բաղադրիչ դրա վրա DBGridև աղյուսակի համար հետևեք 4.5.1 պարագրաֆի նմանատիպ քայլերին Համապատասխանում.

Դուք կարող եք նավարկել աղյուսակի միջով ծրագրային կերպով՝ առանց բաղադրիչներ օգտագործելու DBNavigator. Դա անելու համար եկեք փոփոխություններ կատարենք այս բաղադրիչում, սահմանենք հատկություններ, որոնք թույլ կտան այն օգտագործել սեղանի նավարկության համար Համապատասխանումընդամենը չորս կոճակ Առաջին, Նախորդ, Հաջորդ, Վերջին (տես Աղյուսակ 12): Սահմանեք այս հատկությունները, ինչպես ցույց է տրված Նկար 12-ում:

Ավելացնել կոճակի բաղադրիչներ ձևին ( Փոխել, ավելացնել, ջնջել, հաստատել, չեղարկել), Պիտակ՝ ձայնագրման կարգավիճակը ցուցադրելու համար (Դիտել, Ջնջել, Խմբագրել, Տեղադրել) և CheckBoxխմբագրման ռեժիմը միացնելու կամ անջատելու համար, ինչպես ցույց է տրված Նկար 13-ում: Նաև ձևաթղթի վրա տեղադրեք պիտակի բաղադրիչները, իսկ դրանց կողքին՝ դաշտերը խմբագրելու համապատասխան բաղադրիչները:

Նկար 13

Դաշտերը լրացնելիս Թիմը սեփականատերն է, Հյուրերի թիմսեղաններ Համընկնումների ցուցակ, ցանկալի է ցուցակից ընտրել այս դաշտերի արժեքները։ Եթե ​​դաշտում նշված է որոնման աղյուսակ, դուք կարող եք մուտքագրել միայն որոնման աղյուսակում պարունակվող արժեքը: Սա ապահովում է, որ անվավեր արժեք չի մուտքագրվում դաշտ: Դա անելու համար մենք կօգտագործենք բաղադրիչը DBLookupComboBox, որով կարող եք աղյուսակից ընտրել անհրաժեշտ տեղեկատվությունը Թիմ.

Հետևեք աղյուսակ 16-ի քայլերին:

Աղյուսակ 16

Ընտրված բաղադրիչ

Օբյեկտի տեսուչի պատուհան

Գույքի անվանումը

Գործողություն

Խաղի ամսաթիվը

DBEdit1 տվյալների վերահսկման էջից

DataModule1.DS_Match

Թիմը սեփականատերն է

DBLookupComboBox1

DataModule1.Ds_Match

DataModule1.DS_Team

Հյուրերի թիմ

DBLookupComboBox2

DataModule1.DS_Match

DataModule1.DS_Team

Մեր գրած ծրագիրը հեշտ ընթեռնելի դարձնելու համար կներկայացնենք ստեղծված կոճակների և պիտակների նշանակումները։ Դա անելու համար անհրաժեշտ է փոխել գույքը Անունհամապատասխան բաղադրիչների համար (տես աղյուսակ 17):

Աղյուսակ 17

Բաղադրիչ

Խորհրդանիշ

Սեփականություն Անուն

Փոփոխություն

Ավելացնել

Ջնջել

Հաստատել

Չեղարկել

փակել

Ձայնագրման կարգավիճակը

Խաղի ամսաթիվը

TDBLookupComboBox

Թիմը սեփականատերն է

TDBLookupComboBox

Հյուրերի թիմ

Աղյուսակ

Խմբագրման ռեժիմ

UnitMatch.

1. Բաժնում Օգտագործեք

DB, DBTables , Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls, Mask;

2. Իսկ նախկինում փոփոխականները նկարագրող բաժնում իրականացումը պետք է լինի գրառում.

FormSpisok՝ TFormSpisok;

3. Ձայնագրելուց հետո ($R *.dfm) մենք կտեղադրենք երկու օժանդակ ընթացակարգ.

ընթացակարգը TFormMatch. StateChange (Ուղարկող՝ TObject);

btnԽմբագրել. Միացված է:=false;

btnՏեղադրել. Միացված է:=false;

btnՋնջել. Միացված է:=false;

btnChangeOK. Միացված է:=true;

ընթացակարգը TFormMatch. StateBrowse (Ուղարկող՝ TObject);

cbCanEditClick(Ուղարկող);

btnChangeOK. Միացված է:=Սխալ;

4. Նախքան բաժինը մասնավոր (Անձնական հայտարարագրեր) նկարագրության բաժնում Տիպ տեղադրեք երկու տող.

ընթացակարգը StateChange (Ուղարկող՝ TObject);

ընթացակարգը StateBrowse (Ուղարկող՝ TObject);

5. Յուրաքանչյուր կոճակի համար գրեք համապատասխան ընթացակարգը։

BtnEdit –Փոփոխություն - OnClick

DataModule1.DS_Match. Տվյալների հավաքածու. Խմբագրել;

lblChangeKind. Տառատեսակ. Գույն:=clTeal;

lblChangeKind. Վերնագիր:="ՓՈՍՏԻ ԽՄԲԱԳՐՈՒՄ";

StateChange (Ուղարկող);

BtnInsert –Ավելացնել OnClick

Var Number: Ամբողջական;

// Հաստատեք՝ ռեժիմը տեղադրելու համար

Եթե ​​MessageDlg («Ավելացնե՞լ մուտքը»,

<>mrԱյո, ապա Ելք;

DataModule1.DS_Match. Տվյալների հավաքածու. Վերջին;

Համարը՝=DataModule1.DS_Match. Տվյալների հավաքածու. FieldByName("ID_M").AsInteger;

DataModule1.DS_Match. Տվյալների հավաքածու. Կցել;

// Համընկնման համարը ստեղծվում է ավտոմատ կերպով՝ ավելացնելով թիվը վերջին մուտքում

DataModule1.DS_Match. Տվյալների հավաքածու. FieldByName("ID_M").AsInteger:=Nomer+1;

lblChangeKind. Տառատեսակ. Գույն՝=clԿանաչ;

lblChangeKind. Վերնագիր:="ՏԵՂԱԴՐԵԼ ՁԱՅՆԸ";

StateChange (Ուղարկող);

եթե DbeDat. CanFocus ապա DbeDat: SetFocus;

BtnՋնջել – Ջնջել - OnClick

// Ջնջված ձայնագրության դիտման ռեժիմին անցնելու հաստատման հարցում

Եթե ​​MessageDlg («Ջնջե՞լ մուտքը»,

mtՀաստատում, , 0)<>mrԱյո, ապա Ելք;

lblChangeKind. Տառատեսակ. Գույն:=clRed;

lblChangeKind. Վերնագիր:="ՋՆԵԼ ՄՈՒՏՔԸ";

StateChange (Ուղարկող);

եթե btnChangeCancel. CanFocus, ապա btnChangeCancel: SetFocus;

ԲtnՓոխելOK – Հաստատել - OnClick

// Հաստատել ընթացիկ գրառումների փոփոխությունները (խմբագրված կամ նոր)

// կամ ջնջել ընթացիկ գրառումը (դիտված)

Եթե ​​DataModule1.TableMatch. Պետություն

// Ստուգեք, որ դաշտերը լրացված են

Եթե ​​dbeDat. Text="" ապա

MessageDlg («Համապատասխանության ամսաթիվը սահմանված չէ», mtError, 0);

եթե DbeDat. CanFocus ապա DbeDat: SetFocus;

Եթե ​​DBLHost. Text="" ապա

MessageDlg ("Master հրամանը նշված չէ", mtError, , 0);

եթե DBLHost. CanFocus, ապա DBLHost: SetFocus;

Եթե ​​DBLGuest. Text="" ապա

MessageDlg («Հյուրի հրամանը նշված չէ», mtError, , 0);

եթե DBLGuest. CanFocus ապա DBLGuest: SetFocus;

DataModule1.TableMatch. Գրառում

ուրիշ եթե lblChangeKind. Վերնագիր =Ջնջել մուտքագրումը

ապա DataModule1.TableMatch: Ջնջել;

StateBrowse (Ուղարկող);

ԲtnՓոխել Չեղարկել – Չեղարկել - OnClick

// Եթե տվյալների հավաքածուն դիտման ռեժիմում էր (երբ գրառումը ջնջվել է),

// ապա Չեղարկել մեթոդը ոչ մի գործողություն չի կատարում

DataModule1.TableMatch. Չեղարկել

StateBrowse (Ուղարկող);

BtnՓակել –փակել OnClick

cbCanEdit – OnClick

var bm1. TBookmark;

// Հիշեք ընթացիկ ռեկորդի դիրքը

bm1:=DataModule1.Ds_Match. Տվյալների հավաքածու. GetBookmark;

// Անջատել տվյալների փոփոխությունների ցուցադրումը տեսողական բաղադրիչներում

DataModule1.Ds_Match. Տվյալների հավաքածու. DisableControls;

Եթե ​​ոչ cbCanEdit: Ստուգվել է, ապա սկսել

DataModule1.TableMatch. ReadOnly:=true;

// Կողպեք տարրեր, որոնք կապված են անցման հետ

// ռեկորդային փոփոխման ռեժիմում

btnԽմբագրել. Միացված է:=false;

btnՏեղադրել. Միացված է:=false;

btnՋնջել. Միացված է:=false;

btnՓոխել Չեղարկել: Միացված է:=false;

btnChangeOK. Միացված է:=false;

lblChangeKind. Տառատեսակ. Գույն:=clBlue;

lblChangeKind. Վերնագիր:="ԴԻՏԵԼ ՁԱՅՆԱԳՐՈՒԹՅՈՒՆԸ";

DBEDat. Միացված է:=false;

DBLHost. Միացված է:=false;

DBLGuest. Միացված է:=false;

DataModule1.TableMatch. Ակտիվ:=կեղծ;

DataModule1.TableMatch. Read Only:=false;

DataModule1.TableMatch. Ակտիվ:=ճշմարիտ;

// Բացել անցման հետ կապված տարրերը

// ռեկորդային փոփոխման ռեժիմում

btnԽմբագրել. Միացված է:=true;

btnՏեղադրել. Միացված է:=true;

btnՓոխել Չեղարկել: Միացված է:=true;

btnChangeOK. Միացված է:=true;

DBEDat. Միացված է:=true;

DBLHost. Միացված է:=true;

DBLGuest. Միացված է:=true;

// Եթե տվյալների հավաքածուն դատարկ է, ապա գրառումների ջնջումն արգելված է

Եթե ​​DataModule1.Ds_Match. Տվյալների հավաքածու. Record Count>0

ապա btnՋնջել: Միացված է:=true

else btnՋնջել. Միացված է:=false;

// Վերադառնալ ընթացիկ մուտքին

ապա DataModule1.Ds_Match: Տվյալների հավաքածու. GotoBookmark (bm1);

Եթե ​​DataModule1.Ds_Match. Տվյալների հավաքածու. ԷջանիշՎավեր (bm1)

ապա DataModule1.Ds_Match: Տվյալների հավաքածու. FreeBookmark (bm1);

// Միացնել տվյալների փոփոխությունների ցուցադրումը տեսողական բաղադրիչներում

DataModule1.Ds_Match. Տվյալների հավաքածու. EnableControls;

FormMatchOnCreate

// Սկզբում գրառումների փոփոխությունն արգելվում է

cbCanEdit. Ստուգված է:=false;

// Արգելել ավտոմատ անցումը խմբագրման ռեժիմին

DataModule1.DS_Match. AutoEdit:=false;

DBGridMatch. Columns.ReadOnly:=Ճիշտ;

FormMatchOnShow

// Կառավարման տարրերի սկզբնական վիճակը

StateBrowse (Ուղարկող);

4.5.4. Ձև Նպատակների ցուցակ

Մշակեք ձեր սեփական ձևերի լրացման գործընթացը և նավիգացիան Նպատակների ցուցակ.

4.5.5. Առաջադրանք անկախ աշխատանքի համար

    Ձևի վրա Համընկնումների ցուցակյուրաքանչյուր թիմի համար (հյուրընկալող թիմ, հյուրերի թիմ) ավելացրեք տեղեկություններ թիմի քաղաքի և մարզչի անվան մասին: Ձևի վրա Համընկնումների ցուցակհամընկնումների աղյուսակում հեռացնել (տեսանելիությունը) համընկնումի ծածկագրի դաշտը: Ձևի վրա Հրամանների ցանկավելացնել կոճակը փակելձևը.

Գնահատված 5

Մշակեք ձեր սեփական համընկնումների որոնման ձևը.

1. ըստ ամսաթվի

2. հրամանով.

Գտնված խաղի համար ցույց տվեք բոլոր խփած գոլերի ցանկը և ընդհանուր հաշիվը:

Նկարագրեք ձևի ստեղծման գործընթացը՝ օգտագործելով այս նախագծի օրինակը:

5. Հղումներ

V. Goffman, A. Khomonenko Աշխատանքային տվյալների բազաների հետ Delphi, Սանկտ Պետերբուրգ «BHV-Petersburg», 2003 A. Zhelonkin Ծրագրավորման հիմունքները ինտեգրված միջավայրում DELPHI: Սեմինար, M: Binom. Հիմնական գիտելիքների լաբորատորիա, 2004 N. Kultin Ծրագրավորման հիմունքներ Դելֆի 7, Սանկտ Պետերբուրգ «BHV-Petersburg», 2005 թ.

6. Դիմում. Որոնման իրականացման օրինակ

Ձևաթղթում ավելացրեք DBGrid և GroupBox բաղադրիչներ (Գտնել), կոճակ ( Որոնել, Ելք), CheckBox (Ազգանունով, ըստ ֆակուլտետի), Խմբագրել՝ դաշտի որոնման հիմնական արժեքները մուտքագրելու համար DATԵվ ՖԱԿ, ինչպես ցույց է տրված Նկար 14-ում:

Նկար 14

Մեր գրած ծրագիրը հեշտ ընթեռնելի դարձնելու համար կներկայացնենք ստեղծված կոճակների և պիտակների նշանակումները։ Դա անելու համար անհրաժեշտ է փոխել գույքը Անունհամապատասխան բաղադրիչներում:

Աղյուսակ 16

Բաղադրիչ

Խորհրդանիշ

Սեփականություն Անուն

Որոնում

Ելք

Գտեք

Ազգանունով

Ֆակուլտետի կողմից

Ազգանուն մուտքագրելու համար

ֆակուլտետ ընդունվելու համար

Աղյուսակ

Ձևաթղթի խմբագրիչի պատուհանում անցեք ձևին Միավորի որոնում.

1. Բաժնում Օգտագործեք Հետևյալ ստանդարտ մոդուլները պետք է ներառվեն.

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

Դ.Բ. ,Երկխոսություններ, StdCtrls, ExtCtrls, Ցանցեր, DBGrids;

2. Գրառումներ ըստ դաշտերի որոնելու համար օգտագործեք Locate և Lookup մեթոդները, և դաշտերը կարող են չինդեքսավորվել:

Տեղորոշել ֆունկցիան (const KeyFields: String;

const Հիմնական արժեքներ. Տարբերակ;

Ընտրանքներ՝ TLocateOptions՝ բուլյան

որոնում է նշված դաշտի արժեքներով գրառում: Եթե ​​կան որոնման պայմանները բավարարող գրառումներ, ապա ընթացիկ ռեկորդային ցուցիչը դրվում է առաջինի վրա, և ֆունկցիան վերադարձնում է True: Որոնման համար օգտագործվող դաշտերի ցանկը նշված է KeyFields պարամետրում (դաշտերն առանձնացված են կետ-ստորակետերով): KeyValues ​​պարամետրը նշում է դաշտի արժեքները, որոնք պետք է որոնվեն: Options պարամետրը սահմանում է LoCaseInsensitive (գործը հաշվի չի առնվում) և LoPartialKey (թույլատրվում է արժեքների մասնակի համընկնում) արժեքները:

3. Որոնում կոճակի համար գրեք համապատասխան ընթացակարգը:

BtnFind –Որոնում - OnClick

ընթացակարգ TFormPOISK. btnFindClick (Ուղարկող՝ TObject);

Var KeyFields. String;

Հիմնական արժեքներ. Տարբերակ;

Ընտրանքներ. TLocateOptions;

եթե ոչ (cbFindDAT. Ստուգված կամ cbFindFAK. Ստուգված)

MessageDlg («Որոնման պայմանները նշված չեն», mtInformation,,0);

//Միաժամանակ որոնել՝ օգտագործելով երկու դաշտեր DAT և FAK

եթե cbFindDAT. Ստուգված և cbFindFAK: Ստուգվում

KeyFields:="DAT;FAK";

KeyValues:=VarArrayOf();

//Որոնել դաշտերից մեկով

//Ըստ DAT դաշտի

եթե cbFindDAT. Ստուգվում

KeyFields:="DAT";

Հիմնական արժեքներ՝=editDAT: Տեքստ;

//Ըստ դաշտի FAK

եթե cbFindFAK. Ստուգվում

KeyFields:="FAK";

Բանալի արժեքներ:=editFAK: Տեքստ;

//Որոնումը կատարվում է անկախ տառի տառից

//մասնակի համընկնումների հնարավորությամբ

Ընտրանքներ:=;

//Գրառումը չի գտնվել

Եթե ​​ոչ DataModule1.Ds_Spisok: Տվյալների հավաքածու. Տեղորոշել (Բանալի դաշտեր, բանալի արժեքներ, ընտրանքներ)

MessageDlg ("Record not found...", mtInformation, ,0);

Որոշ իրական համակարգի ուսումնասիրությունը բաղկացած է երկու փուլից՝ վերլուծության փուլ և սինթեզի փուլ։

Համակարգի վերլուծությունը դրա մասերի բաժանումն է՝ համակարգի կազմը պարզաբանելու նպատակով։ Նախորդ պարբերությունում ասացինք, որ համակարգի յուրաքանչյուր մաս իրենից ներկայացնում է ենթահամակարգ, և այս ենթահամակարգն ունի իր մասերը։ Սակայն անհնար է անվերջ ընդլայնել համակարգը։ Դուք ստիպված կլինեք կանգ առնել ինչ-որ բանի վրա, որոշ մասեր պետք է ընդունվեն որպես պարզ, ապա անբաժանելի տարրեր: Հարցը, թե որտեղ կարելի է դադարեցնել համակարգի «բեկորացումը» կախված է ուսումնասիրության նպատակից: Համակարգի ուսումնասիրության նպատակն է ստանալ դրա մոդելը` համակարգի կառուցվածքի և գործունեության մոտավոր պատկերացում: Ստացված մոդելը կօգտագործվի որոշակի պայմաններում համակարգի վարքագիծը կանխատեսելու, համակարգը վերահսկելու, համակարգի աշխատանքի խափանումները ախտորոշելու և այլն:

Այնուամենայնիվ, անհնար է հասկանալ համակարգի գործող մեխանիզմը՝ բացահայտելով միայն դրա կազմը: Անհրաժեշտ է իմանալ համակարգի մասերի միջև կապերի կառուցվածքը: Միայն կազմի և կառուցվածքի ամբողջությունը կարելի է հասկանալ համակարգի վիճակն ու վարքը։ Հետևաբար, համակարգի վերլուծությունը նրա հետազոտության առաջին փուլն է: Երկրորդ փուլը կոչվում է սինթեզ։ «Սինթեզ» բառը նշանակում է համակցություն։

Սինթեզը մասերի մտավոր կամ իրական կապն է մեկ ամբողջության մեջ: Սինթեզի արդյունքում ստեղծվում է համակարգի ամբողջական պատկերացում և բացատրվում է համակարգային ազդեցության մեխանիզմը։

Համակարգային վերլուծությունը իրական օբյեկտների և երևույթների ուսումնասիրությունն է համակարգային մոտեցման տեսանկյունից՝ բաղկացած վերլուծության և սինթեզի փուլերից։

Համակարգի ցանկացած նկարագրություն մոդելային բնույթ է կրում, այսինքն՝ արտացոլում է նրա հատկությունների սահմանափակ քանակությունը։ Համակարգային մոդել կառուցելիս հիմնական հարցն այն է, թե ինչ բնութագրիչներ են էական ապագա մոդելի օգտագործման նպատակների տեսանկյունից:

Սև տուփի մոդել

Ամենապարզ դեպքում բավական է պատկերացում ունենալ համակարգի փոխազդեցության մասին արտաքին միջավայրի հետ՝ առանց դրա ներքին կառուցվածքի մանրամասների մեջ մտնելու։ Օրինակ, բարդ կենցաղային տեխնիկա օգտագործելիս պարտադիր չէ, որ իմանաք, թե ինչպես են դրանք աշխատում: Բավական է իմանալ, թե ինչպես օգտագործել այն, այսինքն՝ ինչ վերահսկողական գործողություններ կարելի է կատարել դրա հետ (ինչ է մուտքագրումը) և ինչ արդյունքներ կստանաք (ինչ է ելքը): Այս ամբողջ տեղեկատվությունը զետեղված է օգտագործողի ձեռնարկում:Համակարգի այս նկարագրությունը կոչվում է «սև արկղ» մոդել (նկ. 1.2):

Համակարգի մուտքը արտաքին միջավայրի ազդեցությունն է համակարգի վրա, իսկ ելքը՝ համակարգի ազդեցությունը շրջակա միջավայրի վրա: Այս մոդելում համակարգի ներքին կառուցվածքը թաքնված է: Այդ իսկ պատճառով այն կոչվում է «սև արկղ»։

Բարձրագույն կրթության համակարգի հետ կապ չունեցող մարդու տեսանկյունից բուհը «սև արկղ է», որի ներդրումը դպրոցի շրջանավարտներն են, իսկ ելքը՝ հավաստագրված մասնագետները։

Կոմպոզիցիայի մոդել

Ինչպես նշվեց վերևում, համակարգի վերլուծության արդյունքը նրա կազմը որոշելն է: Եթե ​​մենք սահմանափակենք համակարգի նկարագրությունը նրա մասերի թվարկմամբ, ապա մենք կստանանք կոմպոզիցիայի մոդել: Օրինակ, «Համալսարանական» համակարգի կազմի մոդելը ներկայացված է Նկ. 1.3.

Նկ.-ում նշվածներից յուրաքանչյուրը: Համակարգի 1.3 բաղադրիչներ «Համալսարանը» սեփական կազմով ենթահամակարգ է: Հետևաբար, դուք կարող եք նաև ստեղծել ձեր սեփական կոմպոզիցիայի մոդելները այս ենթահամակարգերի համար: Իհարկե, նման մոդելը բավարար չէ հասկանալու համար, թե ինչպես է գործում բուհը։ Այնուամենայնիվ, այն ապահովում է համալսարանի ավելի մանրամասն պատկեր, քան սև արկղի մոդելը:

Համակարգի կառուցվածքային մոդել

Համակարգի կառուցվածքային մոդելը կոչվում է նաև կառուցվածքային դիագրամ: Կառուցվածքային դիագրամը արտացոլում է համակարգի կազմը և դրա ներքին կապերը: Գրաֆիկները օգտագործվում են համակարգի կառուցվածքային դիագրամը ցուցադրելու համար:

Գրաֆիկը բաղկացած է գագաթներից, որոնք ցույց են տալիս համակարգի տարրերը, իսկ եզրերը՝ գծերից, որոնք ցույց են տալիս համակարգի տարրերի միջև կապերը (հարաբերությունները): Շատերին ծանոթ Մոսկվայի արագընթաց տրանսպորտի սխեման (նկ. 1.4), գրաֆիկի օրինակ է: Այստեղ գագաթները մետրոյի կայարաններ են, իսկ ծայրերը՝ գնացքի գծեր։ Այս սխեման թույլ է տալիս մետրոյի ուղեւորին որոշել իր շարժման երթուղին ցանկացած կայարանների միջեւ։ Մետրոյի դասավորությունը արտացոլում է նրա ճառագայթային օղակաձև կառուցվածքը:

Գրաֆիկի մեկ այլ օրինակ ներկայացված է Նկ. 1.5. Սա ածխաջրածնի մոլեկուլի կառուցվածքային մոդել է։ Գագաթները ջրածնի և ածխածնի ատոմներ են, եզրերը ներկայացնում են վալենտային կապեր։

Գծով միացված մետրոյի երկու կայարանների կապը երկկողմանի է, քանի որ գնացքները կարող են շարժվել երկու ուղղություններով: Մոլեկուլի ատոմների վալենտային կապը նույնպես նախընտրելի ուղղություն չունի։ Նման գրաֆիկները կոչվում են չուղղորդված: Եթե ​​համակարգի երկու տարրերի միջև կապը գործում է միայն մեկ ուղղությամբ, ապա այն ցուցադրվում է գրաֆիկի վրա որպես ուղղորդված սլաք: Նման գրաֆիկը կոչվում է ուղղորդված: Գրաֆիկում հաղորդակցման ուղղորդված գծերը կոչվում են աղեղներ:

Նկ. Նկար 1.6-ը ցույց է տալիս ուղղորդված գրաֆիկի օրինակ բժշկության ոլորտից: Հայտնի է, որ տարբեր մարդիկ կարող են ունենալ արյան տարբեր խմբեր։ Արյան չորս խումբ կա. Պարզվում է, որ մի մարդուց մյուսին արյուն փոխներարկելիս ոչ բոլոր խմբերն են համատեղելի։ Գրաֆիկը Նկ. 1.6-ը ցույց է տալիս արյան փոխներարկման հնարավոր տարբերակները: Արյան խմբերը գրաֆիկի գագաթներն են՝ համապատասխան թվերով, իսկ սլաքները ցույց են տալիս մի խմբի արյան փոխներարկման հնարավորությունը մեկ այլ խմբի ունեցող անձին։ Օրինակ, այս գրաֆիկից պարզ երևում է, որ I խմբի արյունը կարող է փոխներարկվել ցանկացած անձի, իսկ I արյան խումբ ունեցող անձը ընդունում է միայն իր խմբի արյունը։ Կարելի է նաև տեսնել, որ արյան IV խումբ ունեցող մարդուն կարելի է փոխներարկել ցանկացած արյուն, բայց նրա արյունը կարող է փոխներարկվել միայն նույն խմբին պատկանող մարդկանց։

Գործնականում հաճախ հանդիպում են հիերարխիկ կառուցվածք ունեցող համակարգեր, որոնց գրաֆիկը կոչվում է ծառ (նկ. 1. 7):

Ծառը ուղղորդված գրաֆիկ է, չնայած այն պատկերելիս միշտ չէ, որ սլաքներ են գծվում: Սովորաբար, ծառի գագաթները դասավորված են վերևից ներքև մակարդակներով: Աղեղները ուղղվում են վերին գագաթներից դեպի ստորինները։ Յուրաքանչյուր գագաթ կարող է կապված լինել մեկ վերին մակարդակի գագաթի (աղբյուր) և շատ ավելի ցածր մակարդակի գագաթների (երեխաների) հետ: Նման հարաբերությունը կոչվում է մեկ-շատերին: Ամենաբարձր մակարդակի մեկ գագաթը կոչվում է ծառի արմատ: Ամենացածր մակարդակի գագաթները, որոնք չունեն երեխա գագաթներ, կոչվում են ծառի տերևներ: Ծառը կապակցված գրաֆիկ է: Սա նշանակում է, որ ցանկացած երկու գագաթների միջև կա առնվազն մեկ ուղի, որը կապում է դրանք միմյանց: Ծառում չկան օղակներ՝ կապերի փակ հետագծեր: Հետևաբար, ծառի երկայնքով շարժման երթուղին ցանկացած երկու գագաթների միջև միշտ եզակի է:

Համակարգչի արտաքին հիշողության մեջ ֆայլային համակարգի կազմակերպման կառուցվածքը հիերարխիկ է: Ֆայլի կառուցվածքը ցուցադրող գրաֆիկի գագաթները թղթապանակներ և ֆայլեր են: Աղեղները արտացոլում են հարաբերությունները մեկ գագաթի և մյուսի առաջացման միջև: Ծառը բազմաստիճան կառուցվածք ունի։ Վերին մակարդակի թղթապանակը կոչվում է ծառի արմատ: Նման ծառի (տերևների) տերմինալները ֆայլեր և դատարկ թղթապանակներ են:

Հիմնական հասկացությունների համակարգ

Հարցեր և առաջադրանքներ

1. Ինչ տեսակի համակարգերի մոդելներ կան: Ինչո՞վ են դրանք տարբեր:

2. Ի՞նչ է գրաֆիկը: Ինչից է այն բաղկացած:

3. Ո՞ր գրաֆիկն է կոչվում չուղղորդված: Բերեք օրինակներ։

4. Ո՞ր գրաֆիկն է կոչվում ուղղորդված: Բերեք օրինակներ։

6. Գծե՛ք «Համակարգիչ» համակարգի գրաֆիկի երկու տարբերակ՝ պարունակող հետևյալ գագաթները՝ պրոցեսոր, օպերատիվ հիշողություն, արտաքին հիշողություն, ստեղնաշար, մոնիտոր, տպիչ.

Ա) կապի գիծը նշանակում է «տեղեկատվություն է փոխանցում» հարաբերությունը.

Բ) կապի գիծը նշանակում է հարաբերություններ. «վերահսկում է»:

Ռուսաստանի Դաշնության կրթության և գիտության նախարարություն

«ԻՐԿՈՒՏՍԿԻ ՊԵՏԱԿԱՆ ՏԵԽՆԻԿԱԿԱՆ ՀԱՄԱԼՍԱՐԱՆ»
Համակարգչային գիտության բաժին
Ես ընդունում եմ պաշտպանությունը
Վերահսկող


թեմայի անվանումը

ԴԱՍԸՆԹԱՑ ԱՇԽԱՏԱՆՔ
կարգապահությամբ

Համակարգչային գիտություն

Ավարտված է
ԳԴ-14-2 խմբի աշակերտ
Խմբի կոդը ստորագրությունը I.O. Ազգանուն
Ստանդարտ հսկողություն
ստորագրություն I.O. Ազգանուն
Դասընթացի աշխատանքը պաշտպանված է գնահատմամբ

Իրկուտսկ, 2014 թ

Ռուսաստանի Դաշնության կրթության և գիտության նախարարություն
Բարձրագույն մասնագիտական ​​կրթության դաշնային պետական ​​բյուջետային ուսումնական հաստատություն
«ԻՐԿՈՒՏՍԿԻ ՊԵՏԱԿԱՆ ՏԵԽՆԻԿԱԿԱՆ ՀԱՄԱԼՍԱՐԱՆ»

ՎԱՐԺՈՒԹՅՈՒՆ
ԴԱՍԸՆԹԱՑ ԱՇԽԱՏԱՆՔԻ ՀԱՄԱՐ

Համակարգչային գիտություն դասընթացում
Ուսանող
(ազգանուն, սկզբնատառեր)
Նախագծի թեման
«Ֆուտբոլային ակումբներ» տվյալների բազայի ստեղծում

Նախնական տվյալներ
Ստեղծեք տվյալների բազա MS Access-ում: Առաջարկվող դաշտերը աղյուսակներում.
Հիմնական աղյուսակներ.
Ակումբ [Ակումբի_կոդ, Անուն, Խաղի կոդը, Կոնտակտային կոդ]
Օժանդակ սեղաններ.
Քաղաք [Տարածաշրջանի Կոդ, Քաղաք]
Մարզադաշտ [Մարզադաշտի_կոդ, Մարզադաշտի անվանում, Նստատեղերի քանակ, մուտքավճարներ, Հեռախոս, էլ.
Համապատասխանություն [Հանդիպման_կոդ, Թիմերի անուններ (խաղին մասնակցող), ամսաթիվ]
Կոնտակտներ [Contact_code, City code, Stadium code]
Ակումբի աղյուսակի բացատրությունները՝ ակումբի անվանումը, խաղի կոդը և կոնտակտային կոդը գրանցված են: Օժանդակ աղյուսակների միջոցով սահմանվում է տեղեկություններ խաղերի անցկացման վայրի, մուտքի տոմսերի արժեքի, խաղերին մասնակցող թիմերի անունների մասին։
Ստեղծեք հիմնական և օժանդակ աղյուսակները Դիզայների միջոցով՝ սահմանելով անհրաժեշտ դաշտերը և տվյալների տեսակները, կապեք աղյուսակները՝ օգտագործելով Data Schema, ստեղծեք պարամետրականորեն ունիվերսալ հարցումներ, հիմնական աղյուսակի վրա հիմնված ձև և ստեղծված հարցումների հիման վրա հաշվետվություններ:

Հանձնարարականը տրվել է 2014 թվականի սեպտեմբերին։

Աշխատանքը ղեկավարին ներկայացնելու ամսաթիվը «» դեկտեմբեր 2014 թ

Դասընթացի ղեկավար Է.Յու.Սոլոպանով

Ներածություն
Ժամանակակից տեղեկատվական տեխնոլոգիաների հիմքերն են տվյալների շտեմարանները (DBs) և տվյալների բազայի կառավարման համակարգերը (DBMS), որոնց դերը որպես մեծ ծավալի տեղեկատվության պահպանման, մշակման և մուտք գործելու մեկ միջոց անընդհատ մեծանում է: Միևնույն ժամանակ, էական է տվյալների բազայում պահվող տեղեկատվության ծավալի անընդհատ ավելացումը, ինչը ենթադրում է նման համակարգերի արտադրողականության բարձրացման պահանջ: Տեղեկատվության խելացի հասանելիության պահանջարկը նույնպես կտրուկ աճում է տարբեր ծրագրերում: Սա հատկապես ակնհայտ է գիտելիքների բազայի համակարգերում տրամաբանական տեղեկատվության մշակման կազմակերպման ժամանակ, որոնց հիման վրա ստեղծվում են ժամանակակից փորձագիտական ​​համակարգեր։
Տվյալների բազաները ստեղծվում են Microsoft Access հավելվածի միջոցով: Տվյալների բազայի հայեցակարգի ամենակարևոր առավելությունը (ի տարբերություն, օրինակ, օֆլայն ֆայլերում տվյալների մշակման) ստանդարտ կառուցվածքների մի շարքի ներդրումն է, որոնց մեջ տվյալները տեղադրվում են, ինչպես բեռնարկղերը: Հատուկ առարկայական ոլորտում տվյալների հետ աշխատելու պլանավորման ժամանակ, հիմնական խնդիրները հասկանալուց հետո, նրանք լուծում են տվյալների կազմակերպման խնդիրները՝ ինչպես խմբավորել տվյալները աղյուսակների մեջ, ինչ դաշտեր և ինչ տեսակներ ներառել յուրաքանչյուր աղյուսակում, ինչպես կապել աղյուսակները յուրաքանչյուրի հետ: այլ և այլն:
Միայն տվյալների կազմակերպման խնդիրները լուծելուց հետո նրանք սկսում են մշակել հավելվածներ՝ բազմաֆունկցիոնալ ծրագրեր, որոնք փոխակերպում են տվյալները՝ դրանք հանելով որոշ աղյուսակներից, կատարելով հաշվարկներ և արդյունքները տեղադրելով տվյալների բազայի այլ աղյուսակներում։ Այս մոտեցումը, առաջին հերթին, երաշխավորում է, որ ձեռնարկության կողմից ստացված յուրաքանչյուր նոր տվյալ կլինի «իր տեղում»՝ կոնկրետ աղյուսակում, հատուկ տվյալների բազայում, և, երկրորդ, կարիք չկա մշակել տվյալների մշակման մեծ թվով ընթացակարգեր։ .

1. Տեսական մաս
1.1 Հիմնական սահմանումներ
Տվյալների բազան մեծ քանակությամբ պատվիրված տարասեռ տեղեկատվության պահպանման և կառավարման կազմակերպման միջոց է: Այն սովորաբար բնութագրվում է կոշտ ներքին կառուցվածքով և պահպանվող տվյալների առանձին տարրերի միջև փոխհարաբերությամբ:
Տվյալների մոդելը աբստրակցիա է, որը կիրառելի լինելով կոնկրետ տվյալների համար՝ թույլ է տալիս օգտվողներին և մշակողներին վերաբերվել որպես տեղեկատվության, այսինքն՝ ոչ միայն տվյալներ պարունակող տեղեկատվություն, այլև նրանց միջև փոխհարաբերությունները:
Տվյալների պաշտոնականացումը տվյալների մշակման վերջնական ընթացակարգն է, որը բաղկացած է այդ տվյալները տրամաբանական կառուցվածքի տեսքով ներկայացնելուց:
DBMS-ը ծրագրային համակարգ է, որն ապահովում է տվյալների մուտքագրում, պահպանում և հասանելիություն շատ օգտվողների համար, ինչպես նաև պահում է տվյալների կառուցվածքի նկարագրությունը:
Առարկայական տարածքը հատուկ գործնական գործունեության ոլորտ է: Խոշոր կազմակերպությունները հիմնական ծառայությունների շրջանակներում սովորաբար հատկացնում են մի շարք առարկայական ոլորտներ, որոնցից յուրաքանչյուրն իր խնդիրները լուծելու համար ստեղծում է իր տվյալների բազաները։
Կառուցվածքը կոնվենցիաների ներդրումն է այն մասին, թե ինչպես պետք է ներկայացվեն տվյալները: Այս հայեցակարգը մոտ է տվյալների մոդելի և տվյալների ֆորմալացման հասկացություններին: Հարաբերական տվյալների բազաները օգտագործում են տվյալների երեք կառուցվածք՝ աղյուսակ, գրառում և դաշտ: Այս կառույցներից յուրաքանչյուրն ունի իր սեփական հատկությունները, որոնք նկարագրված են պարամետրերով: Աղյուսակն ունի անուն և բաղկացած է գրառումներից։ Գրառումը աղյուսակում ունի թիվ և բաղկացած է դաշտերից: Յուրաքանչյուր դաշտ ունի անուն, տեսակ (տեքստ, թվային և այլն), երկարությունը բայթերով: Եկեք բացատրենք այս կառույցները՝ օգտագործելով կոնկրետ առարկայի տեղեկատվական մոդելի կառուցման օրինակը:
Այս աղյուսակներից յուրաքանչյուրն ունի թավ շեղ տառերով անուն և բաղկացած է գրառումներից՝ տողերից, որոնց կազմը (դաշտերի ցանկը) նշված է քառակուսի փակագծերում։ Դաշտերի անունները աղյուսակի սյունակների անուններն են: Հիմնական դաշտերի անունները շեղատառ են: Բանալի դաշտի (բանալու) արժեքը եզակիորեն նույնականացնում է աղյուսակի գրառումը: DBMS-ը դասավորում է գրառումները աղյուսակներում հիմնական արժեքների աճման կարգով:
Կախված կառավարվող տվյալների բազայի տեսակից, DBMS-ները բաժանվում են.
- Հիերարխիկ. Հիերարխիկ տվյալների բազայի մոդելը բաղկացած է առարկաներից, որոնց ցուցիչները ծնող օբյեկտներից երեխաներ են, որոնք կապում են միմյանց հետ կապված տեղեկատվությունը:
Հիերարխիկ տվյալների բազաները կարող են ներկայացվել որպես ծառ, որը բաղկացած է տարբեր մակարդակների օբյեկտներից: Վերին մակարդակը զբաղեցնում է մեկ օբյեկտ, երկրորդը՝ երկրորդ մակարդակի օբյեկտները և այլն։
Օբյեկտների միջև կան կապեր, յուրաքանչյուր օբյեկտ կարող է ներառել ավելի ցածր մակարդակի մի քանի օբյեկտ: Նման առարկաները գտնվում են նախնիի (արմատին ավելի մոտ առարկա) երեխայի հետ (ավելի ցածր մակարդակի առարկայի) հարաբերությունների մեջ, և հնարավոր է, որ նախնի առարկան ժառանգներ չունենա կամ ունենա դրանցից մի քանիսը, իսկ հետնորդ առարկան. պետք է ունենա միայն մեկ նախահայր: Այն առարկաները, որոնք ունեն ընդհանուր նախահայր, կոչվում են երկվորյակներ:
Հիերարխիկ տվյալների բազան ֆայլային համակարգ է, որը բաղկացած է արմատային գրացուցակից, որտեղ կա ենթացանցերի և ֆայլերի հիերարխիա:
- Ցանց: Ցանցային տվյալների բազաները նման են հիերարխիկ տվյալների բազաներին, բացառությամբ, որ դրանք երկու ուղղություններով ցուցիչներ ունեն, որոնք կապում են առնչվող տեղեկատվությունը:
Չնայած այս մոդելը լուծում է հիերարխիկ մոդելի հետ կապված որոշ խնդիրներ, պարզ հարցումների կատարումը մնում է բավականին բարդ:
Բացի այդ, քանի որ տվյալների որոնման ընթացակարգի տրամաբանությունը կախված է այս տվյալների ֆիզիկական կազմակերպությունից, այս մոդելը լիովին անկախ չէ հավելվածից: Այլ կերպ ասած, եթե տվյալների կառուցվածքը պետք է փոխվի, ապա հավելվածը պետք է փոխվի:
- Հարաբերական. Այս մոդելները բնութագրվում են տվյալների կառուցվածքի պարզությամբ, օգտագործողի համար հարմար աղյուսակային ներկայացմամբ և տվյալների մշակման համար հարաբերական հանրահաշվի և հարաբերական հաշվարկի ֆորմալ ապարատի օգտագործման ունակությամբ:
Հարաբերական մոդելը կենտրոնանում է տվյալների կազմակերպման վրա երկչափ աղյուսակների տեսքով: Յուրաքանչյուր հարաբերական աղյուսակ երկչափ զանգված է և ունի հետևյալ հատկությունները.
յուրաքանչյուր աղյուսակի տարր տվյալների մեկ տարր է
աղյուսակի սյունակի բոլոր բջիջները միատարր են, այսինքն՝ սյունակի բոլոր տարրերը նույն տիպի են (թվային, նիշ և այլն)
յուրաքանչյուր սյունակ ունի յուրահատուկ անուն
Աղյուսակում նույնական տողեր չկան
տողերի և սյունակների հերթականությունը կարող է կամայական լինել
- Օբյեկտ-հարաբերական. Օբյեկտ-հարաբերական DBMS (ORDBMS) հարաբերական DBMS (RSDBMS) է, որն աջակցում է որոշ տեխնոլոգիաների, որոնք իրականացնում են օբյեկտի վրա հիմնված մոտեցում:
Տարբերությունը առարկայական և օբյեկտի վրա հիմնված DBMS-ների միջև. առաջինները հարաբերական սխեմայի վերին կառուցվածք են, մինչդեռ վերջիններս սկզբնական շրջանում ուղղված են օբյեկտի վրա: Օբյեկտ-հարաբերական, ինչպես նաև օբյեկտային DBMS-ների միջև հարաբերականներից հիմնական առանձնահատկությունն ու տարբերությունն այն է, որ O(R)DBMS-ները ինտեգրված են Օբյեկտ-կողմնորոշված ​​(OO) ծրագրավորման լեզվի հետ՝ ներքին կամ արտաքին, ինչպիսիք են C++, Java-ն: ORDBMS-ի բնորոշ հատկություններն են՝ 1) բարդ տվյալներ, 2) տիպի ժառանգություն և 3) օբյեկտի վարքագիծ։
- Օբյեկտային ուղղվածություն: Օբյեկտ-կողմնորոշված ​​DBMS - օբյեկտի վրա հիմնված մոտեցման իրականացում: Այս կառավարման համակարգը մշակում է տվյալները որպես վերացական օբյեկտներ, որոնք օժտված են հատկություններով, չկառուցված տվյալների տեսքով և օգտագործելով շրջակա աշխարհի այլ օբյեկտների հետ փոխգործակցության մեթոդներ:

1.2 Տվյալների բազայի բաղադրիչները
Աղյուսակը օբյեկտ է, որը նախատեսված է տվյալների պահպանման համար գրառումների (տողերի) և դաշտերի (սյունակների) տեսքով: Աղյուսակները կարող են կապված լինել միմյանց հետ: Աղյուսակը տվյալների բազայի հիմնական օբյեկտն է, մնացած բոլոր օբյեկտները ստեղծվում են գոյություն ունեցող աղյուսակների (ստացված օբյեկտների) հիման վրա:
Հարցումը օբյեկտ է, որը թույլ է տալիս ստանալ անհրաժեշտ տվյալներ մեկ կամ մի քանի աղյուսակներից: Օգտագործելով հարցումը, դուք կարող եք ընտրել գրառումներ կամ դաշտեր, որոնք համապատասխանում են ընտրության չափանիշներին, կարող եք փոփոխություններ կատարել աղյուսակներում և կարող եք կատարել հաշվարկներ: Իրականում հարցումները տվյալների բազայի ամենակարեւոր գործիքն են։
Ձևը առարկա է, որը նախատեսված է աղյուսակներում տվյալները ցուցադրելու և մուտքագրելու համար: Ձևը նաև հարմար գործիք է աղյուսակներում տեղեկատվություն փնտրելու և ուղղելու համար: Հաճախ ձևը ձև է, որը ցուցադրում է մեկ աղյուսակի գրառումների բովանդակությունը: Ձևաթղթերը կարող են հիմնված լինել հարցումների վրա, որոնք թույլ են տալիս ցուցադրել և մուտքագրել տվյալներ, որոնք պատկանում են բազմաթիվ աղյուսակներին: Փաստորեն, օգտագործելով ձևը, ստեղծվում է տվյալների բազա մուտք գործելու գրաֆիկական ինտերֆեյս:
Զեկույցը տվյալների կազմակերպված ներկայացում է, որը նախատեսված է աղյուսակներում և հարցումներում պարունակվող տվյալները գեղեցիկ ձևավորված ձևով տպելու համար: Հարցումների վրա հիմնված հաշվետվությունները կարող են ցուցադրել բազմաթիվ աղյուսակների տվյալները:

2. Գործնական մաս
2.1 Տվյալների բազայի ստեղծում
Նախ, եկեք ստեղծենք ֆուտբոլային ակումբների դատարկ տվյալների բազա: Դա անելու համար բացեք Access հավելվածը և ընտրեք Նոր տվյալների բազա: New Database պատուհանում ընտրում ենք տվյալների բազան տեղադրելու թղթապանակը, տալիս ֆայլին անվանում և սեղմում Ստեղծել կոճակը (նկ. 2.1.1):

Նկ.2.1.1 Տվյալների բազայի ստեղծում

2.2 Աղյուսակների ստեղծում
Դուք պետք է սկսեք օժանդակ աղյուսակներից City, Stadium, Match:
Օժանդակ աղյուսակ ստեղծելու համար, օրինակ՝ City, տվյալների բազայի պատուհանում անցեք «Ստեղծում» ներդիրին և սեղմեք սեղանի դիզայներ կոճակը: Նախ, եկեք ստեղծենք Քաղաքի աղյուսակը: Field Name սյունակում մուտքագրեք Քաղաքի կոդը, իսկ Տվյալների տեսակը համակցված վանդակում ընտրեք Counter: Քաղաքի կոդը դաշտը կլինի առանցքայինը (նկ. 2.2.1):
Մնացած դաշտերը լրացնում ենք ճիշտ նույն ձևով, ընտրում ենք ցանկալի տվյալների տեսակը և ընտրում համապատասխան դաշտի չափը։
Մենք ստեղծում ենք հաջորդ աղյուսակները ճիշտ նույն ձևով:

Նկ.2.2.1 Աղյուսակի ստեղծում
Հիմնական Ակումբի աղյուսակը և Կոնտակտների աղյուսակը պարունակում են դաշտեր արդեն գաղտնագրված տվյալներով, ուստի որոշ դաշտերի համար անհրաժեշտ է օգտագործել թվային տվյալների տեսակ (Նկար 2.2.2):

Նկար 2.2.2. Տվյալների տեսակները

2.3 Տվյալների սխեմայի ստեղծում
Տվյալների սխեմայում մենք միացնում ենք աղյուսակների հիմնական դաշտերը՝ Ակումբ, Քաղաք, Մարզադաշտ, Համապատասխանություն, Կոնտակտներ: Յուրաքանչյուր միացումում ստուգեք «Անհրաժեշտ տվյալների ամբողջականությունը» վանդակը (նկ. 2.3.1):

Նկ.2.3.1 Տվյալների սխեմայի ստեղծում

2.4 Ձևաթղթի ստեղծում
Ձևաթղթերի հիմնական նպատակն է հեշտացնել գրառումների մուտքագրումը, դիտումը և խմբագրումը: Ձևերը սովորաբար ցուցադրում են մեկ գրառում աղյուսակից և ունեն կոճակներ՝ մեկ գրառումից մյուսը տեղափոխելու համար:
Ձև ստեղծելու համար դուք պետք է օգտագործեք Form Wizard-ը: Ձև ստեղծելիս մենք պետք է վերցնենք բոլոր այն դաշտերը, որոնք արտացոլում են օբյեկտի մասին ամբողջական տեղեկատվություն։ Ֆուտբոլային ակումբների տվյալների բազայում կվերցնենք նկարում պատկերված դաշտերը (նկ. 2.4.1):

Նկ.2.4.1 Ձևի ստեղծում
2.5 Հարցումների ստեղծում
Կան բազմաթիվ տեսակի հարցումներ, ինչպիսիք են հարցումը պարամետրով, գրառում ավելացնելու և ջնջելու հարցում, խմբավորման հարցում, մաթեմատիկական տարբեր հարցումներ և պայմանով հարցումներ։
Ստեղծվել է չորս հարցում, որոնցից երեքը՝ պարամետրով, մեկը՝ տվյալների խմբավորման և հաշվման համար։
Հարցման դիզայները օգտագործվել է հարցումներ ստեղծելու համար: Պարամետրով հարցումներ ստեղծելու համար մեզ անհրաժեշտ են աղյուսակներ և Selection Condition դաշտը։ Այս դաշտում մենք պայման չենք մուտքագրում, այլ խնդրում ենք այս պայմանն օգտագործողից (Նկար 2.5.1):

Նկար 2.5.1. Հարցում պարամետրով.
2.6 Հաշվետվությունների ստեղծում:
Զեկույցներ ստեղծելու համար դուք պետք է օգտագործեք Report Wizard-ը: Եկեք, օրինակ, ստեղծենք հաշվետվություն Մոսկվայում խաղերի խնդրանքի վերաբերյալ: Դա անելու համար մենք ընտրում ենք մեզ անհրաժեշտ հարցումը և մեզ անհրաժեշտ աղյուսակի դաշտերը (Նկար 2.6.1):

Նկար 2.6.1. Հաղորդել հրաշագործին
Մնացած հաշվետվությունները կանենք նույն սխեմայով։ Նմուշի հաշվետվության Նկար 2.6.2

Նկ.2.6.2 Հաշվետվություն

Եզրակացություն
Որոշակի առաջադրանքներ կատարելիս մարդը, աշխատելով որոշակի ծրագրային արտադրանքի հետ, որոշակի հաջորդականությամբ կատարում է մի շարք հրամաններ: Կան պահեր, երբ օգտատերը ստիպված է լինում հետևողականորեն կատարել նույն գործողությունները, ինչը ստիպում է նրան զգալի ժամանակ հատկացնել մեխանիկական գործողություններին։ Մուտքը բավականին հեշտ է օգտագործել, ինչը թույլ է տալիս լուծել տարբեր ձևերով տեղեկատվության մշակման, տեսակավորման, խմբավորման և ցուցադրման հետ կապված խնդիրներ։
Այս մոտեցումը, նախ, երաշխավորում է, որ ձեռնարկության կողմից ստացված յուրաքանչյուր նոր տվյալ կլինի «իր տեղում»՝ հատուկ տվյալների բազայի հատուկ աղյուսակում, և, երկրորդ, կարիք չկա մշակել տվյալների մշակման մեծ թվով ընթացակարգեր։ . Վերջինս բացատրվում է նրանով, որ տվյալների կառուցվածքների (աղյուսակներ, գրառումներ, դաշտեր) բովանդակության վրա ստանդարտ գործողություններն արդեն ծրագրավորված են և հանդիսանում են DBMS-ի մի մասը. տվյալները։ Տվյալների կառուցվածքների հետ աշխատող DBMS-ը կարելի է համեմատել ժամանակակից տրանսպորտի տեխնիկական միջոցների հետ. նրանք աշխատում են բեռնարկղերով՝ անկախ նրանից, թե կոնկրետ դեպքում ինչ է փոխադրվում այդ բեռնարկղերով:
Այս դասընթացի աշխատանքի նպատակն էր խորացնել գիտելիքները և ընդլայնել հմտությունները տվյալների բազայի մշակման և անհատական ​​համակարգչի վրա դրա ներդրման գործում: Դասընթացի նախագծի վրա աշխատանքի արդյունքում մշակվել է «Ֆուտբոլային ակումբներ» բազան։
Ֆուտբոլը ամենահայտնի խաղերից է։ Միլիոնավոր երկրպագուներ հետևում են իրենց թիմերի խաղերին, ամեն օր հայտնվում են նոր թիմեր, և ամեն օր լինում են հսկայական թվով հանդիպումներ, որոնց հետևել հնարավոր չէ։ Այս տվյալների բազան միավորում և համակարգում է որոշ թիմերի առաջիկա հանդիպումների, խաղի վայրի և ամսաթվի մասին բոլոր տեղեկությունները: Եվ ներկայացնում է այն մարդկանց համար հարմար ձևով։

Մատենագիտություն
1. Լոմթաձե Վ.Վ., Շիշկինա Լ.Պ. Գործնական համակարգչային գիտություն. – Իրկուտսկ: ISTU հրատարակչություն. – 2012. – 200 էջ.
2. Բոյարինցևա Տ.Պ., Վորոպաևա Է.Ֆ., Դմիտրիենկո Տ.Ա., Շիշկինա Լ.Պ. Լաբորատոր սեմինար համակարգչային գիտության մեջ. Excel-ի առաջադեմ առանձնահատկություններ: – Իրկուտսկ: ISTU հրատարակչություն. - 2003. – 71 էջ.
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

Ես միշտ հավատացել եմ, որ նրանք, ովքեր աշխատում են ֆուտբոլում, արտոնյալ են։ Մենք վարձատրվում ենք այն գործն անելու համար, որը սիրում և հաճույք ենք ստանում: Իսկ իմ դեպքում նույնպես բավականին բախտավոր եմ եղել, քանի որ աշխատել եմ տարբեր երկրներում, հանդիպել տարբեր մշակույթների ու աշխատանքային մեթոդների, ընդլայնել եմ իմ գիտելիքներն ու փորձը։ Եվ սա օգնում է ինձ վերլուծելիս իրերին նայել տարբեր կողմերից:

Երբ մարդիկ քննարկում են տրանսֆերները, խաղացողների շուկայական արժեքները և այն պատճառները, թե ինչու եք խաղացող գնում կամ վաճառում, հեշտ է տեսնել, որ շատերը բաց են թողնում կետը: Իրավիճակը կարող է չափազանց բարդ և շփոթեցնող լինել երկրպագուների համար: Եվ այս հոդվածում ես կփորձեմ ներկայացնել իմ տեսակետը նման խնդիրների վերաբերյալ՝ հիմնվելով անձնական փորձի վրա։

Բնականաբար, ես կենտրոնանալու եմ ակումբում իմ պատասխանատվության ոլորտի վրա։ Սա ֆուտբոլ է, խաղի ուղղությունը, որը որոշում է մենեջերը կամ մարզիչը՝ կախված իրավիճակից:

Ակումբի կառուցվածքը

Առաջին բանը, որ դուք պետք է հաստատեք, երբ գալիս եք նոր ակումբ, նրա նպատակներն են և առկա ռեսուրսները հենց այս նպատակին հասնելու համար: Կարևոր է, հատկապես, եթե դուք աշխատում եք օտար երկրում, ուշադիր վերլուծել ակումբի կառուցվածքը։

Կանոններ, մրցաշարային աղյուսակ, թիմ, ակումբի աշխատակիցներ և նրանց լիազորություններ, խաղացողների պայմանագրեր, միջավայր, մշակույթ, ակումբային ավանդույթներ... Այս ամենի իմացությունը շատ կարևոր է ճիշտ որոշումներ կայացնելու համար: Առնվազն նրանք, որոնք կախված են ձեզանից:

Իսպանիայում և Իտալիայում կա պաշտոն, որը կոչվում է «Ֆուտբոլի տնօրեն» կամ «գլխավոր սկաուտ»: Տեսականորեն նա պատասխանատու է մարզչի հետ պայմանագիր կնքելու և կազմը համալրելու համար։ Շատ դեպքերում, թեև ոչ միշտ, նա խորհուրդ է տալիս պատասխանատու անձին, կամ Նախագահին/Սեփականատիրոջը, ով պատասխանատու է բոլոր գործընթացների համար, որտեղ նրա վերջնական խոսքը պահանջվում է:

Անգլիայում այս ամենն անում է Մենեջերը։ Նրա լիազորությունների թվում է ֆուտբոլային բոլոր գործերի կառավարումը, այդ թվում՝ հանդիպման համար կազմի որոշումը։

Գործնականում երկու տեսակի կառույցները կախված են մեկ բանից՝ տրանսֆերների համար հասանելի միջոցներից և խաղացողների աշխատավարձից: Ե՛վ «ղեկավարը», և՛ «մարզիչը» անխուսափելիորեն բախվում են այն փաստի հետ, որ իրենց հայտացուցակից ընդամենը երեք-չորս խաղացողի հետ գնելու հնարավորություն ունեն։ Սա իրականում ճիշտ է: Վերջին դեպքում մենեջերը կարող է ընտրել նրանց, ում ցանկանում է։

Կազմի ձևավորում

Որպես հարցի տեխնիկական կողմի պատասխանատու՝ դուք պետք է ընտրեք այն խաղային մոդելը, ըստ որի ձեր թիմն իրեն կպահի խաղադաշտում։ Կարևոր է ծանոթանալ բոլոր խաղացողներին, զրուցել նրանց հետ, պարզել նրանց կարծիքը կազմի վերաբերյալ։ Անհրաժեշտության դեպքում հոլովակը լրացրեք այն որակապես ամրապնդելու ունակ կատարողներով։ Եթե ​​դուք չունեք այս տարբերակը, դուք ստիպված կլինեք հարմարեցնել առկա թիմը ձեր խաղային մոդելին և հուսալ, որ խաղացողները կաջակցեն, երբ դրա կարիքը ունենաք:

Բացի այդ, տարբեր երկրներ տարբեր մոտեցումներ ունեն պայմանագրերի մշակման հարցում: Հատուկ պայմաններ են գործում միջազգային մրցաշարերի մասնակից ակումբների համար։ Լիգաներ կան, որտեղ այս երկրից 5 խաղացող պետք է խաղա, մյուսներում կա սահմանափակում օտարերկրացիների հետ պայմանագիր կնքելու համար, մյուսներում խաղացողները բաժանված են «A» և «B» ցուցակների... Ի վերջո, յուրաքանչյուր երկիր, յուրաքանչյուր լիգա ունի. իր սեփական հատկանիշները. Եվ դուք պետք է դրանք ամբողջությամբ մարսեք, նախքան թիմին միանալը և այն փոխել որոշելը:

Դուք պետք է ունենաք պլան, ինչ-որ «ֆուտբոլային նախագիծ»: Բայց բիզնես աշխարհից ֆուտբոլ եկած սեփականատերերի հետ խոսելիս դա պետք է անվանել միայն «բիզնես պլան»:

Եվ այստեղ ես կրկին կանդրադառնամ իմ սեփական փորձին։ Երբ ես եկա Իտալիա, «բիզնես պլան» չկար։ Այս մասին իմացա միայն տրանսֆերային պատուհանի վերջին օրը, երբ հանկարծ ինձ տեղեկացրին, որ ակումբը պատրաստվում է հետևել ֆինանսական ֆեյր-փլեյին։

Իսպանիայում ակումբի ղեկավարության հետ մշտական ​​երկխոսությունը թույլ է տալիս հավատարիմ մնալ տնտեսական սահմանափակումներին, դուք հասկանում եք, թե որտեղ եք գտնվում: Չնայած մի օր ինձ զարմացրեց նախագահի նախաձեռնությամբ օգոստոս ամսվա վերջին օրը հարձակվողի ձեռքբերումը։ Նա այս տրանսֆերը հիմնավորել է խաղացողի էժան գնով, քանի որ նա վարձավճարով էր։

Անգլիայում, մասնավորապես Լիվերպուլում իմ առաջին 3 սեզոնների ընթացքում, նախագահն ու գործադիր տնօրենն ինձ տեղյակ էին պահում առկա սահմանափակումների և տարբերակների մասին: Հետագայում ակումբի կառուցվածքը փոխվեց և աստիճանաբար բիզնես պլանը դարձավ ավելի ու ավելի կարևոր, քան ցանկացած ֆուտբոլային նախագիծ, երբ խոսքը վերաբերում էր կարևոր որոշումների կայացմանը:

Այն, ինչ նույնպես չի կարելի մոռանալ, երիտասարդական ակադեմիայի գործունեությունն է։ Տեղացի խաղացողների հետ խաղալը զգալիորեն մեծացնում է ձեր մտերմությունը ակումբի հետ և զգալիորեն նվազեցնում ծախսերը: Իսպանիայում եւ Իտալիայում երիտասարդական կառույցը վստահված է մարզական տնօրենին, գլխավոր մարզիչը դրան շատ ժամանակ չի հատկացնում։ Այն, ինչ կարող է պատահել Անգլիայում, այն է, ինչ պատահեց ինձ հետ «Լիվերպուլում» անցկացրած իմ վերջին տարում. մարզիչը լիովին վերահսկում է ամբողջ երիտասարդական համակարգը և կարող է շարունակաբար շարունակել նույն խաղաոճը բոլոր տարիքային խմբերում: Բարսելոնայի երիտասարդական աշխատանքային կառույցն այժմ իր ժողովրդականության գագաթնակետին է: Այս առումով ավելի ակնհայտ ու ցայտուն օրինակ չի կարելի գտնել։

Մոտ ապագայում հիմնական թիմում խաղալու ունակ երիտասարդ հեռանկարների բացակայության դեպքում ստիպված կլինեք հայացք գցել տրանսֆերային շուկայի վրա:

Մարզական տնօրենը կամ մենեջերը պետք է իր վերահսկողության տակ պահի տրանսֆերային բյուջեն, ինչպես նաև հաշվարկի ֆուտբոլիստների աշխատավարձերը։ Լավ հետախուզական ցանցը կարևոր է, թեև ոչ անխոհեմ, և փողը կազդի ձեր ակումբին շուկայական որոշակի նիշերի հասանելիության վրա: Եկամուտներն ու ծախսերը ղեկավարի համար ավելի կարևոր են, քան մարզչի համար։

Կանոնները և կանոնակարգերի տեսակները

Այն, ինչ նույնպես պետք է դիտարկել, տարբեր միջազգային կանոնակարգերն են: Սովորաբար, մրցաշրջանում առաջին թիմի մուտքը սահմանափակվում է 25 խաղացողով: Որոշ երկրներում, օրինակ, Իսպանիայում, կարելի է կրտսեր խաղացողին խաղալ 5 խաղում, որից հետո նա պետք է ընդգրկվի հիմնական կազմում։

Անգլիայում կարող եք օգտվել պահեստային թիմի խաղացողների ծառայություններից, որոնցում մենք մարզել ենք երիտասարդներին, և նրանք, իրենց հերթին, ստացել են առաջին թիմ անցնելու համար անհրաժեշտ փորձը։

Քո տրամադրության տակ է մինչև 18 տարեկանների հավաքականը։ Այնտեղից որոշ խաղացողներ, հատկապես եթե դրսից են, պետք է պրոֆեսիոնալ պայմանագրեր ունենան։ Հակառակ դեպքում, այլ ակումբներ կարող են խլել դրանք հենց ձեր քթի տակից:

«Լիվերպուլում» իմ ժամանակ երկրպագուները հաճախ ասում էին, որ ես շատ խաղացողների հետ եմ պայմանագիր կնքել, մինչդեռ իրականում նրանցից շատերը մարզվում էին առանձին պատանեկան խմբերում, իսկ ոմանց ես նույնիսկ չգիտեի: Իսպանիայում նման խաղացողները համալրում են երկրորդ երիտասարդական թիմը, և ընդգրկված չեն հիմնական թիմի ձեռքբերումների գրանցամատյանում։ Նույն սկզբունքը գործում է Իտալիայում։

[Հոդվածի մեկնաբանություններում Ռաֆան նշել է, որ իսպանական համակարգը ավելի լավն է, քան անգլիականը, քանի որ երիտասարդ խաղացողները չեն շրջում իրենց հասակակիցների հետ, նրանք խաղում են մեծահասակների ֆուտբոլ ցածր դիվիզիոններում, և, հետևաբար, շատ ավելի հեշտ է հասկանալ. նրանց մրցունակության մակարդակը բարձր մակարդակի վրա]

Չեմպիոնների լիգա

Կանոնների մեկ այլ փաթեթ, որը մենք միշտ պետք է հաշվի առնենք, դա Չեմպիոնների լիգայի հայտը կազմելիս մեր իսկ ուսանողների և տեղացիների ընդգրկումն է ցուցակում: Այս թիվը հասել է 4-ի «մարզվողներն իրենց ակադեմիայից» սյունակում, պահանջվում է նաև 4 տեղացի խաղացող։ Եթե ​​ֆուտբոլիստը մինչև 21-ամյակը լրանալը ակումբում անցկացրել է ավելի քան 3 տարի, ապա նա համարվում է իր աշակերտը։

Կրկին կան տարբերություններ. Մարզիչը գործ ունի միայն իր թիմի հետ, կազմը մարզական տնօրենի իրավասությունն է։ Բայց կառավարիչը պետք է ապագայի պլաններ կազմի: «Լիվերպուլում» մեզ տրված էր հետևյալ առաջադրանքը՝ արտերկրից բերել մի քանի երիտասարդ խաղացողների, ովքեր մինչև իրենց 21-ամյակը 3 տարեկան էին (Այալա, Պաչեկո, Ինսուա), այսպիսով, այն ժամանակվա կանոնների համաձայն՝ հետագայում նրանք. կհամարվեին մեր ուսանողները, ինչը կօգնի ակումբին գումար խնայել տրանսֆերների ու պայմանագրերի վրա, ինչպես նաև կընդգրկվեր Չեմպիոնների լիգայի հայտացուցակում։ Իսպանիայում և ընդհանրապես Եվրոպայում, որպես մարզիչ, հաջորդ տարիների պլանավորման գործընթացին ներգրավվում ես միայն այն դեպքում, եթե մի քանի տարի աշխատել ես և տիտղոսներ ես նվաճել: Քչերին է հաջողվում դա անել։

Ուղարկել ձեր լավ աշխատանքը գիտելիքների բազայում պարզ է: Օգտագործեք ստորև ներկայացված ձևը

Ուսանողները, ասպիրանտները, երիտասարդ գիտնականները, ովքեր օգտագործում են գիտելիքների բազան իրենց ուսումնառության և աշխատանքի մեջ, շատ շնորհակալ կլինեն ձեզ:

Տեղադրված է http://www.allbest.ru/ կայքում

Ուկրաինայի կրթության և գիտության նախարարություն

Չերնիգովի պետական ​​տեխնոլոգիական համալսարան

Տեղեկատվական և համակարգչային համակարգերի վարչություն

Ծրագրային համակարգ «Ֆուտբոլի առաջնություն»

Դասընթաց «Տվյալների բազաների կազմակերպում» առարկայից.

Ավարտված է

ուսանողներ գր. ԿԻ-104Ա.Գ. Վոյցեխովսկի

Ա.Գ. Դրախտ

Վերահսկող

Օգնական Մ.Վ. Խարչենկո

Չերնիգով 2013 թ

Շարադրություն

Դասընթացի աշխատանք, 86 էջ, նկ. 21, 9 աղբյուր, 2 հավելված:

Դասընթացի աշխատանքի մշակման նպատակն է իրականացնել այնպիսի հավելված, որը թույլ կտա աշխատել տվյալների բազայի հետ ինչպես thin client-ի, այնպես էլ desktop հավելվածի միջոցով։

Կիրառական մոդուլների նախագծման հիմնական մեթոդը UML դիագրամների օգտագործումն է: Այսպիսով, եթե լիցենզավորված ծրագրակազմը հասանելի լիներ, հնարավոր էր մշակված դասերը արտահանել Eclipse EE միջավայր:

Հավելվածը գրելու ընթացքում մշակվել և ստեղծվել են DAOTourFirma և ServiceTourFirma երկու գործարաններ՝ սուբյեկտների հետ աշխատելու համար։ ServiceTourFirma-ի օգնությամբ լրացուցիչ ներդրվեց բիզնես տրամաբանությունը։

Օգտագործվել է նաև Servlet և JSP կոնտեյներային տեխնոլոգիա։ Քանի որ սերվերները և JSP էջերը կանչվում են HTTP արձանագրության միջոցով, Servlet կոնտեյները և JSP կոնտեյները հաճախ ուղեկցվում են մեկ այլ բաղադրիչով՝ վեբ սերվերով, որը կարող է գրվել նաև Java-ով։

Որպես սերվեր օգտագործվել է Tomcat 6.0 սերվերը: Հավելվածը մշակվել է JDK 1.7 տարբերակի միջոցով:

Այս դասընթացի աշխատանքի ընթացքում տվյալների բազայի հետ աշխատելու համար օգտագործվել է PostgerSQL 9.0 DBMS: Ստեղծվել է տվյալների բազա, որը բաղկացած է 9 աղյուսակից։ Յուրաքանչյուր աղյուսակ ունի եզակի հիմնական բանալի որպես օտար բանալի: Սա աղյուսակի առկա տեղեկատվական դաշտերին ավելացված ծառայության լրացուցիչ դաշտ է, որի միակ նպատակը որպես հիմնական բանալի ծառայելն է: Այս դաշտի արժեքները չեն ձևավորվում տվյալների բազայի որևէ այլ տվյալների հիման վրա, այլ ստեղծվում են արհեստականորեն: Օտարերկրյա բանալիների հիմնական առավելությունն այն է, որ այն երբեք չի փոխվում, քանի որ այն տեղեկատվական աղյուսակի դաշտ չէ

Մշակման ընթացքում «Ֆուտբոլի առաջնություն» կորպորատիվ հավելվածը հասցվել է կայուն տարբերակի։ Մշակման արդյունքը ներկայացված է ծրագրային նախագծի տեսքով՝ տրված կուրսային աշխատանքի հավելվածում։

Գործելու համար կորպորատիվ հավելվածը պահանջում է նվազագույնը՝ 1024 ՄԲ օպերատիվ հիշողություն, առնվազն Atom 1100 ՄՀց պրոցեսոր և ցանկացած բրաուզեր: Օպերացիոն համակարգի պահանջները - Windows, Unix:

Աշխատանքի հետագա զարգացումը հնարավոր է նիստերի աշխատանքի բարելավման ուղղությամբ։

Շարադրություն

Դասընթացի աշխատանք, 86 էջ, 21 նկար, 9 տեքստ, 2 լրացում:

Մշակման առարկան կորպորատիվ ծրագիր է, որը թույլ է տալիս աշխատել տվյալների բազայի հետ ինչպես thin client-ի, այնպես էլ լրացուցիչ վեբ ծառայությունների հետ։

Ծրագրային մոդուլների նախագծման հիմնական մեթոդը UML վիքի-դիագրամներն են: Այս կերպ, եթե առկա է լիցենզավորված ծրագրակազմ, հնարավոր է դասի ընդլայնումներ արտահանել Eclipse EE:

Ծրագիրը գրելու ընթացքում առանձնացվել և ստեղծվել են DAOTourFirma և ServiceTourFirma երկու գործարաններ՝ սուբյեկտների հետ աշխատելու համար։ ServiceTourFirma-ի օգնությամբ համակողմանիորեն ներդրվեց բիզնես տրամաբանությունը։

Նույն տեխնոլոգիան կիրառվել է Servlet և JSP կոնտեյներների համար։ Քանի որ servlets և JSP էջերը հասանելի են HTTP արձանագրության միջոցով, Servlet կոնտեյները և JSP կոնտեյները հաճախ ուղեկցվում են մեկ այլ բաղադրիչով՝ վեբ սերվերով, որը կարող է գրվել նաև Java-ով:

Սերվերը պարունակում է Tomcat 6.0 սերվեր: Ծրագիրը բաժանվել է JDK 1.7 տարբերակի բաղադրիչների:

Այս դասընթացի աշխատանքի ընթացքում տվյալների բազայի հետ աշխատելու համար օգտագործվել է PostgerSQL 9.0 DBMS: Ստեղծվել է տվյալների բազա՝ 9 աղյուսակներ ձևավորելու համար։ Յուրաքանչյուր աղյուսակ ունի եզակի հիմնական բանալին և արտաքին է: Այս լրացուցիչ ծառայության դաշտը, որն ավելացվել է աղյուսակի արդեն գոյություն ունեցող տեղեկատվական դաշտերին, ունի մեկ նպատակ՝ ծառայել որպես առաջնային բանալի: Այս դաշտի արժեքները չեն ստեղծվում տվյալների բազայի որևէ այլ տվյալների հիման վրա, այլ ստեղծվում են անհատապես: Արտաքին բանալիի հիմնական առավելությունն այն է, որ այն ընդհանրապես չի փոխվում, քանի դեռ այն աղյուսակի տեղեկատվական դաշտ չէ:

Մշակման ընթացքում «Ֆուտբոլի առաջնություն» կորպորատիվ ծրագիրը դադարեցվեց և հասցվեց կայուն թողարկման մակարդակի։ Մշակման արդյունքը ներկայացվում է ծրագրային նախագծի տեսքով, որն ավելանում է կուրսային աշխատանքին։

Իր աշխատանքի համար կորպորատիվ ծրագրին կպահանջվի նվազագույնը՝ 1024 ՄԲ օպերատիվ հիշողություն, Atom 1100 ՄՀց-ից ոչ ցածր պրոցեսոր և ցանկացած բրաուզեր: Հասանելի է օպերացիոն համակարգի համար՝ Windows, Unix:

Նախագծի հետագա զարգացումը հնարավոր է սեանսներով ավելի բարդ աշխատանքի ուղղությամբ։

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

Աբստրակտ

Դասընթացի նախագիծ, 86 էջ, Նկ.21, 9 աղբյուր, հավելվածի 2:

Նպատակը ծրագիր մշակելն է, որը հնարավորություն կտա աշխատել տվյալների բազայի հետ, ինչպես thin client-ի կամ desktop հավելվածի միջոցով:

Կիրառական մոդուլների նախագծման հիմնական մեթոդը - օգտագործել UML - դիագրամներ: Այսպիսով, եթե հնարավոր լիներ մշակել ծրագրակազմ՝ Eclipse EE միջավայրում դասերը արտահանելու համար:

Հայտերի գրման ընթացքում մշակվել և հիմնվել են երկու գործարաններ՝ DAOTourFirma և ServiceTourFirma՝ սուբյեկտների հետ աշխատելու համար: ServiceTourFirma-ի հետ հետագայում ներդրվել է բիզնես տրամաբանությունը:

Դասընթացի ընթացքում տվյալների բազայի շահագործման համար օգտագործվել է DBMS PostgerSQL 9.0: Տվյալների բազա, որը բաղկացած է 9 աղյուսակից։ Յուրաքանչյուր աղյուսակում եզակի հիմնական բանալին արտաքին է: Սա կամընտիր սպասարկման դաշտ է՝ ավելացված աղյուսակի արդեն գոյություն ունեցող տեղեկատվական դաշտերին, որի միակ նպատակը որպես հիմնական բանալի ծառայելն է։ Այս դաշտի արժեքները չեն ձևավորվում տվյալների բազայի որևէ այլ տվյալների հիման վրա և ստեղծվում են արհեստականորեն: Արտաքին բանալիի հիմնական առավելությունն այն է, որ այն երբեք չի փոխվում, քանի որ այն տեղեկատվական աղյուսակի դաշտ է:

Նաև կիրառվել է տեխնոլոգիան և Servlet-JSP-կոնտեյներ: Քանի որ սերվերլեթերը և jsp-էջերը կանչվում են HTTP- արձանագրության միջոցով, Servlet-JSP-կոնտեյները և կոնտեյները հաճախ ուղեկցվում է մեկ այլ բաղադրիչով՝ վեբ-սերվերով, որը կարող է գրվել նաև Java-ով:

Ձեռնարկությունների հավելվածների մշակման ընթացքում ստացվել են «Ֆուտբոլի չեմպիոն» բետա մակարդակի: Կուրսային աշխատանքի հավելվածում պարունակվող ծրագրային նախագծի ձեւի մշակման արդյունքը.

Իր կորպորատիվ կիրառման համար պահանջվում է նվազագույնը՝ 1024 ՄԲ օպերատիվ հիշողություն, պրոցեսորը 1100 ՄՀց-ից ցածր Atom չէ և բրաուզեր: Օպերացիոն համակարգի պահանջները՝ Windows, Unix:

Սեսիայի հետ աշխատանքը բարելավելու համար հնարավոր է հետագա զարգացման աշխատանքներ:

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

Ներածություն

1. Լուծվող խնդրի վերլուծություն

1.1 Դոմենի վերլուծություն

1.2 Համակարգի նպատակներն ու խնդիրները

1.3 Համակարգի նպատակը

1.4 Համակարգի պահանջներ

2. Դիզայն

2.1 Համակարգի զարգացման գործիքների ընտրություն

2.1.1 Տվյալների բազայի սերվեր

2.1.2 Համակարգի ներդրման տեխնոլոգիաներ

2.2 Համակարգի ճարտարապետության նախագծում

2.2.1 Բիզնեսի տրամաբանության և բիզնես կանոնների շերտի ձևավորում

2.2.2 Տվյալների հասանելիության շերտի նախագծում

2.2.3 Ցուցադրման շերտի ձևավորում

3. Զարգացում

3.1 Համակարգի տվյալների բազայի մշակում

3.1.1 Նախագծել տվյալների բազայի սխեման

3.1.2 Տվյալների ամբողջականության ապահովում

3.1.3 Հիմնական հարցումների մշակում

3.1.4 Դերերի ստեղծում, ինդեքսների և դիտումների ընտրություն

3.1.5 Պահպանված ընթացակարգերի և գործարկիչների մշակում

3.1.6 Տվյալների պաշտպանության կազմակերպում

3.1.7 Օբյեկտ-հարաբերական քարտեզագրում

3.2 Համակարգային մոդուլների մշակում

3.2.1 Բիզնես տրամաբանության և բիզնես կանոնների շերտի մոդուլների մշակում

3.2.2 Տվյալների հասանելիության շերտի մոդուլների մշակում

3.2.3 Սպասարկման շերտի մոդուլների մշակում

3.2.4 Ցուցադրման շերտի մոդուլների մշակում

Օգտագործված աղբյուրների ցանկը

Ներածություն

Ներկայումս համակարգիչները և ինտերնետ տեխնոլոգիաները լայն տարածում են գտել մարդկային գործունեության բոլոր ոլորտներում։ Համակարգչային տեխնոլոգիաների կիրառումը պայմանավորված է նրանով, որ այն զգալիորեն հեշտացնում է մարդու աշխատանքը՝ միաժամանակ արագացնելով առաջադրանքը կատարելու համար պահանջվող ժամանակը և մեծացնելով արդյունքի հուսալիությունը: Քանի որ համակարգչային տեխնոլոգիան գործում է ծրագրային հսկողության ներքո, դրա ֆունկցիոնալությունը կախված է օգտագործվող ծրագրաշարից: Այդ իսկ պատճառով ստեղծվում են տարբեր բարձր մասնագիտացված կորպորատիվ հավելվածներ։

Տվյալների բազայի (DB) նախագծումը ամենաբարդ և կարևոր խնդիրներից մեկն է, որը կապված է ձեռնարկության հավելված ստեղծելու հետ: Որոշման արդյունքում պետք է որոշվեն տվյալների բազայի բովանդակությունը, դրա բոլոր ապագա օգտագործողների համար տվյալների կազմակերպման արդյունավետ միջոցը և տվյալների կառավարման գործիքները: Տվյալների բազայի նախագծման հիմնական նպատակն է նվազեցնել պահված տվյալների ավելորդությունը և, հետևաբար, խնայել օգտագործված հիշողության քանակը, նվազեցնել ավելորդ պատճենների բազմակի թարմացման գործողությունների արժեքը և վերացնել նույն օբյեկտի մասին տեղեկատվության տարբերում պահելու պատճառով անհամապատասխանությունների հնարավորությունը: տեղերը.

Ձեռնարկությունների հավելվածը ծրագրային ծրագիր է, որը նախատեսված է մեծ ծավալի տվյալներ կառավարելու և դրանք բիզնեսի կանոնների համաձայն մշակելու համար, ինչը թույլ է տալիս որոշակի օգուտներ բերել կորպորացիային (ձեռնարկությանը), երբ դրանք իրականացվեն:

Ձեռնարկությունների հավելվածները չեն ներառում տեքստի մշակման գործիքներ, վառելիքի սպառման վերահսկում մեքենայի շարժիչում, վերելակային և հեռախոսային կայանների սարքավորումների կառավարում, քիմիական գործընթացների ավտոմատ կառավարում, ինչպես նաև օպերացիոն համակարգեր, կոմպիլյատորներ, խաղեր և այլն: Ձեռնարկությունների հավելվածը սովորաբար պահանջում է տվյալների երկարաժամկետ (երբեմն տասնամյակներ) պահեստավորում: Տվյալները հաճախ կարող են գոյատևել մշակող հավելվածների, սարքավորումների, օպերացիոն համակարգերի և կոմպիլյատորների մի քանի սերունդներ:

Մի քանի օգտվողներ զուգահեռաբար մուտք են գործում տվյալներ: Որպես կանոն, դրանց թիվը չի գերազանցում հարյուրը, սակայն վեբ միջավայրում տեղակայված համակարգերի համար այս ցուցանիշը մեծանում է մի քանի կարգով:

Մեծ ծավալի տվյալների համար հավելվածը պետք է ապահովի հարուստ ինտերֆեյս:

Ձեռնարկությունների հավելվածները հազվադեպ են լինում առանձին: Նրանք սովորաբար պահանջում են ինտեգրում այլ համակարգերի հետ, որոնք կառուցված են տարբեր ժամանակներում՝ օգտագործելով տարբեր տեխնոլոգիաներ:

Ձեռնարկությունների հավելվածները սովորաբար բարդ ծրագրային համակարգեր են .

1. Լուծվող խնդրի վերլուծություն

1.1 Դոմենի վերլուծություն

Ֆուտբոլի առաջնությունը ֆուտբոլային մրցում է։ Այս տեսակի մրցույթն անցկացվում է ամեն տարի։ Առաջնության ընթացքում տարբեր թիմերի միջեւ տեղի են ունենում հանդիպումներ, որոնց արդյունքները գրանցվում են որոշակի որակավորման փուլի մրցաշարային աղյուսակում։ Առաջնության հաջորդ քայլը եզրափակիչ փուլի անցկացումն է, ընտրական փուլերի հաղթողներից կազմվում է մասնակից թիմերի ցուցակը։ Երբ կանցկացվեն եզրափակիչ փուլի բոլոր հանդիպումները՝ ելնելով վաստակած միավորների քանակից, կարող է որոշվել առաջնության հաղթողը։

Ֆուտբոլի առաջնությունը զանգվածային միջոցառում է, որն իր հերթին վկայում է դրա անցումը համակարգող որոշակի ներքին մեխանիզմ ունենալու անհրաժեշտության մասին։ Այսպիսով, մենք կարող ենք բացահայտել բարձրագույն գործադիր մարմինը՝ գործկոմը, որն իր վրա է վերցնում առաջնության կազմակերպման և անցկացման ողջ պատասխանատվությունը։ Այն բաղկացած է առաջնության նախագահից և այլ անդամներից, որոնք ընտրվում են Կոնգրեսի (որոշակի ֆուտբոլային ասոցիացիայի բարձրագույն կառավարող մարմին) կողմից։ Համագումարն անցկացվում է ամեն տարի։ Գործադիր կոմիտեն կարող է նախաձեռնել Երկրորդ սովորական համագումար, որը կզբաղվի ֆինանսական և/կամ ավելի կարևոր հարցերով:

Կոնգրեսի կողմից ընտրված նախագահի և գործադիր կոմիտեի անդամների պաշտոնավարման ժամկետը որոշակի տարի է։ Գործկոմի բոլոր անդամները կարող են վերընտրվել։ Չեն կարող ընտրվել կամ վերընտրվել միայն այն պաշտոնյաները, ովքեր մեծ տարիքի են: Եթե ​​գործադիր կոմիտեում մի տեղ թափուր դառնա, հաջորդ սովորական համագումարը նրան փոխարինող կընտրի մինչև գործող պաշտոնավարման ժամկետի ավարտը։ Եթե ​​գործկոմի անդամի պաշտոնավարման վերջին տարում մի տեղ թափուր է մնում, փոխարինող չի ընտրվում։

Նախագահի և Գործադիր կոմիտեի անդամների լիազորությունների ժամկետը սկսվում է Համագումարի ավարտից, որում նրանք ընտրվում են, և ավարտվում է Կոնգրեսի ավարտին, որի ժամանակ ընտրվում է նրա իրավահաջորդը: Գործկոմի չորս տարով կնոջ նշանակումը կատարվում է գործկոմի հիմնադիր ժողովում։

Գործադիր կոմիտեն իրավասու է հաստատել կանոնակարգ և որոշումներ կայացնել իր իրավասությունից դուրս գտնվող բոլոր հարցերի վերաբերյալ: Գործադիր կոմիտեն ղեկավարում է որոշակի ֆուտբոլային միության գործունեությունը, բացառությամբ այն դեպքերի, երբ գործադիր կոմիտեն լիազորություններ է պատվիրակել, կամ դրանք պատվիրակվել են կանոնադրությամբ, ֆուտբոլային միության նախագահին կամ վարչակազմին:

Գործադիր կոմիտեն կարող է որոշումներ պատրաստելու և իրականացնելու կամ որոշակի գործեր վարելու պարտականությունները պատվիրակել իր անդամներից մեկին կամ մի քանիսին: Գործադիր կոմիտեն իրավասու է նաև լիազորությունները՝ մասամբ կամ ամբողջությամբ, փոխանցելու Նախագահին, նրա անդամներից մեկին կամ մի քանիսին և/կամ վարչակազմին։

Սովորաբար, Գործադիր կոմիտեն նիստեր է ունենում երկու ամիսը մեկ՝ Նախագահի կանչով: Նախագահը կարող է նաև երրորդ անձանց հրավիրել գործադիր կոմիտեի նիստին՝ որպես խորհրդատուներ։

1.2 Համակարգի նպատակներն ու խնդիրները

Ֆուտբոլի առաջնության համակարգի նպատակն է ավտոմատացնել առաջնությունների անցկացման գործընթացը։ Այս հավելվածը տեղեկատվական է. այն թույլ է տալիս ավտոմատացնել հաղթանակների, պարտությունների և ոչ-ոքիների քանակի հաշվարկը, ինչպես նաև միավորներ շնորհել թիմերին՝ խաղի արդյունքներին համապատասխան (3 միավոր՝ հաղթանակ, 2՝ ոչ-ոքի, 1։ - կորուստ): Հավելվածը թույլ է տալիս ավելացնել նոր, ջնջել և փոխել մրցաշարային աղյուսակի տվյալները՝ օգտագործելով մուտքային/ելքային ձևերը: Հնարավոր է դիտել տվյալներ աշխատակիցների և թիմերի մասին, ինչպես նաև դիտել լավագույն 10 թիմերը և ընթացիկ օրը կայացած խաղերի արդյունքները:

1.3 Համակարգի նպատակը

Այս դասընթացի նախագծի շրջանակներում մշակվող «Ֆուտբոլի առաջնություն» համակարգը նախատեսված է բոլոր օգտատերերի համար, ովքեր հետաքրքրված են խաղերի արդյունքներով: Թույլտվությունը մեր համակարգում համօգտագործված չէ: Հյուրը կարող է չմուտք գործել, այլ պարզապես մտնել և դիտել տեղեկատվությունը առաջնության մասին: Կառավարիչը, նախագահը և ադմինիստրատորը պետք է մուտքագրեն անձնական տվյալները համակարգում նույնականացման համար: Անձնական տվյալներ նշանակում են մուտք և գաղտնաբառ: Այն բանից հետո, երբ օգտագործողը հաստատում է մուտքագրված տվյալները, ծրագրային համակարգը ստուգում է դրանց ճշմարտացիությունը: Նախ ստուգվում է մուտքը, եթե այն չի գտնվել տվյալների բազայում, համակարգը ցուցադրում է հաղորդագրություն, որում նշված է, որ այդ անունով օգտվող գոյություն չունի: Եթե ​​անունը ճիշտ է, գաղտնաբառի ստուգման գումարը ստուգվում է: Եթե ​​այն չի համընկնում, ապա գաղտնաբառը սխալ է: Համակարգի ավելի մեծ անվտանգության համար ստուգիչ գումարը հաշվարկելուց հետո ամբողջ գաղտնաբառը ստուգվում է համապատասխանելու համար: Եթե ​​մուտքն ու գաղտնաբառը իսկական են և տեղին և արժեք-բանալի զույգ են, ապա օգտվողը մտնում է համակարգ և նրան շնորհվում է նախագահի, ադմինիստրատորի կամ մենեջերի կարգավիճակ:

Նկար 1.1-ը ցույց է տալիս առաջնության նախագահի դերի օգտագործման դեպքերի դիագրամը

Գծապատկեր 1.1 - Առաջնության նախագահի դերի օգտագործման դեպքերի դիագրամ

Մուտք գործելուց հետո նախագահն ունի հետևյալ տարբերակները՝ անձնակազմի կառավարում և բյուջետավորում։

«Մարդկային ռեսուրսների կառավարում»-ի օգտագործման դեպքը ներառում է նոր աշխատակցի մասին գրառում ավելացնելը, ինչպես նաև, երբ աշխատողը հեռանում է, ջնջելով համապատասխան գրառումը: Ստեղծել բյուջեի օգտագործման դեպքը ներառում է աշխատավարձի գրառումների ավելացում և ջնջում:

Նկար 1.2-ը ցույց է տալիս ադմինիստրատորի դերի օգտագործման դեպքերի դիագրամը

Նկար 1.2 - Ադմինիստրատորի դերի օգտագործման դեպքերի դիագրամ

Մուտք գործելուց հետո ադմինիստրատորն ունի հետևյալ տարբերակները՝ կառավարել հաշիվները և ստուգել հաղորդագրությունը տվյալների բազայում։

«Կառավարել հաշիվների» օգտագործման դեպքը ունի հետևյալ սցենարը. Եթե սա նոր օգտվող է ավելացնում, ապա լրացրեք համապատասխան բանաձևը և պահպանեք փոփոխությունները. եթե սա օգտատիրոջ փոփոխություն կամ ջնջում է, ապա նախ պետք է այն գտնել տվյալների բազայում, ջնջվելու դեպքում ոչնչացնել օգտատիրոջ մասին տվյալները, եթե փոխվել է՝ ուղղել և պահպանել։

Նկար 1.3-ը ցույց է տալիս կառավարչի դերի օգտագործման դեպքերի դիագրամը:

Նկար 1.3 - Օգտագործեք դեպքերի դիագրամ կառավարչի դերի համար

Մուտք գործելուց հետո Կառավարիչն ունի հետևյալ ընտրանքները՝ լրացնել, ջնջել կամ դիտել աղյուսակի գրառումները:

Նկար 1.4-ը ցույց է տալիս Հյուրի դերի օգտագործման դեպքերի դիագրամը:

Նկար 1.4 - Հյուրի դերի օգտագործման դեպքերի դիագրամ

Հավելվածը ներբեռնելուց հետո հյուրը կարող է դիտել մրցաշարային աղյուսակը, տեղեկություններ իմանալ հանդիպումների և թիմերի մասին:

1.4 Համակարգի պահանջները

Այս կուրսային աշխատանքի շրջանակներում մշակված «Ֆուտբոլի առաջնություն» համակարգը պետք է գործի հետևյալ օբյեկտներով՝ երկիր, խաղ, աշխատակից, մրցաշար: Անհրաժեշտ է այնպիսի համակարգ մշակել, որում օգտատերը կկարողանա գրանցել և փոփոխել անհրաժեշտ տեղեկատվությունը:

Որոշակի սահմանափակումներ են դրվում համակարգի օբյեկտների և օբյեկտների միջև փոխազդեցության կանոնների վրա, որոնց ամբողջությունը կոչվում է բիզնես տրամաբանություն։

Համակարգի բիզնես տրամաբանության համաձայն՝ անհրաժեշտ է իրականացնել՝ թիմերին միավորների ավտոմատ շնորհում՝ կախված տվյալ խաղում հաղթանակից, պարտությունից կամ ոչ-ոքիից:

2. Դիզայն

2.1 Համակարգի զարգացման գործիքների ընտրություն

Այս պահին կընտրվի տվյալների բազայի սերվերը, որի միջոցով օգտատերը կշփվի տվյալների բազայի հետ, կընտրվի նաև համակարգի ներդրման տեխնոլոգիան և ճարտարապետությունը։

2.1.1 Տվյալների բազայի սերվեր

Այս պահին կան տվյալների բազայի մեծ թվով սերվերներ, ինչպիսիք են՝ MySQL, PostgreSQL, Microsoft Access և այլն:

PostgreSQL-ը տվյալների բազայի կառավարման օբյեկտ-հարաբերական համակարգ է, որը գործում է որպես հաճախորդ-սերվեր համակարգ: Հիմնվելով հարաբերական տվյալների բազաների հիմնական հասկացությունների վրա՝ PostgreSQL-ն աջակցում է նաև մի շարք «օբյեկտների» գործողություններ, օրինակ՝ ժառանգություն: PostgreSQL-ը համապատասխանում է SQL99 հիմնական բնութագրին և աջակցում է SQL92 ստանդարտում նկարագրված բազմաթիվ հատկանիշներին:

Oracle-ը մի փոքր գերազանցում է PostgreSQL-ին այնպիսի ոլորտներում, ինչպիսիք են ինդեքսների օգտագործումը, տվյալների վերարտադրումը և վերականգնումը, և ընդհանրապես կառավարման գործիքները: Oracle-ն ավելի առաջադեմ է (բայց նաև ավելի բարդ): Մյուս կողմից, PostgreSQL-ը հնարավորություն է տալիս օգտագործել PL/Perl, PL/Python, PL/Tcl՝ որպես ընթացակարգային լեզու, որը թույլ է տալիս մշակողին ընտրել ավելի ծանոթ գործիք։

MySQL-ում յուրաքանչյուր աղյուսակ մուտքագրվում է իր սեփական ֆայլը (շտեմարանների տեսակների մեծ մասի համար)՝ կազմակերպելով մեկ ֆայլի կառուցվածք։

MySQL-ում շեշտը դրվում է տվյալների ընթերցման (նմուշառման) լավագույն արագության վրա, ինչը բացատրում է այս DBMS-ի ժողովրդականությունը վեբ մշակողների շրջանում, որտեղ նմուշառումը հիմնական գործողությունն է: Սա ձեռք է բերվում գործարքների բացակայությամբ (դրանք իրականացվում են միայն որոշ տեսակի աղյուսակների համար, օրինակ՝ InnoDB, BerkleyDB) և բազմաշերտ գործառնությամբ, բայց սա նաև այս DBMS-ի փոքր-ինչ ցածր հուսալիության պատճառն է: Թույլտվությունների առումով MySQL-ը թույլ է տալիս թույլտվություններ սահմանել ոչ միայն աղյուսակի, այլ նաև սյունակի մակարդակում, սակայն PostgreSQL-ում դա փոխհատուցվում է հատուկ դիտումներ ստեղծելու ունակությամբ։

Apache Derby-ն տվյալների բազայի հարաբերական կառավարման համակարգ է՝ գրված Java-ով, որը նախատեսված է Java հավելվածներում ներկառուցելու կամ իրական ժամանակում գործարքները մշակելու համար: Սկավառակի վրա զբաղեցնում է 2 ՄԲ: Apache Derby-ն մշակված է որպես բաց կոդով և տարածվում է Apache 2.0 լիցենզիայի պայմաններով: Դերբին նախկինում հայտնի էր որպես IBM Cloudscape: Sun-ը բաժանում է նույն երկուականները Java DB անվան տակ:

Այս դասընթացի աշխատանքում օգտագործվել է PostgreSQL - տվյալների բազաներ, որոնք պահանջում են տեղեկատվության պահպանման բարձր աստիճանի հուսալիություն, ունեն բոլոր փոփոխությունները ստուգելու պահանջները, անհրաժեշտություն ունեն ավտոմատ կերպով կարգավորել մեծ թվով տվյալներ, երբ տեղեկատվությունը փոխվում է աղյուսակներից մեկում. ինչպես նաև առաջադրանքներ, որոնք պահանջում են ոչ տրիվիալ լուծումներ մշակելու ունակություն, ոչ ստանդարտ օպերատորների օգտագործում և այլն:

2.1.2 Համակարգի ներդրման տեխնոլոգիաներ

JSP (JavaServer Pages) տեխնոլոգիա է, որը թույլ է տալիս վեբ մշակողներին հեշտությամբ ստեղծել բովանդակություն, որն ունի և՛ ստատիկ, և՛ դինամիկ բաղադրիչներ: Ըստ էության, JSP էջը տեքստային փաստաթուղթ է, որը պարունակում է երկու տեսակի տեքստ՝ ստատիկ աղբյուրի տվյալներ, որոնք կարող են ձևաչափվել HTML, SVG, WML կամ XML տեքստային ձևաչափերից մեկով և JSP տարրեր, որոնք կառուցում են դինամիկ բովանդակություն: Բացի այդ, JSP պիտակների գրադարանները, ինչպես նաև EL-ը (Expression Language), կարող են օգտագործվել JSP էջերի ստատիկ բովանդակության մեջ Java կոդը ներդնելու համար:

JSP-ն բարձր կատարողական տեխնոլոգիաներից մեկն է, քանի որ էջի ամբողջ կոդը թարգմանվում է servlet java կոդի՝ օգտագործելով Jasper JSP էջի կոմպիլյատորը, այնուհետև կոմպիլացվում է java վիրտուալ մեքենայի (JVM) բայթկոդի մեջ: Servlet կոնտեյներները, որոնք ունակ են գործարկել JSP էջերը, գրված են Java-ով, որոնք կարող են աշխատել տարբեր հարթակներում։ JSP էջերը բեռնվում են սերվերի վրա և կառավարվում են Java EE Web Application կոչվող հատուկ Java սերվերի փաթեթի կառուցվածքից, որը հիմնականում փաթեթավորված է .war և .ear ֆայլերի արխիվներում:

JSP տեխնոլոգիայի առավելությունը այլ վեբ տեխնոլոգիաների նկատմամբ այն է, որ JSP-ն հարթակից անկախ, շարժական և հեշտությամբ ընդարձակվող տեխնոլոգիա է վեբ հավելվածների մշակման համար:

JSP 2.0-ը JSP-ի հստակեցման նոր տարբերակ է, որն ավելացվել է ֆունկցիոնալությամբ, որը մեծացնում է ծրագրավորողի աշխատանքի արագությունը: Այսինքն:

– Արտահայտման լեզու (EL) – արտահայտման լեզու, որը թույլ է տալիս ծրագրավորողներին, ի թիվս այլ բաների, ստեղծել Velocity ոճի ձևանմուշներ;

– .tag ֆայլերի միջոցով նոր պիտակներ ստեղծելու ավելի հեշտ և արագ միջոց, այժմ ձեզ հարկավոր չէ Java-ն իմանալ նոր թեգեր ստեղծելու համար.

– հարմար միջոց է կառավարել nested լոբի (JavaBeans);

– փոփոխական պարամետրերը ցուցադրելու ավելի արագ և հեշտ միջոց:

Serverlet-ը Java ինտերֆեյս է, որի իրականացումը ընդլայնում է սերվերի ֆունկցիոնալությունը: Serverlet-ը փոխազդում է հաճախորդների հետ՝ օգտագործելով հարցում-պատասխան սկզբունքը:

Թեև սերվերները կարող են սպասարկել ցանկացած հարցում, դրանք սովորաբար օգտագործվում են վեբ սերվերները ընդլայնելու համար: Նման հավելվածների համար Java Servlet տեխնոլոգիան սահմանում է HTTP-ին հատուկ սերվերլետի դասեր։

JSTL (JavaServer Pages Standard Tag Library) - անգլերենից թարգմանվել է որպես «JSP ստանդարտ պիտակների գրադարան»: Այն ընդլայնում է JSP-ի հստակեցումը` ավելացնելով JSP պիտակների գրադարան ընդհանուր կարիքների համար, ինչպիսիք են XML վերլուծությունը, պայմանական մշակումը, շրջադարձը և միջազգայնացման աջակցությունը: JSTL-ը JSR 52-ի վերջնական արդյունքն է, որը մշակվել է JCP-ի (Java Community Process) շրջանակներում:

JSTL-ը JSP-ում ներկառուցված այս տիպի տրամաբանության այլընտրանքն է, ինչպիսիք են scriptlets-ը, այսինքն՝ Java կոդի ուղղակի ներդիրները: Նախընտրելի է պիտակների ստանդարտացված հավաքածուի օգտագործումը, քանի որ ստացված կոդը ավելի հեշտ է պահպանել, և ավելի հեշտ է առանձնացնել բիզնես տրամաբանությունը ցուցադրման տրամաբանությունից:

Java Persistence API (JPA) – Java 5-ի հետ ներառված API Java SE և Java EE հարթակներում, ապահովում է Java-ի օբյեկտները տվյալների բազայում հարմար պահելու հնարավորություն:

Այս ինտերֆեյսի մի քանի իրականացում կա, որոնցից ամենահայտնիներից մեկը օգտագործում է Hibernate-ը դրա համար:

Տվյալների ամբողջականության աջակցությունը տրամադրվում է JPA, ընդգրկում է ոլորտները.

– ուղղակիորեն API-ն, որը նշված է javax.persistence փաթեթում;

– հարթակից անկախ օբյեկտի վրա հիմնված հարցման լեզու Java Persistence Query Language;

- մետա-ինֆորմացիա, որը նկարագրում է առարկաների միջև փոխհարաբերությունները.

– կազմակերպությունների համար DDL-ի ստեղծում:

2.2 Համակարգի ճարտարապետության նախագծում

շերտի տվյալների բազայի մոդուլի սերվիլետ

Համակարգի ճարտարապետությունը կլինի նույնը, ինչ ցույց է տրված վերլուծության մեջ (Նկար 1.1) և խնդրի լուծման մեթոդները:

Ինտեգրման շերտի (տվյալների աղբյուրի շերտ) դերը կայանում է նրանում, որ հավելվածին հնարավորություն ընձեռվի փոխազդել ենթակառուցվածքի տարբեր բաղադրիչների հետ՝ անհրաժեշտ գործառույթները կատարելու համար: Այս խնդրի հիմնական բաղադրիչը կապված է տվյալների բազայի հետ երկխոսության պահպանման հետ՝ շատ դեպքերում հարաբերական: Հարաբերական համակարգերի հաջողության ամենամեծ պատճառներից մեկը նրանց աջակցությունն է SQL-ին՝ տվյալների բազայի հաղորդակցման ամենաստանդարտացված լեզվին:

Ինտեգրման շերտի ներդրման ձևը կախված է տվյալների բազայի հետ բիզնես տրամաբանության փոխազդեցությունից: Այս փուլում կատարված ընտրությունները հեռուն գնացող հետևանքներ ունեն և կարող են դժվար կամ նույնիսկ անհնար լինել հետադարձել:

Հետեւաբար, այն արժանի է առավել զգույշ դիտարկման: Հաճախ նման որոշումները որոշում են բիզնես տրամաբանության դասավորության տարբերակները:

Ավելի խելամիտ է SQL կոդը առանձնացնել բիզնես տրամաբանությունից՝ տեղադրելով այն հատուկ դասերի մեջ։ Նման դասեր կազմակերպելու լավ միջոց է տվյալների բազայի յուրաքանչյուր օբյեկտի կառուցվածքը «պատճենել» առանձին դասի մեջ, որը ձևավորում է դարպաս, որն աջակցում է սեղանի մուտքի հնարավորություններին։ Այժմ հիմնական հավելվածի կոդը կարիք չունի որևէ բան «իմանալ» SQL-ի մասին, և SQL-ի բոլոր գործողությունները կենտրոնացված են դասերի կոմպակտ խմբում: Ավելի լավ տարբերակ է տիրույթի մոդելը տվյալների բազայից մեկուսացնելը՝ միջին ծրագրակազմին տալով ամբողջ պատասխանատվությունը տիրույթի օբյեկտները տվյալների բազայի օբյեկտներին քարտեզագրելու համար: Տվյալների նման փոխարկիչը կատարում է բիզնես տրամաբանությամբ նախաձեռնված տեղեկատվության բեռնման և պահպանման բոլոր գործողությունները և թույլ է տալիս ինքնուրույն փոփոխել ինչպես տիրույթի մոդելը, այնպես էլ տվյալների բազայի սխեման: Սա ճարտարապետական ​​լուծումներից ամենաբարդն է, որն ապահովում է համապատասխանությունը կիրառական օբյեկտների և հարաբերական կառույցների միջև, սակայն դրա անհերքելի առավելությունը երկու շերտերի ամբողջական բաժանումն է:

Այսօր Java-ի մշակողները կարող են օգտվել գոյություն ունեցող գործիքներից՝ սերիալացում, օբյեկտ-հարաբերական քարտեզագրման գործիքներ, օբյեկտների տվյալների բազաներ և EJB-ներ: Այս գործիքներից յուրաքանչյուրն ունի իր կիրառման ոլորտները և, հետևաբար, որոշ թերություններ: JDO-ն վերացնում է այս թերությունները և ապահովում է ավելի մեծ թափանցիկություն:

Սերիալացում. Ներկառուցված Java շարժիչ, որը փոխակերպում է առարկաները բայթերի հաջորդականության, որոնք կարող են պահպանվել ֆայլում կամ փոխանցվել ցանցի միջոցով: Սերիալիզացիան շատ հեշտ է օգտագործել, բայց նաև շատ սահմանափակ: Սերիականացում օգտագործելիս օբյեկտը պահվում է որպես մեկ ամբողջություն: Այն չի աջակցում գործարքներին կամ միևնույն սերիականացված օբյեկտի օգտագործումը տարբեր շղթաներում կամ ծրագրերում՝ առանց դրանց միջև հակասությունների.

Օբյեկտ-հարաբերական քարտեզագրում (JPA): JPA-ն նոր տեխնոլոգիա չէ, այլ գաղափարների հավաքածու լավագույն հասանելի տեխնոլոգիաներից, ինչպիսիք են Hibernate-ը, TopLink-ը և JDO-ն: Արդյունքում, JPA-ն J2EE5-ում ներառված ստանդարտացված մասնաբաժին է, որը թույլ է տալիս տվյալների կայունության շերտը կառուցվել որևէ կոնկրետ մատակարարից անկախ: Նրանք. JPA-ի հստակեցման բազմաթիվ իրականացումներ կարող են լինել, դրանցից մեկը, օրինակ, OpenJPA շրջանակն է կամ նույն Hibernate-ը:

Օբյեկտների տվյալների բազաներ. Օբյեկտների տվյալների բազաները հատուկ նախագծված էին օբյեկտները պահելու և ամբողջությամբ տեղավորելու օբյեկտի վրա հիմնված ծրագրավորման հայեցակարգում: Օբյեկտների տվյալների բազայի կառավարման խումբը (ODMG) ստեղծվել է մեկ API մշակելու համար՝ նման տվյալների բազաների հետ աշխատելու համար: Այնուամենայնիվ, տվյալների բազայի շատ վաճառողներ դեռ տատանվում են լավ կայացած հարաբերական համակարգից օբյեկտի վրա հիմնված համակարգից անցնելու հարցում: Նաև տվյալների վերլուծության ավելի քիչ գործիքներ հասանելի են օբյեկտների տվյալների բազաների համար, և շատ մեծ քանակությամբ տվյալներ արդեն պահվում են հարաբերական տվյալների բազաներում: Այս և շատ այլ պատճառներով օբյեկտների տվյալների շտեմարաններն այնքան լայն կիրառություն չեն գտել, որքան ակնկալում էին դրանց ստեղծողները.

Enterprise Java Beans (EJBs). EJB-ները բաղադրիչներ են, որոնք պահում են իրենց վիճակը հարաբերական տվյալների բազայում և ապահովում են մշտական ​​տվյալների օբյեկտի վրա հիմնված ցուցադրում: Ի տարբերություն օբյեկտ-հարաբերական քարտեզագրման արտադրանքների, EJB-ներն ունեն կոշտ առանձնահատկություն, ինչը հնարավորություն է տալիս օգտագործել տարբեր վաճառողների արտադրանքը: Ցավոք սրտի, EJB ստանդարտը սահմանափակ է իր օբյեկտային կողմնորոշմամբ: Նրանք չեն աջակցում ժառանգությանը, պոլիմորֆիզմին և այլն: EJB բաղադրիչները նույնպես մեծ ջանք են պահանջում գրելու համար և հաճախ պահանջում են հատուկ ծրագրակազմ դրանք գործարկելու համար:

Այսօր կան տարբեր շրջանակներ, որոնք օգտագործում են այս ծրագրավորման տեխնիկան: Ահա դրանցից մի քանիսը.

Ձմեռել, iBATIS, Java Data Objects (JDO), JPOX, Cayenne, TopLink, JPA:

Տարբեր տեխնոլոգիաների կիրառմամբ ORM կազմակերպելիս անհրաժեշտ է ստեղծել օբյեկտների քարտեզագրման ֆայլեր. ստեղծել կազմաձևման ֆայլեր, որոնք նշում են ռեսուրսների ֆայլերը, տվյալների աղբյուրները, գործարքների աջակցությունը և այլն:

2.2.1 Բիզնեսի տրամաբանության և բիզնեսի կանոնների նախագծում

Այս համակարգի շահագործման սկզբունքը.

Ադմինիստրատորը մուտքագրում է տվյալներ աշխատակիցների, առաջնությունների, թիմերի մասին.

Օգտագործողները դիտում են մրցաշարային աղյուսակը և տեղեկատվությունը առաջնությունների մասին.

Գրանցումը պարտադիր չէ, այն անհրաժեշտ է միայն տվյալների փոփոխման համար.

Լրացուցիչ աղյուսակ է ստեղծվել՝ շատ-շատ հարաբերությունների իրականացման համար: zakaz_dop_uslugi (պատվերը կապում է լրացուցիչ ծառայությունների հետ):

Հետևաբար, հնարավոր է նախագծել տիրույթի նման դասեր (Նկար 2.4):

Նկար 2.4 - Դոմենի դասեր

Համակարգի բիզնես տրամաբանության համաձայն՝ անհրաժեշտ է ավտոմատ կերպով միավորներ շնորհել պարտությունների, հաղթանակների և ոչ-ոքիների դեպքում։

2.2.2 Տվյալների հասանելիության շերտի նախագծում

Արտաքին պահեստում պահվող տվյալներին մուտք գործելու համար առավել հարմար է առանձին միջերեսներ սահմանել՝ տվյալների մանիպուլյացիայի մեթոդներով: Այս միջերեսների իրականացումը կարող է լինել ցանկացած բան, օրինակ՝ օգտագործելով JDBC կամ JPA, JAXB կամ նույնիսկ պարզ Java հավաքածուներ: JPA-ն ընտրվել է այս դասընթացի նախագիծը պարզեցնելու համար: Որպեսզի կարողանաք օգտագործել տվյալների հասանելիության միջերեսների տարբեր իրականացումներ, հարմար է օգտագործել «Վերացական գործարան» կամ «Գործարանային մեթոդ» նախագծման օրինակը: Այս դեպքում նման գործարան է վերացական դասը DAOFactory, որը պարունակում է վերացական մեթոդների սահմանում, որոնք վերադարձնում են ինտերֆեյսների իրականացումը (Նկար 2.4):

Տվյալների հասանելիության բոլոր գործողություններից կարելի է հստակ տարբերակել հիմնական CRUD (ստեղծել, կարդալ, թարմացնել, ջնջել) գործողությունները՝ օբյեկտի ստեղծում, օբյեկտի ջնջում, օբյեկտի թարմացում, օբյեկտ ստանալը նույնացուցիչով և ստանալ բոլոր օբյեկտները: Նման գործողությունները առանձին սուպեր դասի մեջ տեղափոխելը կխուսափի կոդի կրկնօրինակումից: Նման հիմնական գործողությունները նույնպես տեղափոխվել են IGenericDao առանձին հիմնական ինտերֆեյս , որը Java Generics-ի միջոցով թույլ է տալիս նշել օբյեկտների դասը, որոնց հետ աշխատելու եք։

Նկար 2.4 - DAO դասի դիագրամ

2.2.3 Ցուցադրման շերտի նախագծում

Այս շերտը բարակ հաճախորդ է:

Հավելվածի հետ աշխատելու համար ստեղծվել են էջեր, որոնք ապահովում են տվյալների ելք, ավելացում, խմբագրում և ջնջում։ Հիմնական էջը, որի վրա հայտնվում է չգրանցված օգտատերը՝ index.jsp: Տվյալների ավելացման և խմբագրման համար ստեղծվել են նաև լրացուցիչ էջեր, բայց միայն ադմինիստրատորի իրավունքներով։

3. Զարգացում

3.1 Համակարգի տվյալների բազայի մշակում

3.1.1 Նախագծել տվյալների բազայի սխեման

Հիմնվելով բիզնես տրամաբանության շերտի վերլուծության, ձևավորման և կանոնների վրա՝ տվյալների բազայի կառուցվածքը կարելի է կազմել հետևյալ կերպ (Նկար 3.1).

Նկար 3.1 - Տվյալների բազայի տրամաբանական դիագրամ

Տվյալների բազայի ֆիզիկական դասավորությունը ներկայացված է Նկար 3.2-ում

Նկար 3.2 - Տվյալների բազայի ֆիզիկական դիագրամ

Ծրագրային համակարգի տվյալների բազան պարունակում է իր օբյեկտների վերաբերյալ բոլոր տեղեկությունները, մասնավորապես.

Մրցաշարային աղյուսակ;

Թիմեր;

Օգտագործող;

Աշխատող;

Աշխատավարձ;

առաջնություն.

Յուրաքանչյուր աղյուսակ ունի եզակի հիմնական բանալի որպես օտար բանալի: Սա աղյուսակի առկա տեղեկատվական դաշտերին ավելացված ծառայության լրացուցիչ դաշտ է, որի միակ նպատակը որպես հիմնական բանալի ծառայելն է: Այս դաշտի արժեքները չեն ձևավորվում տվյալների բազայի որևէ այլ տվյալների հիման վրա, այլ ստեղծվում են արհեստականորեն: Օտարերկրյա բանալիների հիմնական առավելությունն այն է, որ այն երբեք չի փոխվում, քանի որ այն տեղեկատվական աղյուսակի դաշտ չէ (այն չի պարունակում որևէ տեղեկատվություն գրառման մեջ նկարագրված օբյեկտի մասին): Իմաստ է օգտագործել օտար բանալին, երբ կարող են փոխվել դաշտերը, որոնք կազմում են (բնական) հիմնական բանալին: Այս դեպքում առաջանում է այսպես կոչված «կասկադային փոփոխությունների» խնդիր։ Եթե ​​դուք օգտագործում եք օտարերկրյա բանալի որպես հիմնական բանալի, դուք ստիպված չեք լինի փոխել այն: Բացի այդ, օտարերկրյա բանալիներ օգտագործող հարցումներ գործարկելիս դաշտերի համեմատություններն ավելի արագ կլինեն, հատկապես, եթե բնական հիմնական բանալին տող է:

3.1.2 Տվյալների ամբողջականության ապահովում

Ամբողջականության սահմանափակումները տրված են Աղյուսակ 3.1-ում

Աղյուսակ 3.1 - Տվյալների բազայի աղյուսակների նկարագրություն

Սեղանի անվանումը

Նկարագրություն

Տվյալների տեսակը

Սահմանափակում

աշխատողի նույնականացման կոդը

Առաջնային բանալին

Աշխատողի հասցեն

տող, 20 նիշ

պարտադիր մուտք

Ծննդյան ամսաթիվ

տող, 20 նիշ

պարտադիր մուտք

Ազգանունը անունը. Աշխատողի միջին անունը

տող, 60 նիշ

մուտքի համար անհրաժեշտ;

Աշխատողի հեռախոսահամարը

Տող 20 նիշ

պարտադիր մուտք

Օգտատիրոջ արտաքին բանալի

ամբողջ թիվ

Առաջնության արտաքին բանալին

ամբողջ թիվ

մուտքագրման համար; եզակի արժեքներ

համընկնում է ID կոդը

Առաջնային բանալին

Խաղի ամսաթիվը

տող, 20 նիշ

պարտադիր մուտք

Արտագնա թիմ

տող, 20 նիշ

պարտադիր մուտք

Հյուրընկալող թիմ

տող, 20 նիշ

պարտադիր մուտք

Խաղի հաշիվը

տող, 20 նիշ

Շրջագայության համարը

ամբողջ թիվ

պարտադիր մուտք

Հրամանի արտաքին բանալի

ամբողջ թիվ

մուտքագրման համար; եզակի արժեքներ

օգտագործողի նույնականացման կոդը

Առաջնային բանալին

Մուտք գործեք կայք մուտք գործելու համար

տող, 20 նիշ

պարտադիր մուտք

Գաղտնաբառ՝ կայք մուտք գործելու համար

տող, 20 նիշ

պարտադիր մուտք

Դեր արտաքին բանալին

ամբողջ թիվ

մուտքագրման համար; եզակի արժեքներ

աղյուսակի նույնականացման կոդը

Առաջնային բանալին

Ոչ-ոքիով անցկացված հանդիպումների քանակը

ամբողջ թիվ

պարտադիր մուտք

Միավորների քանակը մեկ խաղում

ամբողջ թիվ

պարտադիր մուտք

Պարտված խաղերի քանակը

ամբողջ թիվ

պարտադիր մուտք

Հաղթած հանդիպումների քանակը

ամբողջ թիվ

պարտադիր մուտք

աշխատավարձի նույնականացման կոդը

Առաջնային բանալին

Աշխատած ժամերի քանակը

ամբողջ թիվ

պարտադիր մուտք

Պրեմիում գումար

Իրական տվյալների տեսակը

Տուգանքի չափը

Իրական տվյալների տեսակը

Աշխատողի արտաքին բանալի

ամբողջ թիվ

մուտքագրման համար; եզակի արժեքներ

լիցենզիայի նույնականացման կոդը

Առաջնային բանալին

Դեր արտաքին բանալին

ամբողջ թիվ

մուտքագրման համար; եզակի արժեքներ

Գործողություն, որը կարող է կատարել նշված դերը

տող, 30 նիշ

մուտքագրման համար; եզակի արժեքներ

դերի ID կոդը

Առաջնային բանալին

տող, 30 նիշ

պարտադիր մուտք

թիմի նույնականացման կոդը

Առաջնային բանալին

Քաղաքի անվանումը

տող, 20 նիշ

պարտադիր մուտք

Թիմի անվանումը

տող, 20 նիշ

պարտադիր մուտք

Մարզչի անունը

տող, 60 նիշ

պարտադիր մուտք

Սեղանի արտաքին բանալի

ամբողջ թիվ

պարտադիր մուտք

առաջնության նույնականացման կոդը

Առաջնային բանալին

Առաջնության օրը

պարտադիր մուտք

Երկրի անվանումը

տող, 40 նիշ

պարտադիր մուտք

Սեղանի արտաքին բանալի

ամբողջ թիվ

պարտադիր մուտք

3.1.3 Հիմնական հարցումների մշակում

Հիմնական հարցումները մշակելիս JPQL-ն ընտրվել է որպես զարգացման լեզու:

Ստորև բերված է հիմնական հարցումների նկարագրությունը, դրանց իրականացումը տրված է Հավելված Ա-ում:

getKomandasByTablicaId - «Թիմ» աղյուսակից արժեքներ ընտրելու հարցում, որտեղ աղյուսակի id-ը հրաման ստանալու պարամետր է:

findKomandaByName-ը հրաման ընտրելու հարցում է, որտեղ աղյուսակի անունը հրամանը ստանալու պարամետր է:

getTablicaByChampionatId - «Աղյուսակ» աղյուսակից արժեքներ ընտրելու հարցում, որտեղ առաջնության id-ն աղյուսակը ստանալու պարամետր է:

getKomandasByTablicaId - «Թիմ» աղյուսակից արժեքներ ընտրելու հարցում, որտեղ աղյուսակի id-ն աղյուսակը ստանալու պարամետր է:

findUserByNameAndPassword-ը «Օգտատեր» աղյուսակից արժեքներ ընտրելու հարցում է, որտեղ օգտատիրոջ մուտքը հավասար է առաջին պարամետրին, իսկ գաղտնաբառը՝ երկրորդը:

getWorkerByChampionatId-ը «Աշխատող» աղյուսակից արժեքներ ընտրելու հարցում է, որտեղ առաջնության id-ը աշխատող ձեռք բերելու պարամետր է:

getZarplatasByWorkerId - «Աշխատավարձ» աղյուսակից արժեքներ ընտրելու հարցում, որտեղ աշխատողի ID-ն աշխատավարձ ստանալու պարամետր է:

3.1.4 Դերերի ստեղծում, ինդեքսների և դիտումների ընտրություն

Դերեր:

Ստեղծվել են մի քանի դերեր՝ տվյալների բազաների մուտքի տարբեր իրավունքներով.

Ստեղծել դեր «ադմինիստրատոր» ՄՈՒՏՔ ԱՆԳՐԱՆՑՎԱԾ ԳԱՂԱՌՆԱԿ «qwerty»

Ստեղծել դեր «մենեջեր» ՄՈՒՏՔ ՉԳՐԱՆՑՎԱԾ ԳԱՂԱՌՆԱԿ «qwerty1»

Ստեղծել դեր «ռեժիսոր» ՄՈՒՏՔ ԱՆԳՐԱՆՑՎԱԾ ԳԱՂԱՌՆԱԿ «qwerty2»

Chempionat, komanda, matchi, prava, «role», tablica, users, worker, zarplata հարաբերությունների մուտքի իրավունքները կարելի է նկարագրել հետևյալ կերպ.

շնորհել ընտրություն, ջնջել, տեղադրել, թարմացնել chempionat, komanda, matchi, prava, «role», tablica, users, worker, աշխատավարձը ադմինիստրատորին

տրամադրել ընտրություն, ջնջել, տեղադրել, թարմացնել tablica-ի, matchi-ի, komanda-ի վրա մենեջերին

Ցուցանիշներ:

Ինդեքսների ընտրության ժամանակ հիմնական չափանիշը եղել է հաճախակի մուտքը կոնկրետ դաշտ

Տվյալների հետ աշխատելու արդյունավետությունը բարելավելու համար ինդեքսներ են ստեղծվել տվյալների առբերման ժամանակ հաճախ օգտագործվող դաշտերի համար.

ստեղծել ինդեքս i_worker աշխատողի վրա (id);

ստեղծել ինդեքս i_komanda komanda (id) վրա;

ստեղծել ինդեքս i_matchi matchi (id) վրա;

ստեղծել ինդեքս i_zarplata zarplata(id) վրա

Ներկայացուցչություն:

Tablica աղյուսակին մասնակի մուտք գործելու համար ստեղծվել է հետևյալ տեսքը.

ստեղծել դիտում w_guest (kolnichiyih,kolocheck,kolproigrashey,kolviigrashey,idchampionata) որպես

ընտրել kolnichiyih, kolocheck, kolproigrashey, kolviigrashey, idchampionata tablica-ից;

ստեղծել հյուր

տրամադրել ընտրել w_guest հյուրին

3.1.5 Պահպանված ընթացակարգերի և գործարկիչների մշակում

Գործարկիչներ.

1) Գործարկիչ, որը արժեք է մուտքագրում պրեմիա դաշտում Zarplata աղյուսակում գրառում ավելացնելիս: Եթե ​​kolChasov դաշտի արժեքը գերազանցում է որոշակի արժեքը:

ՍՏԵՂԾԵԼ ԿԱՄ ՓՈԽԱՐԻՆԵԼ ՖՈՒՆԿՑԻԱ ins()

ՎԵՐԱԴԱՐՁԸ գործարկիչ AS

ԹԱՐՄԱՑՆԵԼ «Աշխատավարձը»

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

«Զարպլատա»-ից՝ «բանվոր»

որտեղ («կոլչասով» >8);

ԼԵԶՈՒ «plpgsql»;

ՍՏԵՂԾԵԼ TRIGGER trig_11 «zarplata»-ի վրա ներդնելուց հետո

ՅՈՒՐԱՔԱՆՉՅՈՒՐ ՏԱՐԻ ՀԱՄԱՐ ԿԱՏԱՐԱՑՄԱՆ ԿԱՐԳԸ ins();

2) ձգան, որն ավելացնում է գրառում աշխատավարձի աղյուսակի գումարի դաշտում՝ աղյուսակում գրառում ավելացնելիս կամ թարմացնելիս: Այս դաշտի արժեքը որոշվում է դաշտերի դրույքաչափի, տույժի և հավելավճարի արժեքով:

ստեղծել կամ փոխարինել ֆունկցիան addSumInZarplata() վերադարձնում է գործարկիչը որպես

հայտարարել shtr float:=(ընտրեք shtraf zarplata-ից, որտեղ id=new.id);

հայտարարել prem float:=(ընտրեք premiya zarplata-ից, որտեղ id=new.id);

հռչակել s float:= (ընտրեք գումարը zarplata-ից, որտեղ id=new.id);

թարմացնել աշխատավարձի հավաքածուն

summa = s+prem-shtr որտեղ id=new.id;

լեզու plpgsql;

ստեղծել ձգան trigAddSumZarplat

յուրաքանչյուր տողի համար աշխատավարձի չափով

կատարել ընթացակարգ addSumInZarplata();

Պահվում էընթացակարգերը:

1) Մշակել պահպանված ընթացակարգ, որը կվերադարձնի հանդիպումների ցանկը, որոնք նախատեսված են այսօր: Ներածման պարամետրեր չկան: Արդյունքի պարամետրը կլինի համընկնման աղյուսակը:

ՍՏԵՂԾԵԼ ԿԱՄ ՓՈԽԱՐԻՆԵԼ ՖՈՒՆԿՑԻԱ func_1()

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

schet նիշը տարբերվում է (10), tur ամբողջ թիվ, idkomandy ամբողջ թիվ, տվյալների ամսաթիվ) AS $$

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

2) Մշակել պահպանված ընթացակարգ, որը կվերադարձնի այն թիմի անունը, որը նվազագույն միավորներ է հավաքել որոշակի առաջնությունում: Ներածման պարամետրեր - երկրի անվանումը: Ելքային պարամետրը կլինի հրամանի անունը:

ՍՏԵՂԾԵԼ ԿԱՄ ՓՈԽԱՐԻՆԵԼ ՖՈՒՆԿՑԻԱ func_2 (երկրի նիշը տատանվում է (40))

SELECT "name" FROM "komanda", "tablica", "chempionat" WHERE "komanda"."idtablici" = "tablica".id" AND "kolocheck" IN (SELECT MIN("kolocheck") FROM "tablica") AND "idchampionata" IN (Ընտրեք "id" FROM "championata" WHERE "country" = $1); $$

3) Մշակել պահպանված ընթացակարգ, որը կվերադարձնի մրցաշարային աղյուսակի լավագույն 10 թիմերին: Ներածման պարամետրեր - երկրի անվանումը: Ելքի պարամետրը կլինի աղյուսակը, որը բաղկացած է 10 լավագույն թիմերի անուններից և նրանց միավորների քանակից:

ՍՏԵՂԾԵԼ ԿԱՄ ՓՈԽԱՐԻՆԵԼ ՖՈՒՆԿՑԻԱ func_3 (երկրի նիշը տատանվում է (40))

RETURNS TABLE (_name նիշը տատանվում է (20), kolochek ամբողջ թիվ) AS $$

Ենթահղումով AS (Ընտրեք «անուն», «kolochek» FROM «komanda», «tablica», «chempionat» WHERE «komanda».idtablici» = «tablica».id» ԵՎ «idchampionata» IN (Ընտրեք «id» «chempionat»-ից, ՈՐՏԵՂ «strana» = $1) ԽՈՒՄԲ ԸՍՏ 1, 2 ՊԱՏՎԻՐԵԼ ԸՍՏ «kolochek» DESC)

ԸՆՏՐԵԼ * «ենթահարկ» ԽՄԲԻՑ 1, 2 ՈՒՆԵՑՈՂ ՀԱՄԱՐ («անուն»)<= 10; $$

4) Մշակել պահպանված ընթացակարգ, որը կվերադարձնի թիմի առաջատարի անունը որոշակի առաջնության մրցաշարային աղյուսակում: Ներածման պարամետրեր - երկրի անվանումը: Ելքային պարամետրը կլինի առաջատարի անունը:

ՍՏԵՂԾԵԼ ԿԱՄ ՓՈԽԱՐԻՆԵԼ ՖՈՒՆԿՑԻԱ func_5 (երկրի նիշը տատանվում է (40))

RETURNS նիշը տարբեր է (20) AS $$

Ընտրեք «անունը» «komanda», «tablica», «chempionat» -ից

WHERE "komanda"."idtablici" = "tablica".id" AND "kolocheck" IN (SELECT MAX("kolocheck") FROM "tablica") AND "idchampionata" IN (SELECT "id" FROM "chempionat" WHERE " երկիր» = $1); $$

3.1.6 Տվյալների պաշտպանության կազմակերպություն

Մշակված համակարգն ունի մի քանի դեր, և դրանցից յուրաքանչյուրի համար «Ֆուտբոլի առաջնություն» ծրագրային համակարգում տարբեր գործառույթներ կան։ Այս ծրագրային համակարգում օգտագործողների յուրաքանչյուր տեսակի հնարավորությունները ներկայացված են Աղյուսակ 3.2-ում

Աղյուսակ 3.2 - Տվյալների պաշտպանություն

Օգտագործող/

Էջ

Ադմինիստրատոր

Գրանցված օգտվող

Չգրանցված օգտվող

Դիտելով առաջնությունների ցուցակը, ընթացիկ օրը անցկացված խաղերի ցանկը, մրցաշարային աղյուսակը, էջերով շարժվելը, առաջնության աղյուսակի տվյալները փոխելը

Դիտեք առաջնությունների ցուցակը, մրցաշարային աղյուսակի ընթացիկ օրը կայացած խաղերի ցանկը, անցեք էջեր, անցեք անձնական տեղեկատվության էջ

Դիտեք առաջնությունների ցուցակը, մրցաշարային աղյուսակի ընթացիկ օրը անցկացված խաղերի ցանկը, նավարկեք էջերում և գրանցվելու հնարավորություն

Աղյուսակի տվյալների խմբագրում

Դիտեք մրցաշարային աղյուսակը, մանրամասն տեղեկություններ թիմի, լավագույն 10 թիմերի, լավագույն և վատագույն թիմի մասին

Դիտեք մրցաշարային աղյուսակը, մանրամասն տեղեկություններ թիմի, լավագույն 10 թիմերի, լավագույն և վատագույն թիմի մասին

addEdtKomanda.jsp

Խմբագրել թիմի մանրամասները

Թիմի մասին մանրամասն տեղեկությունների դիտում

Թիմի մասին մանրամասն տեղեկությունների դիտում

Դիտել համընկնումները, ավելացնել, ջնջել, խմբագրել

Դիտեք համընկնումները, փոխեք համընկնումների տվյալները

Հանդիպումների դիտում

Իրավունքների ավելացում, ջնջում, փոփոխություն

Դիտել Աշխատավարձը

Աշխատավարձի դիտում և խմբագրում

3.1.7 Օբյեկտ-հարաբերական քարտեզագրում

Ծրագիր մշակելիս տվյալների մուտք են գործում, հետևաբար, նման ծրագրի մշակումը պարզեցնելու և ստացված տվյալների հետ աշխատելու արդյունավետությունն ու արագությունը բարձրացնելու համար օգտագործվել է օբյեկտ-հարաբերական քարտեզագրում:

Օբյեկտ-հարաբերական քարտեզագրումը (ORM) ծրագրավորման տեխնիկա է, որը կապում է հարաբերական տվյալների բազան օբյեկտի վրա հիմնված ծրագրավորման հասկացությունների հետ և ստեղծում «վիրտուալ օբյեկտների տվյալների բազա»:

ORM-ները ավտոմատ կերպով համաժամեցնում են հիշողության մեջ բեռնված օբյեկտները տվյալների բազայի հետ: Դա հնարավոր դարձնելու համար օբյեկտից SQL փոխակերպման SQL հարցում ստեղծելուց հետո ստացված տվյալները պատճենվում են օբյեկտի դաշտերում, ինչպես մյուս բոլոր ORM-ի իրագործումներում։

Հարաբերական տվյալների բազայի կառավարման համակարգերը լավ կատարում են գլոբալ հարցումները, որոնք ազդում են տվյալների բազայի մեծ մասի վրա, սակայն օբյեկտի վրա հիմնված մուտքն ավելի արդյունավետ է փոքր քանակությամբ տվյալների հետ աշխատելիս, քանի որ այն նվազեցնում է տվյալների օբյեկտի և հարաբերական ձևերի միջև իմաստային բացը:

Բոլոր ORM համակարգերը սովորաբար դրսևորվում են ինչ-որ ձևով, ինչ-որ կերպ նվազեցնելով տվյալների բազան անտեսելու հնարավորությունը: Ավելին, գործարքի շերտը կարող է դանդաղ և անարդյունավետ լինել (հատկապես գեներացված SQL-ի առումով): Այս ամենը կարող է պատճառ դառնալ, որ ծրագրերը ավելի դանդաղ աշխատեն և ավելի շատ հիշողություն օգտագործեն, քան ձեռքով գրված ծրագրերը:

Բայց ORM-ը ծրագրավորողին փրկում է մեծ քանակությամբ կոդ գրելուց, հաճախ միապաղաղ և սխալների հակված, դրանով իսկ զգալիորեն մեծացնելով զարգացման արագությունը: Բացի այդ, ORM-ի ժամանակակից ներդրումներից շատերը թույլ են տալիս ծրագրավորողին, անհրաժեշտության դեպքում, խստորեն սահմանել SQL հարցման կոդը, որը կօգտագործվի որոշակի գործողությունների համար (պահպանում տվյալների բազայում, բեռնում, որոնում և այլն) մշտական ​​օբյեկտով:

Տվյալների հասանելիություն պահանջող հավելված մշակելիս անհրաժեշտ է պարզեցնել նման հավելվածի մշակումը` բարձրացնելով ստացված տվյալների հետ աշխատելու արդյունավետությունն ու արագությունը։ Ուստի այս խնդիրն այսօր արդիական է մնում։

Այս խնդիրը լուծելու համար ընտրվել է JPA (Java Persistence API):

Ստորև բերված դիագրամը ցույց է տալիս JPA ճարտարապետության հիմնական բաղադրիչների միջև փոխհարաբերությունները:

Նկար 3.3 - JPA ճարտարապետություն

Համառություն - Դասը պարունակում է ստատիկ օգնական մեթոդներ՝ EntityManagerFactory-ն մատակարարից անկախ եղանակով ստանալու համար:

EntityManagerFactory-ն ինտերֆեյս է, որի իրականացումը EntityManager օբյեկտներ ստեղծելու գործարան է:

EntityManager-ը հավելվածներում օգտագործվող JPA-ի հիմնական ինտերֆեյսն է: Յուրաքանչյուր EntityManager կառավարում է պահված օբյեկտների մի շարք և պարունակում է API նոր օբյեկտներ տեղադրելու և գոյություն ունեցողները ջնջելու համար: Յուրաքանչյուր EntityManager ունի իր հետ կապված իր EntityTransaction-ը, և EntityManager-ը նաև գործում է որպես Query օբյեկտների գործարան:

Սուբյեկտ - սուբյեկտ, որը պահված օբյեկտ է:

EntityTransaction-ը օբյեկտ է, որն իրականացնում է գործարքների կառավարում պահեստավորված Entity օբյեկտների հետ գործողություններ կատարելիս: Գործողությունները խմբավորված են և կամ ամբողջությամբ ավարտված են, կամ ոչ՝ տվյալների պահեստը թողնելով անփոփոխ վիճակում:

Հարցումը ինտերֆեյս է հարցումների կատարման համար՝ գտնելու պահպանված օբյեկտները, որոնք համապատասխանում են սահմանված չափանիշներին: JPA-ն աջակցում է հարցումները Java Persistence Query Language (JPQL) և ստանդարտ կառուցվածքային հարցումների լեզվով (SQL): Դուք կարող եք ստանալ Query-ի օրինակներ EntityManager օբյեկտից:

3.2 Համակարգային մոդուլների մշակում

3.2.1 Բիզնես տրամաբանության և բիզնես կանոնների շերտի մոդուլների մշակում

Այս մոդուլը ներկայացնում է մեր տվյալների բազայի բոլոր սուբյեկտների նկարագրությունները: Այն ներառում է տասնմեկ դաս, մասնավորապես.

Matchi.java-ն դաս է, որը նկարագրում է համընկնումները: Պարունակում է հետևյալ տեղեկատվությունը` խաղի ամսաթիվը, հյուրը, տանտերը, խաղի հաշիվը, տուրի համարը: Այն պարունակում է դաշտեր ստանալու և գրելու մեթոդներ:

Komanda.java-ն հրամաններ նկարագրող դաս է: Պարունակում է հետևյալ տեղեկությունները` թիմի անվանումը, մարզչի անունը, թիմի քաղաքը: Այն պարունակում է դաշտեր ստանալու և գրելու մեթոդներ:

Tablica.java-ն դաս է, որը նկարագրում է մրցաշարային աղյուսակը: Այն պարունակում է դաշտեր՝ թիմի միավորների քանակը, կորուստների քանակը, հաղթանակները և ոչ-ոքիները: Այն պարունակում է դաշտեր ստանալու և գրելու մեթոդներ:

Championat.java-ն առաջնությունը նկարագրող դաս է: Այն պարունակում է հետևյալ տեղեկատվությունը` մեկնարկի ամսաթիվը, համաժողովի ավարտի ամսաթիվը, երկրի անվանումը, որտեղ այն անցկացվում է: Այն պարունակում է դաշտեր ստանալու և գրելու մեթոդներ:

Worker.java-ն մի դաս է, որը նկարագրում է աշխատողին: Այն պարունակում է հետևյալ տեղեկությունները` աշխատողի լրիվ անվանումը, ծննդյան ամսաթիվը, հեռախոսահամարը, հասցեն: Այն պարունակում է դաշտեր ստանալու և գրելու մեթոդներ:

User.java-ն օգտատիրոջը նկարագրող դաս է: Այն պարունակում է հետևյալ տեղեկությունները. մուտք և գաղտնաբառ՝ համակարգ մուտք գործելու համար: Այն պարունակում է դաշտեր ստանալու և գրելու մեթոդներ:

Role.java-ն դաս է, որը նկարագրում է օգտագործողի դերը: Այն պարունակում է հետևյալ տեղեկությունները. օգտանուն: Այն պարունակում է դաշտեր ստանալու և գրելու մեթոդներ:

Prava.java-ն դաս է, որը նկարագրում է օգտվողի իրավունքները: Այն պարունակում է հետևյալ տեղեկատվությունը. իրավունքները, որոնցով օգտվողը մուտք է գործում համակարգ

3.2.2 Տվյալների հասանելիության շերտի մոդուլների մշակում

Տվյալները հասանելի են DAO-ի միջոցով: Այս մոդուլը ներկայացված է ինտերֆեյսներով և դրանց իրականացումներով երկու փաթեթով: Այն պարունակում է հետևյալ միջերեսները.

– ITablicaDao.java - ինտերֆեյս, որը պարունակում է աղյուսակի հետ աշխատելու մեթոդների նկարագրություններ: Այն նկարագրում է հետևյալ մեթոդները.

հանրային հավաքածու getTablicasByChampionatId(Integer chId) նետում է PersistenceException մեթոդը՝ տվյալ առաջնության բոլոր աղյուսակները ստանալու համար:

Մեթոդների իրականացումը TablicaDaoJpa դասում է։

– IKomandaDao.java - ինտերֆեյս, որը պարունակում է հրամանների ցանկի հետ աշխատելու մեթոդների նկարագրություններ: Այն նկարագրում է հետևյալ մեթոդները.

ա)հանրայինՀավաքածու getKomandasByTablicaId (Integer chId) նետում է PersistenceException մեթոդ՝ որոշակի դասակարգման բոլոր թիմերը ստանալու համար.

բ)հանրային Komanda findKomandaByName(String name)-ը նետում է PersistenceException մեթոդը՝ անունով հրաման ստանալու համար:

գ) getTheWorstKomandaByChampId (String name) նետում է PersistenceException մեթոդը առաջնության ամենավատ թիմը ստանալու համար;

դ)հանրային String getTheBestKomandaByChampId(String name) նետում է PersistenceException մեթոդը առաջնության լավագույն թիմը ստանալու համար;

ե)հանրայինՀավաքածու getTopTenKomandasByChampId (String name) նետում է PersistenceException մեթոդը՝ առաջնության լավագույն 10 թիմերը ստանալու համար;

...

Նմանատիպ փաստաթղթեր

    Տվյալների բազայի կառուցվածքը. Երեք մակարդակի ճարտարապետության պատկերացում, որը բաղկացած է ներկայացման շերտից, բիզնեսի շերտից և տվյալների բազայի շերտից, որն իրականացվում է UML դիագրամների միջոցով: Եռաշերտ կիրառությունների հիմնական կառուցվածքային առանձնահատկությունները. Որոշ մոդուլների աղբյուրի կոդը:

    դասընթացի աշխատանք, ավելացվել է 11/03/2012 թ

    Մշակվող հյուրանոցների տվյալների բազայի մոդելի նախագծում: Գործարկիչների, պահվող ընթացակարգերի, հարցումների մշակում: Օգտագործողի միջերեսի ստեղծում: Գրանցման, հաշվապահական հաշվառման, որոնման, ինչպես նաև գործատուների վերաբերյալ հաշվետվությունների ստեղծման աշխատանքների ավտոմատացում:

    դասընթացի աշխատանք, ավելացվել է 29.11.2015թ

    Ձեռնարկությունում առկա հիմնական տվյալների հոսքերի բնութագրերը. Ծրագրային ապահովման մշակման մեթոդներ և միջոցներ: Օգտագործողի միջերեսի ձևավորում: Տվյալների բազայի փոխազդեցության շերտի մշակում: Բիզնեսի ծառայությունների շերտի զարգացում.

    թեզ, ավելացվել է 07/10/2017 թ

    Ֆունկցիոնալ կախվածությունների որոշում. Տվյալների բազայի կառուցվածքի մշակում: Տվյալների բազայի հարցումների կազմակերպում: Տվյալները թարմացված պահելու համար գործարկիչների օգտագործումը: Պահպանված ընթացակարգերի և գործառույթների մշակում: Տվյալների բազայի պահպանման սահմանափակումները.

    դասընթացի աշխատանք, ավելացվել է 17.06.2014թ

    Տվյալների բազայի էությունը մի շարք է՝ ֆայլերի հավաքածու, որոնցում գտնվում է տեղեկատվությունը: Տվյալների բազայի կառավարման համակարգը ծրագրային համակարգ է (հավելված), որն ապահովում է աշխատանք տվյալների բազայի (տվյալների ֆայլերի) հետ: Գործարկիչների օգտագործման նպատակը և առավելությունները.

    դասընթացի աշխատանք, ավելացվել է 22.02.2011թ

    Հարաբերական տվյալների բազայի նախագծում, դրանից տեղեկատվության որոնման կազմակերպում: Արդյունքները ցուցադրելու համար դիտումների մշակում: Պահեստավորված ընթացակարգերի նախագծում: Տվյալների կառավարման մեխանիզմ՝ տրիգերների միջոցով: Տեխնիկական աջակցության պահանջները.

    թեզ, ավելացվել է 07/03/2011 թ

    Կահույքի արտադրության համար «Product Accounting» վեբ ինտերֆեյսով սերվերային տիպի տվյալների բազայի մշակում և կարգաբերում: Ֆիզիկական տվյալների մոդել. Նկարագրեք ինդեքսներն ու սահմանափակումները, հարցումները և տվյալների դիտումները, հաշվետվությունները և գծապատկերները: Գործարկիչների և պահվող ընթացակարգերի նկարագրությունը:

    դասընթացի աշխատանք, ավելացվել է 20.02.2015թ

    Տվյալների մանիպուլյացիայի լեզու. Տվյալների ընտրության գործընթաց. Ընտրության պայմաններում ագրեգատային ֆունկցիաների և հատուկ օպերատորների օգտագործումը: Ստեղծեք և օգտագործեք դիտումներ և պահված ընթացակարգեր: Օգտագործելով գործարկիչներ, մշակելով օգտատիրոջ միջերես:

    լաբորատոր աշխատանք, ավելացվել է 13.02.2013թ

    Տվյալների բազայի տրամաբանական և ֆիզիկական կառուցվածքը: Համակարգի ապարատային և ծրագրային ապահովում: Դիտումների, պահված ընթացակարգերի, հատուկ գործառույթների, գործարկիչների ստեղծում: ASP.NET փաստաթղթերի հիմնական կառուցվածքի նկարագրությունը: Օգտագործողի ինտերֆեյս.

    դասընթացի աշխատանք, ավելացվել է 21.05.2013թ

    Տվյալների բազայի հայեցակարգը. Աղյուսակների, տեղեկատվության մուտքագրման և ելքի ձևերի, հիմնական հարցումների, պահվող ընթացակարգերի և ազդակների մշակում Տեղեկատվական տախտակի տվյալների բազայի համար: Պատրաստում տպագրության. Վարչարարության և տեղեկատվական անվտանգության գործիքների անհրաժեշտության վերլուծություն:

Կիսվել՝