Хелпикс

Главная

Контакты

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





Домендер.



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

· Доменде ерекше ат болады (деректер қ оры аймағ ында).

· Домендер деректердің кейбір қ арапайым типінде немесе басқ а доменде анық талынады.

· Доменде осы домен ү шін болатын, деректер кө пмү шесін сипаттауғ а мү мкіндік беретін кейбір логикалық шарты болады.  

· Доменде нақ ты бір мә ндік жү ктеме болады.  

Мысалы, «қ ызметкер жасы» деген мағ ынасы бар  доменнің, натурал сандар кө пмү шесі деп сипаттауғ а болады:

Егер деректер типін берілген деректер типінде кө пмү шенің мү мкін мә ні деп санаса, онда домен осы кө пмү шедегі бағ ың ынқ ы кө пмү шені еске тү сіреді. Доменнің бағ ың ынқ ы кө пмү ше тү сінігінен айырмашылығ ы, ол домен пә ндік салада анық талғ ан семантиканы кескіндейді. Бағ ың ынқ ы кө пмү шеге ұ қ сас болатын, бірақ ә ртү рлі мағ ыналы болатын бірнеше домен болуы мү мкін. Мысалы, " Деталь салмағ ы" жә не " Бар сандар" домендерін бү тін сандардың теріс емес кө пмү шесі ретінде бірдей сипаттауғ а болады, бірақ бұ л домендердің мағ ынасы ә ртү рлі болады, жә не бұ л ә ртү рлі домендер болады. Доменнің жалпы мә ні ол домендер салыстырмалық пен шектеледі. Логикалық кө з қ арастан нақ ты емес, бір типті болсада ә ртү рлі домендердің мә ннің салыстыру. Синтаксистік дұ рыс сұ раныс  " барлық деталдың тізімін беру, оларда деталь салмағ ы бар санынан кө п",  " саны" жә не " салмағ ы" тү сініктері мағ ынасына сә йкес емес.

Қ атынастар, атрибуттар, қ атынас кортежі.

Анық тама жә не мысал.

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

1 Анық тама. Қ атынас атрибуты болып жұ п тү рі  < Атрибут_аты: Домен_аты>.

Қ атынас шегінде атрибут аттары ерекше болу керек. Жиі қ атынастың атрибут аттары тиісті домен аттарымен ұ қ сас болады.

2 Анық тама.  домен кө пмү шесінде анық талғ ан қ атынасы , екі бө ліктен тұ рады: тақ ырыбы жә не денесі.

Қ атынас тақ ырыбы қ атынас атрибуттарының қ алыпты санынан тұ рады:

Қ атынас денесі қ атынас кортеждерінің кө пмү шесінен тұ рады. Ә р қ атынас кортежі < Атрибут_аты: Атрибут_мә ні> тү ріндегі кө пмү ше жұ бын білдіреді:

мұ нда  мә ніндегі атрибуты  доменіне жатады

Қ атынас кө бінесе мына тү рде жазылады:

,

немесе қ ысқ а тү рде

,

немесе қ арапайым .

Қ атынастағ ы атрибут санның қ атынас дә режесі (немесе-арность) деп атайды. Қ атынас кортежінің кө пмү ше мә ні қ атынас қ уаты деп аталады. Алдың ғ ы бө лімге енгізілген қ атынастың математикалық тү сінігіне қ айта келіп, келесі шешімді жасауғ а болады:

Мысал. " Қ ызметкер_нө мірі", " Фамилия", " Ең бек ақ ы", " Бө лім_нө мірі" домендеріндегі " Қ ызметкерлер" қ атынасын қ арастырамыз. Барлық домендер ә ртү рлі, онда қ атынас атрибутының атын тиісті домен атымен атауғ а болады. Қ атынас тақ ырыбы келесі тү рде:

Қ ызметкерлер  (Қ ызметкер_нө мірі, Фамилия, Ең бек ақ ы, Бө лім_нө мірі)

Осы кезде қ атынас ү ш кортежден тұ рады:

(1, Иванов, 1000, 1)

(2, Петров, 2000, 2)

(3, Сидоров, 3000, 1)

мұ ндай қ атынастың нақ ты кө рінісі келесі тү рде болады:

 

" Қ ызметкер_нө мірі" Фамилия " Ең бек ақ ы" " Бө лім_нө мірі"
Иванов
Петров
Сидоров

Кесте 1 - " Қ ызметкерлер" қ атынасы.

3  Анық тама.  Реляциялық деректер қ оры қ атынастар жиыны деп аталады.

4 Анық тама. Реляциялық деректер қ орының схемасы деректер қ орына кіретін қ атынастың тақ ырыптар жиыны деп аталады.

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

Реляциялық деректер моделіндегі терминдер тиісті «кестелік» синонимдері бар:

Реляциялық термин Тиісті " кестелік" термин
Деректер қ оры Кесте жиыны
Деректер қ орының схемасы Кесте тақ ырыбының жиыны
Қ атынас Кесте
Қ атынас тақ ырыбы Кесте тақ ырыбы
Қ атынас денесі Кесте денесі
Қ атынас атрибуты Кесте тік жолының аталуы
Қ атынас кортежі Кесте жолы
Қ атынас дә режесі (-арность) Кестенің тік жолының саны
Қ атынас қ уаттылығ ы Кестенің жолының саны
Домендер жә не деректер типі Кесте ұ яшығ ындағ ы деректер типі

Қ атынас қ асиеті.

Қ атынас қ асиеті қ атынастың жоғ арыда келтірілген анық тамасымен тікелей жү реді. Бұ л қ асиеттер негізінен кесте мен қ атынас арасындағ ы ерекшеліктен тұ рады.

1. Қ атынаста бірдей кортеж жоқ . Расында, қ атынас денесі кортеж кө пмү шесі. Кейбір кө пмү ше сияқ ты айырмасы жоқ элементтері жоқ (1 бө лімді қ араң ыз). Кестелер қ атынасқ а қ арағ анда бірдей жолдардан тұ рады.

2. Кортеждер реттелмеген (жоғ арыдан тө менге). Шындығ ында, біз кесте тү рінде " Қ ызметкерлер" қ атынасын кескіндедік, бірақ қ ызметкер Иванов қ ызметкер Петровтың " алдын алады" деуге болмайды. Себебі сол - қ атынас денесі кө пмү ше, ал кө пмү ше реттелген. Бұ л екінші себебі, ол арқ ылы қ атынас пен кестені ә рекеттестіруге болмайды - кестедегі жолдар реттелген. Сол бір қ атынас ә ртү рлі кестемен кескінделген, онда жолдар ә ртү рлі ретпен жү реді.

3. Атрибуттары реттелмеген (солдан оң ғ а). Ө йткені ә р атрибуттың қ атынас кө лемінде ерекше бір аты болады, ал атрибут ретінің мағ ынасы жоқ. Бұ л қ асиет біршама қ атынасты қ атынастың математикалық анық тамасынан айырмашысын кө рсетеді (1 бө лім қ араң ыз - кортеж компоненттері онда реттелген). Тағ ы да ү шінші себебі, кесте мен қ атынасты ә рекеттестірмеу - кестедегі тік жолдар реттелмеген. Сол бір қ атынас ә ртү рлі кестемен кескінделген, онда тік жолдар ә ртү рлі ретпен жү реді.

4. Атрибуттың барлық мә ндері атомарлы. Оның негізінде жатқ ан атрибуттардың атомарлы мә ні болады. Бұ л қ атынастың кестеден тө ртінші айырмашылығ ы - кесте ұ яшығ ына не болмаса соны орналастыруғ а болады - массивтер, қ ұ рылымыдар, жә не тағ ы басқ а кестелер.

Домендер – бұ л бір мағ ынасы (семантика) бар деректер типі. Домендер салыстыруды шектеуі - нақ ты емес, ә ртү рлі домендерде мә нді салыстыруғ а болады.

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

Қ атынас келесі қ асиеттерге ие:

· Қ атынаста ұ қ сас кортеж жоқ.

· Кортеждер реттелмеген (тө меннен жоғ ары қ арай).

· Атрибуттар реттелмеген (солдан оң ғ а қ арай).

· Атрибуттың барлық мә ні атомарлы.

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

Реляциялық деректер қ орының схемасы деректер қ орына кіретін қ атынас тақ ырыбының жиыны.

Егер қ атынас тек скалярлы (атомарлы) мә ннен тұ рса, онда ол Бірінші Қ алыпты Формада (1Қ Ф) болады.

Потенциалды кілттер.

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

1 Анық тама.  қ атынасы берілсін. атрибуттар кө пмү шесіндегі қ атынасын потенциалды кілт деп атаймыз, егер мынадай қ асиеттерге ие болса:

1. Қ асиет ерекшелігі - қ атынаста бірдей мә нді екі тү рлі кортеж болуы мү мкін емес.

2. Артық шылық қ асиетінде- бағ ың ынқ ы кө пмү шесі ешқ андай ерекше қ асиетке ие емес.

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

Қ атынастың бірнеше потенциалды кілті болады. Ә деттегідей, потенциальды кілттердің бірі алғ ашқ ы, ал қ алғ андары - альтернативті. Алғ ашқ ы жә не альтернативті кілт арасындағ ы айырмашылық реляциялық ДҚ БЖ ү лестіру кезіндегі маң ызды болуы мү мкін, бірақ деректердің реляциялық моделі кө з қ арасынан бір потенциальды кілтті ерекшелеуге негіз жоқ.

 

Табель нө мірі Фамилия Ең бек ақ ы
Иванов
Петров
Сидоров
A B C
Иванов
Петров
Сидоров

Кесте 2 - Қ атынас  " Қ ызметкерлер".

 

Бұ л қ атынасты кескіндейтін кестеге бірінші рет қ арағ ан кезде, кө рінуі мү мкін, кестеде ү ш потенциальды кілт - кестенің ә р бағ анында ерекше деректер бар. Бірақ қ ызметкерлер арасында фамилиясы бірдей жә не ең бек ақ ысы бірдей қ ызметкер болуы мү мкін. Табель нө мірі ә р қ ызметкер ү шін ерекше. Бізді қ андай ой, осы қ атынаста тек бір потенциальды кілт - " Табель нө мірі" бар деген тү сінікке ә келді? Дә л сол қ атынастағ ы деректер мә ннің тү сіну. Атрибуттар аталуын ө згертіп бұ л қ атынасты басқ а тү рде кө рейік: Осы кестені басқ а біреуге кө рсетіп, оғ ан атрибуттар аталу мағ ынасын хабарламаймыз. Енді кө рініп тұ р деректердің мағ ынасын тү сінбей тұ рып оны талқ ылай алмаймыз немесе ол осы қ атынаста пайда болады ма, мысалы, кортеж (1, Петров, 3000). Егер мұ ндай кортеж пайда болса (бір кө ргеннен кортеж ерекшелігі бұ зылады), онда біз дә л айта аламыз, атрибуттардың біреуі де жекелей альтернативті кілт бола аламайды. Бірақ біз айта алмаймыз, алғ ашқ ы кілт не болып табылатынын.

Мә н тұ тастығ ы. Потенциальды кілттер негізінен пә ндік сала объктілерінің идентификаторы қ ызметін атақ арады (объектілерді айыруғ а арналғ ан), онда бұ л идентификаторлар мә ні белгісіз мә ні болмайды. Расында, егер идентификаторларда null-мә ні болса, онда біз екі идентификатор ұ қ сас па, ұ қ сас емес пе соғ ан " иә " немесе " жоқ " деген жауап бере алмаймыз. Бұ л келесі мә ннің тұ тастық ережесін анық тайды: Мә ннің тұ тастық ережесі. Кейбір потенциальды кілт қ ұ рамына кіретін атрибуттар null-мә ннің қ абылдай алмайды.

Сыртқ ы кіллтер. Пә ндік саланың ә ртү рлі объектілері ылғ м бір-бірімен ө зара байланысты, олар жө ніндегі ақ парат деректер қ орында сақ талынады. Мысалы, тауарды жеткізу жө ніндегі накладной қ ағ азы тауар саны жә не бағ асы тізімінен тұ рады, кә сіпорындағ ы қ ызметкер бө лімде тіркеледі, оның балалары бар жә не т. б. " Тұ рады", " бар", " тіркеледі" терминдері " накладной" жә не " тауар тізімі", " қ ызметкер" жә не " балалар", " қ ызметкер" жә не " бө лім" тү сініктері арасындағ ы байланысты білдіреді. Мұ ндай байланыстар бірнеше қ атынасты байланыстыратын сыртқ ы кілттер кө мегімен реляциялық деректер қ орында бейнеленеді. Мысалы, бізге жеткізушілердің аталуы, олармен жеткізілетін тауар аталуы мен саны жө ніндегі ақ парат ақ паратты сақ тау керек, бірақ ә р жеткізуші бірнеше деталь жеткізе алады жә не ә р деталь бірнеше жеткізушімен жеткізілуі мү мкін. Деректерді келесі қ атынаста сақ тауды ұ сынуғ а болады:

Жеткізуші нө мірі Жеткізуші аталуы Деталь нө мірі Деталь аталуы Жеткізілетін саны
1 Иванов 1 Болт
1 Иванов 2 Гайка
1 Иванов 3 Винт
2 Петров 1 Болт
2 Петров 2 Гайка
3 Сидоров 3 Винт

Кесте 3 - " Жеткізушілер жә не жеткізілетін детальдар" қ атынасы.

 

Бұ л қ атынастың потенциальды кілті болып екі атрибут жұ бы бола алады {" Жеткізуші нө мірі", " Деталь нө мірі" } – кестеде олар курсивпен белгіленген. Деректерді сақ таудың келтірілген тә сілінде кемшіліктер бар. Егер жеткізушінің аталуы ө згерсе не болады? Себебі жеткізуші аталуы қ атынастың кө птеген кортежінде қ айталанады, онда бұ л аталуды бір уақ ытта ол кездесетін барлық кортежде ө згерту керекто, ә йтпесе деректер қ арама-қ арсы болады. Дә л сондай деталь аталуымен. Деректер біздің қ атынаста ү лкен артық шылық пен сақ талынады.

Ә рі қ арай, тұ жырымды қ алай кескіндейміз, кейбір жеткізуші, мысалы Петров, детальды жеткізуді уақ ытша тоқ татты? Егер біз осы жеткізуші жеткізу жө ніндегі ақ парат сақ талынғ ан, барлық кортежді жойсақ, онда біз сол потенциалды жеткізуші Петров жө ніндегі деректерді жоғ алтамыз. Біз қ атынаста кортеж типін (2, Петров, NULL, NULL, NULL) қ алдырып, бұ л жағ дайдан шығ а алмаймыз, ө йткені " Деталь нө мірі" атрибуты потенциальды кілт қ ұ рамына кіреді жә не null-мә ні болмайды. Дә л сондай болады, егер кейбір деталь уақ ытша ешқ андай жеткізушімен жеткізілмейді. Біз мынадай ақ паратты сақ тай алмаймыз, қ андай да бір жеткізуші, егер ол аз дегенде бір деталь жеткізбесе жә не мынадай тағ ы ақ парат сақ тай алмаймыз, қ андай да бір деталь бар, егер оны ешкім жеткізбесе. Осындай мә селелер пайда болады, себебі біз бір қ атынаста пә ндік саланың ә ртү рлі объектілерін – жеткізушілер жө ніндегі деректерді, деталь жө ніндегі деректерді, детальды жеткізу жө ніндегі деректерді араластырдық. Бұ л қ атынас жаман қ алыптастырлғ ан (жай қ алыптастырылғ ан болады, ол қ атынас автоматты тү рде 1Қ Ф орналасады) деп айтылады. Қ атынасты қ алай дұ рыс қ алыптастыру керектігі келесі бө лімдерде айтылады, қ азір деректерді ү ш қ атынасқ а - " Жеткізушілер", " Детальдар, " Жеткізу" таратамыз. Біз ү шін маң ыздысы, осы қ атынаста сақ талынатын деректер бір бірімен қ алай байланысқ ан. Бұ л байланыс пә ндік саланың семантикасымен анық талынады жә не мынадай фразамен сипатталады: " Жеткізушілер Жеткізуді орындайды", " Детальдар Жеткізу арқ ылы жеткізіледі". Бұ л екі ө зара байланыс тікелей " Жеткізушілермен" жә не " Детальмен" арасындағ ы жаң а ө зара байланысты анық тайды: " Деталь Жеткізушілермен жеткізіледі". Бұ л фразалар ә ртү рлі типті ө зара байланысты кескіндейді. Пә ндік саланы дә лірек кө рсету ү шін, фразаларды басқ аша қ алыптастыруғ а болады: " Бір Жеткізуші бірнеше Жеткізуді орындай алады", " Бір Деталь бірнеше Жеткізумен жеткізіледі". Бұ л ө зара байланыс мысалы  " бірдің -кө пке" типінде. " Жеткізушілермен" жә не " Детальдармен" арасындағ ы байланысты былай қ алыптастыруғ а болады: " Бірнеше Деталь бірнеше Жеткізушімен жеткізіледі". Бұ л ө зара байланыс мысалы  " кө пке-кө п" типінде. Реляциялық деректер қ орында негізгі болып " бірдің -кө пке" типіндегі ө зара байланыс табылады.  " Кө пке-кө п" типіндегі ө зара байланыс, бірнеше " бірдің -кө пке" типіндегі ө зара байланысын қ олданып таратылады. " Бір" жағ ынан байланысқ а кіретін қ атынас (мысалы, " Жеткізушілер" ), аталық қ атынас  деп аталынады. " Кө п" жағ ынан байланысқ а кіретін қ атынас (мысалы, " Жеткізу" ), балалық қ атынас  деп аталынады. " Бірдің –кө пке" ө зара байланысын тарату механизмі мынада, балалық қ атынасқ а аталық қ атынастың кілттік атрибутына сілтеме болатын атрибуттар ү стемеленеді. Бұ л атрибуттар аталық қ атынас кортежі балалық қ атынастың қ андай кортежімен байланысып тұ рғ аның анық тайтын сыртқ ы кілттер болады. Мұ ндай атрибуттарды тағ ы да аталық қ атынастан мигрирленген деп атайды. Сонымен, жеткізушілер жә не жеткізілетін деталь жө ніндегі біздің мысал келесі тү рде болады:

 

Жеткізуші нө мірі Жеткізушінің аталуы
1 Иванов
2 Петров
3 Сидоров
Деталь нө мірі Деталь аталуы
1 Болт
2 Гайка
3 Винт

Кесте 4 - " Жеткізшілер" қ атынасы.                                           Кесте 5 - " Детальдар" қ атынасы.

 

" Жеткізу" қ атынасында " Жеткізуші нө мірі" жә не " Деталь нө мірі" атрибуттары " Жеткізушілер" жә не " Детальдар" қ атынасының кілттік атрибуттарына сілтеме болады, жә не сонымен бірге сыртқ ы кілт болып табылады. Ескеріп кетеміз, қ атынас деректері жоғ арыда сипатталғ ан кемшіліктен бос, барлық деректерді бір қ атынаста сақ тау ұ сынылды.

Жеткізуші нө мірі Деталь нө мірі Жеткізілетін саны
1 1
1 2
1 3
2 1
2 2
3 3

Кесте 6 - " Жеткізу" қ атынасы.  

Шындығ ында, жеткізуші мен деталь аталуын ө згерту кезінде, бұ л ө згерту тек бір орында болады. Егер жеткізуші барлық детальды жеткізуді бітірсе, онда " Жеткізу" қ атынасында тиісті кортеждер жойылады, жеткізуші жө ніндегі деректер ө згеріссіз қ алады. Нақ ты анық тама береміз.

2 Анық тама.  қ атынасы берілсін.  қ атынасының бағ ының қ ы кө пмү ше атрибутының сыртқ ы кілт деп атаймыз, егер:

1.  потенциальды кілтті ( жә не ә ртү рлі міндетті емес қ атынасы бар.

2. қ атынасындағ ы ә рбір  мә ні ылғ и  қ атынас кортежіндегі  мә німен ұ қ сас болады, болмаса null-мә нді болады.  

 қ атынасы аталық қ атынас,  балалық қ атынас деп аталынады.

Сыртқ ы кілт тұ тастығ ы

Сыртқ ы кілттер басқ а қ атынастағ ы (немесе сондағ ы) кортежге сілтеме болады, онда бұ л сілтемелер жоқ объектілерге кө рсетпеу керек. Бұ л келесі сыртқ ы кілттер тұ тастығ ы ережесін анық тайды: Сыртқ ы кілттер тұ тастық ережесі. Сыртқ ы кілттер келісілмеген болмау керек, одан ә рі сыртқ ы кілттің ә рбір мә ні ү шін аталық қ атынастағ ы алғ ашқ ы кілттің тиісті мә ні болу керек.



  

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