wiki:ERModel

ER дијаграм (верзија 6)

Ентитети

Users - генерален ентитет кој што дефинира корисници на апликацијата.

  • ID - нумерички тип (примарен клуч)
  • name - текстуален тип (задолжителен атрибут)
  • lastName - текстуален тип (задолжителен атрибут)
  • phoneNumber - текстуален тип (задолжителен атрибут)
  • password - текстуален тип (задолжителен атрибут)
  • еmail - текстуален тип (задолжителен атрибут)

Roles - ентитет кој чува податоци за тип на корисник кој што може да биде админ, менаџер, вработен или стандарден корисник.

  • ID - нумерички тип (примарен клуч)
  • type - текстуален тип

Cities - ентитет во кој што ќе се чуваат сите градови во кои што има ветeринарен центар.

  • ID - нумерички тип (примарен клуч)
  • name - текстуален тип (задолжителен атрибут)

Vet_Centers - ентитет во кој ќе се чуваат информации за ветеринарните центри.

  • ID - нумерички тип (примарен клуч)
  • name - текстуален тип (задолжителен атрибут)
  • address - текстуален тип (задолжителен атрибут)
  • description - текстуален тип
  • longitude - varchar тип
  • latitute - varchar тип
  • phoneNumber - текстуален тип (задолжителен атрибут)
  • workingHours - нумерички тип

Pets - ентитет во кој се чуваат податоци за секое милениче кое што било примено во ветeринарниот центар.

  • ID - нумерички тип (примарен клуч)
  • description - текстуален тип
  • color - (hexadecimal ->char,short или int)
  • dateOfBirthday - дата
  • description - текстуален тип
  • name - текстуален тип

Pet_Galery - ентитет во кој ќе се чуваат слики од миленичиња.

  • ID - нумерички тип (примарен клуч)
  • image

Type_Of_Pets - ентитет во кој ќе се чуваат податоци за различни категории на миленичиња (куче, маче итн.).

  • ID - нумерички тип (примарен клуч)
  • kind_of_pet - текстуален тип

Breeds - ентитет во кој ќе се чуваат податоци за одредена раса/сорта. Breeds e слаб ентитет бидејќи расата на милениче не постои ако не постои категоријата на милениче.

  • ID - нумерички тип (примарен клуч)
  • name - текстуален тип

Pet_Status - ентитет во кој ќе се зачувуваат сите типови на состојби кога едно милениче е во ветеринарна служба, пример: примен, на чекање, операција, закрепнува итн..

  • ID - нумерички тип (примарен клуч)
  • type - текстуелен тип
  • note - текстуален тип

Therapy - ентитет во кој ќе се зачувуваат сите настани поврзани со едно милениче

  • ID - нумерички тип (примарен клуч)
  • appointmentDate - датум
  • description - текстуален тип

Medecines - ентитет во кој ќе се чуваат сите лекови.

  • ID - нумерички тип (примарен клуч)
  • name - текстуален тип
  • description - текстуален тип

Manufacturer - ентитет во кој ќе се чуваат производителите на лекови.

  • ID - нумерички тип (примарен клуч)
  • name - текстуален тип
  • description - текстуален тип
  • state - текстуален тип
  • city - текстуален тип

Diagnostics - ентитет во кој ќе се чуваат дијагнозите за миленичињата.

  • ID - нумерички тип (примарен клуч)
  • description - текстуален тип

Jobs - ентитет во кој ќе се чуваат слободните работни места во ветеринарните центри.

  • ID - нумерички тип (примарен клуч)
  • description - текстуален тип
  • predictedSalary - нумерички тип

Reports - ентитет во кој ќе се чуваат пријавите за изгубени миленичиња.

  • ID - нумерички тип (примарен клуч)
  • description - текстуален тип

Pet_Cares - ентитет во кој ќе се чуваат барањата за услуги (Пример: за чување на милениче).

  • ID - нумерички тип (примарен клуч)
  • title - текстуален тип
  • description - текстуален тип
  • dateEnding - дата
  • start_date - дата

Products - ентитет во кој ќе се чуваат податоци за продуктите.

  • ID - нумерички тип (примарен клуч)
  • name - текстуален тип
  • description - текстуален тип
  • price - нумерички тип
  • dateAdded - дата
  • isActive - boolean (nullable)
  • category - текстуален тип
  • available_quantity - нумерички тип

Orders- ентитет во кој ќе се чуваат податоци за нарачките.

  • ID - нумерички тип (примарен клуч)
  • Quantity - нумерички тип

Blog_Post_For_Consultations - ентитет во кој ќе се чуваат сите консултации.

  • ID - нумерички тип (примарен клуч)
  • title - текстуален тип
  • description - текстуален тип
  • dateAsked - дата

Blog_Post_Answers - ентитет во кој ќе се чуваат прашањата.

  • ID - нумерички тип (примарен клуч)
  • reply - текстуален тип
  • parentID - нумерички тип
  • date_answers - дата

Релации

1. servise_for 1-N релација помеѓу Users и Pet_Cares. Еден корисник може да побара услуга за повеќе миленичиња. Едно милениче има само еден сопственик и истиот може да побара услуга од ветеринарниот центар.

2. are_adviced_on 1-N релација помеѓу Users и Blog_Post_For_Consultations. Еден корисник може да побара повеќе совети. Секој од советите припаѓа на еден корисник.

3. respond_to 1-N релација помеѓу Blog_Post_Answers и Users. Еден корисник може да одговара на повеќе прашања но секој одговор е даден од еден User.

4. need 1-N релација помеѓу Jobs и Users. За една работа се потребни повеќе корисници. На еден корисник му треба само една работа.

5. is_the_owner_of 1-N релација помеѓу Users и Pets. Еден корисник може да биде сопственик на повеќе миленичиња. Едно милениче има само еден сопственик.

6. made_by N-1 релација помеѓу Users и Diagnostics. Еден корисник (ветеринар) може да воспостави повеќе дијагнози. Една дијагноза е воспоставена од еден ветеринар.

7. include 1-N релација помеѓу Roles и Users. Kaде што за секој User ќе стои врската со неговата улога. Секој корисник ќе има една улога и една улога ќе биде за повеќе корисници.

8. extend 1-N релација помеѓу Blog_Post_For_Consultations и Blog_Post_Answers. Едно прашање може да има повеќе одговори. Но секој одговор е само за едно прашање.

9. is_in 1-N релација помеѓу Vet_Centers и Јоbs. Во еден ветеринарен центар може да има отворено повеќе работни позиции. Една работна позиција припаѓа само на еден ветеринарен центар.

10. is_located 1-N релација помеѓу Cities i Vet_Centers. Во еден град може да има повеќе ветеринарни центри, ветеринарниот центар може да се наоѓа само во еден град.

11. visit N-M релација помеѓу Pets и Vet_Centers. Во еден ветеринарен центар може да бидат донесени повеќе животни. Едно животно може да биде однесено само во еден ветeринарен центар.

12. thеre_are N-M релација помеѓу Type_Of_Pets и Products. За едeн вид на животно има повеќе продукти за продажба. Еден продукт може да биде достапен за повеќе видови миленичиња.

13. are_made N-M релација помеѓу Products и Orders. За еден продукт може да има повеќе нарачки. Во една нарачка може да има повеќе продукти.

14. available N-M релација помеѓу Products и Type_Of_Pets. Еден продукт може да биде достапен за повеќе видови на миленичиња. За еден вид има повеќе продукти кои се достапни за нарачка.

15. from 1-1 релација помеѓу Breeds и Type_Of_Pets. Една категорија на миленичиња припаѓа само на една раса. Една раса на миленичиња припаѓа само во една категорија.

16. takes N-M релација помеѓу Pets и Therapy. За едно милениче има повеќе настани. За еден настан има повеќе животни.

17. has 1-N релација помеѓу Pet_Status и Therapy. За една состојба има повеќе настани. За еден настан има само една состојба.

18. treated_by 1-N релација помеѓу Diagnostics и Therapy. За една дијагноза има повеќе терапии кои што му се даваат на миленичето. За секоја терапија има една дијагноза.

19. prescribes 1-N релација помеѓу Diagnostics и Medecines. За една дијагноза има повеќе лекови. Еден лек е само за одредена дијагноза.

20. produced N-1 релација помеѓу Medecines и Manufacturers. Одреден лек го прави само еден производител. Еден производител може да произведе повеќе лекови.

21. is_being_prepared 1-N релација помеѓу Pets и Reports. За едно милениче може да има повеќе извештаи. Еден извештај припаѓа само на едно милениче.

22. it_might_be 1-N релација помеѓу Type_Of_Pets и Pets. Вo еден вид (куче, маче) на милениче припаѓаат повеќе миленичиња. Едно милениче неможе да припаѓа во различни вида.

23. there_are_in 1-N релација помеѓу Pets и Pet_Galery. За едно милениче може да има повеќе слики. Една слика припаѓа само на едно милениче.

24. writes 1-N релација помеѓу Users и Reports. Еден корисник (доктор) може да напише повеќе извештаи. Еден извештај е напишан од еден доктор.

25. requires 1-N релација помеѓу Vet_Centers и Pet_Cares. Во еден ветеринарен центар може да биде побарано да се згрижат повеќе миленици. Услугата згрижување на едно милениче може да биде побарана само во еден ветеринарен центар.

26. is_made_in 1-N релација помеѓу Vet_Centers и Diagnostics. Во еден ветеринарен центар може да се поставуваат повеќе дијагнози. Една дијагноза истовремено може да биде поставена само во еден ветеринарен центар.

27. established N-M релација помеѓу Pets и Diagnostics. На едно милениче може да му бидат поставени повеќе дијагнози. Една иста дијагноза може да биде поставена кај повеќе миленичиња.

27. for 1-N релација помеѓу Pets_Status и Pets. Еден статус на состојба (примен, на чекање) може да го имаат повеќе миленици. Едно милениче истовремено може да има само еден статус на состојба.

28. service_for_pets 1-N релација помеѓу Pet_Cares и Pets. Една услуга може да биде побарана за повеќе милиничиња. За едно милениче истовремено може да биде побарана само една услуга.

29. make_or_aaprove 1-N релација помеѓу Users и Orders. Едeн корисник може да направи/потврди повеќе нарачки. Една нарачка може да биде направена/потврдена од само еден корисник.

Историјат

Верзија 1 - Иницијална верзија на моделот. Креирани се ентитетите и релациите меѓу истите.

Верзија 2 - Од страна на демонстраторката на лабраториски вежби ни беше предложено да ја промениме релацијата made_by N:M (Users:Diagnostics) со made_by 1:N (Users:Diagnostics).

Верзија 3 - Сами си воочивме една грешка во релацијата are_advised_on 1-N релација помеѓу Blog_Post_For_Consultations и Users. Истата ја поправивме на 1-N релација помеѓу Users и Blog_Post_For_Consultations.

Верзија 4 - Го додадовме атрибутот name кај ентитетите Medecines и Manufacturers.

Верзија 5 - Го додадовме атрибутот password кај ентитетот Users.

Верзија 6 - Го избришавме атрибутот adress кај ентитетот Cities.

Верзија 7 - 1. Со релацијата is_made_in ги поврзавме Vet_Centers со Diagnostics.
2. Со established ги поврзавме Pets со Diagnostics.
3. Со релацијата for ги поврзавме Pets со Pets_Status.
4. Избришена релацијата помеѓу Pets и Products. Помеѓу Pets i Type_of_Pets преименувана релацијата од available во there_are.
5. Во Blog_Post_Answers додаден атрибут date_answers.
6. Во Pets додаден атрибут name.
7. Во Type_of_Pets атрибутот name преименуван во kind_of_pet.
8. Во Pet_Cares додаден атрибут start_date.
9. Во Products додаден атрибут available_quantity.
10. Со релацијата make_or_approve ги поврзавме Users со Orders.
11. Релацијата помеѓу Medecines и Manufacturers преименувана во produced (заради две релации со исто име).
12. Со релацијата service_for_pets ги поврзавме Pets со Pet_Cares.

Last modified 5 weeks ago Last modified on 04/09/24 14:03:10

Attachments (8)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.