Základy SQL, 2. díl

Zdroj: SOOM.cz [ISSN 1804-7270]
Autor: Saitraje_
Datum: 7.2.2008
Hodnocení/Hlasovalo: 0/0

Úvod do praxe, databáze, historie

Vítejte v druhým díle o SQL. Povíme si o jeho historii a původu.
Příběh SQL začíná roku 1974 jakou součást definice od Donalda Chamberlina a dalších lidí, kteří pracovali pro IBM. Tehdy hledali jazyk, který by byl vhodný pro databáze a tabulky. Vymysleli tedy SEQUEL (Structured English Query Language). Tehdy byl implementovaný prototyp nazývaný SEQUEL-XRM roku 1974-1975. Tento jazyk se velice rychle rozvíjel a roku 1976-1977 byla nová verze (SEQUEL/2), který pak změnil jméno na SQL.
Tento prototyp (Systém R) zakládající na tomto jazyku byl využíván pouze firmou IBM a pár vybranými klienty, kteří měli svoje jméno již vyšší. Díky vysoké oblibě tohoto jazyka, který ještě nebyl oficiální, mnoho firem začalo vyvýjet databáze na základě tohoto jazyka.
Roku 1981 IBM začal vypouštět jeho výrobky a roku 1983 začal prodávat DB2. V těchto letech také mnoho velkých společností (Oracle, Sybase) začali také prodávat jejich výrobky na základě SQL. Od té doby se stal z tohoto jazyka standard databází.
Roku 1986 ANSI adoptoval SQL jako standard pro databázový jazyky a roku 1987 se stal i standardem ISO. Tato verze standardu jde pod jménem SQL/86.
V následujících letech přešel mnoha změnami, které ho donesly až do standardu SQL/89 a dále také do aktuální SQL/92.
Fakt, že byl a je standard pro databáze nám otevíra mnoho nových možností. Můžeme naše aplikace propojovat díky stejné kompatibilitě. Či dokonce s aplikacemi cizími.
Ovšem pak nastal kámen úrazu. Tím je, že všichni pouze používají základy tohoto jazyka a pak ho pouze vyvýjí podle valstních představ. Z toho vyplívá, že můžeme nalézt mnoho databází různého druhu.
Momentálně probíhá další revize tohoto jazyka ze strany ANSI, které by měli přinést verzi SQL3.

Praxe, aneb vyzkoušejte sami

Nyní si představíme strukturu databáze, která bude využívána pro všechny příklady a ukázky, které budeme provádět v následujících článcích. Nebudu zde popisovat, jak takovou databázi vytvořit, protože by tento seriál změnil orientaci a to je práce někoho jiného. Nyní se podívejte na obrázek: [link]. Radil bych vám si tento obrázek stáhnout do počítače, abyste s ním dle potřeby mohli pracovat. Možná jej nebudete potřebovat vůbec.
Každý čtverec na obrázku představuje jednu tabulku. Jméno tabulky pak najdete v tmavší části. Zbytek čtverce je rozdělený na tři sloupce, v kterých jsou upřesněny chrakteristiky atributů, které jsou v tabulce. Prostřední sloupec představuje jména atributů, pravý sloupec jejich typ (byly použity typy ze SQL/92). Dále tu máme levý sloupec, který udává jejich vlastnosti. Tyto vlastnosti nám udávají buď PK nebo FK. Znamená to Primary Key nebo Foreign Key. Z toho vyplívá,jestli se jedná o klíč lokální nebo vnější.
Šipky udávají kam patří vnější atributy.
Účelem databáze je mít nějaké informace v tabulkách, abychom je mohli snadno vytahovat a měnit. Čím je databáze pro nás jednodušší tím lépe. Samozřejmě všeho s mírou.

Dále si vysvětlíme účely tabulek v naší smyšlené databázi:

Publication: Jednoduchá publikace. Využijeme to pro dodání jediněčného identifikačního čísla pro každou publiakci v databázi. Více specifické informace nejsou potřeba, jelikož se uchovávají v ostatních tabulkách. Díky této struktuře také můžeme rychleji hledat například autory publikací, či kontakt na autora jedné určité publikace. Také můžeme mít publiakci, kterou psalo více autorů, nebo autora, který napsal více publikací
Author: Tato tabulka raprezentuje autora určité publikace. Primární klíč nám také zaručuje, že je poue jeden autor, který má tento klíč, z čehož vyplívá, že nemůžeme mít více autorů pod jedním ID
Editor: Tato tabulka raprezentuje člověka, který korektuje články. Struktura je stejná jako od Author
Person: Obsahuje člověka. (napříkald autor) v databázi
Publisher: Ten, který povoluje vydání článku
Institution: Firma, nebo společnost
Book: Kniha s přesným ID
InBook: Část knihy, která je v tabulce Book
Proceedings: Akce nějákého kongresu nebo konference
InProceedings: Část akce z kongresu nebo konference
Article: Článek vydaný v nějakém časopisu nebo novinách
Manual: Publikace technického původu
TechReport: Publikace technického původu vydaná školou nebo institucí
Thesis: Doktorská teze
Misc: Publikace, která není v žádné z předchozích skupinech


Nyní vám nevysvětlím smysl všech tabulek a atributů v tabulkách, ale pomalu se s nimi budeme setkávat a pochopíme, jak jejich význam, tak i jejich smysl a povinnost být v databázi.