Kas yra duomenų bazė? Apibrėžimas, modeliai ir pavyzdžiai
Apibrėžimas: sužinokite, kas yra duomenų bazė, pagrindiniai modeliai (reliacinis ir kt.), pavyzdžiai bei praktiniai patarimai duomenų saugojimui ir tvarkymui.
Duomenų bazė – tai sistemingai organizuotų duomenų (bet kokios rūšies informacijos) saugojimo ir tvarkymo sistema. Duomenys gali būti skirtingų tipų — tekstas, skaičiai, datos, media failai ar struktūruoti įrašai — ir gali būti saugomi centralizuotai arba paskirstytai.
Kas atlieka duomenų bazės darbą?
Duomenų bazių sistema (DBVS) yra kompiuterinė programa, skirta duomenų bazių kūrimui, prieigai, saugojimui, tvarkymui ir apsaugai. DBVS atlieka užklausas, rūšiavimą, filtravimą, duomenų keitimą, transakcijų valdymą ir prieigos kontrolę. Paprastas DBVS pavyzdys būtų elektroninė adresų knyga, kurioje galite ieškoti, redaguoti ar pridėti kontaktus.
Kaip žmonės anksčiau saugojo duomenis
Prieš skaitmeninių kompiuterių eros duomenys buvo kaupiami fiziškai — kortelių bylose, spausdintose knygose ar kitais būdais. Dabar dauguma duomenų saugoma kompiuterinėse bylose arba duomenų bazėse, kurios leidžia greitai rasti, atnaujinti ir analizuoti informaciją. Prieš kompiuterių laikus darbuotojų duomenys dažnai būdavo laikomi bylų spintose: kiekvienam darbuotojui skirta viena kortelė su tokiomis savybėmis kaip gimimo data, vardas, pavardė ir pan.
Duomenų organizavimas ir modeliai
Duomenų bazėje informacija taip pat yra suskirstyta į atskirus įrašus (lyg „kortelės“), tačiau kompiuteris juos saugo optimizuotai skirtingais formatais. Kiekvienas iš šių saugojimo būdų vadinamas duomenų bazės modeliu. Pagrindiniai modeliai:
- Reliacinis modelis – duomenys saugomi lentelėse (eilutės = įrašai, stulpeliai = laukai) ir susiejami per ryšius.
- Hierarchinis modelis – duomenys organizuojami medžio struktūra (tėvas-vaikas).
- Tinklinis modelis – panašus į hierarchinį, bet leidžia sudėtingesnius ryšius tarp įrašų.
- Dokumentų modelis – duomenys saugomi dokumentuose (pvz., JSON, XML) ir tinka nestruktūruotiems arba semi-structūruotiems duomenims.
- Raktas‑reikšmė (key‑value) – paprasta saugykla, kur duomenys pasiekiami pagal raktą.
- Stulpelių (columnar) modelis – optimizuotas analitiniams užklausoms dideliuose duomenų rinkiniuose.
- Grafų modelis – skirtas saugoti ir analizuoti sudėtingus tinklinius ryšius (pvz., socialinius tinklus).
Reliacinis duomenų bazės modelis
Dažniausiai naudojamas duomenų bazės modelis vadinamas reliaciniu duomenų bazės modeliu. Jame duomenims saugoti naudojami ryšiai ir rinkiniai. Praktiniu požiūriu vartotojai apie reliacines bazes dažniausiai kalba paprastai — kaip apie duomenų bazės lenteles, kuriose:
- stulpeliai atitinka laukus (atributus),
- eilutės atitinka įrašus (rows arba records),
- kiekvienai lentelės eilutei dažnai priskiriamas unikalus identifikatorius – pirminis raktas (primary key),
- lentelės siejamos tarpusavyje per užsienio raktus (foreign keys), leidžiančius išlaikyti duomenų vientisumą.
Duomenų bazės pagrindinės sąvokos
- Užklausa – komanda sistemai išrinkti ar pakeisti duomenis (dažniausiai naudojama SQL kalba reliacinėse bazėse).
- Indeksai – duomenų struktūros, greitinančios paieškas ir užklausas.
- Normalizacija – procesas, kuriuo siekiama sumažinti duomenų dubliavimą ir pagerinti vientisumą.
- Transakcijos ir ACID – savybės, garantuojančios, kad keli sujungti veiksmai bus atlikti teisingai ir patikimai.
- Atsarginės kopijos ir atkūrimas – svarbūs duomenų saugumui ir prieinamumui užtikrinti.
- Prieigos teisės ir šifravimas – apsaugo duomenis nuo neautorizuotos prieigos.
Pavyzdžiai ir panaudojimo sritys
Duomenų bazės naudojamos beveik visose šiuolaikinėse programose ir paslaugose: internetinėse parduotuvėse, bankuose, ligoninių informacinėse sistemose, įmonių apskaitoje, socialiniuose tinkluose, mobiliųjų programėlių gale ir kt. Populiarios DBVS: MySQL, PostgreSQL, SQLite, Oracle Database, Microsoft SQL Server, taip pat NoSQL sprendimai kaip MongoDB, Redis ar Cassandra.
Apibendrinimas
Duomenų bazė yra pagrindinė priemonė tvarkyti didelius kiekius informacijos taip, kad juos būtų lengva saugoti, atkurti, analizuoti ir saugiai dalintis. Pasirinktas duomenų bazės modelis ir DBVS priklauso nuo duomenų pobūdžio, našumo reikalavimų ir saugumo poreikių.
Duomenų bazių sistemų panaudojimas
- idk ką pasakyti
Duomenų keitimas
Duomenų bazėse kai kurie duomenys kartais keičiasi. Pakeitus duomenis gali kilti problemų, gali būti, kad įvyko klaida. Dėl klaidos duomenys gali tapti nenaudingi. Duomenų bazių sistema žiūri į duomenis, jie turi atitikti tam tikrus reikalavimus. Tai ji daro naudodama transakciją. Duomenų bazėje yra du laiko taškai: laikas iki duomenų pakeitimo ir laikas po duomenų pakeitimo. Jei keičiant duomenis kas nors nepavyksta, duomenų bazių sistema paprasčiausiai grąžina duomenų bazę į būseną, buvusią prieš pakeitimą. Tai vadinama grįžimu atgal. Sėkmingai atlikus visus pakeitimus, jie patvirtinami. Tai reiškia, kad duomenys vėl įgauna prasmę; įsipareigotų pakeitimų nebegalima atšaukti.
Kad būtų galima tai padaryti, duomenų bazėse laikomasi ACID principo:
- Visi. Atliekamos arba visos tam tikros aibės (vadinamos transakcija) užduotys, arba nė viena iš jų. Žinomas kaip atomiškumas
- Užbaigti. Duomenų bazėje esantys duomenys visada yra prasmingi. Nėra pusiau atliktų (negaliojančių) duomenų. Žinomas kaip nuoseklumas
- Nepriklausoma. Jei daug žmonių dirba su tais pačiais duomenimis, jie vienas kito nemato (ir nedaro įtakos). Kiekvienas iš jų turi savo duomenų bazės vaizdą, kuris yra nepriklausomas nuo kitų. Žinomas kaip izoliacija
- Atlikta. Atlikus operacijas, jos turi būti įvykdytos. Kartą įvykdytos operacijos negali būti atšauktos. Žinomas kaip ilgaamžiškumas.
Duomenų bazės modelis
Duomenis galima pateikti įvairiais būdais.
- Paprastos bylos (vadinamos plokščiosiomis bylomis): Tai paprasčiausia Duomenų bazių sistemos forma. Visi duomenys saugomi faile paprastu tekstu. Kiekvieną informacijos dalį galima atskirti nauja eilute arba kableliu ir pan.
- Hierarchinis modelis: Duomenys organizuojami kaip medžio struktūra. Įdomūs duomenys yra medžio lapuose. Ryšiai tarp duomenų įrašų yra tokie, kad kai kurie įrašai tiesiogiai priklauso nuo kitų įrašų.
- Tinklo modelis: Duomenims saugoti naudokite įrašus ir rinkinius. Panašus į hierarchinį modelį, tačiau jo struktūra daug sudėtingesnė.
- Santykių modelis: Naudojama aibių teorija ir predikatų logika. Jis plačiai naudojamas. Duomenys atrodo taip, tarsi jie būtų suskirstyti į lenteles. Vėliau šias lenteles galima sujungti, kad iš jų būtų galima parinkti paprastas užklausas.
- Į objektus orientuotas modelis: Duomenys vaizduojami objektų pavidalu, kaip naudojama objektiniame programavime. Jie gali tiesiogiai sąveikauti su naudojama OOP kalba, nes abiejų kalbų vidinis duomenų atvaizdavimas yra toks pat.
- Objektinis reliacinis modelis: Tai objektinio ir reliacinio modelio hibridas.
- NoSQL modelis: Tai naujos rūšies duomenų bazių modelis, kuris vis dažniau naudojamas pramonėje didelių duomenų ir realaus laiko žiniatinklio programose. Šiame modelyje duomenys saugomi kaip raktų ir verčių poros be griežtos hierarchijos, kaip kituose modeliuose. NoSQL sistemos dar vadinamos ne tik SQL, nes jose neleidžiama naudoti į struktūrizuotą užklausų kalbą panašių užklausų kalbų.
Duomenų sisteminimo būdai
Kaip ir realiame gyvenime, į tuos pačius duomenis galima pažvelgti iš skirtingų perspektyvų ir juos galima įvairiai tvarkyti. Organizuojant duomenis reikia atsižvelgti į įvairius dalykus:
- Kiekvienas duomenų elementas turėtų būti saugomas kuo mažiau kartų. Įsivaizduokite, kad nesusituokusi moteris yra įtraukta į apylinkės registrą, valstybinį motorinių transporto priemonių skyrių, federalinį socialinės apsaugos skyrių ir tarptautinį pasų skyrių.Jei ji susituokia ir nusprendžia pakeisti pavardę, apie tai reikia pranešti visiems šiems skyriams. Jei visi skyriai būtų susieti, o jos vardas ir pavardė būtų saugomi tik vienoje vietoje, tada būtų paprasta juos atnaujinti.
- Jei duomenys saugomi keliose skirtingose duomenų bazėse, jie gali būti prieštaringi.
- Dėl šios problemos duomenų paieška tampa lėtesnė. Jei duomenų yra daug, ši problema, kai vieną duomenų fragmentą reikia saugoti daugelyje vietų, užima daug vietos. Mūsų pavyzdyje buvo 4 vieno asmens duomenų bazės. Vadinasi, bus atlikti 8 pakeitimai, jei antras asmuo turės lygiai tokią pačią problemą.
- Jei susiduriate su šia problema, jai spręsti sukurtas duomenų bazės normalizavimo metodas. Šiuo metu yra 5 normalios formos. Tai būdai, kaip duomenų bazę padaryti greitesnę, o duomenims užimti mažiau vietos.
Susiję puslapiai
Klausimai ir atsakymai
K: Kas yra duomenų bazė?
A: Duomenų bazė - tai duomenų (bet kokios rūšies informacijos) saugojimo ir tvarkymo sistema. Ją galima naudoti joje saugomai informacijai rūšiuoti, keisti ar aptarnauti.
K: Kaip žmonės saugojo duomenis iki skaitmeninių kompiuterių?
A: Prieš skaitmeninius kompiuterius duomenims saugoti buvo naudojamos kortelių kartotekos, spausdintos knygos ir kiti būdai.
K: Kas yra duomenų bazių sistema?
A: Duomenų bazių sistema - tai kompiuterinė programa, skirta elektroninėms duomenų bazėms valdyti. Ji gali būti naudojama duomenims tam tikru būdu organizuoti.
K: Kaip atrodo "kortelė" senovinėje kartotekoje?
A.: Senovinėje kartotekoje paprastai kiekvienam darbuotojui būdavo skirta viena kortelė, ant kurios būdavo užrašyta jo gimimo data arba vardas ir pavardė.
K: Kaip atrodo šiuolaikinis šios "kortelės" atitikmuo?
A: Šiuolaikinis šios "kortelės" atitikmuo pateikiamas ekrane, o ne fiziniu pavidalu.
K: Kas yra duomenų bazės modelis?
A: Duomenų bazės modelis reiškia įvairius būdus, kuriais kompiuteryje gali būti saugoma "kortelėje" esanti informacija. Dažniausiai naudojamas modelis vadinamas reliaciniu duomenų bazės modeliu, kuriame duomenims saugoti naudojami ryšiai ir rinkiniai.
K: Kaip įprasti naudotojai, kalbėdami apie šiuos modelius, juos vadina? A: Įprasti naudotojai, kalbėdami apie šiuos modelius, paprastai juos vadina "duomenų bazės lentelėmis", o ne vartoja techninius terminus, tokius kaip santykiai ar rinkiniai.
Ieškoti