Информациони системи 2
Информациони системи 2 је изборни предмет у седмом семестру, као наставак Информационих система 1.
Корисне везе
- Овом одељку фале информације. Помозите SI Wiki тако што ћете додати потребне информације.
Настава
Области се на следећи начин обрађују по блоковима (Напомена: сваки колоквијум на предмету се ради у вежбанци):
- К1 (15п):
- Предавања (видеи 2-5): BPMN дијаграми процеса. На колоквијуму се добија један задатак где се тражи цртање дијаграма процеса на основу описа пословног процеса и други задатак где се тражи анализа пословног процеса и модификација тог процеса.
- К2 (15п):
- Предавања (видеи 7-9): BPMN дијаграми кореографије, BPMN дијаграми конверзације, Сервиси. Ко не жели да улази у детаље довољно је првих 20ак минута П7 и последњих 30 минута П9 (где се раде задаци). На колоквијуму се добија један задатак где треба да се црта дијаграм кореографије или конверзације и други задатак где се дефинишу АПИ-јеви сервиса и црта дијаграм секвенце који приказује како се ти АПИ-јеви користе.
- К3 (30п):
- Предавања (видеи 10-12): Складишта података. На испиту долази један задатак где треба пројектовати складиште на основу дате шеме и описа података које су од интереса за складиште и други задатак где треба додати нова поља у табеле, описати потребне тригере и извршити пуњење складишта у псеудо-SQL који се ради на предавањима.
Лабораторијске вежбе
Од школске 2025/2026 године, лабови више не постоје на овом предмету. Области које се раде на лабораторијским вежбама:
- Лаб1 (12п)
- Вежбе (1-2) BPMN. Прави се дијаграм описаног процеса, али за разлику од К1, где се ради на папиру, овде се ради у алату Adonis.
- Лаб2 (8п)
- Вежбе (7-8.1) Складишта података. Углавном буде само писање упита мада може да дође и прављење шеме.
Пројекат(20п)
Вежбе (8.2-9) су релевантне искључиво за пројекат, али да би се успешно урадио потребно је и знање за К3 и лаб2.
Ради се у алатима MySql Workbench, Spoon и Schema-Workbench. У пројекту је дата шема операционе база података и треба испројектовати и имплементирати складиште података на основу поставке задатка. Пројекат се може поделити у 4 фазе: прављење операционе базе, пројектовање складишта, прављење пуњења и писање MDX упита.
Напомене за SQL скрипте:
- Пошто се током пројекта користе две схеме - једна за операциону базу, а друга за складиште, топла препорука је да се у скриптама користи квалификовани назив табела да би се избегла потреба да се константно мења default schema у Workbenchu. Дакле табелу Lekar у схеми ordinacija_operativna ћемо увек референцирати са ordinacija_operativna.Lekar, а не само Lekar.
- Такође, у скриптама за креирање табела додати на почетку DROP TABLE IF EXISTS за сваку од табела да би се олакшало тестирање јер ће вероватно бити потребно да више пута празнимо и поново пунимо складиште током тестирања пуњења.
Напомена за Spoon на одбрани
- Из неког разлога функција YEAR() не ради на факултетском Spoonu, али је могуће користити SUBSTR(Datum, 1, 4) да се добије година из датума, па је океј то одмах ставити у трансформације.
1. Прављење операционе базе података (MySql Workbench): На основу дате шеме треба написати SQL скрипту која прави табеле операционе базе података. Затим треба написати још једну скрипту која попуњава операциону базу довољним бројем података (бар 10 редова у свакој табели). Такође је потребно написати скрипту која додаје податке у базу, да би се тестирало и инкрементално пуњење. Ова скрипта може да додаје по ред-два у сваку од табела.
2. Пројектовање складишта (MySql Workbench): На основу описаних табела факата треба испројектовати складиште података. За складиште је потребно написати SQL скрипту која ће да креира релевантне табеле. Обратити пажњу да је за инкрементално пуњење потребно чувати датум последњег пуњења. Ово је најлакше постићи тако што ће складиште имати табелу која има један ред где чува поменути датум, који ће се при сваком пуњењу ажурирати. Да би могле да се користе исте Spoon трансформације и за тотално и за инкрементално пуњење, добро је овој табели дати иницијалну вредност '1000-01-01 00:00:00' (најранији могући датум)
3. Прављење пуњења (Spoon): Потребно је направити два Spoon посла - тотално пуњење и инкрементално пуњење. Тотално пуњење се покреће да би се сви релевантни подаци из операционе базе пренели у табеле складишта. Инкрементално пуњење служи да допреми само оне редове који су уписани после последњег пуњења и односи се само на оне податке који су везани за неки датум (на пример табела Mesto ће се попунити једном током тоталног пуњења јер се сматра да се не додају константно нова места).
На вежбама 8.2 и 9 су показане ствари попут dblink и merge joini, али то није заправо потребно. Довољно је користити Table input, која има конекцију на оперативну базу, и Table output, која има конекцију на складиште, и повезати их. Ако у упиту који се врши у Table input желимо да приступимо табели из складишта, довољно је да ту табелу позовемо квалификованим именом (нпр. ordinacija_skladise.Poslednje_Punjenje). Сви упити у трансформацији се врше истовремено, тако да ако постоји нека зависност, треба одвојити у различите трансофмације и касније повезати у послу, где се трансформације врше секвенцијално (нпр. прво пребацујемо Mesto, па онда Korisnik).
4. Писање MDX упита (Schema-Workbench): Треба се повезати на складиште и направити шему у Schema-Workbench. Како се то ради је објашњено на вежбама 8.1. Након што се шема направи потребно је написати неколико простих упита који су задати у домаћем. Предаје се и xml фајл шеме и сами упити.
Одбрана: На одбрани нема модификација. Прво се покреће скрипта за прављење операционе шеме, затим скрипта за попуњавање исте, затим тотално пуњење, затим скрипта за додавање података у операциону шему и на крају инкрементално пуњење. Након оба пуњења се ради неки прост SQL упит над складиштем да би асистент видео да пуњења раде. После овога могу да траже да им се покажу и MDX упити и шема, али и не морају.
- Одбрана 2025/2026: На одбрани ове године дошле су 2 модификације (једна за групу А и једна за групу Б). Модификација за групу А је била да се дода један MDX упит који приказује број оцена за сваку категорију, за свако место продавца (Веома слично 4. упиту који је долазио уз текст задатка: Приказати просечну оцену за сваку категорију, за свако место продавца). Довољно је било да се дода само један нови Measure како би се дошло до решења.
Испитни рокови
Испитни рокови се не објављују на страници предмета, али се у одељку за препис рокова могу наћи неки рокови од претходних година.
Колоквијум 1
Колоквијум 2
Испит
Начин оцењивања
Слично као на ИС1, осим што су бодови са лабораторијских вежби замењени.
- — Бодови са колоквијума (0-15). На сваки колоквијум је могуће изаћи само једном. Надокнада колоквијума могућа је у термину јануарског испита.
- — Бодови са прве лабораторијске вежбе (0-12). Могуће је изаћи само једном. Надокнада могућа у фебруарском испитном року.
- — Бодови са друге лабораторијске вежбе (0-8). Могуће је изаћи само једном. Надокнада могућа у фебруарском испитном року.
- — Бодови са пројекта (0-20). Пројекат се може бранити само једном. Надокнада могућа у фебруарском испитном року.
- — Бодови са испита (0-30).
- Укупни бодови:
| Бодови | ||||||
|---|---|---|---|---|---|---|
| Оцена | 5 | 6 | 7 | 8 | 9 | 10 |
Рачунање
- :
- :
- :
- :
- :
- :
- :
- Оцена:
Потребна помоћ
- На овом предмету фале поставке рокова. Помозите викију памћењем/преписивањем рокова и постављањем на вики.
- На овом предмету постоје старији рокови лошег квалитета. Помозите викију преписивањем тих рокова на вики.