SQLite

SQLite
Logo SQLite
Logo programu
ilustracja
AutorD. Richard Hipp[1]
Pierwsze wydanie2000-05-29 29 maja 2000(dts)[2]
Aktualna wersja stabilna3.36.0
(18 czerwca 2021) [±]
Język programowaniaC[3]
Rodzajsystem zarządzania relacyjną bazą danych
Licencjadomena publiczna[2]
Strona internetowa
SQLite Database
ilustracja
Rozszerzenia pliku.db, .sqlite, .sqlite3
Typ MIMEapplication/vnd.sqlite3[4]
Data opracowania18 czerwca 2004[5]
Typkompaktowa baza danych
Otwarty format?tak (domena publiczna)
Strona internetowa

SQLiteotwartoźródłowy[6] system zarządzania relacyjną bazą danych oraz biblioteka C[3] implementująca taki system, obsługująca SQL[2]. Została stworzona przez Richarda Hippa[1] i jest dostępna na licencji domeny publicznej[2][7]. Projekt został rozpoczęty w roku 2000[2].

Biblioteka implementuje silnik SQL, dając możliwość używania bazy danych bez konieczności uruchamiania osobnego procesu RDBMS. W wielu zastosowaniach, a w szczególności w systemach wbudowanych, takie rozwiązanie jest najpraktyczniejsze.

SQLite posiada również API do innych niż C języków programowania, a mianowicie: ActionScript, Perl, PHP, Ruby, C++, Delphi, Python, Java, Tcl, Visual Basic, platformy .NET i wielu innych; a także interfejs powłokowy. Baza może łączyć się przez ODBC.

Zawartość bazy danych przetrzymywana jest w jednym pliku (do 281 TB[8]). Baza SQLite jest utrzymywana na dysku przy użyciu B-drzew. Osobne drzewo jest używane dla każdej z tabel i każdego z indeksów. Baza udostępnia transakcje ACID oraz implementuje większość standardu SQL 92. Jest często wykorzystywany w większych aplikacjach oraz w systemach obsługi relacyjnych baz danych takich jak Kexi.

Bazy danych zapisywane są jako pliki binarne[9] lub przechowywane w pamięci o dostępie swobodnym[10]. Ich bezpieczeństwo jest oparte na zabezpieczeniach oferowanych przez używany system plików. Istnieje też projekt oferujący szyfrowanie baz danych SQLite na bieżąco o nazwie SQLite Encryption Extension (SEE)[11].

SQLite obsługuje między innymi:

  • zapytania zagnieżdżone,
  • widoki,
  • klucze obce,
  • transakcje,
  • wyzwalacze (częściowo),
  • definiowanie własnych funkcji,
  • przechowywanie baz danych w pamięci RAM komputera, co znacznie przyspiesza działanie.

Niektórych z wymienionych cech brakuje nawet w rozbudowanych serwerach baz danych, na przykład w MySQL w wersjach starszych niż 5.0.2 brakuje transakcji, a wydajność SQLite (przy obsłudze jednego użytkownika) w porównaniu z serwerami baz danych MySQL oraz PostgreSQL jest bardzo wysoka.

Przypisy

  1. a b SQLite Developers (ang.). sqlite.org. [dostęp 2021-01-02].
  2. a b c d e About SQLite (ang.). sqlite.org. [dostęp 2021-01-02].
  3. a b The SQLite Amalgamation (ang.). sqlite.org. [dostęp 2021-02-04].
  4. Typ MIME dla baz danych SQLite w organizacji IANA (ang.). iana.org. [dostęp 2021-09-27].
  5. Database File Format (ang.). sqlite.org. [dostęp 2021-09-27].
  6. SQLite: SQLite Source Repository (ang.). sqlite.org. [dostęp 2021-06-21].
  7. Oficjalne repozytorium silnika SQLite (ang.). sqlite.org. [dostęp 2021-01-02].
  8. Implementation Limits For SQLite (ang.). sqlite.org. [dostęp 2021-01-02].
  9. Database File Format (ang.). sqlite.org. [dostęp 2021-02-04].
  10. In-Memory Databases (ang.). sqlite.org. [dostęp 2021-02-04].
  11. SQLite Encryption Extension: Documentation (ang.). sqlite.org. [dostęp 2021-02-04].

Linki zewnętrzne

Media użyte na tej stronie

SQLite370.svg
SQLite Logo, SVG version
Gestionnaire SQLite 3.7.16.1 fr.PNG
Autor: JackPotte, Licencja: CC BY-SA 3.0
SQLite manager in French