Version 14 (modified by 10 days 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.
- Кандидат клучеви: Name, како податок уникат за секој таг. Истиот го избравме за примарен клуч на ентитетов.
- Атрибути:
- Name - текстуален податок,задолжителен.
- Атрибути:
- Кандидат клучеви: Name, како податок уникат за секој таг. Истиот го избравме за примарен клуч на ентитетов.
- Ентитет THREAD - генерализација на сите можни водови на threads. Ги содржи сличните податоци присутни кај поединечните видови.
- Кандидат клучеви: бидејќи најмално супер-клуч множество би се состоело од сите атрибути на ентитет, за примарен клуч избравме вештачки клуч Id.
- Атрибути:
- Content - текстуален податок,опционален.
- Id - нумерички податок, задолжителен.
- Created_at - датум, задолжителен.
- Ентитет ЕMBDEDABLE_THREAD - дисјунктна специјализација, со целосно учество, од THREAD. Ги претставува сите threads кои можат да се вгензудваат.
- Ентитет TOPIC_THREAD - дисјунктна специјализација, со целосно учество, од ЕMBDEDABLE_THREAD. Ентитетов се однесува на сите threads кој се топици и ги содржи податоците специфични за нив.
- Кандидат клучеви: исто како и ентитетот ЕMBDEDABLE_THREAD и овај ентитет се идентификува со примарниот,вештачки клуч Id.
- Атрибути:
- Title - текстуален податок,задолжителен.
- Guidlines - текстуален,multivalued податок,опционален.
- Ентитет DISCUSSION_THREAD - дисјунктна специјализација, со целосно учество, од ЕMBDEDABLE_THREAD. Ентитетов се однесува на сите threads кој се дискусии и ги содржи податоците специфични за нив.
- Кандидат клучеви: исто како и ентитетот ЕMBDEDABLE_THREAD и овај ентитет се идентификува со примарниот,вештачки клуч Id.
- Ентитет PROJECT_THREAD - дисјунктна специјализација, со целосно учество, од THREAD. Ентитетов се однесува на сите threads кој се дискусии и ги содржи податоците специфични за нив.
- Кандидат клучеви: исто како и ентитетот THREAD и овај ентитет се идентификува со примарниот,вештачки клуч Id.
- Атрибути:
- Repo_url - текстуален податок, опционален.
- Title - уникатен текстуален податок, задолжителен.
- Слаб ентитет BLACKLISTED_USER - податоци за тоа на кои корисници му е забранет пристапот во кои TOPIC_THREAD , од кои модератор.
- Кандидат клучеви: парцијалнен клуч Start_date, но за целосно идентификување се користат идентификувачките релации со THREAD,MODERATOR и USER.
- Атрибути:
- Start_date - датум, задолжителен.
- End_date - датум, опционален.
- Reason - текстуален податок,опционален.
- Ентитет REPORT - дисјунктна специјализација, со целосно учество од SUBMISSION. Ги претставува сите пријави од корисниците.
- Кандидат клучеви: заради можноста да постојат повеќе извештаи, кои се однесуваат на истиот корсиник, за прекршувања на правилата на истиот thread, поднеси од страна на истиот корисник, одлучивме да генерираме вештачки парцијалнен клуч Id. За целосно идентификување на ентитетиве служат идентификувачките релации со THREAD и USER.
- Атрибути:
- Id - нумерички, задолжителен.
- Created_at - датум, опционален.
- Status - енумерирачки, задолжителен.
- Description - текстуален, задолжителен.
- PROJECT_REQUEST - дисјунктна специјализација, со целосно учество од SUBMISSION.Претставува барање за учество на даден корисниците во даден проект.
- Слаб ентитет CHANNEL - податоци за каналите во проектите.
- Кандидат клучеви: парцијалниот клуч Name, целосно се идентификува преку идентификувачката релација со PROJECT_THREAD.
- Атрибути:
- Name - текстуален, задолжителен.
- Description - текстуален, опционален.
- Ентитет CUSTOM_ROLE - податоци за креирани улоги, кои се доделуваат на развивачите во конкретен проект.
- Кандидат клучеви: парцијалниот клуч Name, целосно се идентификува преку идентификувачката релација со PROJECT_THREAD.
- Атрибути:
- Name - текстуален,задолжителен.
- Description - текстуален,задолжителен.
- Ентитет PERMISSIONS - податоци за пермисиите, кои се достапни во дефинирањето на улогите во пеодиенчните проекти.
- Кандидат клучеви: Name, како податок уникат за секојa пермисија. Истиот го избравме за примарен клуч на ентитетов.
- Атрибути:
- Name - текстуален,задолжителен.
- Ентитет SUBMISSION - генерализација за пријавите, кои ги испраќаат корисниците.
- Атрибути:
- Created_at - датум,задолжителен.
- Description - текстуален, опционален.
- Status - текстуален, задолжителен.
- Атрибути:
- Слаб eнтитет FEEDBACK - идентификуван преку SUBMITTED_FOR.Претставува повратен одговор на дадено барање.
- Атрибути:
- Submission_type - текстуален,задолжителен.
- Created_at - датум,задолжителен
- Description - текстуален,опционален
- Атрибути:
Релации
- IS_MODERATED_BY(N:M) - релација помеѓу TOPIC_THREAD и MODERATOR. Ни кажува кои се модератори на соодветниот TOPIC_THREAD.
- IS_CHILD_TO(1:N) - релација помеѓу TOPIC_THREAD и TOPIC_THREAD. Ни опишува како се разделува општ топик на поспецифички топици.
- CONTAINS(1:N) - релација помеѓу TOPIC_THREAD и DISCUSSION_THREAD. Ни ги претставува дискусиите започнатите во топикот.
- BELONGS_TO(1:N) - релацијата помеѓу PROJECT_THREAD и TOPIC_THREAD. Ни кажува кои топици се започнатите во соодветниот проект.
- REPLIES(1:N) - релација помеѓу DISCUSSION_THREAD и DISCUSSION_THREAD. Ни кажува кои дискусии се произлегле од соодветна дискусија.
- ASSIGNED_TO(N:M) - релација помеѓу THREAD и TAG. Ни кажува кои се таговите на соодветниот thread.
- CREATES(1:N) - релација помеѓу MODERATOR и TAG. Ни кажува кои тагови ги креирал соодветниот модератор.
- BLACKLISTED_BY(1:N) - релација помеѓу MODERATOR и BLACKLISTED_USER. Ни кажува кој модератор го ставил кој корисник на 'blacklist'.
- BLACKLISTED_FROM(1:N) - релација помеѓу THREAD и BLACKLISTED_USER. Ни кажува во кој theads е "blacklisted" корисникот.
- REFERS_TO(1:N) - релација помеѓу USER и BLACKLISTED_USER. Ни кажува на кој корисник се однесува соодветниот запис во BLACKLISTED_USER.
- FOR_MISCONDUCT(1:N) - релација помеѓу THREAD и REPORT. Ни кажува во кој и на кој thread правилата се прекршиле.
- 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 (8)
- ER_BUILD_BOARD_v3.png (77.9 KB ) - added by 8 weeks ago.
- ER_BUILD_BOARD_v1.xml (62.4 KB ) - added by 8 weeks ago.
- ER_BUILD_BOARD_v2.xml (64.8 KB ) - added by 8 weeks ago.
- ER_BUILD_BOARD_v3.xml (75.7 KB ) - added by 3 weeks ago.
- ER_BUILD_BOARD_v3.2.png (250.9 KB ) - added by 13 days ago.
- ER_BUILD_BOARD_v4.png (250.9 KB ) - added by 13 days ago.
- ER_BUILD_BOARD_v4.1.png (79.9 KB ) - added by 10 days ago.
- ER_BUILD_BOARD_v4.3.png (77.8 KB ) - added by 10 days ago.
Download all attachments as: .zip
Note:
See TracWiki
for help on using the wiki.