際際滷

際際滷Share a Scribd company logo
SQLite
Natalia Stanko
2010
SQLite to biblioteka napisana w jzyku ANSI C
Biblioteka ta implementuje bezserwerowy i
bezkonfiguracyjny silnik relacyjnego jzyka zapyta
( ).bazodanowych SQL Structured Query Language
Po raz pierwszy ukazaa si 2000 .,w r opublikowana
.przez Richarda Hippa
Kod SQLite a udostpniany jest na licencji public
.domain
Mo甜e by wykorzystywany do projekt坦w prywatnych
.bd添 komenrycjnych
,Praca z SQLite polega na edytowaniu zapisywaniu lub
odcztyw ,aniu jednego zwykego pliku w kt坦rym mieci
.si caa baza W tym jednym pliku znajduje si
: , , , .wszystko tabele widoki indeksy wyzwalacze
SQLite nie korzysta z osobnego serwera i r坦wnolegego
, . ,procesu w tle jak inne systemy bazodanowe Proces
kt坦ry potrzebuje dostpu do bazy po prostu czyta z
.pliku Nie potrzebuje komunikowa si z 甜adnym
.serwerem
Z drugiej strony SQLite pozwala na jednoczesny dostp
( ) .do tych samych danych pliku r坦甜nych proces坦w
, .Coraz wikszy 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
,Mo甜na go znale添 w aplikacjach o du甜ym znaczeniu
:serwisach internetowych i w aplikacjach na desktop
pa , .kiety CAD narzdzia biurowe
:Znana funkcja program坦w ->Plik Otw坦rz wykonywana
-jest przez funkcj biblioteki SQLite 3_ ()sqlite open i
komend begin transaction w celu uzyskania
.wycznego dostpu do zawartoci Odpowiednio Plik
-> Zapisz to komenda commit .
R坦wnie甜 /Cofnij Powt坦rz jest mo甜liwe dziki zapisowi w
.tablicach tymczasowych sqlite
Serwisy internetowe nadaje si do ponad 99% stron
(internetowych przeci甜enie do paru setek tysicy
).odwiedzin dziennie
Dziaa na :wielu platformach , , 32,Linux MacOSX Win
, /2.WinCE OS
32- 64-atwo przenie go z systemu bitowego na
.bitowy kopiujc zwyky plik bazy
Biblioteka 180 250 ,SQLite zajmuje od do KB zale甜nie od
.opcji kompilacji
,Potrzebne zasoby pamici operacyjnej s niewielkie
dlatego SQLite jest czsto wybieranym systemem
, ,bazodanowym przy aplikacjach na telefony palmtopy
3, 4.lub odtwarzacze mp mp
Obsuguje transakcje zgodne ze standardem ACID
( ),atomowe transakcje dziki temu transakcje s
,bezpieczne nawet wtedy gdy zostan przerwane przez
( , , , .).bd programu systemu napicia restart komp
SQLite u甜ywa transakcji domylnie dla ka甜dego
.zapytania w celu zwikszenia niezawodnoci Z powodu
( ,czasochonnooci ka甜dorazowego otwarcia pliku
, )zapisania danych zamknicia pliku zaleca si
1 .grupowanie szeregu zapyta w transakcj
Nie trzeba .nic instalowa ani konfigurowa Wystarczy
umieci w odpowiednim miejscu plik .biblioteki Brak
.plik坦w konfiguracyjnych
.Mo甜liwy import w plik坦w csv
Dostp do bazy mo甜na uzyska za pomoc wielu
( . , , / ++, ,jzyk坦w programowania np Ruby Python C C Tcl
, , ).PHP Java Perl
Bdy w systemie s szybko odnajdywane i szybko
.naprawiane
.Skadnia SQLite w wikszoci to skadnia SQL
:Nowe mechanizmy
Manifest typing mo甜liwo wpisania wartoci
dowolnego typu do dowolnej kolumny z
zadeklarowanym wczeniej dowolnym typem czyli
.brak typowania statycznego Typy danych nie musz
.by zwizane z typem kolumny Wyjtek stanowi tylko
kolumna .int primary key Umo甜liwia to atwiejsze
.komunikowanie si z baz pythona i tcl
Typ kolumny ma znaczenie przy sortowaniu i
.por坦wnywaniu
: , , , , .Typy wartoci NULL INTEGER REAL TEXT BLOB
: , , , , .Typy kolumn TEXT NUMERIC INTEGER REAL NONE
U甜ywanie tylko tej potrzebnej pamici do przechowania
,danych (50)varchar nie musi mie zarezerwowanej
50 .pamici na a甜 znak坦w To spos坦b na zmniejszenie
.objtoci bazy
:Komendy attach ( . 2pozwala na skorzystanie z np
)r坦甜nych baz danych , , , _ .detach replace on conflict
: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
:Budowa
 ,Rdze obsuguje zapytania i dostp 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
:Ograniczenia
Oganiczona domylna dugo acucha 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 zczonych tabel
 62Maksymalna liczba poczonych baz
SQLite nie wspiera polecenia usuwajcego kolumn w
, ,tabeli aby to zrobi trzeba podeprze si transakcj w
kt坦rej utworzymy now tabel i przepiszemy wartoci
.ze starej tabeli do nowej tabeli z now struktur
:Narzdzia do zarzdzania bazami
-SQLite Manager dodatek przegldarki Mozilla Firefox
,SQLite Database Browser graficzne narzdzie
:Otwarcie bazy lub tworzenie nowej
:Tworzenie tabeli
:Wywietlenie schematu bazy
:Dodanie do tabeli rekordu
:Wywietlenie zawartoci tabeli
:Dodanie kolumny do tabeli
,Ustalenie wartoci rekordu dla nowej kolumny poleceniem
:insert lub update
:Zobaczmy now kolumn
:Aktualna zawarto tabeli
Mo甜emy wstawi napis do kolumny zdefiniowanej jako
:integer
:Rezultat
.Nie zdefiniowanie primary key uniemo甜liwia nam np
usunicie rekordu posugujc si prostym id jako primary
:key
, .Powoka informuje nas o bdzie brak kolumny id
. :Musimy usun rekord np w ten spos坦b
, :Sprawd添my czy si udao
, : .Aby wyj z bazy wykonujemy komend quit
, :Narzdzie SQLite Manager to dodatek do Firefoxa
:Wybieramy baz danych
:Nastpnie mo甜emy ju甜 z niej korzysta
Linki i bibliografia
:// . . / _ _ .http souptonuts sourceforge net readme sqlite tutorial html
:// . . / / / / .http www shokhirev com nikolai abc sql sql html
:// . . /http www sqlite org
:// . / / / . .http php net manual en book sqlite php

More Related Content

SQLite 2010

  • 2. SQLite to biblioteka napisana w jzyku ANSI C Biblioteka ta implementuje bezserwerowy i bezkonfiguracyjny silnik relacyjnego jzyka zapyta ( ).bazodanowych SQL Structured Query Language Po raz pierwszy ukazaa si 2000 .,w r opublikowana .przez Richarda Hippa Kod SQLite a udostpniany jest na licencji public .domain Mo甜e by wykorzystywany do projekt坦w prywatnych .bd添 komenrycjnych ,Praca z SQLite polega na edytowaniu zapisywaniu lub odcztyw ,aniu jednego zwykego pliku w kt坦rym mieci .si caa baza W tym jednym pliku znajduje si : , , , .wszystko tabele widoki indeksy wyzwalacze
  • 3. SQLite nie korzysta z osobnego serwera i r坦wnolegego , . ,procesu w tle jak inne systemy bazodanowe Proces kt坦ry potrzebuje dostpu do bazy po prostu czyta z .pliku Nie potrzebuje komunikowa si z 甜adnym .serwerem Z drugiej strony SQLite pozwala na jednoczesny dostp ( ) .do tych samych danych pliku r坦甜nych proces坦w , .Coraz wikszy 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 narzdzia biurowe :Znana funkcja program坦w ->Plik Otw坦rz wykonywana -jest przez funkcj biblioteki SQLite 3_ ()sqlite open i komend begin transaction w celu uzyskania .wycznego dostpu do zawartoci Odpowiednio Plik -> Zapisz to komenda commit . R坦wnie甜 /Cofnij Powt坦rz jest mo甜liwe dziki zapisowi w .tablicach tymczasowych sqlite Serwisy internetowe nadaje si do ponad 99% stron (internetowych przeci甜enie do paru setek tysicy ).odwiedzin dziennie Dziaa na :wielu platformach , , 32,Linux MacOSX Win , /2.WinCE OS 32- 64-atwo przenie go z systemu bitowego na .bitowy kopiujc zwyky plik bazy
  • 5. Biblioteka 180 250 ,SQLite zajmuje od do KB zale甜nie od .opcji kompilacji ,Potrzebne zasoby pamici operacyjnej s niewielkie dlatego SQLite jest czsto wybieranym systemem , ,bazodanowym przy aplikacjach na telefony palmtopy 3, 4.lub odtwarzacze mp mp Obsuguje transakcje zgodne ze standardem ACID ( ),atomowe transakcje dziki temu transakcje s ,bezpieczne nawet wtedy gdy zostan przerwane przez ( , , , .).bd programu systemu napicia restart komp SQLite u甜ywa transakcji domylnie dla ka甜dego .zapytania w celu zwikszenia niezawodnoci Z powodu ( ,czasochonnooci ka甜dorazowego otwarcia pliku , )zapisania danych zamknicia pliku zaleca si 1 .grupowanie szeregu zapyta w transakcj Nie trzeba .nic instalowa ani konfigurowa Wystarczy umieci w odpowiednim miejscu plik .biblioteki Brak .plik坦w konfiguracyjnych
  • 6. .Mo甜liwy import w plik坦w csv Dostp do bazy mo甜na uzyska za pomoc wielu ( . , , / ++, ,jzyk坦w programowania np Ruby Python C C Tcl , , ).PHP Java Perl Bdy w systemie s szybko odnajdywane i szybko .naprawiane .Skadnia SQLite w wikszoci to skadnia SQL :Nowe mechanizmy Manifest typing mo甜liwo wpisania wartoci dowolnego typu do dowolnej kolumny z zadeklarowanym wczeniej dowolnym typem czyli .brak typowania statycznego Typy danych nie musz .by zwizane z typem kolumny Wyjtek 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 wartoci NULL INTEGER REAL TEXT BLOB : , , , , .Typy kolumn TEXT NUMERIC INTEGER REAL NONE U甜ywanie tylko tej potrzebnej pamici do przechowania ,danych (50)varchar nie musi mie zarezerwowanej 50 .pamici na a甜 znak坦w To spos坦b na zmniejszenie .objtoci 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 obsuguje zapytania i dostp 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 domylna dugo acucha 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 zczonych tabel 62Maksymalna liczba poczonych baz SQLite nie wspiera polecenia usuwajcego kolumn w , ,tabeli aby to zrobi trzeba podeprze si transakcj w kt坦rej utworzymy now tabel i przepiszemy wartoci .ze starej tabeli do nowej tabeli z now struktur
  • 11. :Narzdzia do zarzdzania bazami -SQLite Manager dodatek przegldarki Mozilla Firefox ,SQLite Database Browser graficzne narzdzie
  • 12. :Otwarcie bazy lub tworzenie nowej :Tworzenie tabeli :Wywietlenie schematu bazy
  • 13. :Dodanie do tabeli rekordu :Wywietlenie zawartoci tabeli
  • 14. :Dodanie kolumny do tabeli ,Ustalenie wartoci rekordu dla nowej kolumny poleceniem :insert lub update
  • 16. Mo甜emy wstawi napis do kolumny zdefiniowanej jako :integer :Rezultat
  • 17. .Nie zdefiniowanie primary key uniemo甜liwia nam np usunicie rekordu posugujc si prostym id jako primary :key , .Powoka informuje nas o bdzie brak kolumny id
  • 18. . :Musimy usun rekord np w ten spos坦b , :Sprawd添my czy si udao
  • 19. , : .Aby wyj z bazy wykonujemy komend quit , :Narzdzie SQLite Manager to dodatek do Firefoxa
  • 20. :Wybieramy baz danych :Nastpnie mo甜emy ju甜 z niej korzysta
  • 21. Linki i bibliografia :// . . / _ _ .http souptonuts sourceforge net readme sqlite tutorial html :// . . / / / / .http www shokhirev com nikolai abc sql sql html :// . . /http www sqlite org :// . / / / . .http php net manual en book sqlite php