№1 басылым 03. 09. 2013 №2 басылым


Дәріс №6. Дәріс тақырыбы



бет3/5
Дата31.01.2018
өлшемі1,89 Mb.
#36376
1   2   3   4   5
Дәріс №6.

Дәріс тақырыбы: Кестелердің арасындағы байланыс түрлері.

Көп жағдайда бір кесте (қатыс) жеке бір файлда сақталады. Жалпы МҚ алға қойылған мақсатқа сәйкес анықталған бір немесе өзара байланыстағы бірнеше кестелердің жиынынан тұрады, мысалы, MS Access МҚБЖ-де МҚ файлында кестелермен қатар сұрыптамалар, қорытындылар, үлгілер, макростар және модульдер сияқты басқа да МҚ-ның барлық объектілері бірге сақгалады. Реляциялық МҚБЖ-де кестелердің байланысын көрсету үшін оларды әзара байланыстыру амалын қолданады, бұл МҚ-на енгізілген мәліметтердің толықтығын, үйлесімділігін, МҚ-ның біртұтастығын кадағалауға және мәліметтер қорын өңдеу барысында қажетті деректерді тез табуға, жылдам оқуға, көруге, өзгертуге, теріп алуға және қорытынды құжаттарды оңай дайындауға мүмкіндік береді.



Жоғарыда айтылғандай МҚ-ның екі кестесінің арасында бір-біріне тәуелділік қатысы болуы мүмкін; өзара байланыстағы екі кестенің біреуі master— басыңқы (негізгі, аналық), екіншісі de­tail бағыныңқы (қосымша, балалык) кесте болып табылады. Реляциялық МҚ-да қатыстардың байланысының негізгі үш түрі кездеседі (2-кесте):

- "бірге-бір " (1:1) — one-to-one relationship;



-"бірге-көп" (1:М) — one-to-many relationship немесе "көпке-бір"(М:1);

-"көпке-көп" (М:М немесе M:N) —many-to-many relationship.

Егер Customer кестесіндегі әрбір клиенттің ешқандай немесе тек қана бір тапсырыс жасау мүмкіндігі болса, онда Customer және Order кестелері "бірге-бір" қатысымен байланыста болады. Ал егер әрбір клиент нөл, бір немесе бірнеше тапсырыс жасай алатын болса, онда бұл кестелер "бірге-көп" немесе master- detail катыста, Customer — master кесте, Order — detail кесте (2-сурет).



"Бірге-бір" байланысы (1:1) екі кестенің де байланыстырушы жиектері олардың кілті болған жағдайда орын алады, сондықган бұл кестелердің өзара дәрежелері бірдей. Бұл байланыс МҚ-да сирек қолданылады, себебі мұндай кестелердегі мәліметтерді ЭЕМ жадын тиімді пайдалану мақсатында бір кестеге біріктіруге болады.

Мәліметтер қорын өндеуді тездету, әртүрлі деңгейдегі қолданушылардың тек өзіне қажетті деректермен ғана жұмыс істеуі арқылы олардың жұмысын жеңілдету, жылдамдату мақсатында кейде бір кестедегі мәліметтерді әдейі екі немесе одан да көп бірнеше кестелерге жіктеуге болады, мысалы, бір мекеменің жүргізіп жатқан ғылыми-зерттеу жұмыстары туралы мәліметтер қорын құру керек болсын: ғылыми жұмыстың тақырыбы, мақсаты, шифры, басталған күні, аяқталған күні, зерттеу кезендерінің саны, басты орындаушы, қосымша мәліметтер. Бұл деректердің кейбіреуі "құпия", кейбіреулері — "жалпы" пайдалану мақсатында болса, оларды екі кестеге жіктеген дұрыс; мысалы, құпия мәліметтерді — жұмыстың шифрын, тақырыбын және басты орындаушыны бір кестеге, қалғандарын — екінші кестеге. Мұндай екі кесте жұмыс шифры атрибуты арқылы байланыстырылады, әрине бірінші кестені рұқсаты жоқ қолданушылардан қорғау керек.



"Көпке-бір" байланысы (М:1) негізгі және қосымша кестені анықгау барысына байланысты МҚ-нда кеңінен қодданылатын "бірге-көп " байланысының (1:М) бір түрі болып табылады.



"Бірге-көп" байланысына (1:М) қоймадан тұтынушыларға жіберілген заттарды есепке алу тарифі бойынша Tovar және Rashod кестелерінің байланысын көрсетуге болады (3,4—суретгер), мұңцағы Tovar— заттың аты, Edjzm тауардың өлшем бірлігі, Сепатауардың бір бірлігінің сату бағасы, Dataras— тауардың жібірілген күні, Kolras жіберілген заттың саны. Бұл мысалдағы 14.05.04 -не дейінгі мәліметтер бойынша күріш әлі сатылмаған, соңдықган Rashod кестесіңце күрішке сәйкес жазба жок, Rashod кестесінің кілті Tovar және Rashod жиектерінен тұрады.

МҚ құрылымының кең тараған IDEF1X нотациясында "бірге-көп" қатысы "көп" жағында дөңгелекпен аяқталған сызық арқылы көрсетіледі (2,4-суреттер)



"Көпке-көп" байланысы (М:М) негізгі кестенің бірнеше жазбасьша қосымша кестенің бірнеше жазбасы сәйкес болған жағдайда орын алады. 5-суретге "көпке-көп" байланыстағы оку топтарындағы пәндер мен сабақжүргізетін окзытушылар арасындағы катыстар көрсетілген: әрбір топка бірнеше окщушы сабақбереді;
әрбір оқытушы біріншіден, бірнеше пәндерді, екіншіден, әртүрлі топтарда сабақ беруі мүмкін.

Grpred кестесінің бірінші және үшінші жазбаларына Pred_prep кестесінің бірінші жазбасы, ал төртінші жазбасына— екінші және төртінші жазбалары сәйкес келеді. Бұл кестелерді Pred жиектері бойынша біріктіру арқылы әр топтағы пәндерді жүргізетін оқытушылар туралы мәліметгерден тұратьш Gr_pred_prep кестесін алуға болады (6-сурет).



Мәліметтер қорын жобалау барысында бірнеше кесте өзара байланыста болып, бір кесте калған кестелермен әртүрлі қатыста болуы мүмкін. Байланыста тұрған кесте басқа кестелермен тағы да байланысқан жағдайда кестелердің иерархиясы түзіледі.



Дәріс №7.

Дәріс тақырыбы: Деректер базасының стандартты SQL тілі

Қазіргі заманғы компьютерлік өнеркәсіпте SQL тілі ең маңызды тенденция болып отыр. Соңғы жылдары SQL тілі деректер базасының жалғыз тілі болды. Бүгінгі таңда SQL дербес компьютерлерде жұмыс істейтін ДББЖ-нің жүзден астамын қолдайды. SQL тілі деректер базасын басқару жүйелерінің архитектурасындағы маңызды буын болып табылады.



SQL (Structured Query Language) - бұл құрылымдық сұраныстар тілінің қысқартылған атауы. Ол реляциялық деректер базасында мәліметтерді құру және өңдеу құралдарын береді. Компьютерлік технологиялардан ерекшелігінен тәуелсіздігі және SQL-ді реляциялық мәліметтер базасының технологиясы облысындағы өндіріс жетекшілерімен қолдауы оны деректер базасының стандартты тіліне айландырды. SQL тілі деректер базасының реляциялық типімен ғана жұмыс істейді. Төменде SQL жұмысының сұлбасы бейнеленген. Есептегіш жүйеде маңызды ақпарат сақталған деректер базасы болады. Егер есептегіш жүйе кәсіпорынның кадрлар бөліміне қатысты болса, онда деректер базасында кәсіпорында қызмет ететін адамдар жайлы ақпарат (аты-жөні, туған жылы, телефоны, қызметі және т.б.) сақталуы мүмкін.

Деректер базасын басқаратын компьютерлік программа деректер базасын басқару жүйесі (ДББЖ) деп аталады. Егер қолданушыға деректер базасындағы мәліметтерді оқу қажет болса, онда оларды SQL көмегімен ДББЖ-нен сұрау керек. ДББЖ сұраныстарды өңдейді, қажет болған мәліметтерді тауып оларды қолданушыға жібереді. Мәліметтерді сұрау және нәтиже алу процесі деректер базасында сұраныстар деп аталады, яғни сұраныстардың құрылымдық тілі.

Реляциялық ДБ пайда болғанға дейін көптеген ДББЖ үшін құрылған барлық мәліметтерді басқару тілдері, файлдардың логикалық жазулары түрінде берілген мәліметтермен жүргізілетін операцияларға бағытталған. Әрине, бұл қолданушыдан мәліметтердің сақталуын, қандай мәліметтер қажеттігін, олардың қайда орналасқанын және қалай алу жолдарын білуді талап етеді.

Деректер базасында қолданылатын SQL тілі логикалық байланысқан кесте-қатынастар жиынтығы түрінде берілген мәліметтермен операциялар жүргізуге бағытталған. Осы тілдің құрылымының ерекшелігі өңдеу процедурасына емес, мәліметтерді өңдеудің соңғы нәтижесіне бағытталуында. SQL тілі мәліметтердің, индекстердің қайда орналасқанын, және нәтиже алу үшін қандай операциялар тізбегін пайдалану керектігін өзі анықтайды, сондықтан бұларды ДБ сұраныстарында көрсетудің қажеті жоқ.

Реляциялы ДБ-сы теориясының пайда болуы екі кластарға бөлуге болатын, сұраныстар тілінің қатарын өндіруге түрткі болды:

- Қатынастарға қолданылатын, сұраныстарды арнайы операторлармен бейнелеуге мүмкіндік беретін алгебралық тілдер;

- Предикаттарды санау тілдері, берілген қатынастар жиынтығынан жаңа қатынасты анықтайтын, ережелер жиынтығы. Яғни, ДБ-ғы сұранысқа жауап ретінде алынатын қатынастарды анықтау әдісі.

Қазір бұл тіл ДББЖ-сі қолданушыға ұсынатын барлық функциональды мүмкіндіктерді іске асыру үшін қолданылады. Атап айтқанда:



  • Деректерді ұйымдастыру. SQL қолданушыға мәліметтерді ұсыну құрылымын өзгерту, сонымен қатар деректер базасының элементтері арасындағы қатынастарды орнату мүмкіндігін береді.

  • Деректерді оқу. SQL қолданушыға немесе қосымшаға деректер базасынан онда сақталған мәліметтерді оқу және оларды қолдану мүмкіндігін береді.

  • Деректерді өңдеу. SQL қолданушыға немесе қосымшаға деректер базасын өзгерту, яғни оған жаңа мәліметтерді қосу, сонымен қатар онда бар мәліметтерді жаңарту немесе өшіру мүмкіндігін береді.

  • Рұқсат алуды басқару. SQL көмегімен қолданушыға мәліметтерді оқу және өзгерту мүмкіндіктерін шектеуге және оларды бекітілмеген рұқсаттан қорғауға болады.

  • Деректерді біріктіріп қолдану. SQL бір-біріне кедергі жасамас үшін қарама-қарсы жұмыс істеп отырған қолданушыға деректерді біріктіріп қолдануды үйлестіреді.

  • Деректердің бүтіндігі. SQL келісілмеген өзгертулерден немесе жүйенің қабыл алмауын бұзғандардан қорғай отырып, деректер базасының бүтіндігін қамтамасыз етуге рұқсат етеді.

Сондықтан SQL ДББЖ-мен әрекеттесу үшін жеткілікті түрдегі қуатты тіл болып табылады. Сонымен қатар, SQL тілі бүгінгі таңда реляциялық деректер базасымен жұмыс істеуге арналған жалғыз стандартты тіл болып отыр.

SQL тілінің жетістіктері. SQL – деректерді басқаруға арналған әмбебап программалық құрал. SQL тілінің жетістіктерінің негізгі ерекшеліктерін атап өтейік:

  • нақты ДББЖ-нен тәуелсіздігі;

  • бір есептеуіш жүйеден басқасына ауысатындығы;

  • стандарттардың барысы;

  • IBM компаниясымен мақұлдау;

  • Microsoft компаниясы жағынан қолдау;

  • реляциялық негіз;

  • ағылшын тілін еске түсіретін жоғарғы деңгейлі құрылым;

  • арнайы интерактивті сұраныстарды орындау мүмкіндігі;

  • деректер базасына программалық рұқсат алуды қамсыздандыру;

  • деректерді әртүрлі ұсыну мүмкіндігі;

  • деректер базасымен жұмыс істеуге арналған толық құнды тіл;

  • деректерді динамикалық анықтау мүмкіндігі;

  • клиент-сервер архитектурасын қолдау.

Жоғарыда аталған факторлардың барлығы дербес компьютерлерде деректерді басқаруға арналған SQL тілінің стандартты құрал болуының себептері болып табылады.

Дәріс №8.

Дәріс тақырыбы: SQL -командаларының типтері

SQL -тілінің командалары бірнеше топқа бөлінеді. Командалардың негізгі типтері келесідей:



  • DDL(Data Definition Language )- мәліметтердің анықталу тілі. Бұл топтың командалары мәліметтер қорының объектілерінің құрылымын құру және өзгерту(мысалы, кестелерді құру және жою үшін) үшін пайдаланылады.

  • DML(Data Manipulation Language)- мәліметтердә басқару (манипуляция) тілі. DMLкомандалары мәліметтер қоры объектілеріндегі ақпараттарды басқару үшін пайдаланылады.

  • DCL (Data Control Language)-мәліметтерді басқару тілі. Сәйкес командалар мәліметтер қорында сақталған ақпаратқа кіруді басқаруға арналған.

  • DQL (Data Query Language)-тілі. Бұл жиі қолданылатын командалар, мәліиеттер қорына сұранымды құруға арналған.(Сұраным дегеніміз сәйкес ақпаратты алу мақсатында мәліметтер қорына хабарласу.

  • Мәліметтер қорын администрациялау командалары әрекеттердің орындалуына бақылауды жүзеге асыру және өндірілетін операцияларыды анализдеуге арналған.

SQL мәліметтерінің типі.

Стандартты SQL- де пайдаланылатын мәліметтер типтерін келесі топтарға бөлуге болады:



  • Жолдық типтер;

  • Сандық типтер;

  • Дата мен уақытты көрсетуге арналған типтар.

Бұл типтердің нақтырақ сипаттамасы.

Жолдық типтер.

SQL-де екі жолдық типтер анықталған:



  • Белгіленген ұзындықты символдық жолдар;

  • Айнымалы ұзындықты символдық жолдар.

Белгіленген ұзындықты символдық жолдар.

Белгіленген ұзындықты символдық жолдар түрінде сақталған мәліметтер, өріске енгізілгенжолдың нақты өлшемінен тәуелсіз, жадының бір ғана көлемін алады. ANSI-SQL-92-ге сәйкес белгіленген ұзындықты символдық жолдарды хабарлау түрі келесідей:

Character(n)

Мұндағы n бұл хабарлау қатысты болатын өріс өлшемін анықтайтын жол ұзындығы.

Белгіленген ұзындықты жолдарды пайдаланғанда , әдетте, бос жолдар пробелдармен толтырылады. Мысалы, егер өлшемі 10 тең өріс беріліп, ал оған 3 символдан тұратын жол енгізілсе, онда 7 символ пробелдармен толтырылады.

Айнымалы ұзындықты символдық жолдар.

Айнымалы ұзындықты жолдың ұзындығы барлық мәліметтер үшін тұрақты емес, ол мәліметтер қорының кестесі өрісінде сақталған жолдың нақты өлшеміне тәуелді. Айнымалы ұзындықты жолды хабарлау келесі түрде болады:

Varchar(n)

n-максималды мүмкіндікті жолды анықтайтын сан.

Character типінен айырмашылығы Varchar пайдалану дискідегі кеңістікті үнемді шығындауды қамтамасыз етеді. Хабарландыруда көрсетілген жол өлшеміне қарамастан, өріс, енгізілген ақпаратты сақтауға қанша орын қажет болса, сонша алады. Мысалы, егер Varchar(10) өрісі хабарланып және оған 3 символдан тұратын жол енгізілсе, онда бұл жолды сақтау үшін белгіленген ұзындықты жол жағдайындағы сияқты 10 емес, 3 байт қана пайдаланылады.

Сандық типтер.

Сандық типтер былай бөлінеді:



  • Бүтін санды типтер;

  • Белгіленген нүктелі заттық типтер;

  • Жүзуші нүктелі заттық типтер;

  • Белгіленген және айнымалы ұзындықты екілік жолдар;

Бүтін санды типтер.

ANSI SQL стандартымен екі бүтін санды типтер орнатылады:



  • INTEGER-4 байтты пайдаланатын таңбалы бүтін сан. 2147483648-ден 2147483647-ге дейінгі диапазондағы сандарды бере алады;

  • SMALLINT–2 байтты пайдалантын таңбалы қысқа бүтін сан. 32768-ден 32647-ге дейінгі диапазондағы бүтін сандарды бере алады.

Белгіленген нүктелі заттық типтер.

Белгіленген нүктелі заттық типтер бөлшек сандарды нақты беру үшін арналған. Көп жағдайда бұл типтер қателіктер жіберілмейтін екілік формада жүзгімелі нүктелі заттық сандарды беруде пайдаланылады. (Мысалы, ақшалай шамадағы мәндерді сақтауда). Белгіленген нүктелі заттық типтер шын мәнісінде ондық нүкте түрінде бейнеленетін бүтін санды типтер болып табылады.

Белгіленген үтірлі типті хабарлау синтаксисі келесідей:

DECIMAL (n.m)

Мұндағы n-дәлділік; m-масштаб

Дәлділік -ол сандық мәннің жалпы ұзындығы, масштаб-ол ондық нүктеден оң жақта орналасқан белгілер саны.



Жүзгімелі нүктелі заттық типтер.

Жүзгімелі нүктелі типтер әдетте ғылыми және инженерлік есептеулерде пайдаланылады. Бұл типтерді пайдалануда қандай да бір санды жүзгімелі нүктелі екілік формаға өзгерту кезінде мәліметтер қорына енгізуде үнемі қандай да бір қателік жіберіледі. Бұл қателік өте аз болса да, кейбір жағдайларда кешірілмейді және үлкен қателік әкелуі мүмкін, мысалы, үлкен санды мәндерді сомалауда. Сондықтан, жүзгімелі нүктелі типтер ақшалай шамалы мәндерді сақтауға қолданылмайды.

Көп жағдайда екі жүзгімелі нүктелі заттық типтер пайдаланылады:


  • FLOAT-бірлік дәлділікті сандар;

  • DOUBLE-екілік дәлділікті сандар.

Екілік жолдар.

Екілік жолдар салыстырмалы сирек қолданылады. Әдетте мұндай типті өрістер жалаулар немесе екілік маскалар ретінде қолданылады.

Символдық жолдар сияқты, екілік жолдар белгіленген және айнымалы ұзындықты болады. Белгіленген ұзындықты екілік жолдар келесі жолмен хабарланады:

BIT (n)-


Мұндағы n-байтпен берілген жол ұзындығы.

Айнымалы ұзындықты жолды хабарлау түрі мынадай:

BIT VARYING (n)

Мұндағы n- байтпен берілген жолдың максималды ұзындығы.



Дата мен уақытты берілген типтер.

Аты айтып тұрғандай бұл типтер дата мен уақытқа қатысты ақпараттарды сақтау үшін пайдаланылады.

SQL-стандартында дата мен уақыт туралы ақпаратты сақтауға арналған келесі мәліметтер типтері анықталған:


  • DATE-датаны сақтау үшін пайдаланылады;

  • TIME-уақытты сақтау үшін пайдаланылады;

  • TIME STAMP-дата мен уақытты сақтайды;

  • INTERVAL-екі дата мен уақыт моментіндегі уақыт аралығын сақтайды.

Дәріс №9.

Дәріс тақырыбы: Мәліметтер қорының объектілерін басқару.

Мәліметтер қорының объектісі дегеніміз мәліметтер қорында анықталған және ақпаратты сақтауда немесе ақпаратқа хабарласуда пайдаланылатын кез-келген объект. Мәліметтер қорының объектісінің мысалдары ретінде кестелер, ұсыныстар мен индекстер қызмет етеді.

Мәліметтер қорының объектілерін басқару үшін SQLтілінің DDL командаларының жиындары пайдаланылады.

Кестелерді құру, түрлендіру және жою.

Кесте, ақпаратты реляционды мәліметтер қорында сақтаудың негізгі объектісі болып келеді. Кестені құруда міндетті түрде кестедегі өріс аты, және өрістерге сәйкес мәліметтер типі көрсетіледі. Сондай-ақ, кестені құру кезінде өрістер үшін үндемей қабылданатын шекаралық шарттар мен мәндер ескертілуі мүмкін.



Шектік шарттар- мәліметтер қорының кестесінің өрісінде шама мәнін шектейтін ереже.

Үндемей қабылданатын мәндер- жаңа жазу қосқанда, егер пайдаланушы осы өрістің мәнін көрсетпесе, мәліметтер қорының кестесінің өрісіне автоматты түрде енгізілетін шама.

CREATE TABLE операторы.

Кестені құру үшін CREATE TABLE операторы пайдаланылады. Бұл оператордың синтаксисі келесі түрде болады:

CREATE TABLE имя_таблицы (

Имя_поля_1 тип_данных.

Имя_поля_2 тип_данных.

имя_поля_N тип_данных)

Мысал, ФИЗИЧЕСКИЕ ЛИЦА кестесін құру операторы мына түрде болады:

CREATE TABLE STUDENTS

SNUM INTEGER.

SIMA CHAR (25).

SFAM CHAR (25).

SOTCH CHAR (25).

SROZH DATE.

SADR CHAR (25).

STEL VARCHAR (25).

ALTER TRABLE операторы.

Құрылған кестені ALTER TABLE операторын пайдаланып түрлендірге болады. Осы оператор көмегімен кестеге жаңа өрістерді қосуға және жоюға, өрістер мәліметтерінің типін өзгертуге, шектеулерді қосып немесе жоюға болады.

Жалпы түрде ALTER TABLE операторының синтаксисі былай болады:

ALTER TABLE имя_таблицы [MODIFY][имя_поля тип_данных]

[ADD][имя_поля тип_данных]

[DROP][имя_поля тип_данных]

ALTER TABLE операторымен орындалатын әрекет кесте атынан кейін көрсетіоіп негізгі сөзбен анықталады:


  • MODIFY- өріс анықтамасын береді;

  • ADD- кесмтеге жаңа өріс қосады;

  • DROP-кестеден өрісті жояды.

Өрістің мәліметтерінің типін өзгерту үшін ALTER TABLE операторының келесі синтаксисі пайдаланылады:

ALTER TABLE имя_таблицы ADD (имя_поля тип_данных)

Мысалы,STUDENTS кестесінестуденттің электронды почтасынан тұратын өрісті қосу үшін келесі операторды пайдаланған жөн:

ALTER TABLE STUDENTS ADD (E-mail CHARACTER (25))

Егер бар өрістің мәліметтерінің типін өзгерту қажет болса, ALTER TABLE операторымен бірге MODIFY негізгі сөзін пайдаланған жөн:

ALTER TABLE имя_таблицы MODIFY(имя_поля тип_данных)

Мысалы, STUDENTS кестесіне E-mail өрісін енгізгеннен кейін CHARACTER типінің пайдаланылуының тиімсіздігі анықталады-студенттердің көбінде электронды почта жоқ, сондықтан дискілік кеңістіктің бөлігі пайдаланылмай, бос қалады. Бұл өріс үшін VARCHAR мәліметтер типін қолданған дұрыс. Мәліметтер типін өзгерту үшін ALTER TABLE операторын пайдаланамыз:

ALTER TABLE STUDENTS MODIFY(E-mail VARCHAR(25))

Бар өрісті өшіру үшін ALTER TABLE операторын DROP негізгі сөзбен бірге шақыруды орындаумен жүзеге асырылады:

ALTER TABLE имя_таблицы DROP (имя_поля)



DROP TABLE операторы.

Кестелерді жою үшін DROP TABLE операторы пайдаланылады. Бұл оператордың синтаксисі мына түрде болады:

DROP TABLE имя_таблицы [RESTRICT |CASCADE]

Егер DROP TABLE операторын шақыру кезінде RESTRICT негізгі сөзі пайдаланылып, және жойылатын кестеге қандай да бір ұсыныс немесе шектеу сілтелінсе, онда кестені жою операторы орындалуы кезінде қате туралы хабарлама шығарылады (генерацияланады). Егер де CASCADE негізгі сөзін пайдаланса, онда кестені жою орындалады және кестемен бірге оған сілтелінетін ұсыныстар мен шектеулер де жойылады.



Дәріс №10.

Дәріс тақырыбы: Индекстарды құру және жою.

Қазіргі кезде ANSI стандарты индекстарды қолдамайды. Сонда да индекстар барлық мәліметтер қорында кең қолданылады, сондықтан олармен жұмысты назардан тыс қалдыруға болмайды. Индексті құру операторының синтаксисі пайдаланылатын SQL таратуына қарай өзгешеленуі мүмкін. Индексті құру командасының келесі синтаксистік формасы жиі кездеседі:

CREATE INDEX имя_индекса

ОN имя_таблицы (имя_поля_1.[имя_поля_2...])



Қарапайым индекс құру.

Қарапайым индекс индекстардың өте қарапайым және сонымен қатар кең таралған түрі болып табылады. Қарапайым индекс кестенің бір ғана өрісінен (бағанынан) түрады. Сондықтан оны көбінде бірбағандық индекс деп атайды.

Қарапайым индекс құру командасының типтік синтаксисі келесідей:

CREATE INDEX имя_индекса

ОN имя_таблицы (имя_столбца)

Мысалы, СТУДЕНТЫ кестесі үшін келесі оператор көмегімен, студенттер фамилиясынан тұратын өріс бойынша индекс құруға болар еді:

CREATE INDEX NAME_IDX

ОN Физические_лица (Фамилия)



Керемет инлекстер (уникальные).

Керемет индекстер кестеге қайталанатын мәндердің енгізілуін болдырмайды. Сонымен, керемет индекстер өнімділігін жоғарылату мақсатында ғана емес, мәліметтердің тұтастығын қолдау үшін де пайдаланылады.

Керемет индекстерді құру операторының типтік синтаксисі келесі түрде болады:

CREATE UNIQUE INDEX имя_индекса

ON имя_таблицы (имя_поля)

Мысалы, ДОЛЖНОСТЬ кестесі үшін келесі команданың көмегімен "Должность" өрісі бойынша керемет индекс құруға болады:

CREATE UNIQUE INDEX POST_IDX

ON Lдолжности (Должность)



Құрамдас индекстер. Құрамдас деп екі немесе одан да көп өрістер бойынша құрылған индекстерді айтады. Құрылған индексті қарағанда, құрылған индексте өрістердің тізбектелу реті мәліметті іздеу жылдамдығына әсер ететінін ескеру қажет. Жалпы жағдайда индексте өрістерді шектеу мәндерінің азаю ретімен орналастырған жөн.

Құрылған индексті беру синтаксисі жалпы түрде келесідей:

CREATE INDEX имя_индекса

ОN имя_таблицы (имя_поля_1.имя_поля_2...)

Біздің мысалымызда СТУДЕНТЫ кестесінің "Фамилия" және "Имя" өрістері үшін құрылған индекстарды құрудың мағынасы бар. Мұндай индекс құру операторының түрі келесідей:

CREATE INDEX FULLNAME_IDX

ON Физические_лица (фамилия,имя)

Индекстарды жою.

Индекстарды жою ешқандай қиындық туғызбайды.Жою үшін индекс атын білу қажет. Индексты жою операторының синтаксисі келесі түрде болады:

DROP INDEX имя_индекса

Индексті жою индекстелген өрістерге еш әсер етпейді. Жоюдан кейін индекс қайтадан құрылуы мүмкін.



Дәріс №11.

Дәріс тақырыбы: Ұсыныстармен жұмыс.

Ұсыныс (VIEW) мәліметтер қорының объектісі. Онымен жұмыс қарапайым кестемен жұмыстан өзгешеленбейді. Ұсыныстардың кестелерден айырмашылығы келесіде. Мәліметтер қорының қарапайым кестелері мәліметтерден тұрады. Ұсыныстар мәліметтерден тұрмайды, ал олардың мазмұны басқа кестелерден таңдалынады (немесе басқа ұсыныстардан). Ұсыныстар тұжырымдалатын кестелер (немесе ұсыныстар) базалық кестелер (немесе базалық ұсыныстар) деп атау қабылданған.

Шындығында ұсыныстар әрбір хабарласқан сайын орындалатын сұраныс болып табылады. Әрбір уақыт мезетінде осы сұраныстың орындалу нәтижесі ұсыныс мазмұны болып табылады. Ұсыныстың базалық кестесіндегі мәліметтерді өзгертсе ұсыныс мазмұны да өзгереді.

Ұсыныс мазмұнын өзгертсе, осы ұсынысты құруда негізге алынған кесте мазмұны да өзгереді. Төменде ұсыныстың тұжырымдалу процесінің схемасы берілген:



1.2 сурет. Ұсыныстың тұжырымдалу схемасы.

Ұсынысты пайдалану кесетені пайдаланудан өзгешеленеді. Ұсыныс- тардан мәліметтерді таңдау қарапайым кестедегі сияқты орындалады. Сондай-ақ ұсыныстың мәліметтермен басқару операцияларына рұқсат етіледі, бірақ ол мұнда кейбір шектеулер болады.

Ұсыныстар кестелерден айырмашылығы дискілік кеңістіктен орын алмайды (немесе дәлірек айтсақ, ұсыныс алатын дискілік кеңістік өте кішкентай-тек сұранысты сақтауға қажеттілері).



Ұсыныстың қолданылу облыстары.

Ұсыныстар көбінде екі жағдайда қолданылады:



  • Мәліметтерді қорғау мақсатында,

  • Қорытынды мәліметтерді тұжырымдау үшін.

  1. Бірінші жағдайда ұсыныстар бүкіл кестеден емес, тек кейбір өрістеріндегі ақпараттарды беру үшін қолданылады.

Келесі мысалды қарастырайық. Мысалы, "СОТРУДНИКИ " кестесінің "Рейтинг" өрісінде сақталатын қызметкерлердің рейтингтері туралы ақпарат құпиялы болып есептелсін, және оларға кіру хұқы тек ұжым жетекшілерінде ғана болсын. Бірақ осы кестеде сақталатын ақпарат бөләгә кадрлар бөлімінің жұмысшыларына қажет-қызметкерлердің аты туралы және жұмысқа қабылдау күні туралы мәліметтер. Бұл жағдайда бір кестеге кіру рұқсатын шексіздеу үшін кадрлар бөлімінің қызметкерлерінде кіруге рұқсат болуға тиістіақпараттарды ғана таңдап ұсынысты пайдаланған ыңғайлы. Сонда олар өз қызметтік міндетін толық көлемде орындай алады және құпиялы ақпаратқа кіру рұқсаты болмайды.

Ұсыныстар өрістерге ғана емес, сондай-ақ кесте жазуларына кіру рұқсатына шек қою үшін пайдаланылады. Ол үшін ұсынысты құруда негізге алынатын мәліметтерді таңдау сұранысында сәйкес шектеулік шарттарды көрсетсе болғаны. Мысалы, жоғарыда көрсетілген кадрлар бөлімінің жұмысшыларының мысалында ұсыныс құруда ұсыныстан қандай да міндетті алып тұратын жұмысшыларды шығарып тастау шартын беруге болады.

Сондай-ақ ұсыныстар есептерді тұжырымдауда қорытынды нәтижелерді тұжырымдау үшін де пайдаланылады. Өзгермелі ақпаратты кесет негізінде тұжырымдалатын есептерді жиі баспаға шығару қажет болған жағдайда, ұсыныстарды пайдаланған ыңғайлы.

Ұсыны, сұраныс негізінде құрылуы мүмкін болғандықтан ақпаратты базалық кестелер қатарынан алатын және қажеттілікпен топтайтын ұсыныс құруға болады, ал есепті шығарар кезде осы ұсынысқа қарапайым кесте сияқты хабарласуға болады. Бұл жағдайда есепті шығарған сайын күрделі SQL-сұраныс құрудың қажеті жоқ. Сондай-ақ, бұл жағдайда логиканың бөлігі мәліметтер қорының сервер жағына шығарылып тасталады, өйткені есептің тұжырымдалуы клиенттік қосымшадан тәуелді болмайды.



Ұсыныстарды құру.

Ұсыныстарды құру үшін CREATE VIEW операторы пайдаланылады. Ұсыныс бір немесе бірнеше ұсыныстар негізінде құрылуы мүмкін. Ұсынысты құрудың операторының типтік синткасисінің түрі келесідей:

CREATE VIEW имя_представления AS

{оператор выборки данных}

Ұсыныс құрылған соң онымен ұсыныс аты ретінде берілген аты бар қарапайым кесте сияқты жұмыс істеуге болады. Қандай да бір өзгешелігі топтау сөйлемі бар ұсыныстар. Мұндай ұсыныстар үшін мәліметтер таңдауда ешқандай шектеу жоқ, бірақ оларға мәліметтерді басқару операторын қолданбайды.

Ұсыныстарды жою.

Ұсыныстарды жою DROP VIEW операторының көмегімен орындалады, оны шақырғанда RESTRICT және CASCADE параметрлері көрсетілуі мүмкін. Бұл параметрлер басқа ұсыныстар және/немесе шектеулер сілтелетін ұсыныстарды жою кезіндегі әрекеттерді анықтайды. RESTRICT вариантын падаланғанда, бұл жағдайда қате туралы хабарлама шығарылады, және жою орындалмайды. Егер CASCADE режимі пайдаланылса, онда DROP VIEW операторының орындалуы, базалық ұсыныстардың және шектеулердің жойылуына әкеледі.

DROP VIEW операторының типтік синтаксисі келесі түрде болады:

DROP VIEWимя_представления [RESTRICT | CASCADE]



Дәріс №12.

Дәріс тақырыбы: Сақталатын процедуралар, оларды құру, орындау және жою

Сақталатын процедуралар (Stored Procedure)- олар байланысқан SQL-операторларының топтары. Сақталатын процедураларды пайдалану мәліметтер қорымен жұмыстың қосымша икемділігін қамтамасыз етеді, өйткені сақталатын процедураларды орындау SQL жеке операторлар тізбегінен әлдеқайда қарапайымдау.

Сақталатын процедуралар орындалудың жоғары жылдамдығын қамтамасыз ететін мәліметтер қорында компиляцияланған түрде сақталады.

Сақталатын процедураларға кіретін параметрлер ала-алады, қосымшаға мәндерді қайтарады және қосымшадан шақырылады.

Сақталатын процедураларды пайдаланудың негізгі артықшылықтары келесіде қорытындыланады:


  • Сақталатын процедуралар логика бөлігін мәліметтер қорының серверіне шығаруға мүмкіндік береді. Ол ақпараттық жүйенің мәліметтер қорының клиенттік бөлігінен тәуелділігін әлсіретеді;

  • Сақталатьын процедуралар жобаның модульдігін қамтамасыз етеді. Олар бір мәліметтер қорына хабарланатын клиенттік қосымшалар үшін жалпы болады, ол кодтың қайталануын болдырмайды және қосымша өлшемін кішірейтеді;

  • Сақталатын процедуралар қосымшалардың бәрге жүруін оңайлатады:процедуралар жаңартқан кезде өзгерулер автоматты түрде барлық қосымшаларда бейнеленеді;

  • Сақталатын процедуралар ақпараттық жүйенің жұмысының тиімділігін арттырады:олар клиентпен емес, желілік трафикті төмендететін сервермен орындалады;

  • Сақталатын процедуралардың орындалу жылдамдығы жеке SQL операторлар тізбегінен жоғары. Ол сақталатын процедуралардың серверде компиляцияланған түрде сақталуына байланысты.

Сақталатын процедуралардың екі түрін бөледі:

  • Таңдау процедуралары қосымшалар оларды мәліметтерді таңдау операторында кесте немесе ұсыныстар орнына пайдалануы мүмкін;

  • Орындалатын процедуралар олар арнайы операторлар пайдаланылып шақырылады. Орындалатын процедура шақырылатын программаның нәтижелерін қайтармауы мүмкін.

Сақталатын процедураларды құру.

Сақталатын процедураларды құру үшін CREATE PROCEDURE опрераторы пайдаланылады.

CREATE PROCEDURE операторы мәліметтер қорынан жаңа сақталатын процедураны анықтайды. Процедуралар тілі SQL таратуларынан тәуелді, бірақ ереже бойынша SQL барлық инструкцияларын және мыналарды қосады:


  • Шартты операторлар;

  • Цикл операторларының әртүрлі түрлерін;

  • Ерекше жағдайларды өңдеу мүмкіндіктерін.

Сақталатын процедуралар тақырыптан және денесінен тұрады. Процедураның тақырыбы:

  • Мәліметтер қорындағы кесте мен процедура аттарының ішінде ерекше болуы тиіс процедура атынан;

  • Процедура шақырылатын программадан қабылдайтын кіретін параметрлер және олардың мәліметтері типтерінің тізімінен;

  • Шығатын параметрлер және олардың мәліметтері типтерінің тізімінен тұрады, егер процедура мәндерді шақырылатын программаға қайтарса.

Процедура денесі мыналардан тұрады:

  • Жергілікті айнымалылар және олардың мәліметтері типтерінің тізімінен (егер олар процедура кодында пайдаланылса);

  • BEGIN және END кілттік сөздерінің арасында қорытылған процедуралар және триггерлер тіліндегі инструкция блогынан.

Сақталатын процедураларды орындау.

Сақталатын процедураны орындауға жіберетін оператор процедураға тәуелді болады. Таңдау процедурасы оларға SELECT -мәліметтерді таңдау операторының көмегімен хабарласқанда орындалады.

Орындалатын процедураны шақыру үшін арнайы EXECUTE операторын пайдаланған жөн.

Сақталатын процедураларды жою.

Сақталатын процедураларды жою үшін DROP PROCEDURE операторы пайдаланылады. Бұл оператор синтаксисі келесі түрде болады:

DROP PROCEDUREимя_хранимой_процедуры
Дәріс №13.

Дәріс тақырыбы: Триггерлер, құру және жою операторлары

Триггерлер сақталатын процедуралардың бір түрі. Бірақ сақталатын процедуралардан айырмашылығы триггерлердің орындалуы SQL операторын шақыру нәтижесінде емес, мәліметтер қорына өзгерістер енгізетін мәліметтерді басқару операторларының бірінің орындалуы кезінде орындалады. Мұнда триггерлер мәліметтерді басқару операторларының орындалуына дейін де орындалады.

Триггердер қорда мәліметтердің сілтемелік тұтастығын қамтамасыз ету үшін пайдаланылады. Олардың келесі мүмкіндіктері бар:


  • Пайдаланушы кесте өрістеріне рұқсат етілген мәндерді енгізгеніне кепілдік беру үшін енгізілетін мәліметтерді бақылау мүмкіндігі;

  • Триггерлермен байланысқан кестелерді пайдаланатын қосымшаларда триггелердегі өзгерту көрінетін бірге жүретін қосымшаларды оңайлату;

  • Кестелердің өзгертулерін автоматты құжаттау қосымша өзгерістер журналын кестеде өзгеріс болған сайын орындалатын триггерлер көмегімен басқару.


Триггерлерді құру.

Триггерлерді құру үшін CREATE TABLE операторы пайдаланылады. Сақталатын процедуралар сияқты триггерлер де тақырып пен денесінен тұрады. Триггер тақырыбы мынадан тұрады:



  • Триггер аты,мәліметтер қоры ішінде керемет;

  • Триггер байланысқан кесте аты;

  • Триггер қашан орындалатынын анықтайтын инструкциялар;

Триггер денесі мыналардан тұрады:

  • Жергілікті айнымалылар және мәліметтердің типтерінің тізімінен (егер олар триггер кодында пайдаланылмаса);

  • BEGIN және END кілттік сөздерінің арасында қорытылғагн процедуралар мен триггерлер тіліндегі инструкция блогынан. Блоктың ішінде басқа блок болуы мүмкін.

Сонымен триггер мен сақталатын процедураның айырмашылығы тек тақырыбында.

Триггер кестемен байланысқан. Кестеге бөлінген артықшылықтары бар кесте иесі мен кез-келген пайдаланушы онымен байланысқан триггерлерді автоматты түрде орындауға хұқы бар.



Триггерлерді жою.

Триггерлерді жою үшін DROP TRIGGER операторы пайдаланылды. Бұл оператордың жалпы түрдегі синтаксисі төмендегідей:

DROP TRIGGER имя_триггера

Дәріс №14.

Дәріс тақырыбы: Мәліметтерді басқару, кестедегі берілгендерді өзгерту

Мәліметтер қорында сақталатын мәліметтерді басқару үшін, командалардың жеке типтері ретінде бөлінетін және мәліметтерді басқару тілі (DML-Data Manipulation Language ) деп аталатын SQL операторларының типтері пайдаланылады. DML операторларының көмегімен қолданушы кестеге жаңа мәліметтерді жүктеп, бар мәліметтерді түрлендіруге және жоюға болады:

SQL тілінде тек қана 3 негізгі DML операторы анықталған:


  • INSERT;

  • UPDATE;

  • DELETE.



Достарыңызбен бөлісу:
1   2   3   4   5




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет