= ПЕР дијаграм = [[Image(ERDCompressed_v5.drawio.png​, height=1000px, width=1400px)]] == Податочни побарувања == == Ентитети == 1. **Корисник** наткласа која што ги опишува типовите на корисници во системот (без админ)\\ * Ид - SERIAL (примарен клуч) \\ * е-пошта - VARCHAR(30) (задолжителен атрибут) \\ * лозинка - VARCHAR(30) (задолжителен атрибут) \\ * име - VARCHAR(30) (задолжителен атрибут) \\ * презиме - VARCHAR(30) (задолжителен атрибут) \\ * пол - VARCHAR(10) (задолжителен атрибут) * адреса - VARCHAR(30) (задолжителен атрибут) 2. **Наставник** наткласа која ги опишува типовите на наставници. \\ 3. **Класен раководите** поткласа за одделенски наставник. \\ 4. **Предметен наставник** \\ 5. **Благајник** корисник кој може да постира барање за плаќање од страна на родителите. \\ 6. **Ученик** ентитет кој ги претставува сите ученици. \\ 7. **Родител** корисник кој може да се најави на системот, да ги погледне сите оценки на своето дете и да изврши плаќање. \\ 8. **Админ** наткласа за административните корисници во системот. \\ * Ид - SERIAL (примарен клуч) \\ * е-пошта - VARCHAR(30) (задолжителен атрибут) \\ * лозинка - VARCHAR(30) (задолжителен атрибут) \\ * име - VARCHAR(30) (задолжителен атрибут) \\ * презиме - VARCHAR(30) (задолжителен атрибут) \\ 9. **Супер админ** овој тип на администратор претставува админ кој може да ги креира администраторите на сите образовни институции 10. **Директор - админ** претставува тип на администратор кој го води системот само за една образовна институција. Може да креира корисници од тип родител, благајник, ученик и класен раководител. \\ 11. **Клас** ентитет кој ги претставува сите класови во едно училиште. \\ * Ид - SERIAL (примарен клуч) \\ * одделение - INTEGER (задолжителен атрибут) \\ * паралелка - CHAR(1) (задолжителен атрибут) \\ * годинаНаСлушање - VARCHAR(10)(задолжителен атрибут) \\ 12. **Оценка** наткласа ентитет за сите оценки на еден ученик \\ * Ид - SERIAL (примарен клуч) \\ * оценка - INTEGER,(задолжителен атрибут), оцената може да биде 1-5 или поени \\ * датум - DATE, (задолжителен атрибут), според датумот може да се определи типот на полугодие \\ * забелешка - VARCHAR(50), (задолжителен атрибут) \\ 13. **Соопштение** ентитет кој што го претставува соопштението креирано од страна на класниот раководител \\ * Ид - SERIAL (примарен клуч) \\ * наслов - VARCHAR(20), (задолжителен атрибут) \\ * креираноНа - DATE, (задолжителен атрибут)\\ * содржина - VARCHAR(100), (задолжителен атрибут) \\ 14. **Предмет** ентитет кој што ги претставуваат предметите кој што ги слуша ученикот \\ * име - VARCHAR(20) (примарен клуч) \\ * фондЧасови - INTEGER \\ 15. **Неделен план ** ентитет кој го претставува планот/активностите во една седмица кој се случиле \\ * Ид - SERIAL (примарен клуч) \\ * датумОд DATE, (задолжителен атрибут) \\ * датумДо DATE, (задолжителен атрибут) \\ 16. **Активност за Неделен план** ентитет за активностите кој што се случиле во неделата \\ * Ид - SERIAL (примарен клуч) \\ * наслов - VARCHAR(20), (задолжителен атрибут) \\ * опис - VARCHAR(50), (задолжителен атрибут) \\ * денВоНедела - VARCHAR(10), (задолжителен атрибут) \\ 17. **Распоред** \\ * Ид - SERIAL (примарен клуч) \\ * наслов - VARCHAR(20), (задолжителен атрибут) \\ * тип - VARCHAR(10), (задолжителен атрибут), типот на распоредот може да биде финален и привремен \\ 18. **Час** \\ * Ид - SERIAL (примарен клуч) \\ * реденЧас INTEGER, (задолжителен атрибут) \\ * денВоНедела - VARCHAR(10), (задолжителен атрибут) 19. **Соопштение за плаќање** ентитет кој претставува соопштение за плаќање креирано од благајникот \\ * Ид - SERIAL (примарен клуч) \\ * наслов - VARCHAR(20), (задолжителен атрибут) \\ * содржина - VARCHAR(100), (задолжителен атрибут) \\ * рокНаПлаќање - DATE, (задолжителен атрибут) \\ 20. **Плаќање** ентитет кој го претставува настанот за плаќање од страна на родителот \\ * Ид - SERIAL (примарен клуч) \\ * статус - VARCHAR(10), (задолжителен атрибут), статус на плаќањето може да биде КРЕИРАНО, ОДОБРЕНО, ПЛАТЕНО, ЗАВРШЕНО \\ * tx_hash - VARCHAR(50),(задолжителен атрибут), трансакциски hash од blockchain explorer кој го потврдува извршеното плаќање \\ * износ - DECIMAL(38,18), (задолжителен атрибут), имаме 18 децимали после точка, а вкупно имаме 38 цифри \\ * валута - VARCHAR(10), (задолжителен атрибут) \\ * платеноНа - DATE (задолжителен атрибут) \\ 21. **Присуство** ентитет за евидентирање на присуство на ученици * Ид - SERIAL (примарен клуч) \\ * датум - Date, (задолжителен атрибут) \\ * статус - VARCHAR(10), (задолжителен атрибут), статусот на ученикот може да биде: присутен, отсутен, задоцнет \\ * забелешка - VARCHAR(50), (опционален атрибут) \\ 22. **Усна оценка** ентитет за усна оценка/активност * тема - VARCHAR(20), (задолжителен атрибут) \\ * освоени_поени DECIMAL(3,2), (задолжителен атрибут), имаме 2 децимали после точка, а вкупно имаме 3 цифри, пр. 2.05 поени \\ * max_поени INTEGER, (задолжителен атрибут), вкупен број на поени за усно испрашување \\ * вид_испршување, VARCHAR(10), (задолжителен атрибут), видот на усното испрашување може да биде презентација на проект, усно испрашување на табла \\ 23. **Писмена оценка** ентитет за писмена оценка/активност \\ * тема - VAARCHAR(20), (задолжителен атрибут) * освоени_поени DECIMAL(3,2), (задолжителен атрибут), имаме 2 децимали после точка, а вкупно имаме 3 цифри, пр. 2.05 поени \\ * max_поени INTEGER, (задолжителен атрибут), вкупен број на поени за усно испрашување \\ * вид_испршување, VARCHAR(10), (задолжителен атрибут), видот на усното испрашување може да биде писмена работа, тест, раскажување на лектира \\ 24. **Крајна оценка** * тип - VARCHAR(10), (задолжителен атрибут), типот може да биде крајна усна оценка, крајна писмена оценка, полугодишна оценка, годишна оценка \\ == Релации == 1. **Креира** (Директор_Админ ↔ Корисник) 1:М \\ Директор Админ може да креира повеќе корисници, како што се благајник, ученик, класен раководител, родител \\ 2. **Изготвува** (Директор_Админ ↔ Распоред) 1:M \\ Релација која го претставува процесот на креирање распоред од страна на директорот - админ. 3. **Плаќа** (Родител ↔ Плаќање) 1:M \\ Родителот може да плати плаќање кое што ќе го објави благајникот. 4. **Евидентира** (Наставник ↔ Присуство) 1:M \\ Наставниците може да го евидентираат присуството на учениците. 5. **Дефинира** (Супер Админ - МОН ↔ Директор Админ) 1:М \\ Мон админ може да креира повеќе директор - админи за повеќе училишта. 6. **Одобрува** (Директор Админ ↔ Соопштение за плаќање) 1:M \\ Секое соопштение за плаќање мора да биде одобрено од страна на директор админ. 7. **Старателство** (Родител ↔ Ученик) 1:M \\ Релација за дефинирање на старателството врз ученици. 8. **имаПрисуство** (Ученик ↔ Присуство) 1:N \\ Релација за претставување на присуството на учениците по некој предмет. 9. **Добива** Секој ученик поседува оцена по предмет. 10. **Слуша** (Клас ↔ Предмет) M:N \\ Класот слуша повеќе предмети. 11. **Зависи** (Оцена ↔ АктивностЗаНеделенПлан) M:1 \\ Ученикот може да се оценува за некоја активност која што се случува во неделен план. 12. **сеОднесуваНа** (Присуство ↔ Час) M:1 \\ Присуството се однесува на одреден час кој се случува. 13. **Внесува** (Наставник ↔ Оцена) 1:M \\ Еден наставник може да внесува повеќе оценки на учениците. 14. **Предава** (Наставник ↔ Предмет) M:N \\ Релација за информации кој наставник, кој предмет го предава. 15. **Опфаќа** (НеделенПлан ↔ АктивностЗаНеделенПлан) M:N \\ Еден неделен план може да има повеќе активности за неделен план. 16. **сеПредаваНа** (Предмет ↔ Час) M:N \\ Предметот може да се предава на повеќе часови. 17. **Содржи** (Распоред ↔ Час) M:N \\ Релација која опишува распоред кој може да содржи повеќе часови. 18. **Вклучува** (Соопштение за плаќање ↔ Плаќање) 1:1 \\ Во едно соопштение за плаќање кое што е објавено од страна на благајник, може да содржи само едно плаќање кое може да биде платено од повеќе родители. 19. **Создава** (Благајник ↔ Соопштение за плаќање) 1:M \\ Соопштенијата за плаќање ги креира благајникот, и може да креира повеќе. 20. **Запишува** (Класен раководител ↔ Активност за неделен план) M:N \\ Класните раководители на класовите, може да запишуваат т.е. да креираат повеќе активности. 21. **Учи** (Ученик ↔ Клас) M:1 \\ Релација која ги претставува учениците кои учат во еден клас. 22. **Раководи** (Класен раководител ↔ Клас) 1:1 \\ Класните раководители можат да раководат само со еден клас. 23. **Користи** (Клас ↔ Распоред ) 1:1 \\ Еден креиран распоред за еден клас, може да го користи само тој клас. 24. **Следи** (Клас ↔ Неделен план) 1:M \\ Еден клас може да следи повеќе неделни планови кои што се креираат за секоја недела. 25. **Постира** (Класен раководител ↔ Соопштение) 1:M \\ Еден класен раководител може да постира повеќе соопштенија за својот клас. 26. **Прима** (Клас ↔ Соопштение) 1:M \\ Еден клас може да прима повеќе соопштенија креирани од страна на класен раководител за тој клас. 27. **еЗа** (Предмет ↔ Оцена) 1:N \\ По еден предмет може да имаме повеќе оценки.