9 Деректердің тұтастығын қамтамасыз ету. «Деректер тұтастығы» түсінігі. Жою және жаңарту ережесі Деректер тұтастығы термині деректер қорындағы ақпараттардың дұрыстығы мен толықтығына жатады. Деректер қорын өзгерткен кезде деректер тұтастығы бұзылуы мүмкін. Деректер қорына қате мәліметтер енгізілуі мүмкін, өзгеру нәтижесінде бар деректерге қате мәндер меншіктелуі мүмкін, деректер қорындағы өзгертулер жоғалып немесе жүйелік қатенің салдарынан немесе токтың үзілуінен біртіндеп енуі мүмкін.
Реляциялық ДҚБЖ-дегі ең басты мәселелердің бірі болып деректер тұтастығын максималды мүмкін деңгейде қолдау болып табылады. Сақталатын ақпараттың қарама-қайшылық емес және дұрыстығын сақтау үшін деректер қорының тұтастығын жүзеге асыратын әртүрлі шектеулер типімен қатар, SQL Server деректер қорында анықталған тұтастық типтері мен деректердің тұтастығын қолдайтын әртүрлі әдістер орнатылады.
SQL Server деректер тұтастығының төрт типін қолдайды және келесі шарттар қолданылады:
1. Деректердің бар болуы
2. Мәннің шарты
3. Кестенің тұтастығы
4. Сілтемелі тұтастық
5. Іскерлік ереже
6. Деректер арасындағы басқа арасалмақ
7. Қарама-қайшылық емес
Деректердің бар болуы.Деректер қорындағы кейбір бағандардың әрбір жолда мәні болуы керек; бағандағы мұндай жолдар жоқ мәнді қоса алмайды. Мысалға, деректер қорындағы әрбір тапсырысқа тапсырыс жасаған сатып алушы бар болуы керек. Бұл деректер тұтастық жай шартына кейбір бағандар NULL мәнді болмауын талап етеді. Бұл шарт CREATE TABLE инструкциясының бөлігі NOT NULL шектеуі түрінде беріледі. Егер бағанға NOT NULL шектемесі қойылса, онда бұл шарттың орындалуына ДҚБЖ келесілерді қамтамасыз етеді:
бірде-бір INSERT инструкциясында бағанға NULL мәнін көрсетуге болмайды, бұл бағанға бар немесе жоқ NULL мәнді жол қосу әрекеті қатені көрсетеді;
бірде-бір UPDATE инструкциясында бағанға NULL мәнін ұсынуге болмайды, бұл бағанға бар немесе жоқ NULL мәнді жол қосу әрекеті қатені көрсетеді.
Деректердің бар болуының міндетті шартының кемшілігі оны кесте құру кезінде беру керектігінде. Дайын кестеге NOT NULL шектемесін қоя алмауы көптеген ДҚБЖ-де жоқ мәндер ішкі деңгейде іске асырылған. Кесте құру кезінде қай баған NULL мәнінен тұратыны, ал қайсысында болмайтыны нақты анықталуы тиіс.
Мәннің шарты.Деректер қорындағы әрбір бағанда өзінің домені бар, ол - берілген бағанда сақталуына рұқсат етілетін мәндер жиынтығы. ДҚБЖ-ге нақты бір диапазонға кірмейтін мән жазбасы мұндай бағандарда мүмкін емес. Кесте құру кезінде әрбір бағанға нақты бір типті дерек бекітіледі, бағанға осы типті деректер енгізілуін ДҚБЖ қадағалайды. SQL Server деректер дұрыстығына тексерісті қамтамасыз етеді, қолданушыға көрсетілген бағанға қандай деректерді енгізуге болатынын анықтайтын ереже құруына мүмкіндік береді.