Хелпикс

Главная

Контакты

Случайная статья





Дәріс 9. Реляциялық алгебра. Негізгі амалдар.



Дә ріс 9. Реляциялық алгебра. Негізгі амалдар.

9. 1 Берілген деректер қ орымен моделінің реляциялық базисі: реляциялық алгебра, реляциялық операциялардың интерпретациясы, теориялық -кө бейткіштік операциялардың семантикасының ерекшеліктері.

Реляциялық модельдің ү шінші бө лігі, манипуляциялық бө лік реляциялық деректер қ орымен жиынына қ атынау реляциялық алгебра немесе оғ ан эквивалентті реляциялық есептеулер арқ ылы іске асырылатынын тұ жырымдайды.

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

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

Реляциялық алгебраның тұ йық тылығ ы.

Реляциялық алгебра қ атынастарды аргумент ретінде жә не қ айтаратын қ атынастарды нә тиже ретінде кө рсететін операторлар жиынынан тұ рады. Осылайша, реляциялық оператор f қ атынастармен аргумент ретінде функция тү рінде беріледі. R=f (r1, r2, …, rn).

Реляциялық алгебра тұ йық болып табылады, яғ ни аргумент ретінде реляциялық операторғ а типі бойынша сә йкес келетін басқ а реляциялық операторларды қ оюғ а болады.

R=f(f1, (R11, R12, …), f2(R21, R22)

Осылайша, реляциялық ө рнектерде кү рделі қ ұ рылымда енгізілген ө рнектерді қ олдануғ а болады.

Деректер қ орымен жиыны шегінде ә р қ атынас бірегей атқ а ие болуы тиіс. Реляциялық операцияны орындау нә тижесінде алынғ ан қ атынас аты тең діктің сол жағ ында анық талады.

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

Мұ ндай қ атынастарды атаусыз қ атынастар деп атаймыз.

Атаусыз қ атынастар деректер қ орымен жиыны базасында болмайды, ол тек қ ана реляциялық оператор мә нін есептеу уақ ытында есептеледі.

Дә стү рлі тү рде коддтық ізімен екі топқ а біріккен, сегіз реляциялық оператор анық талады.

Теориялық кө пмү шелік операторлар:

· біріктіру

· қ ию

· азайту

· декарттық кө бейту

Арнайы реляциялық операторлар:

· таң дама

· проекция

· жалғ ау(қ осу)

· бө лу

Бұ лардың бә рі тә уелсіз болып табылады, яғ ни бірқ атар операторлар басқ а реляциялық операторлар арқ ылы ө рнектеледі.

Типі (тү рі) бойынша біріктірілетін қ атынастар.

Бірқ атар реляциялық операторлар, (мысалы, біріктіру) қ атынастар бірдей тақ ырыпқ а ие болуын талап етеді. Екі қ атынасты біріктіру операциясы сә йкес қ атынастар денесімен алынғ ан екі кө пмү шелік тізімдерін жә й қ осу болып табылады. Нә тиже қ атынас бола ала ма?

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

Екіншіден, қ атынас атрибуттардың бірдей санына ие болғ анымен де, атрибуттар ә ртү рлі атауғ а ие болады.

Кө птеген тізімдерді қ осу нә тижесінде алынғ ан қ атынастар тақ ырыбын қ алай анық тауғ а болады?

Ү шіншіден, қ атынас бірдей атрибут санына, атрибуттар ә р тү рлі домендерге анық талғ ан бірдей атауғ а ие болсын.

Сонда тізімдерді қ айта біріктіру қ атынас тү збейді.

1 Анық тама. Бірігу қ атынастарының типтері бойынша айтамыз, егерде оларда ұ қ сас тақ ырыптары болса, терең ірек айтатын болсақ,

● Қ атынастар бір немесе бірнеше атрибут аттарына ие болса, яғ ни бір қ атынастағ ы кез келген атрибутқ а сондай атпен басқ а қ атынастарда ат табылады.

● Бірдей аттағ ы атрибуттар тек сол бір доменде-ақ анық талады.

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

Атрибуттар атын ө згертетін.

Атрибуттар атын ө згертетін операторлардың мынадай синтаксистері бар.

мұ ндағ ы - қ атынас, - атрибуттың алғ ашқ ы аттары., - атрибуттың жаң а аттары.

Атын ө згерткен атрибуттың операторын қ олданып нә тижесінде аты ө згерген атрибуттардың жаң а қ атынасын аламыз.

Теориялы- кө пмү шелік операторы.

Бірігу.

 2 Анық тама. жә не екі қ атынасының типі бойынша бірігуі деп, сол сол қ атынас тақ ырыбымен аталып  жә не  , немесе екі қ атынасқ а жататын, жә не  қ атынасындай денесін де тә н болады.

Бірігу операциясының синтаксисі.

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

Қ иылысу.

 3 Анық тама.  жә не  екі қ атынасының типі бойынша қ иылысу, деп сол қ атынас басымен аталып,  жә не  қ атынасында бір уақ ытта жататын болады.

Қ иылысу операторының синтаксисі.

Айырымдары.

4 Анық тама.  жә не  қ атынасының типі бойынша бірігуінің айырымы деп, сол қ атынас басымен аталып, қ атынасына тиісті жә не  қ атынасына тиісті емес қ атынастарды айтамыз.

Айырымдар операциясының синтаксисі.

Декарт шығ армасы.

5 Анық тама.  жә не  қ атынастарының декарттық шығ армасы деп, басы  жә не  қ атынастары. ,

ал  жә не  қ атынасының денесі кортеждердің сцеплениясы болып табылатынын айтамыз.

,

яғ ни , .

Декарттық шығ арманың операциялық синтаксисі.



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.