Duomenų bazės samprata skamba kaip visuotinė sistemos dalis, kurioje sutelkti ir susiję duomenys saugomi, siekiant jų apdorojimo kompiuteriu. Duomenų bazė - tai tarpusavyje susietų struktūrizuotų duomenų visuma, skirta tam tikrai tematikai ar tikslams, kartu su programine įranga (DBVS), skirta duomenų struktūroms kurti ir įvairiais būdais juos apdoroti. Duomenų bazės tikslas - sutvarkyti duomenis, užtikrinti jų vientisumą, vengti dubliavimo ir suteikti saugų bei efektyvų prieigos mechanizmą.
Duomenų organizavimas ir savybės
Reikia atskirti fizinį ir loginį duomenų organizavimą. Pirmasis nurodo duomenų fizinio išdėstymo būdus kompiuterio atmintyje, antrasis - modelį, reikalingą ir suprantamą vartotojams. Loginėmis duomenų struktūroms aprašyti naudojami tokie terminai: duomenų elementas (laukas), įrašas, duomenų agregatas, failas ir duomenų bazė.
Duomenų bazės savybės apima vientisumą (integralumą), nepertekliškumą, neprieštaringumą, saugumą bei nepriklausomumą. Šios savybės užtikrina, kad duomenys būtų nuoseklūs, vienodi ir patikimai valdomi įvairių vartotojų bei procesų.
Duomenų organizavimo modeliai
- hierarchinis modelis
- tinklinis modelis
- relacinis modelis
- objektinis modelis
Pastaruoju metu populiariausios yra reliacinės duomenų bazės, kuriose duomenys organizuojami pagal dvimatę lentelių struktūrą. Hierarchinėje modelio sistemoje duomenys yra “vienas su daug” santykyje, o tinklinis modelis palaiko sudėtingesnius daugiadalykius ryšius. Relacinis modelis (pasiūlytas E. F. Kodas) vadovaujasi dvimatėmis lentelėmis, kuriose eilutės (įrašai) ir stulpeliai (laukai) susikerta tam tikrose vietose, sukuriant foną duomenų priklausomybėms ir ryšiams tarp lentelių.
Relacinio modelio pagrindai
Relacinė duomenų bazė aprašo informaciją dvimatėse lentelėse, kurių kiekviena turi eilutes (įrašus) ir stulpelius (laukus). Kiekvienai lentelei priskiriamas vardas, o laukų vardai nurodo objekto atributus. Lentelėms priskiriami raktai - vienareikšmės reikšmės, kurios identifikuoja įrašus. Dažnai lentelės turi kelis raktus, iš kurių naudojamas pirminis raktas (galima būti sudėtini raktas).
Taip pat skaitykite: Darbuotojų teisės ir pareigos
Ryšiai tarp lentelių nustatomi per sekančius lauko ryšius - išorinį raktą, kuris atitinka kitos lentelės pirminio rakto reikšmes. Tokiu būdu sukurta reliacinio modelio sandara užtikrina duomenų vientisumą ir galimybę užklausų direktyvų atlikimą per SQL kalbą.
Duomenų normalizavimas ir normalinės formos
Normalizavimas - procesas, kuriuo duomenų bazė yra suskirstoma į lenteles taip, kad būtų pašalintos nereikalingos priklausomybės ir pasiektos geros projekto praktikos. Normalizavimas vyksta keliais etapais, kurių kiekvienas pritaiko konkrečią normalinę formą (NF): 1NF, 2NF ir 3NF.
Funkcinė priklausomybė - tai laukas B, kuris priklauso nuo kito lauko A, kai bet kuriuo momentu kiekvieną A reikšmę atitinka ne daugiau kaip viena B reikšmė (A → B). Jei neraktinis laukas priklauso daliai sudėtinio rakto, tai vadinama daline priklausomybe; jei priklauso visam rakto ar jo daliai, tai priklauso pilnoje priklausomybėje; tranzityvios priklausomybės gali sukelti papildomų vietų duomenų dubliavimą.
1NF užtikrina, kad visi laukų duomenys būtų atomariniai ir kad nėra nereikalingų priklausomybių. 2NF reikalauja, kad visos neraktiniai laukai būtų pilnoje priklausomybe nuo rakto. 3NF užtikrina, kad neraktiniai laukai neturėtų tarpusavio priklausomybių ir būtų nepriklausomi nuo vieni kitų.
Duomenų normalizavimo tikslas - išvengti anomalijų (įvedimo, atnaujinimo ir šalinimo) bei sumažinti duomenų dubliavimą. Pavyzdžiai iliustruoja, kaip 1NF anomalijos gali būti išspręstos formuojant papildomas lenteles ir susiejimus.
Taip pat skaitykite: Sodros e-biuletenio patikrinimo instrukcija
SQL kalba kaip sąsaja su duomenų baze
SQL (Structured Query Language) - pagrindinė užklausų kalba, naudojama reliacinėse duomenų bazėse. SQL įtraukia DDL (duomenų apibrėžimo kalba), DML (duomenų apdorojimo kalba) ir DCL (duomenų valdymo kalba). SQL nėra savaime DBVS, bet yra esminė jos dalis, leidžianti vartotojui kurti, užklausinėti ir valdyti duomenis.
Operatoriai SQL prasideda veiksmažodžiais (CREATE, INSERT, UPDATE, DELETE, SELECT ir kt.), o jų kriterijus nurodomas su papildomais sakiniais (WHERE, FROM, INTO, GROUP BY ir kt.). Skirtingos operacijos leidžia sukurti lenteles, įvesti duomenis, vykdyti užklausas ir valdyti prieigos teises. SQL yra laikoma standartine kalba dirbti su reliacinėmis duomenų bazėmis.
Duomenų modeliavimas ir praktiniai klausimai
Duomenų modeliavimas - tai procesas, kuriuo išryškinami pagrindiniai dalykinės srities objektai, jų savybės ir santykiai. Modeliavimas reikalauja įvertinti dalykinių sričių įvairovę, darbo su duomenimis dinamiką, koregavimo dažnumą, ryšius su kitomis veiklos sritimis ir pan. Tokiu būdu formuojamos lentelių schemos, nurodomi ryšiai ir identifikatoriai, kurie vėliau pereina į realų DB projektą.
Normalizavimas įgalina išskirti esybes ir jų ryšius į atskiras lenteles, kad užtikrinti vientisumą ir efektyvumą. Pavyzdžiui, duomenų bazės projektavimo praktikoje gali būti tokios lentelių struktūros: užsakymai, klientai, prekės, tiekėjai ir pan., kur raktai apibrėžia įrašų unikalumą, o ryšiai - tikrovės sąsajas tarp jų.
Be to, duomenų bazės architektūroje svarbu suprasti ir paskirstytų duomenų bazių (scalability) privalumus. Paskirstytos DB leidžia aptarnauti daugelį vartotojų geografiniu atstumu bei užtikrina lankstumą dideliuose duomenų kiekiuose. Duomenų tiražavimas (replication) - viena iš priemonių, leidžianti pakeitimus sinchroniškai ar asinhchroniškai perduoti į kelių mazgų dalis.
Taip pat skaitykite: Svarbi informacija apie reabilitaciją
Praktiniai įsipareigojimai diegimo metu
Duomenų bazių diegimas vienoje organizacijoje reikalauja aiškiai apibrėžtų prieigos teisių, slaptažodžių valdymo ir duomenų saugumo užtikrinimo priemonių. DBVS turi garantuoti ne tik duomenų vientisumą, bet ir nepriklausomumą tarp taikomųjų programų bei duomenų saugojimo organizavimo, kad įvairios toss ryšiai negali būti lengvai sulaužiami ar keičiasi netikėtai.
Taip pat svarbu užtikrinti duomenų definicijų ir žodyno atitikimą, kad būtų galima laikui bėgant išlaikyti duomenų kokybę ir nuoseklumą. Pasitelkus SQL, galima kurti ir konsultuoti duomenų užklausas, rašyti ataskaitas, generuoti ataskaitų formas ir palaikyti datų bei įrašų tvarką.