Садржај
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: Брисање података из табела
Брисање података
Брисање података - квиз

Пројекција

Некада нам нису релевантни сви подаци који се налазе у табели. За почетак, можемо да издвојимо само податке из неких колона. То радимо тако што након кључне речи SELECT наведемо само називе оних колона које нас занимају.

У теорији база података, операција којом се издвајају само неке колоне из табеле назива се пројекција.

Упамтимо:

Пројекцијом се из резултата упита издвајају изабране колоне.

Пројекцијом се из табеле издвајају неке колоне

Иако је употреба звездице након SELECT веома једноставна и често се користи у интерактивном раду са базом и током развоја апликација, савет је да се у реалним апликацијама у свим упитима увек експлицитно наведу само потребне колоне (тиме се добија на ефикасности, јер се чита мање података из базе, а са друге стране добија се скрипт чији резултат се неће променити и ако се табела у међувремену прошири додатним колонама или се редослед колона промени).

Приказати имена и презимена свих ученика.

SELECT ime, prezime
FROM ucenik;

Извршавањем упита добија се следећи резултат:

ime

prezime

Петар

Петровић

Милица

Јовановић

Лидија

Петровић

Петар

Миловановић

Ана

Пекић

Значење овог упита је:

ОДАБЕРИ имена и презимена
ИЗ РЕДОВА табеле ученика

У систему SQLite Studio се упити пишу након што се кликне на креирану базу dnevnik у прозору Databases и потом изабере команда менија Tools Open SQL Editor.

Када се напише упит, кликне се на дугме Execute query (F9) (плави троуглић). Уколико се у простору за писање упита налази више њих, потребно је обележити онај коју желимо да покренемо. Уколико имамо више база података, обавезно проверити да ли је поред овог дугмета назив базе у којој желите да вршите упите.

https://petljamediastorage.blob.core.windows.net/root/Media/Default/Kursevi/OnlineNastava/kurs-gim-cetvrti-drustveni-inf/execute_query.png

Савет је да се у прозору Databases увек прво провере тачни називи табела.

https://petljamediastorage.blob.core.windows.net/root/Media/Default/Kursevi/OnlineNastava/kurs-gim-cetvrti-drustveni-inf/dnevnik.png

Често ће нам код упита бити потребно да знамо и тачне називе колона. То можемо да видимо за сваку табелу појединачно тако што кликнемо на њу у прозору Databases, па се онда појави опис структуре табеле који садржи списак свих колона. Можемо и да напишемо прво најједноставнији упит са звездицом (*) који приказује целу табелу и тако проверимо називе колона. На следећој слици може да се види упит покренут у систему SQLite Studio. Види се само првих неколико редова и информација о томе да има укупно 346 редова у овој табели. У овом случају је приказана комплетна база која је могла да се преузме у некој од претходних лекција.

https://petljamediastorage.blob.core.windows.net/root/Media/Default/Kursevi/OnlineNastava/kurs-gim-cetvrti-drustveni-inf/ucenik.png

Списак колона можемо да видимо и када извршимо основни SELECT упит.

https://petljamediastorage.blob.core.windows.net/root/Media/Default/Kursevi/OnlineNastava/kurs-gim-cetvrti-drustveni-inf/select.png

Приказати идентификаторе и називе предмета и разреде у којима се ти предмети предају.

SELECT id, naziv, razred
FROM predmet;

Извршавањем упита добија се следећи резултат:

id

naziv

razred

1

Математика

1

2

Српски језик

1

3

Рачунарство и информатика

1

4

Математика

2

5

Психологија

2

Вежба

Пробај сада самостално да напишеш наредни упит.

Приказати само називе свих предмета.



Зашто се ова операција зове „пројекција“?

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

Појам пројекција долази из геометрије

Ако се у геометрији неке координате тачака изоставе, тиме се врши пројекција на простор мање димензије. На пример, ако тачке имају координате \((x, y, z)\), изостављањем координате \(z\) врши се пројекција из тродимензионог простора у дводимензиону раван.

Због тога се изостављање неких колона из било које табеле такође назива пројекција.

Претходна лекција
Следећа лекција
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.