ЎЗБЕКИСТОН  АЛОҚА ВА  АХБОРОТЛАШТИРИШ АГЕНТЛИГИ

 

ТОШКЕНТ АХБОРОТ ТЕХНОЛОГИЯЛАРИ УНИВЕРСИТЕТИ

 

АХБОРОТ  ТЕХНОЛОГИЯЛАРИ  ФАКУЛЬТЕТИ

 

 

 

 

 

«Маълумотлар банки ва  базалари» фанидан

Тажриба ишлари бўйича услубий қўрсатмалар

 

 

 

 

 

 

 

Тошкент  2011

 

 

Тузувчилар:

Тошкент ахборот технологиялари университети «Ахборот технологиялари» кафедраси

  доц. Гаипназаров Т.С., проф. Зайнидинов Х.Н.

 

 

 

 

 

 

 

 

 

Маълумотлар банки ва базалари фанидан услубий кўрсатмалар 5521900 –  «Информатика ва ахборот технологиялар» талабаларига мазкур фандан тажриба машғулотларини ўтказишга мўлжалланган. Ушбу услубий кўрсатмаларни мақсади маълумотлар банки ва базалари  фанидан олинган назарий билимларни мустаҳкамлаш ва амалиётда тадбиқ қилиш кўникмаларини эгаллашга қаратилган. Услубий кўрсатмалар доирасида предмет соҳани таҳлил қилиш, уни моҳият-алоқа усули ёрдамида моделини қуриш ва уни асосида реляцион маълумотлар базасини яратиш ва юритиш, ҳамда юқори босқич тиллари ва SQL тилидан фойдаланиб, маълумотларни қидириш ва қайта ишлаш бўйича маълумотлар келтирилган.

 

Тақризчилар:

ТКТИ , «Информатика, Автоматлаштириш ва бошкариш» кафедра доц.,  т.ф.н. Акрамходжаев Ю.Т.

ТАТУ, «АТДТ» кафедра  доц., т.ф.н., Комилов М. М.

 

 

 

Тошкент ахборот технологиялар университети,  2011


КИРИШ

 

 

Ҳар хил соҳадаги масаларини ечиш, битирув иши билан боғлиқ масалаларни ҳал қилиш, шунингдек  кейинчалик  фан ва ишлаб чиқариш  фаолиятларида маълумотлар базаси ишлаб чиқиш ва яратиш  каби вазифаларни бажариш ва мос равишда уларга  маълумотлар базаси бошқариш тизимларини танлаш, ахборотларни қидириш ва қайта ишлаш амалий дастурларини   яратиш заруриятини тақазо этади.

Лаборатория ишларини асосий вазифаси  “Маълумотлар банки ва базалари”  фанининг  назарий билимларини мустаҳкамлаш ва маълумотлар базасини яратиш ва ишлатиш бўйича амалий кўникмаларини эгаллашдан иборатдир. 

Шу мақсадда маълумотлар банклари ва  базалари фанидан қуйидаги тажриба ишлари киритилган.

Тажриба иши    №1.                                          - 4

Тажриба иши    №2.                                          - 4

Тажриба иши    №3.                                          - 2

Тажриба иши    №4.                                          - 2

Тажриба иши    №5.                                          - 4

 

Ушбу услубий кўрсатмалар , маълумотлар банки ва базалари фанидан тажриба ишларини бажариш бўйича асосий қўлланма бўлиб, унда тажриба ишларини бажариш бўйича кўрсатмалар назорат саволлари  ва талабаларга шахсий топшириқлар, шунингдек тажриба ишларини расмийлаштириш бўйича тавсиялар келтирилган.

 

 

 

 

1-ТАЖРИБА ИШИ

 

МАВЗУ.  ПРЕДМЕТ СОҲАСИНИ ТАҲЛИЛИ. МОҲИЯТ-АЛОҚА МОДЕЛИНИ ИШЛАБ ЧИҚИШ (ER-МОДЕЛЬ).

 

         Ишдан мақсад.  Информацион маълумот базасини моделини ишлаб чиқиш учун  предмет соҳани  текшириш бўйича кўникмаларни эгаллаш.

 

Масалани қўйилиши ва топшириқлар. Кўрсатилган предмет соҳани тахлил қилиб, уни “Моҳият – алоқа” моделини ишлаб чиқинг.

Услубий кўрсатмалар.Предмет соҳани  (ПС) таҳлили уни қуйидаги ташкил этувчиларини ўрганишни тақазо этади:  объектлар, объект хусусиятлари, боғланишлар (объект мунособатлари), вақт оралиғи (объектларни аниқ холатларда бўлишини белгиловчи  вақт)  Жадваллар(1.1  ...  1.6) .

Мисол.  ПС  " Омборхона "

Жадвал 1.1

Объектлар

Сони

 1.Омборхона

 

 

nl

2.Материаллар

п2

З.Таъминловчи

пЗ

4.Истеьмолчи

п4

5.Шаҳар

п5

6. Деталь

пб

 

объектлар, уларнинг хусусиятлари

 

Жадвал 1.2.

Хусусиятлар

кимга  тегишли тегишли

Омборхона манзили

 

 

ном

сони

омборхона

 

 

 

 

кирим

чиқим

 

 

 

 

 

 

 

 

Жадвал 1.3.

Хусусиятлар

Номи

Истеъмолчи

Қаерда сақланади

Материаллар

 

 

 

 

 

 

 

 

Жадвал 1.4.

хусусиятлар

почта индекси

ном

нима билан таъминлайди

нима чиқари лади

истеъмолчилар

таъминловчилар

шаҳар

 

 

 

 

 

 

 

 

 

 

 

 

 

Жадвал 1-5.

хусусиятлар

ишлатилган

1та деталга

ранг

қайси омбор

деталь

деталь

ким тайёр

 

материал

сарфи

 

хонадан

номи

оғирлиги

лайди

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

деталь

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Жадвал 1-6.

хусусиятлар

ном

материаллар

детал номлари

истеъмолчи

 омборхонадан

истеъмолчи

 

 

 

 

 

 

 

 

 

 

 

 

Алоқалар (объектлар орасидаги муносабатлар),

 

         Чизма 1.1«Омборхона»  объектли  модели  элементлари  орасидаги объектли  мунособатлар

«Моҳият - алоқа» модели, предмет соҳани ташкил қилувчи учта асосий компонентлардан фойдаланиб қурилади: моҳият, атрибут, алоқа. Конструктив элементлар таркибида «ВАҚТ» ташкил этувчиси фақат ошкормас ҳолда иштирок этиши мумкин. Моделда вақт   йил, сана ва шунга ўхшаш атрибутлар билан тасвирланади.

Моделни қуришда  «Алоқа»  мавжуд объектни , жараённи ёки ҳодисани,  абстракцияси сифатида келади.  Атрибут моҳиятни характеристикаларидан бўлиб,  ном билан белгиланиб, бирорта қийматлар тўпламидан қийматлар қабул қилади.

«Моҳият - алоқа» моделидаги боғланишларга, икки мохият ўртасидаги ҳар бир боғланиш турига тегишли мунособатларни киритиш зарур (бинар, тернар..., n-нар).

Лойиҳа ҳакидаги ахборот диаграмма кўринишида расмийлаштирилади, бунингучун қуйидаги белгилар киритилади:

моҳият турлари – тўртбурчаклар билан, атрибутлар- оваллар билан тасвирланади ва  улар мос моҳиятлар билан  йўналишсиз қирралар билан боғланади.  Алоқалар (муносабатлар)- ромблар билан тасвирланади ва  улар моҳият турлари билан йўналишсиз кирралар билан боғланади, бинар боғланишларда эса йўналишли қирралар билан кўрсатилади.

"Мохият - алоқа" модели предмет соҳани (ПС) факат аниқ бир қисмини акслантиради, бу ҳолда уни  локал модель дейилади. ПС ҳақида тўла ахборотга  эга бўлиш учун, уни етарлича кенгроқ текшириш зарур ва олдингисини тўлдирадиган локал моделлар қуриш керак. Шундан сўнг локал моделлар бирлаштирилиб, ПС ҳақида бир бутун композицион тасвирга эга бўламиз.

Мисол. «Омборхона»  предмет соҳаси учун  Моҳият - алоқа моделини қуринг.

 

Чизма 1.2.   «Омборхона»  предмет соҳаси учун  Моҳият - алоқа моделини қуришга  доир  мисол.

Бу  Моҳият - алоқа модели   ўз таркибига бешта  локал моделларни бирлаштиради.

Назорат саволлари.

1.     Предмет соҳа тушунчасига таъриф беринг.

2.     Моҳият – алоқа модели деганда нимани тушунасиз ?

3.     Моҳият – алоқа моделида “ асосий  (базавий)   элементлари” тушунчасин аниқланг .

4.     Моҳият – алоқа модели маълумот базаси структурасида (тузилишида ) қандай аксланади ?

5.     Моҳият – алоқа модели диаграммаси  қандай тасвирланади?

 

 

 

 

2- ТАЖРИБА ИШИ.

 

МАВЗУ . БЕРИЛГАН ПРЕДМЕТ СОҲАСИ УЧУН МАЪЛУМОТ БАЗАСИНИ  РЕЛЯЦИОН МОДЕЛИНИ ЯРАТИШ.

Ишдан мақсад:     маълумотлар базасини реляцион модели учун жадваллар тизимини  ишлаб чиқишни ўрганиш.

 

Масалани қўйилиши ва топшириқлар.  Берилган предмет соҳа учун (1- тажриба иши )  қурилган моҳият-алоқа моделига  мос бўлган маълумот база жадваллар тизимини  ишлаб чиқинг.

Услубий кўрсатмалар.Жадвалларни  яратишда маълумотлар базасини жадваллар тизими 1 тажриба ишида предмет соҳасини сиз томондан ишлаб чиқилган моҳият алоқа моделига мос келишини ҳисобга олинг  

 Жадвал 2.1

N

Тушунчалар

Ҳодисалар

Характеристикалар

1

Шаҳар

Жойлашмоқ

Масофа

2

Таъминловчи

Таъминламоқ

 Миқдори,  оғирлиги

3

Омборхона

Етказмоқ, жойлашган

Ранг,ўлчам

4

Истеъмолчи

Олмоқ, сарфламоқ

 

5

Материаллар

Тайерламоқ

 

6

Деталлар

 

 

 

Жадвал 2.1 да моҳиятга мос тушунчалар, ҳодисалар - мос боғланишларга,  характеристикалар эса “Моҳият-алоқа моделидаги моҳият атрибутларига мос келтирилиб ажратиб кўрсатилаган .

Тушунчалар:

Шахар     жадвал 2.2

Индекси

Шахар номи

700000

Тошкент

 

 Таъминловчи жадвал 2.3

Индекси

Номи

Шахар

Ҳисоби

ПС1

Жўраев В.А

Тошкент

31

 

Омборхона    жадвал 2.4

Шифри

Номи

С1

Лак-бўёқ маҳсулотлар омборхонаси

С2

Лак-бўёқ маҳсулотлар омборхонаси

 

Истеъмолчи    жадвал 2.6

Индекси

Номи

Шахар

Хисоби

ПТ1

Таксапарк

Тошкент

231

ПТ2

МП Шарк

Самарканд

39

 

“Деталлар”                   жадвал 2.5

Тартиб Номери

Деталь номери

Кирим сони

Қолдик

сони

Истеъмолчи

номери

10

17

 

60 70

49 52

ПТ1

ПТ2

 

 

 

 

Ҳодисалар:

Жойлашмоқ    жадвал 2.7

Шахар

Омборхона шифри

Тошкент

С1

Тошкент

С2

 

Таъминламоқ    жадвал 2.8

Таъминловчи

Материаллар шифри

Омбархона шифри

ПС1

ЭК-1Б

С1

ПС2

ЭК-2э

С2

 

сарфламоқ       жадвал 2.9

Деталлар шифри

Материаллар шифр

Истъемолчи

Д1

ЭК-1Б

ПТ1

Д2

ЭК-2э

ПТ2

 

Олмоқ       жадвал 2.10

Омбархона шифри

Истеъмолчи

Материаллар шифри

С1

ТТ3

ЭК-1Б

С2

Таксапарк

ЭК-23

 

 

Тайерламоқ       жадвал 2.11

Истъемолчи

Деталь номи

ПТ1

Консоль

ПТ2

Клапан

 

 

Мавжуд бўлмоқ       жадвал 2.12

Омбархона шифри

Материаллар шифри

Миқдори тонна

сана

С1

ЭК-1Б

3

01.01.07

С2

ЭК-2э

4

12.31.07

 

Характеритикалар :

 

Сарфлаш микдори     жадвал 2.14.

Деталлар

Материалларни сарф микдори  г/деталь

Материаллар шифри

Консоль

300

ЭК-1Б

клапан

200

ЭК-2э

 

Таъминлаш микдори     жадвал 2.15

Материаллар шифри

Келтирилган материал миқдори тоннада

ЭК-1Б

5

ЭК-2э

6

 

Ранг     жадвал 2.16

Материаллар шифри

Ранг

ЭК-1Б

Ок

ЭК-2э

Яшил

 

Кирим-чиқим микдори   жадвал 2.17.

Материаллар шифри

Чиқим (тонна)

Кирим (тонна)

сана

Омборхона шифри

ЭК-1Б

0.5

1

20.01.07

С1

ЭК-2э

0.1

1

20.02.07

С2

 

Колдик       жадвал 2.18.

Материаллар шифри

Қолдик (тонна)

Сана

Омборхона шифри

ЭК-1Б

3

20.01.07

С1

ЭК-2э

4

20.02.07

С2

 

         Назорат саволлари.

1.     “Реляцион маълумот базаси” дейилганда нимани  тушунасиз?.

2.     “Кортеж” , “Домен “ тушунчаларига таъриф беринг.

3.     Реляцион маълумот базаси жадваллари устида бажараладиган қандай амалларни биласиз?.

4.     Биринчи, иккинчи ва учинчи нормал формаларга таъриф беринг.

5.     Биринчи нормал формада берилган  жадвални, иккинчи  нормал формага ўтказмасдан,  тўғридан тўғри  учинчи нормал формага  келтириш мумкинми?

                           

                                      3 – ТАЖРИБА ИШИ

 

МАВЗУ.  МАЪЛУМОТЛАР  БАЗАСИГА СЎРОВЛАР ТИЗИМИНИ ЯРАТИШ. МББТ ТАНЛАШ.

 

Ишдан мақсад:   Маълумотлар базасига  сўровлар тизимини яратиш  кўникмаларини эгаллаш.

 

         Масалани қўйилиши ва топшириқлар . Лойиҳаланаетган маълумотлар базасига  сўровлар тизимини тузингва уни реляцион схема кўринишида тасвирланг. Маълумотлар базасини бошқариш тизимини танланг.

         Услубий кўрсатмалар.  1. Маълумотлар  базаси  (МБ)   буюртмачиси билан биргаликда  , маълумот базасига сўровлар тизимини ишлаб чиқиш зарур. Ишлаб чиқилган сўровлар тизими релевант яратилган “Моҳият- алоқа” моделига  ва буюртмачини талабларини максимал даражада қондириши керак . Агар буюртмачи қўйган талабларига  қурилган “моҳият- алоқа” модели  сўровлар тизими , тўла қаноатлантирмаса, унда предмет соҳани  қўшимча ўрганиб ва таҳлил қилиб  чиқиб, “Моҳият- алоқа” модели  керакли   элементлар,  боғланишлар ва мунособатлар билан тўлдирилади.

2. Сўровлар тизимини маълумотлар базасидан фойдаланувчига  бериладиган ахборот бўйича стандарт ва ностандарт  (регламентланмаган)  сўровларга синфланади.

3. Маълумотлар базасига регламентланмаган сўровлар деб фойдаланувчиларни жорий эҳтиёжларига  қараб , лекин қурилган модел имкониятлари чегарасида ва бу суровларни унга релевантлигини  сақлаган  ҳолда ўзини таърифини ўзгартириш   имконини берадиган сўровларга айтилади.

"Омборхона" предмет соҳаси учун сўровлар тизимига мисоллар.

1). Омборхонада мавжуд барча материалларни ташқи тавсифини топинг;

2).Материалларни номларини ва қабул қилиш санасини топинг; З).Омборхонада мавжуд бўлмаган материаллар номини топинг;

4).Истеъмолчилар ва материаллар номини топинг;

5).Материалларни олган, омборхона номларини топинг;

6).Ҳар бир материал учун  омборхона  тартиб рақами, омборхонадаги миқдори,  уларнинг кирим, чиқимини топинг;

7).М1 тартиб рақамли материаллар миқдори ва истеъмолчиларини топинг;

8).Вазни >100 бўлган  материалларни  кирим ва чиқим миқдорини топинг;

9).С1 тартиб рақамли  омборхонадаги   материаллар  номини   ва  уларни миқдорини аникланг;

10).Максимал  вазнга эга бўлган қизил рангли материалларни номини топинг;

11).Энг енгил вазнли деталь учун зарур бўлган материалга талабни  (миқдори ва истеъмолчи) топинг;

12). 31.04 кунда қабул қилинган материалларни тартиб рақамини топинг;

13).П1 истеъмолчига зарур бўлган  барча материаллар сақланадиган ҳамма омборхоналарни топинг;

14). Қизил рангли материаллар керак  бўлган барча истеъмолчиларни топинг;

15).Вазни 40 дан катта бўлган талаб қилинган миқдордаги материалларни ва улар учун барча истеъмолчиларни топинг;

16).М1 ва М2 материаллар сақланаётган барча омборхоналарни топинг;

17). 31.04 санада олинган, қанақа бўлмасин бирорта материаллар зарур  бўлган   барча истеъмолчиларни топинг;

18).С1 тартиб рақамли омборхонадаги материаллар номини ва уларни миқдорини аниқланг;

19).П1 истеъмолчига зарур бўлган материалларни умумий оғирлигини аниқланг;

20).П1 истеъмолчига зарур бўлган материалларни умумии сонини топинг;

21).Ҳар бир материал ва ҳар бир омборхона учун омборхонани янги ҳолатини қуйидаги формула билан ҳисобланг

кол = кол0 + кол1 - кол2

   I          I            I

            қолдиқ    кирим       чиқим

22).Ҳар бир материал бўйича киримларни умумий миқдорини  топинг;  

23). Ҳар бир омборхона ва ҳар бир материал учун чиқимларни умумий миқдорини топинг;

24). Энг кўп миқдорда талаб бўлган материалларни топинг;

25).”Кирим муносабатига танлаш қўйинг;

26).Омборхона жорий ҳолатини ўзгартиринг (кирим  ва чиқим
ҳисобга олинсин);

27). Барча муносабатларда танлашларни йўқотинг;
28).Ҳар бир материал учун етишмасликни ҳисобланг;

  29).Оқ материални ортиқчасини ҳисобланг;

  30).Максимал ортиқчаликка эга материалларни танланг;

  31). М1 ва М2 материаллар сақланадиган барча омборхоналарни
қўшимча муносабат яратиб топинг.

 

        4. Маълумотлар базасини реляцион схема кўринишида тасвирланг. Маълумотлар базасини бошқариш тизимини (МББТ) танлаш.

Ишларни бажариш зарур:

а). “Моҳият-алоқа” модели бўйича уч тоифа мунособатларини ажратинг:

        -тушунчалар,

        -“ходиса” мунособатлари,

        -“характеристика” мунособатлари

Мисол.

“Моҳият-алоқа “ модели учун барча тоифа мунособатларини жадвал 2.1. да келтирамиз.

            МББТ танлаш.    МББТ танлаш   асосан   иловалар  тоифасига боғлиқ бўлади.  Иловалар  тоифаси  МБ  мурожаат  қилиш  усулларини  аниқлаб беради. Охиргиси ўз навбатида режалаштирилган сўровлар билан аникланади. Қуйидаги тоифалар фарқланади:

Тоифа 1. Барча ёки кўп ёзувларни  олиш. Бу тоифага кўп ҳолларда кетма - кет қайта ишлаш, катта ҳисоботларни генерациялаш ва пакетли (гуруҳли) қайта ишлашлар киради.

Тоифа 2. Ягона ёзувларни олиш, Мурожаат факат битта ёзув учун амалга оширилади. Бу тоифага тўғридан- тўғри  мурожаат усули, ихтиерий мурожаат усули, индексли усул, бинар дарахт усули ва бошк.алар  киради.

Тоифа 3. Бирорта ёзувларни олиш. Бундай тоифадаги сўровларга иккиламчи калит бўйича кидириш муҳим аҳамиятга эга. Бу ҳолда инвентирланган мурожаат усули фойдаланишга қулай.

Бундай синфлашни ҳисобга олиш  МББТ амалга  оширишни  энг қулай  имкониятларини таъминлайди, сўровга жавоб олиш вақтига ва хотира  ҳажмига қўйиладиган талабларни қаноатлантиради.

Реляцион схема МБсини сўровлар тилига қўйилган талабларга тўла жавоб беради, бошкача айтганда,  сўровлар  тили бир вақтда ҳам ўрганиш учун содда ва ишлатиш учун енгил бўлиши таъминлайди.

 

Назорат саволлари.

1.     Маълумотлар базасига қилинадиган сўровларни қандай кўринишларини  биласиз?.

2.     Маълумотлар  базасига сўровлар тузишда қандай тиллар ишлатилади.

3.     Фойдаланувчи  маълумотлар  базасига сўровлар тили ёрдамида мурожат қилганда нима олади.

4.     МББТ ни қандай тоифа функцияларини  биласиз?.

5.     МББТ асосий ташкил этувчиларини  айтиб беринг.

6.     МБ ишлаб чиқиш учун МББТ танлаш  қандай мезонлар билан аниқланади.

 

 

 

4 – ТАЖРИБА ИШИ

 

МАВЗУ .  МАЪЛУМОТЛАР БАЗАСИНИ ЮРИТИШ ДАСТУРЛАРИНИ ЯРАТИШ.

 

Ишдан мақсад:   SQL   операторлари билан ишлаш кўникмаларини эгаллаш. Танлаб олинган маълумотлар базасини  бошқариш тизимида МБ юритиш дастурларини яратишни ўрганиш.

 

Масалани қўйилиши ва ишга топшириқлар.

1.     Маълумот базасини яратиш учун SQL  конструкцияларини ўрганинг.

2.     Берилган предмет соҳасига  “Моҳият- алоқа”  модели асосида ишлаб чиқилган  жадвал тузилмалари учун маълумот базасини яратинг.

3.     WISQL    ёки     SQL-EXPLORER  муҳитида ишлаб чиқилган маълумот базасини физик  структурасини  яратинг.

4.     Маълумот базасига бир қанча ахборот  киритинг ва унинг асосида барча фойдаланадиган структураларни ишлашини намойиш қилинг.

 

Услубий кўрсатмалар.  Мижоз сервер  архитектурали компьютер тармоқларини бир қанча афзалликлари бор. Жумладан:

-         Кўпчилик ҳисоблаш жараенлари серверда амалга оширилганлиги учун, мижоз компьютерларини ҳисоблаш қувватига талаб унча юқори бўлмайди.

-         Мижозга бутун МБ эмас , балки сўралган маълумотлар  юборилганлиги учун тармоқ трафикаси пасаяди.

-         Бизнес қоидаларни катта қисмини  серверга ўтказилганлиги, хуқуқсиз мурожатлардан марказий маълумот базасини ҳимоясини етарли даражада ортганлиги,  ҳамда транзакцияларни марказий бошқаруви ҳисобларига бутун тизимни хавфсизлиги сезирарли  ошади.

SQL  InterBase (IBDataBase) сервери бир вақтда бир нечта мижоз иловаларини маълумотлар базаси билан  ишлашини  таъминлаб , катта ҳажмдаги ахборотларни сақлаш ва қайта ишлаш учун мўлжалланган.

Қуйида серверни асосий имкониятлари келтирилган:

Маълумотлар базасини бир бутунлиги таъминлашни амалга ошириш:

·        Жадваллар орасидаги тобъелик мунособатига бирламчи ва ташқи калитларни бериш билан;

·        Устунларга киритилаетган қийматларга  қўйилган чеклашларни текшириш  (диапазони текшириш, маскага мослигини аниқлаш ва бошқа жадвалдаги ёзувлар билан талаб қилинган мунособатларни ўрнатиш;

·        Триггерлар – жадвалдаги езувларни модификация қилингандан (ўзгартирилгандан) олдин ва кейин автоматик равиш бажарилади;

·        Генераторлар майдонга ягона қиймат бериш учун ишлатилади.

Мижоз иловаларини ишлашини тезлатиш учун сақланувчи процедуралар ва виртуал жадваллар ишлатилади.

Сервер ялросида қатнашмаган функцияларни киритиш учун, INTERBASE  DLL ёрдамида уланадиган , фойдаланувчи томонидан аниқланадиган функцияларни  ишлатиш имконини беради.

Баъзи аниқ ҳодисалар рўй берганда INTERBASE мижоз иловаларига хабар юбориши мумкин, ундан ташқари ишлаётган иловалар  сервер орқали хабарлар билан алмашиши мумкин.

Маълумотлар базасига мурожат килиш учун Windows Interactive SQL (WISQL), утилитасидан фойдаланамиз. Бу утилита INTERBASE ва  SQL EXPLORER комплектига кириб, DELPHI пакети билан бирга етказилиб берилади.

Серверда фойдаланувчи сўровларини бажариш жараенини таҳлил қилиш ва кўриш учун  SQL Monitor утилитаси ишлатилади.

Мазкур тажриба иши доирасида ихтиёрий МББТ  (SQL-SERVER, MYSQL,   ORACLE  ва бошқалар) ердамида

1.Янги маълумот базасини яратиш .

2.Мавжуд МБ очиш.

3.Жадваллар яратиш

4.Индекслар яратиш.

5.Доменлар яратиш.

6.Сақланувчи процедуралар яратиш.

7.Тригеррлар яратиш

каби вазифаларни бажариш талаб этилади.

Қуйида  тажриба ишларини муваффақиятли бажариш учун зарур бўлган кўпгина конструкцияларни (структураларни) DELPHI муҳитида берилишини қисқача тавсифи ва мисоллари келтирилган. DELPHI мухитида маълумотлар базаси билан ишлаш бўйича тўлароқ ахборот олиш учун  адабиётлар мурожат қилинг.

 

Янги маълумот базасини яратиш.

         INTERBASE  сервери ишга туширилган деб тахмин қиламиз.

0.     WISQL  ишга туширамиз (Пуск | Программы | Interbase Client 5.1 | WISQL).

1.     File | Create Database

2.Local Engine ни белгилаймиз,    Database га яратилаётган файл номини  ва йўлини киритамиз. Унинг стандарт кенгайтмаси - . gdb. User Name майдонига  SYSDBA киритамиз, Password майдонига masterkey ни киритамиз.  Databasse Options майдонига  DEFAULT CHARACTER SET WIN1251 киритамизOK тугмаси босилади.

3. Агар хатолик ҳақида хабар пайдо бўлмаса, маълумот базаси яратилган бўлади. Шундан сўнг , уни маълумот билан тўлдириш зарур. Бу ҳақда кейинги бўлимда гапирилади.

         Маълумотлар базасини  шунингдек , SQL тили воситалари  ёрдамида ҳам яратиш мумкин. Масалан:

CREATE DATABASE "C:\Work\PV51\MiD\Walmart.gdb" PAGE_SIZE 1024

USER 'SYSDBA' PASSWORD 'masterkey'  DEFAULT CHARACTER SET WIN1251;

Мавжуд маълумотлар базасини  очиш.

 

INTERBASE  сервери ишга туширилган деб хисоблаймиз.

0.   WISQL ни ишга туширамиз  (Пуск | Программы | Interbase Client 5.1 | WISQL

1.  File | Connect to DataBase

2.  Пайдо бўлган дарчада , маълумотлар базасини яратишда ишлатилган  барча параметрларни киритамиз.

3.  Нажать OK тугмасини босамиз. Агар хатоликлар ҳақида хабар чиқмаса, унда маълумотлар  базасини очилиши муваффақиятли  ўтган бўлади.   

 

Доменлар яратиш

Доменлар жадвални шу доменларга мос устунларида сақланадиган қийматлар тўпламини аниқлайди. Доменларни аниклашга мисол :

CREATE DOMAIN TPHONE AS CHAR(8) CHECK (VALUE LIKE "___-____");

 

Жадваллар яратиш

Маълумотлар базаси яратилган ёки очилгандан кейин,  унда жадваллар яратиш талаб этилади. Жадвалларни яратиш WISQL еки SQL Explorer ердамида  бажарилиши мумкин. Охирги ҳолда бу жараён  оддий ва равшан  бажарилади, шунинг учун аввал уни  кўриб чиқамиз .  Маълумотлар базаси псевдонимида  сичқонча икки марта босилиб,   фойдаланувчи номи ва пароли киритилгандан сўнг, Tables  да сичқончани  ўнг кнопкаси босилади, New  танлаб олинади  ва жадвал номи  киритилади. Шундан сўнг янги жадвал устида сичқончани икки марта чертамиз (босамиз), Columns, устида сичкончани ўнг тугмасини босамиз, устун номини киритамиз, унинг тоифасини еки унга мос доменни берилади. Худди шу каби бирламчи калитни тайинлаймиз,  мурожатни  бутунлигини (боғланганлигини) аниқлаймиз.  Амалга оширилган ўзгартиришлардан сўнг, уларни (қилинган ўзгаришларни) сақлаш учун Apply (юқоридаги  ускуналар панелидаги кўк стрелка ) ни, танлаб оламиз.

Бошқа компоненталарни (триггерлар, генераторлар, индекслар) яратилиши ҳам  SQL Explorer дастурида худди шунга ўхшаш амалга оширилади, шунипнг учун бундан кейин тузилмаларни (структураларни) яратиш усулларини  WISQL  фойдаланиб  бажаришни кўриб чиқамиз.

 WISQL да жадвал яратиш. Бунинг учун SQL Statement дарчасида  жадвалларни  яратиш операторини киритиш зарур. Масалан:

CREATE TABLE MAIN (

 SITE                   CHAR(30) CHARACTER SET WIN1251 NOT NULL,

 ZIP            CHAR(5) CHARACTER SET WIN1251,

 ADDR                CHAR(50) CHARACTER SET WIN1251,

 PHONE     TPHONE NOT NULL,

 STORENUM      INTEGER NOT NULL,

 PHARMACY     TBOOLEAN,

 PHOTO     TBOOLEAN,

 TIRES       TBOOLEAN,

 CONSTRAINT CPHONE UNIQUE (PHONE),

 CONSTRAINT ISTORENUMM PRIMARY KEY (STORENUM));

 

Индексларни яратиш.

Индексларни яратиш учун  WISQL дарчасида индексни аниқлаш операторини киритиш мумкин. Мисол:

CREATE INDEX ISITE ON MAIN(SITE);

 

Генераторлар яратиш.

Генераторлар калит майдонларга ягона қийматларни тайинлаш учун ишлатилади. Шу маънода, улар PARADOX жадвалларидаги автоинкремент майдонларига ўхшайди. Генераторлар яратишни мисол билан кўрсатиш мумкин.

CREATE GENERATOR GSTORENUM;

 

Кўринишларни ( акслантиришлар , тасаввурлар, виртуал жадваллар)  яратиш.

Тассавурлар ядроси SELECT оператори ҳисобланиб, у виртуал жадвалларни мазмунини (таркибини ) шакллантиради.  У тасаввурларни   жисмида ёзилади. Сарлавҳасида чиқарилаётган майдонлар тавсифланади. Мисол:

CREATE VIEW PHARMACY (SITE, GRIDLOC, ZIP, ADDR, STATE, AREACODE, PHONE) AS

SELECT M.SITE, S.GRIDLOC, M.ZIP, M.ADDR, S.STATE

FROM MAIN M, SITEDETAIL S

WHERE (M.PHARMACY="Present") AND (M.SITE=S.SITE);

 

Сақланувчи процедуралар яратиш.

 

Сақланувчи процедуралар серверда компиляция қилинади, сақланади, ва бажарилади, ва мижозга тармоқ бўйича фақат бажарилиш натижалари юборади. Масалан, сақланувчи процедуралар  берилишига доир мисол:

 

SET TERM ^ ;

CREATE PROCEDURE GET_INFO

RETURNS (NUM_SITES INTEGER, NUM_STATES INTEGER, SUM_INCOME INTEGER,

NUM_EMPLOYEES INTEGER, AVG_RATING FLOAT, OLDEST_EMPLOYEE DATE) AS

BEGIN

SELECT COUNT(DISTINCT M.SITE), COUNT(MD.STATE), SUM(S.ANNUALINCOME), COUNT(E.EMPNAME), AVG(E.RATING), MIN(E.BIRTHDATE)

FROM MAIN M, MONEYDETAIL MD, STOREDETAIL S, EMPLOYEEDETAIL E

INTO :NUM_SITES, :NUM_STATES, :SUM_INCOME, :NUM_EMPLOYEES, :AVG_RATING,:OLDEST_EMPLOYEE;

 SUSPEND;

END ^

 

Фойдаланувчи функциясини аниқлаш.

Фойдаланувчи функциялари  маълумотлар базасига, унда илгари бўлмаган   хусусиятларни бериб, уни функцияларини (вазифаларини) кенгайтириш имконини беради. Функцияларни улаш учун, бу функцияни ўз таркибига олган DLL – кутубхонасини олдиндан яратиш ва компиляция қилиш зарур. Агар кутубхона DELPHI да ёзилган бўлса, унда функция сарлавҳасидан кейин CDECL;EXPORT;  калит сўзлар кўрсатилган бўлиши керак,  модуль ўзи эса unit кўринишида эмас, балки library кўринишида расмийлаштирилиши  керак. INTERBASE МББТ да фойдаланувчи функцияларини тавсифига доир мисол:

DECLARE EXTERNAL FUNCTION DELS CSTRING(256) CHARACTER SET WIN1251

RETURNS CSTRING(256) CHARACTER SET WIN1251 

ENTRY_POINT "DelSpaces" MODULE_NAME "C:\Work\PV51\MiD\WalDll.dll";

 

Триггерларни яратиш. 

Триггерлар- МБ жадвалига ўзгаришлар киритганда  автоматик ишга тушадиган  процедуралардир. Улар ёрдамида мурожатни бир бутунлиги, каскадли ўзгаришларни бажариш, агрегат функцияларни ҳисоблаш ва жадваллар устида ихтиёрий бошқа  амаллар  бажаришни таъминлаш мумкин. Қуйидаги мисолда  триггерларни иккита жадвалдаги  ахборотларни тиклаш, генератордан қиймат олиш ва  фойдаланувчи томонидан аниқланадиган функцияни чақиришга татбиқ этишни намойиш қилади: 

CREATE TRIGGER BI_MAIN FOR MAIN                           

ACTIVE BEFORE INSERT POSITION 0

AS

BEGIN

NEW.STORENUM=GEN_ID(GSTORENUM,1);

NEW.SITE=DELS(NEW.SITE);

INSERT INTO STOREDETAIL (STORENUM,SQFEET,EMPLOYEES,ANNUALINCOME)

 VALUES (NEW.STORENUM,0,0,0);

IF (NOT EXISTS (SELECT * FROM SITEDETAIL WHERE SITE=NEW.SITE)) THEN

 INSERT INTO SITEDETAIL (SITE,GRIDLOC,STATE,AREACODE)

        VALUES (NEW.SITE, "?-??","??","????");

END ^

Назорат саволлари.

1. SQL тилини учта асосий ташкил этувчисини айтиб беринг

2.  SQL тилини асосий функцияларини айтиб беринг.

3.  SQL тилини  стандарти деганда Сиз  нимани тушунасиз?

4.   InterBase  МББТ  SQL нинг имкониятларини тавсифлаб беринг.

5.   ORACLE  МББТ   SQLнинг имкониятларини тавсифлаб беринг.

                  

 

 

         5 –ТАЖРИБА ИШИ

 

МАВЗУ:  SQL ТИЛИДАГИ СЎРОВЛАР АСОСИДА МАЪЛУМОТЛАРНИ ҚАЙТА ИШЛАШ ДАСТУРЛАРИНИ ЯРАТИШ.

 

Ишдан мақсад. Маълумотлар базасига  SQL тилидаги  сўровлар асосида маълумотларни қайта ишлаш дастурларини яратиш   кўникмаларини  эгаллаш.

 

 Масалани қўйилиши ва ишни бажаришга топшириқлар.

Биринчи тажриба ишида яратилган маълумотлар базаси билан ишлаш учун мижоз иловасини яратинг. Бу илова қуйидаги талабларга жавоб бериши керак.

1.     Иловада бош форма бўлиши ва ундан бошқа формалар чақирилиши керак.

2.     Маълумотлар базасини ҳар бир жадвалига ва тасаввурига , уни кўриш ва таҳрирлашни амалга ошириш мумкин  бўлган, ўзини формаси (ёки саҳифаси)  бўлиши керак.

3.     Маълумотлар базасини  бошқариш учун барча зарур бошқариш элеменларини (TDBMemo, TDBEdit, TDBRichText, TDBGrid, TDBNavigator ва бошқалар) ишлатиш керак.

4.     Лойиҳада Master-Detail  мунособати билан Master Source, Master Fields хоссалари ёрдамида боғланган иккита жадвални акслантирувчи, хеч бўлмаганда  битта форма бўлиши керак.

5.     Лойиҳада TDBLookup (list box ёки combo box) компонентасидан фойдаланишни кўрсатувчи ҳеч бўлмаганда битта форма бўлиши керак.

6.     Илова лойихасини яратишда Visual Query Builder утилитасини  ишлатиш керак. Унинг ёрдамида фақат ўзгарувчан параметрли сўровларгина яратиб қолмай, балки тузилмалари (структуралари) созлашга тез мосланувчан (жадвалларни боғлаш,  шартларни,  майдонларни, тартиблаш усулларини танлаш ва бошқалар)  сўровлар ҳам яратиш мумкин бўлсин.

7.     Лойиҳада иккита – оддий ва мураккаб ҳисобот бўлиши керак. Мураккаб ҳисоботнинг мазмуни бир нечта жадвал асосида ташкил қилинади ва унда гуруҳлаш, жамини ҳисоблаш ва бошқалар қўлланилади.

8.     Лойиҳада маълумотлар базаси бўйича бирорта статистикани  акслантирувчи графикалар бўлиши керак.

9.     Илова содда ва тушунарли интерфейсга, чиройли дизайнга  эга бўлиши, DBGrid компонента  майдонларини номлари ўзбекча бўлиши керак.

 

Назарий кириш

Маълумотлар базаси билан ишлайдиган иловаларни яратишни мукаммал ўрганиш учун  Delphi, С++, С#, MS ACCESS  бўйича адабиётлардан фойдаланиш тавсия этилади.

Мижоз сервер архитектурасида иловалар яратиш  ўзига хос хусусиятларига эга.

1.     Иловада  серверга қилинган сўровни бажариш натижасини барча маълумотларини узатишни талаб қиладиган  TTable компонентаси ўрнига,  TQuery компонентасидан фойдаланиб яратиш  тавсия этилади, чунки у сервердан визуаллаштириши лозим бўлган  маълумотларгина кабул қилади.

2.     МБ ўзгартиришларни бажариш учун битта (жорий) ёзувлар билан ишлайдиган Insert, Edit, Delete, Post, Cancel усулларидан эмас, балки бирданига ёзувлар тўплами билан амал бажарадиган INSERT, UPDATE, DELETE  SQL-операторларидан фойдаланиб амалга ошириш керак.

3.     Мижоз иловаларини ишини енгиллаштириш учун , бизнес қоидаларни  имкони борича серверга кўчириш керак.

4.     Имкони борича  оддий SQL-сўровларга нисбатан  тезроқ  бажарилувчи ва тармоқни ишини (юкланишини) камайтирувчи сақланувчи процедуралардан фойдаланиш керак.

5.     Зарур бўлган барча жойда транзакцияларни бошлашни (старти) ва тасдиқлашни TDataBase.StartTransaction и TDataBase.Commit усулларини ошкор ҳолда чақириб бажариш керак; маълумотлар базасидаги бирор бир ўзгаришларни тасдиқлашни ошкормас ҳолда бошлаш ва тугатиш ( SQLPASSTHRU=SHARED AUTOCOMMIT режимида) транзакциялари билан бажариш тармоқ юкланишини ошишига ва унинг ишласини секинлашишга олиб келади.

6.     Маълумотлар  базасига бўладиган сўровларни оптималлааштиришга жиддий эътибор беринг, айниқса    маълумотлар ўқиганда (SELECT), чунки оптимал тузилган сўровлар анча тез бажарилади ва кам ресурслар талаб этади.

 

Дастурдан маълумот базаси билан боғланиш  TDataBase      компонентаси  ёрдамида амалга бажарилади. Alias name  параметрида илгари яратилган  маълумот база псевдонимини  танлаймиз,   Parameter Overrides  дарчасида USER    NAME=SYSDBA
PASSWORD=masterkey  киритамиз. Мулоқотда парол сўрашни бекор қилиш учун  Login prompt   режимидаги “ v “ белгини олиб ташлаймиз.

OK тугмасини босамиз.

Маълумотлар базаси билан уланиш учун Connected хоссасида  True қийматини ўрнатамиз.

         Мижоз иловасида маълумотлар  база жадваллари билан ишлаш.

Ҳар бир жадвал учун TTable  объектини яратамиз. Уларнинг ҳар бирини   DataBase хоссасида маълумотлар базасини псевдонимини жойлаштирамиз.  TableName  хоссаларида ҳар бир компонента учун  мос равишда жадвал номларини танлаб оламиз. Ҳар бир TTable  компонентаси учун ўзини   DataSource  компонентасини яратамиз. Шундан сўнг оддий  локал жадваллар билан  ишлагандай ҳаракат қиламиз.

Кўринишлар ва виртуал  жадваллар мижоз иловаси учун  оддий реал жадваллар каби кўринади, шунинг учун  уларда ҳам Ttable компонентасини ишлатиш мумкин.

Бошқа компоненталарни ишлатиш тавсифи кўп хажм эгаллайди ва услубий кўрсатмалар доирасидан чиқиб кетади. Бундай  ахборотларни олиш учун мос адабиётларга мурожат қилинг.    

 

Ҳисоботларни  яратиш .

Ҳисобот  яратиш учун  TquickRep  компонентаси  ишлатилади. Унда TQRLabel, TQRDBText,TQRExpr, TQRSysData  компоненталари ёрдамида  ҳисобот соҳалари берилади.  Ҳисобот  соҳаларига  ҳисоботдаги  ахборотлар  акслантурувчи  TQRLabel, TQRDBText, TQRExpr,  TQRSysData  ва бошқа компоненталар жойлаштирилади.  Қуйида  компоненталар  ва уларни вазифалари   қисқача  санаб ўтилади. Тўла ахборот олиш учун  Delphi бўйича адабиётларга  ва  Delphi  таркибига кирган ёрдам маълумотномасига  (HELP) мурожат қилинг.

TQRBand -  маълумотлар, сарлавҳалар, ҳисобот титуллари ва бошқаларни жойлаштириш учун соҳа.  Бу компонентани  BandType  хоссаси уни  ҳисоботдаги  функцияларини аниқроқ белгилаш имконини беради;

TQRSubDetail – ҳисоботда   Master-Detail боғланиши амалга оширилган бўлс а,  тобъе  жадвал  маълумотлари  жойлашадиган  ҳисобот  соҳаси;

TQRGroup – компонентани  Expression хоссасида бериладиган  ифоданинг  қийматига  биноан,  ҳисоботда  маълумотларни  гуруҳлаш  учун қўлланилади;

TQRLabel – ҳисоботда  статистик  матн,  ёзувлар ва бошқаларни жойлаштириш имконини беради; 

TQRDBText – ҳисоботда  маълумотлар тўпламини  майдонлари  қийматларини жойлаштириш имконини беради;

TQRExpr -  ифодани  ҳисоблаш натижаси бўлган қийматларни  ҳисоботда жойлаштириш имконини беради. Ифоданинг ҳисоблаш алгоритми бу компонентани формулалар таҳририятида  тузилади;

TQRMemo – изоҳ майдонларини қийматини чиқариш учун;

TQRRichText -  RTF майдонларини чиқариш;

TQRShape – график фигураларни чиқариш, масалан чизиқ, чорчўп (рамка) ;

TQRImage – ҳисиботга тасвирий ахборотларни чиқариш учун ишлатилади;

TQRChart – ҳисоботда графикалар чиқариш , масалан , маълумотлар базасида жойлашган ахборот бўйича қурилган графикалар;

TQRSysData - - ҳисоботга  бирорта  махсус  ахборотларни , масалан жорий  саҳифани , устун, сана, вақт, маълумотлао тўпламидаги ахборот миқдори ва бошқаларни  жойлаштириш имконини беради.

Оддий ҳисобот   TQRLabel. TQRShape, TQRDBText  турдаги асосий компоненталарни  қўллашни намойиш қилиши керак.

Мураккаб ҳисоботлар  ўз таркибига  коллонтитулларни  ишлатишни, бир неча жадвалдаги маълумотларни танлаш, маълумотларни гуруҳлаш, агрегат ахбаротларни ҳисоблашларни олиши керак.

 

 

                                                                                                                                                                                                              

Назорат саволлари.

1.     Иловадан  маълумотлар базасига  мурожат қилгандаги  МББТ функцияларини санаб ўтинг

2.     Компиляция қилинган илова учун маълумотлар базасини  мадади (таъминлаши)  керакми?

3.     Маълумотлар базасига  мадад бериш учун қайси тиллар ишлатилади.

4.     Сақланувчи процедуралар деганда нимани тушунасиз?

5.     SQLурдаги тиллар замонавий МББТда фарқланадими?

 

 

 

 

 

 

 

 

  ТАЖРИБА ИШЛАРИНИ ТОПШИРИҚ ВАРИАНТЛАРИ

Жадвал 1

Ахборот тизимларни кўриниши

              к

Предмет  соҳа

          j           

Нуқтаи назар

      n

Жадвал 2

   Предмет соҳасини номлари  (  j  )

 

1.Таъминловчи - таъминот.

2. Кутубхона

3. АТДТ мутахасислигида ўқиш

4. Компьютер

5. Автомобиль

6. Йўл ҳаракати

7. Автомобил ҳайдаш

8. Кундузги бўлим деканати

9. MS -DOS олерацион тизими

10. Дастурлаш  тиллари  (ПАСКАЛЬ, Си, Basic  ва бошқалар т.д.)

11. Ўрта мактаб

12. Олий ўқув юрти

13. Кафедра ( танлаб олиш бўйича)

14. Цех

15. Поликлиника бўлими

16. Ҳисоблаш маркази

17. Корхона бухгалтерияси

18. Кичик корхона (танлаб олиш бўйича)

19.  Магазин

Жадвал 3

Ахборот  тизимларни кўриниши   (  k )

1. Ўқитувчи

2. Диагноз қўювчи

3. Маслаҳатчи

4. Прогноз ( башоратловчи)

5. Ёрдамлашувчи

6. Таҳлиловчи

7. Қидирувчи

8. Режалаштирувчи

9. Жадвал тузувчи

10.Иш режаси тузувчи

11.Тестловчи

Жадвала 4

 

 

n

Маълумотлар базасидан фойдаланувчи нуқтаи назари

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14
 15

16

17

18

19

 

Таъминловчи

Талаба

Кафедра ўқитувчиси

 Фойдаланувчи

 Ҳайдовчи

Пиёда

Ҳаваскор ҳайдовчи

Декан

Тизимли дастурчи

Амалий дастурчи

Директор

Проректор ёрдамчиси

Мудир

Бошлиқ

Врач

ХМ оператори

Бухгалтер

 Кичик корхона раҳбари

Сотувчи

 

 

 

 

 

 

                   АДАБИЁТЛАР

1. Четвериков В.Н. и другие

"Базы и банки данных". Москва, ВШ, 1987г.

2. Кливерт Ч. Энциклопедия пользователя Delphi2,DiaSoft,Киев,1996г.

3. Т. Коннолли, К Брегг. Базы данных. проектирование, реализация и сопровождение теория и практика, Университет Пейсли, Шотландия, изд М • СПБ •Киев, 2003.

4. А.Я. Архангельский Delphi 7, Москва, изд. «Бином», 2003.

 

 

 

 

 

 

 

 

 

 

 

 

 

МУНДАРИЖА

Кириш.      .        .        .        .        .        .        .        .        .        .        3

Тажриба иши    №1.    .        .        .        .        .        .        .        .        4

Тажриба иши    №2.    .        .        .        .        .        .        .        .        8

Тажриба иши    №3.    .        .        .        .        .        .        .        .        12

Тажриба иши    №4.    .        .        .        .        .        .        .        .        16

Тажриба иши    №5.    .        .        .        .        .        .        .        .        23

Топшириқ  вариантлари.     .        .        .        .        .        .        .        29

Адабиётлар.       .        .        .        .        .        .        .        .        .        31