Version 21 (modified by 40 hours ago) ( diff ) | ,
---|
ER Дијаграм
Податочни побарувања
Ентитети
- Ентитет USER - податоци за корсниците.
- Кандидат клучеви: Username. Поради чести промени на атрибутот, за примерен клуч избравме вештачки клуч Id.
- Атрибути:
- Id - нумерички податок, задолжителен.
- Username - текстуален податок,задолижетелен.
- Description - текстуален податок,опционален.
- Password - текстуален податок,задолжителен.
- Register_date - текстуален податок,задолжителен.
- Sex - текстуален податок,задолжителен.
- Is_active - булов податок, задолжителен.
- Email - текстуален податок, задолжителен.
- Name - текстуален податок, задолжителен.
- Атрибути:
- Кандидат клучеви: Username. Поради чести промени на атрибутот, за примерен клуч избравме вештачки клуч Id.
- Ентитет DEVELOPER - преклопувачка специјализација, со делумно учество, од USER. Ентитетов се однесува на корисниците, кои се истовремено и развивачи на софтвер.
- Кандидат клучеви: исто како и ентитетот USER и овај ентитет се идентификува со примарниот вештачки клуч Id.
- Ентитет PROJECT_OWNER - преклопувачка специјализација, со делумно учество, од DEVELOPER. Ентитетов се однесува на развивачите на софтвер, кои поседуваат проекти.
- Кандидат клучеви: исто како и ентитетот DEVELOPER и овај ентитет се идентификува со примарниот вештачки клуч Id.
- Ентитет MODERATOR - преклопувачка специјализација, со делумно учество, од USER. Ентитетов се однесува на корисниците, кои истовремено се и модератори на threads.
- Кандидат клучеви: исто како и ентитетот USER и овај ентитет се идентификува со примарниот вештачки клуч Id.
- Ентитет TAG - претставува податок (лабела) која може да се назначи на даден THREAD. Служи за логичко групирање на threads.
- Кандидат клучеви: Name, како податок уникат за секој таг. Истиот го избравме за примарен клуч на ентитетов.
- Атрибути:
- Name - текстуален податок,задолжителен.
- Атрибути:
- Кандидат клучеви: Name, како податок уникат за секој таг. Истиот го избравме за примарен клуч на ентитетов.
- Ентитет THREAD - генерализација на сите можни водови на threads. Ги содржи сличните податоци присутни кај поединечните видови.
- Кандидат клучеви: бидејќи најмално супер-клуч множество би се состоело од сите атрибути на ентитет, за примарен клуч избравме вештачки клуч Id.
- Атрибути:
- Content - текстуален податок,опционален.
- Id - нумерички податок, задолжителен.
- Created_at - датум, задолжителен.
- Ентитет ЕMBEDDABLE - дисјунктна специјализација, со целосно учество, од THREAD. Ги претставува сите threads кои можат да се вгензудваат.
- Ентитет TOPIC_THREAD - дисјунктна специјализација, со целосно учество, од ЕMBEDDABLE. Ентитетов се однесува на сите threads кој се топици и ги содржи податоците специфични за нив.
- Кандидат клучеви: исто како и ентитетот ЕMBEDDABLE и овај ентитет се идентификува со примарниот,вештачки клуч Id.
- Атрибути:
- Title - текстуален податок,задолжителен.
- Guidlines - текстуален,multivalued податок,опционален.
- Ентитет DISCUSSION_THREAD - дисјунктна специјализација, со целосно учество, од ЕMBEDDABLE. Ентитетов се однесува на сите threads кој се дискусии и ги содржи податоците специфични за нив.
- Кандидат клучеви: исто како и ентитетот ЕMBEDDABLE и овај ентитет се идентификува со примарниот,вештачки клуч Id.
- Ентитет PROJECT_THREAD - дисјунктна специјализација, со целосно учество, од THREAD. Ентитетов се однесува на сите threads кој се дискусии и ги содржи податоците специфични за нив.
- Кандидат клучеви: исто како и ентитетот THREAD и овај ентитет се идентификува со примарниот,вештачки клуч Id.
- Атрибути:
- Repo_url - текстуален податок, опционален.
- Title - уникатен текстуален податок, задолжителен.
- Слаб ентитет BLACKLISTED_USER - податоци за тоа на кои корисници му е забранет пристапот во кои TOPIC_THREAD , од кои модератор.
- Кандидат клучеви: парцијалнен клуч Start_date, но за целосно идентификување се користат идентификувачките релации со TOPIC_THREAD,MODERATOR и USER.
- Атрибути:
- Start_date - датум, задолжителен.
- End_date - датум, опционален.
- Reason - текстуален податок,опционален.
- Ентитет SUBMISSION - генерализација за пријавите, кои ги испраќаат корисниците.
- Кандидат клучеви: Бидејќи најмално супер-клуч множество би се состоело од сите атрибути на ентитет, за примарен клуч избравме вештачки клуч Id.
- Атрибути:
- Id - нумерички податок, задолжителен.
- Created_at - датум,задолжителен.
- Description - текстуален, опционален.
- Status - текстуален, задолжителен.
- Ентитет REPORT - дисјунктна специјализација, со целосно учество од SUBMISSION. Ги претставува сите пријави од корисниците.
- Кандидат клучеви: исто како и ентитетот SUBMISSION и овoј ентитет се идентификува со примарниот вештачки клуч Id.
- Слаб eнтитет FEEDBACK - целосно идентификуван преку SUBMITTED_FOR.Претставува повратен одговор на дадено барање.
- Атрибути:
- Submission_type - текстуален,задолжителен.
- Created_at - датум,задолжителен
- Description - текстуален,опционален
- Атрибути:
- Ентитет PROJECT_REQUEST - дисјунктна специјализација, со целосно учество од SUBMISSION.Претставува барање за учество на даден корисниците во даден проект.
- Кандидат клучеви: исто како и ентитетот SUBMISSION и овoј ентитет се идентификува со примарниот вештачки клуч Id.
- Слаб ентитет CHANNEL - податоци за каналите во проектите.
- Кандидат клучеви: парцијалниот клуч Name, целосно се идентификува преку идентификувачката релација со PROJECT_THREAD.
- Атрибути:
- Name - текстуален, задолжителен.
- Description - текстуален, опционален.
- Ентитет PERMISSIONS - претставува ентите за дадена пермисија (дозвола). Пополнет со предефинирани вредности (READ,WRITE,CREATE,DELETE).
- Кандидат клучеви: овој ентитет е целосно идентификуван преку атрибутот Name
- Атрибути:
- Name - текстуален податок, задолжителен.
- Ентитет PROJECT_ROLE - претставува улога назначена на корисник, во даден проект.
- Кандидат клучеви: овој ентитет е целосно идентификуван преку сурогат клучот id
- Атрибути:
- id - нумерички податок, задолжителен.
- Name - текстуален податок, задолжителен.
- Override_type - текстуален податок со предефинирани вредности (INCLUDE,EXCLUDE), задолжителен
- Забелешка: Атрибутот Override_type влијае на интерпретацијата на релацијата FOR_RESOURCE.
- Атрибути:
- Кандидат клучеви: овој ентитет е целосно идентификуван преку сурогат клучот id
- Ентитет PROJECT_RESOURCE - претставува ресурс (веќе постоечки ентитет) кој што може да се користи во рамки на даден проект како проектен ресурс.
- Кандидат клучеви: овој ентитет е целосно идентификуван преку сурогат клучот Id
- Атрибути:
- Id - нумерички податок, задолжителен.
- Атрибути:
- Кандидат клучеви: овој ентитет е целосно идентификуван преку сурогат клучот Id
- Слаб Ентитет ROLE_PERMISSIONS - означува кој пермисии ги има дадена улога. Целосно се идентификува преку релациите FOR_ROLE,FOR_PERMISSION.
Релации
- IS_MODERATED_BY(N:M) - релација помеѓу TOPIC_THREAD и MODERATOR. Ни кажува кои се модератори на соодветниот TOPIC_THREAD.
- Aтрибути:
- Started_at: датум,задолжителен.
- Aтрибути:
- ASSIGNED_TO(N:M) - релација помеѓу THREAD и TAG. Ни кажува кои се таговите на соодветниот thread.
- CONTAINED_IN(1:N) - релација помеѓу DISCUSSION_THREAD и EMBDEDABLE_THREAD. Ни жажува во кој thread е вгнезден дадениот DISCUSSION_THREAD.
- REFERENCED_BY(1:N) - релација помеѓу TOPIC_THREAD и PROJECT_THREAD. Ни кажува во кој PROJECT_THREAD е вгнезед дадениот TOPIC_THREAD.
- CREATES(1:N) - релација помеѓу MODERATOR и TAG. Ни кажува кои тагови ги креирал соодветниот модератор.
- BLACKLISTED_BY(1:N) - релација помеѓу MODERATOR и BLACKLISTED_USER. Ни кажува кој модератор го ставил кој корисник на 'blacklist'.
- BLACKLISTED_FROM(1:N) - релација помеѓу TOPIC_THREAD и BLACKLISTED_USER. Ни кажува во кој топик е "blacklisted" корисникот.
- REFERS_TO(1:N) - релација помеѓу USER и BLACKLISTED_USER. Ни кажува на кој корисник се однесува соодветниот запис во BLACKLISTED_USER.
- FOR_MISCONDUCT(1:N) - релација помеѓу TOPIC_THREAD и REPORT. Ни кажува во кој и на кој топик правилата се прекршиле.
- ABOUT(1:N) - релација помеѓу USER и REPORT. Ни кажува кој корисник е обвинет за прекршување на правилата.
- SUBMITTED_BY(1:N) - релација помеѓу USER и REPORT. Ни кажува кој корисник го поднесол извештајот.
- LIKES(N:M) - релација помеѓу USER и THREAD. Ни ги претставува сите threads, кој му се допаднале на корисникот.
- SUBMITS(1:N) - релација помеѓу USER и PROJECT_REQUEST. Ни кажува кој корисник го поднел соодветното барање за учество.
- RECIEVES(1:N) - релација помеѓу PROJECT_THREAD и PROJECT_REQUEST. Ни кажува за кој проект, корисникот го поднел соодветното барање за учество.
- VALID_IN(1:N) - релација помеѓу PROJECT_THREAD и CUSTOM_ROLE. Ни кажува во кој проект е валидна соодветната улога.
- HAS(1:N) - релација помеѓу PROJECT_THREAD и CHANNEL. Ни кажува во кој проект припаѓа соодветниот канал.
- ASSOCIATED_WITH(N:M) - релација помеѓу PROJECT_THREAD и DEVELOPER. Ни кажува во кој проекти учествувал/учествува соодветниот програмер.
- Атрибути:
- Started_at - датум, задолжителен.
- Ended_at - датум, опционален.
- Атрибути:
- DEFINED_BY(N:M) - релација помеѓу CUSTOM_ROLE и PERMISSIONS. Ни кажува кој пермисии ги опфаќа соодветната улога.
- CONSTRUCTS(N:M) - релација помеѓу CHANNEL и DEVELOPER. Ни кажува кој програмер го креирал соодветниот канал.
- SEND_MESSAGE_IN(N:M) - релација помеѓу CHANNEL и DEVELOPER. Ни претставува кој програмер испратил порака во соодветниот канал.
- Атрибути
- Created_at - датум, задолжителен.
- Content - текстуален, задолжителен.
- Атрибути
- IS_ASSIGNED(N:M) - релација помеѓу CUSTOM_ROLE и DEVELOPER. Ни кажува кој улоги ги поседува соодветниот програмер.
- SUBMITTED_FOR(1:1) - релација помеѓу SUBMISSION и FEEDBACK. Претставува кој feedback се однесува на даден submission.
- WRITTEN_BY(N:1) - релација помеѓу FEEDBACK и PROJECT_OWNER. Претставува кој го напишал дадениот feedback.
Историјат
ER дијаграм(v1.0) - ER_BUILD_BOARD_v1.xml
ER дијаграм(v2.0) - ER_BUILD_BOARD_v2.xml
ER дијаграм(v3.0) - ER_BUILD_BOARD_v3.xml
Attachments (13)
- ER_BUILD_BOARD_v3.png (77.9 KB ) - added by 9 months ago.
- ER_BUILD_BOARD_v1.xml (62.4 KB ) - added by 9 months ago.
- ER_BUILD_BOARD_v2.xml (64.8 KB ) - added by 9 months ago.
- ER_BUILD_BOARD_v3.xml (75.7 KB ) - added by 8 months ago.
- ER_BUILD_BOARD_v3.2.png (250.9 KB ) - added by 8 months ago.
- ER_BUILD_BOARD_v4.png (250.9 KB ) - added by 8 months ago.
- ER_BUILD_BOARD_v4.1.png (79.9 KB ) - added by 7 months ago.
- ER_BUILD_BOARD_v4.3.png (77.8 KB ) - added by 7 months ago.
- ER_BUILD_BOARD_v5.png (92.1 KB ) - added by 41 hours ago.
- ER_BUILD_BOARD_v5.1.png (90.7 KB ) - added by 38 hours ago.
- ER_BUILD_BOARD_v5.1.xml (73.3 KB ) - added by 38 hours ago.
- ER_BUILD_BOARD_v5.2.png (115.7 KB ) - added by 9 hours ago.
- ER_BUILD_BOARD_v5.2.xml (70.3 KB ) - added by 9 hours ago.
Download all attachments as: .zip
Note:
See TracWiki
for help on using the wiki.