mały|Fragment kodu Visual Xbase++ xBase – rodzina języków programowania o orientacji bazodanowej i dialektów języka wywodzących się z języka dBASE (pierwotnie: Vulcan), rozwijanego na podstawie rozwiązań powstałych w środowisku NASA/JPL ().
W szerszym użyciu terminem xBase (lub xbase) bywa również określany zestaw powiązanych formatów plików (zwłaszcza DBF), historycznie związanych z dBASE, a później przejętych przez inne narzędzia (m.in. GIS).
Dodawane z biegiem czasu nowe polecenia i funkcje spowodowały, że języki xBase stały się językami ogólnego przeznaczenia, zachowując przy tym silną orientację na przetwarzanie danych tabelarycznych oraz (częściową) zgodność na poziomie składni i funkcji z dBASE. Typowym modelem danych w klasycznych implementacjach były tabele przechowywane w plikach DBF (często uzupełniane o pliki memo i indeksów), przy czym „relacje” pomiędzy tabelami realizowano zwykle na poziomie mechanizmów środowiska uruchomieniowego i kodu aplikacji, a nie poprzez serwerowy silnik SQL.
Historia mały|Fragment kodu Visual Xbase++ Geneza rodziny xBase wiąże się z językiem i środowiskiem dBASE, którego pierwotna wersja (Vulcan) została opracowana w 1978 r. przez C. Wayne’a Ratliffa, inspirowanego dokumentacją JPLDIS; w 1980 r. program został objęty umową z Ashton-Tate i wprowadzony na rynek jako dBASE II. W latach 80. i 90. XX w. powstało wiele implementacji i „klonów” zgodnych w różnym stopniu ze składnią dBASE (m.in. linia FoxBASE/FoxPro oraz kompilatory Clipper), co ugruntowało użycie zbiorczego określenia xBase dla tej rodziny dialektów.
Charakterystyka Klasyczne dialekty xBase łączą interaktywny tryb pracy (polecenia wydawane w wierszu poleceń) z możliwością automatyzacji w postaci procedur i skryptów, a także z wbudowanym językiem wyrażeń używanym w operacjach filtracji, wyszukiwania, sortowania i aktualizacji danych. Do charakterystycznych elementów składni i modelu pracy należą m.in.: operacje „record-at-a-time” na aktualnym rekordzie (nawigacja i modyfikacje), obok poleceń wyszukujących i filtrujących (np. rodzina poleceń typu LOCATE i warunki logiczne), silne powiązanie operacji językowych z tabelami DBF oraz ich indeksami/memo, co w praktyce pozwalało budować kompletne aplikacje bazodanowe bez oddzielnego serwera, stopniowe rozszerzanie dialektów o elementy programowania strukturalnego, a w części implementacji również o programowanie obiektowe i integrację z GUI (np. linia Visual FoxPro, xBase++).
Pliki i interoperacyjność Najbardziej rozpoznawalnym elementem „ekosystemu” xBase stał się format DBF – plik tabelaryczny zawierający definicję pól i rekordy danych, często uzupełniany o pliki memo (np. DBT w dBASE lub FPT w FoxPro) oraz pliki indeksów, zależne od dialektu/implementacji.
Format DBF został szeroko zaadaptowany także poza światem dBASE/xBase – m.in. jako tabela atrybutów w formacie shapefile (ESRI), co wpłynęło na praktyczne ograniczenia interoperacyjności (np. limit długości nazw pól do 10 znaków w wielu narzędziach operujących na shapefile/DBF).
DBF bywa także wykorzystywany jako format wymiany danych w narzędziach biurowych: Microsoft Access umożliwia eksport do kilku wersji dBASE/DBF, a LibreOffice udostępnia import i zapis danych w plikach DBF w arkuszu kalkulacyjnym oraz w module bazy danych.
Standaryzacja W latach 90. podejmowano próby formalizacji języka/rodziny xBase w ramach prac standaryzacyjnych (m.in. komitet X3J19 „Xbase”), co odnotowano w publikacjach NIST jako „pending specification”, przy rozpoczęciu prac w październiku 1992 r.. Równolegle praktyka rynkowa utrzymywała wiele dialektów o niepełnej wzajemnej zgodności, co znalazło odzwierciedlenie w literaturze porównawczej opisującej różnice poleceń i funkcji pomiędzy implementacjami.
Zastosowania Języki i środowiska xBase były wykorzystywane przede wszystkim do szybkiego budowania aplikacji ewidencyjnych i biznesowych (zwłaszcza w modelu plikowym, bez serwera), a pośrednio także w obszarach, w których DBF stał się formatem wymiany danych (np. GIS/shapefile).
Główne gałęzie rozwojowe W skład rodziny wchodzą trzy główne gałęzie (o częściowo odmiennych dialektach i bibliotekach uruchomieniowych). dBASE dBASE – produkt komercyjny firmy dBASE Inc. (dBXL/Arago) QuickSilver – produkty wchłonięte przez dBASE Clipper Clipper – produkt komercyjny xBase++ – produkt komercyjny firmy Alaska Software GmbH – produkt komercyjny firmy multisoft GmbH Clip – wolne oprogramowanie firmy ITK – wolne oprogramowanie zgodne z Clipper/xBase – wolne oprogramowanie i wariant komercyjny, kompilator wstecznie zgodny z Clipper FoxPro Visual FoxPro – produkt komercyjny firmy Microsoft (wsparcie zakończone 13 stycznia 2015 r.) Recital – produkt komercyjny firmy Recital Corp. Inne kontynuacje i implementacje wielodialektowe (X#) – implementacja xBase dla platformy .NET obsługująca wiele dialektów (m.in. VO/Vulcan, FoxPro, dBase, Xbase++, Harbour)
Zobacz też DBF
Przypisy
Linki zewnętrzne http://www.clicketyclick.dk/databases/xbase/format/index.html – opis formatu plików DBF i innych plików xBase https://www.loc.gov/preservation/digital/formats/fdd/fdd000325.shtml – opis formatu DBF (Library of Congress) https://harbour.github.io/ – projekt Harbour
Kategoria:Języki xBase Kategoria:Języki programowania