Changes between Initial Version and Version 1 of DatabaseCreation


Ignore:
Timestamp:
05/17/26 23:07:05 (9 days ago)
Author:
231108
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DatabaseCreation

    v1 v1  
     1= Креирање на База на Податоци =
     2
     3== Структура на Базата ==
     4Базата се состои од 22 табели организирани во следните логички групи:
     5
     6=== Образование ===
     7 * '''University''' - Складира информации за универзитети (име, адреса, веб страна, контакт)
     8 * '''Faculty''' - Факултети кои припаѓаат на универзитети
     9 * '''!StudyProgram''' - Студиски програми понудени од факултети (bachelor, master, phd)
     10 * '''Studies''' - Следи кои корисници се запишани на кои студиски програми
     11 * '''Diploma''' - Записи за дипломирање на завршени студии
     12
     13=== Корисници ===
     14 * '''User''' - Главна табела за корисници со лични информации (име, датум на раѓање, просек, контакт)
     15 * '''Skill''' - Достапни вештини со типови (технички, меки, јазици, итн.)
     16 * '''User_Skill''' - Врска many-to-many помеѓу корисници и вештини
     17
     18=== Вработување ===
     19 * '''Industry''' - Категории на индустрии
     20 * '''Company''' - Компании со број на вработени и индустрија
     21 * '''Employment''' - Записи за вработување кои ги поврзуваат корисниците со компании
     22 * '''Position''' - Работни позиции за време на вработувањето
     23 * '''Promotion''' - Записи за унапредување со стари/нови нивоа
     24 * '''!SalaryHistory''' - Промени на плата со текот на времето
     25
     26=== Останати Активности ===
     27 * '''Internship''' - Записи за пракси кои ги поврзуваат корисниците со компании
     28 * '''!AdditionalCourse''' - Курсеви за професионален развој
     29 * '''!AdditionalCourse_User''' - Записи за завршени курсеви по корисник
     30 * '''Startup''' - Стартап компании
     31 * '''Founder''' - Ги поврзува корисниците со стартапите кои ги основале
     32 * '''Event''' - Професионални настани организирани од компании
     33 * '''Event_User''' - Записи за присуство на настани
     34 * '''Award''' - Награди добиени од корисници
     35
     36== Ограничувања ==
     37Структурата ги наметнува следните правила за интегритет на податоците:
     38
     39 * Валидација на формат на е-пошта преку regex на табелите University, Faculty и User
     40 * Валидација на формат на телефон (6-15 цифри, опционален + префикс)
     41 * Валидација на формат на веб страна (мора да започнува со http:// или https://)
     42 * Просек опсег 5-10
     43 * Тип на диплома ограничен на: bachelor, master, phd
     44 * Тип на вработување ограничен на: full-time, part-time, contract, internship
     45 * Ограничувања за статус на студии/вработување
     46 * Валидација на опсег на датуми (end_date >= start_date)
     47 * Каскадни ажурирања и ограничени бришења на foreign keys
     48
     49== Генерирање на Податоци ==
     50Податоците беа генерирани со комбинација на:
     51 * '''CSV датотеки''' - 14 CSV датотеки кои содржат референтни податоци (имиња, градови, универзитети, факултети, студиски програми, индустрии, компании, вештини, работни позиции, настани, курсеви, стартапи, награди)
     52 * '''SQL скрипта за генерирање''' - Големите табели се генерирани со користење на PostgreSQL функцијата `generate_series()` со детерминистички формули за да се обезбеди референцијален интегритет
     53
     54=== Стратегија на Генерирање ===
     55 * Референтните податоци (University, Faculty, Industry, Skill, итн.) вметнати од CSV датотеки
     56 * Големите табели (User, Studies, Employment, итн.) генерирани во серии од 500.000 редови за да се избегнат проблеми со истекување на времето
     57 * Користени процедури за сериско вметнување
     58
     59== Број на Редови по Табела ==
     60|| Табела || Број на Редови ||
     61|| User || [ДОДАДИ БРОЈ] ||
     62|| Studies || [ДОДАДИ БРОЈ] ||
     63|| Diploma || [ДОДАДИ БРОЈ] ||
     64|| User_Skill || [ДОДАДИ БРОЈ] ||
     65|| Employment || [ДОДАДИ БРОЈ] ||
     66|| !SalaryHistory || [ДОДАДИ БРОЈ] ||
     67|| Position || [ДОДАДИ БРОЈ] ||
     68|| Promotion || [ДОДАДИ БРОЈ] ||
     69|| Internship || [ДОДАДИ БРОЈ] ||
     70|| !AdditionalCourse_User || [ДОДАДИ БРОЈ] ||
     71|| Startup || [ДОДАДИ БРОЈ] ||
     72|| Founder || [ДОДАДИ БРОЈ] ||
     73|| Event || [ДОДАДИ БРОЈ] ||
     74|| Event_User || [ДОДАДИ БРОЈ] ||
     75|| Award || [ДОДАДИ БРОЈ] ||
     76|| University || [ДОДАДИ БРОЈ] ||
     77|| Faculty || [ДОДАДИ БРОЈ] ||
     78|| !StudyProgram || [ДОДАДИ БРОЈ] ||
     79|| Industry || [ДОДАДИ БРОЈ] ||
     80|| Company || [ДОДАДИ БРОЈ] ||
     81|| Skill || [ДОДАДИ БРОЈ] ||
     82|| !AdditionalCourse || [ДОДАДИ БРОЈ] ||