Doporučená praxe SQL: Zde jsou uvedeny standardy ANSI

Zveřejnění: Vaše podpora pomáhá udržovat provoz webu! Za některé služby, které na této stránce doporučujeme, dostáváme poplatek za doporučení.


SQL: ANSI standardy pro správu databází

Strukturovaný dotazovací jazyk (SQL) je standardní jazyk správců databází (DBA) pro přístup a správu databází.

V průběhu let se vyvíjel SQL a začalo se objevovat mnoho verzí a jazyků. Aby sjednotil SQL pro osvědčené postupy, vytvořil Americký národní normalizační institut (ANSI) specifické standardy pro jazyky dotazů databáze.

Časová osa SQL

  • 1970: Edgar Frank Codd, počítačový vědec pracující pro IBM, zveřejnil v červnu 1970 v časopise Asociace počítačových strojů (ACM) svůj slavný článek „Relační model dat pro velké sdílené datové banky“. Model Dr. Codda zůstává definitivním modelem pro systémy správy relačních databází (RDBMS)..

  • 1978: IBM Corporation vyvíjí databázový systém System / R spolu s databázovým jazykem Structured English Query Language (SEQUEL) ve svém výzkumném středisku v San Jose v Kalifornii. Zakládají to na originálním modelu Dr. Codda a nazývají ho SEQUEL.

  • 1979: Společnost Relational Software, Inc., vydává první systém správy relačních databází a jmenuje jej Oracle. Jejich RDBMS funguje na minipočítači pomocí jazyka SQL jako hlavního dotazovacího jazyka. Produkt se stává tak populárním, společnost mění svůj název na Oracle.

  • 1982: IBM uvádí na trh první komerční RDBMS založené na SQL, které pojmenují SQL / Data System nebo SQL / DS, av roce 1985 vydala systém Database 2 nebo DB2. Oba systémy běží na počítači IBM mainframe. IBM přenesla produkt DB2 později na další systémy, včetně těch, které běží na operačních systémech Windows a UNIX.

Standardy ANSI rok od roku

  • 1986: SQL-87 byl zpočátku formalizován ANSI v roce 1986.

  • 1989: Americký národní normalizační institut (ANSI) publikuje první sadu standardů pro jazyky dotazů databáze, známé jako SQL-89 nebo FIPS 127-1.

  • 1992: ANSI publikuje své revidované standardy ANSI / ISO SQL-92 nebo SQL2, které byly přísnější než SQLI, a přidává některé nové funkce. Tyto standardy zavádějí úrovně shody, které naznačují, do jaké míry dialekt splňuje standardy ANSI.

  • 1999: ANSI publikuje SQL3 nebo ANSI / ISO SQL: 1999 s novými funkcemi, jako je podpora objektů. Nahrazily úrovně shody se základními specifikacemi a další specifikace pro devět dalších balíčků.

  • 2003: ANSI publikuje SQL: 2003, zavádí standardizované sekvence, funkce související s XML a sloupce identity. Tvůrce prvního RDBMS, Dr. E.F.Codd, zemře 18. dubna téhož roku.

  • 2006: ANSI publikuje SQL: 2006, definuje, jak používat SQL s XML a umožňuje aplikacím integrovat XQuery do jejich existujícího kódu SQL.

  • 2008: ANSI publikuje SQL: 2008, zavádí INSTEAD OF triggery, stejně jako příkaz TRUNCATE.

  • 2011: ANSI publikuje SQL: 2011 nebo ISO / IEC 9075: 2011, sedmou revizi standardu ISO (1987) a ANSI (1986) pro jazyk dotazu databáze SQL.

Rozdělili nové standardy ANSI SQL do devíti částí, včetně:

  • Část 1 – ISO / IEC 9075-1: 2011 SQL / Framework, který nabízí logické koncepty.

  • Část 2 – ISO / IEC 9075-2: 2011 SQL / Foundation, zahrnuje centrální prvky SQL.

  • Část 3 ISO / IEC 9075-3: 2008 Rozhraní SQL / Call-Level Interface (CLI), vysvětluje komponenty rozhraní, jako jsou procedury, struktury a proměnné vazby pro provádění příkazů SQL v různých kódovacích jazycích, jako jsou například COBOL a C ++..

  • Část 4 ISO / IEC 9075-4: 2011 SQL / Persistent Stored Modules (PSM), nastiňuje standardy pro procedurální rozšíření pro SQL, včetně zacházení s podmínkami a toku řízení, jakož i signálů a rezignací podmínek příkazů a lokálních proměnných a kurzorů. Přiřadí výrazy parametrům a proměnným. Řeší údržbu trvalých rutin databázového jazyka, jako jsou uložené procedury.

  • Část 9 ISO / IEC 9075-9: 2008 SQL / Management externích dat (MED), zahrnuje rozšíření SQL pro definování typů datových linek a obaly cizích dat, které umožňují SQL spravovat externí data. Externí data jsou přístupná, ale nejsou spravována databázovým systémem SQLMS.

  • Část 10 ISO / IEC 9075-10: 2008 SQL / Object Language Bindings (OLB), definuje sémantiku a syntaxi SQLJ. SQLJ je vkládání SQL do Java. Standard specifikuje mechanismy pro binární přenositelnost aplikací SQLJ. Definuje také několik balíčků Java spolu s jejich obsaženými třídami.

  • Část 11 ISO / IEC 9075-11: 2011 SQL / Information and Definition Schemata, specifikuje Information Schema a Definition Schema, nabízející nástroje k tomu, aby se objekty a databáze SQL samy popsaly. Zahrnuje identifikátor objektu SQL, specifikace zabezpečení a autorizace, jakož i omezení bezpečnosti a integrity. Podporuje funkce a balíčky ISO / IEC 9075, jakož i funkce poskytované implementacemi DBMS založenými na SQL.

  • Část 13 – ISO / IEC 9075-13: 2008 ISO / IEC 9075-13: 2008: Rutiny a typy SQL pomocí programovacího jazyka Java (JRT), určuje kapacitu pro využití tříd Java jako strukturovaných uživatelem definovaných typů jazyka SQL a také vyvolává metody statické Java jako rutiny z prostředí SQL aplikace, známá jako Java v databázi.

  • Část 14 – ISO / IEC 9075-14: 2011 Specifikace související s SQL / XML, definují rozšíření založená na SQL při použití XML s SQL. Nastiňuje datové typy, rutiny a funkce XML. Popisuje také mapování datových typů XML na SQL pro ukládání a správu XML uvnitř databáze SQL.

Multimediální a aplikační balíčky ISO / IEC 13249 SQL pracují společně s ISO / IEC 9075 jako samostatný, přesto relevantní standard, který specifikuje různá rozhraní a balíčky založené na SQL.

Cílem tohoto balíčku je umožnit centralizovaný přístup k nejběžnějším databázovým aplikacím, jako jsou obrázky, text, prostorová data a dolování dat.

Jak najít kopii standardů

Tištěné kopie specifikací standardů SQL je možné zakoupit pouze z důvodu omezení autorských práv ISO a ANSI. Elektronickou kopii najdete na webových stránkách ANSI výběrem „Přístupové standardy – eStandards Store“ a hledáním „SQL Language“.

Každý dokument má dvě varianty, ale jsou totožné:

  1. INCITS / ISO / IEC 9075 – * – 2011

  2. ISO / IEC 9075 – *: 2011

Každý tvůrce databáze si klade za cíl tyto standardy dodržovat, což způsobuje, že se různé implementace SQL staly podobnými; Každá implementace však stále má jedinečný dialekt pro použití SQL, který zahrnuje rozšíření nebo dodatky ke standardům.

Testování SQL

Základní příkazy a příkazy SQL jsou podobné pro všechny dialekty SQL, takže jakmile DBA umí jeden použít, mohou se snadno naučit ostatní.

Přestože většina databázových programů SQL má vlastní proprietární rozšíření, musí splňovat standardy ANSI, musí však přinejmenším podporovat těchto pět hlavních příkazů stejným způsobem:

  1. AKTUALIZACE

  2. ODSTRANIT

  3. VYBRAT

  4. VLOŽIT

  5. KDE

SQL umožňuje DBA provádět následující akce v databázi:

  • Spouštět dotazy

  • Načíst data

  • Vkládání, aktualizace a mazání záznamů

  • Vytvářejte nové tabulky a pohledy

  • Vytvářejte nové databáze

  • Vytvářejte uložené procedury

  • Nastavte oprávnění pro pohledy, tabulky a procedury.

Pro vytvoření webové stránky, která může přistupovat k datům z databáze, je nutný databázový program RDBMS (Relational Database Management System). Některé oblíbené programy RDBMS zahrnují:

  • SQL Server

  • MS Access

  • MySQL

  • Postgre SQL

  • Databáze Oracle.

Aby bylo možné vytvořit databázi, bude správce databáze také muset použít následující:

  • Standardní značkovací jazyk jako CSS / HTML

  • Skriptovací jazyk na straně serveru, například ASP nebo PHP.

  • Pochopte, jak používat SQL k načtení požadovaných dat.

Anatomie databáze

Základem databáze je systém správy relačních databází (RDBMS). Použití RDBMS umožňuje DBA ukládat data do databázových objektů, nazývaných tabulky. Tabulky se skládají ze sloupců a řádků souvisejících údajů uspořádaných do sekcí.

Identifikace databázových tabulek

Většina databází obsahuje více než jednu tabulku, proto musí DBA identifikovat každou tabulku s názvem. Každá tabulka bude obsahovat řádky záznamů obsahující informace a data.

Podnik by například používal databázi se zákaznickou tabulkou obsahující následující data pro každého zákazníka:

  1. Jméno zákazníka

  2. kontaktní jméno

  3. zákaznické identifikační číslo

  4. Adresa zákazníka – ulice, město, PSČ a země

  5. Kontaktní informace zákazníka

V tomto případě tabulka obsahuje pět záznamů – jeden pro každého zákazníka – a osm sloupců, jeden pro každý kus dat: jméno zákazníka, kontaktní jméno, ID zákazníka, adresa zákazníka včetně města, PSČ a země a kontaktní informace zákazníka.

Komunikace s databází SQL

Správci databází provádějí všechny potřebné akce v databázi pomocí příkazů SQL. Výsledky se poté uloží do výsledkové tabulky nazvané sada výsledků.

SQL obvykle nerozlišuje velká a malá písmena a některé databázové systémy vyžadují použití středníku na konci každého příkazu SQL. Středník se stal standardní metodou oddělení SQL příkazů od sebe navzájem v databázovém systému.

To umožňuje DBA provádět více příkazů SQL v jednom volání na server.

Některé příkazy SQL zahrnují:

  • ALTER TABULKA Upravuje tabulky.

  • ALTER DATABASE Upravuje databáze.

  • VYTVOŘTE DATABÁZE Vytváří nové databáze.

  • VYTVOŘIT INDEX Vytvoří klíče indexu / vyhledávání.

  • VYTVOŘENÍ TABULKY Vytvoří nové tabulky.

  • ODSTRANIT Odstraní data z databází.

  • DROP INDEX Odstraní indexy.

  • DROP TABLE Odstraní tabulky

  • VLOŽ DO Vloží nová data do databází.

  • VYBRAT Extrahuje data z databází.

  • AKTUALIZACE Aktualizuje data v databázích.

12 pravidel Codd

Když vytvořil první systém správy relačních databází, Dr. Codd zahrnoval 13 pravidel, což naznačuje, že pokud systém správy databází splňuje všechna tato pravidla, jedná se o skutečný systém správy relačních databází..

Protože je očísloval od nuly do 12, nazývají se Coddova 12 pravidel:

  • Rule Zero: Foundation Stanoví, že základní systém musí splňovat tři základní požadavky: Musí být relační a zahrnovat databázi a systém řízení. Musí také využívat relační zařízení výhradně ke správě databáze, aby byla považována za skutečnou RDBMS.

  • Pravidlo jedna: Reprezentace informací Reprezentujte všechny informace v databázi jedinečným způsobem, konkrétně umístěním hodnot do pozic sloupců v řádcích tabulek.

  • Pravidlo dvě: Zaručený přístup Všechna data musí být přístupná, stejně jako základní požadavek na primární klíče. Každá jednotlivá skalární hodnota v databázi by měla být rozumně adresovatelná definováním názvu obsahující tabulky a sloupce, jakož i hodnoty primárního klíče pro obsahující řádek..

  • Pravidlo tři: Zacházení s nulovými hodnotami DBMS musí ponechat každé pole prázdné nebo nulové. To znamená, že musí podporovat manipulaci s reprezentací jakékoli nepoužitelné nebo chybějící informace systematickým způsobem, který se liší od všech běžných hodnot a je nezávislý na typu dat..

  • Pravidlo čtyři: Aktivní online katalog Systém musí podporovat inline, online, relační strukturu nebo katalog přístupný oprávněným uživatelům pomocí jejich běžného jazyka dotazů. Uživatelé by měli mít přístup k katalogu databáze pomocí stejného relačního modelu a jazyka dotazu, který použili pro přístup k datům v databázi.

  • Pravidlo pět: Podřízený jazyk pro komplexní data Systém musí podporovat minimálně jeden relační jazyk s lineární syntaxí. Uživatelé by měli být schopni jej využít v aplikačních programech a také interaktivně. Musí také podporovat operace manipulace s daty, jako jsou aktualizace a vyhledávání a operace definice dat, jako jsou definice pohledů, a operace správy transakcí, jako je potvrzení, zahájení a vrácení. Měl by také mít zavedená omezení integrity a bezpečnosti.

  • Pravidlo šest: Aktualizace Všechny pohledy, které lze teoreticky aktualizovat, musí systém aktualizovat.

  • Pravidlo sedm: Aktualizace na vysoké úrovni, Vložit a Smazat Systém by měl podporovat operátory aktualizace, vkládání a mazání v nastaveném čase, aby uživatelé mohli načítat data z relační databáze v sadách sestávajících z dat z více tabulek a / nebo řádků. Operace aktualizace, vkládání a mazání by měly být povoleny pro jakoukoli sadu, kterou lze získat, místo pro jeden řádek v jedné tabulce.

  • Pravidlo osm: Nezávislost fyzických dat Aktualizace fyzické úrovně by neměly vyžadovat aktualizaci aplikace založené na struktuře. Například změny v tom, jak jsou data ukládána, jako například to, zda se mají ukládat do polí nebo propojených seznamů.

  • Deváté pravidlo: nezávislost logických dat Aktualizace logické úrovně, jako jsou sloupce, tabulky a řádky, by neměly vyžadovat aktualizaci aplikace založené na struktuře. Je obtížnější dosáhnout nezávislosti logických dat než nezávislosti fyzických dat.

  • Pravidlo 10: Nezávislost na integritě Určete omezení integrity musí být uložena odděleně od aplikačních programů a v katalogu. Je-li to vhodné, musí být možné taková omezení aktualizovat, aniž by to mělo dopad na jakékoli stávající aplikace.

  • Pravidlo 11: Nezávislost na distribuci Distribuce částí databáze na různá místa by uživatelům databáze neměla být viditelná. Všechny existující aplikace by měly být schopny pracovat nepřetržitě a efektivně vzhledem k zavedení distribuované verze DBMS nebo v případě, že budou distribuovaná data distribuována v celém systému..

  • Pravidlo 12: Nepodávání Pokud systém poskytuje rozhraní pro jeden záznam najednou nebo na nízké úrovni, nelze jej využít k upuštění od jiného systému. Příkladem by byl akt obcházení relační integrity nebo bezpečnostního omezení.

Strukturovaný dotazovací jazyk, nebo SQL, prošel dlouhou cestu, ale základy použité k jeho vytvoření jsou stále silné. Správci databází mohou objevit více způsobů a míst, jak je používat, protože cloud computing se stává normou; ANSI však zůstane na místě, aby určil standardy pro sjednocení jazyků dotazu databáze.

Zdroje:

ANSI.org

Historie SQL

Zdroj W3

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map