Jezici upita za baze podataka - 5.0 out of 5 based on 2 votes
Jezici upita za baze podataka

Jezici upita za baze podataka

Kako pristupiti podacima u bazi podataka

SQL, MQL i Cypher

Ako se niste tek od ovog broja časopisa VIDI otisnuli u IT svijet, onda vam je svakako poznato da se podaci u modernim IT sustavima čuvaju i koriste u različitim tipovima sustava za upravljanje bazama podataka. Neki od najpoznatiji tipova su relacijske baze podataka, baze dokumenata i graf baze podataka.

Među vladajućim tipovima baza podataka na tržištu (što pokazuje i prateća slika uz tekst) upravo su tri navedene vrste sustava za upravljanje bazama podataka. Naravno, među njima je još uvijek prilično dominantan najpoznatiji, relacijski model baza podataka.

 

jeziciUpitaRank

Pregled najpopularnijih baza podataka (i njihovih tipova).

 

Kod relacijskih baza podataka podaci se čuvaju u obliku slogova/redova u većem broju unaprijed pripremljenih tablica, a one su međusobno povezane relacijama. Podaci u tablicama moraju biti normalizirani, što u osnovi znači da se podaci u tablicama ne smiju ponavljati niti biti izravno međuovisni. Uz brojne prednosti u korištenju povezane sa stabilnošću, performansama, podrškom za različite tipove podataka i slično, jedan od najvećih problema korištenja relacijskih baza podataka postaje uočljiv kad u bazi podataka treba čuvati podatke o vrlo različitim vrstama objekata iz stvarnog svijeta. Na primjer, detaljne karakteristike međusobno vrlo različitih proizvoda za prodaju u trgovačkim lancima. Ako se u tablice dodaju stupci za čuvanje svih mogućih podataka za takve proizvode, onda je u pravilu dio stupaca uvijek prazan za proizvode koji nemaju određena svojstva. Ako se kod nekog proizvoda pojavi potpuno novo svojstvo, onda prvo treba izmijeniti tablicu (dodati stupac) za čuvanje takvog svojstva. Kod čitanja podataka iz baze podataka potrebno je ponovo spojiti podatke iz različitih tablica kako bi se dobio željeni rezultat.

Najpoznatiji proizvodi iz grupe relacijskih baza podataka su Oracle, SQL Server, MySQL, MariaDB, PostgreSQL, IBM DB2 i tako dalje.

Baze dokumenata uklanjaju jedan od najvećih problema u korištenju relacijskih baza podataka, a to je spremanje nestrukturiranih podataka, kakvih je sve više na različitim područjima ljudskog djelovanja. Umjesto da se podaci spremaju u unaprijed definirane tablice fiksne strukture, svaki dokument u bazi može imati različite atribute. Nije neophodno ni da svi dokumenti imaju sve atribute, nego samo one koji se stvarno koriste za određeni objekt.

Istovrsni dokumenti međusobno su povezani u kolekcije dokumenata, a dokumenti i kolekcije automatski nastaju prilikom zapisivanja podataka u bazu podataka. Nema potrebe za prethodnim definiranjem sheme kolekcija dokumenata i samih dokumenata, kako bi se moglo započeti sa spremanjem podataka.

Još jedna od velikih prednosti baza dokumenata je to da se kolekcije podataka mogu podijeliti na veći broj jeftinijih servera (sharding operacija), čime se prilično jednostavno i jeftino mogu podići cjelokupne performase sustava.

Najpoznatiji predstavnici baza dokumenata su MongoDB, Couchbase, Firebase, i ostali. Kao primjer jezika za upit na baze dokumenata može se navesti MQL, koji je razvijen i koristi se u bazi podataka MongoDB, odnosno u njezinoj cloud verziji Atlas.

Kod podataka s vrlo složenim i različitim oblicima veza između podataka, ni jedna od spomenute dvije vrste baza podataka (relacijske baze i baze dokumenata) najčešće ne može optimalno riješiti sve zahtjeve. U takvim situacijama najbolje rezultate u pravilu daju graf baze podataka. Kod ovakve organizacije podataka temeljni elementi za predstavljanje podataka su čvorovi (nodes). Svaki čvor može sadržavati veći broj različitih svojstava predstavljenih u obliku ključ/vrijednost (key/value). Čvorovi u modelu mogu biti u različitim vrstama odnosa, što je predstavljeno linijama između njih. Kako bi se što preciznije upravljalo spremanjem i korištenjem različitih vrsta podataka, svojstva čvorova podržavaju uobičajene tipove podataka (npr. Integer, Float, Boolean, String, List i ostalo).
Neki od predstavnika iz ovakve grupe baza podataka su Neo4j, TigerGraph i Memgraph.

 

Pristup podacima

Za spremanje podataka i za njihovo naknadno čitanje sve baze podataka koriste neku vrstu jezika upita. Budući da se različite vrste baza podataka (kao što to prikazano u prethodnom dijelu teksta) međusobno poprilično razlikuju, teško da jedan jezik upita može zadovoljiti sve potrebe. Zato nije ni čudo da je za svaku od spomenutih tipova baza razvijen poseban jezik upita. Tema kojom ćemo se pozabaviti u nastavku teksta.

 

jeziciUpitaRelacijske

Relacijske baze podataka za spremanje podataka treba pripremiti tablice prije korištenja.

 

Kako bi se programerima olakšalo korištenje različitih tipova baza podataka u vlastitim aplikacijama, pojedini programski jezici i prateći „Framework“ sustavi često uspijevaju u velikoj mjeri sakriti te razlike prilikom pisanja programskog koda, ali to je već tema za neku drugu priliku. Ovaj put pozabavit ćemo se osnovnim jezicima upita za svaku od ranije spomenutih kategorija baza podataka.

Budući da svaki jezik upita podržava čitav niz različitih sintaksnih detalja, kako bi se iskoristile sve mogućnosti pojedine vrste baza podataka, za svaki od njih postoje čitave serije knjiga i seminara za detaljno upoznavanje. Zato ovaj tekst prije svega ima za cilj da steknete uvid u osnovne razlike među različitim vrstama jezika upita. A to je najlakše prikazati na postavljanju upita na već spremljene podatke u bazama.

(Stranica 1 od 4)
« Prev All Pages Next » (Stranica 1 od 4)
Ocijeni sadržaj
(2 glasova)

Vezani sadržaj:

// možda će vas zanimati

Newsletter prijava


Kako izgleda naš posljednji newsletter pogledajte na ovom linku.

Copyright © by: VIDI-TO d.o.o. Sva prava pridržana.