= Верзија 8 == ER дијаграм [[Image(ERmodel_v8.png)]] == Податочни побарувања **''Ентитети''** 1. **Users** - ентитет кој претставува унија од повеќе видови корисници * id - нумерички тип (примарен клуч) * name - varchar тип (задолжителен атрибут, макс. 80 карактери) * username - varchar тип (задолжителен атрибут, макс. 100 карактери) * email - varchar тип (задолжителен атрибут) * password - varchar тип (задолжителен атрибут) * created_at - датум (задолжитенел атрибут) * updated_at - датум (опционален атрибут) * deleted_at - датум (опционален атрибут) * email_verified_at - датум (опционален атрибут) * profile_picture - varchar тип (задолжителен атрибут) * last_login_at - датум (опционален атрибут) * last_login_ip - varchar тип (опционален атрибут, макс. 15 карактери) * stripe_id - varchar тип (опционален атрибут) * pm_type - varchar тип (опционален атрибут) * pm_last_four - char тип(опционален атрибут, 4 карактери) * trial_ends_at - датум (опционален атрибут) * remember_token - varchar тип (опционален атрибут, 100 карактери) * user_agent - текстуален тип (опционален атрибут) 2. **Organizers** - ентитет кој преставува организатор * city - varchar тип (задолжителен атрибут, макс. 85 карактери) * country - varchar тип (задолжителен атрибут, макс. 56 карактери) 3. **Artists** - ентитет кој претставува артист * short_description - текстуален тип (опционален атрибут) * price_per_hour - нумерички тим (опционален атрибут, мин. 1) * city - varchar тип (задолжителен атрибут, макс. 85 карактери) * country - varchar тип (задолжителен атрибут, макс. 56 карактери) * admin_verified_at - датум (опционален атрибут) * instagram_link - varchar тип (опционален атрибут) * soundcloud_link - varchar тип (опционален атрибут) * facebook_link - varchar тип (опционален атрибут) * apple_music_link - varchar тип (опционален атрибут) * youtube_link - varchar тип (опционален атрибут) * spotify_link - varchar тип (опционален атрибут) * birth_date - датум (задолжителен атрибут) 4. **Managers** - ентитет кој претставува менаџер на одреден(и) артист(и) 5. **Manager_Invites** - ентитет кој претставува поканет менаџер од страна на одреден артист * id - нумерички тип (примарен клуч) * email - varchar тип (задолжителен атрибут) * invitation_token - varchar тип (задолжителен атрибут) * created_at - датум (задолжителен атрибут) * updated_at - датум (опционален атрибут) * registered_at - датум (опционален атрибут) 6. **Artist_Types** - ентитет кој претставува типови на артисти (соло, дуо, бенд, итн.) * id - нумерички тип (примарен клуч) * name - varchar тип (задолжителен атрибут) 7. **Genres** - ентитет кој претставува жанрови на музика * id - нумерички тип (примарен клуч) * name - varchar тип (задолжителен атрибут) 8. **Images** - ентитет кој претставува слики за одреден артист * id - нумерички тип (примарен клуч) * path - varchar тип (задолжителен атрибут) * created_at - датум (задолжителен атрибут) * updated_at - датум (опционален атрибут) 9. **Reviews** - ентитет кој претставува рецензии за одреден артист * id - нумерички тип (композитен клуч) * rating - нумерички тип (задолжителен атрибут) * content - текстуален тип (задолжителен атрибут) * created_at - датум (задолжителен атрибут) 10. **Comments** - ентитет кој претставува коментар за одредена понуда * id - нумерички тип (примарен клуч) * content - текстуален тип (задолжителен атрибут) * created_at - датум (задолжителен атрибут) * updated_at - датум (опционален атрибут) 11. **Offers** - ентитет кој претставува понуда (која се испраќа до одреден артисти) * id - нумерички тип (примарен клуч) * slug - varchar тип (задолжителен атрибут, макс. 150 карактери) * created_at - датум (задолжителен атрибут) * updated_at - датум (опционален атрибут) * completed_at - датум (опционален атрибут) * status - нумерички тип (задолжителен атрибут) * price - нумерички тип (задолжителен атрибут) * payment_type - нумерички тип (задолжителен атрибут) 12. **Transactions** - ентитет кој претставува трансакција * id - нумерички тип (примарен клуч) * name - varchar тип (задолжителен атрибут) * stripe_id - varchar тип (задолжителен атрибут) * stripe_price - float4 тип (задолжителен атрибут) * created_at - датум (задолжителен атрибут) * updated_at - датум (опционален атрибут) * invoice_id - varchar тип (опционален атрибут) 13. **Events** - ентитет кој претстаува настани креирани од страна на организаторот * id - нумерички тип (примарен клуч) * created_at - датум (задолжителен атрибут) * updated_at - датум (опционален атрибут) * slug - varchar тип (задолжителен атрибут, макс. 150 карактери) * city - varchar тип (задолжителен атрибут, макс. 85 карактери) * country - varchar тип (заолжителен атрибут, макс. 56 карактери) * title - varchar тип (задолжителен атрибут, макс. 100 карактери) * end_time - time тип (задолжителен атрибут) * start_time - time тип (задолжителен атрибут) * event_date - датум (опционален атрибут) * description- текстуален тип (опционален атрибут) 14. **Event_Types** - ентитет кој претставува тип на настани * id - нумерички тип (примарен клуч) * name - varchar тип (задолжителен атрибут) 15. **Password_Resets** - ентитет за промена на лозинка * email - varchar тип (задолжителен атрибут) * token - varchar тип (задолжителен атрибут) * created_at - датум (задолжителен атрибут) **''Релации''** * manages - 1:N релација помеѓу Managers и Artists каде што ќе се чуваат записи за тоа кои менаџери кои артисти ги менаџираат а со тоа може да управуваат со нивните податоци. * artists_creates_manager_invites - 1:N релација помеѓу Artists и Manager_Invites. Оваа релацја ги означува сите покани кои артистот ги креирал до одередени менаџери преку Е-Мејл адреси. * is - N:1 релација помеѓу Artists и Artist_Types која означува каков тип на артист е артистот. * sings - M:N релација помеѓу Artists и Genres која означува кои жанрови ги пејат артистите. * artists_has_images - 1:N релација помеѓу Artists и Images која означува кои слики ги има артистот на својот профил. * leaves - 1:N релација помеѓу Organizers и Reviews која го поврзува организаторот со рецензиите кои ги оставил. * reviews_for_artists - N:1 релација помеѓу Reviews и Artists која ги означува рецензиите наменети за одреден артист. * receives - 1:N релација помеѓу Artists и Offers која ги означува понудите кои артистот ги има добиено. * belongs - N:1 релација помеѓу Comments и Offers која ги означува коментарите кои се однесуваат за дадената понуда. * offers_has_transactions - 1:N релација помеѓу Offers и Transactions која ги означува трансакциите направени во рамките на една понуда. * organizers_creates_events - 1:N релација помеѓу Organizers и Events која ги означува настаните кои ги креирал организаторот. * offers_for_events - N:1 релација помеѓу Offers и Events која ги означува понудите испратени во рамките на одреден настан. * events_has_event_types - N:1 релација помеѓу Events и Event_Types која означува каков тип на настан е настанот. * writes - 1:N релација помеѓу Users и Comments која означува кој корисник го оставил коментарот. == Историјат 1. [/attachment/wiki/ERModel/ERmodel_v1.jpg Верзија 1] - Иницијален ЕР модел 1. [/attachment/wiki/ERModel/ERmodel_v2.jpg Верзија 2] - ЕР модел корегиран по консултации со Професорот 1. [/attachment/wiki/ERModel/ERmodel_v3.png Верзија 3] - Промена на ЕР модел 1. [/attachment/wiki/ERModel/ERmodel_v4.png Верзија 4] - ЕР модел по мала корекција 1. [/attachment/wiki/ERModel/ERmodel_v5.png Верзија 5] - Додаден нов атрибут во ентитетот Artists 1. [/attachment/wiki/ERModel/ERmodel_v6.png Верзија 6] - Направени измени во Users и Organizers ентитетите 1. [/attachment/wiki/ERModel/ERmodel_v7.png Верзија 7] - Поправена е врската помеѓу Users и Artists, Organizers и Managers 1. [/attachment/wiki/ERModel/ERmodel_v8.png Верзија 8] - Направени измени за Comments и додаден ентитетот Pasword_Resets