Changes between Version 20 and Version 21 of ERModel


Ignore:
Timestamp:
09/21/25 17:55:38 (40 hours ago)
Author:
225144
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ERModel

    v20 v21  
    1616                * Name - текстуален податок, задолжителен.
    1717
    18 * Ентитет **DEVELOPER** - преклопувачка специјализација, со делумно учество, од USER. Ентитетов се однесува на корисниците, кои се истовремено и развивачи на софтвер.
     18* Ентитет **DEVELOPER** - преклопувачка специјализација, со делумно учество, од **USER**. Ентитетов се однесува на корисниците, кои се истовремено и развивачи на софтвер.
    1919    * Кандидат клучеви: исто како и ентитетот USER и овај ентитет се идентификува со примарниот вештачки клуч Id.
    20 * Ентитет **PROJECT_OWNER** - преклопувачка специјализација, со делумно учество, од DEVELOPER. Ентитетов се однесува на развивачите на софтвер, кои поседуваат проекти.
    21     * Кандидат клучеви: исто како и ентитетот DEVELOPER и овај ентитет се идентификува со примарниот вештачки клуч Id.
    22 * Ентитет **MODERATOR** - преклопувачка специјализација, со делумно учество, од USER. Ентитетов се однесува на корисниците, кои истовремено се и модератори на threads.
    23     * Кандидат клучеви: исто како и ентитетот USER и овај ентитет се идентификува со примарниот вештачки клуч Id.
    24 * Ентитет **TAG** - податоци за можните тагови. Служат за групирање на thread
     20* Ентитет **PROJECT_OWNER** - преклопувачка специјализација, со делумно учество, од **DEVELOPER**. Ентитетов се однесува на развивачите на софтвер, кои поседуваат проекти.
     21    * Кандидат клучеви: исто како и ентитетот DEVELOPER и овај ентитет се идентификува со примарниот вештачки клуч **Id**.
     22* Ентитет **MODERATOR** - преклопувачка специјализација, со делумно учество, од **USER**. Ентитетов се однесува на корисниците, кои истовремено се и модератори на threads.
     23    * Кандидат клучеви: исто како и ентитетот **USER** и овај ентитет се идентификува со примарниот вештачки клуч **Id**.
     24* Ентитет **TAG** - претставува податок (лабела) која може да се назначи на даден **THREAD**. Служи за логичко групирање на threads
    2525    * Кандидат клучеви: Name, како податок уникат за секој таг. Истиот го избравме за примарен клуч на ентитетов.
    2626        * Атрибути:
     
    3232        * Id - нумерички податок, задолжителен.
    3333        * Created_at - датум, задолжителен.
    34 * Ентитет **ЕMBEDDABLE** - дисјунктна специјализација, со целосно учество, од THREAD. Ги претставува сите threads кои можат да се вгензудваат.
     34* Ентитет **ЕMBEDDABLE** - дисјунктна специјализација, со целосно учество, од **THREAD**. Ги претставува сите threads кои можат да се вгензудваат.
    3535* Ентитет **TOPIC_THREAD** - дисјунктна специјализација, со целосно учество, од ЕMBEDDABLE. Ентитетов се однесува на сите threads кој се топици и ги содржи податоците специфични за нив.
    3636    * Кандидат клучеви: исто како и ентитетот ЕMBEDDABLE и овај ентитет се идентификува со примарниот,вештачки клуч Id.
     
    3838        * Title - текстуален податок,задолжителен.
    3939        * Guidlines - текстуален,multivalued податок,опционален.
    40 * Ентитет **DISCUSSION_THREAD** - дисјунктна специјализација, со целосно учество, од ЕMBEDDABLE. Ентитетов се однесува на сите threads кој се дискусии и ги содржи податоците специфични за нив.
    41     * Кандидат клучеви: исто како и ентитетот ЕMBEDDABLE и овај ентитет се идентификува со примарниот,вештачки клуч Id.
    42 * Ентитет **PROJECT_THREAD** - дисјунктна специјализација, со целосно учество, од THREAD. Ентитетов се однесува на сите threads кој се дискусии и ги содржи податоците специфични за нив.
    43     * Кандидат клучеви: исто како и ентитетот THREAD и овај ентитет се идентификува со примарниот,вештачки клуч Id.
     40* Ентитет **DISCUSSION_THREAD** - дисјунктна специјализација, со целосно учество, од **ЕMBEDDABLE**. Ентитетов се однесува на сите threads кој се дискусии и ги содржи податоците специфични за нив.
     41    * Кандидат клучеви: исто како и ентитетот **ЕMBEDDABLE** и овај ентитет се идентификува со примарниот,вештачки клуч **Id**.
     42* Ентитет **PROJECT_THREAD** - дисјунктна специјализација, со целосно учество, од **THREAD.** Ентитетов се однесува на сите threads кој се дискусии и ги содржи податоците специфични за нив.
     43    * Кандидат клучеви: исто како и ентитетот **THREAD** и овај ентитет се идентификува со примарниот,вештачки клуч **Id**.
    4444    * Атрибути:
    4545        * Repo_url - текстуален податок, опционален.
    4646        * Title - уникатен текстуален податок, задолжителен.
    47 * Слаб ентитет **BLACKLISTED_USER** - податоци за тоа на кои корисници му е забранет пристапот во кои TOPIC_THREAD , од кои модератор.
    48     * Кандидат клучеви: парцијалнен клуч Start_date, но за целосно идентификување се користат идентификувачките релации со TOPIC_THREAD,MODERATOR и USER.
     47* Слаб ентитет **BLACKLISTED_USER** - податоци за тоа на кои корисници му е забранет пристапот во кои **TOPIC_THREAD** , од кои модератор.
     48    * Кандидат клучеви: парцијалнен клуч Start_date, но за целосно идентификување се користат идентификувачките релации со **TOPIC_THREAD**,**MODERATOR** и **USER**.
    4949    * Атрибути:
    5050        * Start_date - датум, задолжителен.
     
    5252        * Reason - текстуален податок,опционален.
    5353* Ентитет **SUBMISSION** - генерализација за пријавите, кои ги испраќаат корисниците.
    54     * Кандидат клучеви: Бидејќи најмално супер-клуч множество би се состоело од сите атрибути на ентитет, за примарен клуч избравме вештачки клуч Id.
     54    * Кандидат клучеви: Бидејќи најмално супер-клуч множество би се состоело од сите атрибути на ентитет, за примарен клуч избравме вештачки клуч **Id**.
    5555    * Атрибути:
    5656       * Id - нумерички податок, задолжителен.
     
    5858       * Description - текстуален, опционален.
    5959       * Status - текстуален, задолжителен.
    60 * Ентитет **REPORT** - дисјунктна специјализација, со целосно учество од SUBMISSION. Ги претставува сите пријави од корисниците.
    61   * Кандидат клучеви: исто како и ентитетот SUBMISSION и овoј ентитет се идентификува со примарниот вештачки клуч Id.
    62 * Слаб eнтитет **FEEDBACK** - целосно идентификуван преку SUBMITTED_FOR.Претставува повратен одговор на дадено барање.
     60* Ентитет **REPORT** - дисјунктна специјализација, со целосно учество од **SUBMISSION**. Ги претставува сите пријави од корисниците.
     61  * Кандидат клучеви: исто како и ентитетот SUBMISSION и овoј ентитет се идентификува со примарниот вештачки клуч **Id**.
     62* Слаб eнтитет **FEEDBACK** - целосно идентификуван преку **SUBMITTED_FOR**.Претставува повратен одговор на дадено барање.
    6363 * Атрибути:
    6464        * Submission_type - текстуален,задолжителен.
    6565        * Created_at - датум,задолжителен
    6666        * Description - текстуален,опционален     
    67 * Ентитет **PROJECT_REQUEST** - дисјунктна специјализација, со целосно учество од SUBMISSION.Претставува барање за учество на даден корисниците во даден проект.
    68   * Кандидат клучеви: исто како и ентитетот SUBMISSION и овoј ентитет се идентификува со примарниот вештачки клуч Id.
     67* Ентитет **PROJECT_REQUEST** - дисјунктна специјализација, со целосно учество од **SUBMISSION**.Претставува барање за учество на даден корисниците во даден проект.
     68  * Кандидат клучеви: исто како и ентитетот **SUBMISSION** и овoј ентитет се идентификува со примарниот вештачки клуч **Id**.
    6969* Слаб ентитет **CHANNEL** - податоци за каналите во проектите.
    70     * Кандидат клучеви: парцијалниот клуч Name, целосно се идентификува преку идентификувачката релација со PROJECT_THREAD.
     70    * Кандидат клучеви: парцијалниот клуч **Name**, целосно се идентификува преку идентификувачката релација со **PROJECT_THREAD**.
    7171    * Атрибути:
    7272        * Name - текстуален, задолжителен.
    7373        * Description - текстуален, опционален.
    74 * Ентитет **CUSTOM_ROLE** - податоци за креирани улоги, кои се доделуваат на развивачите во конкретен проект.
    75     * Кандидат клучеви: парцијалниот клуч Name, целосно се идентификува преку идентификувачката релација со PROJECT_THREAD.
    76     * Атрибути:
    77         * Name - текстуален,задолжителен.
    78        * Description - текстуален,задолжителен.
    79 * Ентитет **PERMISSIONS** - податоци за пермисиите, кои се достапни во дефинирањето на улогите во пеодиенчните проекти.
    80     * Кандидат клучеви: Name, како податок уникат за секојa пермисија. Истиот го избравме за примарен клуч на ентитетов.
    81     * Атрибути:
    82         * Name - текстуален,задолжителен.
    83      
     74* Ентитет **PERMISSIONS** - претставува ентите за дадена пермисија (дозвола). Пополнет со предефинирани вредности (''READ'',''WRITE'',''CREATE'',''DELETE'').
     75  * Кандидат клучеви: овој ентитет е целосно идентификуван преку атрибутот **Name**
     76  * Атрибути:
     77    * Name - текстуален податок, задолжителен.
     78* Ентитет **PROJECT_ROLE** - претставува улога назначена на корисник, во даден проект.
     79 * Кандидат клучеви: овој ентитет е целосно идентификуван преку сурогат клучот **id**
     80  * Атрибути:
     81    * id - нумерички податок, задолжителен.
     82    * Name - текстуален податок, задолжителен.
     83    * Override_type - текстуален податок со предефинирани вредности (''INCLUDE'',''EXCLUDE''), задолжителен
     84       * Забелешка: Атрибутот **Override_type** влијае на интерпретацијата на релацијата **FOR_RESOURCE**.
     85* Ентитет **PROJECT_RESOURCE** - претставува ресурс (веќе постоечки ентитет) кој што може да се користи во рамки на даден проект како проектен ресурс.
     86 * Кандидат клучеви: овој ентитет е целосно идентификуван преку сурогат клучот **Id**
     87  * Атрибути:
     88    * Id - нумерички податок, задолжителен.
     89* Слаб Ентитет **ROLE_PERMISSIONS** - означува кој пермисии ги има дадена улога. Целосно се идентификува преку релациите **FOR_ROLE**,**FOR_PERMISSION**.
     90
     91
    8492
    8593=== Релации