|
|||
Дәріс 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 Анық тама. жә не қ атынастарының декарттық шығ армасы деп, басы жә не қ атынастары. , ал жә не қ атынасының денесі кортеждердің сцеплениясы болып табылатынын айтамыз. , яғ ни , . Декарттық шығ арманың операциялық синтаксисі.
|
|||
|