Мәліметтер қорларын жобалау. Зертханалық жұмыстарды орындауға арналған әдістемелік нұсқаулар



Кіріспе
1 №1 зертханалық жұмыс. Мәліметтер қорын жасау және оның құрылымын анықтау
2 №2 зертханалық жұмыс Мәліметтермен әрекеттесу тілі
3 №3 зертханалық жұмыс Мәліметтерді сұрыптау (DQL)
4 №4 зертханалық жұмыс Агрегатты функциялар мен арнайы операторларды сұрыптау шарттарында қолдану
5 №5 зертханалық жұмыс. Елестетулер мен сақталынатын процедураларды жасау
6 №6 зертханалық жұмыс. Триггерлерді қолдану
7 №7 зертханалық жұмыс. Пайдаланушының интерфейсін өңдеу
8 №8 зертханалық жұмыс. MS SQL Server 2005 ортасында мәліметтерді шифрлеу
Әдебиеттер тізімі
Әдестемелік нұсқауда мәліметтер қорын жобалаудың сұрақтары және оны MS SQL Server мәліметтер қорларын басқару жүйесінде іске асыру сұрақтары: мәліметтер қорының объекттерін жасау, мәліметтермен әрекеттесу, ақпаратты іздеудің күрделі сұраныстарын құрастыру және де кәсіпқор пайдаланушының құралдарын – процедуралар, триггерлер, пайдаланушының қолданбалыларын өңдеу қарастырылады; сонымен бірге мәліметтер қорларын басқару жүйелер ортасында мәліметтерді шифрлеу сұрақтары.

Кіріспе
Ақпараттық жүйелерді жасаумен байланысты ең күрделі және жауапкершілік есептердің бірі мәліметтер қорларын жобалау болып табылады. Осы есепті шешу нәтижесінде мәліметтер қорларының мазмұны, оның болашақ пайдаланушыларына тиімді мәліметтерді үйымдастырудың әдісі және мәліметтерді басқарудың инструменталды құрылғылары анықталуы керек. Мәліметтер қорын жобалау процесі тақырып аймақтың ақпараттық құрылымының сөзбен бейнеленуінен тақырып аймақтың объекттерін кейбір модель терминдеріндегі формалданған бейнелеуге көшу болып табылады. Мәліметтер қорының құрылымын нақты жобалауда семантикалық модельдеу әдісі қолданылады. Бұл әдісте мәліметтердің құрылымы олардың мағнасы сүйемелденіп модельденеді. Семантикалық модельдеудің құрылғысы ретінде «нақтылық-байланыс» (Entity-Relationship - ER) диаграммаларының әртүрлі нұсқалары қолданылады. «Нақтылық-байланыс» диаграммаларының барлық нұсқалары тақырып аймақтың нақтылықтарының (объекттерінің), олардың қасиеттерінің және объекттер арасындағы өзара байланстарының графикалық бейнелерін қолданады. Мәліметтер қорларын жобалау нәтижесінде модельденетін тақырып аймақтың концептуалды сұлбасы (ER-диаграммасы) пайда болады.
Мәліметтер қорының жобасы өңделгеннен кейін оны белгілі мәліметтер қорларын басқару жүйесінде (МҚБЖ) іске асыруын бастауға болады. Қазіргі кездегі мәліметтерді басқару ақпараттық технологиялар реляциялық мәліметтер қорларын басқару жүйелерін қолдануда негізделген.
Реляциялық мәліметтер қорлары пайда боларының алдында өңделген мәліметтермен әрекеттесудің барлық тілдері файлдардың логикалық жазбалары түрде көрсетілетін мәліметтермен операцияларды жасауға бағытталған болатын. Бұл жағдай мәліметтерді сақтауының ұйымдасуын пайдаланушыға толығымен білуді талап етеді және де қандай мәліметтер керек екенін көрсетумен бірге олар қай жерде орналасқанын, оларды қалай алуға болатынын көрсетуге жеткілікті ынта керек. Әдістемелік нұсқауларда қарастырылып отырған процедуралық емес SQL (Structured Query Language – құрамдасқан сұраныстар тілі) тілі кестелердің логикалық өзара байланысқан жиындары ретінде көрсетілген мәліметтермен әрекеттесуге бағытталған. Бұл тілдің ерекшелігі олардың мәліметтерді өңдеудің поцедураларына бағытталғаны емес, мәліметтерді өңдеудің соңғы нәтижесіне бағытталғаны. Мәліметтер қай жерде орналасқанын, оларды алу үшін қандай индекстері мен операциялардың тиімділеу болатын тізбектерін орындау керек екенін SQL өзі анықтайды, мәліметтер қорына сұраныстың осындай детальдарын көрсетпеуге болады.

АЛМАТЫ ЭНЕРГЕТИКА ЖӘНЕ БАЙЛАНЫС ИНСТИТУТЫ
ИНЖЕНЕРЛІК КИБЕРНЕТИКА КАФЕДРАСЫ
 
 
 
МӘЛІМЕТТЕР ҚОРЛАРЫН ЖОБАЛАУ
пәні бойынша
050702 - “Автоматтандыру және басқару” мамандығының барлық оқу түрінің
студенттері үшін зертханалық жұмыстарды орындауға  арналған әдістемелік
нұсқаулар
 
 Алматы 2009 
ҚҰРАСТЫРУШЫЛАР: Ешпанова М.Д., Ибраева Л.К., Сябина Н.В. Мәліметтер
қорларын жобалау пәні бойынша 5В0702 -Автоматтандыру және басқару
мамандығының барлық оқу түрінің студенттері үшін зертханалық жұмыстарды
орындауға  арналған әдістемелік нұсқаулар.– Алматы: АЭжБИ, 2009. –  51 б. 
Әдестемелік нұсқауда мәліметтер қорын жобалаудың сұрақтары және оны MS
SQL Server мәліметтер қорларын басқару жүйесінде іске асыру сұрақтары:
мәліметтер қорының объекттерін жасау, мәліметтермен әрекеттесу, ақпаратты
іздеудің күрделі сұраныстарын құрастыру және де кәсіпқор пайдаланушының
құралдарын – процедуралар, триггерлер, пайдаланушының қолданбалыларын өңдеу
қарастырылады; сонымен бірге мәліметтер қорларын басқару жүйелер ортасында
мәліметтерді шифрлеу сұрақтары.
 
Кіріспе

Ақпараттық жүйелерді жасаумен байланысты ең күрделі және жауапкершілік
есептердің бірі мәліметтер қорларын жобалау болып табылады. Осы есепті шешу
нәтижесінде мәліметтер қорларының мазмұны, оның болашақ пайдаланушыларына
тиімді мәліметтерді үйымдастырудың әдісі және мәліметтерді басқарудың
инструменталды құрылғылары анықталуы керек. Мәліметтер қорын жобалау
процесі тақырып аймақтың ақпараттық құрылымының сөзбен бейнеленуінен
тақырып аймақтың объекттерін кейбір модель терминдеріндегі формалданған
бейнелеуге көшу болып табылады. Мәліметтер қорының құрылымын нақты
жобалауда семантикалық модельдеу әдісі қолданылады. Бұл әдісте
мәліметтердің құрылымы олардың мағнасы сүйемелденіп модельденеді.
Семантикалық модельдеудің құрылғысы ретінде  нақтылық-байланыс (Entity-
Relationship - ER) диаграммаларының әртүрлі нұсқалары қолданылады.
Нақтылық-байланыс диаграммаларының барлық нұсқалары тақырып аймақтың
нақтылықтарының (объекттерінің), олардың қасиеттерінің және объекттер
арасындағы өзара байланстарының  графикалық бейнелерін қолданады.
Мәліметтер қорларын жобалау нәтижесінде модельденетін тақырып аймақтың
концептуалды сұлбасы (ER-диаграммасы) пайда болады.
Мәліметтер қорының жобасы өңделгеннен кейін оны белгілі мәліметтер
қорларын басқару жүйесінде (МҚБЖ) іске асыруын бастауға болады. Қазіргі
кездегі мәліметтерді басқару ақпараттық технологиялар реляциялық мәліметтер
қорларын басқару жүйелерін қолдануда негізделген.
Реляциялық мәліметтер қорлары пайда боларының алдында өңделген
мәліметтермен әрекеттесудің барлық тілдері файлдардың логикалық жазбалары
түрде көрсетілетін мәліметтермен операцияларды жасауға бағытталған болатын.
Бұл жағдай мәліметтерді сақтауының ұйымдасуын пайдаланушыға толығымен
білуді талап етеді және де қандай мәліметтер керек екенін көрсетумен бірге
олар қай жерде орналасқанын, оларды қалай алуға болатынын көрсетуге
жеткілікті ынта керек. Әдістемелік нұсқауларда қарастырылып отырған
процедуралық емес SQL (Structured Query Language – құрамдасқан сұраныстар
тілі) тілі кестелердің логикалық өзара байланысқан жиындары ретінде
көрсетілген мәліметтермен әрекеттесуге бағытталған. Бұл тілдің ерекшелігі
олардың мәліметтерді өңдеудің поцедураларына бағытталғаны емес,
мәліметтерді өңдеудің соңғы нәтижесіне бағытталғаны. Мәліметтер қай жерде
орналасқанын, оларды алу үшін қандай индекстері мен операциялардың
тиімділеу болатын тізбектерін орындау керек екенін SQL өзі анықтайды,
мәліметтер қорына сұраныстың осындай детальдарын көрсетпеуге болады.
         Мәліметтермен жұмыс жасау үшін мәліметтер қорын жобалап, жасаған
жеткілікті емес. Мәліметтерге қол жеткізу, оларды өңдеу мүмкіншіліктері
болуы қажет. Сондықтан пайдаланушыға ыңғайлы түрде мәліметтермен жұмыс
жасауға негізделген арнайы бағдарламаны – “клиенттік қолданбалыны” жасау
керек.  
Жалпы кезде бір мәліметтер қорымен әртүрлі қолданбалының көптеген саны
жұмыс жасауы мүмкін. Бір мәліметтер қорымен жұмыс жасайтын қолданбалыларды
қарастырған кезде олар параллельді және бір-бірінен тәуелсіз жұмыс жасай
алады деп есептелінеді. Дәл МҚБЖ тұтас жалғыз мәліметтер қорымен бірнеше
қолданбалылардың жұмысын қамтамасыздандыруы керек: әрқайсысы дұрыс
орындалуы, бірақ басқа қолданбалылардың мәліметтер қорына енгізілген
өзгерістерді есепке алып отыруы керек.
Зертханалық жұмыстарға әдістемелік нұсқауларда мәліметтер қорын
жобалаудың сұрақтары және оны таңдалынған мәліметтер қорларын басқару
жүйесінде іске асыру сұрақтары: мәліметтер қорының объекттерін жасау,
мәліметтермен әрекеттесу, ақпаратты іздеудің күрделі сұраныстарын құрастыру
және де кәсіпқор пайдаланушының құралдарын – процедуралар, триггерлер,
пайдаланушының қолданбалыларын өңдеу қарастырылады. Жобаны іске асыру үшін
кәсіпорын деңгейінде мәліметтер қорларын жасап, сүйемелдеуге негізделген
Microsoft SQL Server 2005 мәліметтер қорларын басқару жүйесі ұсынылады. SQL
сұраныстар тілі әртүрлі мәліметтер қорларының мәліметтеріне қол жеткізу
үшін стандартты құралдарын ұсынады. Мәліметтер қорының көбісінде осы тілдің
өзінің версиясы бар. Бірақта SQL тілінің негізін түсіну әртүрлі
платформалардағы көптеген мәліметтер қорларымен жұмыс істеуге көмек болады.

         Ақпараттық қызметтер нарығында өнімдер әр 4-6 ай сайын жаңарады.
Сондықтан зертханалық сабақтарда қазіргі кезде қолданатын  Microsoft  SQL
Server программасының версиясы өзгеруі мүмкін. Зертханалық жұмыстарға
тапсырмалар МҚБЖ-нің версиясынан бірсыпыра тәуелсіз болуы үшін, сонымен
бірге әр оқу жылы әдістемелік нұсқауларды қайтадан баспадан шығармау үшін
Инженерлік кибернетика кафедрасында қолданылатын SQL тілінің негізгі
мүмкіншіліктерін үйрену үшін студенттерге көмек ретінде оқытуға программа
өңделген. Бұл программаның көрнекі интерфейсі бар, ол видеоанимация
құралдарымен қамтылған, көптеген мысалдармен сүйемелденген. Зертханалық
жұмысқа дайындалған кезде студент осы программаның сәйкес бөлігін
(әдістемелік нұсқалар бойынша) оқып алынған білімдерін зертханалық жұмысты
орындауға пайдаланады. 
 Кестелермен жұмыс жасауға негізделген SQL тілінің күрделі қолданбалы
программаларды жасаудың жеткілікті құралдары жоқ. Сондықтан көптеген МҚБЖ-
де ол жоғарғы деңгейдегі программалау тілдермен бірге қолданылады. 7
зертханалық жұмыста пайдаланушының қолданбалысын өңдеудің сұрақтары
қарастырылады. Өңдеудің нәтижесінің соңғы түрін көрсету үшін осы жұмыстың
әдістемелік нұсқасында өңдеудің мысалы ретінде exe.файл ұсынылады.
Соңғы зертханалық жұмыста MS  SQL Server ортасында шифрлеу сұрақтары
қарастырылады. Бұл жұмыс Ақпаратты қорғау пәнінде қарастырылған
алгоритмдерді қолдану нәтижелерін көрсетеді.
1 №1 зертханалық жұмыс. Мәліметтер қорын жасау және оның құрылымын
анықтау
 
Жұмыстың мақсаты - MS SQL Server 2005 ортасында мәліметтер қорларын
жасау, жою, резервті көшірмелеу және қалпына келтіру процедураларын
меңгеру, мәліметтерді анықтау (мәліметтер қорының құрылымын жасау) тілін
игеру.
 
1.1  MS SQL Server 2005 жүйесімен танысу

1.1.1 Мәліметтер қорының логикалық компоненттері

MS SQL Server  реляциялық мәліметтер қорларын басқару жүйесі.
Реляциялық мәліметтер қоры дегеніміз кестелер деп аталатын логикалық тұтас
сегменттерге бөлінген мәліметтер қоры, осы кестелер мәліметтер қорының
ішінде бір-бірімен кілттік өрістері арқылы байланысады. Мәліметтер қорында
мәліметтерді сақтайтын негізгі түрі кестелер болып табылады. Реляциялық
мәліметтер қоры мәліметтерді одан да майда және басқаруға ыңғайлы логикалық
сегменттерге бөлуге мүмкіншілік береді. Сондықтан мәліметтерді оптималды
көрсетуге және мәліметтерге қол жеткізудің бірнеше денгейлерін
ұйымдастыруға болады. Кестелерде кілттер болғандықтан, бірнеше кестелердегі
мәліметтерді жалғыз нәтижелік жиынтыққа ұйымдастырудың мүмкіндігі бар. Осы
жағдай реляциялық мәліметтер қорларының негізгі артықшылығы болып табылады.
Мәліметтер қорларына қолданылатын және тұтас болып есептелінетін әрекеттер
жиыны транзакция деп аталады. Транзакция мәліметтер қорына кейбір
өзгертулерді енгізу болып табылады. Әрбір мәліметтер қорының оған сәйкес
транзакциялар журналы болады, мәліметтер қорына жазу өзгертулерді алдында
SQL Server журналға  барлық орындалған транзакцияларды жазып қояды.
SQL Server-де мәліметтер бірнеше әртүрлі объекттерге ұйымдастырылған,
оларды пайдаланушы мәліметтер қорын жасағанда көреді. Олар келесідей:
- мәліметтер қорының пайдаланушылары (Database Users);
- мәліметтер қорының рольдері (Database Roles);
- кестелер (Tables);
- елестетулер (SQL Server Views);
- сақталанған процедуралар (Stored Procedures);
- ережелер (Rules);
- келісім бойынша мәндер (Defaults);
- пайдаланушымен анықталған мәліметтер типтері (User Defined
Datatypes);
- мәліметтер қорының диаграммалары (Database Diagrams).
Осы көрсетілетін объекттерден басқа әр мәліметтер қорында тағы да
келесідей объекттер бар:
- мәндерге қойылатын шарттар (Constraints);
- индекстер (Indexes);
- кілттер (Keys);
- триггерлер (Triggers).
 
1.1.2 SQL  бұйрықтарының типтері

SQL-де әртүрлі функцияларды орындайтын бұйрықтардың негізгі
категориялар:

• DDL (Data Definition Language — мәліметтерді анықтау тілі;
• DML (Data Manipulation Language — мәліметтерді манипуляциялау тілі);
• DQL (Data Query Language — мәліметтерге сұраныстарды орнату тілі);
• DCL (Data Control Language — мәліметтерді басқару тілі);
• мәліметтерді әкімдеу бұйрықтары;
• транзакцияларды басқару бұйрықтары.

Осындай функциялары арасында – мәліметтер қорының объектілерін
құрастыру, объектілерді басқару, мәліметтер қорының кестелерін жаңа
мәліметтермен толтыру, кестелерде бар мәліметтерді жаңарту, сұраныстарды
орындау, мәліметтер қорына пайдаланушылардың қол жеткізуін басқару және
мәліметтер қорымен жалпы әкімдеуді орындау.
 
1.1.3 Мәліметтердің негізгі типтері

Мәліметтердің типтері мәліметтер қорларында әртүрлі мәліметтерді
сақтауға мүмкіндік береді: кезкелген символдардан ондық сандар, даталар мен
уақыт мәндеріне дейін. Барлық тілдерде үшінші ұрпақтағы С тілдерінде
айнымалылармен жұмыс істегенде,  SQL көмегімен реляциялық мәліметтер
қорларымен жұмыс жасағанда мәліметтерді типтерге бөлу амалдары бірдей
болады. SQL-дің әртүрлі іске асыруында стандартты мәліметтер типтері үшін
әртүрлі атаулар қолданылғанымен, олардың барлығы практикада бірдей жұмыс
істейді. Қысқа мерзімге жоспарлағанда перспективалар көзқарасы жағынан да,
мәліметтер типтерін, олардың ұзындығын, масштабын, дәлдігін ұқыпты таңдау
керек. Сонымен бірге, сәйкес бизнестің де ережелерін және пайдаланушыға
мәліметтер қандай түрде көрсетілетінін есепке алып отыру қажет. Ол үшін,
әрине, мәліметтердің міндеті мен олардың мәліметтер қорының ішінде қалай
байланысқанын түсіну керек. Мәліметтер типтері мәліметтердің өзінің
сипаттамалары болып табылады, олардың атрибуттары тікелей кестелердің
сәйкес өрістерінде орнатылады. Мысалы, кейбір өріс тек қана сандық
мәндерден тұрады деп орнатылған болса, онда оған әріп-сандық мәндерді
енгізуге мүмкін болмайды.
Басқа тілдерінің көпшілігінде, SQL тілінде де ең жалпы типтері
келесідей болады: символдық жолдар, сандық жолдар, дата мен уақыт мәндері.
         Мәліметтердің символдық  (character) типтері әріптік, сандық және
арнайы (мысалы, ? немесе ) символдарды сақтауға мүмкіндік береді. Сақтау
өрісіне (кесте тік жолы сияқты) енгізген кезде символдық мәліметтер
тырнақша немесе апостроф ортасында орнатылады.
         Типі char(n) болатын мәліметтерде әр символы үшін бір байт
қолданылады. n саны анықталған тік жолдағы символдардың максималды санын
анықтайды. Егер де n-нен кіші шама енгізілсе, SQL Server жалпы ұзындың n-ге
тең болатындай соңғы символдан кейін бос орындарды (пробел) қосады.
         Дискілік кеңістікті тиімді қолдану үшін тік жолда сақталынатын
мәндер ұзындықтары әртүрлі болса,     varchar(n) типін қолдануға болады.
Бұл типтің мәліметтері үшін сақтау аймағының өлшемі символдардың нақты
санына сәйкес өзгеріп отырады, соңынан бос жолдар қосылмайды. 
         Мәтіндік мәліметтердің үлкен көлемдері үшін text типі қолданылады.
Осы типтерге сәйкес тік жолға мәліметтерді енгізу үшін оларды апострофтарға
орнату керек.
         Мәліметтердің сандық (numeric)  типтері. SQL үшін стандарттылар
келесілер болып табылады: integer, smallint – бүтін сандарды сақтау үшін;
real – жеті санға дейін дәлдікпен оң таңбалы және теріс таңбалы бөлшектерді
сақтау үшін; float(n) – он бес санға дейін дәлдікпен оң таңбалы және теріс
таңбалы бөлшектерді сақтау үшін.
         Келесі datetime және smalldatetime мәліметтер типтері даталар мен
уақытты сақтауға қолданылады. Символдар жолдары түрінде емес, осы типтерді
қолданған ыңғайлы, себебі сонда датасы мен уақыт экранға үйреншікті
форматта көрсетіледі. Datetime типі датасы мен уақытты 111753 бастап
12319999-ге дейін анықтауға, ал, smalldatetime - 111900-дан 662079-ға
дейін даталар мен уақытты анықтауға мүмкіндік береді.
         Аталған мәліметтер типтері ақпараттың 90%-на дейін сақтауға
мүмкіндік береді. Сонымен бірге, Transact SQL-де мәліметтердің арнайы
типтерінің жиыны бар. Соңынан сақталынатын құрылымдарға қолданатын
пайдаланушының типінде анықтауға болады.
         Кестенің тік жолына мәліметтер типтерін орнатқанда NULLNOT NULL
шектеулерін қолдануға болады. Бұл шектеу қандай тік жолдың мәндері кестенің
жатық жолдарының барлығына орнатылуы керек екендігін көрсетеді.
 
1.2 Мәліметтер қорымен жұмыс істеу

1.2.1 Мәліметтер қорын жасау

SQL Server-дің кез-келген объектісін жасау үшін анықталған бұйрықты
орындауда негізделген бірнеше тәсілі бар.
Жұмысты мәліметтер қорын жасаудан бастаймыз. Мәліметтер қорын жасаудың
Create Database бұйрығының синтаксисі:

CREATE DATABASE мәліметтер_қорының_аты
              ON [PRIMARY]
(NAME = мәліметтер_қорының_аты _data, FILENAME=' ...\
мәліметтер_қорының_аты _data.mdf ',  size = өлшем, maxsize =
максималды өлшемі, filegrowth = өсімше)
               LOG ON
(NAME = мәліметтер_қорының_аты _log, FILENAME=’... \
мәліметтер_қорының_аты _log.ldf ', size = өлшем, maxsize =
максималды өлшемі, filegrowth = өсімше)
Ескерту:
а) Осы жерде және соңынан да опцияларды квадратты жақшада орнату осы
параметрдің міндетті түрде керек еместігін белгілейді. Мысалы, жоғарыдағы
бұйрықта PRIMARY параметрі мәліметтер қорының және жүйелік кестелердің
логикалық басы болатын файлды анықтайды. Мәліметтер қорында бастапқы
(PRIMARY ) файл жалғыз болады. Бұл параметр көрсетілмеген болса, тізімдегі
бастапқы файл ретінде бірінші файл қолданылады. Келісім бойынша primary
типті файлдарға .mdf  кеңейтілуі меншіктеледі.
б) Егер де опциялар тік сызығымен бөлінген болса, онда екі
альтернативті нұсқаларардан таңдаудың мүмкіншілігі бар екенін түсінеміз.
 
1.2.2 Мәліметтер қорын жою

Мәліметтер қорын жою нәтижесінде оның орнатылған файлдардың барлығы
және оларда орнатылған объектілердің барлығы жойылады:
а) графикалық режимде мәліметтер қоры келесі әрекеттер көмегімен
жойылады:
- мышканың оң жақ батырмасын жойылатын мәліметтер қорының атында
басыңыз;
- контекстті менюден Delete бұйрығын таңдаңыз; пайда болған хабарлар
терезесінде мәліметтер қорын жоюды дәлелеңіз.
б) тransact-SQL көмегімен мәліметтер қорын жою үшін келесі бұйрық
орындалады:

DROP DATABASE имя_базы_данных
 
1.2.3 Мәліметтер қорының резервті көшірмесін жасау

Мәліметтер қорының көшірмесін жасау, оны тасымалдаушыларға көшіру үшін
біріншіден оның MS SQL Server 2005-тің арнайы мүмкіншіліктері көмегімен
резервті көшірмесін жасау керек:
- Databases тізімінен қажетті мәліметтер қорын және контекстті менюден
Tasks-Back Up жолын таңдаңыз;
- пайда болған терезеде біріншіден көшірмелеуге дайын мәліметтер
қорларының тізімін тазартыңыз;
- Browse батырмасы көмегімен дискіде орын таңдайтын терезесін ашып,
мәліметтер қорының резервті көшірмесінің атын енгізіп, көшірме бұйрығын
дәлелдеңіз.
Жүйе көшірменің ойдағыдай болғаны туралы хабар беруі керек.
Резервті копия деп бұл жерде мәліметтер қорының мәліметтерін сақтауды
айтамыз. Егер де мәліметтер қорын толығымен көшіру керек болса, онда
C:\Program Files\...\Ms SQL\Data\имя_файла адрес бойынша сақталынған .mdf  
және  .ldf  файлдарды көшіру керек.
 

1.2.4 Мәліметтер қорын қалпына келтіру

Егер де сақталынған резервті көшірмені қайтадан компьютерге көшіру
қажет болса, олда MS SQL Server 2005 жүйесінің арнайы мүмкіншіліктері
көмегімен жасалады:
- қалпына келтірілетін мәліметтер қорын таңдаңыз;
- контексттік менюден Tasks-Restore жолын таңдаңыз;
- қалпына келтірудің жалпы параметрлері бар бет пайда болады; резервті
көшірменің көзін және оның орнын орнатыңыз;
- Параметры бетін таңдап, Перезаписать существующую базу данных
жалауын және Состояние восстановления бөліктегі бірінші қайта қосу
белгісін белгілеңіз;
- таңдалынған операцияларды дәлелдеңіз.
Жүйе қалпына келтіру әрекеті ойдағыдай орындалғаны туралы хабар беруі
керек. Егер де жүйе мәліметтер қорын қалпына келтіру орындалмады деп
скрпитті өзгерту керек деп ұсынса, бөлек терезеде оны орындау керек.
 
1.3 Мәліметтер қорының құрылымын анықтау

1.3.1 Зертханалық жұмыста қолданылатын мәліметтер қорының бейнелеуі

SQL Server ортасында жұмыс жасауды игеру үшін келешекте сатулармен
айналысатын сауда компанияcын қарастырамыз. Мәліметтер қорының құрылымы
жобалау қадамында аныөталады. Мәліметтер қорларын жобалаудың  сұрақтары №1
есептеу-графикалық жұмыста қарастырылады. Мәліметтер қорын TradeCompany деп
атаймыз.
TradeCompany мәліметтер қоры кейбір сауда фирмасының қызметі туралы
мәліметтерден тұрады. Фирма тауарлардың әртүрлі түрлерін сатады. Фирмада
клиенттер (заңды құқығы бар мекеме) туралы ақпарат бар. Әр сатулар бойыша
келісімдерге шот жасалынады, онда келесідей мәліметтер орнатылады; шот
нөмірі, клиент туралы мәліметтер, сатылған тауарлардың тізімі мен сандары,
сату датасы. Сатылған тауардың құны автоматты түрде есептелінуі керек.
Осы ақпараттың барлығы Тауарлар, Клиенттер және Шоттар кестелерінде
сақталатын болсын. Кез келген кестенің құрылымы мен кестеде сақталатын
мәліметтері бар. Кесте құрылымы оның тік жолдарымен анықталады: тік жол
сандарымен, әр тік жолдың атымен, тік жолда сақталатын мәліметтің типімен,
тік жол енімен.
TradeCompany мәліметтер қорының кестелерінің құрылымдары төменде
келтірілген:

Тауарлар кестесі:

 Тауар коды Тауар бейнелеуі Тауар бағасы

Клиенттер кестесі:

Клиент коды Клиент атауы Клиент адресі Клиент телефоны

Шоттар кестесі:

Шот нөмірі Клиент коды Тауар коды Саны Шот датасы

 
Қордың мәліметтері кестенің жатық жолдар мазмұнымен анықталады. Кесте
тік жолдары өрістер, ал жатық жолдары – жазбалар деп аталады.
Кілттік өріс (primary key) – реляциялық мәліметтер қорының кестесінде
мәліметтердің әр жатық жолын мәліметтері бір мағыналы анықтайтын тік жол.
Кілттік өрістің міндеті - әр жазбаның уникалдығын қамтамасыздандыру болып
табылады. Әдетте кілт кестенің жалғыз бағанымен беріледі, бірақ бірнеше
бағандар комбинациясымен анықталатын күрделі кілтті де орнатуға болады.
Кілт кесте жасалған кезде меншіктеледі.
Сыртқы кілт (foreign key) – бағындыратын кестенің кілтіне сілтеме
жасайтын бағынышты кестедегі тік жол. Сыртқы кілт ретінде таңдалынған тік
жол басқа кестедегі кілт ретінде анықталған тік жолға сілтеме жасау үшін
қолданылады.
 Қолданылатын бағдарламалық қамтамасыздандырудың талаптарына сәйкес
қарастырылып отырған мәліметтер қорының объектілері үшін атауларын ағылшын
тілде орнатамыз (мәліметтердің өздерін орыс тілде енгізу болады). Ал,
кестелерге аттарды таңдағанда келесіні ескертуге болады. Мәліметтер қорында
кестелерден басқа да көп объектілер бар. Сондықтан кестелер аттарында _TBL
суффиксті орнату стандарт болып табылады (ал, мысалы, _IDX суффиксі
кестелердің индекстеріне қолданылады). Аттарды беру ережелерімен бірге
сәйкес қызмет саласындағы ережелерге орындау дұрыс болады. Сонда аттардың
бейнелеу қасиеттері болып, олар сақталынатын мәліметтерге сәйкес болады.
Сонымен бірге, бірнеше сөзден тұратын атаулардың әр сөзі арасында төменнен
сызып қою белгісі қолданылады. Мәліметтер қорының объектілерінің аттарында
суффикстерді қолдану міндетті түрде емес. Жасалынатын мәліметтер қорының
кестелері үшін келесідей  CUSTOMER_TBL, PRODUCTS_TBL, ORDERS_TBL аттарды
орнатамыз.
Жоғарыда айтылғандарды есепке алып, қарастырылып отырған мәліметтер
қорының кестелері арасындағы байланыстар сұлбасы келесі түрде көрсетуге
болады (1.1 суреті). Кестелерді байланыстыратын сызулар жалпы кілттік өріс
арқылы кестелердің байланысуын көрсетеді. Ұсынылған нұсқада ORDERS_TBL
кестесінде бастапқы кілт анықталмаған, себебі бір нөмірі бар шотта бірнеше
тауарлар тізімі болуы мүмкін (шот нөмірі бухгалтерлік құжаттарда
қолданылады).



 
 
 
 
 
1.1 Сурет – TradeCompany мәліметтер қорының кестелері арасындағы
байланыстар
 
1.3.2 Мәліметтер қорының құрылымын анықтау (DDL)

         Мәліметтерді анықтау тілі (DDL) мәліметтер қорының әртүрлі
объектілерін жасауға, олардың құрылымын жаңадан анықтауға, мысалы,
кестелерді жасап, жоюға пайдаланушыға мүмкіндік беретін SQL-дің бөлігі.
DDL-дің келесі бұйрықтарын: CREATE TABLE, ALTER TABLE, DROP TABLE
қарастырайық. 
Кестелерді жасау үшін CREATE TABLE операторы қоллданылады. Бұл
оператордың синтаксисі:

CREATE TABLE кесте_аты
  (ӨРІС1     МӘЛІМЕТТЕР ТИПІ     [NOT NULL],
  ӨРІС2     МӘЛІМЕТТЕР ТИПІ     [NOT NULL],
  ӨРІС3     МӘЛІМЕТТЕР ТИПІ     [NOT NULL],
  ӨРІС4     МӘЛІМЕТТЕР ТИПІ     [NOT NULL],
  ӨРІС5     МӘЛІМЕТТЕР ТИПІ     [NOT NULL] )

Кестегі кілт оны жасаған кезде PRIMARY KEY опциясы көмегімен жалғыз
немесе бірнеше өрістерге тағайындалады және де шектеу шарты болып табылады:

CREATE TABLE кесте_аты PRIMARY KEY
  (ӨРІС1  МӘЛІМЕТТЕР ТИПІ  [NOT NULL], ...)

Кілтті кестенің тік жолдарының барлығы анықталғаннан кейін де шектеу
шарты ретінде жасауға болады және кілт құрамды болса, оның барлық
компоненттері үтір арқылы аталып кетеді:

CREATE TABLE кесте_аты
(ӨРІС1     МӘЛІМЕТТЕР ТИПІ     [NOT NULL],
  ӨРІС2     МӘЛІМЕТТЕР ТИПІ     [NOT NULL], ...
  PRIMARY KEY (ӨРІС1, ӨРІС2)
 )

Сыртқы кілт FOREIGN KEY опциясы көмегімен жасалады. Сыртқы кілт
кестенің барлық тік жолдары анықталғаннан кейін келесідей жасалады
CREATE TABLE кесте_аты _1
 (ӨРІС1_1     МӘЛІМЕТТЕР ТИПІ     [NOT NULL],
  ӨРІС1_2     МӘЛІМЕТТЕР ТИПІ     [NOT NULL],
  ...,
  ӨРІС2_1     МӘЛІМЕТТЕР ТИПІ     [NOT NULL],
  CONSTRAINT ӨРІС2_1_FK FOREIGN KEY (ӨРІС2_1)
  REFERENCES кесте_аты _2 (ӨРІС2_1)
  )
 ӨРІС2_1 тік жолы бұларад а кесте_аты_1 кестенің сыртқы кілті ретінде
тағайындалған. Бұл сыртқы кілт кесте_аты_2 кестенің ӨРІС2_1 тік жолына
сілтеме жасайды.
 
1.4 Кестені модификациялау

Кесте жасалғаннан кейін оны ALTER TABLE бұйрығы көмегімен
модификациялауға болады. Бұл бұйрық көмегімен тік жолдарды косуға немесе
жоюға, тік жолдар анықтамаларын өзгертуге, шектеулерді косуға немесе жоюға
болады.

ALTER TABLE бұйрығының стандартты синтаксисі келесідей:

         ALTER TABLE кесте_аты [MODIFY] [COLUMN тік_жол_аты]
[МӘЛІМЕТТЕР ТИПІ     NULL NOT NULL] [RESTRICTCASCADE]
[DROP] [CONSTRAINT шектеу_аты]
[ADD] [COLUMN] тік_ жол_ анықтамасы

а) Кесте элементтерін модификациялау. Тік жол атрибуттары мәліметтерді
тік жолдарда көрсетудің ережелерін орнатады. ALTER TABLE бұйрығы көмегімен
тік жол атрибуттарын өзгертуге болады. Атрибут деп бұл жерде келесілерді
түсінеміз: тік жол мәліметтерінің типтерін, тік жолдағы мәліметтердің
ұзындығын, дәлдігін және масштабын; тік жолда NULL мәнін орнатуға рұқсат
немесе рұқсат еместігін.
Мәліметтері бар кестеге тік жолды қосқан кезде жаңа тік жолға NOT NULL
атрибутын беруге болмайды. NOT NULL атрибут тік жолда міндеттті түрде
мәндер бар дегенді білдіреді, сондықтан, жаңа тік жолға осы атрибутты
меншіктесеңіз, қайшылық пайда болады (жаңа тік жолдың әзірше мәндері жоқ
болғандықтан). Бірақ осындай атрибуты бар тік жолды орнатудың амалы бар:
- тік жолды қосқанда оған NULL атрибутын орнатыңыз (басқа сөзбен
айтқанда, тік жолда мәліметтердің болмауы болады деген);
- кестенің жаңа тік жолының әрбір жатық жолына мәндерді енгізіңіз;
- жаңа тік жолдың барлық жатық жолдарының мәндері бар екеніне көз
жеткеннен кейін тік жол атрибутын NOT NULL деп өзгертіңіз.
б) Тік жолдарды өзгерту. Кестелердің тік жолдарын өзгерту үшін келесі
ережелерді орындау керек:
- тік жол ені сәйкес мәліметтер типінің максималды ұзындығына дейін
үлкейтуге болады;
- тік жол енін онда орнатылған мәндердің максималды ұзындығына дейін
азайтуға болады;
- сандық мәндері бар тік жолдар үшін оның енін кезкелген уақытта
үлкейтуге болады;
- сандық мәндері бар тік жолдар үшін оның енін тек қана тік жол
мәндері сиятынға дейін азайтуға болады;
- сандық мәндер үшін ондық белгілер санын көбейтуге немесе азайтуға
болады;
- тік жолдағы мәліметтер типін әдетте өзгертуге болады.
SQL-дің кейбір іске асыруларында ALTER TABLE операторының кейбір
опцияларын қолдануға рұқсат етілмейді. Мысалы, кестелерден тік жолдарды
жоюға рұқсат етілмеуі мүмкін. Оның орнына кестені жойып, қажетті тік
жолдары бар кестені жасау керек болады немесе басқа кестенің тік жолдарынан
тәуелді ағынды кестенің тік жолдарын жоюға, сонымен бірге, басқа кесте
сілтеме жасайтын тік жолды жоюға рұқсат берілмеуі мүмкін. Мұндай жағдайда
жұмыс жасалынатын SQL-дің іске асырылудың құжаттарын ұқыпты оқу қажет.
         в) Шектеулерді қосу. Осындай әрекеттерді қолдану келесідей
жағдайларда пайда болуы мүмкін. Мысалы, кесте жасалғанда кілттік өрістері
анықталмаған болды. Оны келесідей түзетуге болады:

         ALTER TABLE кесте_аты
         ADD CONSTRAINT кесте_аты _PK  PRIMARY KEY (өріс_аты1, өріс_аты2)

Сыртқы кілттерді кестеде келесідей орнатуға болады:

         ALTER TABLE кесте_аты
ADD CONSTRAINT ID_FK FOREIGN REY (өріс_аты)
REFERENCES кесте_аты (өріс_аты)

г) Кестелерді жою ең қарапайым бұйрық болып табылады. Оператор
синтаксисі келесі:

DROP TABLE кесте_аты [RESTRICTCASCADE ]

RESTRICT опциясы қолданылса немесе кестеге елестету мен шектеулер
сілтеме жасаса, қолданылып отырған DROP операторы қате туралы хабар береді.
CASCADE опциясы қолданылған кезде, кестенің тек өзі емес, оған сілтеме
жасайтын елестетулер мен шектеулер де жойылады.
                                      
1.5 Зертханалық жұмысқа тапсырма

1.5.1. TradeCompany мәліметтер қорын жасау
а) Мәліметтер қорын графикалық режимде жасау
Бұл әдісті қолданғанда келесідей әрекеттер жасалады:
- MS SQL Server 2005 жүйесін негізгі меню көмегімен жұмысқа қосыңыз:
Пуск-Все программы- MS SQL Server 2005-SQL Server Management Studio;
- пайда болған терезеде сервер атын енгізуді сұрайды, оның аты келісім
бойынша орнатылған, Connect батырмасын басыңыз;
- келесі Object Explorer терезеде Databases жолдың контексттік
менюінен New Database бұйрығын таңдаңыз;
- пайда болған терезеде жасалынып отырған мәліметтер қорының атын
енгізіп, ОК басыңыз; осы терезенің төменгі жағында мәліметтер қорының
файлдары туралы ақпарат орнатылған (кестенің барлық тік жолддарын көру үшін
терезені үлкейтіңіз); егер де мәліметтер қоры жалғыз емес бірнеше файлда
орнатылса мұндағы Add батырмасы қолданылады;
- терезені жауып, сіздің мәліметтер қорыңыздың аты Database тізімінде
бар екенін көріңіз;
- мәліметтер қорын жойыңыз (контекстті менюден Delete бұйрығы).
б) Мәліметтер қорын Transact-SQL бұйрық көмегімен жасау.
         Object Explorer терезесінде New Query батырмасын басыңыз. Экранның
оң жағында сұраныстар редакторының терезесі пайда болады. Осы терезеге
мәліметтер қорын жасау бұйрығын енгізіңіз. Егер де бұйрық дұрыс орындалса,
терезенің төменгі жағында келесідей: Command (s) completed successfully
хабар пайда болады.
         Графикалық режимнен өзгеше жасалынған мәліметтер қорын тізімнен
көру үшін Database жолда контекстті менюден Refresh бұйрығын таңдау керек.
1.5.2 Мәліметтер қорының резервті көшірмесін жасаңыз. Резервті көшірме
сақталған жерді еске сақтаңыз.
1.5.3 Мәліметтер қорын қалпына келтіру бұйрығын орындаңыз.
1.5.4 Қарастырылып отырған TradeCompany мәліметтер қорының
кестелерінің өрістеріне мәліметтер типтерін дәлелдеп таңдаңыз. Кестелердің
бастапқы және сыртқы кілттерді анықтаңыз.
1.5.5 MS SQL Server 2005 жүйесін жұмысқа қосыңыз; ағынды мәліметтер
қоры ретінде TradeCompany қорын таңдаңыз.
  1.5.6 TradeCompany мәліметтер қорының кестелерін жасау және
модификациялау
Кестелерді бірнеше жолдармен жасауға болады:
а) CUSTOMER_TBL кестесін графикалық режим көмегімен жасаймыз. Ол үшін
келесілерді орындау керек:
- өзіңіздің мәліметтер қорыңыздың папкасын ашыңыз; Tables жолда
контекстті менюден New Table бұйрығын таңдаңыз;
- пайда болған терезеде кестенің тік жолдарының атауларын енгізіңіз,
мәліметтер типтерін таңдаңыз, Allows Null жалауын белгілеңіз (немесе
белгісін алып тастаңыз); терезенің төменгі жағында тік жолдар қасиеттерін
орнатыңыз.
  б) Object Explorer терезесінде New Query батырмасын басып, бұйрық
редакторының терезесін ашыңыз; осы терезеге тізбектеп кестелерді
(PRODUCTS_TBL және ORDERS_TBL) жасау бұйрықтарын енгізіп,  Execute
батырмасын басып, қалған кестелерді жасаңыз.
   в) кесте құрылымын өзгерту үшін контексттік менюден Modify Table
бұйрығын таңдаймыз.
     г) SQL бұйрықтарын тез үйрену үшін мәліметтер қорының кестесін
белгілеп, контексттік менюден Script Table As...New Query Editor Window
(көп нүкте орнына қажетті бұйрықты таңдаңыз) жолын таңдаңыз, бұйрықтар
редакторының терезесі пайда болады, одан оқылып отырған кесте жасаудың,
жоюдың, жаңартудың, т.б. скрипттерінің дайындамаларын қарап шығуға болады.
1.5.7 Жасалынған мәліметтер қорының байланыстар диаграммасын қарап
шығыңыз (Diagrams бөлігі).
 
1.6 Есеп беруге қойылатын талаптар

Жұмыс бойынша есеп беру қағазда орындалады және оған келесілер кіреді:
- мәліметтер қорын жасаудың нұсқаларын бейнелеу;
- кестелер өрістерінің мәліметтер типтерін таңдауын дәлелдеу;
- кестелердің бастапқы және сыртқы кілттерін анықтау;
- кесте құрылымдарын жасау бұйрықтары.
 
1.7 Бақылау сұрақтары

1.7.1 SQL аббревиатурасы қалай шешіледі?     
1.7.2  SQL бұйрықтарының типтерін атаңыз.
1.7.3 Мәліметтер қорларын жасаудың қандай әдістері бар, олардың
айырмашылықтары?
1.7.4 Мәліметтер қорлары үшін неше файл қолданылады?
1.7.5 Транзакциялар журналының міндеті?
1.7.6 Мәліметтер қорының резервті көшірмесін жасау және қалпына
келтіруді түсіндіріңіз.
1.7.7 Мәліметтер қорын жою әдістерін түсіндіріңіз.
1.7.8  Реляциялық мәліметтер қорының түсініктемесін беріңіз.
1.7.9  Мәліметтер қорының бастапқы ақпараты қандай объектілерде
сақталады?
1.7.10  Кестенің өрісі деген не? Кесте жазбасы деген не?
Айырмашылықтарын түсіндіріңіз.
1.7.11  Кесте құрылымын анықтайтын бұйрық?
1.7.12 Кестенің бастапқы кілті анықтамасын беріңіз.
1.7.13 Мәліметтердің негізгі типтері атап кетіңіз.
1.7.14 Кесте құрылымын қандай бұйрықпен өзгертуге болады?
1.7.15 Кестені қалай жоюға болады? 
 
         2 №2 зертханалық жұмыс.  Мәліметтермен әрекеттесу тілі
 
         Жұмыстың мақсаты: мәліметтермен әрекеттесу тілін оқу.
 
Мәліметтермен әрекеттесу тілі (DML) пайдаланушыға реляциялық мәліметтер
қорының мәліметтеріне нақты өзгерістерді енгізуге мүмкіндік беретін SQL-дің
бөлігі болып табылады. DML көмегімен пайдаланушы кестелерге жаңа
мәліметтерді енгізуіне немесе бар болатын мәліметтерді жаңартуға және жоюға
болады. SQL-де  DML-дың үш негізгі бұйрықтары бар: INSERT, UPDATE, DELETE.
                         
2.1 Кестелерді мәліметтермен толтыру

         Кестелерді мәліметтермен толтыру – бөлек бұйрықтар көмегімен
немесе автоматты түрде процедуралар көмегімен кестеге жаңа мәліметтерді
енгізу процесі болып табылады. Қандай мәліметтерді және қандай көлемде
кестеге енгізуге болатыны көптеген факторлардан тәуелді, олардың ішінде
маңыздысы кестені анықтағандағы орнатылған шектеулер, кестенің физикалық
өлшемдері, кесте тік жолдарының мәліметтер типтері, тік жолдар өлшемдері,
кілттер және сыртқы кілттер түрінде анықталыт бүтіндік талаптары болып
табылады.
         Келесідей жағдайлар болуы мүмкін:
а) кестеге жаңа мәліметтерді енгізу.
Кестеге жаңа мәліметтерді енгізу үшін INSERT операторы қолданылады.
Оның түрі келесідей:

INSERT INTO кесте_аты
VALUES ('мән1', 'мән2', [ NULL ] )

Көрсетілген INSERT операторының синтаксисіне сәйкес, VALUES тізіміне
кестенің тік жолдарының барлығына мәндерді орнату керек. Тізімде мәндер
үтірлермен бөлінеді. Символдық мәндер мен даталар мәндері апострофта
орнатылады. Сандық мәндер үшін және NULL сөзімен берілетін бос мәндер үшін
тырнақшалар керек емес. Кестенің барлық тік жолдары үшін мәндер көрсетілуі
керек;
Б)  кестенің белгілі тік жолдарына мәліметтерді енгізу.
Егер де мәліметтерді кестенің барлық емес, тек белгілі тік жолдарына
енгізу керек болса, INSERT операторында VALUES тізімімен бірге сәйкес тік
жолдар тізімінде көрсету керек:

INSERT INTO кесте_аты ('ТІК_ЖОЛ1', 'ТІК_ЖОЛ2',) VALUES ('МӘН1',
'МӘН2');

Мәндер тізіміндегі реті тік жолдар тізімімен берілетін кестеге
енгізілетін мәндер ретіне сәйкес болуы керек. INSERT операторындағы тік
жолдар реті сәйкес кестенің анықтамасындағы тік жолдар ретіндей болмауы
мүмкін, ал енгізілетін мәндер міндетті түрде таңдалынған тік жолдар ретіне
сәйкес болуы керек;

         в) NULL мәндерін енгізу.

NULL мәнін кестеге енгізу өте қарапайым. Осындай жағдай, мысалы,
сәйкес тік жолдың мәні белгісіз болғанда туады. NULL енгізуге оператор
синтаксисі келесідей:

INSERT INTO сұлба_аты.кесте_аты
VALUES ('МӘН1', NULL, 'МӘН3'}
 
2.2 Мәліметтерді жаңарту

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

UPDATE кесте_аты
SET ТІК_ЖОЛ_Аты = 'МӘН'
[WHERE ШАРТ]

б) UPDATE оператоы көмегімен бірдей бірнеше тік жолдардың мәндерін
өзгерту:

UPDATE кесте_аты
SET ТІК_ЖОЛ1 = 'МӘН'
[,ТІК_ЖОЛ2 = 'МӘН']
[,ТІК_ЖОЛ3 = 'МӘН']
[WHERE ШАРТ]

SET қызмет сөзін қолдануды есепке алыңыз: сөз жалғыз, ал тік жолдардың
бейнелеуі – бірнеше. Бейнелеулер үтірлермен бөлінеді.
 
2.3 Кестелерден мәліметтерді жою

Кестелерден мәліметтерді жою үшін DELETE бұйрығы қолданылады. DELETE
бұйрығының міндеті бөлек тік жолдардағы мәндерді жою үшін емес, жазбаларды
толығымен жою. DELETE қолданғанда ұқыпты болу керек. Кестеден жалғыз немесе
бірнеше жазбаларды жою үшін DELETE операторының келесі синтаксисін
қолданыңыз:

DELETE [FROM] кесте_аты
[WHERE ШАРТ];

Кестеден жатық жолдарды жойғанда DELETE операторының өте маңызды
бөлігі болып WHERE қызмет сөзі табылады. Егер де DELETE операторында WHERE
сөзі орнатылмаса, кестеден барлық жазбалар жойылады. Сондықтан DELETE
операторында міндетті түрде WHERE қызмет сөзін қолдануды ереже түрінде
қолданыңыз.
 
2.4 Зертханалық жұмысқа тапсырма

2.4.1 ORDERS_TBL кестенің құрылымын өзгертіңіз, оған ORDERS_ID кілттік
өрісті қосыңыз (бұл өріс кестедегі әр жолдың идентификаторы болып
табылады).. Бұл өріс келесі мақсатпен қосылады - әр сатылымды бір мағыналы
анықтау қажеттілігімен.
2.4.2 Мәліметтер қорыңыздың барлық кестелерін мәліметтермен
толтырыңыз; мәліметтерді енгізудің барлық мүмкіншіліктерін қолданыңыз:
- графикалық режим: кестені белгілеп, контексттік менюден Open Table
жолын тандаңыз;
- кестені белгілеп, контексттік менюден Insert To-New Query Editor
Window таңдаңыз;
- New Query менюды тандаңыз.
CUSTOMER_TBL және PRODUCT_TBL кестелерінде бес жазбадан кем болмауы
керек, ORDERS_TBL кестесінде  –  ең кемінде 15 жазба (барлық клиенттермен
әртүрлі тауарларды әртүрлі күндерде сатып алу).
2.4.3 ORDERS_TBL кестесіне TOTAL тік жолын қосыңыз (бұл тік жолда
сатылған тауарлардың толық бағалары сақталады). Бұл тік жолды NULL
мәндерімен толтырыңыз.
2.4.4 UPDATE бұйрығын қолданып, TOTAL өрістің мәндерін есептеңіз:
тауар бағасының (PRODUCT_TBL.COST) тауардың сатылған санына
 (ORDERS_TBL.QTY) көбейтіндісі.
2.4.5 PRODUCT_TBL кестесінде кейбір тауарлар бағасын өзгертіңіз.
Сатылған тауар санын өзгертіңіз. Сонда ORDERS_TBL.TOTAL тік жолында
мәліметтердің өзгеретінін көріңіз.
2.4.6 Тауар өнімшілері туралы мәліметтерден тұратын  MANUFACTURER_TBL
кестесін жасаңыз (кесте өрістерін өз қалауыңыз бойынша таңдаңыз). Сонда
PRODUCT_TBL кестенің де құрылымы өзгереді: MANUFACTURER_TBL кестенің
бастапқы кілті PRODUCT_TBL кестесінің сыртқы кілті болады. Осы өзгерістерді
орнатыңыз.
2.4.7 Сатушылар туралы мәліметтерден тұратын  SELLER_TBL кестесін
құрастырыңыз. Осыған байланысты ORDERS_TBL кестесі де өзгереді, оған
SELLER_TBL кестесінің бастапқы кілтін орнату керек (кім сатылымды жасағанын
тіркеп отырамыз).
2.4.8 Мәліметтер қорының өзгертілген реляциялық сұлбасын қарап
шығыңыз.
2.4.9 Жасалынған кестелер мен өрістерді мәндермен толтырыңыз.
2.4.10 Ағынды жылдың наурыз айындағы сатылымдар туралы жазбаларды
жойыңыз.
 
2.5 Есеп беруге қойылатын талаптар

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

2.6.1 DML деген не?
2.6.2 Мәліметтермен әрекеттесудің қандай бұйрықтарын білесіз?
2.6.3 Өрістің NOT NULL анықтамасы нені білдіреді?
2.6.4 INSERT бұйрығының VALUES тізімінде не орнатылады?
2.6.5 Мәліметтерді кестенің анықталған тік жолдарына енгізуге бола ма?
2.6.6 UPDATE бұйрығымен бірнеше кестелердің мәліметтерін өзгертуге
бола ма?
2.6.7 UPDATE бұйрығымен кестенің бірнеше тік жолдарының мәліметтерін
өзгертуге бола ма?
2.6.8 Кестені жою бұйрығында шартты әрқашанда қолдану керек пе?
2.6.9 DDL мен DML айырмашылықтары?
2.6.10 Кесте құрылымы мен кестенің мәліметтерінің айырмашылығы не де?
 
3 №3 зертханалық жұмыс. Мәліметтерді сұрыптау (DQL)
 
Жұмыстың мақсаты – мәліметтер қорына сұраныстарды жасау тілін игеру
мен қарапайым және күрделі сұраныстарды жасауды үйрену.
 
3.1 SELECT операторы

Бұл бөлікте тек қана жалғыз бұйрық қарастырылады, бірақ реляциялық
мәліметтер қорының пайдаланушысы үшін мәліметтерге сұраныстарды жасау (DQL)
тілі SQL-дің ең басты бөлігі болып табылады. Бұл бұйрық – SELECT бұйрығы.
Бұл бұйрықтың көп опциялары мен міндетті түрде қажетті емес параметрлері
көп, олар реляциялық мәліметтер қорына сұраныстарды құрастыру үшін
қолданылады. Оның көмегімен әртүрлі күрделілігі бар сұраныстарды
құрастыруға болады, ең қарапайым және жалпы сұраныстардан арнайы және өте
күрделі сұраныстарға дейін.
Сұраныс — мәліметтер қорынан ақпаратты алуға талап. Пайдаланушыға
ыңғайлы түрде мәліметтер қорынан ақпаратты алу үшін сұраныстар қолданылады.

Мәліметтер қорына сұраныстарды құрастыру үшін SELECT операторы
қолданылады. SELECT операторы өздігінен қолданылмайды, қызмет сөздер
көмегімен сұраныстың кейбір параметрлерін орнатуды талап етеді. Міндетті
түрдегі қызмет сөздерден басқа бұл операторда бірсыпыра міндетті түрде
қажет емес қызмет сөздері бар, олар оператордың мүмкіндіктерін кеңейтеді.
Мәліметтер қорынан мәліметтерді оқуға ыңғайлы форматта алу үшін SELECT
операторында SELECT қызмет сөзі FROM қызмет сөзімен бірге қолданылады.
Сұраныстың SELECT қызмет сөзімен белгіленетін бөлігі сұрыптауға негізделген
мәліметтер көзін белгілейді. Қарапайым SELECT операторының синтаксисі
келесідей:

                   SELECT * ALL DISTINCT [ТІК_ЖОЛ1, ТІК_ЖОЛ2]
FROM КЕСТЕ1 [, КЕСТЕ2 ]

Сұраныс нәтижесінде алынатын мәндердің тік жолдар тізімі SELECT қызмет
сөзінен кейін орнатылады. FROM қызмет сөзінен кейін мәліметтері алынатын
кестелер тізімі көрсетіледі. Егер де сұраныс нәтижесінде кестенің барлық
тік жолдарының мәндері көрсетілуі керек болса, жұлдызша  (*) орнатылады.
Егер де тік жолдың барлық мәндерін, сонымен бірге, қайталанатын мәндерінде
көрсету керек болса ALL  опциясы қолданылады. Егер де қайталануларды жою
керек болса, DISTINCT опциясы қолданылады. Бұл опциялар ішінде келісім
бойынша орнатылатын ALL опциясы болады, сондықтан оны көрсетпеуге де
болады. SELECT қызмет сөзден кейін орнатылған тік жолдар аттары бір бірінен
үтірлермен бөлінеді, FROM қызмет сөзінен орнатылған кестелер аттары да бір-
бірінен үтірлермен бөлінеді.
 
3.2 Мәліметтерді сұрыптауға орнатылатын шарттардың операциялары

         Мәліметтерді сұрыптауға шарттар қолданылады. Шарт дегеніміз
сұраныс бөлігі, бұл бөлікте мәліметтерді сұрыптауға негізгі болатын ақпарат
орнатылады. Шарт сұрыптауға қолданылатын TRUE немесе FALSE мәндерін
қабылдайды.
WHERE өрнегін қолданатын SELECT операторының синтаксисі келесідей:

         SELECT [ ALL * DISTINCT СТОЛБЕЦ1, СТОЛБЕЦ2 ]
FROM КЕСТЕ1 [ , КЕСТЕ2 ]
WHERE [ШАРТ1ӨРНЕК1]
[ AND ШАРТ2 ӨРНЕК2 ]

WHERE өрнегінде бірнеше шарттар орнатылуына болады.
Шарттар операциялар көмегімен беріледі. Операция дегеніміз – SQL
операторындағы элементтерді байланыстыруға қолданылатын символ немесе SQL-
дің қызмет сөзі.
         Мәліметтерді сұрыптаудың шарттарында операциялардың келесідей
типтері қолданылады: салыстыру операциялар, логикалық операциялар,
арифметикалық операциялар, арнайы операциялар.
Салыстыру операциялар келесі=, , , , =, =  белгілермен
көрсетіледі. Олар мәндер арасында "тең", "тең емес", "үлкен", "кіші",
"үлкен немесе тең", "кіші немесе тең" қатынастардың орындалуын тексеруге
негізделген.
Логикалық операциялар SQL-де символдармен, емес қызмет сөздермен
беріледі. Келесідей логикалық операциялар қолданылады:
- AND (логикалық "ЖӘНЕ") – екі логикалық мәндерді салыстырады, егер де
екеуі де ақиқат болса, TRUE мәнін қайтарады, басқа жағдайларда - FALSE мәні
қайтарылады;
- OR    (логикалық "НЕМЕСЕ") - екі логикалық мәндерді салыстырады;
егер де аргументтерінің  біреуі TRUE болса, TRUE мәнін қайтарады;
- NOT (логикалық келіспеу ) - егер де оператор аргументі FALSE болса,
TRUE мәнін қайтарады, кері жағдайда – керісінше.
Арифметикалық операциялар SQL-де басқа тілдердегідей қолданылады.
Осындай операциялар төртеу: + (қосу), * (көбейту), - (алу), (бөлу).
Аоифметикалық операцияларды комбинациялауғға болады. Пайдаланушы
жақшаларды қойып, олардың өрнекте орындалу ретін өзгертуіне болады. Жақшада
орнатылған өрнек тұтас блок ретінде қарастырылады, операциялар орындалу
реті (операциялар приоритеті) SQL-дің математикалық өрнектерінде немесе
өзінің ішкі функцияларында өрнектердің өңделу ретін көрсетеді.
 
3.3 Бірнеше кестелерден мәліметтерді сұрыптау

SQL-дің ең пайдалы мүмкіншіліктерінің бірі – бірнеше кестелерден
мәліметтерді сұрыптау. Кестелерді байланыстыру үшін кілттік өрістер
қолданылады.
Кестелерді байланыстыру үшін SQL операторының қажетті элементі WHERE
қызмет сөзі болады. Байланыстыруға қолданылатын кестелер аттары FROM қызмет
сөзінің тізімінде көрсетіледі. Байланыс WHERE қызмет сөзінің өрнегінде
анықталады. Байланыстардың бірнеше типтері бар:
а) Теңдік бойынша байланыстыру. Бұл ең пайдалы байланыстыру типі. Оны
тағы да ішкі байланыстыру (INNER JOIN) деп атайды. Теңдік бойынша
байланыстырғанда кестелер жалпы тік жол бойынша байланыстырады, әдетте ол
әр кестеде кілттік тік жол болып табылады. Теңдік бойынша салыстырудың
синтаксисі:

SELECT кесте1.тік_жол1, кесте2.тік_жол2...
FROM кесте1, кесте2 2 [, кесте3]
WHERE кесте1.тік_жол1_аты = кесте2.тік_жол2_аты
[ AND кесте1.тік_жол1_аты = кесте3.тік_жол_аты]

SELECT операторының тізімінде әр тік жол атымен бірге сәйкес
кестелердің аттары орнатылғанына зер салыңыз. Осындай көрсетуді сұраныста
тік жолды түгелімен анықтау деп атайды. Түгел анықтаулар сұраныста
көрсетілген кестелердің бірнешеуінде орнатылған тік жолдар үшін керек
болады. Бірақ операторда әдетте түгел анықтаулар барлық тік жолдар үшін
орнатылады.
б) Кәдімгі байланыстыру. Кәдімгі (немесе жаратылыс) байланыстыру
теңдік бойынша байланыстыруға ұқсас, бірақ кәдімгі кестелерді
байланыстырғанда эквивалентті тік жолдардың қайталанулары жойылады.
Байланыстыру шарттары алдындағыдай, бірақ тік жолдар басқаша таңдалынады.
Оператор синтаксисі:

SELECT кесте1.*, кесте2.тік_жол_аты
              [ , кесте3. тік_жол_аты1]
FROM кесте1, кесте2 2 [, кесте3 ]
WHERE кесте1.тік_жол_аты = кесте2.тік_жол_аты
[ AND кесте1.тік_жол_аты = таблица3.тік_жол_аты]

г) Теңсіздік бойынша байланыстыру. Теңсіздік бойынша байланыстыруда
екі немесе бірнеше кестелер бір кестенің тік жолының мәні басқа кестенің
тік жолының мәніне тең болмау шарты бойынша байланысады. Оператордың сәйкес
бөлігінің синтаксисі:

FROM кесте1, кесте2 [, кесте3 ]
WHERE кесте1.тік_жол_аты = таблица2.тік_жол_аты
[ AND таблица1.тік_жол_аты = таблица3.тік_жол_аты]

Теңсіздік бойынша байланыстыру кезде шығу өрнегінде қажет болмайтын
жолдар болуы мүмкін, сондықтан теңсіздік бойынша байланыстыру қолданылатын
сұраныстың нәтижесін қосымша тексеру керек.
           д) Рекурсивті байланыстыру (псевдонимдерді қолдану). Мәтінді
теру жұмысын азайту үшін кестелерге псевдонимдерді  - уақытша басқа аттарды
беруге болады. Рекурсивті байланыстыру кестелерде рекурсивті тәртібі
бойынша байланыстыруды орнатқанда жиі қолданылады. 
Рекурсивті байланыстыру (SELF JOIN) – SQL операторында кестені уақытша
басқа атпен атап, өзін өзімен байланыстыру болып табылады.   Оператор
синтаксисі:

SELECT А.тік_жол_аты, В.тік_жол_аты [ , С.тік_жол_аты]
FROM кесте1 А, кесте2 В [, кесте3 С ]
WHERE А.тік_жол_аты = В.тік_жол_аты
[AND А.тік_жол_аты = С.тік_жол_аты]

Мұндағы А, В, С – кестелердің псевдонимдері.     

е) Бірнеше кілттер бойынша байланыстыру. Мәліметтер ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
«ақпараттық жүйелерді жобалау» электрондық оқулықты өңдеу және жобалау
Информатика пәнінен лекциялық сабақтардың тезистері
Машинажасау мамандығының білім алушыларына Машинажасау мамандығына кіріспе пәнінен студенттердің өзіндік жұмыстарын орындауға арналған әдістемелік нұсқаулар
МАГИСТРАНТТЫҢ ПЕДАГОГИКАЛЫҚ ТӘЖІРИБЕСІ
Жүйелік тәсілдің теориялық негіздері
Мәліметтер қорының моделі
Мәліметтердің реляциялық моделі
Мектептік биология курсының белгілі бір тақырыптарын оқытуда жобалар әдісін пайдалану: өткені, бүгіні мен болашағы
Сұлбалы кескіштерді жобалау
Unit және формалар кестесі
Пәндер