Садржај
1.0 Базе: Увод у базе података
Шта су базе података?
Табеларна организација података
Повезане табеле
Базе и табеле - квиз
1.1 Базе: SQLite
SQLite и SQLite Studio
Креирање базе у SQLite Studio
SQLite и SQLite Studio - квиз
Креирање базе у SQLite Studio - задаци за вежбу
1.2 Базе: Дизајнирање базе података
База компаније за продају дигиталних композиција - подаци о композицијама
База компаније за продају дигиталних композиција - подаци о продаји
Дизајнирање базе података - квиз
2.0 - SQL: Читање података из базе
SQL: Читање података из табела
Читање података - квиз
2.1 SQL: Пројекција и селекција
Пројекција
Селекција
Пројекција и селекција - квиз
Пројекција и селекција - задаци (дневник)
2.2 SQL: Логички и релацијски оператори
Логички оператори
Релацијски оператори
Оператори - квиз
Оператори - задаци (дневник)
2.3 SQL: Изрази и функције - Додатно
Изрази
Функције
Изрази и функције - квиз
Изрази и функције - задаци (дневник)
2.4 SQL: Сортирање, уклањање дупликата, ограничавање броја врста
Сортирање
Ограничавање броја врста у резултату
Уклањање дупликата
Сортирање, уклањање дупликата, ограничавање одговора - квиз
Сортирање и ограничавање - задаци (дневник)
2.5 SQL: Агрегатне функције и груписање
Агрегатне функције
Груписање и израчунавање статистика појединачних група
Селекција након груписања
Агрегатне функције и груписање - квиз
Агрегатне функције и груписање - задаци (дневник)
2.6 SQL: Спајање табела
Спајање табела
Имплицитно спајање
Спајање и груписање
Врсте спајања
Спајање табела - квиз
Спајање - задаци (дневник)
2.7 SQL: Угнежђени упити
Угнежђени упити
Угнежђени упити - квиз
Угнежђени упити - задаци (дневник)
2.8 SQL: Сложенији угњеждени упити - Додатно
Корелисани подупити
Провера постојања
2.9 SQL: Погледи
Погледи
Погледи - квиз
Погледи - задаци (дневник)
3.0 SQL: Промена садржаја базе
Измене података у бази
3.1 SQL: Уписивање података у табеле
Уписивање података
Уписивање података прочитаних из базе
Уписивање података - квиз
3.2 SQL: Ажурирање података у табелама
Ажурирање података
Ажурирање података - квиз
3.3 SQL: Брисање података из табела
Брисање података
Брисање података - квиз

SQLite и SQLite Studio

Као што смо рекли, постоји велики број што бесплатних, што комерцијалних СУБП који се користе у развоју савремених апликација. У наставку ћемо користити СУБП који се назива SQLite, (https://www.sqlite.org/). Ово је бесплатан софтвер, отвореног кода, који је због једноставности коришћења и квалитета имплементације данас у најмасовнијој употреби.

Ко жели да зна више…

Сваки Android и сваки iPhone телефон, сваки Windows 10 или Mac рачунар, сваки Firefox, Chrome или Safari прегледач у својој интерној имплементацији користе SQLite. У јуну 2021. године се процењивало да постоји преко \(10^{12}\) SQLite база података које се активно користе.

Логотип система SQLite

Систем SQLite целу базу података чува у једном фајлу, тј. за сваку базу података коју користимо имамо по један фајл и по називу фајла бирамо базу са којом радимо. Друга карактеристичност система SQLite је да може да буде уграђен у апликацију која га користи, што значи да корисник не мора да посебно инсталира SQLite, па чак не мора ни да зна да апликација користи SQLite.

Начини интеракције са СУБП

Апликативни интерфејс

Сваки сајт за пуштање музике, свака онлајн продавница, електронски дневник, свака апликација на мобилном уређају путем које се плаћају рачуни и тако даље, користи неку базу података. Уколико размислимо о томе, схватићемо да је сваки корисник рачунара и телефона готово свакодневно и корисник неке базе. Начин на који ми, корисници рачунара и телефона, приступамо базама података је тако што користимо неку апликацију која заправо обавља интеракцију са самом базом.

Да би то било могуће, неопходно је да постоји начин интеракције са СУБП који ће се уградити у апликацију која се креира. Када из својих програма приступају базама података, програмери користе апликативни програмски интерфејс, АПИ (енгл. application programming interface). И ми ћемо (у склопу изучавања веб програмирања коришћењем програмског језика Python) показати како се из Python програма приступа SQLite базама података.

Да би наши програми преко АПИ могли да приступају СУБП, обично је потребно да у програм укључимо посебан модул односно програмску библиотеку (како се већ зове, зависно о ком програмском језику говоримо) која имплементира АПИ за приступ бази. Постоје стандардизовани АПИ који омогућавају да апликативни програмер на исти начин иницира конекцију према различитим базама или да покрене извршавање упита, али и даље обично мора да се у апликацију укључи посебан модул који омогућава рад са конкретним СУБП.

Када је у питању програмски језик Python, већ у стандардној инсталацији програмског језика долази модул зa SQLite који се зове sqlite3, и то са уграђеним СУБП за SQLite. То значи да, ако програмирате у програмском језику Python није потребно ништа додатно да инсталирате да бисте користили SQLite. Модул sqlite3 имплементира стандадну спецификацију АПИ-ја за приступ бази која се зове DB-API 2.0, што значи да када научите како у Python-у да користите SQLite, на сличан начин ћете моћи да користите и друге релационе базе.

Кориснички интерфејс

Сваки СУБП подразумева неколико начина интеракције са својим корисницима. Већ смо рекли да СУБП пре свега служи да пружи услугу коришћења база другим програмима, па се СУБП заиста најчешће користе путем апликативног програмског интерфејса. Ипак, АПИ није и једини начин коришћења базе података преко СУБП. Приликом администрације базе података (креирања и подешавања табела, подешавања корисничких налога и права приступа подацима и слично), користе се специјализовани административни интерфејси. Они могу бити било команднолинијски интерфејси, КЛИ (енгл. command line interface, CLI), било графички кориснички интерфејси, ГКИ (engl. graphic user interface, GUI). С обзиром на то да је коришћење ГКИ удобније и једноставније, нарочито за почетнике, у наставку ћемо се бавити искључиво тим начином рада. Сам систем SQLite не пружа ГКИ, међутим, постоји систем који се назива SQLite Studio (https://sqlitestudio.pl/), који је бесплатан и који се може једноставно преузети и користити.

Током израде овог курса, коришћена је тада актуелна верзија система SQLite Studio 3.3.3. Курс можете несметано пратити и коришћењем новијих верзија овог система.

SQLite Studio

Инсталација

Систем SQLite Studio који пружа ГКИ за администрирање SQL база података може се бесплатно преузети са веба и инсталирати на разним оперативним системима. SQLite Studio у себи садржи уграђен СУБП за SQLite, тако да не треба ништа додатно инсталирати да бисте могли да креирате нову или приступите постојећој SQLite бази података.

  1. На следећој адреси је можете преузети инсталациони фајл кликом на Download: https://sqlitestudio.pl

https://petljamediastorage.blob.core.windows.net/root/Media/Default/Kursevi/OnlineNastava/kurs-gim-cetvrti-drustveni-inf/sql_dl.png
  1. Покрените инсталациони фајл након успешног преузимања и кликните на дугме Next.

https://petljamediastorage.blob.core.windows.net/root/Media/Default/Kursevi/OnlineNastava/kurs-gim-cetvrti-drustveni-inf/sql_next.png
  1. Прихватите уговор о лиценци и кликните на Next.

https://petljamediastorage.blob.core.windows.net/root/Media/Default/Kursevi/OnlineNastava/kurs-gim-cetvrti-drustveni-inf/sql_next2.png
  1. На следећем прозору такође клините на Next.

https://petljamediastorage.blob.core.windows.net/root/Media/Default/Kursevi/OnlineNastava/kurs-gim-cetvrti-drustveni-inf/sql_next3.png
  1. Изаберите директоријум где ће SQLite Studio бити инсталиран и кликните на Next. Након тога, опет притисните на Next како бисте покренули инсталацију.

https://petljamediastorage.blob.core.windows.net/root/Media/Default/Kursevi/OnlineNastava/kurs-gim-cetvrti-drustveni-inf/sql_next4.png
  1. Након успешне инсталације, кликните на Finish. Ово ће покренути SQLite Studio уколико је инсталација успешно завршена.

Претходна лекција
Следећа лекција
A- A+
Тема
Темa

Prijavi problem


Obeleži sve kategorije koje odgovaraju problemu

Još detalja - opišite nam problem


Uspešno ste prijavili problem!
Status problema i sve dodatne informacije možete pratiti klikom na link.
Nažalost nismo trenutno u mogućnosti da obradimo vaš zahtev.
Molimo vas da pokušate kasnije.