Деректер қорын жоспарлау, реляциялық дерекқор
Кітапхана каталогынан керек кітапты неге бірден табасың — бүкіл сөресін түгел қарамай? Себебі каталог АЛФАВИТ БОЙЫНША реттелген «көрсеткіш». Деректер қорында да дәл осындай тездетуші механизм бар — индекс. Бүгін деректер қорын дұрыс ЖОБАЛАУДЫҢ негізгі ұғымдарын — өріс, кілт, индекс — үйренеміз.
Реляциялық ДҚ өзара байланысқан кестелерден тұрады: кестенің әр жолы БІР объект туралы дерек (мыс. бір клиент), ал бағаны сол объектінің сипатын (телефон нөмірі) қамтиды.
Кестенің бағандары — өрістер (field), жолдары — жазбалар (record) деп аталады. Әр өрістің қайталанбайтын атауы болуы керек.
Индекс — негізгі кестедегі іздеуді тездететін көмекші кесте (кітаптағы алфавиттік көрсеткішке ұқсас).
Берілді: тегі бойынша индекс жасалған кесте (алфавит бойынша реттелген):
Tegi Nomer
Nagashybai 1
Ryzymbaev 2
Shynybek 3 Неге жылдам? «Шыныбек» тегін іздегенде, индекстен ЕКІЛІК іздеу арқылы дереу «3» нөмірін табамыз, содан кейін ТЕК 3-жазбаны негізгі кестеден аламыз — бүкіл кестені толық қарап шығудың қажеті жоқ.
Жауабы: индекс арқылы іздеу сызықтық іздеуден әлдеқайда жылдам, әсіресе миллиондаған жазба болғанда.
Бастапқы (алғашқы) кілт — кестедегі әрбір жазбаны БІРЕГЕЙ анықтайтын өріс. Кестеде кілттің бірдей мәні бар екі жазба болуы МҮМКІН ЕМЕС.
Бастапқы кілт екі тәсілмен жасалады:
| Түрі | Сипаттамасы |
|---|---|
| Логикалық (табиғи) кілт | Нақты сипаттама (мыс. төлқұжат нөмірі) |
| Суррогатты (жасанды) кілт | Арнайы қосылған, бірегей бүтін сан (мыс. id) |
id) кілт қолдану ЖИІ сенімдірек.Сыртқы кілт (foreign key) — бір кестенің өрісі, оның мәні БАСҚА кестенің бастапқы кілтіне сілтеме жасайды. Кестелер арасындағы байланысты ұйымдастырады.
Берілді: үш кесте — Persons (тарихи тұлғалар), Artifacts (өнертабыстар), Images (суреттер). Үшеуінде де бастапқы кілт — id. Artifacts.author және Persons.photo/Artifacts.photo өрістері бар.
Шешуі: Artifacts.author — Persons кестесінің бастапқы кілтіне сыртқы кілт (авторды көрсетеді). Persons.photo мен Artifacts.photo — Images кестесінің бастапқы кілтіне сыртқы кілт.
Жауабы: егер Persons кестесінде photo=10 болса, бұл сол тұлғаның суреті Images кестесінде id=10 жазбасында сақталғанын білдіреді.
1. ДҚ қызметін анықтау (не шешеді).
2. Кестелер құрылымын анықтау (қайталанбауын қадағалау).
3. Өрістерді анықтау.
4. Кілттік өрісті анықтау (әр кестеде бастапқы кілт болуы керек).
5. Кестелер арасындағы байланысты анықтау.
6. Программалық жабдықты (ДҚБЖ) таңдау.
Берілді: «Қазақ халқының музыкалық аспаптары» деректер қорын құру керек.
- Міндет: аспаптар туралы ақпаратты сақтап, іздеу.
- Кесте құрылымы: «Музыкалық аспаптар» кестесі.
- Өрістер: аспап атауы, түрі, фотосурет.
- Бірінші кілт: аспап коды (бірегей нөмір).
Жауабы: осы төрт қадам арқылы дербес, қайталанбайтын құрылымы бар кесте жобаланады.
- Өрістер — бағандар, жазбалар — жолдар; индекс іздеуді жеделдетеді.
- Бастапқы кілт жазбаны бірегей анықтайды: логикалық немесе суррогатты болуы мүмкін.
- Сыртқы кілт кестелер арасындағы байланысты орнатады.
- ДҚ жобалау: қызметін анықтау → кесте → өріс → кілт → байланыс → ДҚБЖ таңдау.