Jazyk SQL

Z Kiwiki
Verzia z 21:49, 19. október 2010, ktorú vytvoril Juraj (diskusia | príspevky)
Skočit na navigaci Skočit na vyhledávání
Imbox draft.png
Toto je projekt, na ktorom sa ešte stále pracuje!!

Aj keď sú v tomto dokumente použiteľné informácie, ešte nie je dokončený. Svoje návrhy môžete vyjadriť v diskusii o tejto stránke.

Jazyk SQL (Structured Query Language) je štandardizovaný jazyk pre prístup k dátam databázy.

Čo sa dá robiť pomocou SQL

  • SQL dokáže vykonávať dotazy nad databázou
  • SQL môže načítať dáta z databázy
  • SQL môže vkladať záznamy do databázy
  • SQL môže aktualizovať záznamy v databáze
  • SQL môže odstraňovať záznamy z databázy
  • pomocou SQL je možné vytvárať nové databázy
  • pomocou SQL je možné vytvárať nové tabuľky v databáze
  • pomocou SQL je možné vytvárať uložené procedúry v databáze
  • pomocou SQL je možné vytvoriť pohľady v databáze
  • SQL dokáže nastaviť používateľské oprávnenie pre tabuľky, procedúry a pohľady

Jazyk SQL je case-sensitive, to znamená je neberie ohľad na veľkosť písmen. V praxi to znamená, že výraz select má rovnaký význam ako SELECT.

Rozdelenie jazyka SQL

Jazyk SQL môžeme deliť na podskupiny:

DML - Data Manipulation Language
DML je rodina programovacích jazykov, ktoré umožňujú používateľom vkladať, mazať a aktualizovať údaje v databáze. V SQL sa používan na načítanie a manipuláciu s dátami v relačnej databáze. Patria sem príkazy: SELECT, INSERT, UPDATE, DELETE.
DDL - Data Definition Language
Jazyk DDL je časť jazyka SQL pre definíciu dát. Patria sem príkazy, pomocou ktorých môžeme vytvárať a mazať databázy a tabuľky. Jedná sa o príkazy: CREATE, DROP, ALTER
DCL - Data Control Language
DCL je podmnožina jazyka SQL pre riadenie prístupu k databáze, tabuľkám databázy a ostatným objektom databázy. Patria sem príkazy GRANT, REVOKE

Vzorový príklad - databáza WORLD

Pre vysvetlenie SQL príkazov budeme pracovať s databázou "world"[1], ktorá je distribuovaná ako vzorová databáza pre databázový server MySQL [2]

Databáza world

Databáza world obsahuje informácie o krajinách, mestách a jazykoch používaných v jednotlivých krajinách sveta. Databáza obsahuje 3 tabuľky:

  • city
  • country
  • countrylanguage

Na nasledujúcom obrázku je ER diagram datazázy world

Er diagram world.png

Vzorová databáza sa dá stiahnuť zo stránok MySQL: http://dev.mysql.com/doc/index-other.html

Zoznam miest sveta

V tabuľke city sa nachádza zoznam niektorých, vybraných miest sveta. Mesto je opísané nasledujúcimi atribútmi:

ID indentifikátor záznamu (primárny kľúč tabuľku). Slúži na jednoznačnú identifikáciu mesta.
Name Názov mesta.
CountryCode 3-miestny kód krajiny, v ktorom sa nachádza dané mesto.
District Definuje okres, v ktorom sa nachádza dané mesto
Population Populácia v danom meste.

Zoznam krajín sveta

Zoznam jazykov používaných v krajine

Vzorový príklad - databáza Prekladový slovník

Slovník ver.1 - Anglicko-Slovenský slovník

Úloha:

Vytvorte funkčný databázový model jednosmerného prekladového slovníka z angličtiny do slovenčiny. Anglické slová budú mať pridelené kategórie.

Analýza úlohy:

Úlohou je vytvoriť model slovníka, v ktorom bude možné jednému anglickému slovu priradiť viacero slovenských prekladov. V danej úlohe identifikujeme nasledovné entity:

  • anglické slová (slova_en)
  • slovenské slová (slova_sk)
  • kategórie anglických slov (kategorie)

Pre dané entity identifikujeme nasledujúce atribúty:

  • slova_en
    • identifikačné číslo slova (primárny kľúč)
    • anglické slovo
    • kategória, do ktorej slovo patrí. Kategória bude reprezentovaná odkazom na názov kategórie v entite kategorie.
  • slova_sk
    • identifikačné číslo slova (primárny kľúč)
    • slovenské slovo
  • kategorie
    • identifikačné číslo kategórie (primárny kľúč)
    • názov kategórie
Prekladový slovník jednosmerný


Slovník ver.2 - obojsmerný slovník

Úloha:

Vytvorte funkčný databázový model obojstranného prekladového slovníka

Prekladový slovník obojsmerný

Na nasledujúcom obrázku je obsah tabuľky preklad. V ľavej časti vidieť len hodnoty cudzích kľúčov tak, ako sú uložené v tabuľke. V pravej časti je namiesto týchto číselných hodnôt zobrazené samotné slovenské, resp anglické slovo a aj názov kategórie.

Obsah tabuľky preklad

Zdroje a odkazy