№1 басылым 03. 09. 2013 №2 басылым


Дәріс №5. Дәріс тақырыбы



бет2/5
Дата31.01.2018
өлшемі1,89 Mb.
#36376
1   2   3   4   5
Дәріс №5.

Дәріс тақырыбы: Мәліметтердің реляциялық, моделінің элементтері

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

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

Мысалы, Student (ҒІО, Special, Datard) кестесінде кілт ретіңде ҒІО немесе Special немесе Datard жеке жиектерін қолдануға болмайтыны түсінікті:



  • FIO жиегінің кілт болмайтын себебі — кестеде аты-жөндері бірдей студенттер болуы мүмкін;

  • Special жиегінің кілт болмау себебі — бір мамандықга бірнеше студентгердің дәріс алатыны;

Datard жиегінің кілт болмайтын себебі — туған күндері бірдей студенттер болуы мүмкін.

Бұл кестенің кілті ретінде FIO, Special жөне Datard жиектерінің жиынын да алуға болмайтыны анық: жоғары оку орнында бір мамандық бойынша бір күнде туылған аты-жөндері бірдей бірнеше білімгерлердің кездеспейтініне кім кепіл? Мұндай жағдайда кестеге әрбір жазбадағы мәні ерекше болатын арнайы жиек енгізген дұрыс; мысалы натурал сандарды кабылдайтын білімгерлердің коды — Kodstud атрибуты: Student(Kod_stud, FIO, Spe­cial, Datard) (кілт-жиектің асты сызылған). Әдетте мұндай жиектің мәні қолданбалы программада программалық жолмен немесе мәліметгер қорында автоматтандыру арқылы беріледі.



Кесте кілтінің атқаратын қызметі:

І.Жазбалардың қайталануын болдырмау

2.Кортеждерді кілт жиектің (жиектердің) мөндерінің өсу немесе кему ретімен реттеу

3. Кестедегі жазбаларды окуды тездету

4.Кестелерді өзара байланыстыру.

Реляциялық моделде кестелердің байланысы сыртқы кілттер (Foreign Key — FK) арқылы ұйымдастырылады. Сыртқы кілт — мәңдері басқа бір кестенің жазбалары арқылы көрсетілген, яғни басқа бір кестенің негізгі кілтінің мәндерінен тұратын атрибут. Сыртқы кілті анықталған қатыс (кесте) оған сәйкес атрибуты (жиегі) негізгі кілті болып табылатын екінші бір қатысқа (кестеге) сілтеме жасайды деп айтады, мысалы, Customer және Order (Клиент жене Тапсырыс) кестелерін қарастырайық (1-сурет), мүңцағы Customer — басты

  • (негізгі, аналық) кесте, Order – қосымша (бағыныңқы, балалық) кесте. Мазмұндауды

  • жеңілдету үшін MS Access пакетінің құрамыңдағы Борей немесе NorthWind мәліметтер қорына сүйенейік:

Мәліметгер қорындағы деректер бірмәнді және өзара біртұтас үйлесімді болуы үшін реляциялық моделде шектеуші шартгар анықгалады. Шектеуші шарттар дегеніміз мәліметтердің мүмкін мәндерін қадағалаушы тәртіптер; мұндай үйлесімділік (бүтіңдік) шарттары мәліметтер қорын өңдеу және өзгерту кезінде кетуі мүмкін қателерді болдырмауға мүмкіндік береді.МҚ-ның шектеулері категориялык, бүтіндік және сілтеме



1- cypem. Customer және Order кестелерінің байланысы үйлесімділік болып екі түрден тұрады. Категориялық бүтіндік шектеуінің мағынасы: катыстың кортеждері МҚ-ның нақты объектісінің элементтерін, реляциялық мәліметтер қорын басқару жүйелерінің типіне сәйкес категориясын анықгайды. Мысалы, Кітап кестесінің кезкелген жолындағы жазба нақгы бір кітапты көрсетеді. Кестенің кілті әртүрлі бір кортежді, яғни категорияның әрбір элементін анықгайды. Демек, кестенің бір жолыңдағы мәліметгі оку немесе өзгерту үшін бұл жазбадағы кілттің мәнін білу керек.

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



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

Егер сыртьды кілттің мәндерінің растығын МҚБЖ бақыламайтын болса мәліметтердің сілтеме үйлесімділігі бұзылады, мұны келесі мысал арқылы түсіндіруге болады: егер Customer кестесінен Order кестесінің кемінде бір жазбасымен байланысы бар кезкелген бір клиентгі өшірсек, мысалы 3-жазбаны - Айжанды, онда Order кестесінде Customer-де тіркелмеген жоқ клиенттердің жасаған




тапсырыстары туралы мәліметтердің болуына әкеп соқтырады. Тура осындай қате Order кестесінің сыртқы кілті Customer жиегіне Customer кестесінде тіркелмеген клиенттің кодын енгізген жағдайда, мысалы, 4, 5, т.с.с, орын алады.

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

-негізгі кестеде қосымша кестеден сілтеме жасалып тұрган ешбір кортежді өшіруге болмайды; ягни алдымен қосымша кестедегі мұндай жазбаларды өшіріп тастау немесе жазбадағы сыртқы кілттің мәнін қажетіне қарай өзгертіп aлy керек;

-қосымша кестеден сілтеме жасалган сәйкес кортежді негізгі кестеден өшіргенде қосымша кестедегі онымен байланыстағы барлық жазбалардағы сыртқы кілттің мәні анықталмамаған мәнге ие болады;

-әсерлі өшіру (Cascade Delete): негізгі кестеден бір жазбаны өшіргенде қосымша кестедегі онымен байланыстағы барлык жазбалар жаппай өшіріледі.



Достарыңызбен бөлісу:
1   2   3   4   5




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет