Wprowadzenie
Technikum » SBD » SQL » Wprowadzenie
SQL (ang. Structured Query Language) – strukturalny język zapytań używany do tworzenia, modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych.
Język SQL jest językiem deklaratywnym. Charakterystyczną cechą języków deklaratywnych jest to, że opisują „co” ma być zrobione, ale nie „jak”. W praktyce oznacza to, że użytkownik opisuje w języku SQL efekt jaki chce uzyskać, a nie sposób w jaki ma to być zrobione. Sposób wykonania polecenia jest automatycznie dobierany przez SZBD i zależy od fizycznego sposobu składowania danych.
Standardy języka SQL
Każdy z dostępnych na rynku systemów bazodanowych zawiera specyficzne, niedostępne w innych systemach elementy. W różnych systemach mogą być stosowane różne wersje języka SQL. W celu ujednolicenia wersji języka SQL Amerykański Narodowy Instytut Standardów (ang. American National Standards Institute — ANSI) oraz Międzynarodowa Organizacja Normalizacyjna (ang. International Orgnization for Standardization — ISO) opracowują i publikują standardy języka SQL. W roku 1999 został przyjęty standard ANSI SQL99 (SQL3) i obecnie większość producentów systemów bazodanowych tworzy systemy zgodne z tym standardem.
Standard SQL99 nie definiuje wielu rozszerzeń języka SQL, dlatego w roku 2003 został opublikowany czwarty standard języka SQL, który jest rozszerzeniem SQL3. Zawiera on następujące rozszerzenia:
- obsługa nowych typów danych
- rozszerzenia w sposobie wywoływania procedur
- poszerzona instrukcja CREATE TABLE
- funkcje rankingu
- retrospektywne sprawdzanie więzów integralności
Mimo zdefiniowanych standardów systemy zarządzania bazą danych nadal dodają własne rozszerzenia, ponieważ użytkownicy oczekują od tych systemów funkcji nieujętych w standardzie języka. Można jednak przyjąć, że wszystkie typowe operacje są wykonywane tak samo, niezależnie od używanego systemu zarządzania bazą danych.
Dialekty języka SQL
Najbardziej znane dialekty języka SQL to:
- T-SQL (ang. Transact-SQL) — stosowany na serwerach Microsoft SQL Server i Sybase Adaptive Server
- PL/SQL (ang. Procedural Language/SQL) — stosowany na serwerach firmy Oracle
- PL/pgSQL (ang. Procedural Language/PostgreSQL Structured Query Language) — podobna do PL/SQL wersja języka zaimplementowana na serwerze PostgreSQL
- SQL PL (ang. SQL Procedural Language) — wersja używana na serwerach firmy IBM.
Terminatory SQL
W języku SQL mamy do czynienia z dwoma rodzajami terminatorów. Są to terminatory poleceń i terminatory wsadowe. Terminatory poleceń kończą każde polecenie napisane w języku SQL Terminatory wsadowe kończą ciąg poleceń języka SQL. Powodują one przesłanie ciągu poleceń do serwera. Terminatory poleceń najczęściej związane są z dialektami. W niektórych dialektach języka SQL, na przykład Oracle i InterBase, wymagane jest kończenie każdego polecenia średnikiem. Terminatory wsadowe najczęściej związane są ze stosowanymi narzędziami. Na przykład edytor pakietu Sybase wymaga zakończenia ciągu poleceń słowem kluczowym GO, a w edytorze WINSQL średnik na końcu ciągu poleceń jest opcjonalny.