ЎЗБЕКИСТОН АЛОҚА ВА АХБОРОТЛАШТИРИШ АГЕНТЛИГИ
ТОШКЕНТ АХБОРОТ ТЕХНОЛОГИЯЛАРИ УНИВЕРСИТЕТИ
АХБОРОТ ТЕХНОЛОГИЯЛАРИ ФАКУЛЬТЕТИ
«Маълумотлар банки ва базалари» фанидан
Тузувчилар: |
Тошкент ахборот технологиялари университети «Ахборот технологиялари» кафедраси доц. Гаипназаров Т.С., проф. Зайнидинов Х.Н.
|
|
Маълумотлар банки ва базалари фанидан услубий кўрсатмалар 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 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