Файл қосу

мәліметтер жиынтығы



ҚАЗАҚСТАН РЕСПУБЛИКАСЫ БІЛІМ ЖӘНЕ ҒЫЛЫМ МИНИСТРЛІГІ
Семей қаласының  шәкәрім атындағы семей мемлекеттік университеті 
                                       
                    3 деңгейлі СМЖ құжаты
                                   ПОӘК
                       ПОӘК 042-39. 1.ХХ/01- 2013
                                   ПОӘК
<<Мәліметтер қоры және ақпараттық жүйелер>> пәні бойынша оқу-әдістемелік материалдар
                       Редакция №____от_____

                                       
                                       
                                       
                                       
                                       
                                       
                                       
5В011100  -  <<Информатика>>   мамандығына арналған
                                       
         <<Мәліметтер қорын программалау>>
           ПӘНІНІҢ ОҚУ-ӘДІСТЕМЕЛІК КЕШЕНІ
                                       
                                       
             ОҚУ-ӘДІСТЕМЕЛІК МАТЕРИАЛДАР
                                       
                                       
                                       
                                       
                                       
                                       
                                       
                                       
                                       
                                       
                                       
                                       
                                  Семей
                                     2013
                                       







                                МАЗМҰНЫ
                                       
                                       

* Глоссарий
* Дәрістер
* Практикалық және зертханалық жұмыстар
* Студенттің өздік жұмысы
                              ГЛОССАРИЙ
                                       
Атрибут  -   мәннің  атауы  бар сипаттамасы.  Оның атауы  қандай да бір нақты мән түрі үшін уникалды   болуы тиіс, бірақ, мәндердің түрлі типтері  үшін бірдей бола алады (мысалы түс  мәндердің  бірнеше түрлері үшін анықтала алады). Атрибуттар мән жайлы қандай ақпарат жиналуы тиіс екенін анықтау үшін қолданылады. 
Байланыс  -  бір немесе бірнеше  мәнді  ассоциациялау  болып табылады. Егер мәліметтер қоры  тек қана  жеке, өзара байланыспаған мәліметтерді сақтауға арналған болса,  онда оның құрылымы  өте қарапайым болушы еді.  
Домен   -  бір типті көптеген атомарлы ұғымдарды айтамыз. Егер де екі атрибуттың мағынасы бір доменнен алынса, онда осы екі атрибутты қолданатын салыстырудың мағынасы бар. Ал егер де екі атрибуттың мағынасы әртүрлі домендерден алынса, онда оларды салыстыру ешқандай мағына бермейді. 
Жазба - өрістердің атауы бар жиынтығы. Атрибуттардың жиынтығын көрсету үшін қолданылады. 
Кілт  - олардың мәндері  арқылы  керекті  мән экземплярын бірмәнді табуға болатын, атрибуттардың минималды жиыны. Минималдылық  жиыннан  кез келген  атрибутты шығару қалғандары бойынша мәнді  идентификациялау мүмкіндігін жоятынын білдіреді. 
Қатынас  -  Кесте (кей кезде файл, кортеж - жол) (кей кезде жазба), атрибут  -  баған, өріс. Бұл жағдайда <<жазба>> <<жазба экземплярын>>, ал <<өріс>> - <<өрістің аты мен типін>> білдіреді деп алынады. 
Қатынас дәрежесі  -  бұл оның атрибуттар саны. 1-ге тең қатынас дәрежесі унарлы, 2-ге  - бинарлы, 3-ке  -  тирнарлы,     n дәрежесі  -  n-арлы деп аталады.
Кардинарлы сан немесе қатынас қуаты  -  бұл оның кортеждер саны. Қатынастың кардинарлы саны оның дәрежесіне қарағанда уақыт бойынша өзгереді. Өйткені, қатынас  -  бұл жиын, ал жиындар анықтама бойынша бірдей элементтері болмайтындықтан, ешқандай екі қатынас кортежі кез келген еркін берілген уақыт моментінде бір-бірінің дублекаты бола алмайды.
Мәлімет элементі (өріс) -  мәліметтеттің атауы бар ең кіші бірлігі. Атрибуттың мәнін көрсету үшін қолданылады. 
Мәліметтер агрегаты  -  тұтастай қарастыруға болатын жазба ішіндегі атауы бар мәлімет элементтерінің жиынтығы. 
Мән -  ол туралы  мәліметті  мәліметтер қорында сақтау  қажет болатын  кез келген ажыратылатын  объект (біз басқалардан ажырата  алатын объект). Мәндер болып адамдар, ұшақтар, рейстер, дәм, түс және т. б.  бола алады. Мән түрі  және  мән экземпляры сияқты  ұғымдарды  ажырата білу керек.
Транзакциялар -  мәліметтер қорымен жүргізілетін амал бірлігі. Транзакциялар құрамына МҚ өзгертудің бірнеше операциялары кіруі мүмкін. Бірақ бұл оператордың  немеме барлығы орындалады немесе ешқайсысы орындалмайды.
Файл  -  бір типті жазба даналарының атауы бар жиынтығы. Біртекті шынайылық жиынтығын корсету үшін пайдаланылады. 
Файлдар жиынтығы  -  жүйеде өңделетін файлдардың атауы бар жиынтығы.  Бірнеше сущ жиынтығын көрсету үшін қолданылады. 
                                        

ДӘРІСТЕРДІҢ ҚЫСҚАША КОНСПЕКТІСІ
1-ДӘРІС. Кіріспе

Қарастырылатын сұрақтар:
Мәліметтерді алу мен жөнелту механизмдері;
Мәліметтердің белгілі түрде ішкі көрсетілімінің механизмі;
Мәліметтерді көрсету мен өңдеуге арналған пайдаланушы интерфейсі;
Мәліметтерді өңдеу логикасы;
мәліметтер жиынтығы;
-TDataSourceкомпоненттері;
-Мәліметтерді бейнелеудің визуалды компоненттері


Мәліметтер қоры қолданбасы қандай-да бір мәліметтер көзімен  -  мәліметтер қорымен (МҚ) өзара әрекеттесуге арналған. Өзара әрекеттесу мәліметтерді алу, оларды пайдаланушы көру үшін белгілі форматта көрсету бағдарламада жүзеге асырылған бизнес-алгоритмге сәйкес өңдеу және өңделген мәліметтерді қайтадан мәліметтер қорына қайтару. 
Мәліметтер көзі ретінде мәліметтер қорлары және де кәдімгі файлдар  -  мәтіндік, электронды кестелер, және т.б. бола алады. 
Алдында білетініміздей мәліметтер қорларына арнайы программалар  -  мәліметтер қорларын басқару жүйелері (МҚБЖ) қызмет етеді, олар жергілікті, яғни бір пайдаланушыға арналған, сол сияқты серверлік  -  желілік, көп пайдаланушыға арналған болып бөлінеді. Осылай топтаудың негізгі критерийі  -  мәліметтер қоры көлемі және МҚБЖ  - ға орташа жүктеме. 
Дегенмен, жүзеге асырудың әртүрлілігіне қарамастан, мәліметтер қоры қолданбаларының жалпы архитектурасы өзгеріссіз қалады. 
Қолданбаның өзі мәліметтерді алу мен жөнелту механизмдерін, мәліметтердің белгілі түрде ішкі көрсетілімінің механизмін, мәліметтерді көрсету мен өңдеуге арналған пайдаланушы интерфейсін, мәліметтерді өңдеу логикасын қосады. 
Мәліметтерді алу мен жөнелту механизмі мәліметтер көзімен байланыстыруды қамтамасыз етеді. 
Мәліметтердің ішкі көрсетілім механизмі мәліметтер қоры қолданбасының ядросы болып табылады. Ол алынған мәліметтердің қолданбада сақталуын қамтамасыз етеді және оларды сұраныс бойынша қолданбаның басқа бөліктеріне береді. 
Пайдаланушы интерфейсі мәліметтерді көру мен өңдеуді, сол сияқты мәліметтер мен жалпы қолданбаны басқаруды қамтамасыз етеді. 
Delphi репозиторийінде мәліметтер қорына арналған жеке шаблон жоқ. Сондықтан, Delphi-дің басқа қолданбалары сияқты мәліметтер қоры қолданбасы кәдімгі формадан басталады. МҚ қолданбасының интерфейсі кәдімгі формада стандартты және арнайы визуалды компоненттерді қолдану арқылы жасалады. 
Мәліметтерді бейнелеудің визуальды компоненттері компоненттер палитрасының Data Controls парағында орналасқан. Олардың көпшілігі стандартты басқару элементтерінің мәліметтер жиынтығымен жұмыс істеуге ыңғайландырылған өзгертілген түрі болып табылады. 
Қолданба бірнеше формадан тұрады және кез-келген интерфейсті (MDI немесе SDI) қолданады. 
Кез-келген мәліметтер қоры қолданбаларының негізінде мәліметтер қорынан қолданбаға көру және өңдеу үшін жіберілген жазбалар тобы болып табылатын мәліметтер жиынтығы (оларды жадыда кесте түрінде көрсеткен қолайлы) жатады. Әрбір мәліметтер жиынтығы арнайы мәліметтерге қатынау компонентіне инкапсулирленген. VCL Delphi-де мәліметтер жиынтығының қызметін қолдайтын базалық класстар жиынтығы, және де құрамы бойынша бірдей болып табылатын мәліметтерге қатынау компоненттері үшін ішкі компоненттер жиынтығы жүзеге асырылған. Олардың ортақ ата-бабасы  --  TDataSet класы. 
Мәліметтер жиынтығының мәліметтерді бейнелеудің визуалды компоненттерімен байланысты қамтамасыз ету үшін арнайы TDataSource компоненті қолданылады. Оның ролі мәліметтер жиынтығы және онымен байланысты мәліметтерді бейнелеу компоненттерінің арасындағы мәліметтер ағынын басқарудан тұрады. Бұл компонент мәліметтерді визуалды компоненттерге жіберуді және өңдеу нәтижелерін мәліметтер жиынтығына қайтаруды қамтамасыз етеді, мәліметтер жиынтығының қалып-күйі өзгерген жағдайда визуалды компоненттердің қалып күйінің өзгеруіне жауап береді, пайдаланушының (визуалды компоненттің) басқару сигналын мәліметтер жиынтығына береді. TDataSource компоненті компоненттер палитрасының Data Access парағында орналасқан. 
Осылайша, мәліметтерге қатынаудың базалық механизмі келесі компоненттер үштігімен жасалады: 
* Мәліметтер жиынтығын инкапсуляциялайтын компоненттер (TDataSet класының ұрпақтары);
* TDataSource компоненттері;
* Мәліметтерді бейнелеудің визуалды компоненттері. 
Осы компоненттердің мәліметтер қоры қолданбаларында өзара әрекеттесу схемасын қарастырайық (1.1-сурет). 


                                       


2-ДӘРІС. Мәліметтердің жиынтығы. 

Қарастырылатын сұрақтар: 
* Мәліметтердің абстрактілі жиынтығы. 
* Стандартты компоненттер. 
* Кесте компоненті. 
* Сұраныс компоненті. 
* Сақтаулы процедура компоненті.


Delphi ортасында мәліметтер қорымен жұмыс
Мәліметтер көзі. МҚБЖ-нің экрандық элементтері Windows-тің қарапайым басқару элементтеріне ұқсайды. Олар кестенің өрістеріндегі мәліметтерді өңдеуге арналған. Оны TADOTable компонентіне бірден қосуға болады. Бірақ Delphi7 жүйесінде орталық деңгейде қолданылатын TDataSource(Мәліметтер көзі) компоненті құрылған.
Мәліметтер жиыны
	Паскаль-да мәліметтер қорындағы ақпарат TDataSet 	класымен анықталады. Оның негізінде TADOTable компоненті құрастырылған. Осы компонент көмегімен жаңа жазуларды енгізу өте ыңғайлы.
	Мәліметтер жиыны TDataSet-пен жұмыс істеу кезінде мәліметтер жиынының көрсеткіші деген ұғым қолданылады. Ол қазіргі моментте қай жазудың қолданыста екенін көрсетеді. TDBGrid кестелерімен жұмыс істегенде кез келген уақытта тек қана бір жазуды өңдеуге болады. Кестеде жұлдызшамен белгіленеді және қолданыстағы болып есептеледі. 
	Мәліметтер кестесі (TDBGrid) компоненті.	Кестедеге мәліметті енгізу, өңдеу, өшіру үшін программалық код жазудың қажеті жоқ. Бар жоғы DataControls(Мәліметтерді басқару элементтері) панелінің TDBGrid компонентін қалып үстіне орнатса болғаны. Оның DataSourse қасиетінде қажетті мәліметтер көзін таңдау керек.
	Навигатор компоненті (TDBNavigator). Бұл компонент DataSourse қасиеті арқылы TDBGrid байланысады. Бұл қасиеті бәрінде бірдей болатынын қадағалау керек. Навигатор көмегімен сіз кестеде алдыға, артқа, басына және аяғына, кестедегі жазылған мәліметтер мен жұмыс істеуге толықтыра айтқанда жолды өшіруге, қосуға және мәліметтерді сақтауға арналған.
Бұл компонентті олардың батырмасына тышқанның сол жақ батырмасымен бір рет басқанда іске қосылады. Ол батырмалар онда 10:
First  -  бірінші жазуға (жолдағы) бару
Prior  -  алдындағы жазуға ауысу
Next  -  келесі жазуға ауысу
Last  -  ақырғы жазуға апару
Insert  -  қолданыста тұрған жолға жаңа мәліметтерді енгізу
Delete  -  қолданыста тұрған жолды өшіру
Edit  -  қолданыста тұрған жолды редактрлеу
Post  -  өзгертілген мәліметтерді немесе жазылған мәліметтерді  мәліметтер қорына сақтау
Cancel  -  өзгертілген мәліметтерді бастапқы қалпына қайтару
Refresh  -  кестені сақтау (Обновление)
Мәліметтер қорына жазу компоненті (TDBText)
Бұл компоненттің көмегімен мәліметтер қорындағы кестенің белгілі бір бағанындағы және көрсеткіш тұрған жолдағы мәліметке қатынас жасауға арналған. Бұл компоненттеде мәліметтерді алу орны DataSourse қасиетінен таңдайсыз, ал бағананы DataField қасиетінен таңдайсыз.
	Редактрлеу өрісі (TDBEdit). Бұл компонент ағымдағы жеке өрісті редактрлеуге арналған. Ал қасиеттерінде TDBText компонентіндегідеу қасиеттер бір ғана ReadOnly қасиеті арқылы редактрлеуге рұқсат бермеуге болады.
	Сурет қою компоненті (TDBImage). Компонент көмегімен мәліметтер қорында сақталған суреттерді шығаруға болады. Сурет автоматты түрде экранға шығады егер AuttoDisplay қасиеті True мәнін қабылдап тұрса. Ал керісінше жағдайда LoadMeme әдісімен шақыру керек. Мәліметтер қорындағы суреттер кеңейтілуі *.BMP болғаны дұрыс.
	Тізімі бар мәліметтер өрісі(TDBComboBox). 	Бұл компонент мәліметті көрсетуге және өрістің жаңа мәнін ашылатын тізім ішінен таңдауға мүмкіндік береді. Енгізу облысында жазуды енгізу арқылы тізімдегі элементке тез баруға және онда жоқ элементті енгізуге болады. TDBComboBox-тан айырмашылығы Style қасиетінде. Ол тізімдегі элементтердің көрінуін басқарады. Қалған қасиеттері қарапайым TComboBox компонентінікіндей.
	Мәліметтер жалаушасы компоненті(TDBCheckBox). Бұл компонент мәліметтер қорының логикалық типтегі өрісінің мәнін қабылдайды және өзгертеді. Сондай-ақ, бұл компонентті кез келген 2 мән қабылдайтын өріспен де жұмыс жасауға болады.
	Мәліметтердегі ауыстырып-қосқыш тобы компоненті(TDBRadioGroup). 	Өрістің шектелген мәндерін көрнекі түрде шығаруға арналған. Әрбір мәнге группадағы бір ауыстырып-қосқышты меншіктеуге болады. Ауыстырып-қосқыштардың тізімі Items(TStrings) қасиетіне жазылады. Оларға қатысты мәндер тізімі мына қасиетте сақталады Values(TStrings).

                                       
                       Бақылау сұрақтары
* МҚ әкімшісінің қызметіне не жатады?
* МҚ әкімшісі нені орындайды?
* Ақпараттық жүйе дегеніміз не?
* Мәліметтер қоры серверінде не орналасады?
* Ақпараттық жүйеге не кірмейді?
* Қандай ақпараттық жүйе жергілікті деп аталады?
* МҚ-мен жұмыс істейтін, ақпараттық жүйелерді программалық қамтамасыз етуге не жатады?
* Clipper деген не?
* 9.Екі буынды модельде компьютер-сервер мен компьютер-клиент арасындағы қызметтер бөлінуінің нұсқаларын атап көрсетіңіздер.
* Мәліметтер қорын қолданылатын жергілікті ақпараттық жүйелер құрудың негізгі нұсқаларын көрсетіңіздер.
* Ақпараттық жүйелерде мәліметтер қорына қол жеткізу қалай ұйымдастырылады?


Әдебиеттер: 
* Бидайбеков Е.Ы., Елубаев К., Шекербекова Ш.Т. Мәліметтер қоры және ақпараттық жүйелер. Алматы., 2010.
* Золотова С.И. Практикум по Access. Финансы и статистика, Москва, 2000.
* Джулия Келли. Самоучитель Access 97. Питер. Санкт-Петербург, 2000.
* Робинсон С. Access 2000. Учебный курс. 


3-ДӘРІС.  Мәліметтер жиынтығындағы индекстер. 

Қарастырылатын сұрақтар: 

* Индекстерді қосу механизмдері. 
* Индекстірді сипаттау тізімі. 
* Индекс сипаттамаларын қолдану.
 

Кесте құру теориясының басты мағынасы операция ұғымы болып табылады. Операцияны оңай тапсырма ретінде қарастыруға болмайды.
Әр операция былай мінезделеді:
1) Арнайы жұмысқа арналған индекспен.
2) Арнайы машинаға арналған индекспен.
3) операцияның созылуын көрсететін санмен
	Бірінші индекс бойынша көптеген операциялар көптің арасында қиылыспайтын жүйеге бұлінеді. Оны жұмыстар деп атайды. Ал екінші индекс бойынша қиылыспайтын көптеген операциялар, бұлар машиналарға жатады.
	Әр жұмысқа олардың операцияларының құрамы беріледі. Мұндай перацияның бірлігін жинау жөнге келтіру жұмысына байланысты болады. Егер операция X ертерек іске асырылуы керек болса, онда Y  қарағанда, онада X   Y-тің алдын алды делінеді. Бұл мына түрде жазылады: X < Y  немесе Y > X. Егер X < Y, Y < Z, онда X < Z. X операциясы Y операциясын озып кетті деп қарастырамыз және X << Y немесе Y >> X деп жазамыз, егер X < Y және Z операциясы жоқ, онда мынадай X < Z < Y болады. 
	Орындалған графиканы ойға алу үнемі оңай болады. Графиканың төбесін операциялар көрсетеді, ал доғалары озу  қатынасына тең. Екі төбе тәртіптің қатынасы мен байланысты, бірақ олардың арасында жол болса.
	 Машина деп кейбір операцияларға байланысты барлығын қамти алатын, қызмет ету жүйесімен  -  көптеген машиналардың, көптеген операцияларда қолданатын жұмыстарды өтейтінді айтамыз. Машиналар жиынтығын, жжмыстар және тәртіпке арналған операцияларды машиналарға бұлуді қызмет көрсету процесі деп атаймыз.
	Қызмет көрсету процесіне күнтізбе құру, әр операцияға уақынша сызығында аумақ беріледі, бұл операция арнайы машинамен іске асу дегенді білдіреді. Ол әр операцияға бір немесе оданда көп интервалдар беріледі: 
		2.2.2 Тапсырманың технологиялық тізбегінің классификациясы

	Кесте құру теория тапсырмасы берілген деп есептеледі, егер мыналары анықталған болса:
1) Операциясен жұмыс атқаруға жататындар
2) Операцияны орындайтын машинаның саны мен түрі
3) машиналардың өту реті
4) кесте бағасының критериі
	Түскен жұмыстың мінездемесіне байланысты тапсырманың 2 түрі анықталады: статистикалық және динамикалық. Статистикалық тапсырмаларда жүйеге бір уақытта жұмыстың саны түседі. Осыдан соң жаңа тапсырыстар түспейді және күнтізбені алдын-ала анықталған жұмысқа жазады. Динамикалық тапсырмаларда уақыттың кей кезінде ғана жұмыстар беріледі. Оны тек статистикалық жағынан ғана түсінуге болады. Сондықтан, келетін тапсырыстардың берілу уақыты анықталмаған. Статистикалық және динамикалық жұмыстарды қалпына келтіру әртүрлі шешімдерді талап етеді.
	Бір тапсырманы реттейтін  машина операциясы анықталады, осы машинаның жүйесі болып табылады ма?
а) конвейерлік
б) кездейсоқ ретпен атқарылған жұмыс
в) жасанды жүйе типі
	Конвейерлік жүйеде әр жұмысқа машина бірдей. Белгілі терминминологияға жүгінсек, ол мынаны береді. Мынадай машиналар реті белгіленген, жалғыз және сол бір  жұмысқа берілген X операциясын орындайтын машина номері, Y операциясын орындайтын машина номерінен аем болады, егер X   Y-тен озса. Қандай да бір операция қандай да бір машинамен іске асады, бұл барлық машина бірдей дегенді білдіреді. Жасанды жүйе типінде әр операция қандай да бір белгіленген машинамен іске асады. Бұларды классификациялауда A/B/C/D/ жазбасы қолданылады:
* A жұмыстың түсу процесін мінездейді. Динамикалық тапсырмаларға А өз алдына тапсырмалар арасындағы уақытты бөлудге көмектеседі. Статистикалық тапсырмаларға А бір мезгілде түскен жұмыстарды белгілейді. Егер бұл жайында жайында ешнәрсе айтылмаса. Егер А-ның орнында n тұрса жасаушы дегенді білдіреді;
* B машиналардың жұмыс атқаруын қарастырады. Егер В-ның орнында m болса, онда бұл машиналардың санын көрсетеді.
* С  машиналардың жұмыс атқарудағы дұрыстығын қарастырады. Егер С-ның орнында F тұрса, онда бұл конвейерлік жүйеге сәйкес болады: егер R  -  сиректік болса.
* D тізімнің бағасын көрсетеді. Көрсетілгендерге мысал: n/2/F/Fmax деген  n жұмыстарын қалпына келтіру керек дегенді білдіреді.
Бұның ортақ жапсырмасы: n/m/G/Fmax деп беріледі.
Сабақ кестесінің бағалық критериі.
Үлкендіктерін осыдан кейін сабақ кестесінің бағалық критериі деп қарастырайық және олардың арасындағы қатынастарды да. Алдымен жұмыстың шығыны мен кірісін есептеп алу керек. Бірінші специфика арқылы жұмысты іске асырады, екінші, кесте құрудың нәтижесі ретінде. Бұл айырмашылықты сызу үшін, бұл үлкендіктерді анықтауда латын әріптері қолданылады, ал екіншісінде жазбалар.
Сабақ кестесінің шешімдерін информатика және есептеу техникасында пайдаланудың кейбір қолдану түрлері
* Үлкен ақпараттық жүйенің жұмысын ұйымдастыру  -  мәліметтерді паралельді өңдеуде аппаратты-бағдарламалық комплекс құру (МРР жалпы паралельдік жүйе);
* Процессорлардың жаңартылған микроархитектураларында (Р6 процессорының бірден-бір ерекшелігі  -  диспетчер\ұйымдастыру блогының болуы, ол субъектілердің микрооперацияларын ұйымдастыруда олардың мәліметтер арасындағы қатынастан және олардың жеке ресурстарына қарап кестесін жобалау) болуы;
* ПО ұжымдық жұмысты ұйымдастыруды жасау (жобаларды басқару).

Кексте теориясындағы есептерді шешу түрлері
Сабақ кестесі теориясының <<Уақытша>> характер тапсырмалары оны <<Ауқымды>> экономикалық есептерден ерекшелеп Айрықша топқа бөледі. Егер не және қанша деген сұраққа жауап беру керек болса, онда кесте теориясының есептерінде қашан және қандай ретпен жұмыстың орындалуын анықтау керек. Осы ерекшеліктен есеп шешімін табу түрін анықтайды және  мүмкіндіктерін анықтайды. Және сәйкесіншематематикалық программасын шешу үшін жақсы апараттың болуы тиіс, дәлірек айтқанда компьютермен оның шешімін тездетуге болады.
Қойылған есептің оптималды шешімін табудың 4 түрі  қалыптасқан:
- математикалық программалау
- комбинаторлық
- эвристикалық
- статистикалық.
Бақылау сұрақтары:
* Кесте құру теориясының басты мағынасы не?
* Әр операция қалай мінезделеді?
* Жұмыстар дегеніміз не?
* Машина дегеніміз не?
* Тапсырманың технологиялық тізбегінің классификациясын атап шық?
* Конвейерлік жүйе деген не?


4-ДӘРІС. Сұраныстар мен сақтаулы процедуралар параметрлері. 

Қарастырылатын сұрақтар: 
* TParams класы. 
* Tparam класы. 
* Мәліметтер жиынтығының қалпы.


SQL (Structured Query Language)-бұл құрылымдық сұранымдар тілінің қысқартылған атауы, реляциялық МҚ-да мәліметтерді құру және өңдеу құралдарын береді. Компьютерлік технологиялардан ерекшелігінен тәуелсіздігі, және SQL-ді реляциялық мәліметтер қорының технологиясы облысындағы өндіріс жетекшілерімен қолдауы оны МҚ стандартты тіліне айландырды. 
Қарастырылып отырған SQL тілі логикалық байланысқан кесте-қатынастар жиынтығы түрінде берілген мәліметтермен операциялар жүргізуге бағытталған. Осы тілдің құрылымының ерекшелігі өңдеу процедурасына емес, мәліметтерді өңдеудің соңғы нәтижесіне бағытталуында. SQL мәліметтердің, индекстердің  қайда орналасқанын, және нәтиже алу үшін қандай операциялар тізбегін пайдалану керектігін өзі анықтайды, сондықтан бұларды МҚ-на сұранымдарда көрсетудің қажеті жоқ. 
Реляциялы МҚ теориясының пайда болуы екі кластарға бөлуге болатын, сұранымдар тілінің қатарын өндіруге түрткі болды:
* Қатынастарға қолданылатын, сұранымдарды арнайы операторлармен бейнелеуге мүмкіндік беретін алгебралық тілдер;
* Предикаттарды санау тілдері, берілген қатынастар жиынтығынан жаңа қатынасты анықтайтын, ережелер жиынтығы. Яғни, МҚ-ғы сұранымға жауап ретінде алынатын қатынастарды анықтау әдісі.

	SQL -командаларының типтері. Әдетте SQL -тілінің командалары бірнеше топқа бөлінеді. Командалардың негізгі типтері келесідей:
* DDL(Data Definition Language )- мәліметтердің  анықталу тілі. Бұл топтың командалары мәліметтер қорының объектілерінің құрылымын құру және өзгерту(мысалы, кестелерді құру және жою үшін) үшін пайдаланылады.
* DML(Data Manipulation Language)- мәліметтердә басқару (манипуляция) тілі. DMLкомандалары мәліметтер қоры объектілеріндегі ақпараттарды басқару үшін пайдаланылады. 
* DCL (Data Control Language)-мәліметтерді басқару тілі. Сәйкес командалар мәліметтер қорында сақталған ақпаратқа кіруді басқаруға арналған. 
* DQL (Data Query Language)-тілі. Бұл жиі қолданылатын командалар, мәліиеттер қорына сұранымды құруға арналған.(Сұраным дегеніміз сәйкес ақпаратты алу мақсатында мәліметтер қорына хабарласу. 
* Мәліметтер қорын администрациялау командалары әрекеттердің орындалуына бақылауды жүзеге асыру және өндірілетін операцияларыды анализдеуге арналған. 

	SQL  мәліметтерінің типі. Стандартты SQL- де пайдаланылатын мәліметтер типтерін келесі топтарға бөлуге болады:
* Жолдық типтер;
* Сандық типтер;
* Дата мен уақытты көрсетуге арналған типтар.
Бұл типтердің нақтырақ сипаттамасы. 
	Жолдық типтер. SQL-де екі жолдық типтер анықталған:
* Белгіленген ұзындықты символдық жолдар;
* Айнымалы ұзындықты символдық жолдар.

	Белгіленген ұзындықты символдық жолдар. Белгіленген ұзындықты символдық жолдар түрінде сақталған мәліметтер, өріске енгізілгенжолдың нақты өлшемінен тәуелсіз, жадының бір ғана көлемін алады. ANSI-SQL-92-ге сәйкес белгіленген ұзындықты символдық жолдарды хабарлау түрі келесідей:
Character(n)
	Мұндағы n бұл хабарлау қатысты болатын өріс өлшемін анықтайтын жол ұзындығы.
	Белгіленген ұзындықты жолдарды пайдаланғанда , әдетте, бос жолдар пробелдармен толтырылады. Мысалы, егер өлшемі    10 тең өріс беріліп, ал оған 3 символдан тұратын жол енгізілсе, онда 7 символ пробелдармен толтырылады.
	Айнымалы ұзындықты символдық жолдар. Айнымалы ұзындықты жолдың ұзындығы барлық мәліметтер үшін тұрақты емес, ол мәліметтер қорының кестесі өрісінде сақталған жолдың нақты өлшеміне тәуелді. Айнымалы ұзындықты жолды хабарлау келесі түрде болады:
Varchar(n)
n-максималды мүмкіндікті жолды анықтайтын сан.
	Character типінен айырмашылығы Varchar пайдалану дискідегі кеңістікті үнемді шығындауды қамтамасыз етеді. Хабарландыруда көрсетілген жол өлшеміне қарамастан, өріс, енгізілген ақпаратты сақтауға қанша орын қажет болса, сонша алады. Мысалы, егер Varchar(10) өрісі хабарланып және оған 3 символдан тұратын жол енгізілсе, онда бұл жолды сақтау үшін белгіленген ұзындықты жол жағдайындағы сияқты 10 емес, 3 байт қана пайдаланылады.

	Сандық типтер. Сандық типтер былай бөлінеді:
* Бүтін санды типтер;
* Белгіленген нүктелі заттық типтер;
* Жүзуші нүктелі заттық типтер;
* Белгіленген және айнымалы ұзындықты екілік жолдар;

	Бүтін санды типтер. ANSI SQL стандартымен екі бүтін санды типтер орнатылады:
* INTEGER-4 байтты пайдаланатын таңбалы бүтін сан. 2147483648-ден 2147483647-ге дейінгі диапазондағы сандарды бере алады;
SMALLINT - 2 байтты пайдалантын таңбалы қысқа бүтін сан. 32768-ден 32647-ге дейінгі диапазондағы бүтін сандарды бере алады.
Бақылау сұрақтары: 
* SQL (Structured Query Language)-ге анықтама бер?
* Әдетте SQL -тілінің командалары неше типке бөлінеді, атап шық?
* Жолдық типтер туралы атап бер?
* Белгіленген ұзындықты символдық жолдар деген не?
* Айнымалы ұзындықты символдық жолдар деген не?
* Сандық типтер туралы айтып бер?
 
Әдебиеттер: 

* Бидайбеков Е.Ы., Елубаев К., Шекербекова Ш.Т. Мәліметтер қоры және ақпараттық жүйелер. Алматы., 2010.
* Золотова С.И. Практикум по Access. Финансы и статистика, Москва, 2000.
* Джулия Келли. Самоучитель Access 97. Питер. Санкт-Петербург, 2000.
* Робинсон С. Access 2000. Учебный курс. 


5-ДӘРІС. Өрістер мен мәліметтер типтері. 

Қарастырылатын сұрақтар:

* Өріс обьектілері. 
* Статикалық және динамикалық өрістер. 
* TField класы. 
* Өріс түрлері. 
* Есептелінетін өрістер. 
* Ішкі есептелінетін өрістер. 
* Агрегатты өрістер. 
* Обьектілік өрістер. 
* Мәліметтер итиптері. 
* Шектеулер.


SQL сұраныстары үлкен көлемді мәліметтермен жылдам жұмыс істеуге мүмкіндік береді. SQL тілі  -  бұл мәліметтер қорына сұраныстар тілі. SQL-дің аудармасы Құрылымданған Сұраныстар Тілі. SQL-сұраныстардың көмегімен реляциялық мәліметтер қорын құруға және олармен жұмыс істеуге болады. Бұл тіл стандарт ретінде қабылданған, сондықтан, егер сіз мәліметтер қорымен жұмыс істегіңіз келсе, осы тілді жақсы білуіңіз керек.
SQL Америкалық ұлттық стандарттар институтымен және стандарттау бойынша халықаралық ұйыммен (ISO) анықталған.
Реляциялық мәліметтер қорының (РМҚ) не екенін еске түсірейік. РМҚ дегеніміз  -  бағандар ретінде мәліметтер өрістері алынған, ал әрбір жолы мәліметтер сақтайтын кесте. Әрбір кестеде жолды бірмәнді индентификациялайтын бір бірегей өріс болуы керек. Бұл кілттік өріс деп аталады. Бұл өрістер көбінесе кестелерді байланыстару үшін және әрбір жазбаның бірегейлігін қамтамасыз ету үшін қолданылады. Егер кесте байланыспаған болса да, кілттік өріс міндетті түрде болуы керек.
SQL екі типті бола алады: интерактивті және кіріктірілген (вложенные). Біріншісі  -  бұл жеке тіл, ол сұраныстарды өзі орындайды және бірден жұмыс нәтижесін көрсетеді. Екіншісі  -  бұл SQL-тіл басқа, мысалы, C++ немесе Delphi-дің ішіне кіріктірілген жағдай.
Интерактивті SQL стандарттыға анағұрлым жақын, ал кіріктірілген тілде ауытқулар мен қосымшалар көптеп кездеседі. Мысалы, стандартты SQL-де мәліметтердің екі типі ғана айрықшаланады: жолдар және сандар, бірақ кейбір өндірушілер өздерінің типтерін қосады (Data, Time, Binary және т.б.). SQL-де сандар екі типке бөлінеді: бүтін  -  integer (int) және бөлшек  -  decimal (dec). Жолдар 254 символ өлшеммен шектелген.
              TADOTable компонентінің қасиеті
TADOTable компонентінің көптеген пайдалы қасиеттері бар. Олардың көпшілігі қарапайым қолданылады. Осы қасиеттерінің негізгілерін қарастырайық.
* MasterSource  -  бұл қасиетте ағымдағыға қатысты негізгі кесте көрсетіледі. Бұл қасиетті байланысқан кестелермен жұмыс істегенде толық қарастырамыз.
* Readonly  -  бұл қасиеттің мәні true болса, онда кестені өңдеуге болмайды. Бұл жағдайда мәліметтер тек бейнеленеді. Өзгертілмейтін , яғни пайдаланушы өзгеріс енгізбеуге тиіс кестелерге осы қасиеттеі міндетті түрде орнату керек. 
* TableDirect  -  бұл қасиет кестеге қалай қатынас жасалатынын бейнелейді. Егер бұл параметр true болса, онда кестеге атауы бойынша тура қатынас жасалынады. Егер false болса, онда сізге білінбей мәліметтер қорына арнайы SQL-сұраныс жүргізіледі. Барлық мәліметтер қорлары тура қатынас арқылы жұмыс істеуге мүмкіндік бере бермейді, сондықтан бұл қасиеттің мәні үнсіз келісім бойынша false болады. 
* TableName  -  мәліметтерін өңдейтін кестенің атауы. 
* Cachesize  -  кэш-жадының көлемі. Егер бұл жерге 50 санын орнатсақ, онда кестеге алғаш қосылғанда бірінші 50 жолды таңдап, оларды локальды жадыға орналастырады, бұл оларға қатынасты жеделдетеді. Қалған жолдар серверден қажетінше жүктеледі.
* CanModify  -  бұл қасиет  Readonly қасиетіне ұқсас және кесте мәліметтерін өңдеу мүмкіндігін көрсетеді.
* CommandTimeout  -  команданың орындалуын тосу уақыты. Егер компонент мәліметтер қорына команда бағыттаса, ол күту таймерін іске қосады, егер команда орындалмаған жағдайда, күту таймері аяқталған соң қателік туралы хабарлама шығарылады. 
* Connection  -  бұл жерде қосылу жүзеге асатын TADOConnection компонентті көрсетіледі.
* Connectionstring  -  мәліметтер қорына қосылу жолы.
* CursorLocation  -  кестедегі мәліметтерді оқып, ағымдағы позицияны көрсететін курсордың орналасуы. Курсор серверде немесе клиенттің машинасында тұруы мүмкін.
* CursorType  -  курсордың типі. Бұл жерде келесі нұсқалардың біреуі мүмкін болады:
* ctUnspecified  -  курсордың орны көрсетілмеген.
* ctOpenForwardOnly  -  курсор тек алға жылжи алады.
* ctKeyset  -  бұл кестеге қосылған бір қолданушының өзгерісі басқаларына көрінбейді.
* ctDynamic  -  динамикалық курсор, мұнда бір қолданушының өзгерісін қалғандары көре алады.
* сtstatic  -  статикалық курсор, мұнда бір қолданушының өзгерісін қалғандары көре алмайды.
    o Filter  -  фильтр жолы.
    o Filtered  -  кесте фильтрленетін кесте болып табылама. Егер false  орнатсақ, онда фильтр жолы есепке алынбайды.
    o IndexFieldNames  -  индекстелген баған атауы. Индекстер мәліметтерді сұрыптау үшін және кестелер арасында байланыс үшін қолданылады.
    o RecNo  -  ағымдағы ерекшеленген жолдың номері.
    o RecordCount  -  кестедегі жолдар саны.
    o Sort  -  сұрыптау типі көрсетілетін жол. Мысалы, Телефон өрісі бойынша сұрыптау үшін келесі жолды жазу керек: ADOQuery1.Sort:='Телефон ASC'. ASC операторы өсу ретімен сұрыптау керектігін көрсетеді. DESC операторы кему ретімен сұрыптауды көрсетеді.
    o Active  -  егер бұл қасиет True болса, онда кесте ашық тұр.
    o AggFields  -  мұнда барлық агрегаттық өрістер сақталынып тұр. 
    o AutoCalcFields  -  егер мұнда болса, онда өрістерді автоматты түрде санау керек.
    o Bof  -  бұл қасиетке әсер етуге болмайды, егер ол True болса, онда онда біз файлдың басында тұрмыз.
    o FieldCount  -  мұнда кестедегі өрістердің саны сақталады.
    o Fields  -  бұл өріс арқылы басқа өрістердің мәндеріне қатынас жасауға болады. Айталық сізге 4-ші өрісте қандай мән тұрғаны қажет, ол үшін келесідей жазу керек: Table.Fields.Fields[4].AsString. AsString әдісі мәнді жол түрінде алу қажеттігін көрсетеді.
    o FieldValues  -  бұл қасиеттің көмегімен көрсетілген өрістің кез-келген мәніне оңай қатынас жасауға болады. Өріс атауын тік жақшада көрсету керек. Мысалы, Table1.FieldValues[`Телефон']:='3346598';.
    o FilterOption  -  фильтр баптауы. Мұнда келесі параметрлерді көрсетуге болады:
* FoCaseInsensitive  -  фильтр регистрге сезімтал емес.
* foNoPartialCompare  -  егер осы параметр тұрса, онда салыстыру филтрде көрсетілген мәннің тура көшірмесімен жүргізіледі.
    o  Modified  -  егер бұл қасиет True болса, онда кестеге өзгерістер енгізілген.
                                       
             TADOTable компонентінің әдістері
Енді осы компоненттің әдістерін қарастырайық.
* BookmarkValid  -  бұл әдіс қалташалардың дұрыстығын тексереді. Жалғыз параметр ретінде TBookmark типті қалташаны көрсету керек, егер ол <<шынайы>> болса, онда нәтиже True болады.
* CancelUpdates  -  кэш жадыда сақталған жаңалауды қайтару.
* CompareBookmarks - екі қалташаны салыстыру. Бұл әдісте Tbookmark типті екі параметр бар. Бұл екі қалташа салыстырылады. Егер қалташалар тең болса, онда нәтиже 0-ге тең, егер біріншісі екіншісінен кіші болса, нәтиже -1 болады, егер біріншісі екіншісінен үлкен болса, нәтиже 1 болады.
* DeleteRecords  -  жазбаларды жою. Әдісте қай жазбаларды жою қажеттігін анықтайтын бір параметр бар. Сіз келесі мәндерін көрсетуіңізге болады:
* ArCurrent  -  ағымдағы жазбаны ғана жою;
* arFiltered  -  орнатылған фильтрді қанағаттандыратын жазбаларды жою;
* arAll  -  барлық жазбаны жою;
* arAllChapters  -  барлық ADO тарауларындағы жазбаларды жою.
* Append  -  кесте соңына жаңа жазба қосу.
* Cancel  -  егер енгізілген өзгерістер әлі Post әдісінің көмегімен сақталмаған болса, ағымдағы жолдағы өзгертуді қайтару.
* Close  -  кестені жабу.
* Delete  -  ағымдағы жолды жою.
* Edit - өңдеу режіміне өту. Осыдан кейін өріс мәндерін өзгертуге болады.
* FieldByName - өрісті атауы бойынша табу. Жалғыз параметр ретінде жол түрінде өріс атауын көрсету керек, және де нәтижесінде ТField объектісі түріндегі өріске сілтеме аламыз.
* First  -  кестедегі бірінші жолға өту.
* Insert  -  кестеге жаңа жол қою.
* IsEmpty  -  егер әдіс True  мәнін берсе, онда кестеде жазбалар жоқ.
* Last  -  кестедегі соңғы жазбаға өту.
* Next  -  келесі жазбаға өту.
* Post  -  барлық өзгерістерді қабылдау.
* Prior  -  Кестедегі алдыңғы жазбаға жылжу.
* ReFresh  -  мәліметтер туралы ақпаратты жаңалау.
* UpdateRecord  -  Ағымдағы жазбаны жаңалау.
Бақылау сұрақтары: 
* TADOTable компоненті не үшін қажет?
* TADOTable компонентінің қасиеттерін атап шық?
* TADOTable компонентінің әдістерін ата?


6-ДӘРІС. Мәліметтерді басқару механизмдері. 

Қарастырылатын  сұрақтар:

* Байланысқан кестелер. 
* <<Біреуі-көбіне>> қатынасы. 
* <<Көбі  - көбіне>> қатынасы. 

Пайдаланушылардың мәліметтер қорының көмегімен шешетін міндеттері, әдетте, қоршаған болмыспен, осы болмыстың нақты нысандарымен байланысты болады. Сондықтан мәліметтер қорын әзірлеуге кіріскен кезде пайдаланушылардың жасалып жатқан мәліметтер қорына қоятын талаптарына қатысты нысандардың табиғатын зерттеп шығу қажет. 
Пайдаланушылардың жасалып жатқан мәліметтер қорына қоятын талаптарын көрсететін объектілердің жиынтығын модель деп атайық. Осылайша, модель қойылған міндетті шешу үшін болмыстың қажетті кейіптемесін береді. Әрине, модель пайдаланушылардың талаптарын дәл бейнелеуі тиіс, онда қойылған міндетті шешуге қажетті объектілер ғана болуы тиіс, онда сол міндетке керек емес нысандар болмауы керек. Сондықтан мәліметтер қорын жобалау мен жасау кезінде модельді қалыптастыру процесі маңызды роль атқарады. Егер бұл процесс тиісті деңгейде орындалатын болса, онда модель міндеттерді дұрыс шешу көзіне айналады. Әзірленген модель тұғырнамалық модель деп аталады. Мәліметтердің тұғырнамалық моделі сонымен қатар семантикалық модель деп те аталады, себебі ол нақты әлемдегі заттардың мәндерін белгілеп отырады. Тұғырнамалық модельдің басты элементтері объектілер мен қатынастар болып табылады. 
Модельдегі міндетті шешу үшін қажетті нақты әлемнің категорияларын бейнелейтін нысандар нақты заттар (физикалық нысандар), сондай-ақ абстрактілі (тұғырнамалық) заттар болуы мүмкін. Нақты нысандардың мысалдары адамдар, машиналар, ағаштар, кітаптар, құрылыстар және т.б. болып табылады. Компаниялар, іскерлік әрекеттер, білімдер, дағдылар және т.б.  -  бұл абстрактілі нысандар. Бір нысанға көптеген бір типті элементтер жиыны біріктіріледі, ол объектілі жиын деп аталады. Жобалау барысында объектілі жиындарды нақтылау мен қорытындылау қажеттілігі туындайды. Мысалы, келесі суретте (1.9-сурет) <<Заңды тұлға>> және <<Жеке тұлға>> деген объектілі жиындар <<Клиент>> объектілі жиынының нақтылануы болып табылады. 

Клиент
                             Заңды тұлға
                              Жеке тұлға
нақтылау







       1.9-сурет. Объектілі жиынды нақтылау

Жалпы жағдайда, нақтылау дегеніміз  -  бұл басқа объектілі жиынның ішкі жиыны болып табылатын объектілі жиын. 
Қорытындылау дегеніміз  - бұл нақтылауға кері келетін процесс және ол өз құрамында өзге объектілі жиындарды қамтитын объектілі жиын болып табылады. 
Тұғырнамалық модельдің басқа элементі қатынас болып табылады. Қатынас екі объектілі жиынды байланыстырады. Қатынас бір объектілі жиынның элементі мен басқа объектілі жиынның элементінен тұратын жұптарды құрайды. Осылайша, қатынас бастапқы объектілі жиындардың сәйкес элементтерінен көптеген жұптарды құрайды. Қатынастың өзі құрамдас деп аталатын объектілі жиын болып табылады. Қатынас көбінесе етістік арқылы беріледі. Мысалы, <<еркек>> және <<әйел>> деген объектілі жиындар <<неке құрған>> деген қатынаспен байланыстырылуы мүмкін және сол арқылы <<жанұялық жұп>> деген құрамдас жиынды құрайды. Құрамдас жиын келесі суретте (1.10-сурет) көрсетілгендей өзге объектілі жиынмен байланыстырылуы мүмкін. 


еркек
                                   әйел
неке құрған
жанұялық жұп
                                  адрес
тұрады







    1.10-сурет. Құрамдас жиынды байланыстыру

Қатынас бір объектілі жиынның басқа объектілі жиынның бір элементімен байланысқан элементтерінің санын көрсететін қуаттылығымен сипатталады. Ең төмен және ең жоғары қуаттылықтар болады. Мысалы, <<неке құрған>> қатынасының ең жоғары қуаттылығы әрбір бағытта 1-ге тең, басқаша айтқанда 1.11-суретте көрсетілгендей әрбір еркек тек бір ғана әйелмен неке құра алады және, керісінше, әрбір әйел тек бір ғана еркекпен неке құра алады (1.11-сурет).
еркек
                                   әйел
1        неке құрған              1




           1.11-сурет. Бірдің-бірге қатынасы
                                       
Ең төмен қуаттылық бұл мысалда 0-ге тең. Қуаттылығы екі бағытта да 1-ге тең болатын қатынас бірдің-бірге қатынасы деп аталады. Егер бір бағыттағы қатынастың қуаттылығы 1-ге тең болса, ал екіншісінде  -  көп болса, онда мұндай қатынас бірдің-көпке қатынасы деп аталады. Келесі суретте (1.12-сурет) бірдің-көпке қатынасы көрсетілген. 



қызметкерлер
                                  бөлім
М             жұмыс істейді         1



           1.12-сурет. Бірдің-көпке қатынасы
                                       
Келесі суретте (1.13-сурет) көптің-көпке қатынасы көрсетілген, 
студенттер
                                   курс
М        тыңдайды             М




           1.13-сурет. Көптің-көпке қатынасы
                                       
Бұл жағдайда студент көп курстарға қатысады, және бір курсқа көптеген студенттер қатысады. 
Бинарлық және n-дік қатынастарға бөлінеді. Бинарлық қатынастар дегеніміз  -  бұл екі объектілі жиындардың арасындағы қатынастар. Жоғары ретті қатынастар немесе n-дік қатынастар дегеніміз  -  бұл үш және одан да көп объектілі жиындардың арасындағы қатынастар. Мысалы, келесі суретте (1.14-сурет) 





Тұрмыстық аспаптар заводы
                              шаңсорғыш
                      Кір жуу машиналары
                               өндіреді







                1.14-сурет. n-дік қатынастар
<<тұрмыстық аспаптар заводы>>, <<шаңсорғыш>> және <<кір жуу машиналар>> деген объектілі жиындар <<өндіреді>> деген қатынаспен байланысқан. 
Объектілі жиынның элементтері атрибуттардың қандайда бір саңына ие болады. Мысалы, адамның есімі, туған күні, жынысы, мекен-жайы және т.б. мәліметтер болады. Жалпы жағдайда атрибут бір объектінің екінші объектіге функционалдық қатынасын анықтайды, яғни олар өзара атрибуттар жиынтығымен ажыратылады. 
Атрибуттың мәні объектілі жиынның әрбір элементі үшін бір мәнді анықталған. Егер ол анықталмаған болса, онда сол элементке арналған атрибут бос мәнге ие болады. 
Бір элементке арналған атрибуттардың мәндері, мысалы, жасы, мекен-жайы және т.б. өзгеріп отыруы мүмкін. Сол себептен мәндері өзгермейтін атрибуттарды білген маңызды, себебі оларды кілт ретінде пайдалануға болады. 
Егер де нысан басқа нысанның нақтыламасы болып табылса, осы нақтыланған нысан жалпылама нысанның барлық атрибуттары мен қатынастарын мұраға алады. Сонымен қатар, нақтыланған нысанның өз атрибуттары пайда болуы мүмкін. Мысалы, келесі суретте (1.15-сурет) нақтыланған нысан <<үйленген>>, компанияда жұмыс істейді, яғни <<жұмыс істейді>> қатынасын мұраға алады, сонымен қатар <<адам>> жалпылама объектісінің барлық атрибуттарын (есімі, мекен-жайы, туған жылы) мұраға алады, және өзіндік <<зайыбы>> атрибуты болады. 






компания
                                   адам
Жұмыс істейді
                                 бойдақ
                               үйленген
нақтылау
Есімі
Мекен-жайы 
Туған жылы
зайыбы












1.15-сурет. Атрибуттар мен қатынастарды мұраға алу
                                       
Қомақты мәліметтердің қорын жобалау кезінде  жасаушылардың әртүрлі топтары қатыстырылуы мүмкін, олар мәліметтердің жалпы қорының шектелген бөлігінің кейіптемесі болып табылатын мәліметтердің бірнеше моделін құрайды. Бұл модельдерді мәліметтердің бір ғана тұғырнамалық моделіне біріктіру қажеттілігі туындайды. Модельдерді біріктіру процесіне артық, қайталана беретін объектілі жиындарды, қатынастар мен атрибуттарды жою, сондай-ақ мәліметтердің кейіптемесін анықтайтын жаңа қатынастарды анықтау арқылы анықтау жатады. 

Бақылау сұрақтары:
* Мәліметтер қорының құрылымы мәліметтердің берілуінің қай деңгейінде сипатталады?
* Мәліметтердің берілуінің қандай деңгейі тасымалдағыштағы мәліметтердің орналасу тәсіліне сәйкес?
* МҚ берілуінің қанша деңгейі бар?
* Пайдаланушы деңгейінде мәліметтер қоры қандай түрге ие болады?


Әдебиеттер:
* Бидайбеков Е.Ы., Елубаев К., Шекербекова Ш.Т. Мәліметтер қоры және ақпараттық жүйелер. Алматы., 2010.
* Глушаков С.В., Ломотько Д.В. Базы данных.-Харковь: Фолио; М.:ООО <<Издательство АСТ>>, 2002.
* Хомоненко А. Д., Цыганков В. М., Мальцев М. Г. Базы данных. Учебник для высших учебных заведений. Под редакцией проф. А. Д. Хомоненко.  -  Санкт-Петербург: <<КОРОНА принт>>, 2000 г



7-ДӘРІС. Мәліметтерді іздеу. 

Қарастырылатын сұрақтар:

* Индекс бойынша іздеу. 
* Диапазонда іздеу. 
* Іздеу фильтрлер.

Мәліметтер қорының объектісі дегеніміз мәліметтер қорында анықталған және ақпаратты сақтауда немесе ақпаратқа хабарласуда пайдаланылатын кез-келген объект. Мәліметтер қорының объектісінің мысалдары ретінде кестелер, ұсыныстар мен индекстер қызмет етеді.
Мәліметтер қорының объектілерін басқару үшін SQLтілінің  DDL командаларының жиындары пайдаланылады.
	Кестелерді құру, түрлендіру және жою. Кесте, ақпаратты реляционды мәліметтер қорында сақтаудың негізгі объектісі болып келеді. Кестені құруда міндетті түрде кестедегі өріс аты, және өрістерге сәйкес мәліметтер типі көрсетіледі. Сондай-ақ, кестені құру кезінде өрістер үшін үндемей қабылданатын шекаралық шарттар мен мәндер ескертілуі мүмкін.
Шектік шарттар- мәліметтер қорының кестесінің өрісінде шама мәнін шектейтін ереже. 
Үндемей қабылданатын мәндер- жаңа жазу қосқанда, егер пайдаланушы осы өрістің мәнін көрсетпесе, мәліметтер қорының кестесінің өрісіне автоматты түрде енгізілетін шама.
	CREATE TABLE операторы. Кестені құру үшін CREATE TABLE операторы пайдаланылады. Бұл оператордың синтаксисі келесі түрде болады:
CREATE TABLE кесте_аты (
Өріс_аты_1 мәлімет_типі.
Өріс_аты_2 мәлімет_типі.
_
өріс_аты_N мәлімет_типі)
Мысал, ЖЕКЕ АДАМДАР кестесін құру операторы мына түрде болады:
CREATE TABLE STUDENTS
SNUM INTEGER.
SIMA CHAR (25).
SFAM CHAR (25).
SOTCH CHAR (25).
SROZH DATE.
SADR CHAR (25).
STEL VARCHAR (25).

	Шектеулерді беру. Шектеулер мәліметтер қорындағы ақпараттың сенімдігі мен қайшылығын қамтамасыз ету үшін пайдаланылады. Әртүрлі текті шектеулерлің көп саны бар, солардың тек негізгілерін ғана қарастырамыз:
* NOT NULL шектеуі;
* Бірінші кілт шектеуі;
* UNOQUE шектеуі;
* Сыртқы кілт шектеуі;
* CHECK шектеуі.

	Индекстарды құру және жою. Қазіргі кезде ANSI стандарты индекстарды қолдамайды. Сонда да индекстар барлық мәліметтер қорында кең қолданылады, сондықтан олармен жұмысты назардан тыс қалдыруға болмайды.
Индексті құру операторының синтаксисі пайдаланылатын SQL таратуына қарай өзгешеленуі мүмкін. Индексті құру командасының келесі синтаксистік формасы жиі кездеседі:
CREATE INDEX индекс_аты
ОN кесте_аты (өріс_аты_1.[өріс_аты_2...])
	Қарапайым индекс құру. Қарапайым индекс индекстардың өте қарапайым және сонымен қатар кең таралған түрі болып табылады. Қарапайым индекс кестенің бір ғана өрісінен (бағанынан) түрады. Сондықтан оны көбінде бірбағандық индекс деп атайды. 
Қарапайым индекс құру командасының типтік синтаксисі келесідей:
CREATE INDEX индекс_аты
ОN кесте_аты (баған_аты)
Мысалы, СТУДЕНТТЕР кестесі үшін келесі оператор көмегімен, студенттер фамилиясынан тұратын өріс бойынша индекс құруға болар еді:
CREATE INDEX NAME_IDX
ОN Жеке_адам (Фамилия)
Керемет индекстер (уникальный). Керемет индекстер кестеге қайталанатын мәндердің енгізілуін болдырмайды. Сонымен, керемет индекстер өнімділігін жоғарылату мақсатында ғана емес, мәліметтердің тұтастығын қолдау үшін де пайдаланылады.
Керемет индекстерді құру операторының типтік синтаксисі келесі түрде болады:
CREATE UNIQUE INDEX  индекс_аты
ON кесте_аты (өріс_аты)
Мысалы, ҚЫЗМЕТІ кестесі үшін келесі команданың көмегімен "Қызметі" өрісі бойынша керемет индекс құруға болады:
CREATE UNIQUE INDEX  POST_IDX
ON Lқызметі (Қызметі)
	Құрамдас индекстер. Құрамдас деп екі немесе одан да көп өрістер бойынша құрылған индекстерді айтады. Құрылған индексті қарағанда, құрылған индексте өрістердің тізбектелу реті мәліметті іздеу жылдамдығына әсер ететінін ескеру қажет. Жалпы жағдайда индексте өрістерді шектеу мәндерінің азаю ретімен орналастырған жөн. 
Құрылған индексті беру синтаксисі жалпы түрде келесідей:
CREATE INDEX индекс_аты
ОN кесте_аты (өріс_аты_1, өріс_аты_2...)
	Біздің мысалымызда СТУДЕНТТЕР кестесінің "Фамилиясы" және "Аты" өрістері үшін құрылған индекстарды құрудың мағынасы бар. Мұндай индекс құру операторының түрі келесідей:
CREATE INDEX FULLNAME_IDX
ON Жеке_адам (фамилиясы, аты)
	Индекстарды жою. Индекстарды жою ешқандай қиындық туғызбайды.Жою үшін индекс атын білу қажет. Индексты жою операторының синтаксисі келесі түрде болады:
DROP INDEX индекс_аты
Индексті жою индекстелген өрістерге еш әсер етпейді. Жоюдан кейін индекс қайтадан құрылуы мүмкін.

Бақылау сұрақтары:
* Мәліметтер қорының объектісі деген не?
* Шектік шарттарды не үшін қолданады?
* CREATE TABLE операторы туралы айтып бер?
* Шектеулерді беруне үшін керек? 
* Индекстарды құру және жою амалы қалай жүргізіледі?
* Қарапайым индексті қалай құрады? 
* Құрамдас индекстерді қалай құрады? 
* Индекстарды жоюды қалай жүзеге асырады? 



8-ДӘРІС. Мәліметтерді бейнелеу компоненттері.  

Қарастырылатын сұрақтар:

* Мәліметтерді бейнелеу компоненттерін топтау.  
* Мәліметтерді кесте түрінде көрсету.  
* Мәліметтерді жиынтығымен жылжу. 
* Жеке өрістерді көрсету. 
* Мәліметтерді синхронды көру.  
* Мәліметтерді графикалық көрсету. 


   
Мәліметтер көзі. МҚБЖ-нің экрандық элементтері Windows-тің қарапайым басқару элементтеріне ұқсайды. Олар кестенің өрістеріндегі мәліметтерді өңдеуге арналған. Оны TADOTable компонентіне бірден қосуға болады. Бірақ Delphi7 жүйесінде орталық деңгейде қолданылатын TDataSource(Мәліметтер көзі) компоненті құрылған.
Мәліметтер жиыны
	Паскаль-да мәліметтер қорындағы ақпарат TDataSet 	класымен анықталады. Оның негізінде TADOTable компоненті құрастырылған. Осы компонент көмегімен жаңа жазуларды енгізу өте ыңғайлы.
	Мәліметтер жиыны TDataSet-пен жұмыс істеу кезінде мәліметтер жиынының көрсеткіші деген ұғым қолданылады. Ол қазіргі моментте қай жазудың қолданыста екенін көрсетеді. TDBGrid кестелерімен жұмыс істегенде кез келген уақытта тек қана бір жазуды өңдеуге болады. Кестеде жұлдызшамен белгіленеді және қолданыстағы болып есептеледі. 
	Мәліметтер кестесі (TDBGrid) компоненті.	Кестедеге мәліметті енгізу, өңдеу, өшіру үшін программалық код жазудың қажеті жоқ. Бар жоғы DataControls(Мәліметтерді басқару элементтері) панелінің TDBGrid компонентін қалып үстіне орнатса болғаны. Оның DataSourse қасиетінде қажетті мәліметтер көзін таңдау керек.
	Навигатор компоненті (TDBNavigator). Бұл компонент DataSourse қасиеті арқылы TDBGrid байланысады. Бұл қасиеті бәрінде бірдей болатынын қадағалау керек. Навигатор көмегімен сіз кестеде алдыға, артқа, басына және аяғына, кестедегі жазылған мәліметтер мен жұмыс істеуге толықтыра айтқанда жолды өшіруге, қосуға және мәліметтерді сақтауға арналған.
Бұл компонентті олардың батырмасына тышқанның сол жақ батырмасымен бір рет басқанда іске қосылады. Ол батырмалар онда 10:
First  -  бірінші жазуға (жолдағы) бару
Prior  -  алдындағы жазуға ауысу
Next  -  келесі жазуға ауысу
Last  -  ақырғы жазуға апару
Insert  -  қолданыста тұрған жолға жаңа мәліметтерді енгізу
Delete  -  қолданыста тұрған жолды өшіру
Edit  -  қолданыста тұрған жолды редактрлеу
Post  -  өзгертілген мәліметтерді немесе жазылған мәліметтерді  мәліметтер қорына сақтау
Cancel  -  өзгертілген мәліметтерді бастапқы қалпына қайтару
Refresh  -  кестені сақтау (Обновление)
Мәліметтер қорына жазу компоненті (TDBText)
Бұл компоненттің көмегімен мәліметтер қорындағы кестенің белгілі бір бағанындағы және көрсеткіш тұрған жолдағы мәліметке қатынас жасауға арналған. Бұл компоненттеде мәліметтерді алу орны DataSourse қасиетінен таңдайсыз, ал бағананы DataField қасиетінен таңдайсыз.
	Редактрлеу өрісі (TDBEdit). Бұл компонент ағымдағы жеке өрісті редактрлеуге арналған. Ал қасиеттерінде TDBText компонентіндегідеу қасиеттер бір ғана ReadOnly қасиеті арқылы редактрлеуге рұқсат бермеуге болады.
	Сурет қою компоненті (TDBImage). Компонент көмегімен мәліметтер қорында сақталған суреттерді шығаруға болады. Сурет автоматты түрде экранға шығады егер AuttoDisplay қасиеті True мәнін қабылдап тұрса. Ал керісінше жағдайда LoadMeme әдісімен шақыру керек. Мәліметтер қорындағы суреттер кеңейтілуі *.BMP болғаны дұрыс.
	Тізімі бар мәліметтер өрісі(TDBComboBox). 	Бұл компонент мәліметті көрсетуге және өрістің жаңа мәнін ашылатын тізім ішінен таңдауға мүмкіндік береді. Енгізу облысында жазуды енгізу арқылы тізімдегі элементке тез баруға және онда жоқ элементті енгізуге болады. TDBComboBox-тан айырмашылығы Style қасиетінде. Ол тізімдегі элементтердің көрінуін басқарады. Қалған қасиеттері қарапайым TComboBox компонентінікіндей.
	Мәліметтер жалаушасы компоненті(TDBCheckBox). Бұл компонент мәліметтер қорының логикалық типтегі өрісінің мәнін қабылдайды және өзгертеді. Сондай-ақ, бұл компонентті кез келген 2 мән қабылдайтын өріспен де жұмыс жасауға болады.
	Мәліметтердегі ауыстырып-қосқыш тобы компоненті(TDBRadioGroup). 	Өрістің шектелген мәндерін көрнекі түрде шығаруға арналған. Әрбір мәнге группадағы бір ауыстырып-қосқышты меншіктеуге болады. Ауыстырып-қосқыштардың тізімі Items(TStrings) қасиетіне жазылады. Оларға қатысты мәндер тізімі мына қасиетте сақталады Values(TStrings).


Бақылау сұрақтары: 
* SQL тілі қандай мәліметтерді өңдеу құралы болып табылады?
* SQL қандай тіл болып табылады?
* 1992 жылы SQL тілінің қандай стандарты пайда болды?
* SQL тілінде белгісіз немесе анықталмаған мәліметтер қалай белгіленеді?
* SQL тілінің теориялық негізі не болып табылады?
* SQL тілінің функцияларын атаңыз 
* SQL тілінің қай операторы МҚ-ға қол жеткізуді басқарады?
* SELECT, INSERT, DELETE, UPDATE операторлары не болып табылады?
* REVOКE операторы нені орындайды?
* SQL тілінің алғашқы стандартын кім және қашан жасаған?

Әдебиеттер:
* Бидайбеков Е.Ы., Елубаев К., Шекербекова Ш.Т. Мәліметтер қоры және ақпараттық жүйелер. Алматы., 2010.
* Глушаков С.В., Ломотько Д.В. Базы данных.-Харковь: Фолио; М.:ООО <<Издательство АСТ>>, 2002.
* Хомоненко А. Д., Цыганков В. М., Мальцев М. Г. Базы данных. Учебник для высших учебных заведений. Под редакцией проф. А. Д. Хомоненко.  -  Санкт-Петербург: <<КОРОНА

Қосымша әдебиеттер
* Б. Бурибаев, Р. Дузбаева, А. Махметова. Основы информатики и вычислительной техники. Сборник задач и упражнений. Алматы: <<Мектеп>>, 2005.


ЗЕРТХАНАЛЫҚ ЖҰМЫСТАРДЫ ЖҮРГІЗУГЕ АРНАЛҒАН
                   ӘДІСТЕМЕЛІК НҰСҚАУЛАР
             Зертханалық жұмыс №1 (2 сағат)

                    Зертханалық жұмыс №1
Тақырыбы: MS Access бағдарламасында дайындалған кестеге Delphi ортасында қатынас орнату тәсілі
Мақсаты: Delphi-де мәліметтер қорымен жұмыс істеуге арналған компоненттер жиынтығымен таныстыру. MS Access бағдарламасында дайындалған кестеге Delphi ортасынданан қатынас орнату тәсілін көрсету

                   Теориялық түсініктеме
Delphi-де мәліметтер қорымен жұмыс істеуге арналған бірнеше компоненттер жиынтығы бар. Әр жиынтық белгілі есептер шеңберін шешуге өте қолайлы. Неліктен компоненттердің мұндай әртүрлілігі бар? Олардың барлығы мәліметтерге қатынас жасаудың әртүрлі технологиясын қолданады және өздерінің мүмкіндіктерімен ерекшеленеді. Microsoft дайындау өнімдеріне тек өзі дайындаған ADO мәліметтерге қатынас жасау технологиясын кіріктірді. Borland фирмасы әртүрлі технологиялар арқылы жұмыс істейтін құралдарды ұсынып, программисттің мүмкіндігін шектемейді. Және-де, кез-келген жағдайда қолданыла алатын өзгеде компоненттер тобы бар.
Мәліметтерге қатынас жасау құралдарына қысқаша тоқталайық.
* Data Access қалташасында мәліметтерге қатынас жасаудың негізгі компоненттері орналасқан. Бұл компоненттер барлығына ортақ және басқа да компоненттер топтарымен бірге қолданыла алады.
* Data Controls қалташасында кестедегі мәліметтерді бейнелеуге және өңдеуге арналған компоненттер орналасқан. Бұл компоненттерде осы мезетте қолданылып отырған мәліметтерге қатынас жасау технологиясына тәуелсіз қолданыла алады.
* BDE қалташасы Borland  фирмасы дайындаған Borland Database Engine деп аталатын технология бойынша мәліметтер қорына қатынас жасауға мүмкіндік беретін компоненттерден тұрады.
* Бұл технология ескірген және де ескі версиялармен сәйкестікті ескеру үшін ғана ұсынылады. Осыған қарамастан ол Paradox және dBase сияқты ескірген мәліметтер қоры типтерімен жақсы жұмыс істейді
* DBExpess  -  бұл Borland фирмасының жаңа мәліметтерге қатынас жасау технологиясы. Ол өте қолайлылығымен ерекшеленеді және мәліметтер қорын қолданатын Клиент-Серверлік қолданбаларды программалауға ыңғайлы. Бірдей атаулы қалташа компоненттерін мүмкіндігінше Серверлік технология бойынша құрылған мәліметтер қорымен қолданған дұрыс, мысалы Oracle, DB2 немесе MySQL.
* ADO (Active Data Objects)  -  Microsoft корпорациясы дайындаған мәліметтерге қатынау технологиясы. Өте жақсы кітапхана, тек оны мүмкіндігінше Microsoft мәліметтер қорларымен қолдану керек, дәлірек айтқанда MS Access немесе MS SQL Server.
Ары қарай жұмыс істеу үшін компьютерде MS Office және оның компоненті MS Access орнатылған болуы керек. Дәл осы MS Access-те реляциялық мәліметтер қоры құрылады, ал онымен жұмысты Delphi-де жүргіземіз.

                4.2-сурет. Қолданба формасы

                               Тапсырма:
* Төменде берілген Student атаулы 2 кестедегі құрылымға сәйкес мәліметтер қорын  Delphi ортасында жоғарыдағы әдістеме бойынша дайында.
                                                                   2 кесте
Өріс атуы
Типі
Сипаттама
Key1
Счетчик
Бұл кілттік өріс. Өріс өлшемі  -  Длинное целое. Индекстелген өріс  -  Да (қайталану болмауы керек).
Тегі

Текстовый
Өріс өлшемі  -  50 . Индекстелген өріс  -  Да (қайталану бола береді).
Аты
Текстовый
Өріс өлшемі  -  50 . Индекстелген өріс  -  Да (қайталану бола береді).
Тобы
Текстовый
Өріс өлшемі  -  10 . Индекстелген өріс  -  Да (қайталану бола береді).
Мекен-жайы
Текстовый
Өріс өлшемі  -  50 . Индекстелген өріс  -  Да (қайталану бола береді).
Ұлты
Числовой
Өріс өлшемі  -  Длинное целое. Индекстелген өріс  -  Нет.
  2. Кітапханадағы кітап қоры туралы мәліметтер қорын дайында (кесте құрылымын өз бетіңмен дайында).

                      Бақылау сұрақтары:
* Delphi-де мәліметтерге қандай қатынас жасау құралдары бар?
* ADOConnection компоненті не үшін қолданылады және оның қандай қасиеттері бар?
* Свойство связи с данными терезесінде қандай жұмыстар атқарылады?
* ADOTable компоненті формаға не үшін орналастырылады?
* DataSource компоненті қандай қызмет атқарады?
                                       
                                       
                    Зертханалық жұмыс №2
Тақырыбы: Delphi ортасында мәліметтерді бейнелеуді басқару
Мақсаты: ADOTable компоненттерінің қасиеттері және әдістерімен танысу және қолдану. Мәліметтерге қатынас жасау компоненттерін жеке модульге орналастыру және осы модуль ресурстарын қолдану. Өріс атаулары мен типтерін бейнелеуді басқару

                   Теориялық түсініктеме

              TADOTable компонентінің қасиеті
TADOTable компонентінің көптеген пайдалы қасиеттері бар. Олардың көпшілігі қарапайым қолданылады. Осы қасиеттерінің негізгілерін қарастырайық.
* MasterSource  -  бұл қасиетте ағымдағыға қатысты негізгі кесте көрсетіледі. Бұл қасиетті байланысқан кестелермен жұмыс істегенде толық қарастырамыз.
* Readonly  -  бұл қасиеттің мәні true болса, онда кестені өңдеуге болмайды. Бұл жағдайда мәліметтер тек бейнеленеді. Өзгертілмейтін , яғни пайдаланушы өзгеріс енгізбеуге тиіс кестелерге осы қасиеттеі міндетті түрде орнату керек. 
* TableDirect  -  бұл қасиет кестеге қалай қатынас жасалатынын бейнелейді. Егер бұл параметр true болса, онда кестеге атауы бойынша тура қатынас жасалынады. Егер false болса, онда сізге білінбей мәліметтер қорына арнайы SQL-сұраныс жүргізіледі. Барлық мәліметтер қорлары тура қатынас арқылы жұмыс істеуге мүмкіндік бере бермейді, сондықтан бұл қасиеттің мәні үнсіз келісім бойынша false болады. 
* TableName  -  мәліметтерін өңдейтін кестенің атауы. 
* Cachesize  -  кэш-жадының көлемі. Егер бұл жерге 50 санын орнатсақ, онда кестеге алғаш қосылғанда бірінші 50 жолды таңдап, оларды локальды жадыға орналастырады, бұл оларға қатынасты жеделдетеді. Қалған жолдар серверден қажетінше жүктеледі.
* CanModify  -  бұл қасиет  Readonly қасиетіне ұқсас және кесте мәліметтерін өңдеу мүмкіндігін көрсетеді.
* CommandTimeout  -  команданың орындалуын тосу уақыты. Егер компонент мәліметтер қорына команда бағыттаса, ол күту таймерін іске қосады, егер команда орындалмаған жағдайда, күту таймері аяқталған соң қателік туралы хабарлама шығарылады. 
* Connection  -  бұл жерде қосылу жүзеге асатын TADOConnection компонентті көрсетіледі.
* Connectionstring  -  мәліметтер қорына қосылу жолы.
* CursorLocation  -  кестедегі мәліметтерді оқып, ағымдағы позицияны көрсететін курсордың орналасуы. Курсор серверде немесе клиенттің машинасында тұруы мүмкін.
* CursorType  -  курсордың типі. Бұл жерде келесі нұсқалардың біреуі мүмкін болады:
* ctUnspecified  -  курсордың орны көрсетілмеген.
* ctOpenForwardOnly  -  курсор тек алға жылжи алады.
* ctKeyset  -  бұл кестеге қосылған бір қолданушының өзгерісі басқаларына көрінбейді.
* ctDynamic  -  динамикалық курсор, мұнда бір қолданушының өзгерісін қалғандары көре алады.
* сtstatic  -  статикалық курсор, мұнда бір қолданушының өзгерісін қалғандары көре алмайды.
    o Filter  -  фильтр жолы.
    o Filtered  -  кесте фильтрленетін кесте болып табылама. Егер false  орнатсақ, онда фильтр жолы есепке алынбайды.
    o IndexFieldNames  -  индекстелген баған атауы. Индекстер мәліметтерді сұрыптау үшін және кестелер арасында байланыс үшін қолданылады.
    o RecNo  -  ағымдағы ерекшеленген жолдың номері.
    o RecordCount  -  кестедегі жолдар саны.
    o Sort  -  сұрыптау типі көрсетілетін жол. Мысалы, Телефон өрісі бойынша сұрыптау үшін келесі жолды жазу керек: ADOQuery1.Sort:='Телефон ASC'. ASC операторы өсу ретімен сұрыптау керектігін көрсетеді. DESC операторы кему ретімен сұрыптауды көрсетеді.
    o Active  -  егер бұл қасиет True болса, онда кесте ашық тұр.
    o AggFields  -  мұнда барлық агрегаттық өрістер сақталынып тұр. 
    o AutoCalcFields  -  егер мұнда болса, онда өрістерді автоматты түрде санау керек.
    o Bof  -  бұл қасиетке әсер етуге болмайды, егер ол True болса, онда онда біз файлдың басында тұрмыз.
    o FieldCount  -  мұнда кестедегі өрістердің саны сақталады.
    o Fields  -  бұл өріс арқылы басқа өрістердің мәндеріне қатынас жасауға болады. Айталық сізге 4-ші өрісте қандай мән тұрғаны қажет, ол үшін келесідей жазу керек: Table.Fields.Fields[4].AsString. AsString әдісі мәнді жол түрінде алу қажеттігін көрсетеді.
    o FieldValues  -  бұл қасиеттің көмегімен көрсетілген өрістің кез-келген мәніне оңай қатынас жасауға болады. Өріс атауын тік жақшада көрсету керек. Мысалы, Table1.FieldValues[`Телефон']:='3346598';.
    o FilterOption  -  фильтр баптауы. Мұнда келесі параметрлерді көрсетуге болады:
* FoCaseInsensitive  -  фильтр регистрге сезімтал емес.
* foNoPartialCompare  -  егер осы параметр тұрса, онда салыстыру филтрде көрсетілген мәннің тура көшірмесімен жүргізіледі.
    o  Modified  -  егер бұл қасиет True болса, онда кестеге өзгерістер енгізілген.
                                       
             TADOTable компонентінің әдістері
Енді осы компоненттің әдістерін қарастырайық.
* BookmarkValid  -  бұл әдіс қалташалардың дұрыстығын тексереді. Жалғыз параметр ретінде TBookmark типті қалташаны көрсету керек, егер ол <<шынайы>> болса, онда нәтиже True болады.
* CancelUpdates  -  кэш жадыда сақталған жаңалауды қайтару.
* CompareBookmarks - екі қалташаны салыстыру. Бұл әдісте Tbookmark типті екі параметр бар. Бұл екі қалташа салыстырылады. Егер қалташалар тең болса, онда нәтиже 0-ге тең, егер біріншісі екіншісінен кіші болса, нәтиже -1 болады, егер біріншісі екіншісінен үлкен болса, нәтиже 1 болады.
* DeleteRecords  -  жазбаларды жою. Әдісте қай жазбаларды жою қажеттігін анықтайтын бір параметр бар. Сіз келесі мәндерін көрсетуіңізге болады:
* ArCurrent  -  ағымдағы жазбаны ғана жою;
* arFiltered  -  орнатылған фильтрді қанағаттандыратын жазбаларды жою;
* arAll  -  барлық жазбаны жою;
* arAllChapters  -  барлық ADO тарауларындағы жазбаларды жою.
* Append  -  кесте соңына жаңа жазба қосу.
* Cancel  -  егер енгізілген өзгерістер әлі Post әдісінің көмегімен сақталмаған болса, ағымдағы жолдағы өзгертуді қайтару.
* Close  -  кестені жабу.
* Delete  -  ағымдағы жолды жою.
* Edit - өңдеу режіміне өту. Осыдан кейін өріс мәндерін өзгертуге болады.
* FieldByName - өрісті атауы бойынша табу. Жалғыз параметр ретінде жол түрінде өріс атауын көрсету керек, және де нәтижесінде ТField объектісі түріндегі өріске сілтеме аламыз.
* First  -  кестедегі бірінші жолға өту.
* Insert  -  кестеге жаңа жол қою.
* IsEmpty  -  егер әдіс True  мәнін берсе, онда кестеде жазбалар жоқ.
* Last  -  кестедегі соңғы жазбаға өту.
* Next  -  келесі жазбаға өту.
* Post  -  барлық өзгерістерді қабылдау.
* Prior  -  Кестедегі алдыңғы жазбаға жылжу.
* ReFresh  -  мәліметтер туралы ақпаратты жаңалау.
* UpdateRecord  -  Ағымдағы жазбаны жаңалау.

                                       
                               Тапсырма:
* Алдыңғы зертханалық жұмыста дайындалған Student кестесіндегі құрылымға сәйкес мәліметтер қорымен  жұмысты жалғастыр:
Access программасында дайындалған Student кестесін сол программаның консттруктор режімінде аш, 4 кесте (Student) құрылымында көрсетілгендей бұл кестеге де Дата және Ұялы телефон  өрістерін қос. Кестені жап.
Мәліметтерге қатынас жасау компоненттерін (ADOConnection1, DataSource1, ADOTable1) жеке модульге орналастырып, негізгі формамен байланыстыр.
Негізгі формадағы DBGrid торында барлық өрістердің бейнеленуін ұйымдастыр (жоғарыдағы нұсқауға қара).
                                                                   4 кесте
Өріс атуы
Типі
Сипаттама
Key1
Счетчик
Бұл кілттік өріс. Өріс өлшемі  -  Длинное целое. Индекстелген өріс  -  Да (қайталану болмауы керек).
Тегі

Текстовый
Өріс өлшемі  -  50 . Индекстелген өріс  -  Да (қайталану бола береді).
Аты
Текстовый
Өріс өлшемі  -  50 . Индекстелген өріс  -  Да (қайталану бола береді).
Тобы
Текстовый
Өріс өлшемі  -  10 . Индекстелген өріс  -  Да (қайталану бола береді).
Мекен-жайы
Текстовый
Өріс өлшемі  -  50 . Индекстелген өріс  -  Да (қайталану бола береді).
Ұлты
Числовой
Өріс өлшемі  -  Длинное целое. Индекстелген өріс  -  Нет.
  2. Өз бетіңмен дайындаған Кітапханадағы кітап қоры туралы мәліметтер қорын да жоғарыдағы нұсқауды пайдаланып жетілдір және түсіндіріп бер.

                      Бақылау сұрақтары:
* ADOTable компонентінің қандай қасиеттері бар?
* ADOTable компонентінің қандай әдістері бар?
* Мәліметтер қоры өрістерін редактрлеу терезесімен қалай жұмыс істейміз?
* DisplayWidth, DisplayLabel, DisplayFormat қасиеттері қандай қызмет атқарады?
* EditMask қасиеті туралы не білесің?

                    Зертханалық жұмыс №3
Тақырыбы: Кестелер арасындағы қатынас. Қатынас жасалған кестелерді ұйымдастыру барысында ізделінді өрістерді пайдалану
Мақсаты: 	Delphi ортасында мәліметтер қорын ұйымдастыру барысында кесте өрістерін байланыстыру және байланысқан кестелерді пайдалану жолын көрсету
                                       
     18-сурет. Программа жұмысының нәтижесі

                               Тапсырма:
* Алдыңғы зертханалық жұмыста дайындалған Student кестесіндегі құрылымға сәйкес мәліметтер қорымен  жұмысты жалғастыр:
Осы мәліметтер қорында тағы да Ұлты атауымен 6 кестеде (Ұлты  кестесі) көрсетілген құрылымға сәйкес жаңа кесте құр:
                                                                  6 кесте 
Өріс атуы
Типі
Сипаттама
Key1
Счетчик
Бұл кілттік өріс. Өріс өлшемі  -  Длинное целое. Индекстелген өріс  -  Да (қайталану болмауы керек).
Ұлты

Текстовый
Өріс өлшемі  -  10 . Индекстелген өріс  -  Да (қайталану бола береді).

  + Ұлты кестесін пайдаланып, осы студенттер жобасын нұсқаулықта көрсетілгендей жетілдір (жоғарыдағы нұсқауға қара):
* Формаға жоғарғы мәзір қос;
* Ұлты қосымша формасын дайында;
* Мәліметтерді өңдеу формасын дайында;
* Осы формалардың барлығын тиісті батырмалармен безендір;
* Олардың арасындағы байланыстар нұсқаулықта көрсетілгендей орындалсын.
  2. Өз бетіңмен дайындаған Кітапханадағы кітап қоры туралы мәліметтер қорын да жоғарыдағы нұсқауды пайдаланып жетілдір және түсіндіріп бер.

                      Бақылау сұрақтары:
* Зертханалық жұмыста DBLookupComboBox компоненті не үшін қолданылды?
* Жаңа өріс енгізу терезесінің маңызын түсіндір және зертханалық жұмыста не үшін қолдандық?
* Lookup сөзі қандай мағына береді?
* Lookup Keys өрісіне нені көрсетуіміз керек?
* Result Field өрісіне нені көрсетуіміз керек?

                    Зертханалық жұмыс №4
Тақырыбы: Сұрыптау. Мәліметтерді сүзу (фильтрация)
Мақсаты: 	Delphi ортасында мәліметтер қорындағы кесте мәліметтерін сұрыптауды және сүзгілеуді үйрету
                                       
                               Тапсырма:
* Осы нұсқаулықты пайдаланып, алдыңғы зертханалық жұмыста дайындалған Студент жобасына Сұрыптау және Сүзгілеу мүмкіндіктерін қос.
2. Өз бетіңмен дайындаған Кітапханадағы кітап қоры туралы мәліметтер қорын да жоғарыдағы нұсқауды пайдаланып жетілдір және түсіндіріп бер.

                      Бақылау сұрақтары:
* Сұрыптау қандай жолмен жүргізіледі?
* Сүзгіні орындау үшін қандай код қолданылады және қалай жұмыс істейді?
* Бірегей тырнақшалардың қолданылу ретін түсіндір?


                    Зертханалық жұмыс №5
Тақырыбы: SQL сұраныстар тілі
Мақсаты: Delphi-дің ішіне кіріктірілген SQL тілін қарастыру. Delphi ортасында мәліметтер қорында ADOQuery компоненті арқылы SQL сұраныс жасау

                   Теориялық түсініктеме
SQL сұраныстары үлкен көлемді мәліметтермен жылдам жұмыс істеуге мүмкіндік береді. SQL тілі  -  бұл мәліметтер қорына сұраныстар тілі. SQL-дің аудармасы Құрылымданған Сұраныстар Тілі. SQL-сұраныстардың көмегімен реляциялық мәліметтер қорын құруға және олармен жұмыс істеуге болады. Бұл тіл стандарт ретінде қабылданған, сондықтан, егер сіз мәліметтер қорымен жұмыс істегіңіз келсе, осы тілді жақсы білуіңіз керек.
SQL Америкалық ұлттық стандарттар институтымен және стандарттау бойынша халықаралық ұйыммен (ISO) анықталған.
Реляциялық мәліметтер қорының (РМҚ) не екенін еске түсірейік. РМҚ дегеніміз  -  бағандар ретінде мәліметтер өрістері алынған, ал әрбір жолы мәліметтер сақтайтын кесте. Әрбір кестеде жолды бірмәнді индентификациялайтын бір бірегей өріс болуы керек. Бұл кілттік өріс деп аталады. Бұл өрістер көбінесе кестелерді байланыстару үшін және әрбір жазбаның бірегейлігін қамтамасыз ету үшін қолданылады. Егер кесте байланыспаған болса да, кілттік өріс міндетті түрде болуы керек.
SQL екі типті бола алады: интерактивті және кіріктірілген (вложенные). Біріншісі  -  бұл жеке тіл, ол сұраныстарды өзі орындайды және бірден жұмыс нәтижесін көрсетеді. Екіншісі  -  бұл SQL-тіл басқа, мысалы, C++ немесе Delphi-дің ішіне кіріктірілген жағдай.
Интерактивті SQL стандарттыға анағұрлым жақын, ал кіріктірілген тілде ауытқулар мен қосымшалар көптеп кездеседі. Мысалы, стандартты SQL-де мәліметтердің екі типі ғана айрықшаланады: жолдар және сандар, бірақ кейбір өндірушілер өздерінің типтерін қосады (Data, Time, Binary және т.б.). SQL-де сандар екі типке бөлінеді: бүтін  -  integer (int) және бөлшек  -  decimal (dec). Жолдар 254 символ өлшеммен шектелген.

                               Тапсырма:
* Алдыңғы зертханалық жұмыста дайындалған Student кестесіндегі құрылымға сәйкес мәліметтер қорымен  жұмысты жоғарыдағы нұсқауға қарап жалғастыр:
ADOQuery және DataSource компоненттерін қос және тиісті қасиеттерін орнат;
    o SQL сұраныс дайында;
    o SQL сұранысы көмегімен іздеуді орналастыр;
    o SQL сұраныстарында динамикалық айнымалыны қолдануды көрсет;
    o Осы формалардың барлығын тиісті батырмалармен безендір;
    o Олардың арасындағы байланыстар нұсқаулықта көрсетілгендей орындалсын.
* Өз бетіңмен дайындаған Кітапханадағы кітап қоры туралы мәліметтер қорын да жоғарыдағы нұсқауды пайдаланып жетілдір және түсіндіріп бер.

                      Бақылау сұрақтары:
* Зертханалық жұмыста ADOQuery компоненті не үшін қолданылды?
* SQL тілінің типтерін ата?
* SQL тілінің маңызы қандай?
* РМҚ дегеніміз не?
* Динамикалық айнымалы дегеніміз не және оны қандай мақсатпен қолдандық?

                    Зертханалық жұмыс №6
Тақырыбы: Байланысқан кестелер
Мақсаты: 	Байланысқан кестелердің қолданылу мәнін түсіндіру. Delphi ортасында байланысқан кестелерді ұйымдастыру. Field Link Designer сұхбат терезесі жұмыс істеу

                   Теориялық түсініктеме
Осы уақытқа дейін дайындаған Телефон анықтамасы жобасы көп мүмкіндіктерге ие болды: оған мәліметтерді енгізуге болады, оларды өңдеуге, өшіруге, сұрыптауға, әртүрлі параметрлері бойынша іздеуге болады.
Енді мынадай жағдайды елестетейік: айталық, бір адамда екі телефон бар. Оның біреуі - үй телефоны, екіншісі  -  ұялы телефон. Мұндай ақпаратты біздің мәліметтер қорына қалай енгізуге болады? Бұл жағдайда екі жазба енгізу керек, оларда Тегі, Аты, Қала, e-mail, Туған күні өрістері бірдей болады. Бірақ бұл өте қолайсыз және дискідегі орынды артық жұмсау болып табылады. Сондықтан алдыңғы зертханалық жұмыстарда кестенің Қала өрісін жеке  кестеге орналастырған болатынбыз (еске түсір). Осы жағдайда байланысқан кестелерді қолданамыз.
Ол үшін төмендегі 24-суретте көрсетілгендей құрылымы бар екі кесте керек. Алдымен Анықтама кестесінде Тегі, Аты, Қала, e-mail, Туған күні өрістері қалсын. Телефон атты жаңа кесте құрып, оған Key1, LinkKey, Телефон және Ұялы телефон өрістерін қос.
                               Анықтама
Key1
Тегі
Аты
e-mail
Қала
Дата

Телефон
 Key1
LinkKey
Телефон
Ұялы телефон


              24-сурет. Мәліметтер схемасы

Жаңа Телефон кестесіндегі LinkKey өрісі не үшін қажет және онымен Анықтама кестесіндегі key1 өрісі арасында неліктен байланыс сызығы жүргізілген? Key1  -  бірегей өріс, ал LinkKey  -  байланыстыратын өріс және онда key1 өрісіне сілтеме сақталынады. 25-суреттегі кестелерге қара.
 Суреттің жоғарғы бөлігінде Анықтама кестесі, ал төменгі жағында Телефондар кестесі көрсетілген. Егер мәліметтерге қарайтын болсақ, онда key1 өрісінің мәндері үнемі бірге өсіп отыратынын көреміз, себебі бұл счетчик өрісі. Осы мысалдан Анықтама кестесінің key1 өрісі мен Телефондар кестесінің LinkKey өрісі арасында қалай байланыс орнатылатынын көруге болады.

              25-сурет. Мәліметтер схемасы

Жоғарғы кестедегі бірінші жазба Алпысбаевтікі, екінші кестеден LinkKey өрісінің мәні 1-ге тең болатын жазбаны іздейміз. Мұндай жазба үшеу, олар алғашқы үш орында тұр. Яғни, Алпысбаевтың үш телефоны бар.
Жоғарғы кестедегі екінші жазба Жексенбаевтікі, екінші кестеден LinkKey өрісінің мәні 2-ге тең болатын жазбаны іздейміз. Мұндай жазба екеу, олар 4-ші және 6-шы орында тұр. Яғни Жексенбаевтың екі телефоны бар. Және т.с.с.
Осылайша, екі кестені кілттері арқылы байланыстырамыз.  Біз ізделінді өрістерді құрған кезде (Зертханалық жұмыс №3) біз осыған ұқсас байланыс жасаған болатынбыз, тек ол кезде басты кестенің  Қалалар анықтамасының басты кілтімен байланысқан Қала өрісі болған. 
                               Тапсырма:
* Алдыңғы зертханалық жұмыста дайындалған Student кестесіндегі құрылымға сәйкес мәліметтер қорымен  жұмысты жоғарыдағы нұсқауға қарап жалғастыр;
* Өз бетіңмен дайындаған Кітапханадағы кітап қоры туралы мәліметтер қорында жоғарыдағы нұсқауды пайдаланып жетілдір және түсіндіріп бер.

                      Бақылау сұрақтары:
* Байланысқан кестелер не үшін қолданылады?
* TelephoneTable компонентінің MasterFields қасиеті не үшін керек?
* Field Link Designer терезесі қандай қызмет атқарады?
* Осы зертханалық жұмыста қандай екі кестені байланыстырдық?
* Осы зертханалық жұмыста қандай SQL сұраныс дайындадық?


                    Зертханалық жұмыс №7
Тақырыбы: Есептелінетін өрістер
Мақсаты: 	Есептелінетін өрістермен жұмыс істеуді ұйымдастыру
                                       
                                       
                               Тапсырма:
* Осы зертханалық жұмыста дайындалған программаға 10 пайыздық ҚҚС(НДС) есептейтіндей өріс қос;
* Осы мәліметтер қорындағы кестеге Сатылған тауар саны деген өріс қосып, Сатылған тауардың бағасын есептейтін есептелінетін өріс қос;
* Қоймада қанша тауар қалғанын есептейтін өріс қос;
* Кестеге мәліметтерді енгізуді жеке формаға дайындаңыз.

                      Бақылау сұрақтары:
* Есептелетін өріс дегеніміз не?
* Өрістерге үнсіздік мәнін беру үшін қандай амал қолданылады?
* Sum өрісін есептегендегі кодты қалай түсіндіресің?
                                       
                                       
                    Зертханалық жұмыс №8
Тақырыбы: DBGrid түсті торлары
Мақсаты: 	DBGrid түсті торымен жұмыс жасауды үйрету. Түстерді өзгерту параметрлерімен жұмыс істеуді үйрету
                                       
* Осы жобаға басқада түстерді көрсететіндей мүмкіндік қос;
* Осы зертханалық жұмыста алған білімдеріңізді қолданып, Кітапхана атаулы жобаңызға осы мүмкіндіктерді қос;
* Осы зертханалық жұмыста алған білімдеріңізді қолданып, Студент атаулы жобаңызға осы мүмкіндіктерді қос;

                      Бақылау сұрақтары:
* Түсті торларды не үшін қолданамыз?
* Түстерді қандай код көмегімен қолданамыз?
* OnDrawDataCell оқиғасының қызметі?

                                       
                    Зертханалық жұмыс №9
Тақырыбы: Бағдарламаның орындалуы барысында мәліметтер қорына қосылу
Мақсаты: Бағдарламаның орындалуы барысында мәліметтер қорына қосылуды ұйымдастыруға үйрету

     30-сурет. Программа жұмысының нәтижесі

                                       
                               Тапсырма:
* Өздеріңіз дайындап жүрген Кітапхана жобасына бағдарламаның орындалуы барысында қосылуға мүмкіндік беретіндей батырма қос;
* Өздеріңіз дайындап жүрген Студент жобасына бағдарламаның орындалуы барысында қосылуға мүмкіндік беретіндей батырма қос;
* Таңдау арқылы басқа да кестелерге қосылатындай мүмкіндік енгіз;

                      Бақылау сұрақтары:
* Бағдарламаның орындалуы барысында қосылу не үшін керек?
* Таңдау арқылы басқа кестелерге қосылуды қалай ұйымдастыруға болады?
* Uses бөліміне ADOConEd мәні не үшін жазылады?

                    Зертханалық жұмыс №10
Тақырыбы: Мәліметтер қорын өңдеу
Мақсаты: Мәліметтер қорында өңдеу жұмыстарын үйрету. TbookmarkStr типті айнымалымен жұмыс

                               Тапсырма:
* Кестедегі сандық типті әр өрістің қосындысын есептейтін мүмкіндік қос;
* Тауар саны 5-тен аз мәндердің жалпы санын табу;
* Тауар бағасы өрісінің ортақ мәнін есепте;
* Тауар саны өрісінің мәні 0-ге тең болса, онда экранға қоймада сол тауардың таусылғандығы туралы хабарлама шығар.

                      Бақылау сұрақтары:
* Әр жолдағы өріс мәндеріне қалай қатынас жасауға болады?
* TbookmarkStr типті айнымалылардың қызметі?
* DataModule1.ADOTable1.First коды қандай қызмет атқарады?


                    Зертханалық жұмыс №11
Тақырыбы: Бинарлы мәліметтер
Мақсаты: Студенттердің бинарлы мәліметтерді мәліметтер қорына сақтауды үйрету. BLOB өрістермен жұмыс істеуді үйрету


  32-сурет. Программа формасының соңғы түрі

                               Тапсырма:
* Өздеріңіз дайындап жүрген Студенттер жобасына, осы зертханалық жұмыста жасалған мысалдарға сүйене отырып, олардың суреттері және дыбыстық файлдары сақталатындай етіп жобаларыңызға өзгеріс енгізіңіз;
* Кітапхана атты жобаларыңызға да осы өзгерістерді қолданыңыз;
* Осы зертханалық жұмыста көрсетілген мысалдарға қарай отырып, басқа да файлдарды жүктеп және оны өз форматында қайта сақтауды ұйымдастырыңыз.
                      Бақылау сұрақтары:
* Бинарлы мәліметтер дегеніміз не?
* LoadFromFile әдісінің қызметін түсіндір?
* SaveToFile әдісінің қызметін түсіндір?
* Программада MediaPlayer1 компоненті не үшін қолданылады?


                    Зертханалық жұмыс №12
Тақырыбы: Мәліметтер қорындағы есепті Excel-де көрсету
Мақсаты: Студенттерді мәліметтер қорындағы есептерді Excel программасымен байланыстыра отырып шығаруды үйрету

Біз қазір мәліметтер қорымен жұмыс жасауды үйрендік және толық қанды телефон анықтамасы программасын құрдық. Бірақта есеп берусіз, баспаға шығарусыз қандай мәліметтер қоры болуы мүмкін? Тәжірибеде өзіндегі мәліметтерді басқа программаларда немесе сол мәліметтер баспаға шығаруды жалғастыру негізінде құжаттар құру керектігі байқалады.
Бұл бөлімде шығару ақпараттарын құруға (есептер) байланысты сұрақтар қарастырылады. Берілген материалдар шығу құжаттарының механизмін түсіндіретін мысалдармен толықтырылған.
Барлық мысалдар мәліметтер қорымен жұмыс жасайды. Себебі, осыған программа құрғанда қандайда бір шығу құжатының дайындалуы үшін мәліметтер қорының  керектігі байқалады. Баспаға шығарылмайтын немесе басқа форматқа ауыстырылмайтын күрделі мәліметтер қорын құру мағынасыз болып табылады. Осыған байланысты бұл бөлімде мәліметтерді  Excel форматына ауыстыруды, сонымен қатар баспаға шығару құжаттарын дайындау механизмдерімен таныстырады.
Бастапқыда Delphi ортасында есеп беру QuickReport компоненті орнытылмаған болады. Оны орнату үшін бас мәзірден Project | Options және Packages қатпарынан Add батырмасын басыңыз.  Енді Delphi ортасы орнатылған жердегі (\Program Files\Borland\Delphi7\Bin) Bin директориясынан dcltqr70.bpl файлын табыңыз. Оны ашып, проектінің баптаулар терезесін Ok батырмасын басу арқылы жабыңыз.
                                       
                               Тапсырма:
* While циклын қолданып кестеден мәліметтерді шығаруды ұйымдастыр;
* Repeat циклын қолданып кестеден мәліметтерді шығаруды ұйымдастыр;
* Тордан мәліметтерді Excel-ге шығаруды ұйымдастыр;
* Осы зертханалық жұмыста көрсетілген мысалдарға қарай отырып, өздеріңіз жасап жүрген <<Кітапхана>>, <<Студент>> жобаларына есептерін Excel-ге шығаратындай мүмкіндік қос.
                                       
                      Бақылау сұрақтары:
* Variant деген типт айнымалы не үшін қолданылады?
* Циклдарды қолдану ерекшеліктерін түсіндіріп бер?
* DataModule2.BookTable.RecordCount-1 кодының мәні неге тең?
* Форматтау кезінде қандай функциялар қолданылады?
                                       
                                       
                    Зертханалық жұмыс №13
Тақырыбы: Quick Reports компоненттері арқылы есеп құру
Мақсаты: Студенттерді мәліметтер қорындағы есеп беруді Quick Reports компоненттері көмегімен ұйымдастыруды үйрету

Енді біз Delphi ортасына кіретін, Quick Reports есеп беру генераторымен жұмыс жасаймыз. Бұл есеп беру жұмыстарын жасауға арналған жақсы құрал болып табылады. Бірақ ол ең жылдам жұмыс жасайтын генератор емес. Интернет желісінен жылдам жұмыс істейтін ақылы немесе ақысыз генераторларды да тауып алуға болады. Бірақ Quick Reports генераторы өте мықты, сонымен қатар Delphi ортасында орнатылған және жұмыс жасауға дайын.
Quick Reports-тің барлық компоненттері Qreports қатпарында орналасқан. Алдымен Quick Reports- ТQuickRep басты компонентін қарастырайық. Бұл компонент кез келген есеп берудің негізі болып табылады. Компоненттер палитрасынан осы компонентке екі рет шертсеңіз, ол автоматты түрде формаға қойылады. Сіз жақтауларын формамен бірдей қылып қойсаңыз, сіздің есеп беру құжатын дайындайтын ақ бетті көруіңізге балады. Беттің жақтауларында көк түстен тұратын пунктті сызықтар бар, ол беттің шекараларын көрсетеді.
Енді объекті инспекторына барып қандай есеп беру бағандарының бар екенін қарастырайық.
Bands  -  бұл жерде болашақ құжаттың неден тұратынын бересіз. Ол безендіру үшін бірнеше инструкциялардан тұрады:
* HasColumnHeader  -  бағаналардың тақырыпшалары. Егер сізде кесте орналасқан болса, оның тақырыпшасы болуы керек. Сол тақырыпшалардың барлығы осы бөлімде дайындап алынады. Қолдану үшін осы қасиетінің мәнін true мәніне өзгерту керек;
* HasDetail  -  егер сіздің есебіңіз кестеден тұратын болса, онда ол кесте жолдары осында құрылады;
* HasPageFooter  -  бұл бөлімде төменгі колонтитулдар құрылады;
* HasPageHeader  -  бұл жерде құжаттың тақырыбы құрылады;
* HasSummary  -  бұл бөлімдегі мәліметтер баспаға шығарылған беттердің соңғы бетіне ғана шығады;
* HasTitle  -  бұл бөлімде есептің тақырыбы беріледі;
DataSet  -  бұл жерде есеп беруге шығатын мәліметтер тұрған кесте көрсетіледі;
Font  -  шрифт беріледі;
Frame  -  жақтауларының қасиеттері;
Options  -  бұл бөлімде үш қасиет көрсетілген:
* FirstPageHeader мәні true болса  -  тақырып баспа беттерінің бірінші бетіне ғана шығарылады;
* LastPageFooter мәні true болса  -  төменгі колонтитул тек соңғы бетте ғана басылып шығарылады;
* Compression мәні true болса  -  есеп жинақталған күйде сақталады;
Page  -  бұл жерде есеп беру қағазын басқарудың барлық баптаулары орналасқан;
PrinterSettings  -  принерді баптау;
ReportTitle  -  баспаға берілетін құжаттың тақырыбы;
ShowProgress  -  егер бұл жердің мәні true тең болса, онда баспаға жіберіліп жатқанда, баспа жүріп жатқанын көрсететін индекатрмен жұмыс істеуге рұқсат беріледі;
SnapToGrid  -  торда орналасқан компоненттердің реттелуі керектігін анықтайды;
Zoom  -  мәліметтердің бейнелену маштабы.
34-сурет. QuickRep компонентінің қосылған бөлімдерімен көрсетілген түрі

Егер QuickRep компонентіне екі рет шертетін болсаңыз, осы айтылған баптаулардың барлығы көрсетілген терезеcі пайда болады. 
      35-сурет. Есеп беруді баптау терезесі

Көріп отырғандарыңыздай барлық баптаулар бір жерде және жұмыс жасағанға өте ыңғайлы.
                                       
                                       
38-сурет. Баспаға жіберуге дейін көрсету терезесі

                               Тапсырма:
* Осы зертханалық жұмыста көрсетілген мысалдарға қарай отырып, өздеріңіз жасап жүрген <<Кітапхана>>, <<Студент>> жобаларына есептерін QuickReport компонентері көмегімен баспаға шығаратындай мүмкіндіктер қос;
* Төменгі колонтитулға өзіңіздің аты-жөніңізді шығарыңыз.
                      Бақылау сұрақтары:
* QReport қатпарында қандай компоненттер ұсынылған және олардың қызметін түсіндіріңіз?
* Қандай есеп беру бөлімдер бар?
* HasPageFooter бөлімінің қызметі қандай?
* ReportSettings терезесін қалай ашамыз?

                    Зертханалық жұмыс №14
Тақырыбы: Quick Reports арқылы баспаға жіберу
Мақсаты: Студенттерді мәліметтер қорындағы есеп беруді Quick Reports компоненттері көмегімен ұйымдастыруды үйрету

Алдыңғы зертханалық жұмыста көргендеріңіздей Quick Reports компоненттерімен жұмыс істеген жеңіл. Енді осы зертханалық жұмыста сол жасаған жұмыстарымызды күрделендірейік.
                                       
39-сурет. Баспаға жіберуге дейін көрсету терезесі

                               Тапсырма:
* Осы зертханалық жұмыста көрсетілген мысалдарға қарай отырып, өздеріңіз жасап жүрген <<Кітапхана>>, <<Студент>> жобаларыңызды өзгертіңіздер;
* Осы баспаға шығарылған кестеге мәліметтердің реттік санын көрсететіндей бір баған қос.
                      Бақылау сұрақтары:
* DetailBand1 бөлімінің қызметін түсіндір?
* ColumnHeaderBand1 білімінің қызметін түсіндір?
* Осы зертханалық жұмыста QReport қатпарының қандай компонентімен жұмыс жасадық? 

                    Зертханалық жұмыс №15
Тақырыбы: Байланысқан кестелерді баспаға жіберу.
Мақсаты: Студенттерді байланысқан кестелерді баспаға жіберуді ұйымдастыруға үйрету.
Осыған дейінгі есеп беру жұмыстары жақсы болғанмен, онда байланысқан кестелерді баспаға шығару мүмкіндігі жоқ. Сол себепті алдыңғы жасап жүрген жобамызды одан ары күрделендіре түсейік.
                                       
                               Тапсырма:
* Осы зертханалық жұмыста көрсетілген мысалдарға қарай отырып, өздеріңіз жасап жүрген <<Кітапхана>>, <<Студент>> жобаларыңызды өзгертіңіздер;
* Осы баспаға шығарылған кестеге мәліметтердің реттік санын көрсететіндей мәнді қосыңыз;
* Осыған дейінгі зертханалық жұмыстарда алған тәжірибелеріңізге сүйене отырып, өзіңіз таңдаған бір бағытта жоба құру.

                      Бақылау сұрақтары:
* QRSubDetail бөлімінің қызметін түсіндір?
* Байланысқан кестелерге SQL-сұраныстар қалай жазылады?
QRSubDetail бөлімінің қандай қасиеттерін өзгерттіңіз?
                                       





 ОСӨЖ  ОРЫНДАУ  БОЙЫНША ӘДІСТЕМЕЛІК НҰСҚАУ
                                       
СӨЖ бойынша тапсырмаларды орындау және тапсыру графигі
                                       
                               Тапсырма
                                      №
СӨЖ тақырыбы
                        Дайындау формасы
             Орындауға қойылатын шарттар
                                   Балл
                         Тапсыру мерзімі
                         Бақылау формасы
                                      * 
DBF мәліметтер қоры
                                Реферат
Шрифт Times New Roman, 14, 4 беттен кем емес. А4 бетте
                                       2
                                  2 апта
                                 Қорғау
                                      * 
Paradox мәліметтер қоры
                                Реферат
Шрифт Times New Roman, 14, 4 беттен кем емес. А4 бетте
                                       2
                                  4 апта
                                 Қорғау
                                      * 
XML мәліметтер қоры
                                Реферат
Шрифт Times New Roman, 14, 4 беттен кем емес. А4 бетте
                                      2,5
                                  6 апта
                                 Қорғау
                                      * 
Клиент-серверлік мәліметтер қоры
                                Реферат
Шрифт Times New Roman, 14, 4 беттен кем емес. А4 бетте
                                       2
                                  9 апта
                                 Қорғау
                                      * 
Мәліметтерге қатынау технологиялары.
                                Реферат
Шрифт Times New Roman, 14, 4 беттен кем емес. А4 бетте
                                       2
                                  11 апта
                                 Қорғау
                                      * 
SQL  сұраныстар тілі.
                                Реферат
Шрифт Times New Roman, 14, 4 беттен кем емес. А4 бетте
                                       3
                                  13 апта
                                 Қорғау
                                       
                                       
Пәндер