САБ — разлика између измена

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу
Ред 25: Ред 25:
**'''Вежбе''': JDBC, повезивање са Microsoft SQL Server у Јави (видеи 8-9). На испиту се пише функција у Јави чији је потпис и опис дат у задатку. Код мора да ради и оцењује се помоћу тајних тестова. За спремање испита се треба повезати са Microsoft SQL Server-ом из Јаве, што је заправо најпроблематичнији део. На самом испиту је све намештено па нема потребе да се намешта на лицу места.
**'''Вежбе''': JDBC, повезивање са Microsoft SQL Server у Јави (видеи 8-9). На испиту се пише функција у Јави чији је потпис и опис дат у задатку. Код мора да ради и оцењује се помоћу тајних тестова. За спремање испита се треба повезати са Microsoft SQL Server-ом из Јаве, што је заправо најпроблематичнији део. На самом испиту је све намештено па нема потребе да се намешта на лицу места.


== Пројекат ==
== Пројекат (20п)==
{{непотпун одељак}}
Пројекат се, као и К3 ради у JDBC. У оквиру поставке пројекта се добије опис система и опис Јава интерфејсâ које треба имплементирати. Пројекат се састоји од три корака - моделовање система, имплементација интерфејсâ и тестирање.
<!-- Овде се наводе све битне информације у вези са домаћим задацима на предмету (уколико постоје), као и потребни материјали. -->
 
<!-- Уколико на предмету постоји пројекат за њега направити нови одељак. -->
'''1. Моделовање система (препоручени алат - Erwin data modeler)'''
<!-- Информације које вреди поменути: окружења за израду, шта се ради на домаћем, водичи за домаћи (уколико су довољно слични из године у годину), где наћи старе домаће, колико бодова носе, када се предају, како изгледа одбрана, да ли је обавезан, корисни материјали -->
У оквиру поставке је дат само опис система, не и како треба да изгледа шема базе податка па су студенти слободни је направе како год желе, она се неће оцењивати као таква, само је битно да пројекат ради. Направљени модел је најбоље директно експортовати у Microsoft SQL Server. Приликом прављења модела треба обратити пажњу на то која се поља чувају у свакој табели (дато у поставци) и како табеле зависе једна од друге.
 
'''2. Имплементација интерфејсâ (препоручени алат - IntelliJ/Eclipse)'''
За сваки битнији ентитет из модела ће бити дат интерфејс са методама које треба да се имплементирају, као и са њиховим повратним вредностима. Већина метода ће бити неке основне ствари, попут додавања и брисања, али у сваком пројекту буду једна или две веће методе, за које је добро користити процедуре у Transact SQL-u. Овде обратити пажњу да се на вежбама каже да execute() метода враћа true ако je извршавање исказа успешно, међутим то није тачно. Враћа се true ако упит враћа ResultSet (SELECT упит), а false ако нема резултат (INSERT, DELETE, UPDATE). Ово може да направи проблеме јер тестови тестирају само излаз метода.
 
'''3. Тестирање (препоручени алат - IntelliJ)'''
Постоје две групе тесттова - јавни и тајни. Јавни су доступни пре одбране, а тајни само на одбрани. Обе групе тестова носе највише по 10п, али могу да се добију и парцијални поени, до у децималу. Неко коме пролази само део јавних тестова може да оде на одбрану, добије 0 на тајним и даље ће имати те поене с јавних тестова. Тестови исписују колико поена се добије из које области, али не исписују које тачно методе падају. Овде је IntelliJ јако користан јер декомпајлира и тајне и јавне тестове. Код из декомпајлираних тестова се може копирати у main и тако се може видети тачно на којој линији, тј. из позива које методе се баца AssertionError и онда та метода поправити. Веће методе, поменуте у делу 2. се по правилу не тестирају у јавним тестовима тако да је могуће добити 10 поена без претераног цимања.
 
'''Одбрана'''
На самој одбрани се седне за компјутер и покрећу тајни и јавни тестови. Модификација не постоји. Студент има око 1:30h до 1:45h да поправи евентуалне грешке на тајним тестовима (или јавним, али то може да се поправи и кући), након чега позива асистента који уписује поене.


== Лабораторијске вежбе ==
== Лабораторијске вежбе ==

Верзија на датум 3. септембар 2024. у 00:10

Софтверски алати база података је изборни предмет у шестом семестру за СИ, и у осмом семестру и за СИ и за РТИ.

Корисне везе

Настава

Предавања и вежбе су одвојени. На предавањима се прича теорија која се тиче имплементација база података и рада с базама. На вежбама се ради са алатима који после долазе на колоквијумима и лабораторијским вежбама. На К1 и К2 се може изаћи само једном - током семестра или у јунском року

  • К1 (15п):
    • Предавања: Трансформација школске у ИЕ нотацију (видеи 1-3). На самом колоквијуму се прави шема базе података на папиру
  • К2 (20п)
    • Вежбе: Microsoft SQL Server, Трансакциони SQL (процедуре, фунције, окидачи) (видеи 4-5). На колоквијуму се на рачунару пише углавном процедура, али може да дође и тригер или функција. Код мора да се преводи и оцењује се помоћу тајних тестова. Јавни тестови не постоје, али дата је база са подацима па могу да тестирају на основу тога
  • К3 (25п):
    • Вежбе: JDBC, повезивање са Microsoft SQL Server у Јави (видеи 8-9). На испиту се пише функција у Јави чији је потпис и опис дат у задатку. Код мора да ради и оцењује се помоћу тајних тестова. За спремање испита се треба повезати са Microsoft SQL Server-ом из Јаве, што је заправо најпроблематичнији део. На самом испиту је све намештено па нема потребе да се намешта на лицу места.

Пројекат (20п)

Пројекат се, као и К3 ради у JDBC. У оквиру поставке пројекта се добије опис система и опис Јава интерфејсâ које треба имплементирати. Пројекат се састоји од три корака - моделовање система, имплементација интерфејсâ и тестирање.

1. Моделовање система (препоручени алат - Erwin data modeler) У оквиру поставке је дат само опис система, не и како треба да изгледа шема базе податка па су студенти слободни је направе како год желе, она се неће оцењивати као таква, само је битно да пројекат ради. Направљени модел је најбоље директно експортовати у Microsoft SQL Server. Приликом прављења модела треба обратити пажњу на то која се поља чувају у свакој табели (дато у поставци) и како табеле зависе једна од друге.

2. Имплементација интерфејсâ (препоручени алат - IntelliJ/Eclipse) За сваки битнији ентитет из модела ће бити дат интерфејс са методама које треба да се имплементирају, као и са њиховим повратним вредностима. Већина метода ће бити неке основне ствари, попут додавања и брисања, али у сваком пројекту буду једна или две веће методе, за које је добро користити процедуре у Transact SQL-u. Овде обратити пажњу да се на вежбама каже да execute() метода враћа true ако je извршавање исказа успешно, међутим то није тачно. Враћа се true ако упит враћа ResultSet (SELECT упит), а false ако нема резултат (INSERT, DELETE, UPDATE). Ово може да направи проблеме јер тестови тестирају само излаз метода.

3. Тестирање (препоручени алат - IntelliJ) Постоје две групе тесттова - јавни и тајни. Јавни су доступни пре одбране, а тајни само на одбрани. Обе групе тестова носе највише по 10п, али могу да се добију и парцијални поени, до у децималу. Неко коме пролази само део јавних тестова може да оде на одбрану, добије 0 на тајним и даље ће имати те поене с јавних тестова. Тестови исписују колико поена се добије из које области, али не исписују које тачно методе падају. Овде је IntelliJ јако користан јер декомпајлира и тајне и јавне тестове. Код из декомпајлираних тестова се може копирати у main и тако се може видети тачно на којој линији, тј. из позива које методе се баца AssertionError и онда та метода поправити. Веће методе, поменуте у делу 2. се по правилу не тестирају у јавним тестовима тако да је могуће добити 10 поена без претераног цимања.

Одбрана На самој одбрани се седне за компјутер и покрећу тајни и јавни тестови. Модификација не постоји. Студент има око 1:30h до 1:45h да поправи евентуалне грешке на тајним тестовима (или јавним, али то може да се поправи и кући), након чега позива асистента који уписује поене.

Лабораторијске вежбе

На предмету постоје три лабораторијске вежбе. На сваку се може изаћи само једном - током семестра или у јулском року

  • Лаб1 (6п) - 6. недеља:
    • Вежбе: Моделовање базе података у Erwin алату, тражење разлика између модела у Erwin алату (видеи 1-3)
  • Лаб2 (6п) - 12. недеља:
    • Вежбе: Microsoft SQL Server корисници, роле, логинови и привилегије. Додела и уклањање привилегија и могућности корисницима помоћу SQL-а и GUI-a (видео 6)
  • Лаб3 (8п) - 14. недеља:
    • Вежбе: Прављење извештаја у Pentaho алату. Ово је програм из 90их за визуелизовање информација из база података и није user-firenly. Коме ови поени не требају, топла препорука је да прескочи лаб (видео 10)

Испитни рокови

Рокови се не објављују званично, али неки од претходних рокова се могу наћи на драјвовима из одељка са корисним везама. Следећи рокови су сакупљени на викију:

Начин оцењивања

  • — Бодови са првог колоквијума (0-15). Могуће је изаћи само једном.
  • — Бодови са другог колоквијума (0-20). Могуће је изаћи само једном.
  • — Бодови са прве лабораторијске вежбе (0-6). Могуће је изаћи само једном.
  • — Бодови са друге лабораторијске вежбе (0-6). Могуће је изаћи само једном.
  • — Бодови са друге лабораторијске вежбе (0-8). Могуће је изаћи само једном.
  • — Бодови са пројекта (0-20). Пројекат се може бранити само једном.
  • — Бодови са испита (0-25).
  • Укупни бодови:
Бодови
Оцена 5 6 7 8 9 10

Потребна помоћ

  • На овом предмету фале поставке рокова. Помозите викију памћењем/преписивањем рокова и постављањем на вики.
  • На овом предмету постоје старији рокови лошег квалитета. Помозите викију преписивањем тих рокова на вики.
    • Јавити се неком од старијих уређивача викија како би добили непреписане рокове.