E-R Дијаграм
Податочни побарувања
Ентитети
- Users – ентитет кој ги содржи податоците за корисниците на апликацијата. Од овој ентитет наследуваат уште 3 други ентитети.
- Кандидат клучеви: userId вештачки нумерички идентификатор за секоја инстанца од Users. userId претставува примарен клуч (задолжителен).
- Атрибути:
- firstName – текстуален тип (задолжителен)
- lastName – текстуален тип (задолжителен)
- Username – текстуален тип (задолжителен)
- Password – текстуален тип (задолжителен)
- Email – текстуален тип (задолжителен)
- Workers – Наследува од Users.
- Кандидат клучеви: workerUserId, наследен нумерички идентификатор од Users(userId), кој уникатно ја идентификува секоја истанца од Workers. Тој претставува примарен клуч (задолжителен).
- Managers – Наследува од Users.
- Кандидат клучеви: managerUserId, наследен нумерички идентификатор од Users(userId), кој уникатно ја идентификува секоја истанца од Managers. Тој претставува примарен клуч (задолжителен).
- Suppliers – Наследува од Users.
- Кандидат клучеви: supplierUserId, наследен нумерички идентификатор од Users(userId), кој уникатно ја идентификува секоја истанца од Suppliers. Тој претставува примарен клуч (задолжителен).
- Атрибути
- supplierInfo – текстуален тип (задолжителен)
- Phone – текстуален податок (задолжителен)
- Address – сложен атрибут што се состои од Street – текстуален тип, Number – нумерички тип, City – текстуален тип (задолжителен)
- Articles – Ентитет кој чува информации за артиклите на организацијата.
- Кандидат клучеви: atricleId вештачки нумерички идентификатор за секоја инстанца од Articles. articleId претставува примарен клуч (задолжителен).
- Атрибути:
- Description – текстуален тип (задолжителен)
- Name – текстуален тип (задолжителен)
- ImageURL – текстуален тип
- maxQuantityPerLocation – текстуален тип (задолжителен, >0)
- storedArticles – Ентитет кој чува информации за артиклите кои се наоѓаат во некои од магацините на организацијата.
- Кандидат клучеви: SAtricleId вештачки нумерички идентификатор за секоја инстанца од storedArticles. SArticleId претставува примарен клуч (задолжителен).
- Атрибути
- Quantity – нумерички тип (задолжителен, >0)
- invoicedArticles – Ентитет кој чува чува информации за фактурираните артикли.
- Кандидат клучеви: IAtricleId вештачки нумерички идентификатор за секоја инстанца од storedArticles. IArticleId претставува примарен клуч (задолжителен).
- Атрибути
- Quantity – нумерички тип (задолжителен, >0)
- Price – нумерички тип (задолжителен, >0)
- orderedArticles – Ентитет кој чува информации за нарачините артикли.
- Кандидат клучеви: ОAtricleId вештачки нумерички идентификатор за секоја инстанца од storedArticles. ОArticleId претставува примарен клуч (задолжителен).
- Атрибути
- Quantity – нумерички тип (задолжителен, >0)
- Price – нумерички тип (>0)
- articleStatus – текстуален тип (задолжителен)
- Orders – Ентитет кој чува информации за нарачките на менаџерите до овластените добавувачи.
- Кандидат клучеви: orderId вештачки нумерички идентификатор за секоја инстанца од Orders. orderId претставува примарен клуч (задолжителен).
- Атрибути
- Status – текстуален тип (задолжителен)
- dateCreated – датум (задолжителен)
- dateApproved – датум
- dateDelivered – датум
- Priority – текстуален тип (задолжителен)
- supplierRemark – текстуален тип
- managerRemark – текстуален тип
- Invoices – Ентитет кој чува информации за фактурите.
- Кандидат клучеви: invoiceId вештачки нумерички идентификатор за секоја инстанца од Invoices. invoiceId претставува примарен клуч (задолжителен).
- Атрибути
- dateCreated – датум (задолжителен)
- customerName – текстуален тип
- customerAddress – сложен атрибут што се состои од Street – текстуален тип, Number – нумерички тип тип, City – текстуален тип
- customerPhone – текстуален тип
- totalPrice – изведен атрибут
- Locations – Ентитет кој чува информации за локациите на магацините.
- Кандидат клучеви: locationId вештачки нумерички идентификатор за секоја инстанца од Locations. locationId претставува примарен клуч (задолжителен).
- Атрибути
- Name – текстуален тип (задолжителен)
- Address – сложен атрибут што се состои од Street – текстуален тип, Number – нумерички тип, City – текстуален тип (задолжителен)
- Phone – текстуален тип (задолжителен)
- Categories – Ентитет кој чува информации за категориите на артикли
- Кандидат клучеви: categoryId вештачки нумерички идентификатор за секоја инстанца од Categories. categoryId претставува примарен клуч (задолжителен).
- Атрибути
- Name – текстуален тип (задолжителен)
- Description – текстуален тип (задолжителен)
- Questions – Ентитет кој чува информации за прашањата поставени до менаџерите.
- Кандидат клучеви: questionId вештачки нумерички идентификатор за секоја инстанца од Questions. questionId претставува примарен клуч (задолжителен).
- Атрибути
- Text – текстуален тип (задолжителен)
- dateCreated – датум (задолжителен)
- Answers – Ентитет кој чува информации за одговорите на поставените прашања. Претставува слаб ентитет и е во зависна врска со Questions.
- Кандидат клучеви: answerId вештачки нумерички идентификатор за секоја истанца од Answers. answerId претставува примарен клуч заедно со questionId од Questions (задолжителен).
- Атрибути
- Text – текстуален тип (задолжителен)
- dateCreated – датум (задолжителен)
Релации
- Asked_by – Секој работник може да поставува прашања до менаџерите околу достапноста на артиклите. Еден вработен може да праша повеќе прашања, а едно прашање може да биде прашано од точно еден работник. Тотално учество од страната на прашањето.
- Answered_by - Секој менаџер може да одговара на поставените прашања. Еден менаџер може да одговори повеќе прашања, а едно прашање може да биде одговорено од точно еден менаџер. Тотално учество од страната на прашањето.
- Availability_for – Секое прашање може да се однесува за достапноста на одредени складирани артикли. Едно прашање може да се однесува на повеќе складирани артикли, а за еден складиран артикл може да постојат повеќе испратени прашања.
- Answer_of – Прашања имаат одговори. Едно прашање може да биде одговорено повеќе пати, додека еден одговор може да се однесува на точно едно прашање. Тотално учество од страната на одговори.
- Works_at – Секој работник работи на одредена локација. Еден работник може да работи на една локација, а на една локација може да работат повеќе работници.
- Inv_created_by – Работниците креираат фактури. Еден работник може да креира повеќе фактури, а една фактура може да биде креирана од точно еден работник. Тотално учество од страната на фактурата.
- Belongs_to – Артиклите имаат категории. Еден артикл може да припаѓа во повеќе категории, а во една категорија може да има повеќе артикли.
- Responsible_for – Добавувачите се одговорни за исполнување на нарачките од менаџерите. За една нарачка е одговорен точно еден добавувач, а еден добавувач може да има повеќе нарачки за кои е одговорен. Тотално учество од страната на нарачка.
- Stored_of – Артиклите се сместуваат на локации. Од еден артикл може да има повеќе складирани артикли(на различни локации), додека складираниот артикл може да биде од точно еден артикл. Тотално учество од страната на складираните артикли.
- Stored_at – Складираните артикли се чуваат на локации. Еден складиран артикл се чува на точно една локација, дoдека на една локација може да чуваме повеќе складирани артикли. Тотално учество од страната на складираните артикли.
- Invoiced_of – Артиклите се фактурираат. Еден артикл може да се фактурира повеќе пати, додека еден фактуриран артикл може да е од точно еден артикл. Тотално учество од страната на фактурираните артикли.
- Inv_consists_of – Фактурите се составени од фактурирани артикли. Во една фактура може да има повеќе фактурирани артикли, а еден фактуриран артикл може да се наоѓа во точно една фактура. Тотално учество од страната на фактурираните артикли.
- Ord_created_by – Менаџерите креираат нарачки. Еден менаџер може да креира повеќе нарачки, а една нарачка може да биде креирана од точно еден менаџер. Тотално учество од страната на нарачки.
- Ordered_of – Артиклите се нарачуваат од менаџерите. Еден артикл може да се нарача повеќе пати, додека еден нарачан артикл може да е од точно еден артикл. Тотално учество од страната на нарачаните артикли.
- Ordered_for – Нарачаните артикли се за одредена локација. Еден нарачан артикл може да биде нарачан за точно една локација, додека пак на една локација може да има повеќе нарачани артикли. Тотално учество од страната на нарачаните артикли.
- Ord_consists_of – Нарачката се состои од повеќе нарачани артикли, додека еден нарачан артикл може да биде во точно една нарачка. Тотално учество од страната на нарачани артикли.
- Supplies – Добавувачите добавуваат производи од различни категории. Еден добавувач добавува артикли од повеќе категории, а една категорија може да ја добавуваат повеќе добавувачи.
Историјат
- Верзија 1: Иницијална верзија на моделот. Креирани се ентитетите и релациите меѓу истите.
- Верзија 2: Измени направени на одредени места. Додадено е тотално учество од orderedArticles кон Order_for и избришано е тотално учество од storedArticles кон Avaliability_for.
- Верзија 3: Измени направени по консултации со демонстраторот. Слабите ентитети invoicedArticles, orderedAtricles и storedArticles беа заменети со силини ентитети и соодветно беа сменети слабите релации.
- Верзија 4: Додадено статус за секој нарачан артикл.
Last modified
18 months ago
Last modified on 07/09/23 22:46:36
Attachments (2)
- ERModel_v3.jpg (154.1 KB ) - added by 2 years ago.
- ERModel_v4.jpg (155.0 KB ) - added by 2 years ago.
Download all attachments as: .zip
Note:
See TracWiki
for help on using the wiki.