| Оригинални аутор(и) | D. Richard Hipp |
|---|---|
| Прво издање | август 2000. (2000-08) |
| Стабилно издање | |
| Репозиторијум | |
| Написан у | C |
| Оперативни систем | Вишеплатформно |
| Величина | ~699 kB |
| Тип | СУРБП |
| Лиценца | Јавно власништво |
| Веб-сајт | http://www.sqlite.org/ |
SQLite јеACID-компатибилануграђенсистем за управљање базама података садржан у релативно малој (~225 КБ[1])C програмскојбиблиотеци.Изворни код за SQLite је ујавном власништву.
За разлику одклијент-сервер система за управљање базама података, језгро SQLite-а није самосталанпроцес са којим апликација комуницира. Умјесто тога, SQLiteбиблиотека јеувезана и постаје саставни дио апликације. Библиотека може бити динамично позивана. Апликација користи SQLite функционалност кроз простефункционалне позиве, који смањујулатенцију у приступу базама података како су функционални позиви унутар једног процеса ефикаснији одмеђупроцесне комуникације. Комплетна база података (дефинисање, табле, индекси и сами подаци) као један међуплатформнифајл на машини домаћину. Овако прост дизајн је постигнутзакључавањем комплетног фајла базе података на почеткутрансакције.
SQLite је уграђен у све већи број популарних програма. На примјер,Мозила фајерфокс похрањује мноштво конфигурационих података, (букмаркови, кукији, итд.), у интерно управљану SQLite базу података. Као други примјер, Гуглов Андроид оперативни систем за мобилне телефоне и друге мале уређаје садржи SQLite.
SQLite је направио Д. Ричард Хип (енгл.D. Richard Hipp) у прољеће 2000. док је радио заGeneral Dynamics по уговору саМорнарицом САД.[2]Хип је софтвер користио на броду разарачу који је носио вођене пројектиле, који је оригинално био базиран наHP-UX-у саИБМ информикс базом података. План пројектаната је био да се омогући функционисање програма без потребе да се користи база података. У августу 2000-е, издата је 1.0 верзија, базирана наgdbm (ГНУ Управљачу База података). SQLite 2.0 је замијенио gdbm имплементацијом која је користила модификованоБ-стабло и додавала подршку запреношење.
SQLite проводи већинуSQL-92 стандарда заSQL. На примјер, има дјелимичну подршку заокидаче и подржава и најкомплексније претраге, али непримјетно игнорише ограничењареференцијалног интегритета (ограничењестраног кључа)[3]осим у случају да се користи кодна.genfkeyкоманда заsqlite3алат шкољке да се израде окидачи.[4]
SQLite користи неуобичајенутиполологију за SQL-компатибилне СУБП. Умјесто да додијели тип колони, као у већини SQL базираних система, типови су додијељени појединачним вриједностима; у језичком смислу то јединамично типологисано. Још више, то јеседмично типологисано у истом маниру као штоПерл: може се уметнутивеза у колонудјелиоца (иако ће SQLite покушати да прво претвори везу у дјелиоца ако је жељени тип дјелилац). Ово додаје флексибилност колонама, посебно када је увезано са динамично типологисаном скриптном језику. Ова техника није преносива на друге SQL базе података. Немогућност да обезбиједиреференцијални интегритет из статично типологисаних колона, у типичним базама података је највише критикована. SQLite сајтови ово описују као "строга склоност (strict affinity)" начин, али ова особина није још додата.[5]
Некирачунарски процеси илинити могу приступати истим базама података без проблема. Неколико могућности читања могу бити остварене паралелно. Могућност уписа је остварена само уколико тренутно није у току други покушај приступа бази, иначе покушај уписа пропада сапоруком грешке (или аутоматски поново покушава када је подешено тако). Оваква ситуација код истовременог приступа би се промијенила код кориштења привремених табли.
Самосталан програмsqlite3 се користи за формирање базе података, дефинисање табела унутар њих, уметање и промјена редова, покретање упита и управљање фајловима са SQLite базом података. Овај програм је један извршни фајл на локалној машини. Он такође служи као примјерак за писање апликација које користе SQLite библиотеку.
SQLite такође користиспајалице за велики бројпрограмских језика, укључујућиБејсик,C,C++,Clipper,Common Lisp,Јава,C#,Visual Basic,Delphi,Curl,Lua,Tcl,REBOL,R,PHP,Perl,Руби,Objective-C (onMac OS X),Питон,newLisp,Haskell,OCaml,Smalltalk иScheme. Такође постојеCOM (ActiveX) омотачи који омогућавају приступ SQLite-у на Виндоузу преко скриптних језика као што суЈаваскрипт иVBScript. Ово омогућава кориштења база података кодHTML апликација (HTA).[6]