Udostępnij przez


Język zapytań strukturalnych (SQL)

Typowy system DBMS umożliwia użytkownikom przechowywanie, uzyskiwanie dostępu i modyfikowanie danych w zorganizowany, wydajny sposób. Pierwotnie użytkownicy systemu DBMS byli programistami. Uzyskiwanie dostępu do przechowywanych danych wymaganych do pisania programu w języku programowania, takim jak COBOL. Chociaż te programy były często pisane w celu przedstawienia przyjaznego interfejsu użytkownikowi nietechnicznemu, dostęp do samych danych wymagał usług programisty merytorycznego. Swobodny dostęp do danych nie był praktyczny.

Użytkownicy nie byli całkowicie zadowoleni z tej sytuacji. Chociaż mogą uzyskiwać dostęp do danych, często wymagane jest przekonanie programisty DBMS do pisania specjalnego oprogramowania. Jeśli na przykład dział sprzedaży chciał zobaczyć łączną sprzedaż w poprzednim miesiącu przez każdego ze swoich sprzedawców i chciał, aby te informacje zostały sklasyfikowane w kolejności według długości usługi każdego sprzedawcy w firmie, miał dwie opcje: Jeden z programów już istniał, który zezwolił na dostęp do informacji w dokładnie ten sposób, lub dział musiał poprosić programistę o napisanie takiego programu. W wielu przypadkach wymagało to więcej pracy, niż było to warte, i zawsze stanowiło kosztowne rozwiązanie dla jednorazowych lub ad hoc zapytań. W miarę jak coraz więcej użytkowników chciało mieć łatwy dostęp, ten problem stał się większy i większy.

Umożliwienie użytkownikom dostępu do danych na zasadzie ad hoc wymaga podania im języka, w którym należy wyrazić swoje żądania. Pojedyncze żądanie do bazy danych jest definiowane jako zapytanie; taki język jest nazywany językiem zapytań. Wiele języków zapytań zostało opracowanych w tym celu, ale jednym z nich stał się najpopularniejszy: Structured Query Language, opracowany w IBM w 1970 roku. Jest bardziej powszechnie znany jako SQL i wymawiany zarówno jako "ess-cue-ell", jak i jako "sequel". SQL stał się standardem ANSI w 1986 r. i standardem ISO w 1987 r.; jest obecnie używany w wielu systemach zarządzania bazami danych.

Mimo że program SQL rozwiązał potrzeby użytkowników ad hoc, potrzeba dostępu do danych przez programy komputerowe nie odeszła. W rzeczywistości większość dostępu do bazy danych nadal była (i jest) programowa, w postaci regularnie zaplanowanych raportów i analiz statystycznych, programów wprowadzania danych, takich jak te używane do wprowadzania zamówienia i programów manipulowania danymi, takich jak te używane do uzgadniania kont i generowania zamówień pracy.

Te programy używają również języka SQL, korzystając z jednej z następujących trzech technik:

  • Osadzony język SQL, w którym instrukcje SQL są osadzone w języku hosta, takim jak C lub COBOL.

  • Moduły SQL, w których instrukcje SQL są kompilowane w systemie DBMS i wywoływane z języka hosta.

  • Interfejs poziomu wywołań (CLI), który składa się z funkcji wywoływanych w celu przekazania instrukcji SQL do systemu DBMS i pobrania wyników z systemu DBMS.

Uwaga / Notatka

Jest to wypadek historyczny, że termin interfejsu poziomu wywołań jest używany zamiast interfejsu programowania aplikacji (API), inny termin dla tej samej rzeczy. W świecie bazy danych interfejs API służy do opisywania samego języka SQL: SQL to interfejs API dla systemu DBMS.

Spośród tych opcji osadzony język SQL jest najczęściej używany, chociaż większość głównych zestawów DBMS obsługuje zastrzeżone interfejsy CLI.

Ta sekcja zawiera następujące tematy.