Садржај
1 Релационе базе података
1.0 1 Релационе базе података
1.0 2 Релационе базе података - квиз
1.0 3 Веза један према више
1.0 4 Веза један према више - квиз
1.0 5 Веза више према више
1.0 6 Веза више према више - квиз
1.0 7 Алат за пројектовање
1.0 8 СУБП
1.0 9 Креирање базе на други начин
1.0 10 Још неке SQL команде
1.1 1 Упит SELECT
1.1 2 Упит SELECT - упит из једне табеле - задаци
1.1 3 Упит SELECT - упит из једне табеле - квиз
1.1 4 Упит SELECT - функције и подупити - задаци
1.1 5 Упит SELECT - функције и подупити - квиз
1.1 6 Упит SELECT - спајање - задаци
1.1 7 Упит SELECT - спајање - квиз
1.1 8 Упит SELECT - нерешени задаци
1.2 1 База података за библиотеку - креирање базе
1.2 2 БП Библиотека - Упит SELECT - упит из једне табеле - задаци
1.2 3 БП Библиотека - Упит SELECT - упит из једне табеле - нерешени задаци
1.2 4 БП Библиотека - Упит SELECT - спајање - задаци
1.2 5 БП Библиотека - Упит SELECT - спајање - нерешени задаци
1.2 6 БП Библиотека - Упит SELECT - функције и подупити - задаци
1.2 7 БП Библиотека - Упит SELECT - функције и подупити - нерешени задаци
1.3 1 База података за возачке дозволе - креирање базе
1.3 2 БП Возачке дозволе - Дијаграм и подаци - практичан рад
1.3 3 БП Возачке дозволе - Упит SELECT - задаци
1.3 4 БП Возачке дозволе - Упит SELECT - нерешени задаци
1.4 1 БП Филмови - Креирање базе - практични рад
1.4 2 БП Филмови - Дијаграм и подаци - практични рад
1.4 3 БП Филмови - Упит SELECT - задаци
1.4 4 БП Филмови - Упит SELECT - нерешени задаци
2 Писање програма унутар система за управљање базама података
2.0 1 Процедуре и команда INSERT
2.0 2 Процедуре и команде UPDATE и DELETE
2.0 3 Процедуре и команде INSERT, UPDATE, и DELETE - квиз
2.0 4 Процедуре и тестирање програма
2.0 5 Процедуре и упит SELECT
2.0 6 Процедуре и курсор за упит SELECT
2.1 1 Функције и упит SELECT
2.1 2 Процедуре и функције са упитом SELECT - квиз
2.1 3 Процедуре и функције са упитом SELECT из једне табеле - задаци
2.1 4 Процедуре и функције са упитом и групним функцијама - задаци
2.1 5 Процедуре и функције са упитом SELECT са спајањем табела - задаци
2.1 6 Процедуре и функције са упитом - нерешени задаци
2.1 7 Формат XML
2.2 1 База података за библиотеку - Процедуре, функције и поређење различитих решења
2.2 2 Процедуре, функције и поређење различитих решења
2.2 3 Процедуре и функције са упитом SELECT из једне табеле - вежбање
2.2 4 Процедуре и функције са упитом SELECT са спајањем табела - вежбање
2.2 5 Процедуре и функције са упитом и групним функцијама и подупитима - вежбање
2.2 6 Процедуре и функције са упитом SELECT - нерешени задаци
2.3 1 База података за возачке дозволе - процедуре и функције са упитом SELECT - вежбање
2.3 2 База података за возачке дозволе - процедуре и функције - нерешени задаци
2.4 1 База података за филмове - процедуре и функције са упитом SELECT - вежбање
2.4 2 База података за филмове - процедуре и функције - нерешени задаци
3 Писање програма у програмским језицима вишег нивоа
3.0 1 Писање програма у развојном окружењу Visual Studio
3.0 2 Писање програма у развојном окружењу Visual Studio - практичан рад
3.0 3 Писање програма у развојном окружењу Visual Studio - процедуре
3.0 4 Писање програма у развојном окружењу Visual Studio - квиз
3.1 1 Угнежђени упит SELECT унутар програма
3.1 2 Угнежђени упит SELECT унутар програма - задаци
3.1 3 Позив процедуре унутар програма
3.1 4 Позив креиране функције унутар програма
3.1 5 Програм са угнежђеним командама у развојном окружењу Visual Studio - квиз
3.1 6 Програм са угнежђеним упитом SELECT из једне табеле - вежбање
3.1 7 Програм са угњежђеним упитом и групним фунцкијама - вежбање
3.1 8 Програм са угнежђеним упитом SELECT са спајањем табела - вежбање
3.1 9 Програм са класом
3.1 10 Програм са угнежђеним упитом - нерешени задаци
3.1 11 Програм са угнежђеним командама INSERT, UPDATE, и DELETE
3.2 1 База података за библиотеку - програм са угнежђеним упитом SELECT из једне табеле - задаци
3.2 2 База података за библиотеку - програм са угнежђеним упитом SELECT - вежбање
3.2 3 База података за библиотеку - програм са угнежђеним упитом - нерешени задаци
3.3 1 База података за возачке дозволе - програм са угнежђеним упитом SELECT - вежбање
3.3 2 База података за возачке дозволе - програм са угнежђеним упитом - нерешени задаци
3.4 1 База података за филмове - програм са угнежђеним упитом SELECT - вежбање
3.4 2 База података за филмове - програм са угнежђеним упитом - нерешени задаци
4 Друга софтверска решења - СУБП Oracle
4.0 1 Oracle Apex и језик PL/SQL
4.0 2 Језик PL/SQL - задаци
4.0 3 Језик PL/SQL - квиз
4.0 4 Језик PL/SQL – нерешени задаци
4.0 5 Наредбе гранања
4.0 6 Наредбе гранања - нерешени задаци
4.0 7 Наредбе циклуса
4.0 8 Наредбе циклуса - нерешени задаци
4.1 1 База података за библиотеку - практичан рад
4.1 2 Наредба SELECT INTO
4.1 3 Наредба SELECT INTO - zadaci
4.1 4 Наредба SELECT INTO - квиз
4.1 5 Наредба SELECT INTO - вежбање
4.1 6 Наредба SELECT INTO - нерешени задаци
4.2 1 Курсори - Узимање података из више редова
4.2 2 Курсори - задаци
4.2 3 Различити начини да се реши проблем
4.2 4 Курсори - нерешени задаци
4.2 5 Курсор са параметром
4.2 6 Курсор са параметром - задаци
4.2 7 Курсор са параметром - нерешени задаци
4.2 8 Курсори - квиз
4.2 9 Курсори и гранање - задаци
4.2 10 Курсори - вежбање
4.2 11 Тренутне позајмице члана - пример
4.2 12 Спискови књига - пример
4.3 1 Процедуре и функције у СУБП-у Oracle Apex
4.3 2 Процедуре и функције - задаци
4.3 3 Процедуре и функције - нерешени задаци
4.3 4 Позајмице једне књиге - пример
4.3 5 Тренутне позајмице - пример
4.3 6 Процедуре и друге SQL команде
4.3 7 Тригери
4.3 8 Списак свих објеката у бази података
4.4 1 Креирање апликације помоћу алата App Builder
4.4 2 Додатне опције App Builder алата
4.4 3 Покретање апликације
4.4 4 Креирање нових страница у апликацији
4.4 5 Покретање раније креиране процедуре
4.4 6 Алат App Builder и XML
4.5 1 База података за салон аутомобила у СУБП-у Oracle Apex - 1. део
4.5 2 База података за салон аутомобила у СУБП-у Oracle Apex - 2. део
4.5 3 База података за салон аутомобила у СУБП-у Oracle Apex - 3. део
4.5 4 База података за продавницу - нерешени пројектни рад

Oracle Apex и језик PL/SQL

Многи велики информациони системи у свету користе систем за управљање базама података компаније Oracle. Један од начина да се упознамо са овом технологијом је у онлајн окружењу Oracle APEX.

За потребе учења, а након прихватања услова употребе, може бесплатно да се креира онлајн налог на следећој адреси:

https://apex.oracle.com/en/

Унутар овог СУБП-a можемо да пишемо програме користећи програмски језик PL/SQL. Упознаћемо се прво са основама овог програмског језика да бисмо касније могли да пишемо програме који се повезују на базе података.

Предност онлајн Oracle APEX налога је у томе што не захтева локалну инсталацију и креираном налогу са базама података може да се приступи на исти начин са било ког уређаја који има приступ интернету.

На наведеној адреси је потребно кликнути Start for Free Today, а затим изабрати опцију Free APEX Workspace и испратити све кораке.

Изглед сајта, поједини кораци и називи, као и код других ИКТ алата, могу да се временом промене, али су углавном најважније опције увек присутне и доступне.

Унутар СУБП компаније Oracle може да се програмира у језику PL/SQL. Програмски језик PL/SQL је процедурални језик који је направљен као проширење упитног језика SQL. Иако се користи за писање програма који се повезују на базе података, прво ћемо да се упознамо са неким његовим основим могућностима кроз писање једноставних програма.

Програми се пишу у едитору:

  • SQL Workshop

  • SQL Commands

../_images/slika_61a.jpg

Након што се унесе програмски код, кликне се на дугме Run.

Једноставан програм се састоји од одељка за декларацију променљивих и тела програма који је ограничен речима BEGIN на почетку и END на крају.

Одељак за декларацију почиње са речју DECLARE након чега следе декларације променљивих које ће се користити у програму. Свака променљива се појединачно декларише и декларација подразумева навођење назива променљиве и типа податка. Декларација може да садржи још неке делове, на пример, подразумевану вредност за ту променљиву.

У примеру који следи је употребљен тип података NUMBER. Свуда где се користи овај тип, могао је да се употреби и целобројни тип INT. У одељку за декларацију су наведене три променљиве, од чега имамо два улазна податка и једну променљиву за резултат.

Када се променљива декларише, али јој се не додели нека конкретна вредност, она је null. Било који израз у којем је бар једна променљива null има коначну вредност null.

Наредба доделе у овом програмском језику се означава са двотачка-једнако (:=).

Вредности можемо да унесемо са тастатуре користећи рад са пољем за унос тако што након знака двотачка додамо назив лабеле, тј. текста који ће бити приказан уз поље за унос. У називу лабеле не можемо да користимо размаке, па уколико нам треба неколико речи, савет је да се користи доња црта (_).

Језик PL/SQL није осетљив на велика и мала слова, али нешто пишемо велико, а нешто мало, да би цео програмски код био лакши за читање и прегледнији. Обично резервисане речи пишемо великим словима, а називе променљивих малим.

Програми који се пишу у програмском језику PL/SQL су углавном процедуре и функције које су организоване по пакетима. Да би се порука приказала на екрану, потребно је да позовемо процедуру PUT_LINE из пакета DBMS_OUTPUT. Касније у материјалима ћемо видети и како се пишу процедуре и функције.

Када се програм покрене, у посебном прозору се појаве поља за унос. Да би се овај прозор појавио, важно је да се дозволи опција pop-up у изабраном прегледачу. Резултат се, након што се вредности унесу и кликне на дугме Submit, појављује испод едитора у картици Results.

../_images/slika_61b.jpg

Одељак за декларацију није обавезан. Следи пример једноставног програма који само приказује поруку на екрану, такозвани Hello World програм, чувени први пример приликом упознавања са новим програмским језиком.

../_images/slika_61c.jpg

Као и у другим програмским језицима, постоји могућност да ставимо коментаре. Коментар почиње са две цртице и завршава се на крају реда. Коментар не утиче на извршавање програма.

../_images/slika_61d.jpg
(Created using Swinx, RunestoneComponents and PetljaDoc)
© 2022 Petlja
A- A+