Верзија 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
3 years ago
Last modified on 11/24/21 14:41:50
Attachments (6)
-
ERModel_v01.jpg
(182.5 KB
) - added by 3 years ago.
ERModel v01
- ERModel_v02.jpg (54.2 KB ) - added by 3 years ago.
- verzija3.png (83.5 KB ) - added by 3 years ago.
- verzija3.2.png (83.5 KB ) - added by 3 years ago.
- verzija3.3.png (85.5 KB ) - added by 3 years ago.
- ERModel_v04.png (97.9 KB ) - added by 3 years ago.
Download all attachments as: .zip
Note:
See TracWiki
for help on using the wiki.