Popis syntaxe jazyka SQL ve WinBase602

Pro zßpis syntaxe pou₧φvßme upravenΘ BNF (Backus Naur Form). Syntaxe je popsßna soustavou pravidel, na jejich levΘ stran∞ stojφ neterminßl, jeho₧ v²znam pravidlo definuje pomocφ pravΘ strany. Mezi levou a pravou stranou pravidla je znak ::=.

V pravidlech se neterminßly zapisujφ kurzφvou, terminßly normßlnφm pφsmem.

V pravidlech se vyskytujφ tyto metasymboly (symboly, kterΘ nejsou souΦßstφ syntaxe, ale umo₧≥ujφ zßpis syntaxe):

| odd∞lovaΦ variant

[ ]zßvorky vymezujφcφ nepovinnou Φßst

{ }metazßvorky (ohraniΦujφ urΦitou Φßst pravidla)

àsymbol oznaΦujφcφ nula nebo vφce opakovßnφ bezprost°edn∞ p°edchßzejφcφho symbolu (nebo vφce symbol∙ v metazßvorkßch)

P°φklad pou₧itφ zßpisu:

p°φkaz_INSERT ::= INSERT INTO jmΘno_tabulky [(jmΘno_sloupce {,jmΘno_sloupce}à )] obsah
obsah ::= VALUES ( hodnota {, hodnota }à ) | DEFAULT VALUES | dotazov²_v²raz

Jak Φφst takov²to zßpis:

P°φkaz INSERT je definovßn takto: zaΦφnß povinn²mi terminßly (vyhrazen²mi slovy) INSERT INTO nßsledovan²mi neterminßlem jmΘno_tabulky. Obsah neterminßlu je definovßn na nßsledujφcφch °ßdcφch nebo v n∞kterΘm p°edchßzejφcφm zßpisu syntaxe nebo je jeho v²znam z°ejm² jako v tomto p°φpad∞.

Nßsleduje nepovinnß Φßst uzav°enß do hranat²ch zßvorek obsahujφcφ jeden nebo vφce neterminßl∙ jmΘno_sloupce. KulatΘ zßvorky nepat°φ mezi metasymboly, jsou tedy souΦßstφ p°φkazu. Slo₧enΘ zßvorky vymezujφ Φßst, ke kterΘ se vztahuje symbol pro opakovßnφ.

Nßsleduje neterminßl obsah definovan² na nßsledujφcφm °ßdku. Pomocφ odd∞lovaΦ∙ variant jsou naznaΦeny t°i r∙znΘ, navzßjem se vyluΦujφcφ mo₧nosti syntaxe. Prvnφ zp∙sob zaΦφnß vyhrazen²m slovem VALUES a pokraΦuje v²Φtem jednΘ nebo vφce hodnot v kulat²ch zßvorkßch, druh² zp∙sob je definovßn pouze terminßly DEFAULT VALUES, t°etφ zp∙sob odkazuje na neterminßl dotazov² v²raz. Dotazov² v²raz je jednφm z nejd∙le₧it∞jÜφch pojm∙ SQL a je na n∞j odkazovßno z mnoha mφst, mß proto svou vlastnφ strßnku, na nφ₧ ukazuje odkaz nφ₧e v textu

Nedφlnou souΦßstφ syntaxe je i popis a konkrΘtnφ p°φklad pou₧itφ.

V p°φkladech dodr₧ujeme tuto konvenci: zapisujeme jmΘna tabulek s prvnφm pφsmenem velk²m, jmΘna sloupc∙ mal²mi pφsmeny, terminßly SQL velk²mi pφsmeny. Tato konvence nenφ povinnß.