Атынастар. Реляциялы мліметтер орындаы негізгі терминдер

атынастар деп объектілер арасындаы немесе оларды асиеттері арасындаы кез келген з ара байланысты айтады. Объектілер арасындаы, бір объектіні асиеттері арасындаы жне р трлі объектілер асиеттеріні арасындаы з ара байланыстар болып блінеді. атынастар зіні атымен жне осы атынастар байланысан элементтермен, атрибуттар тізімімен беріледі:

<атынас аты>(<атрибуттар тізімі>)

атынас аты атынас элементтері арасындаы байланыстарды маызын тсіндіретіндей болып тадалады.

Объектілерді немесе байланыстарды кейбір асиеттерін сипаттау шін атрибуттар деп аталатын мліметтерді арапайым блінбейтін элементтері олданылады.

Атрибуттар атымен, типімен, мнімен жне баса асиеттерімен сипатталады.

Атрибут аты – бл мліметтерді деу процесіндегі атрибутты шартты белгіленуі. Ол бір атынаста жне сол атынасты зінде уникальды болуы ажет.

Атрибутты мні – объектілер мен байланыстарды кейбір асиеттерін сипаттайтын шама.

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

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

Наты кортежді бір мнді идентификациясы шін олданылатын атрибут немесе атрибуттар жиыны атынасты алашы кілті немесе жай кілт деп аталады.

Мліметтерді реляциялы моделі азіргі уаытта ке таралыма ие болды жне барлы азіргі МБЖ мліметтерді осындай трде берілуіне баытталан.

Реляциялы модельді з мліметтерінде амтитын (кесте трінді) мліметтерді арастыруды ерекше дісі жне олармен жмыс жне рекет жасау тсілдері (байланыстар трінде) ретінде бейнелеуге болады. Реляциялы модель ш концептуалды элементті болуын жорамалдайды: рылым, ттасты жне мліметтерді деу, айта кететін жадай, баса кптеген реляциялы емес модельдерде осы элементтерден трды. Бл элементтерде кейінгі тсіндірулер шін ажет болатын арнайы ымдар бар, оларды ысаша тсіндіріп тейік.

Кесте мліметтерді тікелей «сатаушысы» ретінде арастырылады. Реляциялы жйелерде кестені алыптасан дстр бойынша атынас деп атайды. Кестені жолын кортеж десе, баанын артибут деп атайды. Оан оса артибуттарды бірегей атаулары (атынас шеберінде) бар. Кестедегі кортеждер саны кардинальды сан деп аталса, атрибуттар саны-дреже деп аталады.

атынас шін бірегей идентификатор олданылады, яни мндері бір уаытта бірдей болмайтын бір немесе бірнеше атрибуттар, мндай идентификаторды алашы кілт деп атайды. Домен дегеніміз осы немесе баса атрибут шін ммкін біртекті мндерді жиынтыы болып табылады. Сонымен, домен ретінде аталынан мліметтер жиынтыын арастыруа болады, бл жиынтыты рамдас бліктері логикалы блінбейтін бірліктер (домен ретінде, мысалы, мекемені ызметкерлеріні фамилияларыны тізім бола алады, алайда кестеде барлы фамилиялар болмауы да ммкін) болып табылады.

атынас екі бліктен – таырыбы (аты) жне мазмнды бліктен трады.

Таырыбы атрибуттарды шектеулі жиынтыын, ал мазмнды блік (атынас денесі) атрибут атыны жптары мен оны мндеріні жиынтыын амтиды.

Мысалы келесі суретте таырыбында келтірілген KOD, NAME жне SUMM, атрибуттар болып табылады, ал SUMM-25000 немесе KOD-5216 атынас денесіні элементтері болып табылады.

12-сурет. Реляциялы М ымдарын тсіндіру кестесі

 

Реляциялы мліметтер орыны (М) баса модельдерден ерекшелігі– пайдаланушы алай істеу керектігін емес, оан андай мліметтерді ажет екендігін крсетеді. Осы себепті реляциялы жйелердегі М бойынша орын ауыстыру жне навигация процестері автоматты трде болады, бл міндетті МБЖ-да оптимизатор атарады. Сонымен оптимизатор мліметтерді андай кестеден тадалып алынатынын, мндай кестелерде апараттарды аншалыты кп екендігін, жазбаларды кестеде физикалы реті андай екендігін жне оларды алай топтасандарын жне т.б. анытай білуі ажет.

Сонымен атар, реляциялы МБЖ каталог ызметінде атарады. Каталогта М ралан барлы объектілерді – кестелер, индекстер, триггер жне т.б. сипаттамалары саталады. Бл бкіл жйені дрыс жмыс істеуіне те ажет, себебі оптимизатор з жмысында каталогта саталынатын апаратты пайдаланады. Каталогты зі де кестелер жиынтыы болып табылады, сондытан МБЖ ерекше дістер мен тсілдерге сйенбей-а, дстрлі ралдарды пайдалана алады.

Реляциялы алгебра

Реляциялы алгебра-бір немесе бірнеше атынастар негізінде берілген атынастарды згертпей баса атынасты руа ммкіндік беретін амалдарды теориялы тілі.

Амал нтижесі іштестірілген рнекті руа ммкіндік беретін баса амал шін операнда ретінде олданыла алады(реляциялы алгебраны тйытыы).

Реляциялы алгебра барлы корртеждар бір команда арылы делетін тіл болып табылады.

Амалдар жиынын анытауды бірнеше варианттары бар. Негізгі бес амалы:

  • Тадау;
  • Проекциялау;
  • Декартты кбейтінді;
  • Біріктіру.

Осы амалдар негізінде тмендегідей баса амалдарды алуа болады:

  • Айырма;
  • осу;
  • иылысу;
  • Блу.

Тадау жне проекциялау – унарлы, аландары – бинарлы амалдар. 13-суретте осы амалдарды нтижелеріні сызбасы крсетілген.

 

Тадау Проекциялау Декартты кбейтінді

 

Наты осу Жартылай Сол жаынан

осу ашы осу

13-сурет. Операторлар рекетіні сызба трінде бейнеленуі

 

Тадау

– Тадау амалы берілген шартты (предикатты) анааттандыратын R атынасыны кортеждарынан тратын атынасты анытайды.

Предикатта (And), (Or), ~ (Not) логикалы амал белгілері олданыла

алады.

Мысал. Оклады 300-ден жоары болатын ызметкерлер тізімін алу.

KodS Lname Fname Pol DR Dol ZP KO
S21 Иванов Иван М 01.02.70 Руководитель B5
S14 Сидоров Стеман М 06.05.68 Менеджер B3
S41 Петров Игорь М 02.02.68 Менеджер B5

 

Проекциялау

Патр1,…,атрn(R) – Проекциялау амалы атрибуттары атр1, …атрn болатын

жне тек унарлы кортеждан ралан атынасты анытайды (нтижеден айталанатын мндер алынып тасталынады).

Мысал. Блім бар болатын барлы алалар тізімін алу.

ПCity(Branch)

Нтиже:

City
Тюмень
Нижневартовск
Ишим
Надым

 

Декартты кбейтінді

RхS – Декартты кбейтінді амалы рбір R атынасындаы кортежа бір S атынасындаы кортежді конкатенацияны(яни жаластыру) нтижесі арылы аныталатын жаа атынасты анытайды.

Егер R атынасы I кортеж бен M атрибуттан ралса, ал S – J кортеж бен N атрибуттан ралса, онда RхS атынасы IхJ кортеж бен M+N атрибуттан атрибуттан ралады. Егер кіріс атынастардаы атрибуттар бірдей атпен аталса, онда орытынды атынаста атынас аты префикс есебінде тіркеліп жазылады(мысалы, Branch.City).

Мысал. Жылжымайтын млік обектілерін арап шыан арендаторлар тізімін алу

KodR,Name(Renter))х(ПKodR,KodP,Comment(Viewing))

Нтижесі:

KodR Name Viewing.KodR KodP Comment
R76 Саблев Иван R56 P14 Мала
R76 Саблев Иван R76 P04 Далеко
R76 Саблев Иван R56 P04  
R76 Саблев Иван R62 P14 Дорого
R76 Саблев Иван R56 P36  
R56 Рубин Степан R56 P14 Мала
R56 Рубин Степан R76 P04 Далеко
R56 Рубин Степан R56 P04  
R56 Рубин Степан R62 P14 Дорого
R56 Рубин Степан R56 P36  
R74 Кротова Ирина R56 P14 Мала
  Жне т.б.      

 

Бл трдегі атынаста кп арты апараттар бар. Мысалы, бірінші кортежда KodR жне Viewing.KodR рістеріні мндері ртрлі. Ізделініп отыран атынасты алу шін KodR=Viewing.KodR предикатымен тадау амалын олдануымыз керек:

KodR=Viewing.KodR((ПKodR,Name(Renter))х(ПKodR,KodP,Comment(Viewing)))

Бл амалдарды нтижесі:

KodR Name V.KodR KodP Comment
R76 Саблев Иван R76 P04 Далеко
R56 Рубин Степан R56 P14 Мала
R56 Рубин Степан R56 P04  
R56 Рубин Степан R56 P36  
R62 Зимина Елена R62 P14 Дорого

 

Біріктіру

R S - Біріктіру амалы рбір R жне S атынасыны кортеждары айталанатын мндері алынып тасталып кірістірілген жаа атынасты анытайды. Мнда R жне S атынасы біріктіруде йлесімді болуы – сйкес домендерінде бірдей атрибуттар болуы тиіс.

Мысал. Агенттікті блімдері немесе жылжымайтын млік объектілері бар алалар тізімін алу..

ПCity(Branch) ПCity(Prorerty_Rent)

Нтижесі:

City
Тюмень
Нижневартовск
Ишим
Надым
Сургут

 

Айырма

R-S -Айырма амалы S атынасында жо R атынасындаы кортеждар кірістірілген жаа атынасты анытайды. Мнда R жне S атынастары йлесімді болуы керек.

Мысал. Агенттікті жылжымайтын мліктері орналасан, біра блімдері жо алалар тізімін алу.

ПCity(Prorerty_Rent) - ПCity(Branch)

Нтижесі:

City
Сургут

 

осу амалы

Егер олданушыа берілген шартты анааттандыратын декартты кбейтіндіні белгілі бір блігі ана керек болса, негізгі амалдарды бірі осу амалы олданылады. осу амалыны бірнеше трі бар:

тета – осу;

наты осу;

сырты осу;

жартылай осу.

Тета-осу.

R |><| FS - Тета-осу амалы декартты кбейтіндіден F предикатын анааттандыратын кортеждардан ралан атынасты анытайды. F предикаты R.ai S.bi трінде болады,мндаы - < | <= | >= | = | ~= амалдарыны бірі.

Егер F предикаты тек = амалынан ралса, онда осу эквиваленттік бойынша осу амалы деп аталады.

атынасты базалы амалдар негізінде де жазуа болады:

R |><| FS = F(Rх)

Мысал. Жылжымайтын мліктерді арап шыан арендаторлар тізімін алу

KodR,Name(Renter)) Renter.KodR= Viewing.KodRKodR,KodP,Comment(Viewing))

Нтижесі: жоарыда крсетілген.

Наты осу.

R|><|S - Наты осу амалы – нтижеден рбір жалпы атрибутты бір экземпляры алынып тасталынатын барлы жалпы атрибуттарда орындалатын

эквиваленттік бойынша осу амалы.

Мысал. Жылжымайтын мліктерді арап шыан арендаторлар тізімін алу

KodR,Name(Renter)) |><| (ПKodR,KodP,Comment(Viewing))

Нтижесі:

KodR Name KodP Comment
R76 Саблев Иван P04 Далеко
R56 Рубин Степан P14 Мала
R56 Рубин Степан P04  
R56 Рубин Степан P36  
R62 Зимина Елена P14 Дорого

 

Сырты осу

R <|S - R атынасыны кортеждарыны S атынасындаы жалпы атрибуттар мніне сйкес келмесе, сонымен атар нтижелік атынаса кірістірілсе сол жаынан сырты осу амалы аныталады. Мндері болмаса Null мні олданылады.

Артышылыы: сырты осуда R атынасындаы барлы апарат саталады.

Осыан сас о жаынан сырты осу жне толы сырты осу амалдарын анытауа болады.

Мысалы. Жылжыматын млікті арап шыу туралы есеп беруді анытау.

ПKodR,Street,City(Property_Rent) (Viewing))

Нтижесі:

KodP (код недвижимости) KodR (код арендатора)   (Заключение)
P14 R56 24.05.01 Мала
P04 R76 20.04.01 Далеко
P04 R56 26.05.01  
P14 R62 14.05.01 Дорого
P36 R56 28.04.01  

 

Жартылай осу

R |> FS -Жартылау осу амалы R жне S атынасына да кірістірілетін R атынанысыны кортеждарынан тратын атынасты анытайды.

Жартылай осу амалын проекциялау жне осу операторлары арылы

анытауа болады:

R |> FS = ПA(R |><|FS),

Мндаы A – R атынасындаы барлы атрибуттар жиыны.

Мысал. Атбе ласында орналасан блімде жмыс жасайтын ызметкерлер туралы апараттан тратын есеп беруді ру.

Staff |> Staff.KodO = Branch.KodO and Branch.City=’Тюмень Branch

Нтижесі:

KodS (код)   Lname (фамилия)   Fname (имя)   Pol (пол)   DR (дата р.)   Dol (должность)   ZP (Оклад)   KodO (код отд.)  
S21 Иванов Иван М 01.02.70 Руководитель B5
S37 Петрова Татьяна Ж 12.11.72 Агент B3
S14 Сидоров Степан М 06.05.68 Менеджер B3
S05 Степанова Елена Ж 16.07.71 Секретарь B3
S41 Петров Игорь М 02.02.68 Менеджер B5

 

иылысу

R S - иылысу амалы R жне S атынасында бар кортеждардан ралатын атынасты анытайды. R жне S атынасы йлесімді болуы керек.

иылысу амалын базалы амалдар арылы жазуа болады:

R S=R-(R-S)

Блу

R S - Блу амалы S атынасындаы барлы кортеждар комбинациясына йкес келетін С атрибуттар жиынында аныталан R кортеждарынан татын атынасты анытайды.

Блу амалын базалы амалдар арылы рнектеп жазуа болады:

T1C( R )

T2C ((SхT1)-R)

R S=T1-T2

Мысал. 4 блмелі жылжымайтын млік объектлерін арап шыан арендаторлар тізімін алу.

kodR,KodP (Viewing)) kodP ( Rooms=4(Property_Rent)))

Нтиже:

KodR KodP
R76 P04
R56 P04

 

Баылау сратары:

1. Реляциялы модель деп андай модельді айтамыз?

2. Реляциялы мліметтер орында олданылатын негізгі терминдер?

3. Реляциялы алгебра дегеніміз не?

4. Реляциялы алгебраны негізгі амалдары андай?

дебиеттер:

[3], [4], [7].