| | 5 | |
| | 6 | == Архитектура на базата на податоци (Детален модуларен преглед) |
| | 7 | |
| | 8 | За да се обезбеди скалабилност, одржливост и јасна сегрегација на податоците, релациониот модел е дизајниран преку строго дефинирани модули (сектори). Секој модул е означен со специфичен префикс во самите табели и управува со точно определен домен од универзитетскиот екосистем. Оваа модуларност овозможува робусна интеграција и минимизирање на редундантноста, создавајќи единствена точка на вистината (Single Source of Truth). |
| | 9 | |
| | 10 | === 1. Општи и основни податоци (Core System) |
| | 11 | Овој сегмент ја претставува основата на системот и намерно не користи специфичен префикс, бидејќи овие табели се референцирани од сите останати модули. |
| | 12 | |
| | 13 | Идентитети и автентикација: Табелата Lice претставува централен, унифициран регистар за сите физички лица во системот (студенти, професори, администрација, надворешни соработници). Ова спречува дуплирање на лица кои се и студенти и вработени (на пр. демонстратори). Табелата Korisnici се надоврзува стриктно на лицето и ги чуваингеренциите за најава и системски пристап. |
| | 14 | |
| | 15 | Географски шифрарници: Стандардизација на локациските податоци се врши преку поврзаните табели Drzavi и Gradovi. |
| | 16 | |
| | 17 | === 2. Организациска структура и Инфраструктура (Префикс: or_) |
| | 18 | Овој модул ја пресликува целосната физичка и логичка хиерархија на образовната институција, овозможувајќи прецизно мапирање на ресурсите. |
| | 19 | |
| | 20 | Хиерархија на институцијата: Табелата or_organizaciona_edinica користи рекурзивна врска (oe_id покажува кон истата табела) за да креира неограничено длабоко дрво на структурата (на пр. Универзитет -> Факултет за Информатика -> Институт за Софтверско Инженерство -> Катедра). |
| | 21 | |
| | 22 | EAV Архитектура за атрибути: За да се избегне постојано менување на шемата при додавање нови специфични карактеристики за различните факултети, се користи Entity-Attribute-Value (EAV) модел преку or_tipovi_organizaciona_edinica_atributi и or_organizaciona_edinica_atributi_vrednosti. Ова овозможува динамично дефинирање на задолжителни полиња со Regex валидација за секој тип на организациска единица посебно. |
| | 23 | |
| | 24 | Просторно мапирање (GIS): Системот вклучува напредно следење на простории преку or_mapa_objekt каде координатите се чуваат во напреден просторен формат geom(4326). Сите згради, амфитеатри и лаборатории се мапираат преку or_mapa_objekt_organizacija, што е круцијално за генерирање на точни просторни распореди без преклопување. |
| | 25 | |
| | 26 | === 3. Човечки ресурси и Кадар (Префикс: vr_) |
| | 27 | Сеопфатен HR потсистем за управување со кадарот, нивните квалификации и комплексниот модел на вработување. |
| | 28 | |
| | 29 | Ангажмани и Договори: Не постои едноставно "вработен". Наместо тоа, централната табела vr_vraboten_angazman го врзува лицето со конкретна организациска единица, работна позиција (vr_rabota_pozicija), тип на ангажман (полно работно време, хонорарно, визитинг) и FTE (Full-time equivalent) норматива. Едно лице може да има повеќе паралелни ангажмани (пр. професор на еден факултет, надворешен соработник на друг). |
| | 30 | |
| | 31 | Управување со Квалификации и Предуслови: Системот строго ги контролира вработувањата преку логички групирања (vr_pozicija_preduslov_grupa со AND/OR оператори) и vr_pozicija_preduslov. Пред некое лице да биде назначено на позиција, системот автоматски проверува дали лицето ги поседува потребните дипломи и степени во vr_lice_kvalifikacija. |
| | 32 | |
| | 33 | Академски звања и функции: Историјата на академските унапредувања (асистент, доцент, вонреден професор) се следи во vr_vraboten_akademsko_zvanje со датум од/до, додека мандатните функции (Декан, Продекан) се евидентираат во vr_vraboten_funkcija. |
| | 34 | |
| | 35 | === 4. Студентски прашања и Академски менаџмент (Префикс: sm_) |
| | 36 | Јадрото на образовниот процес кое обезбедува грануларна контрола врз студиските програми, наставата и студентските досиеја. |
| | 37 | |
| | 38 | Академско Верзионирање (Предмет наспроти Акредитација): Системот прави јасна логичка дистинкција помеѓу апстрактниот поим sm_predmet (пр. "Објектно-ориентирано програмирање") и неговата официјална, законска sm_akreditacija. Акредитацијата содржи специфичен број на кредити, верзија и валидност. Ова спречува конфликти и губење на историја кога еден предмет ја менува својата тежина или содржина низ годините. |
| | 39 | |
| | 40 | Реализација и Паралелки: Во даден sm_akademski_semestar, акредитираниот предмет се инстанцира во sm_kurs_realizacija. Оваа реализација дополнително се дели на логички групи во sm_kurs_realizacija_paralelka (пр. Македонска група 1, Англиска група) кон кои преку sm_paralelka_nastaven_kadar се алоцираат конкретните професори и асистенти врз база на нивниот неделен фонд на часови. |
| | 41 | |
| | 42 | Студентски Упис и Оценување: Студентот се запишува на конкретна верзија од смер (sm_studenti_smerovi). При запишување на семестар (sm_student_semestar_upis), тој пријавува конкретни курсеви (sm_student_upisan_kurs) и автоматски или рачно се распределува во паралелка. Пријавувањето испити се врши во конкретна sm_ispitna_sesija (пр. Јануарска, Септемвриска), а финалните резултати со бодови и скалести оценки се трајно запишани во sm_student_ocena_zapis, поврзани со sm_sistem_ocenuvanje_vrednost за да се утврди дали предметот е положен. |
| | 43 | |
| | 44 | === 5. Финансии, Сметководство и Плати (Префикс: fin_) |
| | 45 | Овој модул е дизајниран како "single source of truth" за сите финансиски текови, директно интегриран со академскиот и HR модулот. |
| | 46 | |
| | 47 | А. Студентски финансии и Наплати |
| | 48 | |
| | 49 | Сите задолженија на студентот (школарина, такси за пријавување испити, казни) автоматски генерираат запис во fin_finansiska_obvrska. Оваа табела ја чува originalna_suma (колку изнесувало задолжението првично) и otvorena_suma (колку преостанува за плаќање во моментот, поддржувајќи плаќање на рати). |
| | 50 | |
| | 51 | Деталите за тоа од што се состои обврската се чуваат во fin_finansiska_obvrska_stavka (каде износот се пресметува како количина * единечна цена). |
| | 52 | |
| | 53 | Кога студентот ќе изврши уплата преку банкарски извод или платежна картичка, се креира запис во fin_naplati. Преку табелата fin_naplata_alokacija, оваа уплата прецизно се алоцира кон една или повеќе отворени финансиски обврски, сразмерно намалувајќи ја нивната отворена сума сè додека не биде целосно подмирена. |
| | 54 | |
| | 55 | Б. Напредна пресметка на Плати (Payroll Subsystem) |
| | 56 | Модулот за плати е изграден да поддржи комплексни сценарија, користејќи повеќеслојна архитектура за максимална прецизност, флексибилност и ревизија: |
| | 57 | |
| | 58 | Основа (The Baseline): Во табелата vr_vraboten_kompensacija се дефинираат фиксните параметри за вработениот (основна бруто/нето плата, валута, основен фонд на часови) кои произлегуваат директно од неговиот тековен договор/ангажман. Ова е "стандардната" плата. |
| | 59 | |
| | 60 | Варијабилни влезови (Dynamic Inputs): Секој месец, пред самата пресметка, во табелата fin_plata_vlez се внесуваат сите променливи елементи за тој месец. Ова вклучува прекувремени часови, денови на боледување (кои носат различен процент на исплата), стимулативни бонуси, задршки или отсуства. Секој влез е категоризиран преку fin_tip_platna_komponenta. |
| | 61 | |
| | 62 | Пресметковен период (The Cycle): Целиот процес се групира во месечен fin_plata_period (пр. "Плата за Ноември 2026"), кој ги заклучува пресметките за дадена организациска единица. |
| | 63 | |
| | 64 | Генерална пресметка (The Paycheck): Откако ќе се изврши пресметката, за секој вработен се генерира еден финален, сумарен запис во fin_plata_stavka_vraboten. Овој ред претставува "исплатното ливче" и ги содржи конечните суми: вкупното бруто (bruto_vkupno), вкупното нето (neto_vkupno), сумираните даноци и сумираните одбитоци. |
| | 65 | |
| | 66 | Детализација на пресметката (The Audit Trail): За да се знае точно како е добиена крајната сума и да се овозможи строга финансиска ревизија, системот креира повеќе редови во fin_plata_komponenta. Оваа табела ја разбива платата на атомарни делови. Секој ред овде претставува една специфична ставка (на пр., еден ред ја објаснува основната плата, втор ред го пресметува додатокот за минат труд, трет ред го пресметува бонусот од plata_vlez, четврт ред го пресметува персоналниот данок). Збирот од сите овие компоненти математички се пресликува во главната fin_plata_stavka_vraboten. |
| | 67 | |
| | 68 | === 6. Управување со документи (Префикс: dok_) |
| | 69 | Модул за автоматизација на бирократијата и дигитална архива, целосно интегриран со останатите текови. |
| | 70 | |
| | 71 | Системот користи dok_dokument_templejti за дефинирање на HTML/URL обрасци за официјални документи како потврди за редовен студент, решенија за плата и договори за дело. |
| | 72 | |
| | 73 | Преку EAV пристапот во dok_dokument_templejt_atributi и dok_generiran_dokument_vrednosti, системот динамично бара и ги пополнува потребните полиња пред да го генерира и зачува финалниот dok_generiran_dokument. |
| | 74 | |
| | 75 | Имплементиран е систем за следење на авторизации преку dok_dokument_potpis, кој трајно бележи точно кој вработен ангажман (и од која функција, пр. Декан) дигитално или физички го авторизирал документот. |
| | 76 | |
| | 77 | === 7. Надворешни Ентитети (Префикс: ent_) |
| | 78 | Овој модул се грижи за B2B (Business-to-Business) релациите на универзитетот. |
| | 79 | |
| | 80 | Табелата ent_entiteti ги регистрира сите надворешни компании, добавувачи на услуги, владини агенции или партнерски институции. |
| | 81 | |
| | 82 | Табелата ent_entiteti_smetki ги мапира нивните трансакциски сметки кон глобалната табела fin_transakciski_smetki, овозможувајќи безбедно извршување на излезни исплати (пр. кон добавувачи) и автоматизирано фактурирање. |