Relačná algebra
Structured Query Language ( Štruktúrovaný dotazovací jazyk), je všeobecný nástroj pre manipuláciu, správu a organizovanie dát v databázach. Je určený v prvom rade pre používateľov (user), ale využívajú ho aj tvorcovia aplikácií.
S pomocou SQL môžeme definovať dáta, štruktúru tabuľky, napĺňať stĺpce tabuľky dátami a definovať organizáciu a vzťahy medzi položkami dát. Nie je štruktúrovaným jazykom, aspoň nie v takom zmysle ako sú C++ alebo Pascal.
Okrem bežných aktualizačných činností a priamych výstupov výsledkov dotazov riadi SQL prístup k dátam, teda udeľuje a odoberá prístupové oprávnenia na rôznych úrovniach, a chráni tak dáta pred náhodným alebo úmyselným zničením, neautorizovaným čítaním alebo manipuláciou s nimi.
SQL umožňuje zdieľané využívanie dát a zaisťuje hladký priebeh činností, ak pristupuje k dátam viac používateľov súčasne.
SQL zaisťuje integritu databáz tým, že nepovolí nekonzistentnú, nesprávnu aktualizáciu oprávneným používateľom, a tým, že má poistky proti náhodnému zlyhaniu systému.
SQL je zložený z príkazov, má teda charakter programovacieho jazyka. Nie je však plnohodnotným samostatným programovacím jazykom, napr. preto, že v ňom vo väčšine implementácií ešte nenájdete riadiace programové konštrukcie a požadované prvky, ktoré by mal obsahovať každý obecný programovací jazyk.
SQL je teda špecializovaný programovací jazyk, ktorý sa používa vo vhodnom prostredí buď používateľsky alebo interaktívne k okamžitému riešeniu úloh (najčastejšie dotazy), alebo sa jeho príkazy vkladajú do hostiteľského jazyka (napr. C, Fortran, COBOL). SQL je štandardizovaný nástroj pre prácu s relačnými databázami. Nepredstavuje databázový systém, ani to nie je samostatný produkt. SQL je neprocedurálny nástroj, s množinovým prístupom k dátam.