Укратко о мени
Моје име је Владимир Јелић. Завршио сам гимназију ,,Патријарх Павле“, природни смер. У слободно време волим да возим бицикл и пратим кошарку

Теме из области информационих технологија које су ме највише заинтересовале
Тема која ме највише интересује су оперативни системи, јер они представљају основу рада сваког рачунара и управљају свим ресурсима, од меморије и процесора до покретања програма. Посебно су ми занимљиви јер кроз њих може да се види како софтвер „размишља“ и како се сложени задаци решавају ефикасно и поуздано, чак и када више програма ради истовремено.
Базе података
Садржај
- Увод
- Циљ и структура рада
- Главни део
3.1. Шта је база података и шта ради СУБП
3.2. Нивои апстракције података
3.3. Релациони модел и интегритет
3.4. Упити и SQL
3.5. Пример рада у SQLite Studio
3.6. Дијаграм ентитета и веза
3.7. Дистрибуиране базе и CAP логика
3.8. Нерелационе (NoSQL) базе - Закључак
- Литература и извори
1. Увод
Базе података су основа скоро сваког савременог софтверског система и постојање софтверских система је незамисливо без њих. Базе података су присутне свуда, од школских електронских дневника, веб‑продавница, друштвених мрежа, видео-игара, великих сервиса у облаку, па све до банкарства, здравства, и осталих важних државних органа. У овом раду се прво објашњава појам базе података и карактеристике савремених Система за управљање базама података (СУБП‑ова), затим се даје преглед релационог модела који је један од најдоминантнијих типова база података, а потом и кратак увод у дистрибуиране и нерелационе (NoSQL) системе.
2. Циљ и структура рада
Циљ овог рада је да се на једном месту обједине сви важни аспекти база података тако да буде информативно и разумљиво, као и да се повежу теоријски концепти са практичним примерима.
Рад је структуриран тако да се у уводном делу даје општи преглед теме и њен значај. У главном делу се најпре објашњава шта су базе података и која је улога система за управљање базама података, затим се описују нивои апстракције и релациони модел са посебним освртом на интегритет података и кључеве. Након тога, разматра се рад са упитима и SQL језиком, као и пример практичног рада и моделовања података. У завршним деловима обрађују се дистрибуиране базе података, CAP принцип и основни типови нерелационих база. На крају рада изводи се закључак са освртом на даљи развој ове области.
3. Главни део
3.1. Шта је база података и шта ради СУБП
База података није било какав скуп података, већ заокружен и потпун скуп којим се управља кроз Систем за управљање базама података (СУБП). Улога СУБП-а је да обезбеди да подаци буду поуздани, сигурни и доступни у сваком тренутку. У пракси, то значи да подаци нису само смештени у датотекама, него организован ресурс са правилима приступа, заштитом и контролом промена. Савремени СУБП, поред складиштења, обезбеђује важне механизме као што су декларативно постављање упита (корисник описује шта жели), индекси, удаљени приступ, интегритет, сигурност и управљање трансакцијама.
3.2. Нивои апстракције података
Да би систем био одржив и лак за развој, у базама података се разликују нивои апстракције. На спољашњем нивоу корисник види само део података који му је потребан, на пример ученик види своје оцене, док наставник види податке о целом одељењу. Логички (концептуални) ниво описује структуру података, односно ентитете, атрибуте и односе међу њима. Испод тога налази се физички ниво који дефинише начин на који су подаци интерно организовани унутар СУБП-а, као и ниво физичких уређаја који описује начин складиштења на дисковима. Ова подела омогућава да се у апликацијама мање и ређе дешавају грешке када се мења начин складиштења или инфраструктура.
3.3. Релациони модел и интегритет
У релационим базама података, подаци су у табелама (релацијама), а кључна ствар за исправност је интегритет. Интегритет у базама података подразумева да су подаци исправни и поуздани. Интегритет се постиже применом различитих правила и ограничења, чиме се спречава унос, промена или брисање података који би нарушили логику и релације у бази. Кључеви су механизам који обезбеђује јединственост и смисао веза:
- Кандидат‑кључ је било који скуп атрибута који јединствено идентификује ред у табели.
- Примарни кључ је изабрани кандидат‑кључ који СУБП користи као главни идентификатор реда.
- Страни кључ је атрибут или атрибути чије вредности морају да постоје као примарни кључ у другој (родитељској) табели.
На пример, уколико табела „Оцена“ садржи атрибут ucenik_id, онда тај ucenik_id мора да постоји у табели „Ученик“. Ово је пример интегритета страног кључа и на овај начин се спречава настанак нелогичних података.
Слика 1 — Пример шеме релационе базе података:

3.4. Упити и SQL
Поред структуре, релациони модел обухвата и начин рада над подацима (манипулативни део). Основни механизам за то су упити, који омогућавају добијање нових информација на основу постојећих података.
Теоријску основу чине релациона алгебра и релациони рачун, док се у пракси користи SQL језик. SQL је декларативан језик, што значи да корисник описује шта жели да добије, а не како се тачно то извршава.
3.5. Пример рада у SQLite Studio
SQLite је погодан за учење јер је једноставан за употребу и цела база се чува у једној датотеци (.db). У SQLite Studio-у, база се може направити преко опције Database → Add a database, где се изабере датотека у којој ће база бити сачувана (нпр. dnevnik.db). После тога, табеле се креирају преко Structure → Create a table, при чему се за сваку колону задају назив и тип (нпр. INTEGER, DOUBLE, VARCHAR, DATE/TIME). Такође, колона може да се означи као Primary key односно примарни кључ, а код целобројних кључева често се користи Autoincrement да се идентификатор аутоматски додељује.
Слика 2 — Креирање нове базе у SQLite Studio:

3.6. Дијаграм 1 (Lucidchart ER)
Пре него што се крене у имплементацију табела, пожељно је да се уради моделовање, јер се тако рано виде ентитети, атрибути и везе. На Дијаграму 1 се може видети пример ER модела и помаже да се логички организују подаци пре SQL‑а.
Дијаграм 1 — Пример ER дијаграма:

Дијаграм 1 приказује ентитете (User, Schedules, Schedule History), њихове атрибуте (User name, Password, ID, Status, Time, Update …) и односе између ентитета у једном примеру базе (у овом примеру корисник креира распоред, а распоред има своју историју).
3.7. Дистрибуиране базе и CAP
У већим системима подаци нису увек на једном месту, већ се налазе на више различитих локација и у том случају говоримо о дистрибуираним базама. Дистрибуирана база података је скуп више логички међузависних база распоређених по мрежи, а Дистрибуирани систем за управљање базама података, односно ДСУБП, управља тим системом тако да је дистрибуираност транспарентна за корисника. Транспарентност дистрибуираних база података значи да се комплексна архитектура тог система успешно скрива од корисника и кориснику се чини као централизована и јединствена целина.
Када су подаци раздвојени на различитим локацијама онда може доћи до мрежних раздвајања и кашњења, па је важна CAP (Consistency, Availability, Partition Tolerance) логика. CAP логика каже да у присуству раздвајања (Partition tolerance), систем не може истовремено да гарантује и пуну конзистентност (Consistency) и пуну расположивост (Availability). Због тога се у реалним системима праве компромиси и бирају приоритети.
3.8. Нерелационе (NoSQL) базе: модели и употреба
Nерелационе (NoSQL) базе података су настале за потребе великих и дистрибуираних система.
У односу на класичан релациони приступ, NoSQL базе су брзе, флексибилне и омогућавају једноставније дистрибуирање, али често чувају исте податке више пута и не приморавају систем да строго пази на правила као релационе базе. Зато се у пракси често користи комбиновање релационих и NoSQL база.
4. Закључак
Развој база података иде у правцу да системи буду све више дистрибуирани, лакше скалабилни и прилагођени различитим типовима података. С једне стране, релационе базе и даље остају критичне тамо где су важни интегритет и јасна правила (нпр. финансије, евиденције). С друге стране, NoSQL приступи и модели се даље развијају јер нуде флексибилност и ефикаснију дистрибуцију, нарочито у cloud окружењима и код великих система. У наредном периоду је реално очекивати све више хибридних решења (комбинација више модела у једном систему или кроз више база), где се технологија бира према стварном проблему и захтевима.
5. Литература и извори
PDF материјали (проф. др Саша Малков, Математички факултет, УБ)
- PBP – 01 – 2023 – Uvod.pdf
- PBP – 04_3 – 2023 – Relacioni model – manipulativni deo.pdf
- PBP – 04_4 – 2023 – Relacioni model – integritetni deo.pdf
- PBP – 10 – 2023 – Distribuirane baze podataka.pdf
- PBP – 12_1 – 2023 – Nerelacione baze podataka.pdf
- PBP – 12_2 – 2023 – Nerelacione baze podataka – nastavak.pdf
Петља
- Курс „Базе података за четврти разред гимназије – друштвени и општи смер“: https://petlja.org/sr-Latn-RS/kurs/4655/
- Лекција/страна (SQLite Studio, креирање базе и табела): https://petlja.org/sr-Latn-RS/kurs/4655/2/6377
Линк до слике 1: https://dataedo.com/kb/data-glossary/what-is-database-schema
Линк до слике 2: https://petljamediastorage.blob.core.windows.net/root/Media/Default/Kursevi/OnlineNastava/kurs-gim-cetvrti-drustveni-inf/sqlitestudio_add_database.png