SQL: 1999 - SQL:1999 - Wikipedia
SQL: 1999 (nazývaná také SQL 3) byla čtvrtou revizí SQL databáze dotazovací jazyk. To představilo mnoho nových funkcí, z nichž mnohé vyžadovaly objasnění v následujícím SQL: 2003. Mezitím SQL: 1999 je zastaralá.
souhrn
Dokumenty normy ISO byly publikovány v letech 1999 až 2002 v několika splátkách, první se skládal z několika částí. Na rozdíl od předchozích vydání používal název standardu místo pomlčky dvojtečku, aby byl konzistentní s názvy ostatních ISO standardy. První splátka SQL: 1999 měla pět částí:
- SQL / Framework ISO / IEC 9075-1: 1999
- SQL / Foundation ISO / IEC 9075-2: 1999
- SQL / CLI : aktualizovaná definice rozšíření Call Level Interface, původně publikovaná v roce 1995, známá také jako CLI-95 ISO / IEC 9075-3: 1999
- SQL / PSM : aktualizovaná definice rozšíření Persistent Stored Modules, původně publikovaná v roce 1996, známá také jako PSM-96 ISO / IEC 9075-4: 1999
- SQL / vazby ISO / IEC 9075-5: 1999
Následně byly publikovány tři další části, považované také za součást SQL: 1999:
- SQL / MED Správa externích dat (SQL: 1999 část 9) ISO / IEC 9075-9: 2001
- SQL / OLB Vazby jazyků objektů (SQL: 1999 část 10) ISO / IEC 9075-10: 2000
- SQL / JRT Rutiny a typy SQL používající programovací jazyk Java (SQL: 1999 část 13) ISO / IEC 9075-13: 2002
Nové vlastnosti
![]() | Tato sekce potřebuje expanzi. Můžete pomoci přidávat k tomu. (Listopad 2012) |
Typy dat
Booleovské datové typy
Standard SQL: 1999 požaduje logický typ,[1] ale mnoho komerčních serverů SQL (Oracle Database, IBM DB2 ) nepodporují jej jako typ sloupce, typ proměnné ani jej nepovolují v sadě výsledků. Microsoft SQL Server je jedním z mála databázových systémů, který správně podporuje hodnoty BOOLEAN pomocí datového typu „BIT“[Citace je zapotřebí ]. Každé 1–8 bitové pole zabírá jeden celý bajt místa na disku. MySQL interpretuje „BOOLEAN“ jako synonymum pro TINYINT (8bitové celé číslo se znaménkem).[2] PostgreSQL poskytuje standardní vyhovující booleovský typ [3]
Rozdílné uživatelem definované typy napájení
Někdy se nazývá jen odlišné typy, tyto byly zavedeny jako volitelná funkce (S011) umožňující rozšíření existujících atomových typů s charakteristickým významem pro vytvoření nového typu a tím umožnění mechanismu kontroly typu detekovat některé logické chyby, např. náhodné přidání věku k platu. Například:
vytvořit typ stáří tak jako celé číslo FINÁLE;vytvořit typ plat tak jako celé číslo FINÁLE;
vytvoří dva různé a nekompatibilní typy. Používají odlišné typy SQL ekvivalence jmen ne strukturální ekvivalence jako typedefs v C. Je stále možné provádět kompatibilní operace na (sloupcích nebo datech) odlišných typů pomocí explicitního typu OBSAZENÍ
.
Několik systémů SQL je podporuje. IBM DB2 je jedním z těch, kteří je podporují.[4] Databáze Oracle momentálně je nepodporuje, doporučuje místo toho je emulovat na jednom místě strukturovaný typ.[5]
Strukturované typy definované uživatelem
Jedná se o páteř objektově-relační databáze rozšíření v SQL: 1999. Jsou analogické k třídy v objektově orientované programovací jazyky. SQL: 1999 umožňuje pouze jedno dědictví.
Běžné tabulkové výrazy a rekurzivní dotazy
SQL: 1999 přidal konstrukci WITH [RECURSIVE] umožňující rekurzivní dotazy, jako přechodné uzavření, bude specifikováno v samotném dotazovacím jazyce; vidět běžné tabulkové výrazy.
Některé funkce OLAP
GROUP BY byla rozšířena o ROLLUP, CUBE a GROUPING SETS.
Řízení přístupu na základě rolí
Plná podpora pro RBAC prostřednictvím CREATE ROLE.
Klíčová slova
SQL: 1999 zavedlo klíčové slovo UNNEST.[6]
Reference
- ^ ISO / IEC 9075-2: 1999 oddíl 4.6 Booleovské typy
- ^ „MySQL :: MySQL 5.0 Reference Manual :: 11.4 Používání datových typů z jiných databázových strojů“. Dev.mysql.com. 2010-01-09. Citováno 2014-01-30.
- ^ Dokumentace PostgreSQL o booleovském typu
- ^ „Informační centrum softwaru IBM Information Management Software pro z / OS“. Publib.boulder.ibm.com. Citováno 2014-01-30.
- ^ „Soulad Oracle s jádrem SQL: 2003“. Docs.oracle.com. Citováno 2014-01-30.
- ^ Jones, Arie; Stephens, Ryan K .; Plew, Ronald R .; Garrett, Robert F .; Kriegel, Alex (2005). "Příloha B ANSI a klíčová slova dodavatele". Referenční příručka programátoru funkcí SQL. John Wiley & Sons. p. 680. ISBN 9780764598074. Citováno 2016-05-16.
Další čtení
- Jim Melton; Alan R. Simon (2002). SQL: 1999: Understanding Relational Language Components. Morgan Kaufmann. ISBN 978-1-55860-456-8.
- Jim Melton (2003). Advanced SQL, 1999: Understanding Object-Relational and Other Advanced Features. Morgan Kaufmann. ISBN 978-1-55860-677-7.