7. Қарама-қайшылық емес
Деректердің бар болуы.Деректер қорындағы кейбір бағандардың əрбір жолда мəні болуы
керек; бағандағы мұндай жолдар жоқ мəнді қоса алмайды. Мысалға, деректер қорындағы əрбір
тапсырысқа тапсырыс жасаған сатып алушы бар болуы керек. Бұл деректер тұтастық жай
шартына кейбір бағандар NULL мəнді болмауын талап етеді. Бұл шарт CREATE TABLE
инструкциясының бөлігі NOT NULL шектеуі түрінде беріледі. Егер бағанға NOT NULL
шектемесі қойылса, онда бұл шарттың орындалуына ДҚБЖ келесілерді қамтамасыз етеді:
• бірде-бір INSERT инструкциясында бағанға NULL мəнін көрсетуге болмайды, бұл
бағанға бар немесе жоқ NULL мəнді жол қосу əрекеті қатені көрсетеді;
• бірде-бір UPDATE инструкциясында бағанға NULL мəнін ұсынуге болмайды, бұл
бағанға бар немесе жоқ NULL мəнді жол қосу əрекеті қатені көрсетеді.
Деректердің бар болуының міндетті шартының кемшілігі оны кесте құру кезінде беру
керектігінде. Дайын кестеге NOT NULL шектемесін қоя алмауы көптеген ДҚБЖ-де жоқ мəндер
ішкі деңгейде іске асырылған. Кесте құру кезінде қай баған NULL мəнінен тұратыны, ал
қайсысында болмайтыны нақты анықталуы тиіс.
Мəннің шарты. Деректер қорындағы əрбір бағанда өзінің домені бар, ол - берілген
бағанда сақталуына рұқсат етілетін мəндер жиынтығы. ДҚБЖ-ге нақты бір диапазонға
кірмейтін мəн жазбасы мұндай бағандарда мүмкін емес. Кесте құру кезінде əрбір бағанға нақты
бір типті дерек бекітіледі, бағанға осы типті деректер енгізілуін ДҚБЖ қадағалайды. SQL Server
деректер дұрыстығына тексерісті қамтамасыз етеді, қолданушыға көрсетілген бағанға қандай
деректерді енгізуге болатынын анықтайтын ереже құруына мүмкіндік береді.
Кестенің тұтастығы. Кестенің алғашқы кілті басқа жолдардағы мəндерге қарағанда əрбір
жолда ерекше мəнге ие болуы тиіс. ДҚБЖ-ге кестенің тұтастығын қамтамасыз етуін ұсынуге
болады. Мұндай тəсілмен жолды өңдеу немесе қосу əрекетінен алғашқы кілт өзінің ерекшелігін
жоғалтады, қате жайлы хабарлама шығумен аяқталады.
Кейде кестенің алғашқы кілті болмайтын баған барлық жолдарда ерекше мəн болуын
талап етеді. Бағанға ерекшелік шартын салып, кестедегі ПРОДАВЦЫ фамилиясынан екі
бірдей фамилияларды ПРОДАВЦЫ-ды болдырмаумен шектейік. Алғашқы кілт бөлігін
бейнелейтін немесе ерекшелік шарты салынған кез келген баған NOT NULL шектеуімен
жариялануы тиіс.
Бақылау сұрақтары:
1. Алғашқы кілт дегеніміз не?
2. Сыртқы кілт дегеніміз не?
3. Мəндер ерекшеліктеріне аңықтама беріңіз.
4. Деректердің тұтастығын қамтамасыз ететін стандартты механизмдерді атаңыз.
5. FOREIGN KEY мен CHECK шектеулері мүмкін болатын мəндерді анықтаңыз.
Əдебиеттер
:[1] 203-212 бет. [2] 76-78 бет. [3]108-112 бет. қ[1] 35-37 бет.
2 кредит сағат.
Тақырыбы:
Деректердің тұтастығын қамтамасыз ету
Дəріс мазмұны:
1. «Деректер тұтастығы» түсінігі
Сілтемелі тұтастық. Реляциялық деректер қорында əрбір ұрпақ-кесте жолынан сыртқы
кілт көмегімен алғашқы кілті бар мəні сыртқы кілт мəніне тең аталы-кесте жолымен
байланысты.
Аталық/ұрпақтық қатынас тұтастық сілтемесін бұзатын деректер қорының өзгеруінің төрт
түрі бар:
• жаңа ұрпақ-жолының қосылуы;
• ұрпақ-жолдағы сыртқы кілт өңделуі;
• аталық-жолдың жойылуы;
• ұрпақ-жолдағы алғашқы кілттің өңделуі.
Функционалды міндет бойынша барлық шектеулерді бірнеше түрге бөлуге болады: