SQL-92

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 14. ledna 2018; kontroly vyžadují 3 úpravy .

SQL-92  je třetí verze databázového dotazovacího jazyka SQL . Na rozdíl od standardu SQL-89 byla třetí verze velmi významnou aktualizací jazyka. Kromě některých drobných nesrovnalostí je standard SQL-89 téměř zcela kompatibilní se standardem SQL-92.

Historie

První mezinárodní jazykový standard SQL byl přijat v roce 1989 (dostal odpovídající označení SQL/89) a naprostá většina DBMS na počátku 90. let oznámila podporu tohoto standardu. Tato norma má však nedostatky, a to: norma stanoví mnoho důležitých vlastností jazyka, jak jsou definovány v implementaci nebo na ní závislé. To poskytlo velký prostor pro rozdíly mezi různými implementacemi SQL. Za druhé, některé praktické aspekty jazyka nejsou ve standardu SQL/89 vůbec zmíněny. Jedná se především o pravidla pro zabudování jazyka SQL do programovacího jazyka C a tzv. dynamického SQL. Výsledkem bylo, že prodejci DBMS implementovali své vlastní mechanismy, které byly jen stěží vzájemně kompatibilní. To vedlo k situaci, kdy se kód jednoho DBMS vyhovujícího standardu SQL/89 ukázal jako nepřenosný na jiný DBMS rovněž vyhovující standardu SQL/89 [1] .

Aby se odstranily nedostatky standardu SQL/89, byl koncem roku 1992 přijat nový mezinárodní standard pro jazyk SQL (SQL/92). Také se ukázalo, že není bez chyb, ale stále byl výrazně přesnější a úplnější než SQL/89. SQL/92 nejen vyrovnává nedostatky SQL/89, ale obsahuje také mnoho nových funkcí.

Hlavní rozdíly oproti SQL/89

V novém standardu bylo možné použít datový typ znakových řetězců proměnné délky (to znamená, že při specifikaci sloupce je uvedena maximální povolená velikost uloženého řetězce ve znacích, ale ve skutečnosti je uloženo přesně tolik znaků v databázi tak, jak je uživatel zadal), datové typy bitových řetězců konstantní a proměnné délky (jak jsou ve skutečnosti uloženy v databázi není standardně definováno), standardizované datové typy pro práci s datem a časem: DATE (datum). ), ČAS (čas) a INTERVAL (časový interval) [2] .

Při vytváření databázového schématu (které lze později změnit) můžete definovat vlastnosti národní znakové sady, včetně pravidel řazení, a definovat znakové sady používané jak v uložených textových řetězcích, tak v identifikátorech [2] .

Nový standard zavádí možnost vytvářet uložené a zobrazitelné tabulky a nastavovat nebo odebírat přístupová oprávnění pomocí operátorů ( CREATE TABLE, CREATE VIEW, GRANT, REVOKE) kdykoli v jakékoli transakci mimo příkaz definice schématu. Existovaly operátory destrukce tabulky ( DROP TABLEa DROP VIEW), které lze také provést v rámci jakékoli transakce (pokud máte příslušná oprávnění). Také byl poprvé definován operátor ALTER TABLE, který umožňuje dynamicky měnit vlastnosti dříve vytvořené tabulky (zejména do ní přidávat nové sloupce) [2] .

Seznam inovací

Poznámky

  1. Jazykové standardy relačních databází SQL: Přehled archivovaný 29. prosince 2010 na Wayback Machine  (ruština)
  2. 1 2 3 Přehled rozdílů mezi SQL/92 a SQL/89 Archivováno 13. prosince 2009 na Wayback Machine  (ruština)

Odkazy