wiki:DatabaseCreation

Version 4 (modified by 231067, 6 days ago) ( diff )

--

Database Creation

Во оваа фаза се прикажани DDL скриптата за креирање на базата, python скриптата за креирање на податоци за полнење на базата и погледите за приказ на често потребни податоци.

DDL скрипта за креирање на табелите

Оваа DDL скрипта претставува дизајн на релациона база на податоци за систем за поврзување на студенти и ментори. Базата е архитектурно структурирана да поддржи комплетен работен тек во една високообразовна институција, од првичниот избор на ментор, до целосна реализација на менторството.

Дизајнот обезбедува висок степен на нормализација, а табелите се поделени во неколку клучни модули:

  • Системот започнува со основа за образовните институции преку табелите University, Faculty, StudyProgram и Subject. Централната табела User ги чува профилите на сите корисници (студенти, професори), додека преку Role, Permission и нивните поврзувачки табели се регулираат привилегиите за пристап.
  • Табелата TopicSuggestion овозможува предлагање и следење на статусот на слободни теми. Откако темата ќе се резервира, се креира запис во Mentorship кој ги спојува студентот, менторот и темата. Динамиката на работа и напредокот на студентот се водат преку табелата Task, каде строго се следат роковите и статусот на секоја задача.
  • За да се олесни соработката, базата содржи вграден модул за директно допишување. Табелите Chat и Message ја чуваат историјата на комуникација меѓу менторот и студентот. Паралелно, табелата Notification е дизајнирана навремено да ги известува корисниците за нови пораки, статуси на задачи или промени во менторството.
  • За полесно пронаоѓање на идеален ментор, базата ги мапира интересите на корисниците преку Interest и User_Interest, и дополнително, преку табелата CommentOpinion, се овозможува оставање на повратни информации и оцена за менторите.
  • Скриптата користи строги FOREIGN KEY ограничувања со цел да се спречат аномалии. На пример, не е возможно да се избрише корисник кој има активно менторство, ниту да се додели тема која веќе е означена како зафатена.

Python скрипта за пополнување на табелите

Оваа Python скрипта ја користи библиотеката Faker за автоматско генерирање на милиони тест-податоци во CSV формат користејќи македонски имиња на личности, предмети, факултети, универзитети и слично. Нејзината главна намена е брзо и масовно полнење на сите табели во базата со огромно количество податоци (до 10 милиони редови по табела), со што се овозможува реална проверка на перформансите на системот.

Attachments (3)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.