Реляциялық алгебра
Реляциялық алгебра – бұл реляциялық кестелерді өңдеу тілі. Реляциялық алгебра келесі амалдардан тұрады:
біріктіру;
қиылысу;
айыру;
көбейту;
таңдау;
проекцияны құру;
проекция;
қосу (жалғау);
бөлу;
меншіктеу.
Біріктіру амалы екі кестенің мәліметтерін үйлестіруге, екі кестенің жазбалары (кортеждері) тек бір-ақ рет пайда болатын кестені құруға мүмкіндік береді. Біріктіру амалы U әрпімен беріледі. Мысалы:
а1 a2 a3c1 c2 c3a1 a2 a3
b1 b2 b3 U f1 f2 f3 = b1 b2 b3
c1 c2 c3 a1 a2 a3 c1 c2 c3
d1 d2 d3d1 d2 d3
f1 f2 f3
Екі кестені біріктіру кезінде олар бағандардың (атрибуттардың) саны бойынша, сондай-ақ олардың типі бойынша сәйкес келуі тиіс.
Қиылысу амалы екі кестенің ортақ жолдарын бөліп алуға мүмкіндік береді. ^ символымен белгіленеді. Мысалы,
а1 a2 a3 c1 c2 c3 a1 a2 a3
b1 b2 b3 ^ f1 f2 f3 = c1 c2 c3
c1 c2 c3 a1 a2 a3
d1 d2 d3
Айыру амалы бір кестеден басқа кестеде жоқ жазбаларды (жолдарды) бөліп алуға мүмкіндік береді, минус белгісімен белгіленеді. Мысалы:
а1 a2 a3 c1 c2 c3b1 b2 b3
b1 b2 b3 - f1 f2 f3 = d1 d2 d3
c1 c2 c3 a1 a2 a3
d1 d2 d3
Көбейту амалы екі кестенің декарттық көбейтіндісін құрайды. * символымен белгіленеді. Мысалы:
х1 y1 z1 * a1 a2 x1 y1 z1 a1 a2
x2 y2 z2b1 b2 = x1 y1 z1 b1 b2
c1 c2x1 y1 z1 c1 c2
x2 y2 z2 a1 a2
x2 y2 z2 b1 b2
x2 y2 z2 c1 c2
Таңдау амалы бір кестеден көрсетілген шартқа сәйкес келетін жазбаларды іріктеп алып, екінші кестені құруға қолданылады. Таңдау әрекетін белгілеу үшін SELECT сөзі қолданылады. Мысалы:
SELECT (Orders:’03/10/2000’
Шарт дегеніміз өзінде =, >, <, >=, <= қатынастық әрекеттер мен «және», «немесе», «емес» логикалық амалдар қолданылатын логикалық өрнек болып табылады.
Проекцияны құру амалы кестеден жаңа кестені құру үшін қажетті бағандарды таңдап алуға мүмкіндік береді. Проекцияны құру амалы келесі тәртіппен жазылады.
Кестенің атауы. [баған, баған, . . . , баған]
Қосу (жалғау) амалы кестелердің арасындағы мәліметтерді байланыстыру үшін қолданылады. Бұл амал келесі түрде жазылады:
JOIN (кесте, кесте)
Жалғау үшін кестелердің бағандары бірдей болуы тиіс.
Жалғау амалын орындау кезінде келесі әрекеттер орындалады:
Бастапқы кестелердің көбейтіндісі анықталады;
Алынған көбейтіндіден ортақ бағандардың мәндері бірдей болатын жолдар таңдап алынады;
Жобалау кезінде алғашқы кестенің ортақ бағандары алынып тасталады.
Жалғау мысалы:
Ортақ бағандар
а, b, cd, b1
А=a1,b1, c1 B= d1, b1
a2, b2, c2 d2, b
a3, b3, c3
JOIN(A,B) = a b c d b1 = a b c d2 b = a b c d2
a b c d1 b1 a1 b1 c1 d b1 a1 b1 c1 d
a b c d2 b a1 b1 c1 d1 b1 a1 b1 c1 d1
a1 b1 c1 d b1
a1 b1 c1 d1 b1
a1 b1 c1 d2 b
a2 b2 c2 d b1
a2 b2 c2 d1 b1
a2 b2 c2 d2 b
a3 b3 c3 d b1
a3 b3 c3 d1 b1
a3 b3 c3 d2 b
Жалғаудың үш түрі болады:
табиғи (қарапайым) жалғау;
тэта – жалғау;
сыртқы жалғау.
Қарапайым жалғауда бастапқы кестелердің көбейтіндісінен, ортақ атрибуттардың мәндері өзара сәйкес келетін жазбалар іріктеп алынады.
Тэта – жалғауда бастапқы кестелердің көбейтіндісінен берілген атрибуттар белгілі бір қатынаста болатын жазбалар іріктеп алынады, мысалы, артық амалы бойынша. Тэта – жалғау жалпы алғанда келесі түрде беріледі.
JOIN (А,В: А.атрибут Ө В.атрибут)
Осылайша, қарапайым жалғауда және тэта-жалғауда қорытынды кестеде бастапқы кестелердің бір-біріне сәйкес келетін жазбалары ғана беріледі.
Сыртқы жалғауда бастапқы кестелердің әрбір жазбасы қорытынды кестеде ең болмағанда бір рет берілетін болады. Алғашқы (сол) немесе екінші (оң) бастапқы кестенің жазбалары қорытынды кестеде тым болмағанда бір рет берілетініне байланысты, сәйкесінше сол жақтағы, оң жақтағы және толық жалғануды айырады.
Бөлу амалы бір кестенің ішінен екінші кестенің әрбір жолына сәйкес келетін жолдарды таңдап алу арқылы жаңа кестені құруға мүмкіндік береді. Бөлу амалы келесі түрде жазылады:
1-кесте/2-кесте
xу
a b b
c d / e = a
a e f
a f
Меншіктеу амалы реляциялық алгебраның алдыңғы амалының нәтижесіне қандай да бір атау меншіктейді. Мысалы:
С:= JOIN(А, В)
Дейт [3] реляциялық алгебраны келесі амалдармен толықтырады:
RENAME <кесте><атрибуттың ескі аты> AS <атрибуттың жаңа аты>, <атрибуттың ескі аты> AS <атрибуттың жаңа аты>, . . . кестедегі атрибут атын өзгертуге мүмкіндік береді;
кеңейту
EXTEND <кесте> ADD <өрнек> AS <жаңа атрибут>
берілген өрнекті есептеу арқылы мәні табылатын жаңа атрибутты кестеге қосады;
қорытындылар жасау
SUMMARIZE <кесте> BY (<атрибуттар тізімі>) ADD <өрнек> AS <жаңа атрибут>
берілген тізіммен топтастырылған кортеждер үшін, берілген өрнек бойынша вертикальды топтық есептеулерді орындайды және есептеулер нәтижелері оның кортеждер саны бастапқы кестенің топтар санына тең болатын, қалыптастырылып отырған кестедегі жаңа бағанды құрайды;
кіргізу
INSERT <1 кестеден таңдау> INTO <2 кестеге қосу>
2 кестеге 1 кестеден таңдап алынған кортеждерді қосу;
жаңарту
UPDATE <бастапқы кестеден таңдау><элементтер тізімі>
таңдап алынған кортеждер үшін көрсетілген элементтердің атрибут:=өрнек түріндегі мәндерін өзгертулер орындалады;
жою
DELETE <бастапқы кестеден таңдау>
бастапқы кестеден таңдап алынған кортеждерді жою орындалады.
Сонымен, реляциялық алгебра дегеніміз – бұл реляциялық кестелерді өңдеудің процедуралық тілі, басқаша айтқанда реляциялық алгебра есептің қадамдық шешімін қамтамасыз етеді.
2>1>
Достарыңызбен бөлісу: |