Базе података 1 — разлика између измена

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу
м (Dodatne informacije)
 
(Није приказано 16 међуизмена 3 корисника)
Ред 1: Ред 1:
{{Предмет
{{Предмет
| назив    = Базе података 1
| назив    = Базе података 1
| шифра    = 13С112БП1, 13Е113БП1
| шифра    = 13С112БП1, 13Е113БП1, 19Е112БП
| семестар  = 3 (СИ), 5 (РТИ)
| семестар  = 3 (СИ), 5 (РТИ), 4 (ОТ)
| статус    = обавезни
| ЕСПБ      = 6 (СИ, РТИ), 4 (ОТ)
| статус    = обавезни (СИ), обавезни (РТИ), изборни (ОТ)
| страница  = [https://rti.etf.bg.ac.rs/rti/bp1/ rti.etf.rs/rti/bp1]
| страница  = [https://rti.etf.bg.ac.rs/rti/bp1/ rti.etf.rs/rti/bp1]
| одсек    = СИ, РТИ
| одсек    = СИ, РТИ, ОТ
| следећи  = Базе података 2
}}
}}
'''Базе података 1''' је обавезан предмет у трећем семестру за СИ, односно петом семестру за РТИ.
'''Базе података 1''' је обавезан предмет у трећем семестру за СИ, петом семестру за РТИ и четвртом на одсеку за телекомуникације. Питајте Французе.


== Корисне везе ==
== Корисне везе ==
* [https://drive.google.com/open?id=1haJaA9fzRFoEn2cmcUc-l-NKenLG_8n5 ETF SI]
* [https://drive.google.com/open?id=1haJaA9fzRFoEn2cmcUc-l-NKenLG_8n5 ETF SI] (старији рокови и лабораторијске вежбе)


== Настава ==
== Настава ==
На предавањима из предмета се обрађују теме које нису релевантне за колоквијуме, испите и лабораторијске вежбе. На вежбама се обрађују следеће теме:
На вежбама се обрађују следеће теме:
* '''Први блок:''' Модел ентитета и односа
* '''Први блок:''' Модел ентитета и односа
* '''Други блок:''' Нормализација
* '''Други блок:''' Нормализација
* '''Трећи блок:''' SQL
* '''Трећи блок:''' SQL
Презентације су доступне са странице предмета.
 
На предавањима се предаје исто градиво у мало другачијем редоследу, с тим што се пролазе и теоријске основе. Додатне ствари са предавања не долазе на обавезама, али корисно је пратити их уколико желите да се касније бавите базама.
 
Презентације и са предавања и са вежби су доступне на страници предмета.


== Лабораторијске вежбе ==
== Лабораторијске вежбе ==
Током семестра организују се две лабораторијске вежбе:
Током семестра организују се две лабораторијске вежбе:
* '''Прва лабораторијска вежба:''' Ради се повезивање на ''SQLite'' базу кроз програмски језик C++ (на СИ) или Јава (на РТИ) и извршавање једноставних упита над њом (обично градиво до угнежђених упита, без угнежђених упита). Постоји могућност да студент СИ ради прву лабораторијску вежбу у Јави (намењено за студенте који знају Јаву) или да студент РТИ ради у C++ (намењено за студенте који још увек нису положили [[ОО2]]), али ову могућност сарадници на предмету обично не помену и потребно је код њих се распитати за ту могућност. Када студент дође на прву лабораторијску вежбу, првих сат ипо демонстратори показују два задатка сличним онима који ће да дођу на тесту, а онда наредних сат ипо студенти раде два задатка из области. Радове са лабораторијске вежбе прегледају демонстратори након што се лабораторијска вежба већ завршила.
* '''Прва лабораторијска вежба:''' Ради се повезивање на ''SQLite'' базу кроз програмски језик ''Python'' (од школске 2023/2024. године). Када студент дође на прву лабораторијску вежбу, првих сат и по демонстратори показују два задатка сличним онима који ће да дођу на тесту, а онда наредних сат и по студенти раде два задатка из области. Радове са лабораторијске вежбе прегледају демонстратори након што се лабораторијска вежба већ завршила.
* '''Друга лабораторијска вежба:''' Раде се напреднији ''SQL'' упити у ''[[#Cactus|Cactus]]''-у (градиво обично до рекурзивних упита, без рекурзивних упита).
* '''Друга лабораторијска вежба:''' Раде се напреднији ''SQL'' упити у ''[[#Cactus|Cactus]]''-у (градиво обично до рекурзивних упита, без рекурзивних упита).
На викију су доступне поставке и решења лабораторијских вежби од претходних година:
На викију су доступне поставке и решења (нека у програмским језицима ''C++'' и ''Java'' који се више не користе на предмету) лабораторијских вежби од претходних година:
{{#dpl:
{{#dpl:
| titleregexp    = Базе_података_1/Лаб
| titleregexp    = Базе_података_1/Лаб
Ред 43: Ред 48:
''Cactus'' је софтвер који се на другој лабораторијској вежби и испиту користи као алат за проверавање тачности упита. У тим приликама студентима биће дат cSQL фајл који у себи садржи тест примере који студенту помажу да провери да ли откуцани упит ради оно што се од њега очекује. Пролазак јавног тест примера, додуше, не значи да је цео упит тачан, јер се тестира и на тајним тест примерима.
''Cactus'' је софтвер који се на другој лабораторијској вежби и испиту користи као алат за проверавање тачности упита. У тим приликама студентима биће дат cSQL фајл који у себи садржи тест примере који студенту помажу да провери да ли откуцани упит ради оно што се од њега очекује. Пролазак јавног тест примера, додуше, не значи да је цео упит тачан, јер се тестира и на тајним тест примерима.


''Cactus'' је писан користећи Java 10 а 2021. године пребачен на Java 11, и генерално не ради са осталим Java верзијама. Готове архиве са спакованим ''Cactus''-ом заједно са Java 10 су доступне за [https://studentetfbgacrs-my.sharepoint.com/:u:/g/personal/sa190595d_student_etf_bg_ac_rs/EYS6i0XcbWZAv_7fhlqIQA0BCqTM1m_Il409uFGTv1Zi4g Windows] и за [https://studentetfbgacrs-my.sharepoint.com/:u:/g/personal/sa190595d_student_etf_bg_ac_rs/EdzDtvWgB2xEn11Ydap3KWwBTk31IBX_MqFHCIT5QCOxmQ Linux,] (након преузимања отпакујте архиву и покрените <code>pokreni.bat</code> или <code>pokreni.sh</code>).
''Cactus'' је писан користећи Java 11, и генерално не ради са старијим Java верзијама. Готове архиве са спакованим ''Cactus''-ом заједно са JRE (верзија из фебруара 2023. године) су доступне за [https://studentetfbgacrs-my.sharepoint.com/:u:/g/personal/sa190595d_student_etf_bg_ac_rs/EbzcLkB1QnNPjRruCEfG3GYBl10MhYSZHr9njD1W1PQ6HQ Windows] и за [https://studentetfbgacrs-my.sharepoint.com/:u:/g/personal/sa190595d_student_etf_bg_ac_rs/Ec1vjcrO9fFCpUTXK64z5W8BhzhC6e6mpKXBleJIOnxiIQ Linux,] (након преузимања распакујте архиву и покрените <code>pokreni.bat</code> или <code>pokreni.sh</code>).


== Начин оцењивања ==
== Начин оцењивања ==
* '''K1''', '''K2''' — Бодови са првог и другог колоквијума максимално 20 за први колоквијум и максимално 10 за други. Могу се поправити у следећем колоквијумском или испитном року.
* <math>K_1</math> — Бодови са првог колоквијума (0-20, могу се поправити у другој колоквијумској недељи)
* '''I''' — Бодови са испита, максимално 50.
* <math>K_2</math> — Бодови са другог колоквијума (0-10, могу се поправити у првом испитном року)
* '''L1''', '''L2''' — Бодови са лабораторијских вежби, прва носи 5 а друга 15 бодова.
* <math>I</math> — Бодови са испита (0-50)
* '''P''' — Коначан број бодова: <math>P = K_1 + K_2 + I + L_1 + L_2</math>.
* <math>L_1</math> — Бодови са прве лабораторијске вежбе (0-5, поправка у прва два рока)
* <math>L_2</math> — Бодови са дриге лабораторијске вежбе (0-15, поправка у прва два рока)
* '''Бодови:''' <math>P = K_1 + K_2 + I + L_1 + L_2</math>.
* '''Услов за полагање:''' <math>I \geq 25</math>.
* '''Услов за полагање:''' <math>I \geq 25</math>.
{| class="wikitable"
{| class="wikitable"
! Бодови
! Бодови
Ред 58: Ред 66:
| 5 || 6 || 7 || 8 || 9 || 10
| 5 || 6 || 7 || 8 || 9 || 10
|}
|}
=== Калкулатор ===
<div class="calculator">
* <math>K_1</math>: <span data-variable="K1" data-max="20"></span>
* <math>K_2</math>: <span data-variable="K2" data-max="10"></span>
* <math>I</math>: <span data-variable="I" data-max="50"></span>
* <math>L_1</math>: <span data-variable="L1" data-max="5"></span>
* <math>L_2</math>: <span data-variable="L2" data-max="15"></span>
* <math>P</math>: <span data-variable="P" data-expression="K1 K2 I L1 L2 + + + +"></span>
* Услов: <span data-variable="U" data-expression="I 24.99 - ceil 0 max 1 min"></span>
* Оцена: <span data-expression="P U * 10 / ceil 5 max 10 min"></span>
</div>


== Потребна помоћ ==
== Потребна помоћ ==
* Поставке других лабораторијских вежби најчешће нису доступне, тако да би студентима значили ти задаци за вежбање за лабораторијску вежбу и испит.
* Поставке других лабораторијских вежби најчешће нису доступне, тако да би студентима значили ти задаци за вежбање за лабораторијску вежбу и испит.
* Лабораторијским вежбама са SQL генерално недостају решења, на пример за [[Базе података 1/Лаб 2 семестрални 2020|Лаб 2 семестрални 2020]].
* Почев од 2023/2024. године променио се програмски језик на лабораторијским вежбама, тако да су на постојећим лабораторијским вежбама неопходна решења у ''Python''

Тренутна верзија на датум 11. новембар 2023. у 20:39

Базе података 1 је обавезан предмет у трећем семестру за СИ, петом семестру за РТИ и четвртом на одсеку за телекомуникације. Питајте Французе.

Корисне везе

  • ETF SI (старији рокови и лабораторијске вежбе)

Настава

На вежбама се обрађују следеће теме:

  • Први блок: Модел ентитета и односа
  • Други блок: Нормализација
  • Трећи блок: SQL

На предавањима се предаје исто градиво у мало другачијем редоследу, с тим што се пролазе и теоријске основе. Додатне ствари са предавања не долазе на обавезама, али корисно је пратити их уколико желите да се касније бавите базама.

Презентације и са предавања и са вежби су доступне на страници предмета.

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

Током семестра организују се две лабораторијске вежбе:

  • Прва лабораторијска вежба: Ради се повезивање на SQLite базу кроз програмски језик Python (од школске 2023/2024. године). Када студент дође на прву лабораторијску вежбу, првих сат и по демонстратори показују два задатка сличним онима који ће да дођу на тесту, а онда наредних сат и по студенти раде два задатка из области. Радове са лабораторијске вежбе прегледају демонстратори након што се лабораторијска вежба већ завршила.
  • Друга лабораторијска вежба: Раде се напреднији SQL упити у Cactus-у (градиво обично до рекурзивних упита, без рекурзивних упита).

На викију су доступне поставке и решења (нека у програмским језицима C++ и Java који се више не користе на предмету) лабораторијских вежби од претходних година:

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

Претходни испитни рокови се могу наћи на страници предмета. Нажалост, нису нарочито погодни за вежбу јер сви имају решења већ означена. Испод можете наћи испитне рокове са странице предмета без означених решења:

Алати

Cactus

Cactus је софтвер који се на другој лабораторијској вежби и испиту користи као алат за проверавање тачности упита. У тим приликама студентима биће дат cSQL фајл који у себи садржи тест примере који студенту помажу да провери да ли откуцани упит ради оно што се од њега очекује. Пролазак јавног тест примера, додуше, не значи да је цео упит тачан, јер се тестира и на тајним тест примерима.

Cactus је писан користећи Java 11, и генерално не ради са старијим Java верзијама. Готове архиве са спакованим Cactus-ом заједно са JRE (верзија из фебруара 2023. године) су доступне за Windows и за Linux, (након преузимања распакујте архиву и покрените pokreni.bat или pokreni.sh).

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

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

Калкулатор

  • :
  • :
  • :
  • :
  • :
  • :
  • Услов:
  • Оцена:

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

  • Поставке других лабораторијских вежби најчешће нису доступне, тако да би студентима значили ти задаци за вежбање за лабораторијску вежбу и испит.
  • Почев од 2023/2024. године променио се програмски језик на лабораторијским вежбама, тако да су на постојећим лабораторијским вежбама неопходна решења у Python