Идентификатор
ТАӘ
Топ
Жын
101
Иванов Ф.И.
35
Е
102
Кириллова Е.Е.
35
Ә
103
Потапов В.С.
35
Е
104
Дудко О.В.
35
Ә
105
Таран О.С.
44
Е
106
Ильин Г.С.
44
Е
107
Федорова Д.С.
35
Ә
108
Медведева Ж.А.
44
Ә
109
Пушкина А. А
44
Ә
9.11
сурет. «Идентификатор» бағаны бойынша қарапайым индекс мысалы
Бұл жағдайда кестенің келесі өрістеріне негізделген композиттік
индексті пайдалануға болады: «Бөлімше», «Табельді нөмір».
Дерекқордағы кестелерде индекстер болмауы мүмкін. Бұл
жағдайда үлкен кесте үшін белгілі бір жазбаның іздеу уақыты өте
маңызды болуы мүмкін және индекстің қолданылуы қажет болады.
Екінші жағынан, сіз тым көп индекстерді құруға қатыспауыңыз керек.
Индекстердің санын арттыру кесте жолдарын қосу, жаңарту және жою
операцияларын баяулатады, себебі индекстің өзі жаңартылуы қажет.
Оңтайлы сұрау өнімділігі үшін әдетте сұрауларда жиі пайдаланылатын
кесте бағандарында индекстер жасалады. Сонымен қатар, индекстер
қосымша көлемде жұмыс атқарады.
Бөлімше
нөмірі
Табельді
нөмір
ТАӘ
Қызметі
Жалақы
сы
001
1
Иванов Федор Иванович
Директор
50000
001
2
Потапов Валерий Самуилович
Директордың
б
40000
001
3
Таран Олег Сергеевич
Бас инженер
40000
002
1
Ильин Иван Васильевич
Бас есепші
45000
002
2
Берковская Ольга Николаевна
Есепші
20000
002
3
Дремина Елена Евгеньевна
Есепші
20000
003
1
Попенко Борис Сергеевич
Бас механик
35000
003
2
Федорова Дарья Сергеевна
Инженер
30000
9.12
сурет. «Бөлімше» және «Қызметкерлер саны» бағандарындағы композиттік
индекстің мысалы
1 6 7
КЕСТЕЛЕРДІ БАЙЛАНЫСТЫРУ.
СІЛТЕМЕЛІК БҮТІНДІК ТҮСІНІГІ
Нақты әлемдік нысандар арасындағы байланыстар дерекқор
деректерінің құрылымында көрініс табуы мүмкін. Әдетте, өзара
байланысты дерекқор өзара байланысты кестелер жиынтығынан
тұрады. Екі немесе одан көп кестелер арасындағы байланыс
ұйымдастыру кестелерді байланыстыру деп аталады.
Кестелер арасындағы байланыстарды СУБД арқылы ұсынылған
құралдарды пайдаланып, кестені жасағанда және бағдарламаны іске
қосқанда орнатуға болады. Екі немесе одан көп кестені байланыстыруға
болады. Бұл басты кестеде (ата-аналық кесте деп те аталады) әрбір жазба
үшін, бағынатын кестеде (балалық кесте деп аталатын) бір немесе одан
да көп жазбалар болуы мүмкін сияқты теңдей қатынастар немесе
бағыныстылық қатынастары болуы мүмкін. Реляциялық дерекқорда
байланыстырылған кестелерге қоса, кез-келген басқа кестеге
қосылмаған бөлек кестелер болуы мүмкін.
Кестелерді байланыстыру үшін қосылымның өрістерін - «сәйкестік»
өрістерін пайдаланыңыз. Байланыс өрістері индекстелуі және бірдей
түрі болуы керек. Үстелдік кестеде индексі сыртқы кілт деп аталатын
негізгі кестеге қосылу үшін шақырылады. Бұл көрсеткіштің құрамы
негізгі кестенің индекстік өрістерінің құрамымен толығымен немесе
ішінара сәйкес келуі керек.
Дерекқор кестелері арасында байланыстың үш түрі бар:
1) «
көпшілігіне біреу»;
2) «
біреуге біреу»;
3) «
көпшілікке көбі».
«Көпшілігіне біреу» қатынасы ата-аналық кестенің жалғыз жазбасы
бірнеше баланың жазбаларына сәйкес келуі мүмкін болған кезде көп
қатынастар пайда болады. Көптеген қарым-қатынастар кейде көптеген
қатынастар деп аталады. Кез келген жағдайда кестелер арасындағы
өзара қарым-қатынас мәні өзгеріссіз қалады. Бір-көпшілік қарым-
қатынас реляциялық дерекқорлар үшін кең таралған болып табылады.
Ол деректер құрылымын моделдеуге және иерархияға мүмкіндік береді.
1 6 8
Сондықтан, индексті жасамас бұрын, сұрау жұмысының жоспарланған
пайдасы индексті сақтау үшін компьютер ресурстарының қосымша
құнынан асатынына көз жеткізу керек.
ID
NAME_GROUP
K_RUK
1
38-
пкс
Федоров С.В.
2
18-
пкс
Иванов Ф.И.
3
44-
э
Попенко Б.С.
4
36-
тг
Ф
ИЛИН
О.К.
9.13
сурет. «Топтар» кестесі
«Біреуден көпгшілікке» қатынастарын көрсету үшін екі кестені
қолданамыз. Біреуі оқу орындарының топтарының тізімін (9,13 сурет),
ал екінші жағынан - студенттердің тізімін көрсетеді (9,14 сурет).
«Топтар» кестесінде келесі құрылым бар:
■
ID—
жазба идентификаторы, бүтін түрдің негізгі өрісі;
■
NAME_GROUP—
топ атауы, таңба түрі өрісі;
■
K_RUK—
сынып мұғалімі, таңба түрі өрісі. «Студенттер» кестесі
келесі өрістерді қамтиды:
■
ID—
жазба идентификаторы, бүтін түрдің негізгі өрісі;
■
NAME_STUD—
Студенттің аты, таңба түрінің өрісі;
■
ID_GROUP—
топ идентификаторы, бүтін түрдегі индекс өрісі.
Бұл жағдайда «Топтар» кестесі негізгі болып табылады, ал
бағынатын кесте - «Студенттер» кестесі. Бұл жағдайда, кестелер
тиісінше «Топтар» және «Оқушылар» кестелерінен, яғни, топтық
идентификатор бойынша, «ID» және «ID_GROUP» өрістерімен
байланысты, студенттің белгілі бір топқа тиесілі екенін анықтай алады.
ID
NAMEJ3TUD
ID_GROUP
1
Иванов Петр Иванович
1
2
Петров Иван Сергеевич
1
3
Таран Ольга Сергеевна
2
4
Дудко Олеся Владимировна
3
4
Дремина Елена Евгеньевна
1
5
Федорова Дарья Сергеевна
2
6
Лесовая Вера Николаевна
2
7
Семенова Елена Геннадьевна
3
8
Никитина Любовь Петровна
4
9
Курганский Владимир Иванович
4
9.14
сурет. «Студенттер» кестесі
1 6 9
Достарыңызбен бөлісу: |