Ma'lumotlar tushunchasi: ta'rif, misollar

Mundarija:

Ma'lumotlar tushunchasi: ta'rif, misollar
Ma'lumotlar tushunchasi: ta'rif, misollar
Anonim

Ma'lumotlar odatda dasturlash bilan bog'lanadi va zamonaviy axborot olamida uchta mantiqiy ekvivalent versiyada taqdim etiladi: dasturlash tilida dasturda tasvirlangan va foydalaniladigan ma'lumotlar; ma'lumotlar bazasi tizimlaridagi ma'lumotlar; taqsimlangan axborot tizimlaridagi ma'lumotlar. Zamonaviy dasturlash faqat axborotni rasmiylashtirishning birinchi variantiga nisbatan erkinlik berdi. Ikkinchi ikkita variant ma'lumot va uning tarkibiy qismlari o'rtasidagi munosabatlarni ta'minlashning ko'p yoki kamroq ishonchli shakllaridir.

Oʻtmish va hozirgi maʼlumotlar

Dasturlash tillarining asosiy pozitsiyasi ma'lumotlar va algoritmlarning aniq tavsifidir. Kompyuterlar noaniqlik uchun hech qanday imkoniyatni "taqdim etmaydi": harakat qilish kerak bo'lgan narsa va bu amalni bajaradigan buyruq bor.

Zamonaviy kontseptsiya ancha yuqori poydevorga asoslanadi: berilgan narsa bor va u aynan nima bo'lishi uni qo'llash joyida aniqlanadi. Har qanday holatda, foydalanish vaqtida ma'lumotlar avtomatik ravishda tekshiriladi va to'g'ri turga aylantiriladi. Zamonaviy dasturchi ularning dastlabki tavsifi va algoritmdagi turlarning muvofiqligiga e'tibor berishga majbur emas.

O'tmish va hozirgi ma'lumotlar
O'tmish va hozirgi ma'lumotlar

Oʻtish jarayoni:

  • yozilgan ma'lumotlardan va foydalanishdan oldin uning majburiy tavsifidan;
  • yozilgan ma'lumotlarga va ularni tavsiflash va ishlatish majburiyatidan ozodlik.

Aslida biz rasmiylashtirish talablarining nisbatan yengilligini tan olishimiz mumkin - u faqat zamonaviy dasturlash vositalari muhitida mavjud. Ishlash vaqtida har bir ma'lumot turi aniqlangan va buyruqlar ketma-ketligi aniq belgilangan.

Turlar va modellashtirish

Matematika va fizika, savdo va ishlab chiqarish, iqtisod va raqamlar ishlatiladigan boshqa sohalar har doim ma'lumotlar bilan ishlagan va tip tushunchasiga hech qanday ahamiyat bermagan. Raqamlar butun yoki kasr bo‘lishi muhim emas edi.

Har bir aniq formula yoki muayyan harakat butun son, cheksiz kasr, haqiqiy yoki murakkab son berishi mumkin. Hozirgacha cheksiz kichik va cheksiz katta kabi aql mo''jizalari mavjud. Bundan tashqari, bu mo''jizalar hatto xususiyatlarga ega.

Dasturlashda hali ham erkinlik yo'q. Hamma narsa qat'iy rasmiylashtirilgan bo'lishi kerak. Ma'lumotlar tushunchasi, birinchi navbatda, bir turdagi:

  • integer;
  • mantiqiy;
  • char;
  • string va boshqalar.

Turlar nomlari turli dasturlash tillarida farq qilishi mumkin, lekin har doim butun son yoki haqiqiy son, mantiqiy qiymat, belgi,chiziq. Hali ham qoldiqlar va oʻziga xos gʻoyalar bor: belgisiz butun son, kod, bayt, soʻz, qoʻsh soʻz, belgilangan uzunlikdagi satr.

Yodgorliklar va g'oyalar
Yodgorliklar va g'oyalar

Ma'lumotlar tizimidagi ma'lumotlar tushunchasi erkinlikka ega emas. SQL tili - "xalqaro" (har bir zamonaviy ma'lumotlar bazasi uchun dialekt mavjud) - nafaqat ma'lumotlarda, balki SQL so'rovlarida ham noaniqliklarga toqat qilmaydi. So'rovdagi xato - natijaning yo'qligi kafolati. Tavsiflarning buzilishi haqida umuman gapirishning hojati yo'q.

Axborot jarayonlari va ma'lumotlar taqdimotlarini modellashtirish - o'zgaruvchan va o'zgaruvchan sharoitlarga moslasha oladigan tuzilmani yaratishning yagona ishonchli usuli.

Asl nusxaning dinamikasi

Tabiiy axborot doimiy oʻzgarishdir. Muayyan mavzu sohasida ma'lumotlar modelining rasmiy tavsifi va kontseptsiyasini berish uchta muammoni hal qilishni anglatadi:

  • bu yerda qanday maʼlumotlar borligini aniqlang;
  • ular orasidagi munosabatlarni rasmiylashtirish;
  • ma'lumotlar va munosabatlarni o'zgartirish jarayonlarini tavsiflang.

JavaScript-dagi oddiy algoritm ma'lumotlar to'plamiga misol - hatto eng mustahkam ma'lumotlar bazasini boshqarish tizimi modelining qisqartirilgan nusxasi.

Bu shunchaki ikkinchi holatda, mutaxassislar va mutaxassislar ma'lumotlar tuzilmalari, jadvallar va munosabatlarni loyihalashda odatda narsalarning mohiyatini ko'rmaydilar (ko'p miqdordagi tabiiy ma'lumotlarni qamrab olish juda qiyin) va Mavzu sohasida manba ma'lumotlari bemalol va oson aylanayotganda, mashaqqatli, ishlab chiqilmagan ma'lumotlar yig'indisi olinadi.

Statikmumkin

Sahifaga biriktirilgan kod va sahifa teglarida voqealarga tayinlangan funksiyalarni kiritish odatiy JavaScript amaliyotidir. Qanday bo'lmasin, sahifa teglari ma'lum veb-resurs qabul qiladigan, o'zgartiradigan yoki yaratadigan ma'lumotlarni belgilaydi.

Agar siz ishlov beruvchi kodingizni butun sahifa kodiga emas, balki element hodisalariga diqqat bilan qaratsangiz, bu eng yaxshi chiqish yo'lidir. Ideal holda, agar kod yangi ma'lumotlarni kiritmasa yoki mavjud ma'lumotlarni tuzatmasa, lekin ma'lum bir vaqtda aniq nimaga e'tibor qaratiladi.

Aslida, agar siz "ma'lumotlar" tushunchasini manba ma'lumotlarining minimal statik tavsifi sifatida belgilasangiz va unga amal qilsangiz, bu sizda muvaffaqiyatga erishish imkoniyatini bildiradi.

Ma'lumotlar bazalariga kelsak, ishlar ancha murakkab. Har qanday JavaScript kodi sahifani funksionallik bilan "ta'minlaydi". Har qanday maʼlumotlar bazasi jadvallar, ular orasidagi munosabatlar, saqlangan protseduralar, soʻrovlar va tashqaridan mavjud funksiyalar toʻplamidir.

Statik - har qanday algoritmning muammosi. Ma'lumotlarning zamonaviy kontseptsiyasi statikdir: raqam, satr, belgi va boshqalar. Ma'lumotlar bazasi jadvaliga ishlov berish yoki yozishda hamma narsa muammosiz chiqadi. Ammo asl nusxa qachon boshqa o'lchov yoki ma'noga ega bo'ladi? Birinchi variant: belgini o'zgartiring, lekin ulanishlar va so'rovlar darhol tushib qolishi mumkin.

Statikalar va ob'ektlar

"Ma'lumotlar" tushunchasini ob'ekt sifatida belgilash vaziyatni keskin o'zgartiradi. Ob'ekt o'ziga xos tuzilishga ega. Bu erda siz har qanday o'zgaruvchilarning har qanday tavsifidan foydalanishingiz mumkin. Rol o'ynamaydi. Ob'ektda ma'lumotlar mavjud bo'lgan usullar mavjud. Hamma narsadan beridasturlash sohasida qo'llaniladi, ya'ni uchta asosiy usul: o'qish, yozish, o'zgartirish. Taqqoslash, qidirish, klonlash va h.k. uchun koʻproq narsalarni qoʻshishingiz mumkin.

Mavzu sohasi har bir ma'lumotga bir qator xususiyatlarni qo'yadi. Shunday qilib, ma'lumotlar tushunchasi dinamik ravishda o'zgartirilishi mumkin bo'lgan tavsif turiga aylanadi. Ob'ekt ichidagi statik uning tashqarisidagi dinamikani beradi.

Obyekt ichidagi statik identifikatorlar birikmasini oʻzgartirsangiz, uning boshqa obʼyektlar bilan aloqasi dinamikasi haqida tashvishlanishingiz shart emas.

Ma'lumotlarni dasturlash va taqdim etish

Ma'lumot nima? Jamoat ongi allaqachon axborot texnologiyalariga o'rganib qolgan, bulutlarda ishlaydi va virtual maydonlarda konteynerlarga ega. Endi nafaqat professional dasturchilar va foydalanuvchilar, balki oddiy odamlar ham axborot va undan foydalanish masalalarida malakali.

Jamoatchilik fikri
Jamoatchilik fikri

Lekin dasturlash nima? Bugungi kunga qadar jamoatchilik fikri ushbu tushuncha va uning tushunchalariga quyidagi ta'rifni beradi:

  • Ma'lumot va ma'lumotlar informatikada qo'llaniladigan asosiy tushunchalardir.
  • Ma'lumotlar - bu atrofdagi voqelikka nisbatan olingan va yozib olingan kuzatuvlarning ma'lum bir usuli.
  • Ular oddiy va murakkab (tuzilmalar), asosiy va ikkilamchi.
  • Ma'lumotlar bazasi - bu topish, o'zgartirish va foydalanish uchun tizimli tarzda taqdim etilgan mustaqil materiallar to'plami.

Bu qanchalik ob'ektiv? Nufuzli mualliflarshunday deb o'ylayman. Haqiqiy amaliyot har bir mavzu bo'limi o'zining to'g'ri ma'lumotlar tizimini aniqlashini ta'minlaydi va yaxshi dinamik modelni yaratish uchun barcha imkoniyatlarni beradi.

Mijoz (iste'molchi) dasturchiga (ma'lumotlar bazasi dizayneriga) qanday va nima qilish kerakligi haqida o'z fikrini yuklashi odatiy hol emas. Dasturlash nuqtai nazaridan mijozning har qanday istagi eng aniqlik bilan amalga oshirilishi mumkin.

Qishloq suv ta'minotini (qishloqdagi 21-bino) saqlash uchun byudjetlashtirish muammosini hal qilish uchun Oracle kerak - yaxshi. MySQL Rossiyadagi barcha pochta bo'limlari uchun pochta jo'natmalarini kuzatish tizimini tashkil qilish uchun kerak - hammasi ishlaydi.

Ma'lumotlar bazasini boshqarish tizimi yoki dasturlash tilini ishlab chiquvchi tomonidan o'rnatiladigan ma'lumotlar tushunchasi ta'rifi doirasida siz har doim istalgan algoritmni yaratishingiz va istalgan ma'lumot taqdimotiga kirishni ta'minlashingiz mumkin. Savol boshqacha: buni maksimal dinamikada minimal xarajatlar bilan qanday qilish mumkin?

Ma'lumotlar bazalari, misollar

Oddiy baza modelsiz yaratilgan. Ma'lumotlar va aloqaning asosiy tushunchalari kichik, funksionallik juda oddiy. Masalan, oliy o'quv yurti uchun sizga kerak bo'ladi:

  • o'qituvchilar jadvali;
  • guruh jadvali (kalit va guruh raqami);
  • talabalarning umumiy jadvali (guruh kalitlari ishlatiladi).

Dekan o'qituvchilarning taraqqiyotini bilmoqchi. O‘qituvchilar jadvalida quyidagi maydonlar mavjud:

  • familiya;
  • ism;
  • otaning ismi;
  • nazorat ostidagi guruh raqami.

Talabalar jadvalida quyidagi maydonlar mavjud:

  • familiya;
  • ism;
  • otaning ismi;
  • tugʻilgan sana;
  • GPA (barcha fanlar uchun);
  • guruh raqami.

Tam olishning kamida ikkita varianti boʻlishi mumkin: oʻqituvchi nomidan foydalanib, siz guruh raqamiga oʻtishingiz va barcha talabalar va ularning oʻrtacha balllarini yoki oʻqituvchining familiyasi va oxirgisini koʻrishingiz mumkin. talabaning ismi, oxirgisining oʻrtacha ballini koʻrishingiz mumkin.

Oddiy ma'lumotlar bazasi
Oddiy ma'lumotlar bazasi

Bunday oddiy versiyada ham muammolar kafolatlanadi va biror narsani o'zgartirish kerak bo'ladi. Vaziyat: o'qituvchi kasal bo'lib qoldi, yana bir oy uning o'rnini egalladi, ya'ni u ikki guruhni boshqaradi. O‘qituvchilar jadvalida bitta guruh raqami ostida faqat bitta maydon mavjud.

Muammoni hal qilish uchun takroriy maydon qoʻshishingiz kerak. Va agar ikkitasi kasal bo'lib qolsa, uchta maydon qo'shing. Shunday qilib, o'qituvchilar jadvali noldan o'sishni boshlaydi.

Boshqa variant ham bor: guruh kalitining raqamli maydonini ramziy bilan almashtiring. Keyin, har safar tanlaganingizda, qatorni kalitlar ketma-ketligiga aylantirishingiz kerak bo'ladi va bitta sql so'rovi bir nechtaga aylanadi.

Yana istiqbolli misol - jadvallar yasash emas, balki ob'ektlar yasashdir. Keyin o'qituvchi ob'ekt bo'lib, u bir nechta nazorat ostidagi guruhlarga ega bo'lishi mumkin. Ammo bu har doim bitta ob'ekt. O'qituvchi ob'ekti noyob kalitga ega, lekin bir nechta nazorat ostidagi guruhlarga ega bo'lishi mumkin. Guruhning o'ziga xos kaliti ham bor. Talaba ham.

Har uchala pozitsiya nafaqat vazifa doirasida mavjud, balki uni yanada rivojlantirish mumkin.

Obyektga yoʻn altirilgan bazalar

Axborot sanoati yetakchilariklassik relyatsion ma'lumotlar bazalarini taklif qiladi. Ular hayot tomonidan sinovdan o'tgan, ular ishlaydi, xavfsiz, ishonchli va muammo yuzaga kelganda ma'lumotni qayta tiklashga imkon beradi.

Ob'ektga yo'n altirilgan ma'lumotlar bazalari (OODB) 1980-yillarning o'rtalarida ishlab chiqila boshlandi va nufuzli mualliflarning fikriga ko'ra, bugungi kunga qadar istiqbolli. Ammo hozircha, fundamental nazariyalar va kontseptual qoidalardan tashqari, MySQL, MS SQL Server yoki Oracle bilan bir xil reyting va taqsimotga erishgan OODB yo'q.

OO ma'lumotlar bazasi
OO ma'lumotlar bazasi

Agar ma'lumotlar, turlar, atributlar, sinflar, ierarxiyalarning ta'rifi, tushunchasi reytingi ushbu OODB mentalitetiga ega bo'lgan dasturchilar hamjamiyatini yaratish uchun etarli bo'lmagan ishlab chiquvchi tomonidan taklif qilinsa nima bo'ladi? Biz o'z kuchimizga tayanishimiz kerak.

Linux muhitida OODB ning o'ttizdan ortiq variantlari yaratilgan. Ammo yaratilgan ma'lumotlar bazasi ko'proq funksionallikni talab qilmasligiga kafolat qayerda? Windows muhiti bu sohada unchalik kafolat bermaydi.

Obyektga yoʻn altirilgan yechim

Biroq, yechim bor. Misol sifatida MySQL-dan foydalanib, siz standart relyatsion jadvallar qanday qilib hal qilinayotgan muammoning ob'ektga yo'n altirilgan modeliga aylanishini ko'rsatishingiz mumkin.

O'zingizning OODB ga misol
O'zingizning OODB ga misol

Bu yerda maʼlumotlar bazasi yoʻq, lekin oʻz obʼyektlar tizimini shakllantirish uchun muhit mavjud. MySQL kuchi faqat ma'lumot qatorlari jadvallari uchun relyatsion xotira sifatida ishlatiladi. Foydalanish mantig'ini ishlab chiquvchining o'zi belgilaydi. Xususan, is_cache jadvali mavjud. Unda hamma narsa borbir nechta asosiy maydonlar:

  • egasi_kodi;
  • sessiya_kodi;
  • h_kod;
  • syurpriz;
  • a_contents.

Qolgan maydonlar xizmat vazifalarini bajaradi. Ushbu jadval har qanday so'rovning kiritilishida turadi va uning kelishini qayd qiladi. Ma'lumotlar bazasi modeli nimani ishlab chiqishini uni ishlab chiquvchi belgilaydi. Kontent maydoniga nima mos kelishi (a_contents) ishlab chiquvchi tomonidan yaratilgan model obyektlari tomonidan aniqlanadi.

Bu gʻoyada toʻrt narsa bor: urish, urish sessiyasi, urish tarixi kodi va maxsus kontent. Qo'ng'iroq nima, qanday ob'ektlar tizimini qurish kerak - ishlab chiquvchi tomonidan belgilanadi. Seans (ish jarayoni) deganda nimani anglatishini ishlab chiquvchi belgilaydi. Tarix kodi soʻrovlar boʻyicha orqaga qaytish imkoniyatidir.

Bu yerdagi jadvallarning mavzu sohasiga aloqasi yoʻq. Qo'ng'iroqlarni boshqarish moslamasi (is_cache), ro'yxatga olish (is_customs), qo'ng'iroqlar tarixi (is_histories) mavjud. Qolgan jadvallar hal qilinayotgan vazifaga qarab belgilanadi.

Aslida, bu yechim qurilgan domen maʼlumotlar bazasi modeli va hal qilinayotgan muammo asosida oʻz OODBingizni yaratishni taklif qiladi. Bu erda juda katta plyus bor - bu sizning shaxsiy ma'lumotlar kontseptsiyasi, ularni taqdim etishning o'z modelingiz va ular o'rtasidagi munosabatlar. Bu erda asos bor - ajoyib relyatsion ma'lumotlar bazasi. Biror narsani qidirish va nimanidir noto'g'ri tushunish bilan hech qanday muammo bo'lmaydi.

Model: obyekt tizimi + DBMS

Axborot texnologiyalarida biror narsani oʻzgartirish deyarli mumkin emas. Haqiqiy axborot inqilobi hali uzoqda. professional ongdasturiy ta'minot ishlab chiquvchilari klassik an'analarni o'zgartirmoqchi emaslar. Ammo vaziyatdan chiqish yo'li hali ham bor.

Ideal yechim
Ideal yechim

Oʻz modelingiz mavjudligi uchun muhit yaratish uchun asos sifatida ishonchli zamonaviy maʼlumotlar bazasini boshqarish tizimlaridan foydalanib, sezilarli muvaffaqiyatlarga erishishingiz mumkin.

Har qanday holatda ham vazifani hal qilish uchun siz koʻrinish yoki maʼlumotlar modelini yaratishingiz kerak boʻladi, lekin buni toʻgʻri bajarishingiz kerak: u obʼyektlar tizimi boʻlsin, yaxshi maʼlumotlar bazasi esa uning muhiti boʻlsin.

Tavsiya: