Реляциялық алгебра. Негізгі амалдар.
Берілген деректер қорымен моделінің реляциялық базисі: реляциялық алгебра, реляциялық операциялардың интерпретациясы, теориялық-көбейткіштік операциялардың семантикасының ерекшеліктері.
Реляциялық модельдің үшінші бөлігі, манипуляциялық бөлік реляциялық деректер қорымен жиынына қатынау реляциялық алгебра немесе оған эквивалентті реляциялық есептеулер арқылы іске асырылатынын тұжырымдайды.
Нақты реляциялық МҚБЖ-да шындығында қазір реляциялық алгебра да реляциялық есептеулер де таза күйінде қолданылмайды. Реляциялық деректер қорымен жиынына стандартты қатынау SQL(Structured Query Language). SQL тілі реляциялық алгебраның операторлар қоспасынан және синтаксис қолданатын, ағылшын тілінің фразасына жақын реляциялық алгебра мен реляциялық есептеуде кездеспейтін реляциялық есептеу өрнектерінен тұрады.
Берілген деректер қорыменге қатынау тілі, егер ол сипаттау күші жағынан реляциялық алгебрадан кем болмаса реляциялық толы деп аталады, яғни реляциялық алгебраның кез келген операторы осы тілдің құралдарымен сипатталуы мүмкін. SQL тілі осындай тіл болып саналады. Берілген бөлімде реляциялық алгебраның негізі қарастырылады.
Реляциялық алгебраның тұйықтылығы.
Реляциялық алгебра қатынастарды аргумент ретінде және қайтаратын қатынастарды нәтиже ретінде көрсететін операторлар жиынынан тұрады. Осылайша , реляциялық оператор f қатынастармен аргумент ретінде функция түрінде беріледі.R=f (r1,r2,…,rn).
Реляциялық алгебра тұйық болып табылады, яғни аргумент ретінде реляциялық операторға типі бойынша сәйкес келетін басқа реляциялық операторларды қоюға болады.
R=f(f1,(R11,R12,…),f2(R21,R22)
Осылайша, реляциялық өрнектерде күрделі құрылымда енгізілген өрнектерді қолдануға болады.
Деректер қорымен жиыны шегінде әр қатынас бірегей атқа ие болуы тиіс.Реляциялық операцияны орындау нәтижесінде алынған қатынас аты теңдіктің сол жағында анықталады.
Бірақ та егер бұл қатынас аргумент ретінде басқа реляциялық өрнектерге қойылатын болса, реляциялық өрнек нәтижесінде алынған қатынастың аты болуын талап етпеуге болады.
Мұндай қатынастарды атаусыз қатынастар деп атаймыз.
Атаусыз қатынастар деректер қорымен жиыны базасында болмайды, ол тек қана реляциялық оператор мәнін есептеу уақытында есептеледі.
Дәстүрлі түрде коддтық ізімен екі топқа біріккен, сегіз реляциялық оператор анықталады.
Теориялық көпмүшелік операторлар:
· біріктіру
· қию
· азайту
· декарттық көбейту
Арнайы реляциялық операторлар:
· таңдама
· проекция
· жалғау(қосу)
· бөлу
Бұлардың бәрі тәуелсіз болып табылады, яғни бірқатар операторлар басқа реляциялық операторлар арқылы өрнектеледі.
Типі (түрі) бойынша біріктірілетін қатынастар.
Бірқатар реляциялық операторлар, (мысалы, біріктіру) қатынастар бірдей тақырыпқа ие болуын талап етеді. Екі қатынасты біріктіру операциясы сәйкес қатынастар денесімен алынған екі көпмүшелік тізімдерін жәй қосу болып табылады.Нәтиже қатынас бола ала ма?
Біріншіден, егер бастапқы қатынас түрлі атрибут санына ие болса, онда мұндай әртүрлі біріктірулердің тізімі болып табылатын көпмүшелікті қатынас түрінде көрсетуге болмайды.
Екіншіден, қатынас атрибуттардың бірдей санына ие болғанымен де, атрибуттар әртүрлі атауға ие болады.
Көптеген тізімдерді қосу нәтижесінде алынған қатынастар тақырыбын қалай анықтауға болады?
Үшіншіден, қатынас бірдей атрибут санына, атрибуттар әр түрлі домендерге анықталған бірдей атауға ие болсын.
Сонда тізімдерді қайта біріктіру қатынас түзбейді.
1 Анықтама. Бірігу қатынастарының типтері бойынша айтамыз, егерде оларда ұқсас тақырыптары болса, тереңірек айтатын болсақ,
● Қатынастар бір немесе бірнеше атрибут аттарына ие болса, яғни бір қатынастағы кез келген атрибутқа сондай атпен басқа қатынастарда ат табылады.
● Бірдей аттағы атрибуттар тек сол бір доменде-ақ анықталады.
Кейбір қатынастар типтері бойынша бірге алмайды, бірақ атрибут атын өзгерткеннен кейін солай қалады. Реляционды операцияларда сондай қатынастарды қолдану үшін атрибуттың атын өзгертетін көмекші оператор енгізіледі.
Достарыңызбен бөлісу: |