| Version 1 (modified by , 8 days ago) ( diff ) |
|---|
Креирање на База на Податоци
Структура на Базата
Базата се состои од 22 табели организирани во следните логички групи:
Образование
- University - Складира информации за универзитети (име, адреса, веб страна, контакт)
- Faculty - Факултети кои припаѓаат на универзитети
- StudyProgram - Студиски програми понудени од факултети (bachelor, master, phd)
- Studies - Следи кои корисници се запишани на кои студиски програми
- Diploma - Записи за дипломирање на завршени студии
Корисници
- User - Главна табела за корисници со лични информации (име, датум на раѓање, просек, контакт)
- Skill - Достапни вештини со типови (технички, меки, јазици, итн.)
- User_Skill - Врска many-to-many помеѓу корисници и вештини
Вработување
- Industry - Категории на индустрии
- Company - Компании со број на вработени и индустрија
- Employment - Записи за вработување кои ги поврзуваат корисниците со компании
- Position - Работни позиции за време на вработувањето
- Promotion - Записи за унапредување со стари/нови нивоа
- SalaryHistory - Промени на плата со текот на времето
Останати Активности
- Internship - Записи за пракси кои ги поврзуваат корисниците со компании
- AdditionalCourse - Курсеви за професионален развој
- !AdditionalCourse_User - Записи за завршени курсеви по корисник
- Startup - Стартап компании
- Founder - Ги поврзува корисниците со стартапите кои ги основале
- Event - Професионални настани организирани од компании
- Event_User - Записи за присуство на настани
- Award - Награди добиени од корисници
Ограничувања
Структурата ги наметнува следните правила за интегритет на податоците:
- Валидација на формат на е-пошта преку regex на табелите University, Faculty и User
- Валидација на формат на телефон (6-15 цифри, опционален + префикс)
- Валидација на формат на веб страна (мора да започнува со http:// или https://)
- Просек опсег 5-10
- Тип на диплома ограничен на: bachelor, master, phd
- Тип на вработување ограничен на: full-time, part-time, contract, internship
- Ограничувања за статус на студии/вработување
- Валидација на опсег на датуми (end_date >= start_date)
- Каскадни ажурирања и ограничени бришења на foreign keys
Генерирање на Податоци
Податоците беа генерирани со комбинација на:
- CSV датотеки - 14 CSV датотеки кои содржат референтни податоци (имиња, градови, универзитети, факултети, студиски програми, индустрии, компании, вештини, работни позиции, настани, курсеви, стартапи, награди)
- SQL скрипта за генерирање - Големите табели се генерирани со користење на PostgreSQL функцијата
generate_series()со детерминистички формули за да се обезбеди референцијален интегритет
Стратегија на Генерирање
- Референтните податоци (University, Faculty, Industry, Skill, итн.) вметнати од CSV датотеки
- Големите табели (User, Studies, Employment, итн.) генерирани во серии од 500.000 редови за да се избегнат проблеми со истекување на времето
- Користени процедури за сериско вметнување
Број на Редови по Табела
| Табела | Број на Редови |
| User | [ДОДАДИ БРОЈ] |
| Studies | [ДОДАДИ БРОЈ] |
| Diploma | [ДОДАДИ БРОЈ] |
| User_Skill | [ДОДАДИ БРОЈ] |
| Employment | [ДОДАДИ БРОЈ] |
| SalaryHistory | [ДОДАДИ БРОЈ] |
| Position | [ДОДАДИ БРОЈ] |
| Promotion | [ДОДАДИ БРОЈ] |
| Internship | [ДОДАДИ БРОЈ] |
| !AdditionalCourse_User | [ДОДАДИ БРОЈ] |
| Startup | [ДОДАДИ БРОЈ] |
| Founder | [ДОДАДИ БРОЈ] |
| Event | [ДОДАДИ БРОЈ] |
| Event_User | [ДОДАДИ БРОЈ] |
| Award | [ДОДАДИ БРОЈ] |
| University | [ДОДАДИ БРОЈ] |
| Faculty | [ДОДАДИ БРОЈ] |
| StudyProgram | [ДОДАДИ БРОЈ] |
| Industry | [ДОДАДИ БРОЈ] |
| Company | [ДОДАДИ БРОЈ] |
| Skill | [ДОДАДИ БРОЈ] |
| AdditionalCourse | [ДОДАДИ БРОЈ] |
Note:
See TracWiki
for help on using the wiki.
