Пројекција¶
Некада нам нису релевантни сви подаци који се налазе у табели. За
почетак, можемо да издвојимо само податке из неких колона. То радимо
тако што након кључне речи SELECT наведемо само називе оних колона
које нас занимају.
У теорији база података операција којом се издвајају само неке колоне из табеле назива се пројекција.
Упамтимо:
Пројекцијом се из резултата упита издвајају изабране колоне.
🤓 Зашто се ова операција зове пројекција?
Назив пројекција потиче из формализма који се назива релациона алгебра и који представља теоријску основу релационих база података, а преузет је по следећој аналогији из геометрије. Сваки ред у табели можемо да замислимо као објекат, који је у потпуности описан подацима наведеним у колонама. Ово је веома слично тачкама у простору које су описане помоћу својих координата.
Ако се у геометрији неке координате тачака изоставе, тиме се врши пројекција на простор мање димензије. На пример, ако тачке имају координате \((x, y, z)\), изостављањем координате \(z\) се врши пројекција из тродимензионог простора у дводимензиону раван.
Због тога се изостављање неких колона из било које табеле такође назива пројекција.
Иако је употреба звездице након SELECT веома једноставна и често
се користи у интерактивном раду са базом и током развоја апликација,
савет је да се у реалним апликацијама у свим упитима увек експлицитно
наведу само потребне колоне (тиме се добија на ефикасности, јер се
чита мање података из базе, а са друге стране добија се скрипт чији
резултат се неће проментити и ако се табела у међувремену прошири
додатним колонама или се редослед колона промени).
Приказати имена и презимена свих ученика.
SELECT ime, prezime
FROM ucenik;
Извршавањем упита добија се следећи резултат:
ime |
prezime |
|---|---|
Петар |
Петровић |
Милица |
Јовановић |
Лидија |
Петровић |
Петар |
Миловановић |
Ана |
Пекић |
… |
… |
Значење овог упита је:
Приказати идентификаторе и називе предмета и разреде у којима се ти предмети предају.
SELECT id, naziv, razred
FROM predmet;
Извршавањем упита добија се следећи резултат:
id |
naziv |
razred |
|---|---|---|
1 |
Математика |
1 |
2 |
Српски језик |
1 |
3 |
Рачунарство и информатика |
1 |
4 |
Математика |
2 |
5 |
Психологија |
2 |
… |
… |
… |