Кілттер мен индекстерді қарастырғанда талай рет ДҚ аясындағы әр
түрлі кестелер арасындағы байланысты ұйымдастыру туралы айтылған. ДҚ
тек қана бір ғана, қызметкерлердің аттары және туған күнінен (күні, айы,
жылы) құралған кестеден тұра алады, бірақ тәжірибеде ДҚБЖ мұндай
мақсатта қолданылмайды: мұндай ақпарат қарапайым электронды кестеде
немесе мәтіндік файлда сақтала алады.
Кестелер арасында қарым-қатынасты ұйымдастыру байланыстыру
немесе кестелерді қосу деп аталады және ДҚ құрудағы негіз болып табылады.
Байланыстар кестелерді құрғанда (кілттер мен индекстерді тағайындау), сол
сияқты құру процессі барысында және қосымша жұмысы кезінде беріледі.
Осы мақсатта ДҚБЖ беретін әр түрлі құралдар қолданылады.
Кестелерді байланыстыру үшін байланыс өрістері деп аталатын өрістер
қолданылады. Мұндай өрістер индекстелген болулары қажет. Кестелерді
байланыстырғанда олардың бірі бас кесте (Master), ал басқасы – бағынышты
(Slave, Detail) деп аталады. Бірақ, бағынышты кестедегі байланысқа жауапты
индекс «сыртқы кілт» деп аталады. Бас кестедегі байланысқа қатысатын өріс
«бас индекс» болуы қажет (егер қолданыстағы ДҚБЖ-де ондай түсінік болса).
Байланысқа қатысатын өрістердің типтері сәйкес келулері қажет, мысалы,
екеуі де бүтін санды болулары қажет [8].
Мысалы, 2 кестеден тұратын ДҚ қарастырайық. Олардың бірінде
клиенттер тізімі сақталған (оны CUSTOMER деп атайық), екіншісінде – осы
клиенттерге берілетін жөнелтпе құжат (BILL). Бұл жағдайда бірінші кестенің
кілті ретінде клиент идентификаторы болуы қажет (CUST_ID типті
автоинкрементті өріс деп алайық), ал екіншісінде, мүмкіндігінше, жөнелтпе
құжат қай клиентке берілгені жөнінде ақпараты бар, идентифицирленген өріс
болуы қажет (BILL_CUST өрісі). Мұнда екінші кестенің кілттік өрісі ретінде
жөнелтпе құжаттың нөмірі қабылданады (BILL_ID өрісі). Пайда болған
байланыста CUST_ID және BILL_CUST байланысқан өрістер болып келеді,
бұл жағдайда соңғысы BILL кестесі үшін сыртқы кілт болып табылады (22
сурет).
22 сурет – Кестелер арасындағы байланыс
Өзара 2 немесе бірден бірнеше кестелерді байланыстыруға болады. Бұл
жағдайда кестелердің бірі бас кесте, ал басқасы – бағынышты болады.
Мұндай байланысты әдетте «бас-бағынышты» деп атайды. Берілген
шарттарға қарай, бұл байланыс келесі 4 түрдің біріндей бола алады:
1) «Бір бірге», мұнда бас кестедегі әр бір жазуға бағынышты кестедегі
1 жазу сәйкес келеді;
2) «Бір көпке», мұнда бас кестедегі әр бір жазуға бағынышты кестедегі
0 немесе көп жазулар сәйкес келеді;
3) «Көп бірге», мұнда бас кестедегі бірнеше жазуға бағынышты
кестедегі 1 жазу сәйкес келеді;
4) Мұнда бас кестедегі жазулардың кез келген санына бағынышты
кестедегі сондай белгісіз жазу саны сәйкес келеді.
2 – нұсқа жиірек кездеседі. Оған жоғарыда қарастырылған мысал да
сәйкес келеді: клиент туралы әрбір жазуға жөнелтпе құжат кестесіндегі кез
келген жазу саны сәйкес келе алады, сонымен қатар егер клиент әлі еш нәрсе
сатып алмаса олар болмайды. Кестелер арасындағы байланыс орнатылғаннан
кейін, бас кестеде белгілі бір жазудың таңдалуы автоматты түрде бағынышты
кестедегі таңдауға алып келеді (23 сурет).
23 сурет – «Бір көпке байланысы»
Кестелерді IDE құралдарымен байланыстыру технологиялары
кейінірек қарастырылады. Бірақ алдын-ала айта кетсек, бұл жағдайда BILL
кестесі үшін Master-Кесте CUSTOMER таңдалған және BILL_CUST '
CUST_ID типті өрістерді біріктіру арқылы байланыс орнатылған [8].
А, Б тапсырмалары
Керекті нұсқаны таңдап, Delphi ортасында кестелер арасында байланыс
орнату (А қосымшасы). Студенттер барлық тапсырмаларды екі нұсқа
бойынша орындаулары қажет (А, Б).
Әдістемелік нұсқаулықтар
Кеселер арасындағы байланысты көрсету үшін тағы бір кесте құру
қажет. Студенттердің үлгерімі туралы кесте құру. Оған келесі өрістер кіреді:
оқу жылы, сессия (қыс немесе жаз), пән, оқытушының ТАЖ, пән бойынша
аттестаттау күні, тапсыру күні, бағасы.
Бұл кесте Студенттер кестесі үшін еншілес болады. Үлгерім кестесіне
қосымша сандық өріс енгізу қажет және оны екінші кілтпен анықтау қажет.
Үлгерім кестесін Студенттер формасында орналастыру.
Table2 Master Source компонентінің қасиеттерінде Data Source1 жазу.
Бұл екінші кесте біріншісі үшін еншілес болатынын білдіреді. Master Fields
қасиетіне екі рет басумен Field Link Designer терезесін шақырамыз (Байланыс
өрісінің дизайнері) (24 сурет).
24 сурет – Байланыс өрісінің дизайнері
Available Index тізімінде (Қолжетімді индекстер) Field Link Designer
терезесінен IDGod индексін таңдау (бұл екінші кестенің екінші индексі).
Detail Field сол жақ тізімінде IdU ерекшелеу, ал оң жақтағы Master Field
(Негіз) тізімінен Ind ерекшелеу. Add (Қосу) батырмасына басу және терезені
жабу (25 сурет) [8].
25 сурет – Field Link Designer терезесі
Осылайша, кестелер арасында байланыс орнатылды. Ол бір көпке
байланысы деп аталады.
Еншілес кестеге, Студенттер кестесіндегі сияқты, мәліметтерді енгізу
және редакциялау батырмаларын қосу (26 сурет).
26 сурет – Еншілес кестеге батырмаларды қосу
Бақылау сұрақтары.
1. Master Source компоненті.
2. Кестелер арасындағы байланыс түрлері туралы айтып беру.
3. «Бір бірге» байланысы туралы айтып беру.
4. «Бір көпке» байланысының қызметі.
5. «Көп бірге» байланысы.
6. «Көп көпке» байланысы.
7. Available Index тізім параметрлері.
8. Байланыс өрісі дизайнерінің қызметі.
6 Зертханалық жұмыс № 6. Есептемелер құру.
Жұмыс мақсаты: есептемелерді құру мүмкіншіліктерімен танысу.
Жалпы мағлұмат
Есептемелерді құру.
Есептеме – ол ДҚ жазбаларынан тұратын басылған құжат. Delphi-де
есептемелер құру үшін, компоненттердің жалпы жиынын қамтитын,
QuickReport есептемелер генераторы қызмет етеді.
Компоненттер
есептемелерді
құруға
арналған,
компоненттер
палитрасының Qreport бетбелгісінде орналасқан [9].
Есептеменің басты элементі QuickRep есептеме-компонент болып
табылады. Ол басқа компоненттер орнатылатын негіз болып келеді. QuickRep
компоненті әдетте, есептеме құруға арналған, бөлек формада орнатылады.
QuickRep компонентінің қасиеттері:
1) Bands – мұнда QuickRep-те орналастырылатын компоненттер
көрсетіледі.
2) DataSet – мұнда есептеме мәліметтер алатын мәліметтер жйыны
көрсетіледі.
3) Frame – мұнда жиектеме параметрлері көрсетіледі.
4) Options – мұнда үш параметр қол жетімді. Егер FirstPageHeader мәні
true-ға тең болса, онда тақырып есептеменің тек қана бірінші бетінде
басылады. Егер LastPageFooter мәні true-ға тең болса, онда төменгі
колонтитул есептеменің тек қана соңғы бетінде ғана басылады. Егер
Compression қасиетін true-ға орнатса, онда есептеме сығылған түрде
сақталады.
5) ReportTitle – мұнда басылатын құжаттың тақырыбы орналасқан.
6) SnapToGrid – белгіленген тор бойынша компоненттерді реттеп
түзету қажет пе?
7) Zoom – мәліметтерді көрсету масштабы.
Есептеме параметрлерінің икемдеуді Report Settings терезесінің
көмегімен орындауға болады. Ол QuckRep компонентін тышқанмен екі рет
басу арқылы шақырылады. Осы терезені қолдану ұнамдырақ, өйткені мұнда
әрдайым болашақ нәтижені көруге болады (27 сурет) [9].
27 сурет – Report Settings терезесі
Әдістемелік нұсқаулықтар
1. «Студенттер» қосымшасын ашу.
2. Бас формаға «Есептеме құру» батырмасын қосу.
3. «Есептеме құру» батырмасына басу арқылы шақырылатын
«Есептеме» жаңа формасын құру.
4. Формаға QReport бетбелгісінен QuickRep компонентін орнату. Бұл
компонентті ерекшелеу және объектілі инспекторда Bands қасиетінің HasTitle
және HasDetail параметрлерін қосу (28 сурет).
28 сурет – Формаға QReport бетбелгісінен QuickRep компонентін орнату
5. Есептеменің
керекті ақпаратын көрсететін
компоненттерді
QuickRep1 секцияларында орналастырайық.
Компоненттер палитрасының QReport бетбелгісінде төмендегі
компоненттер қолжетімді. Оларды осы бөлімдерде орналастыруға болады:
1) QRLabel – жазба. Бұл компонент стандартты TLabel компонентіне
ұқсас және жай ғана керекті мәліметтерді көрсетеді.
2) QRDBText – мәліметтер. Бұл компонент те TLabel компонентіне
ұқсас, бірақ ол деректер қорынан кез келген өрістің тағайындалуын көрсету
үшін арналған.
3) QRSysData – жүйелік ақпарат. Бұл компонент те TLabel
компонентіне ұқсас, бірақ жүйелік ақпаратты көрсету қабілеті бар (күні,
уақыт, бет нөмірі, кестедегі жол нөмірі, беттердің жалпы саны және т.б.
4) QRImage – сурет. TImage-ға ұқсас компонент [9].
6. Title тақырып облысын үлкейту. Жоғарғы бұрышқа QRSysData-ның
бір компонентін орнату. Оны ерекшелеу және Data қасиетінде qrsDateTime
мәнін таңдау. Енді бұл компонент оң жақ жоғарғы бұрышта құжатты басып
шығару уақытын көрсетеді.
7. Tittle облысының ортасында QRLabel компонентін орнату, Font
қасиетінде әріп көлемін үлкейту және Caption қасиетінде «Студенттер»
мәтінін жазу.
8. Tittle облысында QRLabel компоненттерін орнату және оларға
келесі тақырып беру: ТАЖ, Дүниеге келу күні, Сынақ кітапшасының нөмірі,
Мамандығы, Курсы.
9. Detail облысына өту. Тақырыпша астында бес QRDBText
компоненттерін қою. DataSet компоненттерінің қасиеттерінде QRDBText
мәліметтер жиынын орнату – Form1.Table1, ал DataField қасиетінде
QRDBText1 үшін SFio көрсету.
10. QRDBText-тің барлық басқа компоненттерінде сәйкес жолдар
атауларын орнату (29 сурет).
29 сурет – QReport компоненттерін орнату
11. «Баспаға шығару» батырмасын басып бас модульге ауысу және
келесі кодты жазу.
procedure TForm1.SpeedButton5Click(Sender: TObject);
begin
Form4.QuickRep1.Preview; // Preview әдісі шақырылады
// QuickRep компоненті. Бұл әдіс құрылған құжаттың алдын-ала көру //
терезесін көрсетеді.
еnd;
12. Бағдарламаны қосу, кез-келген жолды ерекшелеу және баспаға
жіберу батырмасын басу.
Алдын-ала көру терезесі ашылады (30 сурет).
30 сурет – Алдын-ала көру терезесі ашылады
13. QuickRep1 компонентін ерекшелеу және DataSet қасиетінде
Form1.Table1 кестесін көрсету. Егер бұл әрекетті орындаса QuickRep1
компоненті автоматты түрде бұл кестеден барлық жазуларды сұрыптайды
және оларды DetailBand1 блогында тұрған компоненттерде қолданады [9].
14. Бұдан кейін есептемеде кестенің барлық жазулары пайда болады (31
сурет).
31 сурет – Есептемеде кестенің барлық жазуларын шығару
15. Есептеме
формасына
QReport
бетбелгісінен
QRSubDetail
компонентін орнату. Бұл компонент бағыңқы кестелерге қатысты
мәліметтерді іріктеуге арналған.
16. Келесі қасиеттерді орнату: DataSet – Form1.Table2, Studenti.db
негізгі кестесіне бағыңқы болып келетін Uspevaemost.db кестесімен блокты
байланыстыру үшін.
17. Master қасиетінде негізгі мәліметтермен бас компонентті көрсету
қажет. Бұл қасиетте QuickRep1 таңдау.
18. QRSubDetail компонентінде QRDBText компонентын орналастыру.
Қасиеттерінде олар бағыңқы кестенің қай өрістеріне жүгінетіндігін көрсету
[9].
19. Есептеменің келесі түрі шығады (32 сурет).
32 сурет – Есептеме
Бақылау сұрақтары.
1. Есептеме деген не?
2. Есептемелер қалай құрылады?
3. «Басып швғару» батырмасының коды.
4. QReport бетбелгі компоненттері.
5. QuickRep компоненті туралы айтып беру.
6. QRSubDetail компонентінің функциялары.
7. QRSysData компонентінің тағайындалуы.
8. QRLabel компонентінің тағайындалуы.
А қосымшасы
Деректер қорлары тақырыптарының тізімі (ДҚ)
А нұсқасы
1. «Тауар өткізу» ДҚ құру.
2. «Қойма» ДҚ және қосымшасын құру.
3. «Жылдық өнім есебі» ДҚ және қосымшасын құру.
4. «Тұрмыстық қызмет есебі» ДҚ және қосымшасын құру.
5. «Өнім өткізу» ДҚ және қосымшасын құру.
6. «Жылдық тасымал есебі» ДҚ және қосымшасын құру.
7. «Салық төлемдері» ДҚ құру.
8. «Тауарлар сапасы сараптамасы туралы акт құру» ДҚ құру.
9. «Дүкендегі тауар қозғалысының есебі» ДҚ құру.
10. «Қоймадағы құрал-саймандарды есептеу және бақылау» ДҚ құру.
11. «Айлық төлемді есептеу» ДҚ құру.
12. «Автобусқа (поезд, самолет) билеттер сату» ДҚ құру.
13. «Кітапханадағы оқырмандарға қызмет көрсету» ДҚ құру.
14. «Кадр бөлімі» ДҚ және қосымшасын құру.
15. «Сауда үйі» ДҚ құру.
16. «Халықтың тұрмыс қажетін өтеу қызметі» ДҚ құру.
17. «Кеден қызметі» ДҚ құру.
18. «Өнеркәсіп мекемесі» ДҚ құру.
19. «Қаржылық орган» ДҚ құру.
20. «Көлік қызметі» ДҚ құру.
Б нұсқасы
1. «Мемлекеттік қызмет» ДҚ құру.
2. «Сақтандыру компаниясы» ДҚ құру.
3. «Электр жабдықтарды сертификаттау» ДҚ құру.
4. «Материалдық-техникалық жабдықтау» ДҚ құру.
5. «Қонақ үй кешенін сертификаттау» ДҚ құру.
6. «Аудиторлық фирма» ДҚ құру.
7. «Құрылыс компаниясы» ДҚ құру.
8. «Бөлшек сауда кәсіпорны» ДҚ құру.
9. «Қоғамдық тамақтандыру кәсіпорны» ДҚ құру.
10. Үлестірілген деректер қорлары ДҚ құру.
11. Нәтижелерді статистикалық өңдеу үшін ДҚ қолдану.
12. «Өнеркәсіптік класс өнімін өндіру» ДҚ құру.
13. Қызмет көрсету аясы ДҚБЖ қолданып сараптау жүйесін құру.
14. ЖТК (КСК) үшін ДҚ құру.
15. «Мұражай» ДҚ құру.
16. «Сабақтар кестесі» ДҚ құру.
17. «Көмір шығару және өткізу есебі» ДҚ құру.
18. Медициналық мекеме үшін ДҚ құру.
19. Қонақ үй кешені үшін ДҚ құру.
20. Бағдарламалық жабдық таңдауды анықтау үшін ДҚ құру.
Әдебиеттер тізімі
1.Дейт К.Дж. Введение в системы баз данных. — М.: Издательский дом
«Вильямс», 2008.
2. Коннолли Т., Бегг К. Базы данных. Проектирование, реализация и
сопровождение. Теория и практика. — М.: Издательский дом «Вильямс»,
2003.
3. Кузнецов С.Д. Основы баз данных. — 1-е изд. — М.: «Интернет-
университет информационных технологий - ИНТУИТ.ру», 2005.
4.Харрингтон Дж. Разработка баз данных. – М.: ДМК Пресс, 2005.
5. Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных.
Учебник для вузов. – М.: Корона-Принт, 2004.
6. Кандзюба С.П., Громов В.Н. Delphi 6/7. Базы данных и приложения. –
СПб: ООО «ДиаСофтЮП», 2002.
7. Григорьев Ю. А., Ревунов Г. И. Банки данных. – М.: Изд. МГТУ им.
Н. Э. Баумана, 2002.
8. Харрингтон Д. Проектирование реляционных баз данных просто и
доступно. – М.: Изд. «Лори», 2004.
2013 ж. баспа жоспары, реті 200
Балнур Каирбайкызы Каирбаева
Наталья Александровна Водолазкина
МӘЛІМЕТТЕР ҚОРЛАРЫНЫҢ ЖҮЙЕСІ
5В070300 – Ақпараттық жүйелер
мамандығының студенттері үшін
зертханалық жұмыстарды орындауға арналған әдістемелік нұсқаулықтар
Редактор Б.С. Қасымжанова
Стандарттау бойынша маман Н.К. Молдабекова
___.___.___. басуға қол қойылды
Пішімі 60х84 1/16
Таралымы 30 дана.
№1 типографиялық қағаз
Көлемі 2,37 оқу.-бас.ә.
Тапсырыс __ Бағасы 1188.
«Алматы энергетика және байланыс университеті»
коммерциялық емес акционерлік қоғамының
көшірмелі-көбейткіш бюросы
050013, Алматы, Байтұрсынұлы көшесі, 126
Достарыңызбен бөлісу: |