ER дијаграм
Податочни побарувања
Ентитети
- Roles - ентитет кој означува улога на корисник
roleId - нумерички тип (примарен клуч)
roleDescription - текстуален тип (задолжителен атрибут)
roleName - текстуален тип (задолжителен атрибут)
- Users - ентитет кој ги дефинира корисниците
userId - нумерички тип (примарен клуч)
userUsername - текстуален тип (задолжителен атрибут)
userPassword - текстуален тип (задолжителен атрибут)
userName - текстуален тип (задолжителен атрибут)
userSurname - текстуален тип (задолжителен атрибут)
userPictureUrl - текстуален тип (опционален атрибут)
userEmail - текстуален тип (задолжителен атрибут)
userPhoneNumber - текстуален тип (задолжителен атрибут)
- Manufacturers - ентитет кој ги дефинира производителите на продукти
manufacturerId - нумерички тип (примарен клуч)
manufacturerName - текстуален тип (задолжителен атрибут)
manufacturerCountry - текстуален тип (задолжителен атрибут)
- Categories - ентитет кој ја дефинира категоријата на продукти
categoryId - нумерички тип (примарен клуч)
parentCategoryId - нумерички тип (опционален атрибут)
categoryName - текстуален тип (задолжителен атрибут)
- Product Characteristics - ентитет кој ги дефинира карактеристиките на продуктот
characteristicId - нумерички тип (примарен клуч)
characteristicDescription - текстуален тип (задолжителен атрибут)
- Products - ентитет кој ги дефинира продуктите
productId - нумерички тип (примарен клуч)
productName - текстуален тип (задолжителен атрибут)
postDate - датум (задолжителен атрибут)
- User Favourites - ентитет кој дефинира зачуван продукт од страна на корисник
userFavouriteId - нумерички тип (примарен клуч)
- User Comments - ентитет кој дефинира коментари за продуктите
commentId - нумерички тип (примарен клуч)
userComment - текстуален тип (задолжителен атрибут)
- Ratings - ентитет кој означува оцена за продукт
ratingId - нумерички тип (примарен клуч)
ratingValue - нумерички тип (задолжителен атрибут)
- WatchList Products - ентитет кој дефинира зачувани продукти за кои се следи цената
watchListProductId - нумерички тип (примарен клуч)
priceLimit - нумерички тип (задолжителен атрибут)
- Product Images - ентитет кој дефинира слики за продуктите
productImageId - нумерички тип (примарен клуч)
productImageUrl - текстуален тип (задолжителен атрибут)
- Stores - ентитет кој дефинира продавница
storeId - нумерички тип (примарен клуч)
storeName - текстуален тип (задолжителен атрибут)
- Product Instances - ентитет кој дефинира инстанца од продуктот
productInstanceId - нумерички тип (примарен клуч)
productInstancePrice - нумерички тип (задолжителен атрибут)
Релации
belongs_to - N:M релација која ги поврзува ентитетите Categories и Products и означува припадност. Еден продукт може да припаѓа на повеќе категории и една категорија може да содржи повеќе продукти.
has - 1:1 релација која ги поврзува ентитетите Product Characteristics и Products и означува дека еден продукт има една инстанца на одредени карактеристики и една инстанца на карактеристики припаѓа на еден продукт.
produces - 1:N релација која ги поврзува ентитетите Manufacturers и Products и означува дека даден продукт е произведен од еден производител и еден производител може да произведува повеќе продукти.
of - 1:N релација која ги поврзува ентитетите Products и Product Instances и означува инастанцирање. Еден продукт може да има повеќе инстанци, но една инстанца е од само еден продукт.
is - 1:M релација која ги поврзува ентитетите Products и User Favourites и означува зачуван продукт. Еден продукт може да е зачуван продукт и еден зачуван продукт е тип на продукт.
available in - 1:N релација која ги поврзува ентитетите Stores и Product Instances и означува достапност. Една инстанца на продукт може да биде достапна во една продавница, додека една продавница може да има достапни повеќе инстанци на продукт.
retains - 1:N релација која ги поврзува ентитетите Products и Product Images и означува дека еден продукт може да има повеќе слики за него, но една слика припаѓа само на еден продукт.
acts_as - 1:N релација која ги поврзува ентитетите Products и WatchList Products. Еден продукт може да е продукт за следење на цена и еден продукт зачуван за следење е од тип продукт.
receive - 1:N релација која ги поврзува ентитетите Products и Ratings. Еден продукт може да добива повеќе оцени, а една оцена припаѓа на еден продукт.
inholds - 1:N релација која ги поврзува ентитетите Products и User Comments. Еден продукт има повеќе коментари за него, а еден коментар се остава за еден продукт.
has_in_keeping - 1:N релација која ги поврзува Users и User Favourites. Еден корисник може да чува повеќе омилени продукти, додека еден омилен продукт припаѓа на еден корисник.
takes - 1:N релација која ги поврзува Users и Roles. Еден корисник има една улога, а една улога може да ја имаат повеќе корисници.
makes - 1:N релација која ги поврзува Users и Comments. Еден корисник може да остави повеќе коментари и еден коментар е оставен од еден корисник.
writes - 1:N релација која ги поврзува Users и Ratings. Еден корисник може да дава повеќе оцени, а една оцена е напишана и дадена од еден корисник.
holds - 1:N релација која ги поврзува Users и WatchList Products. Еден корисник може да чува повеќе продукти за следење на цена, додека инстанца на еден таков продукт е чуванa од еден корисник.
parent_category - 1:N релација која поврзува ентитетот Categories сам со себе. Една надкатегорија може да има повеќе категории, а една категорија може да припаѓа само на една надкатегорија.
Историјат
Верзија | Промени | |
---|---|---|
ERmodel_v1.jpg | Иницијална верзија | |
ERmodel_v2.jpg | Промена на неколку релации по препорака на демонстратор | |
ERmodel_v3.jpg | Додавање на тотално учество од страната на ентитетите: Product Instances, Product Images, Ratings и User Favourites | |
ERmodel_v4.jpg | Додавање на релација parent_category |
Attachments (4)
- ERdiagram_v1.png (202.3 KB ) - added by 2 years ago.
-
ERmodel_v2.jpg
(146.9 KB
) - added by 2 years ago.
Промена на неколку релации по препорака на демонстратор.
- ERmodel_v3.jpg (225.1 KB ) - added by 2 years ago.
- ERmodel_v4.jpg (227.1 KB ) - added by 2 years ago.
Download all attachments as: .zip