ҚАЗАҚСТАН РЕСПУБЛИКАСЫНЫҢ БIЛIМ ЖӘНЕ ҒЫЛЫМ МИНИСТРЛIГI
СЕМЕЙ ҚАЛАСЫНЫҢ ШӘКӘРIМ АТЫНДАҒЫ МЕМЛЕКЕТТIК УНИВЕРСИТЕТI
|
3-деңгейлi СМЖ құжаты
|
ПОӘК
|
ПОӘК 042-18-11.1.20.10/01-2013
|
ПОӘК
«Мәліметтер қорларының қолданысымен клиент-серверлік қосымшалар» пәнінің оқытушыға арналған жұмыс бағдарламасы | №1 баспа
26.08.2013 ж.
|
«мәліметтер қорларының қолданысымен клиент-серверлік қосымшалар»
пәнінен оқу-әдістемелік кешен
5В070400 – Есептеу техникасы және бағдарламалық қамсыздандыру
мамандағы бойынша
ОҚУ-ӘДІСТЕМЕЛІК МАТЕРИАЛДАР
Семей
2013
мазмұны
1. | Глоссарий | |
2. | Дәрістер | |
3. | Практикалық сабақтар | |
4. | Студенттің өздік жұмысы | |
1. глоссарий
Бұл ОӘМ өздеріне сәйкес анықтамаларымен төмендегі терминдер қолданылған:
1.1 Таблица дегеніміз файлдардың жазбаларын – жолдарды теру болып табылады. Нольдік жазба – таблицаның тақырыбы болып табылады, қалғаны – маліметтердің жазбалары.
1.2 Өріс – бағана (маңыздың атрибуты) – мәліметтердің бір категориясы туралы ақпаратты сақтайды, аты, түрі және өлшемі болады.
1.3 Транзакция –МБЖБ-ні бір бүтін ретінде қарастыратын мәліметтер базасын операциялаудың тізбегі
1.4 Журнал дегеніміз мұқият сүйемелденетін және МБЖБ пайдаланушылардың қолы жетпейтін – мәліметтер базасының ерекше бөлігі
1.5 Система – определенная архитектура взаимодействующих компонент, отграниченных от окружения.
1.6 Жүйе – айналасынан бөлектендірілген, бірлесіп әрекет жасайтын компоненттің белгілі бір архитектурасы
1.7 Мәліметтер ~ data – адамның қатысуы мүмкін автоматты өңдеуге жарамды формализацияландырылған түрде берілген ақпарат.
1.8 Мәліметтердің элементі дегеніміз ақпаратты нысан, оның тақырыбы мен мағыналарының (мөлшелерінің) жиынтығын суреттеумен анықталатын.
1.9 Жазба дегеніміз қарастырылатын нысанды суреттейтін мәліметтердің элементтерінің мағынасының жиынтығы. Мәліметтерді тапсыру үшін соңғылары мәліметтер блогына қалыптасады, сақтау үшін – файлдар, каталогтар, массивтер, таблицалар және тізімдер құрастырылады. Жүйелер мен торларда мәліметтердің кодировкалаудың бірнеше түрлі әдісін пайдалануға болады
1.10 Мәліметтер базасы~ database белгілі бір ереже бойынша ұйымдастырылған берілгендердің қарым-қатынасының жиынтығы.
1.11 Білім базасы ~ knowledge base –белгілі бір пән бойынша ұйымдастырылған білімінің жиынтығы.
1.12 Жалпылық — олардың сипаттамасының мазмұнын анықтайтын екі элементтің байланысы .
1.13 Мәліметтер банкі ~ databank – жинау, сақтау, іздеу және өңдеу мәліметтерін қамтамассыз ететін – ақпаратты, техникалық, прогрпммалық, тілдік және ұйымдастырушы құралдық комплекс
2. Дәрістер
Тақырыбы 1 Кіріспе. Деректер базасы және оның объектілері.
Мақсаты: Пәннің мазмұнымен таныстыру.
Дәріс сұрақтары:
1. Пәннің мазмұнымен танысу.
2. Таралымды ДББЖ және клиент-сервер архитектурасы.
3. Үлестірілген ақпараттық жүйелерді жасаудың технологиялары.
4. Мәліметтердің иерархиялық, желілік және реляциялық моделдері.
1. Ақпаратты сақтау, жүйелеу және өңдеу қажеттілігі адамзат тарихында бұрыннан-ақ туындай бастаған. Жазу пайда болғаннан бастап адам осындай қажеттіліктерді қанағаттандыруға тырысып бақты.
Сақталынған программасы бар электрондық компьютерлердің пайда болуы, ақпараттарды өңдеу саласында төңкеріс жасады. Бұдан былай ақпаратты өңдеу технологиясының жетілуі, программалау мен компьютер саласының дамып жетілуімен тікелей байланыста тұрды. ХХ ғасырда адамзат нағыз ақпараттық жарылыстың куәгері болды. Адамзат қабылдайтын ақпараттың саны әрбір жыл сайын екі есеге артып отырды. Егер бұрындары негізінен тек мәтіндік және сандық берілгендер жүйелендірілсе, ал енді, әйтеуір адамзат қабылдай алатын барлық ақпараттар өңделіп, жүйелендіріле бастады. Соңғы компьютерлік жетістіктер, коммуникация жабдықтарының дамуы осы келеңсіздіктерді шешуге көмектесті. Бірақ қашанда болмасын жаңа қажеттіліктер туындайтыны анық. Сөйте тұрсақ та, бүгіндері, электронды түрдегі ақпаратты сақтау және жинауды ұйымдастыру онша қиын емес. Тіпті Internet технологиясының жетістіктерін пайдалана отырып, жер шарының кез келген нүктесіндегі электронды архивтен ақпарат алуды ұйымдастыруға мүмкіндік бар. Нақты келеңсіздік туғызатын ол, адамдар өзіне қажет ақпаратты тез, әрі оңай ала-алатындай, үлкейтілген түрдегі берілгендер архивін ұйымдастыру болып отыр.
2. Мәліметтер қорының концепциясы ақпаратты өңдеуді автоматтандыру жүйесінің даму процесімен бірге біртіндеп жинақтала бастағанын, берілгендер базасын оқып үйрене бастағанда-ақ айта кеткен жөн.
Негізгі анықтамалар
Деректер қоры (ДҚ)
|
Мәліметтер қоры - объектінің немесе объектілер жиынтығының жағдайын, олардың қасиеттерін және өзара қарым-қатынастарын бейнелейтін атауы бар мәліметтер жиынтығы.
|
Деректер қорын басқару жүйесі (ДҚБЖ)
|
Бұл деректер қорын жасайтын, толтыратын, жаңартатын және өшіретін программалық құралдар.
|
Білім қоры
|
Білім қоры – бұл формализациялық түрде көрсетілетін білім қоймасы.
|
Білім қорын басқару жүйесі (БҚБЖ)
|
Бұл білім қорын жасайтын, толтыратын, жаңартатын және өшіретін программалық құралдар.
|
Мәліметтердің ең кіші элементін өріс деп атаймыз. Мәліметтер қорының элементтері мәліметтердің кішірейтілген түрлеріне бөлшектене алмайды, сондықтан да пайдаланушы үшін оның мағынасы жоғалмайды. Мәліметтер қорының элементтері жеке өзі ештеңені түсіндіре алмайды. Егер ол басқа мәліметтердің басқа элеметтерімен байланысты болған жағдайда ғана, оның мағынасы болады.
Мәліметтер элементтерінің арасындағы өзара байланысты көрсететін мәліметтер жиынтығын кортеж деп атаймыз. Бірақ әртүрлі программалық жабдықтауларда бұл терминнің орнына басқалары қолданылады, олар: мәліметтер элементтерінің тобы, жол, сегмент, жазу. Мәліметтер қорының қалыптасуын бірнеше кезеңдерге бөлуге болады. Бұл кезеңнің программалық жабдықталуы, негізінен есте сақтау құрылғысына енгізу-шығару амалдарын жүзеге асыруды қамтамасыз етеді, ал сонымен бірге мұнда мәліметтерді өңдеуге арналған аздаған қосымшалар қосылған. Берілгендерді ұйымдастыру жөнінде ол оңай әдіспен орындалатындай етіп, қолданбалы проблемаларды жазуда-ақ қамтылады, яғни берілгендерді ұйымдастыру қарапайым тізбектелген файлдар түрінде беріледі.
Екінші кезең (60 ж. соңы), бірінші кезеңмен салыстырғанда файлдар табиғатындағы секілді, олар сақталған құрылғылардың сақталуындағы өзгерістермен сипаттаулары. Бұл кезеңде берілгендерді ұйымдастыру тізбектелген жинақ түрінде ғана емес, тура өту жиынтығы түрінде де ұйымдастырылады. Берілгендерді өңдеудің керек-жарақтарының дамуында, қолданбалы программаларды мүмкіндігінше, файлдар көлемінің ұлғайуына, берілгендерді аппараттық сақтау құрылғыларының өзгеруіне, бұрыннан сақталынған мәліметтерге жаңа байланыс және жаңа өрістер қосуға байланыссыз жасау болды. Мәліметтер қоры эволюциясының үшінші кезеңінде осы жоғарыда айтылғандарды тарату мүмкіндіктерін іске асыру қажет. Бұл уақытта мәліметтер қорын басқаратын ДББЖ программалық жабдықтауы пайда болды. Мәліметтер қоры басқару жүйесін құрудың принциптері мәліметтер қорын ұйымдастыруды қанағаттандыруы қажет:
Пайдаланушы мәліметтер қорымен жұмыс істеуі үшін, мәліметтер қорын басқару жүйесін пайдаланады. Мәліметтердің модель түріндегі берілуі мәліметтер қорының төртінші кезеңінің айтарлықтай ерекшелігі болып табылады.
3. Бұл күндері мәліметтер қоры саласымен айналысатын көптеген мамандар мәліметтер қорын құрудың негізгі үш тәсілі бар деп есептейді: иреархиялық, желілік және реляциялық. Мәліметтердің иреархиялық моделі, бұл модельдегі барлық жазулар тармақты құрылыммен байланысқан модель түрі. Егер қатынастағы мәліметтердің арасынан туындаған элементте алғашқы элементтен көп элемент болса, онда бұл қатынасты иреархиялық модельдің көмегімен сипаттауға болмайды. Оны желілік модель түрінде сипаттауға болады. Реляциялық модельдің идеясы мәліметтердің элементтері мен байланыстарын бірдей көрсетуге болатындығында. Реляциялық модель мәліметтерді анықтауға, мәліметтерді басқаруға және оған әртүрлі операциялар жасауға мүмкіндік беретін бірегей тілдік қасиеті бар. Реляциялық мәліметтер қорында ақпарат бір немесе бірнеше кестеде сақталады. Мұндай кестелердегі бағандар мен жолдарды өрістер және жазулар деп атайды. Кестелердің арасындағы байланыс бір немесе бірнеше сәйкес келетін өрістердің мәндері арқылы жүзеге асырылады. Кестедегі әрбір жол, яғни жазулар қайталанбауы тиіс. Жазулардың қайталанбауын болдырмау үшін кілттер пайдаланылады, олар кестенің бір немесе бірнеше өрістерін қамтиды. Деректер қор басқару жүйесіне (ДҚБЖ) қойылатын негізгі талаптардың бірі үлкен көлемді ақпараттардың ішінен қажеті жазуды жылдам іздеп табу болып табылады. Кілттік өрістер бұл операцияны орындауды айтарлықтай жеделдетеді. Қазіргі ДҚБЖ-нің аса маңызды артықшылықтарының бірі мәліметтердің физикалық және логикалық тәуелсіздігінде. Мысалы, DBASE мәліметтер қорын басқару жүйесінде құрылған мәліметтер қоры кем дегенде үш физикалық файлдан тұрады. Аппараттық және программалық қамтамасыз етудің, телекоммуникациялық құралдардың дамуының әсерінен, бұл күндері сандар мен символдарды сақтайтын дәстүрлі мәліметтер қорынан күрделі құрылымды мәліметтерді сақтайтын объектілі реляциялық мәліметтер қорына көшіп отырғаны байқалады. Бұған мысал ретінде, Интернет технологиясының дамуын келтіруге болады. Қазіргі компьютерлер мен Web-браузер көру программалары ауқымды желіден ақпаратты іздеуге және мультимедиалық мәліметтер бөлігін көруге мүмкіндік береді.
4. Қазіргі замаңғы үлестірілген ақпараттық жүйелерді құру реляциялық және объектіге бейімделген ДҚБЖ байланысты. Қазіргі уақытта көптеген ДҚБЖ бар. SQL Server құрал-саймандық құралдары кәсіптік класстың ішіндегі ең мықтысы.
Архитектураға сәйкес ДҚБЖ жергілікті және үлестірілген болып екіге бөлінеді. Жергілікті ДҚБЖ бөліктері бір компьютерде орналасқан, ал үлестірілген бірнеше компьютерлерде. Бірнеше онжылдықта иерархиялық, желілік, реляциялық мәліметтер моделдерінде негізделген ДҚБЖ пайда болды.
Әдебиеті:
1 Е. Мамаев «Microsoft SQL Server 2000», БХВ-Петербург, 2004.
Бақылау сұрақтары:
1 Мәліметтер қоры дегеніміз не?
2 Мәліметтер қорының моделдерін атаңыз.
Дәріс 2. Деректер қор құрылымы және оның объектілері.
Жоспар
Деректер қор құрылымы
SQL Server деректер қор архитектурасы.
3. Деректер қордың физикалық архитектурасы.
4. Деректер қордың қисын құрылымы
1. Деректер қор құрылымы
SQL Server мәліметтер деректер қорында сақталады. Деректер қор құрылымын екі жақтан қарастыруға болады: қисын және физикалық.
Деректер қордың қисын құрылымы кестелердің құрылымын, олардың арасындағы өзара қарым-қатынасын, қолданушылардың тізімін, сақталатын процедураларды, ережелерді, және деректер қордың басқа объектілерін сипаттайды. Кесте өріс және жазба жинағынан тұрады. Кестелердің екі түрін белгілейді: тұрақты және уақытша. Тұрақты кестелер бар болады, өшірілгенше. Уақытша кестелер олар өшірілгенше. Жергілікті уақытша кестелер ағымдағы сеанста бар болады, содан кейін өшіріледі. Аумақты уақытша кестелер бар болады қолданылған барлық сеанстар аяқталғанша.Транзакция журналы жұмыс аймағы болып келеді. Бұл аймаққа SQL Server транзакция басталып аяқталғанша ақпаратты жазады.
Деректер қордың физикалық құрылымына деректер қордың файлдары мен транзакция журналының сипаттамасы кіреді. Сонымен қатар, ДҚ алғашқы өлшемі, өсу қадамы, максималды өлшемі, конфигурация параметрлері кіреді.
2. SQL Server деректер қор архитектурасы.
Бір серверге мыңдаған қолданушылар қатынай алатын көптеген деректер қоры кіреді. Microsoft SQL Server ДҚ екі типке бөлінеді: жүйелік және қолданушылық. Жүйелік ДҚ жүйені басқаратын метамәліметтер орналасады. Microsoft SQL Server орнатқан кезде келесі жүйелік ДҚ құрылады: master, model, tempdb и msdb.
Master жүйелік ДҚ қолданушылық ДҚ мен Microsoft SQL Server жұмысын басқарады. Мұнда келесі мәліметтер бар:
- қолданушылардың есептік жазбалары;
- ағымдағы процесстер туралы мәліметтер;
- жүйелік қателер туралы хабарламалар;
- сервердегі деректер қоры туралы хабарламалар;
- деректер қордың ерекшеленген өлшемдері;
- белсенді блокировкалар туралы хабарламалар;
- ДҚ қатынауға мүмкін құрылғылар туралы хабарламалар;
- жүйелік администрлеудің процедуралары.
Model жүйелік ДҚ ағымдағы серверде құрылатын ДҚ үшін шаблон болып келеді. Мұнда әр қолданушылық ДҚ-на қажет жүйелік кестелер бар. Бұл ДҚ-на келесі объектілерді орналастырады:
- қолданушымен анықталатын мәліметтер типтері;
- енгізуді тексеретін ережелер;
- үнсіз келісім шарт бойынша мәндер;
- сақталатын процедуралар;
- ДҚ рұқсат беретін қолданушылар туралы ақпарат.
Тempdb жүйелік ДҚ дискіге келесі уақытша объектілерді орналастыру үшін қызмет етеді: кесте, топтасу не реттеу ұсыныстардың аралық нәтижелері және т.б. Мsdb жүйелік ДҚ SQL Executive қызметін жоспарлау үшін қолданылады. Msdb ДҚ келесі жүйелік кестелер: sysalerts, sysoperators, sysnotifications, systasks, syshistory және sysservermessages. Бұл кестелерде сәйкесінше келесі ақпарат бар: оқиғамен анықталған қолданушылар; операторлар; оқиғамен операторлардың байланысы; серверге хабарлама және т.б.
ДҚ каталогы жүйелік кестелердің жинағы болып келеді. Жүйелік кестелердің атаулары sys сөзінен басталады. Мұнда қолданушылар, триггерлер мен сақталатын процедуралар, кестелер, кестедегі индекстер, мәліметтер типтері және т.б. туралы ақпарат сақталады. Жүйелік кестелердің атаулары сақталатын ақпаратқа байланысты. Мысалы, sysindexes жүйелік кестесінде индекстер туралы мәліметтер бар. Әр ДҚ-да шамамен екі файл бар: біреуі ақпаратты сақтау үшін қолданылады, екінші транзакция журналы үшін. ДҚ-да келесі типтес файлдар бар:
- primary – негізгі файл. Бұл файлда ДҚ мен оның объектілері туралы жүйелік ақпарат бар. Primary файлында мәліметтер де сақталады. Әр ДҚ-да бір ғана primary типтес файл бар. Файлдың кеңейтілуі - .mdf.
- secondary – екінші файл. Тек мәліметтерді сақтау үшін қолданылады. Файлдың кеңейтілуі - .ndf.
- transaction log – транзакция журналы. Мұнда деректер қорында орындалатын транзакция туралы ақпарат сақталады. Файлдың кеңейтілуі: .ldf.
3. Деректер қордың физикалық архитектурасы.
ДҚ-дың файлында мәліметтерді сақтаудың негізгі бірлігі – парақ. Әр парақтың көлемі - 8192 байт, бірінші 96 байт парақтың тақырыбына беріледі. Парақтардың келесі алты типтері бар:
Data –text, ntext, image типтес мәліметтерден басқа деректер сақталады;
Index – индекстер туралы ақпаратты сақтайды;
Text/Image – text, ntext, image типтес мәліметтер сақталады;
Global Allocation Map (GAM) – экстерн (8 парақтан тұратын топ) қолданған жөнінде ақпарат сақтайды;
Page Free Space (PFS) – парақтағы бос орын туралы ақпарат сақтайды;
Index Allocation Map (IAM) – кесте не индекс қолданатын экстерн жөнінде ақпарат сақтайды;
Парақтарды сақтау үшін, яғни Data, Index, Text/Image экстернге бірігеді. Әр экстернде 8 парақ және 64 Кбайт көлемі бар. Әр парақта қолданушы бар. Қолданушыға байланысты экстерннің біреуі пайдаланылады:
Mixed экстерн.
Uniform экстерн
GAM парағы биттік өрістердің екі типін қолданады:
- GAM-өрістер нақты экстерн қолданылуы туралы ақпарат сақтайды. Сонымен қатар, GAM-да әр бит сәйкесінше бір экстернге келеді. Бірлік парақтың бос екендігін тексереді. GAM бір парағы 64000 экстерндер туралы ақпарат сақтайды (яғни мәліметтердің 4 Гбайт).
- Shared Global Allocation Map (SGAM) осы парақтың әр биті экстерннің типіне нұсқау көрсетеді. Бірлік экстерннің типін Mixed екенін көрсетеді. PFS парағында келесі 8000 парақтардағы бос кеңістік туралы ақпарат сақтайды. IAM парағы бір қолданушыға тәуелді парақтар жөнінде ақпарат сақтайды. Әр қолданушы үшін шамамен 1 парақ жасалады.
4. Деректер қордың қисын құрылымы
Деректер қордың қисын құрылымы ДҚ физикалық құрылғаннан кейін қалыптастырылады. Құрылған кезінде әр деректер қоры құрамында бірнеше жүйелік кестелер бар болады. Әр объект бірнеше жүйелік кестелерде сипатталады.
Объекттің толық атауында төрт идентификатор бар:
[сервер атауы].[деректер қор атауы].[қолданушы атауы].[объект атауы]
SQL Server-де объектілердің тоғыз түрі бар:
Table (кесте) – осы объектте ғана деректер қор мәліметтері сақталады. Қалған объектілерде мәліметтер сақталмайды, тек оларға кестеде қатынауға болады. Реляциялық кестеде жолдар мен бағандар бар.
View (көріністер) – сұраныспен анықталатын виртуалды кесте болып келеді.
Index (индекс) – мәліметтерді тездетіп іздеу үшін және кестелер арасында тұрақты байланыстарды орнату үшін қолданылады. Индекс бір немесе бірнеше бағандарда анықталады.
Stored procedure (сақталатын процедуралар) – деректер қор мәліметтермен жұмыс жасайтын командалар жинағы. Сақталатын процедура серверде орындалады. Сақталатын процедураның іске қосуы клиенттік қосымша арқылы жүзеге асырылады.
Trigger (триггерлер) – кестеден мәліметтерді қосқанда, жойғанда, өзгерткенде автоматты түрде іске қосылатын сақталатын процедуралардың арнайы классы. Барлық триггерлер үш категорияға бөлінеді: қосып қою триггерлері, жаңарту триггерлері, өщіру триггерлері.
User Defined data type (қолданушылық мәліметтер типі) – мәліметтердің жүйелік типі негізінде жасалады.
Default (үнсіз келісімдер) – кесте бағанына меншіктеледі, егер қосып қою командасында бұл бағанда мән берілмесе.
Rule (ережелер) – кесте бағанында сақталатын мәндердің жинақтауын шектеу үшін қолданылады.
Constraint (біртұтастықты шектеу) – бұл орнатылған шарттарға байланысты мәліметтерді автоматты түрде тексеретін SQL Server механизмдері болып келеді.
Дәріс 3. Microsoft SQL Server қолдану.
Жоспар
1. MS SQL Server утилиталары
2. Деректер қорды жасау
3. Кестелермен жұмыс
4. Индекстер
5. Диаграммаларды қолдану
6. Деректер қорын, кестені және көріністерді өшіру
1. MS SQL Server утилиталары.
SQL Server жұмысын басқарумен байланысты негізгі амалдар келесі утилиталар көмегімен іске асырылады:
1. SQL Server Books Online – анықтамалық жүйеге қатынайтын қосымша;
2. SQL Server Query Analyzer – Transact SQL сұраныс тілінің командаларын орындауға мүмкіндік беретін утилита.
3. SQL Server Service Manager – SQL Server іске қосуын, толық және уақытша тоқтатуын қамтамасыз ететін утилита.
4. SQL Server Enterprise Manager – қолданушыға SQL Server-ді администрлеуге, барлық объектілерге қатынауға, сонымен қатар алдында айтылып кеткен утилиталарды іске қосуға мүмкіндік беретін утилита.
SQL Query Analyzer. Берілген утилита Windows ортасында жұмыс жасайды, жүйе іске қосылғаннан кейін сұхбат терезесі SQL Server атауын, қолданушы атын және оның паролін сұратады. Утилитаның негізгі терезесі екі бөліктен тұрады: жоғарғы жағында комнадалардың теруі ұйымдастырылады, ал төмеңгі жағында сұраныстардың нәтижелері көрсетіледі (сур. 1 қараңыз).
Сурет 1 – SQL Query Analyzer терезесі
Барлық әрекеттер саймандар панелі арқылы жүзеге асырылады. Саймандар панелінде келесі әрекеттерді орындайтын батырмалар орналасады:
- текст немесе grid-кесте сияқты нәтижені шығарады;
- команда орындалуысыз оның дұрыстығын тексереді;
- команданы іске қосу;
- сұранысты болдырмау;
- сұраныс орындалуы жөнінде қосымша статикалық ақпаратты шығару;
- ағымды қосылыстың параметрлерін шығарады;
- терезені екіге бөлу: сұраныс терезесі және нәтиже терезесі;
- деректер қорын таңдау.
SQL Server Enterprise Manager серверді конфигурирлеуге мүмкіндік береді. Берілген утилита клиент компьютерінде де іске қосылады. Утилитаның сол жағында объект утилиталарының иерархиясы, ал оң жағында объект мазмұны орналасады (сур. 2). Enterprise Manager менюі және саймандар панелі таңдалған объектіге байланысты өзгертіледі.
Сурет 2 – SQL Server Enterprise Manager терезесі
2. Деректер қорды жасау
Деректер қоры екі тәсілмен жасалады: Enterprise Manager утилитасы арқылы немесе Create Database командасы көмегімен. Databases тобында қолданылатын серверді таңдап, Action менюіндегі New Database командасын орындау қажет. Содан кейін ДҚ файл параметрлерін анықтайтын сұхбат терезесі мен транзакция журналы шығады:
- Name – жасалатын деректер қордың атауы;
- Automatically grow title – ДҚ-дың өлшемінің автоматты өсуіне рұқсат бермейді: in megabytes – мегабайтқа ауысуына нұсқау береду, by percent – пайызда көрсетеді;
- Restrict File growth – мегабайтта бір мәндерге байланысты ДҚ-дың өсуін шектейді;
- Unrestricted file growth – ДҚ-дың өлшемін тексеретін режимді сөндіреді.
3. Кестелермен жұмыс
Реляциялық деректер қорында мәліметтер базалық кестеде сақталады. SQL Server-дің бір деректер қорында мәліметтер екі миллиардқа дейін жетуі мүмкін. SQL Server-де кестені не SQL Server Enterprise Manager көмегімен, не Transact-SQL тілінде CREATE TABLE командасы арқылы. Бұл командада келесі опциялар бар:
- құрылған кестесі бар деректер қор атауы;
- кесте қолданушысы;
- кесте атауы;
- 1-ден 1024 баған аралығында спецификациялар;
- бірінші кілтті шектеу (қажет емес);
- 1-ден 250 шектеулер (қажет емес);
- сыртқы кілттің 1-ден 253 шектеулер (қажет емес);
- кесте сақталатын файлдар тізімі (қажет емес).
Бағанның әр анықтамасында оның атауы мен мәліметтер типі бар болу керек. Кейбір мәліметтер типтері үшін ұзындық пен дәлдік берілуі қажет. Сонымен қатар, decimal мәліметтер типі үшін үтірден оң жағынан қарағанда мәндер саны берілуі қажет.
Кестені құру үшін Action менюінде New Table командасын таңдау қажет. Содан кейін, жасалатын кестенің атауы сұратылады. Келесі опциялары бар кестенің дизайнері ашылады:
Column Name – баған атауы;
Data Type – берілген өріс типі. Кесте 1-де Microsoft SQL Server негізгі типтері көрсетіледі:
Кесте 1 – MS SQL Server мәліметтер типтері
Типі
|
Байттар өлшемі
|
Сипаттамасы
|
Binary(n)
|
1,2 Гб дейін
|
Файлдарды сақтау үшін екілік мәліметтер
|
Varbinary(n)
|
1,2 Гб дейін
|
Файлдарды сақтау үшін екілік мәліметтер
|
Char(n)
|
n
|
Символдық жол
|
Vchar(n)
|
n
|
Символдық жол
|
Datetime
|
8
|
Күн мен уақыт
|
Smalldatetime
|
4
|
Күн мен уақыт
|
Decimal(p,s)
|
1-17
|
p цифрлардың жалпы саны мен үтірден кейінгі s цифрлар саны
|
Numeric(p,s)
|
1-17
|
p цифрлардың жалпы саны мен үтірден кейінгі s цифрлар саны
|
Float
|
8
|
Жылжымалы нүктемен сан
|
Real
|
4
|
Жылжымалы нүктемен сан
|
Int
|
4
|
Жылжымалы нүктемен сан
|
Smallint
|
2
|
Бүтін сан
|
Tinyint
|
1
|
0-ден 255-ге дейін бүтін оң сан
|
Money
|
8
|
Ақша мәні
|
Smallmoney
|
4
|
Ақша мәні
|
Bit
|
1
|
Булды мәні
|
Timestamp
|
|
Binary (8) сияқты
|
Text
|
4
|
Символдық мәліметтер
|
Image
|
4
|
Екілік мәліметтер
|
Length – типті таңдағаннан кейін өріс өлшемі автоматты түрде беріледі;
Precision – типті таңдағаннан кейін ондық өлшемі автоматты түрде беріледі;
Default Value – үнсіз келісім бойынша өріс мәндері беріледі;
Allow Null – жалаушаның белгісі берілген өрісте бос мәнді беруге рұқсат береді;
Scale – типті таңдағанда мәліметтердің сандық типі дәл беріледі;
Identity – кестеге жаңа жазбаны енгізген сайын өріске берілген шамамен автоматты түрде өсіріледі: Identity Seed – бастапқы мән, Identity Increment – санауыштың өсуі.
Кесте дизайнеріне Action менюіндегі Design Table командасы арқылы не контексті меню арқылы жүзеге асыруға болады. Enterprise Manager арқылы кестеге ақпаратты енгізу үшін Open Table | Return All Rows командасын орныдау қажет. Жазбалардың санын Open Table | Return Top командасы арқылы шектеуге болады.
4. Индекстер
Индекстер мәліметтердің реттеп шығаруын және таңдауын ұйымдастыру үшін қолданылады. Индекс болмаса SQL Server сұранысты орындау үшін кестені сканерлеу керек, яғни кестенің барлық жазбаларын қарастыру керек. Егер кестенің өлшемі көлемді болса, онда серверге үлкен жұмыс жүктеледі. Индекстер қажет мәліметтерге нұсқау болып келеді.
Деректер қорында индекс дегеніміз кесте парақтарындағы қажет мәліметтерге сілтеме жасалатын тізім. Басқа жақтан қарағанда, деректер қордың объектісі болып келеді. Бірақ бұл обектілерге қосымша жады қажет. SQL Server индексін құрған кезде кесте сканерленеді, сонымен қатар индекстелген бағанда мәнді таңдап, индекстелген параққа мәліметтер парағына нұсқағыш және индекстелген мәндер үшін жолдар идентификаторларын жасайды.
SQL Server-де индекстердің келесі екі типі мүмкін: кластерлік және кластерлік емес. Кластерлік типтес индекстер үшін индекстегі жолдардың тізбегі мәліметтердің физикалық ретімен сәйкес келу керек. Кластерлік индексте тікелей мәліметтер орналасады. Мұндай индекс мәліметтерге қатынау жұмысын тездетеді. Іздеу, реттеу және топтау амалдарын орындау үшін көбінесі кластерлік индекс қолданылады. Мысалы, ол үшін көбінесе алғашқы кілт құрылған баған қолданылады.
Кластерлік емес типтес индекстерде мәліметтермен байланыс қисын түрдес. Сондықтан, бір кесте үшін бірнеше индекстер беруге болады.
SQL Server-де индекстерді екі тәсілмен құруға болады: SQL Server Enterprise Manager программасы арқылы және Transact-SQL тілінің CREATE INDEX операторы көмегімен. Кесте үшін индексті тек оның тікелей қолданушысы ғана құра алады.
CREATE INDEX инструкциясында индекс атауы, бір кесте және 16 баған болу керек. Мұнда индекс атауы, бір кесте және 16 бағанға дейін беріледі. Кластерлік индекс жасау үшін CREATE INDEX инструкциясына CLUSTERED кілттік сөз қолданылады.
CREATE [UNIQUE][CLUSTERED|NONCLUSTERED]INDEX имя_индекса
ON имя_таблицы(имя_столбца[,имя_столбца]...)
[WITH]
[FILLFACTOR = x]
[[,] IGNORE_DUP_KEY]
[[,] {SORTED_DATA | SORTED_DATA_REORG}]
[[,] {IGNORE_DUP_ROW | ALLOW_DUP_ROW}]]
[ON имя_сегмента]
Мысал
CREATE UNIQUE CLUSTERED INDEX au_id_ind
ON authors (au_id)
Индексті құрастырғанда Enterprise Manager утилитасы қолданылады. Алғашқы қадамда, кесте ерекшеленеді, содан кейін, Action| All Tasks| Manage Index командасы орындалады. Ашылған сұхбат терезесінде мәліметтер қоры мен кесте пайдаланылады. New батырмасы жаңа индексті ашу үшін терезені ашады, содан кейін индекске кіретін өрістерді ерекшелейді, сонымен қатар, келесі опцияларды орнатады:
- Unique values – ендірілетін мәндердің ерекшелігі;
- Ignore duplicate values – индекстелген өрістерде қайталанатын мәндерді ұйымдастырады;
- Clustered index – бұл опция кластерлік индекстеуді ұйымдастыру үшін қоладанылады. Кестеде бір кластерлік индекс болу мүмкін.
Кестеден индекстен басқа алғашқы кілтті құруға болады. Алғашқы кілтті құрғанда кесте дизайнерін ашу қажет, таңдалған өрісте нөлдік емес мәндер енгізуіне рұқсат бермеу керек, яғни Allow Null бағанында белгі алынуы керек, содан кейін Set Primary Key батырмасына басу қажет.
5. Диаграммаларды қолдану
Диаграмма объектісі графиктік режимде мәліметтердің құрылымын өңдеуге мүмкіндік береді. Сонымен қатар, кестені құру, кілттерді анықтау, кестелер арасындағы байланысты ұйымдастыру мүмкіндіктерін туғызады. Диаграмманың ерекшелігі оның барлық объектілердің автоматты жасалынуы. Action менюінің New Database Diagram командасы диаграммаларды өңдеу мастерін іске қосуына алып келеді.
Саймандар панелінің батырмаларының көмегімен кестенің сыртқа бейнесі мен орналасуын басқаруға болады. Кілттердің көмегімен диаграмма терезесінде кестелер арасындағы байланысты орнатуға болады. Мұндай өріс кестенің сыртқы кілті деп аталады. Содан кейін экранда сұхбат терезесі шығады. Бұл терезеде байланыс атауы және сипаттамасы сұратылады:
- Relationship name – байланыс атауы;
- Primary key table – кестенің алғашқы кілті;
- Foreign key table – кестенің сыртқы кілті;
- Check Existing data on creation – берілген байланысқа кесте мәндерін тексереді;
- Enabled relationship for INSERT and UPDATE – жасалынған байланыс кестеде ақпаратты қосу және өзгерту амалдары қарастырылады.
Жасалынған диаграмманы құрастырып болғанда, жүйе атауын мен мүмкіндіктерін сұратады.
6. Деректер қорын, кестені және көріністерді өшіру
Деректер қоры мен оның объектілері SQL Server-де SQL Server Enterprise Manager программасының көмегімен өшірілуі мүмкін не келесі инструкциялар арқылы:
- DROP DATABASE имя_базы_данных;
- DROP TABLE имя_таблицы;
- DROP VIEW имя_представления;
- DROP INDEX имя_индекса.
Бұл инструкциялар қатаң сұранысты қажет етеді. Деректер қорын өшіргенде онымен бірге объектілері де өшіріледі. Кесте өшірілгенде онымен байланысқан индекстер, шектеулер, триггерлер мен мүмкіндіктер өшіріледі.
Басты кестені өшіру үшін бірінші қосымша кестенің сыртқы кілттің шектеулерін өшіру керек.
Дәріс 4. TSQL мәліметтерімен жұмыс істеу негіздері.
Жоспар
1. Идентификаторлар және өрнектер
2. Басқаратын конструкциялар
3. SELECT, INSERT, UPDATE, DELETE инструкциялар
4. SQL предикаттары және үштік қисын
5. Тұрақтылар, функциялар және өрнектер
6. Агрегаттық функциялар
1. Идентификаторлар және өрнектер
SQL Server-мен жұмысы үшін Transact-SQL деп аталатын SQL тілінің диалекті қолданылады. SQL алғашқы тілімен салыстырғанда Transact-SQL-да қосымша кілттік сөздер енгізілген.
Негізгі операторлар INSERT, DELETE, UPDATE, SELECT және басқа операторларда SQL тілінің синтаксисі қолданылады. Transact-SQL қосымша мүмкіндіктері ақпараттың көлемін басқарауына байланысты.
SQL Server барлық объектілерінде өз атаулары бар. Уақытша объектілерді белгілеу үшін арнайы символдар қолданылады: @ - уақытша айнымалылар немесе параметрлер, # - уақытша кесте не сақталатын процедура. Уақытша объектілер бір сеанс не транзакция уақытында бар болып, содан кейін өшіріледі. Аумақты айнымалыларды белгілеу үшін келесі символдар қолданылады: @@[атауы], ##[атауы]. Шектеулерді шектеу үшін объект атауын квадрат жақшаларына не тырнақшаға алады. Егер объект атауы (кесте, баған не т.б.) сақталатын процедураның аргументі ретінде қажет етілсе, онда командалар апострофқа алынады.
Өрнектер функция, амалдар, тұрақталыр идентификаторларының жинағы ретінде көрсетіледі. Өрнек сақталатын процедураның командаларында аргумент ретінде қолданылады. Келесі операторлар SQL Server-де анықталады:
Унарлық
|
+,-
|
Меншіктеу
|
=
|
Арифметикалық
|
+,-,*,/,%
|
Жолдық
|
+
|
Салыстыру
|
<,>,=,<=,>=,<>,!=,!<,!>
|
Қисын
|
ALL, AND, ANY, BEETWEN, EXISTS, IN, LIKE, NOT, OR, SOME
|
Биттік
|
&,|,^
|
Қисын операторлар сұратуларды жазғанда не мәліметтерді өзгерту командаларында қолданылады.
ALL – скалярлық өрнектің барлық ішкі сұраныстың қайтаратын мәндерімен салыстыруы орындалады. Егер қисын шарты орындалса, сонда ғана барлық шарттар орындалды деп айтуға болады.
Синтаксисі:
<өрнек>{=,<>,!=,>,>=,!<,<=,!<} ALL (<ішкі сұраныс>)
ANY – ішкі сұраныстың қайтаратын мәндерінің әрқайсысымен скалярлық өрнектің салыстыруын орындайды. Және ақиқатты қайтарады, егер ішкі сұраныстың мәндерінің бірі жұмыс істесе.
Синтаксисі:
< өрнек >{=,<>,!=,>,>=,!<,<=,!<} ANY (<ішкі сұраныс >)
BEETWEN – оператор ақиқат мәнін қайтарады, егер өрнек мәні анықталатын диапазонына кірсе. Егер NOT қисын операторы ақиқатты қайтарады егер мән диапазонға кірмесе.
Синтаксисі:
< өрнек > [NOT] BEETWEN <жоғарғы табалдырық> AND <төмеңгі табалдырық >
IN – оператор ақиқатты қайтарады, егер ішкі сұраныстың қайтаратын мәндерімен өрнек мәндері сәйкес келсе. Мәндер тізімі үтір арқылы саналады. Оператордың жалпы форматы:
< өрнек > [NOT] IN (<ішкі сұраныс > | <мәндер тізімі>)
EXISTS – бар болу операторы ақиқатты қайтарады, егер ішкі сұраныс бір жолды қайтарса, ал ішкі сұраныстың нәтижесі бос болса, онда жалған мәні қайтарылады.
Синтаксисі:
EXISTS (<ішкі сұраныс >)
LIKE – жолдық мәндер салыстырмасы берілген шаблонмен өрнекті салыстыру амалын орындайды. Шаблонда алмастыру символдары бар: % - символдардың кез келген саны, _ - кез келген бір символ, [] – мүмкін болатын символдар жинағы, [^ ]- сәйкес символдың орынына берілген тізімнің барлық символдары болу мүмкін.
Синтаксисі:
<өрнек> [NOT] LIKE <шаблон>
2
. Басқаратын конструкциялар
BEGIN … END – бір блокқа екі не одан көп командаларды топтау амалын жүргізеді. transact SQL кейбір командалары басқа командалармен орныдалмайды, сондықтан олар берілген конструкцияға кірмейді. Мұндай командаларға: резервті көшіру командасы, кесте құрылымын өзгерту командасы, сақталатын процедураның командасы және т.б. жатады.
If <қисын өрнек >
<команда 1>
[ Else
<команда 2>]
IF кілттік сөзден кейін шарт болады. Есептеу нәтижесі ақиқат, жалған, не белгіссіз болу мүмкін. Егер шарт ақиқат болса, онда келесі инструкция орындалады. Егер жалған не белгіссіз болса, онда ELSE кілттік сөзден кейін болатын инструкция орындалады.
CASE … END – жиын таралымы, басқа өрнектерде айнымалы ретінде қолданылатын функция болады. Конструкцияда екі түрі бар:
CASE <өрнек >
WHEN <вариант> THEN <нәтиже>
[…]
[ ELSE <нәтиже> ]
END
CASE
WHEN <шарт> THEN <нәтиже >
[…]
[ ELSE <нәтиже> ]
END
COALESCE – мәндер тізімінен нөлдік емес бірінші мәнді қайтарады.
COALSCE (<мәндер тізімі >)
WHILE циклінің инструкциясы
WHILE <шарт>
< цикл денесі>
BREAK операторы циклді аяқтап, басқармасын келесі WHILE операторына береді;
CONTINUE операторы – циклдің ағымды итерациясын тоқтатып, келесі итерацияға көшеді.
3. SELECT, INSERT, UPDATE, DELETE инструкциялар
SQL SELECT инструкциясы бір не бірнеше кестелерден жолдарды шығарады. SELECT инструкциясында қажет мәліметтермен бағандар тізіміні береді. Сонымен қатар, бұл инструкцияда сізге қажет мәліметтерді топтау не сұрыптау амалдарын белгілеуге болады. Мынадай түрде SELECT инструкциясының базалық құрылымы болады:
SELECT бағандар_тізімі
FROM кесте_тізімі
WHERE таңдау _шарты
GROUP BY топтау _үшін_бағандар
HAVING таңдау _шарты
ORDER BY сұрыптау _үшін_бағандар
Ал, мына түрі SELECT инструкциясының қарапайым түрін көрсетеді:
SELECT * FROM Table1
SELECT сөзінен кейін келетін (*) жұлдызша символы «барлық бағандар» дегенді білдіреді. FROM сөйлемінде бір кесте не көрініс беріледі. Берілген мысалда кесте Table1. Кесте не көрініс атаулары дерекқорының атауымен дәлелденуі керек. Мысалы, MyBasa.dbo.Table1.
Кестеден қайталанатын жолдарды шектеу үшін SELECT инструкциясына WHERE сөйлемін қосу керек. WHERE қарапайым сөйлемінде SQL предикаты болып келетін таңдау шарты болу керек. Сұраныс таңдау шарты ақиқат болатын жолдарды қайтарады.
WHERE сөйлеміндегі таңдау шарты бірнеше предикаттардан тұру мүмкін. Бұл предикаттар AND және OR операторлармен біріккен. Болдырмау шарты NOT қисын операторы арқылы беріледі.
ORDER BY сөйлемі қортынды кестені SELECT инструкциясы арқылы сұрыптау үшін қолданылады. Бұл сөйлемде бағандар тізімі осы бағандардың мәндерін өсу (ASC кілттік сөзі арқылы беріледі) не кему (DESC кілттік сөзі арқылы беріледі) бойынша сұрыптау беріледі.
INSERT инструкциясы кестеге жаңа жолды қосу үшін қолданылады. строки. Мынадай түрде INSERT инструкциясының базалық құрылымы болады:
INSERT INTO кесте_атауы
(бағандар_тізімі)
VALUES (бағандар _мәндер_ тізімі)
Кесте атуынан кейін INSERT инструкциясында жақшаға алынған бағандар тізімі, содан кейін осы бағандардың мәндер тізімі бар VALUES сөйлемі кездеседі.
INSERT инструкциясында екі тізімде қатаң бір-біріне сәйкес болу керек, яғни мәндер бағандар тізіміне сәйкес белгіленуі керек. Бағандар тізімін белгілемеуге де болады, ол үшін кестенің барлық баған мәндері берілуі керек.
INSERT инструкциясында жүйе анықта алмайтын мәдердің барлық бағандары берілу керек. IDENTITY атрибутымен бағанды анықтауға қажет емес, себебі мәні үнсіз келісім бойынша беріледі. Егер қалып қойған баған үшін мәні үнсіз келісім бойынша берілсе, онда осы бағанға ол да жүктеледі. IDENTITY және rowversion бағандарына автоматты түрде сәйкес идентификаторлар меншіктеледі, ал қалған бағандарға NULL мәні беріледі. Бұдан басқа, INSERT инструкциясында DEFAULT кілттік сөзі жалғасады, себебі оған үнсіз келісім мәні не NULL меншіктеледі.
UPDATE инструкциясы кестедегі бар жолдарды жаңарту үшін қызмет етеді. н служит для обновления существующих строк в таблице. UPDATE инструкциясының базалық құрылымы келесі түрде болады:
UPDATE кесте _атауы
SET меншіктеу_амалы
WHERE таңдау _шарты
SET кілттік сөзінен кейін осындай синтаксиспен бір не бірнеше амалдар беріледі:
баған _атауы = өрнек
WHERE сөйлемінде жаңартылатын кесте жолдарын таңдау шарты беріледі. Егер WHERE сөйлемі берілмесе, онда кестенің барлық жолдары жаңартылады.
Кестеден жолды өшіру үшін DELETE инструкциясы беріледі:
DELETE FROM кесте _атауы
WHERE таңдау _шарты
Кездейсоқ жағдайда кестеде барлық жолдарды өшіріп тастауға болады - WHERE сөйлемсіз DELETE инструкциясын жүктесе. Бірақ кестенің өзі базада қалады.
4. SQL предикаттары және үштік қисын
SQL предикаты – бұл қарапайым қисын өрнек, оның мәні ақиқат, жалған не белгіссіз болу мүмкін. Жалпы алғанда, нәтижесі келесі типке және ANSI стандартына сәйкес
өрнек1 = өрнек2
егер, өрнек1, өрнек2 не екеуіде NULL тең болса. Бұл ереже салыстыру операторына қарамайды, ол өрнекте тең, тең емес, үлкен, кіші не т.б.
Предикатты болдырмау NOT операторы және екі предикаттарды біріктіру AND не OR операторлары жай емес екілік қисынды қолданады, ал үштік қисынның қызмет ету сызбасы кесте 2 берілген.
Кесте 2 – Предикаттар үшін үштік қисында қолдану
p
|
q
|
NOT p
|
p AND q
|
p OR q
|
TRUE
|
TRUE
|
FALSE
|
TRUE
|
TRUE
|
TRUE
|
FALSE
|
FALSE
|
FALSE
|
TRUE
|
TRUE
|
Белгіссіз
|
FALSE
|
Белгіссіз
|
TRUE
|
FALSE
|
TRUE
|
TRUE
|
FALSE
|
TRUE
|
FALSE
|
FALSE
|
TRUE
|
FALSE
|
FALSE
|
FALSE
|
Белгіссіз
|
TRUE
|
FALSE
|
Белгіссіз
|
Белгіссіз
|
TRUE
|
Белгіссіз
|
Белгіссіз
|
TRUE
|
Белгіссіз
|
FALSE
|
Белгіссіз
|
FALSE
|
Белгіссіз
|
Белгіссіз
|
Белгіссіз
|
Белгіссіз
|
Белгіссіз
|
Белгіссіз
|