2. SQLite to biblioteka napisana w języku ANSI C
Biblioteka ta implementuje bezserwerowy i
bezkonfiguracyjny silnik relacyjnego języka zapytań
( ).bazodanowych SQL Structured Query Language
Po raz pierwszy ukazała się 2000 .,w r opublikowana
.przez Richarda Hippa
’Kod SQLite a udostępniany jest na licencji public
.domain
Może być wykorzystywany do projektów prywatnych
.bądź komenrycjnych
,Praca z SQLite polega na edytowaniu zapisywaniu lub
odcztyw ,aniu jednego zwykłego pliku w którym mieści
.się cała baza W tym jednym pliku znajduje się
: , , , .wszystko tabele widoki indeksy wyzwalacze
3. SQLite nie korzysta z osobnego serwera i równoległego
, . ,procesu w tle jak inne systemy bazodanowe Proces
który potrzebuje dostępu do bazy po prostu czyta z
.pliku Nie potrzebuje komunikować się z żadnym
.serwerem
Z drugiej strony SQLite pozwala na jednoczesny dostęp
( ) .do tych samych danych pliku różnych procesów
, .Coraz większy konkurent MySQL lekka alternatywa
Szybszy ( -od popularnych baz danych model klient
) .serwer dla najbardziej popularnych operacji
. : , , , !Z SQLite korzystają m in iPhone iPod Symbian Avast
, , , , ,Antivir SunSolaris Mozilla Firefox Google Philips
, .Adobe Apple
4. ,Można go znaleźć w aplikacjach o dużym znaczeniu
:serwisach internetowych i w aplikacjach na desktop
pa , .kiety CAD narzędzia biurowe
:Znana funkcja programów ->Plik Otwórz wykonywana
-jest przez funkcję biblioteki SQLite 3_ ()sqlite open i
komendę begin transaction w celu uzyskania
.wyłącznego dostępu do zawartości Odpowiednio Plik
-> Zapisz to komenda commit .
Również /Cofnij Powtórz jest możliwe dzięki zapisowi w
.tablicach tymczasowych sqlite
–Serwisy internetowe nadaje się do ponad 99% stron
(internetowych przeciążenie do paru setek tysięcy
).odwiedzin dziennie
Działa na :wielu platformach , , 32,Linux MacOSX Win
, /2.WinCE OS
32- 64-Łatwo przenieść go z systemu bitowego na
.bitowy kopiując zwykły plik bazy
5. Biblioteka 180 250 ,SQLite zajmuje od do KB zależnie od
.opcji kompilacji
,Potrzebne zasoby pamięci operacyjnej są niewielkie
dlatego SQLite jest często wybieranym systemem
, ,bazodanowym przy aplikacjach na telefony palmtopy
3, 4.lub odtwarzacze mp mp
Obsługuje transakcje zgodne ze standardem ACID
( ),atomowe transakcje dzięki temu transakcje są
,bezpieczne nawet wtedy gdy zostaną przerwane przez
( , , , .).błąd programu systemu napięcia restart komp
SQLite używa transakcji domyślnie dla każdego
.zapytania w celu zwiększenia niezawodności Z powodu
( ,czasochłonnoości każdorazowego otwarcia pliku
, )zapisania danych zamknięcia pliku zaleca się
1 .grupowanie szeregu zapytań w transakcję
Nie trzeba .nic instalować ani konfigurować Wystarczy
umieścić w odpowiednim miejscu plik .biblioteki Brak
.plików konfiguracyjnych
6. .Możliwy import w plików csv
Dostęp do bazy można uzyskać za pomocą wielu
( . , , / ++, ,języków programowania np Ruby Python C C Tcl
, , ).PHP Java Perl
Błędy w systemie są szybko odnajdywane i szybko
.naprawiane
.Składnia SQLite w większości to składnia SQL
:Nowe mechanizmy
–Manifest typing możliwość wpisania wartości
dowolnego typu do dowolnej kolumny z
–zadeklarowanym wcześniej dowolnym typem czyli
.brak typowania statycznego Typy danych nie muszą
.być związane z typem kolumny Wyjątek stanowi tylko
kolumna .int primary key Umożliwia to łatwiejsze
.komunikowanie się z bazą pythona i tcl
Typ kolumny ma znaczenie przy sortowaniu i
7. .porównywaniu
: , , , , .Typy wartości NULL INTEGER REAL TEXT BLOB
: , , , , .Typy kolumn TEXT NUMERIC INTEGER REAL NONE
Używanie tylko tej potrzebnej pamięci do przechowania
,danych (50)varchar nie musi mieć zarezerwowanej
50 .pamięci na aż znaków To sposób na zmniejszenie
.objętości bazy
:Komendy attach ( . 2pozwala na skorzystanie z np
)różnych baz danych , , , _ .detach replace on conflict
8. :Brak w SQLite cech SQL takich jak
( )Klucz obcy foreign key
:Niektórych cech wyzwalaczy instead of oraz for each
statement ( :zamiast tego for each row)
:Brak operacji atler table ,drop column add constraint
(Brak zagnieżdżonych transakcji możliwe tylko
)pojedyncze
Niemożliwe łączenie full i prawostronne (right outer
,join full outer join), stosuje się jedynie left outer join
( )Utworzone perspektywy są tylko do odczytu view
Nie ma poleceń grant i revoke
9. :Budowa
– ,Rdzeń obsługuje zapytania i dostęp do pliku z bazą
.użytkownik komunikuje się z nim za pomocą interfejsu
Dane w bazie przechowywane są w postaci drzewa
( . - , .).tzw B drzewa dla każdej tabeli itd
–Kompilator przetwarza zapytania SQL na kod
.maszynowy
10. :Ograniczenia
Oganiczona domyślna długość łańcucha znaków do
2
31
-1 bajtów
– 32676Maksymalna liczba kolumn w jednej bazie
(Parametry te można zmienić tylko przy kompilacji
)biblioteki
– 64Maksymalna liczba złączonych tabel
– 62Maksymalna liczba połączonych baz
SQLite nie wspiera polecenia usuwającego kolumnę w
, ,tabeli aby to zrobić trzeba podeprzeć się transakcją w
której utworzymy nową tabelę i przepiszemy wartości
.ze starej tabeli do nowej tabeli z nową strukturą
11. :Narzędzia do zarządzania bazami
-SQLite Manager dodatek przeglądarki Mozilla Firefox
,SQLite Database Browser graficzne narzędzie
12. :Otwarcie bazy lub tworzenie nowej
:Tworzenie tabeli
:Wyświetlenie schematu bazy
17. .Nie zdefiniowanie primary key uniemożliwia nam np
usunięcie rekordu posługując się prostym id jako primary
:key
, .Powłoka informuje nas o błędzie brak kolumny id
18. . :Musimy usunąć rekord np w ten sposób
, :Sprawdźmy czy się udało
19. , : .Aby wyjść z bazy wykonujemy komendę quit
, :Narzędzie SQLite Manager to dodatek do Firefoxa