SQL on rakenteellinen kyselykieli, joka on eritt?in suosittu tietokantojen hallinnointiin liittyviss? sovelluksissa. Sen avulla voidaan luoda, muokata, hallita ja hakea tietoa relaatiotietokannoista, jotka ovat eritt?in oleellisia nykyajan tietoj?rjestelmiss?, kun kyseess? on tiedonhallinta.
Sen avulla voidaan rakentaa monimutkaisia ja paljon tietoa sis?lt?vi? tietokantoja, joita voidaan sek? yll?pit?? ett? k?ytt?? tehokkaasti. T?ll? hetkell? se on k?ytetyin teknologia tietokantoihin perustuvissa j?rjestelmiss?. Kyseess? on jopa suosituin tietokannan hallintoj?rjestelm?.
Mit? SQL tarkoittaa?
SQL eli Structured Query Language on standardoitu kyselykieli, joka on relaatiotietokantoihin liittyv? ohjelmointikieli. Sit? k?ytet??n laajalti ymp?ri maailman varsinkin tietokantojen ja tiedonhallintaj?rjestelmien yhteydess?.
IBM kehitti sen alun perin 1970-luvun alussa, ja nyky??n se on virallinen standardi, jonka ovat tunnustaneet esimerkiksi Amerikan kansallinen standardointi-instituutti (ANSI) ja Kansainv?linen standardointij?rjest? (ISO).
SQL-ohjelmointikieli tarkemmassa tarkastelussa
SQL on s?ilytt?nyt suosionsa tietokantojen k?ytt?jien keskuudessa vuosien ajan p??asiassa sen helppok?ytt?isyyden ja tehokkuuden vuoksi. SQL:n avulla voi tehd? kyselyj?, manipuloida, aggregoida dataa ja suorittaa monenlaisia muita toimintoja, joiden avulla suuret rakenteellisen datan tietokannat muutetaan k?ytt?kelpoiseksi tiedoksi.
T?st? syyst? SQL on sis?llytetty lukuisiin kaupallisiin tietokantatuotteisiin, kuten MySQL, Oracle, Sybase, SQL Server, Postgres ja moniin muihin. Itse asiassa monet ei-relaatiotietokannat, kuten MongoDB ja DynamoBD, tunnetaan NoSQL-tuotteina niiden SQL-tuen vuoksi.
Vaikka SQL:n eri versiot saattavat k?ytt?? eri syntaksia t?rkeiden toimintojen suorittamiseen, yleisesti ottaen peruskomennot, kuten select, insert, update ja create, ovat yhteisi? kaikille SQL-versioille. T?m? tekee siit? eritt?in helppoa perustason SQL-osaamisen omaavalle henkil?lle toimia monissa eri ymp?rist?iss? ja suorittaa monenlaisia teht?vi?.
Nelj? keskeist? SQL-komentoluokkaa
Jotta SQL-ohjelmointikielest? saisi paremman kuvan, kannattaa tutustua sen keskeisimpiin komentotyyppeihin.
Niit? ovat seuraavat komennot:
- Data m??rittelykieli (DDL): T?h?n kuuluu CREATE (taulut, n?kym?t, objektit jne.), ALTER ja DROP (poistaminen).
- Data manipulointikieli (DML): SELECT, INSERT, UPDATE, DELETE taulujen sis?ll? olevien tietueiden osalta.
- Datahallintakieli (DCL): K?ytt?j?oikeuksien GRANT ja/tai REVOKE.
- Tietokannan Indeksointi: CREATE INDEX ja DROP INDEX -lauseet k?ytet??n indeksien luomiseen ja poistamiseen tauluista.
Eri toimintojen tehostaminen
SQL mahdollistaa my?s rajoitteiden luomisen taulukoihin tai sarakkeisiin tietotyypin perusteella. T?m? auttaa varmistamaan hakujen tarkkuuden ja relevanssin sek? yksinkertaistaa tietokantojen hallintaa tehostamalla hakuja ja muita toimintoja.
Esimerkkej? SQL-rajoitteista ovat:
- NOT NULL: Est?? sarakkeita saamasta null-arvoa
- UNIQUE: Varmistaa, ett? kaikki arvot ovat erilaisia
Lis?ksi tietokanta-asiantuntijat voivat k?ytt?? SQL:?? rakentaakseen ehe?n tietokannan est?m?ll? p??llekk?isten rivien luomisen, sallimalla vain kelvollisen datan sy?tt?misen, kielt?m?ll? useisiin tietueisiin liittyv?n datan poistamisen ja monia muita toimintoja.
Samalla SQL tarjoaa my?s useita datan normalisointiin liittyvi? ty?kaluja eri tietojoukkojen riippuvuuksien tehostamiseksi. Niill? voidaan my?s tehd? tietokannasta kompaktimpi, mik? tekee siit? kooltaan pienemm?n. T?m? taas auttaa tekem??n tietokantaj?rjestelm?st? tehokkaamman, mill? voidaan varmistaa k?yt?ss? olevien resurssien parempi hy?tysuhde.
SQL ei ole kuitenkaan paras valinta kaikkiin tietokantasovelluksiin, jolloin on syyt? valita jokin muu ratkaisu. Yksi tekij? on se, ett? vaikka SQL oli tehokas ty?kalu datan skaalautuessa voimakkaasti 1990-luvulta eteenp?in, siihen liittyv?t toteutukset ja relaatiotietokantojen hallintaj?rjestelm?t alkoivat horjumaan tietokantojen kasvaessa todella suuriksi vuosituhannen alun vaihteessa.
Jotkut k?ytt?j?t my?s valittavat sen sharding-rajoituksista, jotka haittaavat kyky? pilkkoa suuria tietokantoja pienemmiksi ja paremmin hallittavammiksi kokonaisuuksiksi.
N?m? puutteet johtivat itse asiassa NoSQL:n ja ?skett?in NewSQL:n luomiseen, jotka pyrkiv?t parantamaan perinteisen SQL:n skaalautuvuuteen liittyvi? ongelmia tinkim?tt? sen perusominaisuuksista, kuten atomisuudesta, johdonmukaisuudesta, erist?ytymisest? ja kest?vyydest?.