wiki:ERModel

Верзија 4

Дијаграм

Податочни побарувања

Ентитети

  • Businesses - Ентитет кој содржи листа од бизниси и информациите во врска со нив.
    • Кандидат клучеви:
      • business_id - PRIMARY KEY, вештачки број, уникатен за еднозначно разликување записи од Businesses, нумерички, not null (задолжителен), serial
    • Атрибути:
      • business_phone - текстуален, максумум 150 знаци
      • business_hours - текстуален, максумум 150 знаци
      • business_name - текстуален, максумум 150 знаци, задолжителен
      • business_description - текстуален, максумум 500 знаци
      • business_avg_stars - изведен атрибут, нумерички, помеѓу 1 и 5
  • Addresses - Ентитет кој содржи листа од адреси на бизнисите.
    • Кандидат клучеви:
      • address_id - PRIMARY KEY, вештачки број, уникатен за еднозначно разликување записи од Addresses, нумерички, not null (задолжителен), serial
    • Атрибути:
      • address_street - текстуален, максумум 150 знаци
      • address_postal_code - текстуален, максумум 150 знаци
      • address_city - текстуален, максумум 150 знаци
  • Services - Ентитет кој содржи листа од сервиси кои ги нудат бизнисите.
    • Кандидат клучеви:
      • service_id - PRIMARY KEY, вештачки број, уникатен за еднозначно разликување записи од Services, нумерички, not null (задолжителен), serial
    • Атрибути:
      • service_name - текстуален, максумум 150 знаци, задолжителен
  • Categories - Ентитет кој содржи категории во кои спаѓаат бизнисите.
    • Кандидат клучеви:
      • category_id - PRIMARY KEY, вештачки број, уникатен за еднозначно разликување записи од Categories, нумерички, not null (задолжителен), serial
    • Атрибути:
      • category_name - текстуален, максумум 150 знаци, задолжителен
  • Reviews - Ентитет кој ги содржи ревјуата оставени од корисниците.
    • Кандидат клучеви:
      • review_id - PRIMARY KEY, вештачки број, уникатен за еднозначно разликување записи од Reviews, нумерички, not null (задолжителен), serial
    • Атрибути:
      • review_text - текстуален, максумум 500 знаци, задолжителен
      • review_title - текстуален, максумум 150 знаци, задолжителен
      • review_stars - нумерички, помеѓу 1 и 5, задолжителен
      • review_timestamp - timestamp, задолжителен
  • Reviewers - Ентитет кои ги содржи посетителите на апликацијата кои можат да се логираат и да остават reviews
    • Кандидат клучеви:
      • reviewer_id - PRIMARY KEY, вештачки број, уникатен за еднозначно разликување записи од Reviewers, нумерички, not null (задолжителен), serial
    • Атрибути
      • reviewer_email - текстуален, максумум 150 знаци, задолжителен
      • reviewer_name - текстуален, максумум 150 знаци, задолжителен
      • reviewer_password - текстуален, максумум 150 знаци, задолжителен
      • reviewer_verified - булеан, задолжителен

Релации

  • belongs_to - релација која ги поврзува ентитетите Businesses и Categories која покажува кој бизнис припаѓа на која категорија. Бизнисот мора да припаѓа на точно една категорија, а категоријата може да припаѓа на еден или повеќе бизниси.
  • offers_services - релација која ги поврзува Businesses и Services која покажува кои сервиси ги нуди одреден бизнис. Бизнисот мора да нуди еден или повеќе сервиси, а сервисот може да биде понуден од еден или повеќе бизниси.
  • of - релација која ги поврзува Services и Categories, која покажува кој сервис е од која категорија. Сервисот мора да припаѓа на точно една категорија, а под категоријата може да спаѓаат еден или повеќе сервиси.
  • left - релација која ги поврзува Reviews и Reviewers, која покажува кој ревју е оставен од кој ревјуер. Review мора да е оставено од точно еден reviewer, а тој reviewer може да оставил еден или повеќе reviews.
  • about - релација која ги поврзува Business и Review, која покажува кои ревјуа се оставени за кој бизнис. Бизнисот може да има еден или повеќе reviews за него, а review мора да биде за точно еден бизнис.
  • has_address - релација која ги поврзува Business и Addresses, која покажува кој бизнис е на која адреса. Бизнисот мора да биде на барем една адреса, а адресата мора да биде за точно еден бизнис.
  • is_for_address - релација која ги поврзува Addresses и Reviews, која покажува кој ревју се однесува за која адреса на даден бизнис. Едно ревју може да се однесува на една адреса од бизнисот, а за една адреса може да се оставени повеќе ревјуа.

Историјат:

  • Прва верзија: креирани сите ентитети со сите нивни атрибути и меѓусебни релации.
  • Втора верзија: променети 1-N релации кај Categories и Reviewer без тотално учество од страната кај 1. Додаден атрибут timestamp во ентитетот Reviews.
  • Трета верзија: додаден наслов кај Reviews, како и ентитет Addresses кои припаѓаат на бизнисите. Ревјуата ќе се однесуваат на одреден бизнис кој е на одредена адреса.
  • Четврта верзија: додаден слаб ентитет Addresses, кој е во релација со Businesses и Reviews за овозможување ист бизнис на повеќе адреси како и ревју кој се однесува за биснис на одредена локација. Додаден review_title атрибут во ентитетот Reviews. Додаден булеан атрибут reviewer_verified во ентитетот Reviewers, кој укажува на тоа дали дадениот ревјуер е верификуван.
Last modified 2 years ago Last modified on 11/24/21 14:41:50

Attachments (6)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.