Сілтемелік тұтастық - деректерді басқарудың салыстырмалы жүйелерінде дерекқор мүмкіндігі. Деректер базасындағы кестелер арасындағы қарым-қатынастар пайдаланушылар немесе қолданбалардың дұрыс емес деректерді енгізбеуі немесе деректер жоқ екенін көрсететін шектеулерді қолдану арқылы дәл болып қалады.
Деректер қорлары оларда бар ақпаратты ұйымдастыру үшін кестелерді пайдаланады. Олар Excel сияқты электрондық кестелерге ұқсас, алайда озық пайдаланушылар үшін әлдеқайда қабілетті. Деректер базалары негізгі кілттерді және кестелер арасындағы қатынасты сақтайтын шетелдік кілттерді қолданумен жұмыс істейді.
Негізгі кілт
Дерекқор кестесінің негізгі кілті - әрбір жазбаға тағайындалған бірегей идентификатор. Әрбір кестеде бастапқы кілт ретінде тағайындалған бір немесе бірнеше баған болады. Әлеуметтік қамсыздандыру нөмірі әр қызметкердің дерекқор тізіміне арналған бастапқы кілт болуы мүмкін, себебі әрбір әлеуметтік қамсыздандыру нөмірі бірегей болып табылады.
Дегенмен, құпиялылық мәселелеріне байланысты тағайындалған компания ID нөмірі - қызметкерлерге арналған негізгі кілт ретінде жұмыс істеуге болатын жақсы таңдау. Кейбір дерекқордың бағдарламалық жасақтамасы - Microsoft Access сияқты - бастапқы кілтті автоматты түрде тағайындайды, бірақ кездейсоқ кілт нақты мағынасы жоқ. Кілтті жазу үшін мағынасы бар жақсырақ пайдалану керек. Сілтемелік тұтастықты сақтаудың ең қарапайым жолы - бастапқы кілттегі өзгерістерге жол бермеу.
Шетелдік кілт
Сыртқы кілт - кестедегі басқа идентификатор, ол басқа кестенің бастапқы кілтіне сәйкес келеді. Сыртқы кілт әр түрлі кестемен қатынас жасайды және сілтеме тұтастығы осы кестелердің арасындағы байланысты білдіреді.
Бір кестеде басқа кестеге сыртқы кілт болғанда, сілтеме тұтастығының тұжырымдамасы байланыстырылған кестеде сәйкес жазбалар болмаса, сыртқы кілт бар кестеге қосуға болмайтындығын көрсетеді. Сондай-ақ, ол каскадты жаңарту және каскадты жою сияқты белгілі әдістерді қамтиды, олар байланысты кестеге жасалған өзгертулер негізгі кестеде көрсетілгенін қамтамасыз етеді.
Сапалық тұтастық ережелерінің мысалы
Сізде екі кесте бар жағдайды қарастырыңыз: Қызметкерлер мен менеджерлер. Қызметкерлер кестесінде басқарушы кестеде әрбір қызметкердің менеджеріне арналған жазбаны көрсететін ManagedBy деп аталатын шетелдік кілт атрибуты бар. Сілтеме тұтастығы келесі үш ережелерді қамтамасыз етеді:
- ManagedBy төлсипаты Менеджерлер кестесіндегі жарамды жазбаны көрсетпейінше, Қызметкерлер кестесіне жазбаны қосуға болмайды. Сілтеме тұтастығы кестеге дұрыс емес мәліметтерді енгізуді болдырмайды. Сілтемелік тұтастық ережесін қанағаттандырмайтын кез келген әрекет сәтсіз аяқталады.
- Егер Менеджерлер кестесінде жазба үшін бастапқы кілт өзгертілсе, Қызметкерлер кестесіндегі барлық сәйкес жазбалар каскадты жаңарту арқылы өзгереді.
- Басқарушылар кестесінде жазбалар жойылса, Қызметкерлер кестесіндегі барлық тиісті жазбалар каскадты жою арқылы жойылады.
Салыстырмалы тұтастық шектеулерінің артықшылықтары
Реляциялық деректер қорын басқару жүйесін қолданудың сандық сипаттамасымен бірнеше артықшылығы бар:
- Көшірме деректердің енгізілуін болдырмайды.
- Бір кестені басқа кестеде бар жоқ өріске бағыттауды болдырмайды.
- «Серіктескен» кестелер арасындағы кепілді консистенция.
- Басқа кестедегі шетел кілтімен көрсетілген мәнді қамтитын жазбаны жоюды болдырмайды.
- Байланыстырылған кестеде бастапқы кілт болмаса, шетелдік кілтті қамтитын кестеге жазбаны қосуды болдырмайды.