Ma'lumotlar bazasi maydoni. Ma'lumotlar bazasi modeli

1-daraja:Daraja tashqi modellar - bu har bir model ma'lumotlarga o'z nuqtai nazariga ega bo'lgan eng yuqori darajadir. Ushbu daraja individual dasturlarning ma'lumotlar bazasi nuqtai nazarini belgilaydi.

Kontseptual daraja:Ma'lumotlar bazasi bu erda barcha dasturlarda ishlatiladigan ma'lumotlarni birlashtiradigan eng umumiy shaklda taqdim etiladigan markaziy boshqaruv havolasi. Aslida, kontseptual daraja umumlashtirilgan domen modelini aks ettiradi.

Jismoniy qatlam (Malumotlar bazasi):Bu ma'lumotlar yoki tashqi xotira vositalarida joylashgan sahifa tuzilmalarida joylashgan ma'lumotlar.


Ma'lumotlar modellari

Quyidagi ma'lumotlar modellari ajralib turadi:

1. Infologik

2. Sana mantiqiy

3. Jismoniy

Ma'lumotlar bazasini loyihalash jarayoni infologik modelni loyihalashdan boshlanadi. Ma'lumotlarning infologik modeli - bu ma'lumotlar bazasini loyihalashda ishlaydigan barcha odamlar uchun tushunarli bo'lgan tabiiy til, matematik formulalar, jadvallar, grafikalar va boshqa vositalar yordamida yaratilgan ma'lumotlar bazasining umumlashtirilgan norasmiy tavsifi.

Domen katakchasi

Infologik model real dunyoni ma'lumotlarni o'qish muhitidan mutlaqo mustaqil bo'lgan inson tomonidan tushunarli tushunchada aks ettiradi. Shuning uchun, Infologik model haqiqiy dunyodagi ba'zi o'zgarishlar, ta'rifdan tashqari o'zgarishlarni talab qilmaguncha, o'zgarmasligi kerak, shunda ushbu model mavzu maydonini namoyish etishda davom etadi.

Ushbu modelni yaratishda ko'plab yondashuvlar mavjud: grafik modellar, semantik tarmoqlar, mavjudlik munosabatlari va boshqalar.

Datalogik model

Infologik model ma'lumotlar bazasi ma'lumotlar bazasi tushunadigan datalogik modelda aks ettirilishi kerak. Datalogical model - bu ma'lumotlar bazasi tilidagi infologik modelning rasmiy tavsifi.

Ierarxik model

Ushbu model shakllanadigan bog'liq elementlarning to'plamidir ierarxik tuzilish... Ierarxiyaning asosiy tushunchalari daraja, tugun va munosabatlardir.

aloqa darajasi


Tugun - bu ob'ektni tavsiflovchi ma'lumotlar atributlari to'plami. Har bir tugun bitta tugunga ko'proq tomonidan bog'langan yuqori daraja va har qanday pastki darajadagi tugunlar bilan. Istisno - bu eng yuqori darajadagi tugun. Ma'lumotlar bazasidagi daraxtlar soni daraxt ildizlari soniga qarab belgilanadi. Ildiz yozuvidan har bir ma'lumotlar bazasi yozuviga bitta yo'l bor. Oddiy misol Internet-domen nomi tizimi / manzili sifatida xizmat qilishi mumkin. Birinchi sathda (daraxtning ildizi) Yer sayyoramiz, ikkinchisida - Mamlakat, uchinchisida - Mintaqa, to'rtinchisida - aholi punkti, ko'cha, uy, kvartira joylashgan. Odatda vakili IBM - IMS dan DBMS hisoblanadi.

Barcha holatlar ushbu turdagi ajdod turining umumiy misoli bo'lgan nasl egizak deyiladi. Ma'lumotlar bazasi uchun to'liq o'tish tartibi aniqlangan. Yuqoridan pastga va o'ngdan chapga.

Jismoniy model

Datalogical model asosida fizik model quriladi. Jismoniy tashkilot ma'lumotlar bazasi ishlashiga katta ta'sir ko'rsatadi. Ma'lumotlar bazasi ishlab chiquvchilari fizikaviy ma'lumotlarning eng samarali modellarini yaratishga harakat qilmoqdalar, foydalanuvchilarga ma'lum bir ma'lumotlar bazasi uchun modelni sozlash uchun ushbu yoki boshqa vositalarni taklif qilishdi.

Misol: Xususan, relyatsion ma'lumotlar bazasi uchun u allaqachon quyidagilarni hisobga oladi:

1. Jadvallarni aniq fayllarda saqlashning fizik jihatlari.

2. Ilova yordamida ma'lumotlar bilan ishlash tezligini optimallashtiradigan indekslarni yaratish.

3. Triggerlar va saqlangan protseduralardan foydalangan holda foydalanuvchilar tomonidan aniqlangan ba'zi hodisalarda ma'lumotlar bo'yicha turli xil harakatlarni bajarish.

Infologik modellar X

Jismoniy modellar


Barcha darajalar va har qanday taqdimot usuli uchun mavzu maydoni, tushunchalar o'rtasidagi munosabat tushunchalarini kodlash yotadi. Har qanday rivojlanishning asosiy bosqichi axborot tizimi tizim tahlilidir:

Mavzu sohasini rasmiylashtirish va tizimni tarkibiy qismlar to'plami sifatida taqdim etish.

Tarkib tizim tahlilining asosi sifatida funktsional bo'lishi mumkin (ierarxiyani yaratish).

Biroq, ko'pgina tizimlarda ma'lumotlar bazalari haqida gap ketganda, ma'lumotlar turlari ularni qayta ishlashga qaraganda ancha statikroq. Shuning uchun ma'lumotlar sxemasi kabi tizimni tahlil qilish usullari intensiv ravishda ishlab chiqilgan. Relyatsion ma'lumotlar bazalarini ishlab chiqish. Ma'lumotlarni ishlab chiqish texnikasini, xususan ER diagrammalarini ER rivojlantirishni rag'batlantirdi. Ma'lumotlarning relyatsion modeli to'g'ridan-to'g'ri munosabatlar tushunchasini xaritalash sifatida ishlatadi. Ma'lumotlarning kontseptual taqdimoti modeliga eng yaqin. Va ko'pincha buning asosida yotadi.

Grafik model nazariyotchisidan farqli o'laroq, relyatsion modelda munosabatlar o'rtasidagi munosabatlar yashirin tarzda amalga oshiriladi, buning uchun munosabatlar kalitlari ishlatiladi. Masalan, iyerarxik tipdagi munosabatlar tobe munosabatda atribut haqiqati bo'lishi kerak bo'lgan hollarda asosiy va tashqi kalitlarning mexanizmi bilan amalga oshiriladi.

Asosiy munosabatdagi munosabatlarning bunday atributi asosiy kalit, bo'ysunuvchida esa ikkinchi darajali kalit deb ataladi.

Dastlabki ma'lumotlarni terish va ob'ektga yo'naltirilgan tillarning paydo bo'lishi bilan bog'liq bo'lgan dasturlash tillarini rivojlantirishdagi taraqqiyot murakkab tizimlarni tahliliga ierarxik tasvirlar nuqtai nazaridan yondashishga imkon berdi, ya'ni polimorfizm, merosxo'rlik va inkassulyatsiya xususiyatlariga ega bo'lgan ob'ektlar sinflaridan foydalangan holda.

RATIO - JADVAL.

Jadvallarni, yozuvlarni tahrirlash ...

Yaratilgan narsani o'chirish va

Tahrirlash.


Ma'lumotlar bazasi modeli

Ma'lumotlarning relyatsion modellari hozirda eng ommabop bo'lib kelmoqda, chunki bunday ma'lumotlar taqdimoti.

Relyatsion modelni o'z ma'lumotlarini (jadval shaklida) va u bilan ishlash va manipulyatsiya usullarini (havolalar shaklida) o'z ichiga olgan ma'lumotlarni taqdim etishning maxsus usuli deb hisoblash mumkin. Relyatsion model uchta kontseptual elementni o'z ichiga oladi: Struktura, yaxlitlik va ma'lumotlarni qayta ishlash. Ushbu elementlar o'zlarining majburiy tushunchalariga ega, ular keyingi taqdimot uchun tushuntirilishi kerak.

Jadval to'g'ridan-to'g'ri ma'lumotlar ombori sifatida qaraladi. An'anaviy ravishda relyatsion tizimlarda jadval deyiladi munosabat.Jadval qatori deyiladi koreyka orqaliva ustun xususiyat... Atributlar noyob nomlarga ega (munosabatlar doirasida).

Jadvaldagi kataklar soni deyiladi asosiy raqam... Atributlar soni daraja.O'zaro munosabatlar uchun noyob identifikator o'rnatiladi, ya'ni qiymatlari bir vaqtning o'zida bir xil bo'lmagan bir yoki bir nechta atributlar - identifikator deyiladi asosiy kalit.Domainbu u yoki bu atribut uchun qabul qilinadigan bir hil qiymatlar to'plami. Shunday qilib, domen nomlangan ma'lumotlar to'plami sifatida qaralishi mumkin va ushbu to'plamning tarkibiy qismlari mantiqan bo'linmaydigan birliklardir (masalan, muassasa xodimlarining ismlari ro'yxati domen vazifasini bajarishi mumkin, ammo jadvalda barcha ismlar mavjud bo'lishi mumkin emas).

Xulosa Kireeva 25.50 Motyleva 17.05 … …. …

Xulosa

atributlar

KOD, NAME, SUMM maydonlari sarlavhada joylashgan jadval atributlari.

KOD 5216, NAME Kireev, SUMM 25.50 juftliklari munosabatlar tanasining elementlari.

Relyatsion ma'lumotlar bazalarida, boshqa modellardan farqli o'laroq, foydalanuvchi o'zi uchun qanday ma'lumotlar kerakligini belgilaydi va buni qanday qilishni emas. Shu sababli, relyatsion tizimlarda ma'lumotlar bazasini ko'chirish va navigatsiya qilish jarayoni avtomatik ravishda amalga oshiriladi va MBB-dagi bu vazifa tomonidan bajariladi. optimallashtiruvchi.Uning vazifasi maksimal darajada foydalanishdir samarali usul so'rov bo'yicha ma'lumotlar bazasidan ma'lumotlarni olish. Shunday qilib, optimallashtiruvchi hech bo'lmaganda ma'lumotlar qaysi jadvallardan olinishini, ushbu jadvallardagi qancha ma'lumotni va jadvallardagi yozuvlarning fizik tartibini va ularning qanday guruhlanganligini aniqlay olishi kerak.

Bundan tashqari, relyatsion ma'lumotlar bazasi ham katalog funktsiyalarini bajaradi. Katalog ma'lumotlar bazasini tashkil etuvchi barcha ob'ektlarning tavsifini o'z ichiga oladi: jadvallar, indekslar, triggerlar va boshqalar. Shubhasiz, optimallashtiruvchi kabi komponent butun tizimning to'g'ri ishlashi uchun juda muhimdir. Optimizator katalogda saqlangan ma'lumotlardan foydalanadi. Qizig'i shundaki, katalog o'zi jadvallar to'plamidir, shuning uchun MBB uni boshqarishi mumkin an'anaviy usullarhech qanday maxsus texnika va usullarga murojaat qilmasdan.

Domenlar va munosabatlar

Asosiy ta'riflar: Domenlar, munosabatlar turlari, predikatlar.

Aloqalar bir qator asosiy xususiyatlarga ega:

1. Umuman olganda, munosabatlarda umumiy aloqalar mavjud emas - bu munosabatlarning aniqlanishidan kelib chiqadi. Shu bilan birga, ba'zi DBMSlar uchun ba'zi hollarda ushbu xususiyatdan chetga chiqishga yo'l qo'yiladi. O'zaro munosabatlarda birlamchi kalit mavjud ekan, bir xil guvohnomalar chiqarib tashlanadi.

2. Tupllar yuqoridan pastgacha buyurtma qilinmaydi - aloqada shunchaki pozitsion son tushunchasi yo'q. Ma'lumotni yo'qotmasdan munosabatlarda siz har qanday tartibda koreyslarni muvaffaqiyatli tashkil qilishingiz mumkin.

3. Atributlarga chapdan o'ngga buyruq berilmaydi. Ma'lumotlarning yaxlitligi buzilmasa, munosabatlar sarlavhasidagi atributlar har qanday tartibda joylashtirilishi mumkin. Shuning uchun atributga nisbatan pozitsion son tushunchasi ham mavjud emas.

4. Atributlarning qiymati mantiqan bo'linmaydigan birliklardan iborat - bu qiymatlar domenlardan olinganligidan kelib chiqadi, aks holda munosabatlarda takrorlash guruhlari mavjud emas deyishimiz mumkin. Ya'ni ular normallashtirilgan.

Relyatsion tizimlar bir necha turdagi munosabatlarni qo'llab-quvvatlaydi:

1. Nomlangan o'zgaruvchilar - bu ma'lumotlar bazasini yaratish operatorlari yordamida aniqlangan munosabatlar o'zgaruvchilari va qoida tariqasida foydalanuvchi uchun ma'lumotni yanada qulayroq taqdim etish uchun zarurdir.

2. Asosiy munosabatlar to'g'ridan-to'g'ri ma'lumotlar bazasining muhim qismidir, shuning uchun ularni loyihalash paytida ularning nomlari beriladi.

3. DBMS vositalari yordamida boshqa, odatda, asosiy munosabatlar orqali aniqlangan munosabatlar.

4. Ushbu ko'rinish aslida nomlangan olingan munosabatdir va ko'rinish faqatgina nomlangan munosabatlarga qo'llaniladigan MBB operatorlari orqali ifodalanadi, shuning uchun ular ma'lumotlar bazasida jismonan mavjud emas.

5. So'rovlar natijasi ma'lumotlarni o'z ichiga olgan noma'lum olingan munosabatlardir (ma'lum bir so'rov natijasi). Natija ma'lumotlar bazasida saqlanmaydi, lekin foydalanuvchi kerak bo'lganda mavjud bo'ladi.

6. Saqlangan munosabatlar - bu munosabatlar xotirasida jismonan saqlanib turadigan munosabatlar.Saqlanadigan munosabatlar ko'pincha munosabatlar bazasini o'z ichiga oladi. Yuqoridagilardan kelib chiqib, siz ma'lumotlar bazasini bir-biri bilan bog'liq bo'lgan munosabatlar to'plami sifatida belgilashingiz mumkin.


Bu holda bog'liqlik ikki yoki undan ortiq munosabatlarning birlashishi hisoblanadi.

KOD ADRES
1 1-dan ko'p-ga bog'liqlik shundan iboratki, har bir lahzada har bir element (A grafasi) B grafasining bir nechta elementlariga to'g'ri keladi.
Inary Ikkilik havola
Talabalar
O'qituvchilar
Mashg'ulotlar jadvali

Talabalar

Uchlamchi aloqalar


Ma'lumotlarning yaxlitligi

Relyatsion modellarda ma'lumotlar yaxlitligi masalasi alohida o'rin tutadi. Eslatib o'tamiz, kalit yoki potentsial kalit - bu minimal darajadagi atributlar to'plami, ularning qiymatlari bo'yicha kerakli topleni noyob tarzda topish mumkin, minimallik shundan iboratki, to'plamdan biron bir atributni chiqarib tashlash, qolgan atributlar bo'yicha topleni aniqlashga imkon bermaydi.

Har qanday munosabat kamida bitta mumkin bo'lgan kalitga ega. Ulardan biri asosiy kalit sifatida qabul qilinadi.

Asosiy kalitni tanlashda kompozitsion bo'lmagan kalitlarga yoki minimal atributlar to'plamidan tashkil topgan kalitlarga ustunlik berish kerak. Uzun tugmachalardan foydalanish ham istalmagan matn qiymatlari (Butun sonli atributlar kalit sifatida afzal qilingan.) Shunday qilib, xodimni aniqlash uchun siz noyob xodimlar raqamidan yoki pasport raqamidan yoki familiyalar to'plamidan, otasining ismi va bo'lim raqamidan foydalanishingiz mumkin. O'zaro munosabatlarning asosiy kaliti, ya'ni birlamchi kalitda qatnashadigan har qanday atribut aniqlanmagan qiymatlarni qabul qilishiga yo'l qo'yilmaydi. Bunday holda qarama-qarshi vaziyat yuzaga keladi ( to'qnashuv): Birlamchi kalitning noyob elementi paydo bo'ladi. Shuning uchun ma'lumotlar bazasini loyihalashda buni diqqat bilan ko'rib chiqish kerak.

Chet el kalitlari haqida. Shuni ta'kidlash kerakki, S munosabati B va A munosabatlarni birlashtirganligi sababli, u A va B munosabatlarning asosiy tugmalariga mos keladigan chet el kalitlarini o'z ichiga olishi kerak.

Jadvalning tashqi kaliti boshqa jadvallarning bir nechta asosiy kalitlari yordamida hosil bo'ladi.

Shunday qilib, ma'lumotlar bazasida munosabatlarni bog'lash usulini tanlash muammosini ko'rib chiqishda, tashqi kalitlar qanday bo'lishi kerakligi haqida savol tug'iladi. Bundan tashqari, hamma uchun tashqi kalit aniqlanmagan qiymatlarning chet el kalitlarida paydo bo'lishi (yoki mumkin emasligi) bilan bog'liq muammoni hal qilish kerak (NULL - qiymatlar - qiymat etishmayotgan ma'lumot uchun atribut). Boshqacha qilib aytadigan bo'lsak, munosabatlarda biron bir korxona bo'lishi mumkin emasmi?

Boshqa tomondan, chet el kalitlari nazarda tutilgan aloqalardan korroziyani olib tashlaganingizda nima bo'lishini oldindan o'ylab ko'rishingiz kerak. Biroq, quyidagi mumkin bo'lgan imkoniyatlar mavjud:

· Amaliyot kaskadlar - ya'ni munosabatlardagi koreyslarni yo'q qilish, munosabatlar bilan bog'liq bo'lgan to'siqlarni yo'q qilishga olib keladi. Masalan, ism familiyasi haqidagi ma'lumotlarni o'chirish va h.k. xodim bir jihatdan boshqa jihatdan uning ish haqi to'g'risida o'chirishga olib keladi;

· Ishlash bilan cheklangan -ya'ni faqatgina boshqa jihatdan tegishli ma'lumot mavjud bo'lmagan naychalar o'chiriladi. Ma'lumotlarning hammasi ham o'chirilmaydi (har jihatdan ham emas), chunki u boshqa usullar bilan ishlatilishi mumkin, bu ma'lumotlar o'chirilishi ma'lumotlar yaxlitligini buzishga olib keladi. Agar bunday ma'lumot mavjud bo'lsa, uni o'chirish mumkin emas, masalan, ism, familiya va hk. xodim faqatgina uning ish haqi to'g'risida tegishli munosabatlarda ma'lumot bo'lmasagina mumkin.

Ba'zi bir tashqi kalitlarga havola qilingan munosabatlarning asosiy kalitini yangilashga urinish sodir bo'lganda nima bo'lishini texnologiyasini ta'minlash kerak. Bu erda siz o'chirishda bo'lgani kabi bir xil variantlarga egasiz:

· Amaliyot kaskadli bo'ladi, ya'ni birlamchi kalit yangilanganda, aloqada bo'lgan tashqi kalit yangilanadi. Masalan, xodimlarning ma'lumotlari saqlanadigan munosabatlarda asosiy kalitni yangilash, ish haqi to'g'risidagi ma'lumotlar bilan aloqada tashqi kalitni yangilashga olib keladi.

· Amaliyot cheklangan, ya'ni faqat boshqa tegishli ma'lumot bo'lmagan asosiy kalitlar yangilanadi. Agar bunday ma'lumot mavjud bo'lsa, yangilanishni amalga oshirish mumkin emas. Masalan, xodim haqida ma'lumot saqlanadigan munosabatlardagi asosiy kalitni yangilash, agar u bilan bog'liq munosabatlarda uning maoshi to'g'risida ma'lumot bo'lmasa.


Aloqaviy algebra

Ma'lumotlar bazasi modeli bazasining rasmiy asosini munosabatlar nazariyasiga asoslangan va munosabatlar bo'yicha maxsus operatorni ko'rib chiqadigan munosabat algebrasi va matematik mantiq asosida relyatsion hisoblash tashkil etadi.

Tarkibi

A A A B C C D D E.
D D.
VA
A B C D D E. F F G

Shuni ta'kidlash kerakki, relyatsion algebra juda kuchli - ma'lumotlar bazasining murakkab so'rovlari bitta ibora yordamida ifodalanishi mumkin. Shu sababli ushbu mexanizmlar tarkibiga kiritilgan munosabat modeli ma'lumotlar. Bitta relyatsion algebra ifodasi yoki bitta relyatsion hisoblash formulasi yordamida bildirilgan har qanday so'rov ushbu tilning bitta operatori yordamida ifodalanishi mumkin.

Aloqaviy algebra muhim xususiyatga ega - munosabat tushunchasiga nisbatan yopiq. Bu shuni anglatadiki, relyatsion algebra ifodasi relyatsion ma'lumotlar bazalari munosabatlarida bajariladi va ularni hisoblash natijalari ham munosabatlardir.

Relyatsion algebraning asosiy g'oyasi shundaki, to'plam sifatida qaraladigan munosabatlarni manipulyatsiya qilish vositalari an'anaviy ma'lumotlar bazasi uchun ba'zi bir aniq operatsiyalar bilan to'ldirilgan an'anaviy ko'p sonli operatsiyalarga asoslangan.

Keling, KODDOM tomonidan taklif qilingan algebra variantini tavsiflaylik. Amaliyot 8 asosiy operatordan iborat:

Aloqani olish (yagona operatsiya)

Aloqa proektsiyasi (yagona operatsiya)

Ittifoq munosabatlari

Aloqalar kesishmasi (ikkilik operatsiya)

O'zaro munosabatlarni olib tashlash

Mahsulot munosabatlari

Aloqalarni bog'lash

Aloqalar bo'limi

Ushbu operatsiyalarni quyidagicha izohlash mumkin:

· Ba'zi bir shartlar uchun munosabatlarni tanlash natijasi faqat ushbu shartni qondiradigan dastlabki munosabatlarning korreklarini o'z ichiga olgan munosabatdir.

· Aloqalar uning atributlarining berilgan to'plamiga proyeksiyalashganda, birinchi munosabatlarning mos keladigan gravitatsiyasidan tortib olingan munosabatlar olinadi.

· Ikki munosabatlarga qo'shilish operatsiyasini bajarishda, operatsiyada ishtirok etadigan munosabatlarning kamida bittasiga kiritilgan barcha korrektsiyalarni o'z ichiga olgan munosabatlar olinadi.

· Ikki munosabatlarning kesishish operatsiyasini bajarishda, har ikkala asl munosabatlarga kiritilgan barcha nayzalarni o'z ichiga olgan munosabat olinadi.

· Ikki munosabatni ayirish amalini bajarayotganda, ikkinchi munosabat tarkibiga kiradigan munosabatlar bundan mustasno, birinchi munosabat tarkibiga kirgan barcha karterlarni o'z ichiga olgan munosabat olinadi.

· Ikki munosabatlarning to'g'ridan-to'g'ri mahsulotini amalga oshirishda, uning karterlari birinchi va ikkinchi munosabatlarning karterlari birikmasidan iborat bo'lgan munosabatlar olinadi.

· Ikki munosabat qandaydir shartga ko'ra birlashtirilganda, natijada paydo bo'ladigan gravitatsiya munosabatlari ushbu shartni qondiradigan birinchi va ikkinchi munosabatlarning koptoklari kombinatsiyasi sifatida hosil bo'ladi.

· Relyatsion bo'linish ishi ikkita operandaga ega - ikkilik (ikkita atributdan iborat) va unary (bitta atributdan iborat) munosabatlarga ega. Amaliyotning natijasi - bu karpuzlardan iborat bo'lgan munosabat, shu jumladan birinchi munosabatdagi karterlarning birinchi atributi munosabati, shu sababli ikkinchi atributning qiymatlari to'plami ikkinchi munosabat qiymatlari to'plamiga to'g'ri keladi.

Yuqoridagilardan tashqari ma'lumotlar bazalari bilan ishlashga xos bir qator maxsus operatsiyalar mavjud:

· Nomini o'zgartirish operatsiyasi natijasida, munosabatlar dastlabki aloqaning tanasi bilan bir xil bo'lgan, ammo atribut nomlari o'zgartirilgan grafalar to'plamidir.

Bundan kelib chiqadiki, relyatsion operatsiyaning natijasi qandaydir munosabatdir, shunda relyatsion ifodalarni hosil qilish mumkin, unda asl munosabat (operand) o'rniga ichki joylashtirilgan munosabat ifodasi ishlatiladi. Buning sababi, munosabat algebra amallari haqiqatan ham munosabat tushunchasi uchun yopiqdir. Operatsiyadan boshlaymiz munosabatlarni birlashtiruvchiammo, bu kesishish va kombinatsiya operatsiyalariga teng ravishda taalluqlidir, ya'ni munosabat algebrasida birlashma operatsiyasining natijasi munosabatdir. Relyatsion algebrada imkoniyatni nazarda tuting uyushmalar turli xil atributlar to'plamlari bilan o'zboshimchalik bilan ikkita munosabatlar, unda bunday operatsiya natijasi juda ko'p bo'ladi, lekin juda ko'p turli xil turlari, ya'ni umuman aytganda, munosabatlar emas. Agar munosabat tushunchasiga nisbatan relyatsion algebra yopilishi talabidan kelib chiqsak, unda bunday operatsiya uyushmalarma'nosiz. Bu kontseptsiyani keltirib chiqaradi munosabatlar muvofiqligi tomonidan birlashtirish: agar mavjud bo'lsa, ikkita munosabatlar mos keladi xuddi shu sarlavhalar, ya'ni u bir xil atribut nomlari to'plamiga ega va bir xil nomdagi atributlar bir xil domenda aniqlanadi.

Ikkala munosabat birlashma nuqtai nazaridan mos keladigan bo'lsa, ayirboshlash kesishmasining birlashishi operatsiyasi odatda ular bo'yicha amalga oshirilganda, operatsiya natijasi munosabatlarning har biri - operandlarning sarlavhasiga to'g'ri keladigan to'g'ri belgilangan sarlavha bilan bog'liqlikni keltirib chiqaradi. Agar ikkita munosabat birlashish nuqtai nazaridan to'liq mos kelmasa, ya'ni atribut nomlaridan tashqari hamma narsada mos bo'lsa, unda ulanish kabi operatsiyani bajarishdan oldin, bu munosabatlar qayta nomlash operatsiyasidan foydalangan holda birlashma nuqtai nazaridan to'liq mos kelishi mumkin.

Ikki munosabatlarning to'g'ridan-to'g'ri mahsulotining ishlashi yangi muammolarni keltirib chiqaradi. To'plamlar nazariyasida to'g'ridan-to'g'ri mahsulotni har qanday to'plamlar uchun olish mumkin. Natija to'plamining elementlari birinchi va ikkinchi to'plam elementlaridan tashkil topgan juftliklar bo'ladi. Munosabatlar to'plamlar ekan, har qanday ikki munosabatlar uchun to'g'ridan-to'g'ri mahsulotni olish mumkin. Biroq, natija munosabat bo'lmaydi. Natija elementlari koreyslar emas, balki juft juftliklar bo'ladi. Shuning uchun relyatsion algebrada to'g'ridan-to'g'ri mahsulotni qabul qilish operatsiyasining maxsus shakli - munosabatlarning kengaytirilgan to'g'ridan-to'g'ri mahsuloti qo'llaniladi. Ikki munosabatlarning kengaytirilgan to'g'ridan-to'g'ri mahsuloti olinganida, hosil bo'lgan munosabat elementi birinchi munosabatlarning bitta va ikkinchi munosabatlarning bitta tuplarini birlashtirish natijasida hosil bo'lgan kupe hisoblanadi. Darhol hosil bo'lgan munosabatlarning to'g'ri shakllangan sarlavhasini olish bilan bog'liq ikkinchi muammo paydo bo'ladi, bu kengaytirilgan to'g'ridan-to'g'ri mahsulotni olish orqali munosabatlarning muvofiqligi kontseptsiyasini kiritish zarurligiga olib keladi.

To'g'ridan-to'g'ri mahsulotni olishda ikkita munosabat faqat ushbu munosabatlarning atribut nomlari to'plami bir-biriga to'g'ri kelmasa mos keladi. Qayta nomlash operatsiyasini ushbu munosabatlardan biriga qo'llash orqali to'g'ridan-to'g'ri mahsulotni olish orqali har qanday ikkita munosabatlar mos keladigan shaklga o'tkazilishi mumkin.

Olib olish uchun operatsiya ikkita munosabatni talab qiladi: asl munosabatlar, operand va oddiy cheklash sharti. Olingan operatsiya natijasida operand munosabati sarlavhasiga mos keladigan sarlavha munosabati hosil bo'ladi va tanada cheklash sharti qiymatlarini qondiradigan operand munosabati katakchalari mavjud.

Keling, bir qator operatorlarni tanishtiramiz.

Birlashma birlashma operatsiyasini belgilasin, ayirboshlash amalini olib tashlab, kesishma amalini kesib o'taylik. Tanlash operatsiyasini belgilash uchun biz A konstruksiyasidan foydalanamiz, bu erda B, bu erda A - operand munosabati, va B - oddiy taqqoslash sharti. C1 va C2 \u200b\u200bikkita oddiy namuna olish sharti bo'lsin

Bu erda C1 va C2 \u200b\u200b(A qaerda C1) kesishgan (A qaerda C2)

A qaerda C1 OR C2 (A qaerda C1) birlashma (A qaerda C2)

Bu erda C1 emas C2 (A qaerda C1) minus (A qaerda C2) bilan bir xil

Ushbu ta'riflardan foydalanib, tanlov sharti o'zboshimchalik bilan tuzilgan mantiqiy ifoda bo'lgan tanlov operatsiyalarini amalga oshirish mumkin oddiy shartlar mantiqiy ulanishlardan foydalanish (va, yoki, yo'q). A1, a2,…, an atributlari ro'yxatiga A op munosabatini proektsiyalarni qabul qilish jarayoni, uning nomi atributlar to'plami, a1, a2,…, an bo'lgan munosabat bo'ladi. Natija tanasi A munosabati bilan korxona mavjud bo'lgan, a1 atributi b1 qiymatiga, a2 atributi b2 qiymati bo'lgan karterlardan iborat bo'ladi.< и так далее атрибут an – bn. По сути при выполнении операции проекции определяется «Вертикальная» вырезка отношения - операнда с удалением возникающих кортежей –дубликатов.

Ba'zan shartli qo'shilish deb ataladigan qo'shilish operatsiyasi ikkita operandni, birlashtiriladigan munosabatni va uchinchi operandni oddiy shartini talab qiladi. A va B munosabatlari bog'lansin.Tanlash operatsiyasida bo'lgani kabi, birlashma sharti C, (comp -op b) yoki (comp -op const) shaklga ega, bu erda A va B - A va B munosabatlarining atributlari nomlari, so'zma-so'z berilgan doimiy. Comp-op - bu kontekstda to'g'ri taqqoslash operatsiyasi. Keyin, ta'rifga ko'ra, qo'shilish operatsiyasining natijasi A va B nisbatlarining to'g'ridan-to'g'ri mahsulotining C sharti bo'yicha cheklash operatsiyasini bajarish natijasida olingan munosabatdir.

Ulanishning muhim maxsus holati, tabiiy aloqa mavjud. Agar qo'shilish shartlari (a \u003d b) bo'lsa, a va b turli xil qo'shilish operandlarining atributlari bo'lsa, birlashma jarayoni tabiiy qo'shilish operatsiyasi deyiladi. Bu ish juda muhim, chunki bu ayniqsa amaliyotda tez-tez uchraydi va uni MBBda samarali amalga oshirish algoritmlari mavjud. Tabiiy qo'shilish operatsiyasi umumiy P atributiga ega bo'lgan A va B munosabatlar juftligiga, ya'ni bir xil nomga ega va bitta domenda aniqlangan atributga qo'llaniladi. $ A $ va $ B $ munosabatlar sarlavhalarining birlashishini belgilasin. U holda tabiiy birlashma A va B ning a ga prognoz qilingan birlashuvining natijasidir.Tabiiy birikmaning ishlashi to'g'ridan-to'g'ri relyatsion algebra amallari to'plamiga kiritilmagan, ammo u juda muhim amaliy ahamiyatga ega.

O'zaro munosabatlarni ajratish operatsiyasi batafsilroq tushuntirishga muhtoj, chunki uni tushunish qiyin. Ikki munosabatlar A (a1, a2, .., an, b1, b2, ..., bm) berilgan bo'lsin

B (b1, b2, ..., bn) A munosabatning b1 atributi va B munosabatining b1 atributi bir xil sohada aniqlangan deb taxmin qilamiz. Atributlar to'plamini (aj) kompozit atribut a, va (bj) birikmani atributli atribut deb ataymiz. Shundan so'ng, biz A (a, b) ikkilik munosabatlarning unarial B (b) munosabat bilan relyatsion bo'linishi haqida gaplashamiz.

A ni B ga bo'lishning natijasi bir xil bo'lmagan munosabatdir C (a), v ga o'xshash aloqalardan tashkil topgan v ga o'xshash aloqalar mavjud. (w) qiymatlar to'plamiga B ga nisbatan b qiymatlari to'plamini o'z ichiga oladi.

Bo'linish eng qiyin operatsiya bo'lgani uchun uni misol bilan tushuntirib beramiz. Talabalar ma'lumotlar bazasida ikkita munosabatlar mavjud bo'lsin: TALABALAR (TOMI NOM, RAQAM) va NOMLAR (To'liq ism), va unary aloqasi NAMES institut talabalarining barcha ismlarini o'z ichiga oladi. So'ngra, NAMES munosabati bilan TALABALAR munosabatini relyatsion taqsimlash operatsiyasini bajargandan so'ng, ushbu institutda mumkin bo'lgan barcha familiyalar bilan talabalarga tegishli talabalar kartalarining raqamlarini o'z ichiga olgan unary munosabati olinadi.


Nisbatan hisoblash

Deylik, TALABALAR tuzilmasi (soni, ismi, stipendiyasi, guruh kodi) va GROUP munosabati (gr_nom, gr_col, gr old) ma'lumotlar bazasi mavjud. Aytaylik, siz talabalarning ismlari va raqamlarini aniqlab olishingiz kerak. 25 kishidan ortiq guruh rahbarlari bo'lgan talabalar uchun chiptalar.Relyatsion algebrada bunday so'rov uchun quyidagi amallarni bajarishingiz kerak:

1. "student_number \u003d gr_star" shartiga binoan TALABALAR va GURUHLAR aloqalarini amalga oshirish;

2. Olingan nisbatni gr_col\u003e 25 sharti bilan cheklang.

3. Avvalgi operatsiya natijasini student_name, student_number atributiga loyihalash.

Bu erda asta-sekin ma'lumotlar bazasida so'rovni bajarish ketma-ketligi shakllantirilib, ularning har biri bitta relyatsion operatsiyaga to'g'ri keladi. Agar biz xuddi shu so'rovni relyatsion hisob yordamida tuzsak, u holda o'qilishi mumkin bo'lgan formulani olamiz: bunday talabalar uchun STUD_NAME va STUD_NUMBER raqamlarini bering, shunda GR_STAR guruhi GR_COL\u003e 25 qiymatlari bilan birga bo'ladi. Ikkinchi formulada biz faqat hosil bo'lgan munosabatlarning xususiyatlarini ko'rsatdik, ammo uni shakllantirish usuli haqida hech narsa demadik. Bunday holda, DBMS talabalar va guruhlar munosabatlarida qanday operatsiyalarni va qanday tartibda bajarish zarurligini o'zi hal qilishi kerak. Misolda ko'rib chiqilgan ikkala usul ham aslida tengdir va bir-biridan ikkinchisiga juda murakkab konversiyalar mavjud emas.

Relyatsion hisoblashning asosiy tushunchalari uning qiymatining ma'lum bir diapazoniga ega bo'lgan o'zgaruvchining tushunchalari va o'zgaruvchilar va maxsus xususiyatlarga asoslangan yaxshi shakllangan formulaning kontseptsiyasidir. Vazifalar. O'zgaruvchining koeffitsienti qanday: tuple hisobi va domen hisobi, ya'ni bo'ylab yoki bo'ylab mavjud. Tuple hisoblashda o'zgaruvchilarni aniqlash sohalari ma'lumotlar bazasi munosabatlari hisoblanadi, ya'ni har bir o'zgaruvchining qabul qilinadigan qiymati biron bir aloqaning kassasi hisoblanadi. Domenlarni hisoblashda o'zgaruvchilarning ta'rifi domenlari ma'lumotlar bazasi munosabatlarining atributlari aniqlangan domenlardir, ya'ni har bir o'zgaruvchining haqiqiy qiymati har bir o'zgaruvchining qiymati.

Bayt Butun son Ip Char
M
N
K

RANGE buyrug'i kataklarni aniqlash uchun ishlatiladi. Masalan, qamrovi TALABA bo'lgan o'zgaruvchan STUDENTni aniqlash uchun siz RANGE STUDENT IS STUDENTS konstruktsiyasidan foydalanishingiz kerak. Ushbu ta'rifdan kelib chiqadiki, istalgan vaqtda o'zgaruvchan talaba TALABALAR munosabati tuplini ifodalaydi. Tupli o'zgaruvchilardan formulalarda foydalanganda o'zgaruvchan atribut qiymatlariga murojaat qilishingiz mumkin. Masalan, STUDENT o'zgaruvchisining STUD_NAME atributi qiymatiga murojaat qilish uchun siz STUDENT.STUDENT_NAME konstruksiyasidan foydalanishingiz kerak.

To'g'ri tuzilgan formulalar tupli o'zgaruvchilarga qo'yiladigan shartlarni ifodalashga xizmat qiladi. Bunday formulalar oddiy taqqoslashlarga asoslangan bo'lib, ular o'zgaruvchilar atributlari va so'zma-so'z ko'rsatilgan konstantalar qiymatlarini solishtirish operatsiyalari hisoblanadi. Masalan, STUDENT.STUD_NOM \u003d 123456 qurilishi. Bu oddiy taqqoslash. Ko'proq qiyin variant murakkab formulalar mantiqiy bog'lanishlar orqali VA, YO'Q, YO'Q, IF ... SHUNDA. Va nihoyat, miqdoriy ko'rsatkichlar yordamida yaxshi shakllangan formulalarni yaratishga ruxsat beriladi. Agar F var o'zgaruvchisi ishtirok etadigan yaxshi shakllangan formula bo'lsa, u holda EXIST (ekzistensial kvantifikator) var (F) va FORALL (barcha kataklar uchun) var (F) konstruktsiyalari to'g'ri keladi.

Yaxshi shakllangan formulalarga kiritilgan o'zgaruvchilar erkin yoki bog'langan bo'lishi mumkin. Qurilish jarayonida ularning tarkibiga kiritilgan barcha o'zgaruvchilar miqdori ishlatilmagan. Bu shuni anglatadiki, agar formulalarni hisoblashda erkin tupleli o'zgaruvchilarning ba'zi qiymatlari to'plami uchun "rost" qiymati olinadigan bo'lsa, u holda bu qiymatlar hosil bo'lgan munosabatlarga kiritilishi mumkin. Agar formulalarni tuzishda kvalifikator ishlatilsa, u holda o'zgaruvchilar bog'langan. Bunday yaxshi shakllangan formulaning qiymatini hisoblashda bog'langan o'zgaruvchining bitta qiymati emas, balki uning butun aniqlanish sohasi qo'llaniladi.

1) EXUDS STUD2 (STUD.1STUD_STIP\u003e STUD2.STUD_STIP)

2) STALL2 FORALL (STUD.1STUD_STYP\u003e STUD2.STUD_STIP)

STUD1 va STUD2 talabalar munosabati uchun aniqlangan ikkita ikkita o'zgaruvchiga aylansin, u holda STUD1 o'zgaruvchisining joriy tople formulasi faqat butun munosabatda talabalar STUD2 o'zgaruvchisi bilan bog'liq bo'lgan shunday tople mavjud bo'lsa, uning STUD_STIP atributining qiymati ichki taqqoslash shartini qondiradigan bo'lsa. Tuzilgan STUD 1 grafasi uchun to'g'ri tuzilgan # 2 formulasi, agar barcha stendlar uchun STUD 2 o'zgaruvchisi bilan bog'liq bo'lgan STUDENTS munosabati STUD.STYP atributining qiymati ichki shartni qondirsa, haqiqiy qiymatni qabul qiladi.

Shunday qilib, yaxshi shakllangan formulalar ma'lumotlar bazasi munosabatlaridan tanlov shartini ifodalash vositasini taqdim etadi. Ma'lumotlar bazasi bilan real ishlash uchun relyatsion hisobdan foydalanish uchun hosil bo'lgan munosabatlarning to'plam va ustun nomlarini belgilaydigan yana bitta komponent talab qilinadi. Ushbu komponent deyiladi maqsadlar ro'yxati.

Maqsadlar ro'yxatikabi ko'rinadi:

· Var.attr - erkin o'zgaruvchining nomi, attr - var o'zgaruvchisi aniqlangan munosabatlar atributining nomi.

· Var, bu ro'yxatdagi munosabatlarga teng, Var.attr1, Var.attr1… Var.attr№ aniqlovchi munosabatlarning barcha atributlari nomlarini o'z ichiga oladi.

· New_name \u003d var.attr; hosil bo'lgan munosabatlarning tegishli atributining yangi nomi.

Ikkinchi variant formuladagi kod bir xil ko'lamdagi bir nechta erkin o'zgaruvchini ishlatadigan holatlarda talab qilinadi. Domen hisobida domenlar domen emas, balki domen hisoblanadi. GROUP STUDENTS ma'lumotlar bazasiga kelsak, biz NAME domen o'zgaruvchilari haqida gaplasha olamiz (domen qiymatlari haqiqiy ismlar yoki NOM STUD). (Domen qiymatlari haqiqiy talaba raqamlari).

Domenlarning hisob-kitoblari va turlar hisob-kitoblari o'rtasidagi asosiy farq, a'zolik shartlari deb ataladigan narsalarga imkon beradigan qo'shimcha predikatlar to'plamining mavjudligidir. Agar R atributlari (a1, a2,… an) ga ega bo'lgan n-munosabat bo'lsa, unda a'zolik sharti R (ai1: Vi1, ai2: Vi2,… maqsad: Vim) shaklga ega, bu erda (m<=n). Где в Vij это либо литерально заданная константа либо имя кортежной переменной. Условие членства принимает значение истина, только в том случае если в отношении R существует кортеж, содержащий следующие значения указанных атрибутов. Если от Vij константа то на атрибут aij накладывается жёсткое условие независящее от текущих доменных переменных. Если же Vij имя доменной переменной то условие членства может принимать различные значения при разных значениях этой переменной.

Predikat - bu mantiqiy funktsiya bo'lib, u ba'zi bir argumentlar uchun haqiqiy yoki yolg'onni qaytaradi. O'zaro munosabatlarni ko'rib chiqilayotgan munosabatlarning atributlari bo'lgan dalillar bilan predikat sifatida ko'rib chiqish mumkin. Agar munosabatlarda berilgan aniq bir to'plamlar to'plami mavjud bo'lsa, u holda predikat to'g'ri, aks holda yolg'on bo'ladi.

Boshqa barcha jihatlarga ko'ra, domen hisobidagi formulalar va iboralar tuple hisoblashdagi formulalar va iboralarga o'xshaydi. Ro'yxat domen yozuvlari aksariyat shakllarga asoslangan til so'rovlarining markazida joylashgan.


Shunga o'xshash ma'lumotlar.


  • Transfer
Tarjimonning eslatmasi: maqola ancha eski bo'lsa-da (2 yil oldin nashr etilgan) va baland ovoz bilan sarlavhaga ega bo'lsa-da, relatsatsional ma'lumotlar bazalari va NoSQL ma'lumotlar bazalari o'rtasidagi farqlar, ularning afzalliklari va kamchiliklari to'g'risida yaxshi tasavvur beradi, shuningdek, aloqasiz saqlash haqida qisqacha ma'lumot beradi.

So'nggi paytlarda ko'plab aloqador bo'lmagan ma'lumotlar bazalari paydo bo'ldi. Bu shuni ko'rsatadiki, agar siz talabga binoan deyarli cheksiz o'lchovni xohlasangiz, sizga aloqasiz ma'lumotlar bazasi kerak.

Agar bu haqiqat bo'lsa, demak, bu qudratli ma'lumotlar bazalari zaifligini anglatadimi? Bu shuni anglatadiki, relyatsion ma'lumotlar bazalari kunlari tugadi va tez orada tugaydi? Ushbu maqolada biz turli xil vaziyatlarga bog'liq bo'lmagan ma'lumotlar bazalarining ommabop tendentsiyasini ko'rib chiqamiz va bu relyatsion ma'lumotlar bazalarining kelajagiga ta'sir qiladimi-yo'qligini bilib olamiz.

Relyatsion ma'lumotlar bazalari taxminan 30 yil davomida mavjud. Shu vaqt ichida relyatsion saqlashni tugatishi kerak bo'lgan bir nechta inqiloblar yuz berdi. Albatta, bu inqiloblarning hech biri sodir bo'lmadi va ulardan biri relyatsion ma'lumotlar bazalari pozitsiyasini bir zarba tebratmadi.

Keling, asoslarini boshlaymiz

Relyatsion ma'lumotlar bazasi - jadvallar to'plami (ob'ektlar). Jadvallar ustunlar va satrlardan (karterlardan) iborat. Cheklovlarni jadvallar ichida aniqlash mumkin, jadvallar o'rtasida munosabatlar mavjud. Bir yoki bir nechta jadvallardan ma'lumotlar to'plamlarini qaytaradigan so'rovlarni bajarish uchun SQL dan foydalanishingiz mumkin. Bitta so'rov davomida ma'lumotlar bir nechta jadvallardan birlashish yo'li bilan olinadi (JOIN), ko'pincha jadvallar o'rtasidagi munosabatlarni aniqlaydigan bir xil ustunlar ishlatiladi. Normallashtirish - bu ma'lumotlar modelini tuzilish jarayoni, bu ma'lumotlarning izchilligini va ortiqcha emasligini ta'minlaydi.


Relyatsion ma'lumotlar bazalariga relyatsion ma'lumotlar bazasini boshqarish tizimlari (RDBMS) orqali kirish mumkin. Biz foydalanadigan deyarli barcha ma'lumotlar bazalari relyatsion, masalan Oracle, SQL Server, MySQL, Sybase, DB2, TeraData va boshqalar.

Ushbu ustunlikning sabablari aniq emas. Relyatsion ma'lumotlar bazalari tarixi davomida ular doimiy ravishda ma'lumotlarni boshqarishda soddalik, mustahkamlik, egiluvchanlik, ishlash, ko'lamlilik va o'zaro bog'liqlikning eng yaxshi aralashmasini taklif qilishgan.

Biroq, ushbu xususiyatlarning barchasini ta'minlash uchun relyatsion saqlash ichki darajada nihoyatda murakkab. Masalan, oddiy SELECT so'rovi optimallashtiruvchi to'g'ridan-to'g'ri ish vaqtida baholaydigan yuzlab potentsial ijro yo'llariga ega bo'lishi mumkin. Bularning barchasi foydalanuvchilarga yashiringan, ammo RDBMS ichida xarajatlarni baholash algoritmlari va so'rovga eng mos keladigan narsalar asosida ijro rejasini tuzadi.

Ma'lumotlar bazasi bilan bog'liq muammolar

Relyatsion saqlash soddaligi, mustahkamligi, egiluvchanligi, ishlashi, ko'lamliligi va birgalikda ishlashning eng yaxshi aralashmasini ta'minlasa-da, ularning har biri bo'yicha aniq bir xususiyatga e'tibor qaratadigan o'xshash tizimlardan yaxshiroq ishlashi shart emas. Bu unchalik katta muammo emas edi, chunki munosabatdagi MBBlarning ustunligi har qanday kamchiliklardan ustun edi. Ammo, agar odatiy RBD ehtiyojlarni qondirmasa, har doim alternativalar mavjud edi.

Bugun vaziyat biroz boshqacha. Ilovalarning xilma-xilligi o'sib boradi va shu bilan birga ro'yxatdagi xususiyatlarning ahamiyati ortadi. Ma'lumotlar bazalari ko'payib borishi bilan bir xususiyat boshqalarga soya sola boshlaydi. Bu o'lchov. Ko'proq dasturlar, masalan, veb-xizmatlar kabi yuqori yuk sharoitida ishlaydi, ularning miqyosliligi talablari juda tez o'zgarishi va keskin o'sishi mumkin. O'zingizning serveringizda joylashgan ma'lumotlar bazasiga ega bo'lsangiz, birinchi muammoni hal qilish juda qiyin bo'lishi mumkin. Bir kecha-kunduzda server yuki uch baravar ko'paygan deylik. Apparatni qanchalik tez yangilashingiz mumkin? Ikkinchi muammoning echimi relyatsion ma'lumotlar bazalarini ishlatishda ham qiyinchiliklarni keltirib chiqaradi.

Relyatsion ma'lumotlar bazalari faqat bitta serverda joylashgan taqdirda yaxshi miqyosga ega. Ushbu serverning resurslari tugaganda, siz ko'proq mashinalarni qo'shishingiz va ular orasidagi yukni taqsimlashingiz kerak bo'ladi. Bu erda relyatsion ma'lumotlar bazalarining murakkabligi miqyoslanishga qarshi o'ynay boshlaydi. Agar siz serverlar sonini bir necha emas, balki yuzlab yoki minglabga oshirishga harakat qilsangiz, murakkablik kattalik tartibiga ko'payadi va relyatsion ma'lumotlar bazalarini juda jozibador qiladigan xususiyatlar tezda ularni katta tarqatilgan tizimlar uchun platforma sifatida ishlatish imkoniyatini nolga kamaytiradi.

Raqobatbardoshlikni saqlab qolish uchun bulut sotuvchilari qandaydir tarzda ushbu cheklov bilan shug'ullanishlari kerak, chunki bu qanday bulutli platforma, bu ma'lumotni miqyosli saqlash imkoniyatisiz. Shuning uchun, agar foydalanuvchilarga miqyosli saqlash joyini taqdim etishni istasalar, sotuvchilarda bitta variant mavjud. Relyatsion ma'lumotlar bazalarida mavjud bo'lgan boshqa imkoniyatlar hisobiga bo'lsa ham, ko'lami kattaroq bo'lgan boshqa ma'lumotlar bazalaridan foydalanish zarur.

Ushbu afzalliklar, shuningdek ularga bo'lgan talab, ma'lumotlar bazasini boshqarish tizimlarining yangi to'lqinini keltirib chiqardi.

Yangi to'lqin

Ushbu turdagi ma'lumotlar bazasi odatda kalit-qiymat do'koni deb nomlanadi. Darhaqiqat, rasmiy ism yo'q, shuning uchun uni hujjat yo'naltirilgan, atributga yo'naltirilgan, tarqatilgan ma'lumotlar bazalari (ular ham aloqador bo'lishi mumkin), parchalangan tartiblangan massivlar, tarqatilgan xash jadvallar va saqlash kontekstida ko'rishingiz mumkin. kalit-qiymat turi. Ushbu nomlarning har biri tizimning o'ziga xos xususiyatlarini ko'rsatsa-da, ularning barchasi biz kalit-qiymatni saqlash deb ataydigan mavzudagi farqlardir.

Ammo, nima deysiz, ma'lumotlar bazasining ushbu "yangi" turi unchalik yangi emas va har doim asosan ma'lumotlar bazalari relyatsion ma'lumotlar bazalari mos bo'lmagan ilovalar uchun ishlatilgan. Biroq, veb va bulutni miqyoslash imkoniyatiga ega bo'lmasdan, ushbu tizimlarga talab katta emas edi. Endi vazifa qaysi tizimning ma'lum bir tizim uchun ko'proq mos kelishini aniqlashdir.
O'zaro munosabatlarning ma'lumotlar bazalari va asosiy qiymatlarni saqlash bir-biridan tubdan farq qiladi va har xil muammolarni hal qilishga mo'ljallangan. Xarakteristikalarni taqqoslash faqat ularning orasidagi farqni tushunishga imkon beradi, ammo keling, bundan:

Saqlash xususiyatlari

Relyatsion ma'lumotlar bazasi Asosiy qiymatlarni saqlash
Ma'lumotlar bazasi jadvallardan, jadvallar ustunlar va satrlardan, qatorlar ustun qiymatlaridan iborat. Bitta jadvalning barcha satrlari bir xil tuzilishga ega.
Domenlar uchun jadvallar bilan o'xshashlik yaratishingiz mumkin, ammo domenlar jadvallaridan farqli o'laroq ma'lumotlar tarkibi aniqlanmagan. Domen - bu siz xohlagan narsani qo'yishingiz mumkin bo'lgan quti. Bitta domen doirasidagi yozuvlar har xil tuzilishga ega bo'lishi mumkin.
Ma'lumotlar modeli 1 oldindan belgilangan. U qattiq terilgan va ma'lumotlar yaxlitligini ta'minlash uchun cheklovlar va munosabatlarni o'z ichiga oladi.
Yozuvlar kalit bilan aniqlanadi, har bir yozuvda u bilan bog'liq bo'lgan atributlarning dinamik to'plami mavjud.
Ma'lumotlar modeli dasturning funktsional imkoniyatlariga emas, balki tarkibidagi ma'lumotlarning tabiiy ko'rinishiga asoslanadi.
Ba'zi dasturlarda atributlar faqat satr bo'lishi mumkin. Boshqa dasturlarda atributlar dasturlashda ishlatiladigan turlarni aks ettiradigan oddiy ma'lumotlar turlariga ega: tamsayılar, qatorlar qatorlari va ro'yxatlar.
Ikki nusxadagi ma'lumotlarning oldini olish uchun ma'lumotlar modeli normallashtirilgan. Normallashtirish jadvallar orasidagi munosabatlarni hosil qiladi. Aloqalar ma'lumotlarni turli jadvallardan bog'laydi.
O'zaro munosabatlar domenlar o'rtasida, shuningdek bitta domen ichida aniq belgilanmagan.

Birlashtirilmaydi

Asosiy qiymatli do'konlar yozuvga yo'naltirilgan. Bu shuni anglatadiki, berilgan yozuv bilan bog'liq barcha ma'lumotlar u bilan birga saqlanadi. Domen (uni jadval sifatida tasavvur qilishingiz mumkin) son-sanoqsiz turli xil yozuvlarni o'z ichiga olishi mumkin. Masalan, domen mijozlar va buyurtmalar haqidagi ma'lumotlarni o'z ichiga olishi mumkin. Bu shuni anglatadiki, ma'lumotlar odatda turli xil domenlar o'rtasida takrorlanadi. Bu maqbul yondashuv, chunki disk maydoni arzon. Eng asosiysi, bu barcha tegishli ma'lumotlarni bir joyda saqlashga imkon beradi, bu esa o'lchamlarni yaxshilaydi, chunki har xil jadvallardan ma'lumotlarni birlashtirishning hojati yo'q. Relyatsion ma'lumotlar bazasidan foydalanganda kerakli ma'lumotlarni bir joyga to'plash uchun birlashmalardan foydalanishingiz kerak bo'ladi.


Garchi kalit-qiymat juftligini saqlash uchun munosabatlarga bo'lgan ehtiyoj keskin tushib ketsa-da, munosabatlar hali ham zarur. Bunday munosabatlar odatda asosiy sub'ektlar o'rtasida mavjud. Masalan, buyurtma tizimida xaridorlar, mahsulotlar va buyurtmalar haqidagi ma'lumotlarni o'z ichiga olgan yozuvlar mavjud edi. Ushbu ma'lumotlar bitta domendagi yoki bir nechta domendagi bo'lishi muhim emas. Xulosa shuki, mijoz buyurtma berganida, ehtimol siz mijozni saqlashni va buyurtma ma'lumotlarini bitta yozuvda saqlamoqchi emassiz.
Buning o'rniga, buyurtma yozuvida tegishli mijoz va mahsulot yozuvlarini ko'rsatadigan kalitlar bo'lishi kerak. Yozuvlar har qanday ma'lumotni saqlashi mumkinligi va ma'lumotlar modelining o'zida munosabatlar aniqlanmaganligi sababli ma'lumotlar bazasini boshqarish tizimi aloqalarning yaxlitligini nazorat qila olmaydi. Bu shuni anglatadiki, mijozlar va ular buyurtma qilgan mahsulotlarni o'chirib tashlashingiz mumkin. Ma'lumotlarning yaxlitligini ta'minlash to'liq dasturga to'g'ri keladi.

Ma'lumotlarga kirish

Relyatsion ma'lumotlar bazasi Asosiy qiymatlarni saqlash
Ma'lumotlar Structured Query Language (SQL) yordamida yaratiladi, yangilanadi, o'chiriladi va so'raladi.
Ma'lumotlar API usulidagi qo'ng'iroqlar yordamida yaratiladi, yangilanadi, o'chiriladi va so'raladi.
SQL so'rovlari ma'lumotlarni bitta jadvaldan va bir nechta jadvallardan qo'shilish yordamida olishlari mumkin.
Ba'zi dasturlar filtr sharoitlarini aniqlash uchun SQL-ga o'xshash sintaksisni taqdim etadi.
SQL so'rovlari birlashmalar va murakkab filtrlarni o'z ichiga olishi mumkin.
Ko'pincha, faqat asosiy taqqoslash operatorlari (\u003d ,! \u003d,<, >, <= и =>).
Relyatsion ma'lumotlar bazasida odatda triggerlar, saqlangan protseduralar va funktsiyalar kabi ichki mantiq mavjud.
Barcha biznes va ma'lumotlar yaxlitligi mantig'i dastur kodida joylashgan.

Ilovalar bilan o'zaro hamkorlik

Asosiy qiymatli do'konlar: imtiyozlar

Bunday tizimlarning relyatsion saqlashga nisbatan ikkita alohida afzalligi mavjud.
Bulutli xizmatlar uchun javob beradi
Kalit qiymatli do'konlarning birinchi afzalligi shundaki, ular relyatsion ma'lumotlar bazalariga qaraganda sodda va shuning uchun ko'lami kattaroqdir. Agar siz o'zingizning tizimingizni birgalikda joylashtirsangiz va ma'lumotlar omboringiz ortib borayotgan yukni engib o'tishingiz kerak bo'lgan o'nlab yoki yuzta serverlarni joylashtirishni rejalashtirmoqchi bo'lsangiz, demak, kalit-qiymat do'konlari sizning tanlovingizdir.

Ular osongina va dinamik ravishda kengaytirilishi sababli, ular ko'p xonadonli veb-saqlash platformasini taqdim etadigan sotuvchilar uchun ham foydalidir. Bunday ma'lumotlar bazasi ölçeklenebilirlik uchun katta imkoniyatlarga ega bo'lgan nisbatan arzon saqlash vositasini anglatadi. Foydalanuvchilar odatda faqat foydalangan narsalari uchun haq to'laydilar, ammo ehtiyojlari o'sishi mumkin. Sotuvchi yukga qarab, platformaning hajmini dinamik va amaliy ravishda cheklovlarsiz oshirishi mumkin.

Ko'proq tabiiy kod integratsiyasi
Ma'lumotlarning relyatsion modeli va kod ob'ekti modeli odatda boshqacha tarzda qurilib, ba'zi bir mos kelmaslikka olib keladi. Ishlab chiquvchilar ushbu muammoni relyatsion modelni ob'ekt modeli bilan taqqoslaydigan kod yozish orqali hal qilishadi. Ushbu jarayon aniq va tezda erishib bo'lmaydigan qiymatga ega emas va dasturni ishlab chiqishga sarflanishi mumkin bo'lgan juda ko'p vaqtni talab qilishi mumkin. Qolaversa, ko'pgina muhim do'konlarda ma'lumotlar ob'ektlarga tabiiy ravishda mos keladigan tuzilishda saqlanadi. Bu rivojlanish vaqtini sezilarli darajada qisqartirishi mumkin.

"Aloqador ma'lumotlar bazalari noqulay bo'lishi mumkin" kabi asosiy qiymatli do'konlardan foydalanish uchun boshqa dalillar (aytmoqchi, bu nimani anglatishini bilmayman) unchalik jiddiy emas. Ammo bunday omborlar tarafdori bo'lishdan oldin, keyingi qismni tekshiring.

Asosiy qiymatli do'konlar: kamchiliklar

Relyatsion ma'lumotlar bazalaridagi cheklovlar ma'lumotlar yaxlitligini eng past darajada ta'minlaydi. Jismoniy jihatdan cheklovlarga javob bermaydigan ma'lumotlar ma'lumotlar bazasiga kira olmaydi. Asosiy qiymatlarni saqlashda bunday cheklovlar mavjud emas, shuning uchun ma'lumotlar yaxlitligini boshqarish to'liq dasturlarga bog'liq. Biroq, har qanday kodda xatoliklar mavjud. Yaxshi ishlab chiqilgan relyatsion ma'lumotlar bazasidagi xatolar odatda ma'lumotlarning yaxlitligi bilan bog'liq muammolarni keltirib chiqarmaydi, asosiy qiymatlar do'konidagi xatolar odatda bunday muammolarga olib keladi.

Relyatsion ma'lumotlar bazalarining yana bir afzalligi shundaki, ular ma'lumotlar modelini yaratish jarayonida sizni majbur qiladi. Agar siz modelni yaxshi loyihalashtirsangiz, ma'lumotlar bazasida saqlangan ma'lumotlar tuzilishini to'liq aks ettiradigan, ammo dastur tuzilishiga zid bo'lgan mantiqiy tuzilma bo'ladi. Shunday qilib, ma'lumotlar dasturdan mustaqil bo'ladi. Bu shuni anglatadiki, boshqa dastur bir xil ma'lumotdan foydalanishi mumkin va dastur mantig'ini asosiy modelga o'zgartirish kiritmasdan o'zgartirish mumkin. Xuddi shu narsani kalit-qiymatli saqlash bilan amalga oshirish uchun, relyatsion modelni loyihalash jarayonini sinfning dizayni bilan almashtirishga harakat qiling, bu tabiiy ma'lumotlar tuzilishiga asoslangan umumiy sinflarni yaratadi.

Va moslik haqida unutmang. Relyatsion ma'lumotlar bazalaridan farqli o'laroq, bulutga asoslangan saqlash kamroq umumiy standartlarga ega. Kontseptual jihatdan ular bir-biridan farq qilmasa ham, ularning barchasi har xil API, so'rov interfeyslari va o'ziga xos xususiyatlariga ega. Shu sababli, sotuvchingizga ishonganingiz ma'qul, chunki agar biror narsa yuz bersa, siz boshqa xizmat ko'rsatuvchi provayderga osonlikcha o'ta olmaysiz. Va deyarli barcha zamonaviy kalit-do'konlarning Beta-2-da bo'lishini hisobga olsak, ishonch ma'lumotlar bazalariga qaraganda ancha xavfli bo'ladi.

Cheklangan ma'lumotlar tahlili
Odatda, barcha bulutli omborlar ko'p lizing turiga asoslangan bo'lib, demak ko'p sonli foydalanuvchilar va dasturlar bir xil tizimdan foydalanadilar. Umumiy tizimni "o'g'irlash" ga yo'l qo'ymaslik uchun, sotuvchilar odatda so'rovlarning bajarilishini biron bir tarzda cheklashadi. Masalan, SimpleDB-da so'rov 5 soniyadan ko'proq vaqtni olishi mumkin emas. Google AppEngine Datastore har bir so'rov uchun 1000 dan ortiq yozuvlarni ololmaydi 3.

Ushbu cheklovlar oddiy mantiq uchun qo'rqinchli emas (kichik miqdordagi yozuvlarni yaratish, yangilash, o'chirish va olish). Agar sizning ilovangiz mashhur bo'lib qolsa-chi? Sizda ko'plab yangi foydalanuvchilar va ko'plab yangi ma'lumotlar mavjud, endi siz foydalanuvchilar uchun yangi tajribalar yaratmoqchisiz yoki ma'lumotlardan qandaydir tarzda foyda ko'rishni xohlaysiz. Bu erda siz ma'lumotlarni tahlil qilish uchun oddiy so'rovlar bilan pichan o'tqazishingiz mumkin. Ilovalardan foydalanish uslublarini kuzatib borish yoki foydalanuvchi tarixiga asoslangan tavsiyalar tizimi kabi xususiyatlar eng yaxshi darajada qiyin bo'lishi mumkin. Va eng yomoni, ular imkonsizdir.

Bunday holda, analitiklar sizning kalit-qiymat omboringiz ma'lumotlari bilan to'ldiriladigan alohida ma'lumotlar bazasini yaratishi yaxshiroqdir. Buni qanday qilish mumkinligini oldindan o'ylab ko'ring. Siz serverni bulutda yoki o'zingiz o'rnatasizmi? Siz va provayderingiz o'rtasida uzilish kechikishi bilan bog'liq muammolar bo'ladimi? Sizning ma'lumotlar omboringiz ushbu ma'lumotlarni uzatishni qo'llab-quvvatlaydimi? Agar sizda 100 million yozuv mavjud bo'lsa va siz bir vaqtning o'zida 1000 ta yozuvni olishingiz mumkin bo'lsa, barcha ma'lumotlarni uzatish uchun qancha pul kerak bo'ladi?

Biroq, o'lchovni birinchi o'ringa qo'ymang. Agar sizning foydalanuvchilaringiz boshqa xizmatdan foydalanishga qaror qilsalar, bu foydasiz bo'ladi, chunki u qo'shimcha imkoniyatlar va sozlamalarni taqdim etadi.

Bulutli saqlash

Ko'pgina veb-xizmat ko'rsatuvchi provayderlar ko'p xonadonli kalit-do'konlarni taklif qilishadi. Ularning aksariyati yuqorida sanab o'tilgan mezonlarga javob beradi, ammo ularning har biri o'ziga xos xususiyatlarga ega va yuqorida tavsiflangan standartlardan farq qiladi. SimpleDB, Google AppEngine Datastore va SQL Data Services kabi maxsus omborlarni ko'rib chiqamiz.
Amazon: SimpleDB
SimpleDB - bu Amazon WebServices tarkibiga kiruvchi, atributga yo'naltirilgan kalit qiymatli do'kon. SimpleDB beta-versiyada; foydalanuvchilar undan bepul foydalanishlari mumkin - ularning ehtiyojlari ma'lum chegaradan oshmaguncha.

SimpleDB bir nechta cheklovlarga ega. Birinchidan, so'rovni bajarish vaqti 5 soniya bilan cheklangan. Ikkinchidan, satrlardan tashqari ma'lumotlar turlari mavjud emas. Hammasi saqlanadi, olinadi va qator sifatida taqqoslanadi, shuning uchun sanalarni taqqoslash uchun ularni ISO8601 formatiga o'tkazishingiz kerak bo'ladi. Uchinchidan, har qanday satrning maksimal hajmi 1024 baytni tashkil etadi, bu atribut sifatida saqlashingiz mumkin bo'lgan matn hajmini (masalan, mahsulot tavsifi) cheklaydi. Biroq, ma'lumotlar tuzilishi moslashuvchan bo'lganligi sababli, ushbu cheklovni "Mahsulot tavsifi1", "mahsulot tavsifi2" va hokazo atributlarini qo'shib ishlashingiz mumkin. Ammo atributlar soni ham cheklangan - maksimal 256 atribut. SimpleDB beta-versiyada bo'lsa, domen hajmi 10 gigabayt bilan cheklangan va butun ma'lumotlar bazasi 1 terabaytdan katta bo'lishi mumkin emas.

SimpleDB-ning asosiy xususiyatlaridan biri bu oxir-oqibat mustahkamlik modelidan foydalanishdir. Ushbu model ko'p yo'nalishli ish uchun javob beradi, ammo esda tutingki, yozuvdagi atribut qiymatini o'zgartirgandan so'ng, keyingi o'qish operatsiyalari bu o'zgarishlarni ko'rmasligi mumkin. Voqealarning bunday rivojlanish ehtimoli juda past, ammo esda tutish kerak. Sotish paytida ma'lumotlaringiz bir-biriga mos kelmagani uchun oxirgi chipta sotishni beshta mijozga sotishni xohlamaysiz.

Google AppEngine ma'lumotlar do'koni
Google-ning AppEngine Datastore-si Google-ning ichki tuzilgan ma'lumotlarni saqlash tizimi bo'lgan BigTable-ning ustiga o'rnatilgan.

AppEngine Datastore SimpleDB-ga qaraganda bitta yozuv ichida ko'proq ma'lumot turlarini qo'llab-quvvatlaydi. Masalan, yozuvlar ichida to'plamlar bo'lishi mumkin bo'lgan ro'yxatlar.

Ushbu App Store-dan Google AppEngine bilan ishlash jarayonida foydalanishingiz mumkin. Biroq, SimpleDB-dan farqli o'laroq, siz AppEngine Datastore-dan (yoki BigTable) Google veb-xizmatlaridan tashqarida foydalana olmaysiz.

Microsoft: SQL ma'lumotlar xizmatlari

SQL Data Services Microsoft Azure platformasining bir qismidir. SQL Data Services bepul, beta-versiyada va ma'lumotlar bazasi hajmi chegaralariga ega. SQL Data Services - bu alohida dastur - ma'lumotlarni saqlaydigan ko'plab SQL-serverlar uchun qo'shimcha. Ushbu do'konlar aloqador bo'lishi mumkin, ammo siz uchun SDS - bu yuqorida tavsiflangan mahsulotlar kabi muhim ahamiyatga ega do'kon.

Bulutsiz saqlash

Bulutdan tashqarida o'zingiz o'rnatishingiz mumkin bo'lgan bir qator omborlar mavjud. Ushbu loyihalarning deyarli barchasi yosh, alfa yoki beta-versiyada va ochiq manbali. Ochiq manbali manbada siz mulkiy mahsulotlarga qaraganda, yuzaga kelishi mumkin bo'lgan muammolar va cheklovlar to'g'risida ko'proq ma'lumotga ega bo'lishingiz mumkin.
CouchDB
CouchDB - erkin va ochiq manbali hujjatlarga asoslangan ma'lumotlar bazasi. Ma'lumotlarni saqlash formati sifatida JSON ishlatiladi. CouchDB hujjatlarga asoslangan va relyatsion ma'lumotlar bazalari orasidagi bo'shliqni "ko'rinish" yordamida to'ldirishga qaratilgan. Bunday ko'rinishlar jadvaldagi ma'lumotlarga o'xshash shakldagi hujjatlardagi ma'lumotlarni o'z ichiga oladi va indekslarni yaratishga va so'rovlarni bajarishga imkon beradi.

CouchDB hozirda chindan ham tarqatilgan ma'lumotlar bazasi emas. Ma'lumotlar serverlar o'rtasida sinxronlashtirilishi uchun replikatsiya xususiyatlariga ega, ammo bu juda miqyosli muhit yaratish uchun zarur bo'lgan tarqatish turi emas. Biroq, CouchDB ishlab chiquvchilari buning ustida ishlamoqda.
Voldemort loyihasi
Voldemort loyihasi - bu juda ko'p sonli serverlar bo'ylab tarqatish uchun mo'ljallangan kalitlarga asoslangan taqsimlangan ma'lumotlar bazasi. U LinkedInni ishlab chiqish paytida tug'ilgan va miqyosi yuqori talablarga ega bo'lgan bir nechta tizimlar uchun ishlatilgan. Voldemort loyihasi, shuningdek, yakuniy qat'iylik modelidan foydalanadi.
Mongo

Mongo - bu Gegen Magnusson va Duayt Merriman (siz DoubleClick-dan bilishingiz mumkin) tomonidan 10gen da ishlab chiqilgan ma'lumotlar bazasi. CouchDB singari Mongo ham hujjatlarni yo'naltirilgan ma'lumotlar bazasi bo'lib, ma'lumotlarni JSON formatida saqlaydi. Biroq, Mongo sof kalit-qiymat do'konidan ko'ra ko'proq ob'ekt bazasidir.
Yomg'ir

Drizzle qimmatbaho do'konlari hal qilish uchun mo'ljallangan muammolarni hal qilishda juda boshqacha yondashuvni taqdim etadi. Drizzle MySQL 6.0 ning filiali sifatida ish boshladi. Keyinchalik, dasturchilar sodda va tezkor DBMS yaratish uchun bir qator funktsiyalarni (shu jumladan ko'rinishlar, triggerlar, kompilyatsiya qilingan iboralar, saqlangan protseduralar, so'rovlar keshi, ACL va ma'lumotlar turlarining bir qismini) olib tashlashdi. Biroq, Drizzle-dan relyatsion ma'lumotlarni saqlash uchun foydalanish mumkin. Ishlab chiquvchilarning maqsadi 16 va undan ortiq yadroli tizimlarda ishlaydigan veb va bulutli dasturlar uchun mo'ljallangan yarim relyatsion platformani yaratishdir.

Qaror

Oxir oqibat, sizning arizangiz uchun aloqador bo'lmagan kalit qiymatini saqlashni tanlashingizning to'rtta sababi bor:
  1. Ma'lumotlaringiz yuqori darajada hujjatlarga yo'naltirilgan va ma'lumotlarning relyatsion modelidan ko'ra muhim qiymat modeliga ko'proq mos keladi.
  2. Sizning domen modelingiz yuqori darajada ob'ektga yo'naltirilgan, shuning uchun asosiy qiymatlarni saqlash vositasidan foydalanish ma'lumotni o'zgartirish uchun qo'shimcha kod miqdorini kamaytiradi.
  3. Ma'lumotlar ombori arzon va sotuvchingizning veb-xizmatlari bilan birlashtirilishi oson.
  4. Sizning asosiy tashvishingiz - bu talabga binoan yuqori miqyoslash.
Biroq, qaror qabul qilayotganda, ma'lum ma'lumotlar bazalarining cheklanganligi va agar siz aloqasiz ma'lumotlar bazalaridan foydalanishni tanlasangiz, yuzaga keladigan xatarlar haqida xabardor bo'ling.

Boshqa barcha talablar uchun avvalgi yaxshi munosabatli DBMS-ni tanlash yaxshidir. Xo'sh, ular halok bo'ldimi? Albatta yo'q. Hech bo'lmaganda hozircha.

1 - mening fikrimcha, "ma'lumotlar tarkibi" atamasi bu erda ko'proq mos keladi, ammo asl ma'lumot modelini qoldirdi.
2 - ehtimol, muallif o'z imkoniyatlari jihatidan aloqador bo'lmagan ma'lumotlar bazalari relyatsion ma'lumotlardan kamligini yodda tutgan.
3 - ma'lumotlar eskirgan bo'lishi mumkin, maqola 2009 yil fevralda yozilgan.

  • voldemort
  • yog‘ingarchilik
  • Teglar qo'shing

    Bizning davrimizda kompyuter texnologiyalarining paydo bo'lishi inson faoliyatining barcha sohalarida axborot inqilobini amalga oshirdi. Ammo global Internetda barcha ma'lumotlarning keraksiz axlatga aylanishiga yo'l qo'ymaslik uchun ma'lumotlar bazasi tizimi ixtiro qilindi, unda materiallar saralanadi, tizimlashtiriladi, natijada ularni topish oson va keyingi ishlovga taqdim etiladi. Uchta asosiy tip mavjud - relyatsion ma'lumotlar bazalari, ierarxik, tarmoq.

    Asosiy modellar

    Ma'lumotlar bazalarining paydo bo'lishiga qaytadigan bo'lsak, bu jarayon juda murakkab bo'lganligi, bu dasturlash mumkin bo'lgan axborotni qayta ishlash uskunalari ishlab chiqishidan kelib chiqqanligini aytish kerak. Shuning uchun hozirgi paytda ularning modellari soni 50 dan oshishi ajablanarli emas, lekin asosiylari amalda hanuzgacha keng qo'llanilib kelinayotgan ierarxik, relyatsion va tarmoqli hisoblanadi. Nima ular?

    Ierarxik daraxt tuzilishiga ega va turli darajadagi ma'lumotlardan iborat bo'lib, ular o'rtasida bog'lanishlar mavjud. JB tarmoq modeli ancha murakkab naqshdir. Uning tuzilishi ierarxikka o'xshaydi va sxema kengaytirilgan va takomillashtirilgan. Ularning orasidagi farq shundaki, ierarxik modelning merosxo'r ma'lumotlari faqat bitta ajdod bilan aloqaga ega bo'lishi mumkin, tarmoq ma'lumotlari esa bir nechta bo'lishi mumkin. Relyatsion ma'lumotlar bazasining tuzilishi ancha murakkab. Shuning uchun uni batafsilroq tahlil qilish kerak.

    Relyatsion ma'lumotlar bazasining asosiy tushunchasi

    Bunday model 1970-yillarda fan doktori Edgar Kodd tomonidan ishlab chiqilgan. Bu ma'lumotlar, ularning bir-biri bilan munosabatlari, ular ustida bajariladigan operatsiyalar va eng muhimi, ularning yaxlitligini kafolatlovchi qoidalarni tavsiflovchi maydonlar joylashgan mantiqiy tuzilgan jadval. Nima uchun model relyatsion deb nomlanadi? Ma'lumotlar o'rtasidagi munosabatlarga asoslangan (lot. Relatio dan). Ushbu turdagi ma'lumotlar bazasi uchun juda ko'p ta'riflar mavjud. Axborotga ega bo'lgan munosabat jadvallarini tarmoq yoki ierarxik modelga qaraganda tartibga solish va qayta ishlash ancha oson. Buni qanday qilish mumkin? Modelning xususiyatlarini, tuzilishini va relyatsion jadvallarning xususiyatlarini bilish kifoya.

    Asosiy elementlarni modellashtirish va chizish jarayoni

    O'zingizning ma'lumotlar bazangizni yaratish uchun siz modellashtirish vositalaridan birini ishlatishingiz, qanday ma'lumotlar bilan ishlashingiz kerakligini o'ylab ko'rishingiz, jadvallarni tuzishingiz va ma'lumotlar orasidagi munosabatlarning yagona va ko'p sonli aloqalarini yaratishingiz, ob'ektlar katakchalarini to'ldirishingiz va birlamchi, tashqi kalitlarni o'rnatishingiz kerak.

    Jadvalni modellashtirish va relyatsion ma'lumotlar bazasini loyihalash Workbench, PhpMyAdmin, Case Studio, dbForge Studio kabi bepul vositalar orqali amalga oshiriladi. Batafsil dizayndan so'ng siz grafik jihatdan tayyor bo'lgan relyatsion modelni saqlashingiz va uni tayyor SQL kodiga aylantirishingiz kerak. Ushbu bosqichda siz ma'lumotlarni saralash, qayta ishlash va tizimlashtirish bilan ishlashni boshlashingiz mumkin.

    Relyatsion model bilan bog'liq xususiyatlar, tuzilish va atamalar

    Har bir manba o'z elementlarini o'ziga xos tarzda tavsiflaydi, shuning uchun kamroq chalkashliklar uchun kichik bir ishora berishni xohlayman:

    • munosabat yorlig'i \u003d shaxs;
    • layout \u003d atributlar \u003d maydon nomlari \u003d ob'ekt ustunlari sarlavhalari;
    • shaxs misoli \u003d tuple \u003d yozuv \u003d jadval qatori;
    • atribut qiymati \u003d mavjudlik yacheykasi \u003d maydon.

    Relyatsion ma'lumotlar bazasining xususiyatlariga o'tish uchun uning qaysi asosiy tarkibiy qismlardan iboratligini va ular nima uchun ekanligini bilishingiz kerak.

    1. Mohiyati. Ma'lumotlar bazasining relyatsion jadvali bitta bo'lishi mumkin yoki ularda saqlanadigan ma'lumotlar tufayli tasvirlangan ob'ektlarni tavsiflovchi jadvallarning butun to'plami bo'lishi mumkin. Ular sobit miqdordagi maydonlarga va o'zgaruvchan yozuvlar soniga ega. Ma'lumotlar bazasi modellari jadvali satrlar, atributlar va maketdan iborat.
    2. Ro'yxatdan o'tish - tasvirlangan ob'ektni tavsiflovchi ma'lumotlar aks etadigan qatorlarning o'zgaruvchan soni. Yozuvlar tizim tomonidan avtomatik ravishda raqamlanadi.
    3. Xususiyatlar - bu sub'ekt ustunlari tavsifini ko'rsatadigan ma'lumotlar.
    4. Maydon. Shaxs ustunini ifodalaydi. Ularning soni jadvalni yaratish yoki o'zgartirish paytida o'rnatilgan sobit qiymatdir.

    Endi jadvalning tarkibiy elementlarini bilib, ma'lumotlar bazasining relyatsion modeli xususiyatlariga o'tishingiz mumkin:

    • Ma'lumotlar bazasi sub'ektlari ikki o'lchovli. Ushbu xususiyat tufayli ular bilan turli xil mantiqiy va matematik operatsiyalarni bajarish oson.
    • Aloqalar jadvalidagi atributlar va yozuvlar qiymatlarining tartibi o'zboshimchalik bilan bo'lishi mumkin.
    • Bitta munosabat jadvalidagi ustun o'zining shaxsiy nomiga ega bo'lishi kerak.
    • Shaxs ustunidagi barcha ma'lumotlar belgilangan uzunlikka va bir xil turga ega.
    • Har qanday yozuv mohiyatan bitta ma'lumotlar elementi hisoblanadi.
    • Iplarning tarkibiy qismlari o'z turlaridan biridir. Relyatsion mavjudotda takrorlanadigan qatorlar mavjud emas.

    Xususiyatlarga asoslanib, atribut qiymatlari bir xil va uzunlikda bo'lishi kerakligi aniq. Atribut qiymatlarining xususiyatlarini ko'rib chiqamiz.

    Relyatsion ma'lumotlar bazasi maydonlarining asosiy tavsiflari

    Maydon nomlari bitta shaxs ichida yagona bo'lishi kerak. Ma'lumotlar bazasining atributi yoki maydon turlari qaysi toifadagi ma'lumotlar ob'ekt maydonlarida saqlanishini tavsiflaydi. Ma'lumotlar bazasining relyatsion maydoni belgida belgilangan o'lchamga ega bo'lishi kerak. Atribut qiymatlarining parametrlari va formati ularda ma'lumotlarning qanday tuzatilishini aniqlaydi. Bundan tashqari, "niqob" yoki "kirish naqshlari" kabi narsalar mavjud. Bu atribut qiymatiga ma'lumotlarni kiritish konfiguratsiyasini aniqlash uchun mo'ljallangan. Qanday bo'lmasin, siz maydonga noto'g'ri narsa yozganingizda, xato haqida xabar berilishi kerak. Shuningdek, maydonlarning elementlariga ba'zi cheklovlar kiritilgan - aniqlik va xatosiz ma'lumotlarni kiritish shartlarini tekshirish shartlari. Ma'lumotlar bilan aniq to'ldirilishi kerak bo'lgan ba'zi bir atribut qiymati mavjud. Ba'zi atribut satrlari NULL qiymatlari bilan to'ldirilishi mumkin. Maydon atributlariga bo'sh ma'lumotlarni kiritishga ruxsat beriladi. Xato haqida xabar berish kabi, tizim tomonidan avtomatik ravishda to'ldiriladigan qiymatlar mavjud - bu standart ma'lumotlar. Indekslangan maydon har qanday ma'lumotni qidirishni tezlashtirish uchun mo'ljallangan.

    2D relyatsion ma'lumotlar bazasi jadvali

    SQL-dan foydalangan holda modelni batafsil tushunish uchun sxemani misol sifatida ko'rib chiqish yaxshiroqdir. Relyatsion ma'lumotlar bazasi nima ekanligini biz allaqachon bilamiz. Har bir jadvaldagi yozuv bitta ma'lumot elementidir. Ma'lumotlarning ortiqcha bo'lishini oldini olish uchun normalizatsiya operatsiyalarini bajarish kerak.

    Relyatsion mavjudlikni normallashtirishning asosiy qoidalari

    1. Relyatsion jadval uchun maydon nomining qiymati o'ziga xos, o'ziga xos bo'lishi kerak (birinchi normal shakl 1NF).

    2. 1NF ga tushirilgan jadval uchun identifikatsiyalanmagan har qanday ustunning nomi jadvalning noyob identifikatoriga (2NF) bog'liq bo'lishi kerak.

    3. 2NF-da joylashgan barcha jadval uchun har bir identifikatsiyalanmagan maydon boshqa tan olinmagan qiymat elementiga (3NF-tashkilot) bog'liq bo'lishi mumkin emas.

    Ma'lumotlar bazalari: jadvallar orasidagi munosabat

    Ikkita asosiy munosabatlar jadvali mavjud:

    • Bitta. Jadval №1-ning bitta asosiy yozuvlari ikkinchi mavjudotning bir nechta misollariga to'g'ri kelganda paydo bo'ladi. Chizilgan chiziqning bir uchida joylashgan klaviatura mavjudot "bir" tomonda ekanligini bildiradi, chiziqning boshqa uchi ko'pincha cheksizlik belgisi bilan belgilanadi.

    • "Ko'p-ko'p" munosabatlar boshqa jadvaldagi bir qator yozuvlar bilan bitta mavjudotning bir necha qatorlari o'rtasida aniq mantiqiy o'zaro ta'sir mavjud bo'lganda hosil bo'ladi.
    • Agar ikkita birlik o'rtasida bitta-bitta birikma yuzaga kelsa, demak, bitta jadvalning kalit identifikatori boshqa mavjudotda mavjud bo'lsa, jadvallardan birini olib tashlash kerak, bu keraksiz. Ammo ba'zida, faqat xavfsizlik nuqtai nazaridan, dasturchilar ikkalasini ataylab ajratishadi. Shuning uchun, gipotetik ravishda, birma-bir munosabatlar mavjud bo'lishi mumkin.

    Relyatsion ma'lumotlar bazasida kalitlarning mavjudligi

    Birlamchi va ikkilamchi kalitlar ma'lumotlar bazasining potentsial munosabatlarini belgilaydi. Ma'lumotlar modelining o'zaro aloqalari faqat bitta potentsial kalitga ega bo'lishi mumkin, bu asosiy kalit bo'ladi. U nimaga o'xshaydi? Birlamchi kalit - bu ma'lum bir qator uchun ma'lumotlarga kirishingiz mumkin bo'lgan shaxs ustuni yoki atributlar to'plami. U noyob, noyob bo'lishi kerak va uning maydonlarida bo'sh qiymatlar bo'lishi mumkin emas. Agar birlamchi kalit faqat bitta atributdan iborat bo'lsa, u holda u oddiy deb nomlanadi, aks holda u komponent bo'ladi.

    Asosiy kalitdan tashqari, tashqi kalit ham mavjud. Ko'pchilik ular orasidagi farq nima ekanligini tushunmaydi. Keling, ularni misol yordamida batafsil tahlil qilaylik. Shunday qilib, ikkita jadval mavjud: "Dekanlik" va "Talabalar". "Dekanlik" sub'ektida "Talabalik guvohnomasi", "To'liq ism" va "Guruh" maydonlari mavjud. "Talabalar" jadvalida "Ism", "Guruh" va "O'rtacha" kabi atribut qiymatlari mavjud. Talaba guvohnomasi bir nechta talabalar uchun bir xil bo'lishi mumkin emasligi sababli, bu maydon asosiy kalit bo'ladi. "Talabalar" jadvalidagi "To'liq ism" va "Guruh" bir nechta odam uchun bir xil bo'lishi mumkin, ular "Dekanlik" tashkilotining talaba guvohnomasi raqamiga murojaat qilishadi, shuning uchun ular tashqi kalit sifatida ishlatilishi mumkin.

    Ma'lumotlar bazasining relyatsion modeli

    Aniqlik uchun biz ikkita ob'ektdan iborat ma'lumotlar bazasining relyatsion modeliga oddiy misol keltiramiz. "Dekanat" deb nomlangan stol mavjud.

    To'liq relyatsion ma'lumotlar bazasini olish uchun siz ulanishlarni amalga oshirishingiz kerak. "IN-72" yozuvi, "IN-72" singari, "Dekanlik lavhasida" bir necha bor bo'lishi mumkin, shuningdek kamdan-kam hollarda talabalarning familiyasi, ismi va otasining ismi bir-biriga to'g'ri kelishi mumkin, shuning uchun bu maydonlarni asosiy kalit qilib bo'lmaydi. Keling, "Talabalar" sub'ektini ko'rsatamiz.

    Ko'rib turganimizdek, relyatsion ma'lumotlar bazalaridagi maydonlarning turlari umuman boshqacha. Ham raqamli, ham ramziy yozuvlar mavjud. Shuning uchun atribut sozlamalarida integer, char, vachar, date va boshqalarning qiymatlari ko'rsatilishi kerak. "Dekanlik" jadvalida faqat talabalik guvohnomasi noyob qiymat hisoblanadi. Ushbu maydon asosiy kalit sifatida qabul qilinishi mumkin. "Talabalar" tashkilotining ismi, guruhi va telefon raqami talaba guvohnomasiga ishora qiluvchi xorijiy kalit sifatida qabul qilinishi mumkin. Aloqa o'rnatildi. Bu yakkama-yakka munosabatlar modeliga misol. Gipotetik ravishda jadvallardan biri ortiqcha, ularni osonlikcha bitta vujudga birlashtirish mumkin. Talaba guvohnomalarining raqamlari umuman ma'lum bo'lishiga yo'l qo'ymaslik uchun ikkita jadvalning mavjudligi juda aniq.

    Ma'lumotlar bazasi (JB) -bu ma'lum bir predmet sohasi bilan bog'liq bo'lgan va kompyuterda saqlash, to'plash va qayta ishlash uchun mo'ljallangan tuzilgan ma'lumotlarning nomlangan to'plamidir.

    Ma'lumotlar bazasi (RDB) ma'lumotlar bazasi sxemasidagi nomlari sxema nomlari bilan mos keladigan munosabatlar to'plamidir.

    Asosiy tushunchalarrelyatsion ma'lumotlar bazalari:

    · Ma'lumot turi - ma'lum bir ustun qiymatlari turi.

    · Domen (domen) - bu barcha tegishli atribut qiymatlari to'plami.

    · Xususiyat (atribut) - ob'ektning nomlangan xususiyatini tavsiflovchi jadval ustunining sarlavhasi, masalan, talabaning familiyasi, buyurtma sanasi, xodimning jinsi va boshqalar.

    · Tuple - mantiqiy bog'liq atributlarning qiymatlari to'plami bo'lgan jadval qatori.

    · Xulosa (munosabat) - real hayotdagi ob'ektlar haqidagi ma'lumotlarni aks ettiruvchi jadval, masalan, talabalar, buyurtmalar, xodimlar, rezidentlar va boshqalar.

    · Asosiy kalit (asosiy kalit) - jadvaldagi maydon (yoki maydonlar to'plami), uning har bir yozuvini o'ziga xos tarzda aniqlaydi.

    · Muqobil kalit Birlamchi kalitga mos kelmaydigan va yozuvning nusxasini aniq belgilaydigan maydon (yoki maydonlar to'plami).

    · Tashqi kalit Bu qiymatlar boshqa jadvalning mavjud asosiy kalit qiymatlariga mos keladigan maydon (yoki maydonlar to'plami). Ikki jadvalni bog'lashda ikkinchi jadvalning tashqi kaliti birinchi jadvalning asosiy kalitiga bog'lanadi.

    · Ma'lumotlarning relyatsion modeli (RDM)- ikki o'lchovli jadvallar ko'rinishidagi ma'lumotlarni tashkil etish.

    Har bir relyatsion jadval quyidagi xususiyatlarga ega bo'lishi kerak:

    1. Jadvalning har bir yozuvi o'ziga xosdir, ya'ni. maydonlar bo'ylab qiymatlar to'plami takrorlanmaydi.

    2. Qator va ustun kesishmasida yozilgan har bir qiymat atomik (ajralmas).

    3. Har bir maydonning qiymatlari bir xil turdagi bo'lishi kerak.

    4. Har bir maydonning o'ziga xos nomi bor.

    5. Yozuvlarning tartibi muhim emas.

    Ma'lumotlar bazasining asosiy elementlari:

    Maydon - ma'lumotlarni mantiqiy tashkil etishning elementar birligi. Maydonni tavsiflash uchun quyidagi xususiyatlardan foydalaniladi:

    · Ismi, masalan, familiyasi, ismi, otasining ismi, tug'ilgan sanasi;

    · Yozing, masalan, satr, belgi, raqamli, sana;

    · Uzunlik, masalan, baytlarda;

    · Raqamli ma'lumotlar uchun aniqlik, masalan, raqamning kasr qismini ko'rsatish uchun o'nli kasrlar.

    Yozib olish - mantiqiy bog'liq maydonlarning qiymatlari to'plami.

    Indeks - jadvallar orasidagi munosabatlarni o'rnatish uchun foydalaniladigan yozuvlarni qidirishni tezlashtirish vositasi. Indeks ishlatilgan jadval indekslangan deb nomlanadi. Indekslar bilan ishlashda siz tasniflash uchun asos bo'lgan indekslarni tashkil etishga e'tibor berishingiz kerak. Oddiy indeks bitta maydon yoki bitta maydonni qayta ishlaydigan mantiqiy ifoda bilan ifodalanadi. Kompozit indeks turli funktsiyalardan foydalanish qobiliyatiga ega bo'lgan bir nechta maydonlar bilan ifodalanadi. Jadval indekslari indeks faylida saqlanadi.


    Ma'lumotlarning yaxlitligi Ma'lumotlarni havola maydonlari bilan himoya qilish vositasi bo'lib, bu jadvallarni izchil (izchil) holatida saqlashga imkon beradi (ya'ni quyi jadvalda ota-jadvalda tegishli yozuvlarga ega bo'lmagan yozuvlar mavjudligini oldini olish).

    So'rov - ma'lumotlar namuna olish mezonlarini o'z ichiga olgan bir yoki bir nechta o'zaro bog'liq jadvallarga tuzilgan savol. So'rov Srtructured Query Language (SQL) yordamida amalga oshiriladi. Ma'lumotlarni bir yoki bir nechta jadvallardan olish natijasida ko'rinish deb nomlangan ko'plab yozuvlarni olish mumkin.

    Ma'lumotlar taqdimoti - ma'lumotlar bazasida saqlangan ma'lumotlarni tanlash uchun nomlangan so'rov (bir yoki bir nechta jadvallardan).

    Ko'rinish asosan so'rov natijasida kelib chiqadigan vaqtinchalik jadvaldir. So'rovning o'zi alohida faylga, hisobotga, vaqtinchalik jadvalga, diskdagi jadvalga va boshqalarga yuborilishi mumkin.

    Hisobot- tizimning tarkibiy qismi, uning asosiy maqsadi ma'lumotlar bazasidan olingan ma'lumotlar asosida hujjatlarni tavsiflash va chop etishdir.

    RDB bilan ishlashning umumiy xususiyatlari:

    Ma'lumotlarning relyatsion modelining eng keng tarqalgan talqini, deyarli barcha kitoblarida uni (har xil yaxshilanishlar bilan) ko'paytiradigan Sana bilan bog'liq. Datega ko'ra, relyatsion model relyatsion yondashuvning turli jihatlarini tavsiflovchi uchta qismdan iborat: tarkibiy qism, manipulyatsiya qismi va ajralmas qism.

    Modelning strukturaviy qismida relyatsion ma'lumotlar bazalarida ishlatiladigan yagona ma'lumotlar tuzilishi normallashtirilgan n-munosabatlar ekanligi ta'kidlangan.

    Modelning manipulyatsiya qismi relyatsion ma'lumotlar bazalarini boshqarish uchun ikkita asosiy mexanizmni - relyatsion algebra va relyatsion hisobni tasdiqlaydi. Birinchi mexanizm asosan klassik to'plam nazariyasiga asoslanadi (ba'zi yaxshilanishlar bilan), ikkinchisi - birinchi darajali predikat hisobining klassik mantiqiy apparati. Shuni e'tiborga olingki, relyatsion modelning manipulyatsiya qismining asosiy vazifasi relyatsion ma'lumotlar bazalarining har qanday ma'lum bir tilining nisbiyligi o'lchovini ta'minlashdir: agar til relyatsion algebra yoki relyatsion hisobdan kam bo'lmagan ekspresivlik va kuchga ega bo'lsa, til relyatsion deb ataladi.


    28. ALGORITMIK TILLAR. TARJIMATCHILAR (TARJIMATCHILAR VA TARMOQCHILAR). ALGORITMIK TIL ASOSIY. Dasturning tuzilishi. Identifikatorlar. O'zgaruvchan. OPERATORLAR. BIR VA Ikki o'lchovli massivlarni boshqarish. FOYDALANIShNING FUNKSIYALARI. Sub-dasturlar. Ma'lumotlar fayllari bilan ishlash.

    Yuqori darajadagi til - tushunchalari va tuzilishi inson idroki uchun qulay bo'lgan dasturlash tili.

    Algoritmik til (Algoritmik til) - dasturlash tili - algoritmlarni yozish uchun mo'ljallangan sun'iy (rasmiy) til. Dasturlash tili o'zining tavsifi bilan belgilanadi va maxsus dastur sifatida amalga oshiriladi: kompilyator yoki tarjimon. Algoritmik tillarga misol qilib Borland Pascal, C ++, Basic va hk.

    Algoritmik tilning asosiy tushunchalari:

    Til tarkibi:

    Oddiy tilda to'rtta asosiy element mavjud: belgilar, so'zlar, iboralar va jumlalar. Algoritmik tilda o'xshash elementlar mavjud, faqat so'zlar elementar qurilish, iboralar - iboralar, jumlalar - operatorlar deb nomlanadi.

    Belgilar, elementar konstruktsiyalar, ifodalar va operatorlar ierarxik tuzilmani tashkil qiladi, chunki elementar konstruktsiyalar belgilar ketma-ketligidan hosil bo'ladi.

    Ifodalar elementar inshootlar va belgilarning ketma-ketligi,

    Operator - iboralar ketma-ketligi, elementar qurilishlar va belgilar.

    Til tavsifi:

    Belgilarning tavsifi tilning ruxsat berilgan belgilarini ro'yxatlashdan iborat. Boshlang'ich tuzilmalarning tavsifi ularni shakllantirish qoidalari sifatida tushuniladi. Ifodalarning tavsifi - bu ma'lum bir tilda mantiqiy bo'lgan har qanday iboralarni shakllantirish qoidalari. Operatorlarning tavsifi tilda ruxsat berilgan barcha turdagi operatorlarni ko'rib chiqishdan iborat. Tilning har bir elementining tavsifi uning SYNTAX va SEMANTICS tomonidan berilgan.

    Sintaktik ta'riflar til elementlarini qurish qoidalarini belgilaydi.

    Semantik sintaktik ta'riflar berilgan tilning o'sha elementlari ma'nosi va ulardan foydalanish qoidalarini belgilaydi.

    Til belgilari - bu tilga oid barcha matnlar yoziladigan asosiy bo'linmas belgilar.

    Boshlang'ich konstruktsiyalar tilning mustaqil ma'noga ega bo'lgan minimal birliklari. Ular tilning asosiy belgilaridan shakllangan.

    Ifoda algoritmik tilda elementar konstruktsiyalar va belgilardan iborat bo'lib, u ma'lum bir qiymatni hisoblash qoidasini belgilaydi.

    Operator bajarilishi kerak bo'lgan ba'zi bir harakatlarning to'liq tavsifini belgilaydi. Murakkab harakatni tavsiflash uchun operatorlar guruhidan talab qilinishi mumkin.

    Bunday holda, operatorlar birlashtiriladi Murakkab operator yoki Bloklash. Amallaroperatorlar tomonidan berilgan ma'lumotlar ustida bajariladi. Ma'lumot turlari haqida ma'lumot beruvchi algoritmik tilga oid jumlalar deklaratsiya yoki bajarilmaydigan operatorlar deb nomlanadi. Bitta algoritm bilan birlashtirilgan tavsiflar va operatorlar to'plami algoritmik tilda dasturni tashkil qiladi. Algoritmik tilni o'rganish jarayonida algoritmik tilni o'rganilayotgan algoritmik tilni tavsiflash amalga oshiriladigan tildan ajratish kerak. Odatda tarjima qilinadigan til shunchaki til deb ataladi va maqsadiga qarab tilning tavsifi berilgan til - Metall tili.

    Tarjimonlar - (Inglizcha tarjimon - tarjimon) tarjimon dasturi. U yuqori darajadagi tillardan birida yozilgan dasturni mashina ko'rsatmalaridan iborat dasturga aylantiradi.

    Har qanday yuqori darajadagi algoritmik tilda yozilgan dastur to'g'ridan-to'g'ri kompyuterda bajarilishi mumkin emas. Kompyuter faqat mashina ko'rsatmalarining tilini tushunadi. Binobarin, algoritmik tildagi dastur ma'lum bir kompyuterning buyruq tiliga tarjima qilinishi (tarjima qilinishi) kerak. Bunday tarjima har bir algoritmik til va har bir kompyuter turi uchun yaratilgan maxsus tarjimon dasturlari tomonidan avtomatik ravishda amalga oshiriladi.

    Oqimning ikkita asosiy usuli mavjud - kompilyatsiya va talqin.

    1. Tuzish: Tuzuvchi (Inglizcha kompilyator - kompilyator, kollektsioner) butun dasturni to'liq o'qiydi, uning tarjimasini amalga oshiradi va dasturning mashina tilida to'liq versiyasini yaratadi, so'ngra bajariladi.

    Qachon jamlama butun asl dastur darhol mashina ko'rsatmalarining ketma-ketligiga aylanadi. Shundan so'ng, natijada olingan dastur mavjud dastlabki ma'lumotlar bilan kompyuter tomonidan amalga oshiriladi. Ushbu usulning afzalligi shundaki, tarjima bir marta amalga oshiriladi va natijada olingan dasturning (ko'p) bajarilishi yuqori tezlikda amalga oshirilishi mumkin. Shu bilan birga, natijada olingan dastur kompyuter xotirasida juda ko'p joy egallashi mumkin, chunki tarjima paytida bitta til operatori yuzlab yoki hatto minglab ko'rsatmalar bilan almashtiriladi. Bundan tashqari, tarjima qilingan dasturni disk raskadrovka va o'zgartirish juda qiyin.

    2. Interpretatsiya: Tarjimon (Inglizcha tarjimon - tarjimon, tarjimon) dastur satrini satrga tarjima qiladi va bajaradi.

    Qachon sharhlar asl dastur deyarli o'zgarmagan holda kompyuter xotirasida saqlanadi. Tarjimon dasturi manba dasturining gaplarini birma-bir dekodlaydi va zudlik bilan mavjud ma'lumotlar bilan ularning bajarilishini ta'minlaydi. Interpretatsiya qilingan dastur kompyuter xotirasida kam joy egallaydi va uni disk raskadrovka qilish va o'zgartirish oson. Boshqa tomondan, dasturning bajarilishi juda sust, chunki har bir bajarilishda barcha operatorlar o'z navbatida talqin qilinadi.

    Tuzilgan dasturlar tezroq ishlaydi, ammo talqin qilingan dasturlarni tuzatish va o'zgartirish osonroq

    Har bir alohida til, uni yaratish maqsadiga qarab, kompilyatsiya yoki talqin qilishga yo'naltirilgan. Masalan, Paskal odatda dasturlarning tezligi muhim bo'lgan juda murakkab masalalarni echishda ishlatiladi. Shuning uchun bu til odatda kompilyator yordamida amalga oshiriladi.

    Boshqa tomondan, BASIC yangi boshlagan dasturchilar uchun til sifatida yaratilgan bo'lib, ular uchun satrma-bosqich dastur bajarilishi inkor etilmaydigan afzalliklarga ega.

    Ba'zan bir til uchun ham kompilyator, ham tarjimon mavjud. Bunday holda siz tarjimondan dasturni ishlab chiqish va sinovdan o'tkazish uchun foydalanishingiz mumkin, so'ngra uning bajarilishini tezlashtirish uchun disk raskadrovka qilingan dasturni kompilyatsiya qilishingiz mumkin.

    MB ma'lumotlar bazasi.

    JBK funktsiyalari yuqori va past darajada.

    Yuqori darajadagi funktsiyalar:

    1. Ma'lumotlarning ta'rifi - ushbu funktsiya yordamida ma'lumotlar bazasida qanday ma'lumotlar saqlanishi aniqlanadi (ma'lumotlar turi, xususiyatlari va ular bir-biri bilan qanday bog'liq bo'lishi).

    2. Ma'lumotlarni qayta ishlash. Axborotni har xil usulda qayta ishlash mumkin: tanlash, filtrlash, saralash, bitta ma'lumotni boshqasi bilan birlashtirish, umumiy qiymatlarni hisoblash.

    3. Ma'lumotlarni boshqarish. Ushbu funktsiya ma'lumotlarni ko'rishga, tuzatishga yoki yangi ma'lumotlar qo'shishga kimga ruxsat berilishini belgilaydi, shuningdek umumiy foydalanish qoidalarini belgilaydi.

    Past darajadagi funktsiyalar:

    1. Tashqi xotirada ma'lumotlarni boshqarish;

    2. RAM buferlarini boshqarish;

    3. Tranzaksiyalarni boshqarish;

    4. Ma'lumotlar bazasiga o'zgartirishlar jurnalini kiritish;

    5. Ma'lumotlar bazasining yaxlitligi va xavfsizligini ta'minlash.

    Bitim bo'yicha operatsiyalarning bo'linmas ketma-ketligi deb ataladi, u boshidan oxirigacha DBMS tomonidan nazorat qilinadi va agar bitta operatsiya bajarilmasa, butun ketma-ketlik bekor qilinadi.

    JB jurnali - foydalanuvchi uchun kirish imkoni bo'lmagan va ma'lumotlar bazasidagi barcha o'zgarishlar haqida ma'lumot yozib olish uchun foydalaniladigan maxsus ma'lumotlar bazasi yoki asosiy ma'lumotlar bazasining bir qismi.

    DBMS jurnalini taqdim etish apparatdagi nosozliklar va nosozliklar, shuningdek dasturiy ta'minotdagi xatolar mavjud bo'lganda ma'lumotlar bazasida saqlash ishonchliligini ta'minlash uchun mo'ljallangan.

    Ma'lumotlar bazasining yaxlitligi - bu ma'lumotlar bazasining xususiyati, ya'ni u to'liq, izchil va mavzu doirasidagi ma'lumotni etarli darajada aks ettiradi.

    JBK tasnifi.

    Ma'lumotlar bazasi tizimini tasniflash mumkin:

    1. Dasturlar turlari bo'yicha:

    a. Ma'lumotlar bazasi serverlari (masalan, MS SQL Server, InterBase (Borland)) - kompyuter tarmoqlaridagi ma'lumotlar markazlarini tashkil qilish va SQL operatorlari (ya'ni so'rovlarga javob beradigan dasturlar) yordamida mijoz dasturlari tomonidan so'ralgan ma'lumotlar bazasini boshqarish funktsiyalarini amalga oshirish uchun mo'ljallangan;

    b. JB mijozlari - ma'lumotlarni so'raydigan dasturlar. PFSDBMS, elektron jadvallar, matn protsessorlari, elektron pochta dasturlari mijoz dasturlari sifatida ishlatilishi mumkin;

    v. To'liq ishlaydigan ma'lumotlar bazalari (MS Access, MS Fox Pro) - jadvallarni yaratish va o'zgartirish, ma'lumotlarni kiritish, so'rovlarni yaratish va formatlash, hisobotlarni ishlab chiqish va ularni chop etish imkonini beradigan rivojlangan interfeysga ega dastur.

    2. Ma'lumotlar bazasi ma'lumotlar bazasi (JB kabi) bo'yicha:

    a. Ierarxik - axborotni saqlashning daraxt tuzilishiga asoslangan va kompyuterning fayl tizimiga o'xshash; asosiy kamchilik - ko'pdan ko'plarga munosabatlarni amalga oshirishga qodir emasligi;

    b. Tarmoq - bu ierarxiklarni almashtirdi va uzoq davom etmadi, chunki asosiy kamchilik jiddiy dasturlarni ishlab chiqishning murakkabligi edi. Tarmoqning ierarxikadan asosiy farqi shundaki, "yozuv - bola" ierarxik tarkibida faqat bitta ajdod bor va tarmoq avlodida u istalgan miqdordagi ajdodlarga ega bo'lishi mumkin;

    v. Aloqaviy - ma'lumotlar jadvallarda joylashgan bo'lib, ular orasida ma'lum havolalar mavjud;

    d. Ob'ektga yo'naltirilgan - ular ma'lumotlarni ob'ektlar ko'rinishida saqlaydi va ular bilan ishlashda asosiy ustunlik shundaki, ularga ob'ektga yo'naltirilgan yondashuvni qo'llashingiz mumkin;

    e. Gibrid, ya'ni ob'ekt - munosabat - relyatsion va ob'ektiv yo'naltirilgan ma'lumotlar bazalarining imkoniyatlarini birlashtirish. Bunday ma'lumotlar bazasiga misol sifatida Oracle (ilgari u aloqador bo'lgan).

    3. Ma'lumotlar bazasi ma'lumotlar bazasining alohida qismlarining joylashishiga qarab quyidagilar mavjud.

    a. mahalliy - barcha qismlari bitta kompyuterda joylashgan;

    b. tarmoq.

    Tarmoq quyidagilarni o'z ichiga oladi:

    - tashkilot fayli bilan - server;

    Bunday tashkilot bilan barcha ma'lumotlar bitta kompyuterda joylashgan bo'lib, u fayl - server deb nomlangan va tarmoqqa ulangan. Kerakli ma'lumotlarni topishda butun fayl, shu jumladan juda ko'p keraksiz ma'lumotlar uzatiladi. Va faqat mahalliy nusxani yaratishda kerakli yozuv topiladi.

    - mijoz-server tashkiloti bilan;

    Ma'lumotlar bazasi serveri mijozdan so'rov qabul qiladi, ma'lumotlardan kerakli yozuvni qidiradi va uni mijozga uzatadi. Serverga so'rov tuzilgan so'rovlar tilida tuziladi SQL, shuning uchun ma'lumotlar bazasi serverlari SQL serverlari deb nomlanadi.

    - tarqatilgan DBMS katta hududda joylashgan bir necha o'nlab va yuzlab serverlarni o'z ichiga oladi.

    Relyatsion ma'lumotlar bazasi modelining asosiy qoidalari.

    Relyatsion ma'lumotlar bazasi ma'lumotlar bazasi deb ataladi, unda barcha ma'lumotlar jadvallar shaklida tartibga solinadi va ushbu ma'lumotlar bo'yicha barcha operatsiyalar jadvallardagi operatsiyalarga aylantiriladi.

    Relyatsion ma'lumotlar bazalarining xususiyatlari:

    1. Ma'lumotlar ustunlar va qatorlardan iborat jadvallarda saqlanadi;

    2. Har bir ustun va satr kesishgan joyda bitta qiymat mavjud;

    3. Har bir ustun - maydon o'z nomiga ega bo'lib, uning nomi - atribut vazifasini bajaradi va bitta ustundagi barcha qiymatlar bir xil;

    4. Ustunlar o'zboshimchalik bilan joylashtirilgan qatorlardan farqli o'laroq jadval yaratishda ko'rsatiladigan ma'lum tartibda joylashtirilgan. Jadvalda bitta qator bo'lmasligi mumkin, lekin kamida bitta ustun bo'lishi kerak.

    Ma'lumotlar bazasi terminologiyasi:

    Ma'lumotlar bazasi elementi Taqdimot shakli
    1. Ma'lumotlar bazasi Jadvallar to'plami
    2. Ma'lumotlar bazasi sxemasi Jadval sarlavhalari to'plami
    3. munosabat Jadval
    4. Aloqalar diagrammasi Jadval ustunlari sarlavhalari qatori
    5. mohiyati Ob'ekt xususiyatlarining tavsifi
    6. Xususiyat Ustun sarlavhasi
    7. Domen Atributlarning ko'p qiymatlari
    8. Asosiy kalit Jadvaldagi har bir yozuvni noyob tarzda aniqlaydigan noyob identifikator
    9. Ma'lumot turi Jadvaldagi elementlarning qiymatlari turi
    10. Tuple String (yozish)
    11. Kardinallik Jadvaldagi qatorlar soni
    12. Munosabatlar darajasi Maydonlar soni
    13. Tana munosabatlari Bir nechta aloqalar

    Relyatsion ma'lumotlar bazasini loyihalashda ma'lumotlar bir nechta jadvallarga joylashtiriladi. Kalitlardan foydalangan holda jadvallar o'rtasida munosabatlar o'rnatiladi. Jadvallarni bog'lashda asosiy va qo'shimcha (bo'ysunuvchi) jadvallar tanlanadi.

    Jadvallar o'rtasida quyidagi turdagi munosabatlar mavjud:

    1. 1: 1 shaklidagi munosabatlar (bittadan bittaga) asosiy jadvaldagi har bir yozuv qo'shimcha jadvaldagi bitta yozuvga va aksincha, qo'shimcha jadvaldagi har bir yozuv asosiy jadvaldagi bitta yozuvga mos kelishini bildiradi.

    2. Aloqalar turi 1: M (bittadan ko'pgacha) shuni anglatadiki, asosiy jadvaldagi har bir yozuv qo'shimcha jadvaldagi bir nechta yozuvlarga mos keladi va aksincha, qo'shimcha jadvaldagi har bir yozuv asosiy jadvaldagi bitta yozuvga to'g'ri keladi.

    3. M: 1 kabi munosabatlar (ko'pdan bittagacha) asosiy jadvaldagi bir yoki bir nechta yozuvlar ikkilamchi jadvaldagi faqat bitta yozuvga mos kelishini bildiradi.

    4. M: M shaklining aloqasi (ko'pdan ko'pgacha) - bu qo'shimcha jadvalning bir nechta yozuvlari asosiy jadvalning bir nechta yozuvlariga mos kelganda va aksincha.

    5. MS Access-ning asosiy tarkibiy qismlari.

    MS Access-ning asosiy tarkibiy qismlari (ob'ektlari):

    1. Jadvallar;

    3. shakllar;

    4. Hisobotlar;

    5. Makrolar:

    Modullar.

    Jadval Ma'lumotlarni yozuvlar (satrlar) va maydonlar (ustunlar) shaklida saqlash uchun mo'ljallangan ob'ekt. Har bir maydon yozuvning alohida qismini o'z ichiga oladi va har bir jadval bitta aniq savol haqidagi ma'lumotlarni saqlash uchun ishlatiladi.

    So'rov - jadvallarda saqlanadigan ma'lumotlar to'g'risidagi savol yoki o'zgartirilishi kerak bo'lgan yozuvlarni tanlash bo'yicha ko'rsatma.

    Shakl Jadval maydonlariga ma'lumotlarni kiritish, aks ettirish va o'zgartirish uchun boshqaruv elementlarini joylashtirishingiz mumkin bo'lgan ob'ekt.

    Hisobot Foydalanuvchi tomonidan aniqlangan ma'lumotlarni ma'lum bir tarzda taqdim etish, ko'rish va chop etish imkonini beradigan ob'ekt.

    Ibratli - ma'lum bir vazifani avtomatlashtirish uchun ishlatilishi mumkin bo'lgan bir yoki bir nechta makros. Makro - makroning asosiy tarkibiy qismi; vazifani avtomatlashtirish uchun boshqa makrolar bilan birlashtirilishi mumkin bo'lgan mustaqil ko'rsatma.

    Modul - bitta nom ostida saqlanadigan tavsiflar, ko'rsatmalar va protseduralar to'plami. MS Access-da modullarning uch turi mavjud: shakl moduli, hisobot moduli va umumiy modul. Forma va hisobot modullari shakllar va hisobotlar uchun mahalliy dasturni o'z ichiga oladi.

    6. MS Access dasturidagi jadvallar.

    MS Access-da jadvallarni yaratishning quyidagi usullari mavjud:

    1. Jadval rejimi;

    2. Konstruktor;

    3. Jadval ustasi;

    4. Jadvallarni import qilish;

    5. Jadvallar bilan aloqalar.

    IN jadval rejimi ma'lumotlar bo'sh jadvalga kiritiladi. Ma'lumotlarni kiritish uchun 30 ta maydondan iborat jadval berilgan. Uni saqlagandan so'ng, MS Access har bir maydonga qanday ma'lumot turini belgilashni o'zi hal qiladi.

    Konstruktor mustaqil ravishda maydonlarni yaratish, maydonlar uchun ma'lumotlar turlarini tanlash, maydon o'lchamlari va maydon xususiyatlarini o'rnatish qobiliyatini ta'minlaydi.

    Rejimdagi maydonni aniqlash uchun Konstruktor o'rnatilgan:

    1. Maydon nomi , har bir jadvalda harflar, raqamlar, bo'shliqlar va maxsus belgilar birikmasi bo'lgan noyob nom bo'lishi kerak, bundan tashqari " .!” “ ". Ismning maksimal uzunligi 64 ta belgidan iborat.

    2. Ma'lumot turi joriy qiymatlarning turi va diapazonini, shuningdek ushbu maydon uchun ajratilgan xotira hajmini belgilaydi.

    MS Access ma'lumotlar turlari

    Ma'lumot turi Tavsif
    Matn Matn va raqamlar, masalan ismlar va manzillar, telefon raqamlari, pochta indekslari (255 belgigacha).
    Yozuv maydoni Izohlar va tushuntirishlar kabi uzun matn va raqamlar (64000 belgigacha).
    Raqamli Matematik hisob-kitoblarni amalga oshirishga imkon beradigan raqamli ma'lumotlar uchun umumiy ma'lumotlar turi, pul hisob-kitoblari bundan mustasno.
    Sana vaqti Sana va vaqt qiymatlari. Foydalanuvchi standart shakllarni tanlashi yoki maxsus format yaratishi mumkin.
    Pul Pul qiymatlari. Pul hisob-kitoblari uchun raqamli ma'lumotlar turlaridan foydalanish tavsiya etilmaydi, chunki ularni hisob-kitoblarda yaxlitlash mumkin. Valyuta qiymatlari har doim kasrdan keyin belgilangan o'nlik kasrlari soni bilan ko'rsatiladi.
    Hisoblagich Avtomatik ravishda ketma-ket raqamlar. Raqamlash 1-dan boshlanadi. Hisoblagich maydoni kalit yaratishda qulay. Ushbu maydon Size xususiyatiga Long-ga o'rnatilgan raqamli maydon bilan mos keladi.
    Mantiqiy Qiymatlar "Ha / Yo'q", "Haqiqiy / Noto'g'ri", "Yoqish / O'chirish", mumkin bo'lgan ikkita qiymatdan biri.
    OLE ob'ektlar maydoni OLE protokolini qo'llab-quvvatlaydigan boshqa dasturlarda yaratilgan ob'ektlar.

    3. Eng muhim maydon xususiyatlari:

    - Maydon hajmi maydonda saqlanadigan ma'lumotlarning maksimal hajmini belgilaydi.

    - Maydon formati - bu berilganlarning turini aks ettirish formati va ma'lumotlarni ekranga chiqarishda yoki bosib chiqarishda taqdim etish qoidalarini belgilaydi.

    - Dala imzosi jadvallarda, shakllarda, hisobotlarda ko'rsatiladigan matnni o'rnatadi.

    - Qiymat sharti kirishni boshqarishga imkon beradi, kirish qiymatlariga cheklovlar qo'yadi, shartlar buzilgan taqdirda, kiritishni taqiqlaydi va Xato xabari xususiyati tomonidan belgilangan matnni aks ettiradi;

    - Xato xabari qiymati bo'yicha Shart tomonidan belgilangan cheklovlar buzilganda ekranda ko'rsatiladigan xabar matnini belgilaydi.

    Boshqarish turi - jadval tuzuvchisi oynasida Almashtirish yorlig'ida o'rnatilgan xususiyat. Ushbu xususiyat maydonning jadvalda ko'rsatilishini va qanday shaklda - maydon sifatida yoki kombinatsion quti sifatida aniqlanadi.

    Noyob (asosiy) kalit jadvallar bir nechta maydonlardan iborat oddiy yoki murakkab bo'lishi mumkin.

    Kalitni aniqlash uchun tugmachani tashkil etadigan maydonlar ajratib ko'rsatiladi va asboblar panelidagi tugma bosiladi asosiy maydonyoki buyruq bajariladi Klaviatura maydonini tahrirlash.


    © 2015-2019 sayti
    Barcha huquqlar ularning mualliflariga tegishli. Ushbu sayt mualliflik huquqini talab qilmaydi, lekin bepul foydalanishni ta'minlaydi.
    Sahifa yaratilgan sana: 2016-02-16

    Maqola sizga yoqdimi? Do'stlar bilan bo'lishish uchun: