Changes between Version 1 and Version 2 of ERModel
- Timestamp:
- 12/21/23 17:55:55 (5 months ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ERModel
v1 v2 1 [[Image('ERmodel_v1.png',900px)]] 2 3 4 1 5 AuditlyUser служи за корисниците на Auditly апликацијата. 6 2 7 AuditlyUser ( 8 3 9 Id INT PRIMARY KEY, 10 4 11 FirstName VARCHAR(50) NOT NULL, 12 5 13 LastName VARCHAR(50) NOT NULL, 14 6 15 EmailAddress VARCHAR(255) NOT NULL, 16 7 17 UserDomainName VARCHAR(255) 18 8 19 ); 9 20 21 22 10 23 Product се продуктите за кои корисникот избира да ги мониторира. 24 11 25 Product ( 26 12 27 DomainName VARCHAR(255) PRIMARY KEY 28 13 29 ); 14 30 31 32 15 33 ProductIndustry е индустрија на даден продукт. Избрав да биде ентитет на не повеќевресносен атрибут бидејќи повеќе проукти може да бидат во една индустрија и еен продукт може да биде во повеќе индустрии 34 16 35 ProductIndustry ( 36 17 37 Id INT PRIMARY KEY, 38 18 39 ProductDomainName VARCHAR(255), 40 19 41 Industry VARCHAR(255) NOT NULL, 42 20 43 FOREIGN KEY (ProductDomainName) REFERENCES Product(DomainName) 44 21 45 ); 22 46 47 48 23 49 Reviewer е енитет кој има објавено Review 50 24 51 Reviewer ( 52 25 53 Id INT PRIMARY KEY, 54 26 55 FirstName VARCHAR(255) NOT NULL, 56 27 57 LastName VARCHAR(255) NOT NULL, 58 28 59 Position VARCHAR(255), 60 29 61 CompanyName VARCHAR(255), 62 30 63 EmailAddress VARCHAR(255), 64 31 65 LinkedInUserProfileUrl VARCHAR(255) 66 32 67 ); 33 68 69 70 34 71 Message се вид на пораки секвенци или тригери кои корисникот кои прилагодува и ги активира кога ќе се појави некое Review. Пример секвенца на порака: На секој што има оставено Review со (5) звезди или со порака од (позитивен) карактер, прати му порака по меил или Линкедин со наслов "Thank you for the great review, here is a 10% discount" 72 35 73 Message ( 74 36 75 Id INT PRIMARY KEY, 76 37 77 UserId INT, 78 38 79 MessageType VARCHAR(255) CHECK (MessageType IN ('email', 'linkedin')), 80 39 81 EmailSubject VARCHAR(255), 82 40 83 EmailText TEXT, 84 41 85 LinkedInText TEXT, 86 42 87 FOREIGN KEY (UserId) REFERENCES User(Id), 88 43 89 CHECK ((MessageType = 'email' AND EmailSubject IS NOT NULL AND EmailText IS NOT NULL) OR (MessageType = 'linkedin' AND LinkedInText IS NOT NULL)) 90 44 91 ); 45 92 93 94 46 95 Review е преглед кој е оставен од Reviewer на која ReviewSite 96 47 97 Review ( 98 48 99 Id INT PRIMARY KEY, 100 49 101 ReviewerId INT, 102 50 103 ProductId INT, 104 51 105 ReviewSite VARCHAR(255) NOT NULL, 106 52 107 Sentiment VARCHAR(255), 108 53 109 ReviewerScore NULL, 110 54 111 ReviewText TEXT, 112 55 113 DateOfReview DATE NOT NULL, 114 56 115 FOREIGN KEY (ReviewerId) REFERENCES Reviewer(Id), 116 57 117 FOREIGN KEY (ProductId) REFERENCES Product(DomainName) 118 58 119 CHECK (Sentiment = 'positive' OR Sentiment = 'negative' OR Sentiment = 'neutral') 120 59 121 CHECK(Sentiment NOT NULL OR ReviewerScore NOT NULL) 122 60 123 CHECK (ReviewerScore >= 0); 124 61 125 ); 62 126 127 128 63 129 SocialMediaAccounts се сите собрани профили на социјални мрежни на даден Reviewer 130 64 131 SocialMediaAccounts( 132 65 133 Id INT PRIMARY KEY, 134 66 135 SocialMediaLink VARCHAR(255) PRIMARY KEY, 136 67 137 ReviewerId INT, 138 68 139 SocialMediaType VARCHAR(255), 140 69 141 FOREIGN KEY (ReviewerId) REFERENCES Reviewer(Id) 142 70 143 );