Download presentation
Presentation is loading. Please wait.
1
SQL Structured Query Language
otvorený (neproprietárny) jazyk, ktorého pravidlá boli vytvorené štandardizačnou komisiou Čo robí SQL? čítanie existujúcich dát, vytváranie nových záznamov udržiavajúcich dáta, zmena existujúcich dát, mazanie dát Čo nerobí SQL? SQL nie je program alebo vývojové prostredie nemá nástroje na ukladanie dát SQL je neprocedurálny, resp. deklaratívny jazyk SQL nemá vlastné špecifické vývojové prostredie SQL nie je sieťový jazyk
2
SQL je čiastočne alebo plne implementovaný a prístupný vo väčšine relačných SRBD založený na relačnej algebre dotaz je sekvencia operácií relačnej algebry Dr. Edgar Frank Codd – tvorca relačných databáz a SQL 1970 – relačný model 1978 – implementácia v IBM ako System/R
3
Štandardy ANSI (American National Standards Institute)
ISO (the International Standards Organization) – komerčná akceptácia SQL89 (SQL1) SQL92 (SQL2) SQL99 (SQL3) podstatná časť jazyka nebola menená v týchto modifikáciách zdrojové texty písané v SQL1 sú stále použiteľné
4
SQL Medzinárodný štandard ISO/IEC bol pripravený Joint Technical Committee ISO/IEC JTC 1 – Information Technology, Subcommittee SC 32, Data management and interchange Štandard ISO/IEC 9075 pozostáva z nasledujúcich častí, ktoré sú uvádzané pod spoločným titulom Information technology — Database languages SQL: JTC1/SC32: Data Management and Interchange WG1: Open EDI (Finland) WG2: Metadata (USA) WG3: Database Languages (Netherlands) WG4: SQL Multimedia and Application Packages (Japan) WG5: Remote Database Access (RDA) (United Kingdom) RG1: Reference Model for Data Management (Maintenance) (United Kingdom) RG2: Export /Import (Maintenance) (Canada)
5
SQL JTC1/SC32/WG3 Projects (SQL3 only): Part 1: Framework
Part 2: Foundation Part 3: Call-Level Interface Part 4: Persistent Stored Modules Part 5: Language Bindings Part 6: XA Specialization Part 7: Temporal Part 9: Management of External Data Part 10: Object Language Bindings
6
SQL JTC1/SC32/WG4 Projects: Part 1: SQL/MM Framework
Part 2: SQL/MM Full-Text Part 3: SQL/MM Spatial Part 4: SQL/MM General Purpose Facilities Part 5: SQL/MM Still Image Štandardu SQL/89 vyhovuje 11 schválených produktov na 52 rôznych platformách. Štandardu SQL/92 vyhovuje viac ako 10 schválených produktov na vyše 100 rôznych platformách
7
Proces vývoja štandardu
8
SQL SQL = DDL + DML + DCL + príkazy pre prácu s transakciami
DDL – Data Definition Language – jazyk pre definovanie dát, resp. databázových objektov (CREATE DATABASE, CREATE SCHEMA, CREATE TABLE, CREATE VIEW, CREATE INDEX, ALTER, DROP, RENAME, ...) DML – Data Manipulation Language – jazyk pre manipuláciu s dátami (INSERT, UPDATE, DELETE, SELECT,...) DCL – Data Control Language – jazyk pre riadenie prístupu k dátam (GRANT, REVOKE) Príkazy pre prácu s transakciami (BEGIN, COMMIT, ROLLBACK, ...)
9
SQL SQL 86 3 spôsoby spracovanie príkazov DML – priame spracovanie, modulový jazyk a embedded SQL SQL 89 DDL bol oddelený ako "schema definition language" rozšírenie integritných podmienok – DEAFAULT, UNIQUE, NOT NULL, PK, FK, CHECK, views WITH CHECK OPTION SQL 92 rozšírenie dátových typov viacnásobné join operátory definovanie nových databázových objektov Dynamic SQL scrollable cursors
10
SQL92 SQL vlastnosti sú rozdelené do 3 resp. 4 úrovní: Entry Level
SQL 89 + IC SQLSTATE pomenované výrazy v Select príkaze (AS) Transitional Level rozšírenia v oblasti dátových typov a operátorov zabezpečenie referenčnej integrity pomocou cascade delete nové typy join – NATURAL, LEFT a RIGHT OUTER JOIN príkazy pre Dynamic SQL príkazy pre vývoj schémy operátor CAST rozšírenie definície pohľadu o UNION operátor definovanie úrovní izolácie transakcií definícia viacnásobných schém
11
SQL92 Intermadiate Level rolovací kurzor FULL OUTER JOIN
možnosť definovať doménu možnosť online DDL definovanie množinových operácií definovanie CASE výrazov použitie UNIQUE predikátu 128-znakové identifikátory komplexnejšie informácie v systémovom katalógu dátové typy date and time rozšírené o časové zóny
12
SQL92 Full Level odvodené tabuľky
rozšírenie pravidiel pre referenčnú integritu – CASCADE UPDATE, SET NULL integrity tvrdenia (assertions) rozšírené predikáty ďalšie typy operácie JOIN – CROSS JOIN, UNION JOIN definovanie nových dátové typy – BIT(n), BIT VARYING(n) dočasné tabuľky (temporary) – ich zrušenie na konci transakcie alebo relácie (session) implementácia definovaných sekvencií ďalšie character-string operátory – UPPER, LOWER, POSITION možnosť definovať INSERT privilégium pre individuálny stĺpec možnosť operácie update cez rolovacie kurzory UPDATE and DELETE s poddotazmi (subqueries) na tej istej tabuľke
13
SQL99 (SQL3) ISO/IEC 9075-1: Framework (SQL/Framework)
úvod do štandardu základné definície prislúchajúce štandardu definície pojmov, ktoré sú používané v štandarde notácie a konvencie používané v štandarde popis štruktúry štandardu ISO/IEC : Foundation (SQL/Foundation) základ štandardu – dátové typy, schémy, tabuľky, pohľady, SQL príkazy, výrazy, bezpečnostný model, predikáty, pravidlá, transakčné spracovanie, atď.
14
SQL99 (SQL3) ISO/IEC 9075-3: Call Level Interface (SQL/CLI)
špecifikuje previazanie medzi aplikačným programom, ktorý je napísaný v jednom zo štandardných programovacích jazykov a implementáciou SQL alokovanie a uvoľňovanie zdrojov inicializácia, riadenie a ukončenie SQL spojenia medzi SQL klientom a SQL serverom vykonávanie SQL príkazov, vrátane ich prípravy pre postupné vykonávanie získanie diagnostických informácií získanie informácií o SQL implementácii, napr. SQL servre, ku ktorým sa môže pripojiť SQL klient nie je potrebné žiadne predspracovanie SQL príkazov
15
SQL99 (SQL3) ISO/IEC 9075-4: Persistent Stored Modules (SQL/PSM)
rozšírenia do SQL, aby sa stal procedurálnym (výpočtovo kompletným) príkazy na riadenie toku priraďovanie výsledkov výrazov premenným a parametrom špecifikácia správy rozhodovania, ktorá umožňuje zložené príkazy rozdeliť na základe rozličných podmienok označenie podmienok deklarácia lokálnych kurzorov ISO/IEC : Management of External Data (SQL/MED) definuje rozšírenia do SQL pre podporu manažovania externých dát použitím cudzích tabuliek a datalink-ov prostriedky pre definovanie cudzích servrov, wrapper-ov a tabuliek
16
SQL99 (SQL3) ISO/IEC 9075-10: Object Language Bindings (SQL/OLB)
definuje prostriedky pre vnorenie SQL príkazov do Java programov ISO/IEC : Information and Definition Schemas (SQL/Schemata) špecifikuje dve schémy – informačnú a definičnú informačná schéma umožňuje aplikácii získať mená perzistentných databázových objektov – tabuľky, pohľady, stĺpce, atď. Tento prístup je definovaný pomocou pojmov zo základných tabuliek definičnej schémy definičná schéma poskytuje dátový model pre podporu informačnej schémy a jej pochopenie SQL implementácia nerobí nič viac iba simuluje existenciu definičnej schémy prostredníctvom pohľadov informačnej schémy
17
SQL99 (SQL3) ISO/IEC : Java Routines and Types Using the Java Programming Language (SQL/JRT) rozšírenia SQL umožňujúce volania statických metód napísaných v Java programovacom jazyku ako SQL volaných rutín a použitie tried definovaných v Java programovacom jazyku ako SQL štruktúrované typy rozšírenia do definície, manipulácie a volania SQL rutín rozšírenia do definície a manipulácie používateľom definovaných (user defined) typov nové vstavané (built-in) procedúry ISO/IEC : XML-Related Specifications (SQL/XML) rozšírenia SQL, ktoré umožňujú tvorbu a manipuláciu s XML dokumentmi nový predefinovaný typ XML nové vstavané (built-in) operátory pre vytváranie a manipuláciu s XML typom pravidlá pre mapovanie tabuliek, schém a katalógov do XML dokumentov
18
Foundation - rozšírenia
rozšírenia dátových typov objektovo-relačné rozšírenia user-defined typy, Referenced typy, collection typy Large OBjects katalógy, schémy a manipulácia s nimi hierarchia tabuliek pohľady constraints triggre user-defined rutiny predikáty rekurzívne dotazy OLAP rozšírenia ORDER BY rozšírenia savepoints update through unions and joins
19
References Nelson M. Mattos: SQL99, SQL/MM, and SQLJ: An Overview of the SQL Standards SQL 2003 Standard, ANSI TC NCITS H2, ISO/IEC JTC 1/SC 32/WG 3
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.