= Верзија 2 == Дијаграм [[Image(ERModel_v01.jpg, 1200px)]] == Податочни побарувања === Ентитети * **Businesses** - Ентитет кој содржи листа од бизниси и информациите во врска со нив. * ''Кандидат клучеви:'' * business_id - PRIMARY KEY, вештачки број, уникатен за еднозначно разликување записи од Businesses, нумерички, not null (задолжителен), auto_increment * ''Атрибути:'' * business_phone - текстуален, максумум 150 знаци * business_address - текстуален, максумум 150 знаци, задолжителен * business_hours - текстуален, максумум 150 знаци * business_name - текстуален, максумум 150 знаци, задолжителен * business_description - текстуален, максумум 500 знаци * business_avg_stars - изведен атрибут, нумерички, помеѓу 1 и 5 * **Services** - Ентитет кој содржи листа од сервиси кои ги нудат бизнисите. * ''Кандидат клучеви:'' * service_id - PRIMARY KEY, вештачки број, уникатен за еднозначно разликување записи од Services, нумерички, not null (задолжителен), auto_increment * ''Атрибути:'' * service_name - текстуален, максумум 150 знаци, задолжителен * **Categories **- Ентитет кој содржи категории во кои спаѓаат бизнисите. * ''Кандидат клучеви:'' * category_id - PRIMARY KEY, вештачки број, уникатен за еднозначно разликување записи од Categories, нумерички, not null (задолжителен), auto_increment * ''Атрибути:'' * category_name - текстуален, максумум 150 знаци, задолжителен * **Reviews** - Ентитет кој ги содржи ревјуата оставени од корисниците. * ''Кандидат клучеви:'' * review_id - PRIMARY KEY, вештачки број, уникатен за еднозначно разликување записи од Reviews, нумерички, not null (задолжителен), auto_increment * ''Атрибути:'' * review_text - текстуален, максумум 500 знаци, задолжителен * review_stars - нумерички, помеѓу 1 и 5, задолжителен * review_timestamp - timestamp, задолжителен * **Reviewers** - Ентитет кои ги содржи посетителите на апликацијата кои можат да се логираат и да остават reviews * ''Кандидат клучеви:'' * reviewer_id - PRIMARY KEY, вештачки број, уникатен за еднозначно разликување записи од Reviewers, нумерички, not null (задолжителен), auto_increment * ''Атрибути'' * reviewer_email - текстуален, максумум 150 знаци, задолжителен * reviewer_name - текстуален, максумум 150 знаци, задолжителен * reviewer_password - текстуален, максумум 150 знаци, задолжителен === Релации * ** belongs_to** - релација која ги поврзува ентитетите Businesses и Categories која покажува кој бизнис припаѓа на која категорија. Бизнисот мора да припаѓа на точно една категорија, а категоријата може да припаѓа на еден или повеќе бизниси. * **offers_services** - релација која ги поврзува Businesses и Services која покажува кои сервиси ги нуди одреден бизнис. Бизнисот мора да нуди еден или повеќе сервиси, а сервисот може да биде понуден од еден или повеќе бизниси. * **of** - релација која ги поврзува Services и Categories, која покажува кој сервис е од која категорија. Сервисот мора да припаѓа на точно една категорија, а под категоријата мора да спаѓа еден или повеќе сервиси. * **left** - релација која ги поврзува Reviews и Reviewers, која покажува кој ревју е оставен од кој ревјуер. Review мора да е оставено од точно еден reviewer, а тој reviewer мора да оставил еден или повеќе reviews. * **about** - релација која ги поврзува Business и Review, која покажува кои ревјуа се оставени за кој бизнис. Бизнисот може да има еден или повеќе reviews за него, а review мора да биде за точно еден бизнис. == Историјат: * [wiki:ERDiagram_v01 Прва верзија]: креирани сите ентитети со сите нивни атрибути и меѓусебни релации. * [wiki:ERDiagram_v02 Втора верзија]: променети 1-N релации кај Categories и Reviewer без тотално учество од страната кај 1. Додаден атрибут timestamp во ентитетот Reviews.