Version 25 (modified by 2 years ago) ( diff ) | ,
---|
Верзија 1
Дијаграм
Податочни побарувања
Ентитети
1. NARACKA - ентитет кој чува податоци за нарачки
- Примарен клуч: naracka_id, вештачки нумерички идентификатор за секоја инстанца од NARACKA
2. HRANA - ентитет кој чува податоците за храната која ја нудат продажните места
- Примарен клуч: id_stavka, вештачки идентификатор за секоја инстанца од HRANA
Атрибути:
- ime_hra - тип varchar (задолжителен)
3. CENA - слаб ентитет кој зависи од ентитет HRANA и служи за дефинирање на цената на храната во даден временски период.
- Примарен клуч: (broj_cena, id_stavka)
Атрибути:
- iznos - тип integer (задолжителен)
- vazi_od - тип timestamp (задолжителен)
- vazi_do - тип timestamp (опционален)
4. NAMIRNICA - ентитет кој чува податоци за намирниците од кои се прави храната
- Примарен клуч: id_namirnica, вештачки идентификатор за секоја инстанца од NAMIRNICA
Атрибути:
- dali_alergent: тип boolean (задолжителен)
- ime_nam: тип varchar (задолжителен)
5. PRODAZHNOMESTO - ентитет кој чува податоци за продажните места кои нудат храна преку апликацијата
- Примарен клуч: id_mesto, вештачки идентификатор за секоја инстанца од PRODAZHNOMESTO
Атрибути:
- ime - тип varchar (задолжителен)
- lokacija - композитен атрибут составен од ulica и број
- ulica - tip varchar (задолжителен)
- broj - tip integer (задолжителен)
6. FRANSHIZA - ентитет кој чува податоци за франшизите кои ја користат апликацијата за преку свооите продажни места нудат храна
- Примарен клуч: franzhiza_id, вештачки идентификатор за секоја инстанца од FRANSHIZA
Атрибути:
- ime: тип varchar (задолжителен)
7. PAKET - ентитет кој чува податоци за разни пакети кои ги нудат продажните места
- Примарен клуч: paket_id, вештачки идентификатор за секоја инстанца од PAKET
8. KORISNIK - ентитет кој чува податоци за корисници
- Кандидат клучеви: username, korisnik_id. Секој корисник ќе има различен username, односно во системот нема да може да има двајца корисници со ист username. Иако овој кандидат клуч уникатно ќе ги идентификува ентитетите, сепак не е добра пракса да се земе текстуален податок за примарен клуч од перформансни причини.
- Примарен клуч: korisnik_id, вештачки идентификатор за секоја инстанца од KORISNIK
Атрибути:
- ime - тип varchar (опционален)
- datum_kreiranje - тип timestamp (задолжителен)
9. POTROSUVAC - изведен ентитет од KORISNIK, кој чува податоци за кориниците кои нарачуваат храна преку апликацијата
- Примарен клуч: korisnik_id, наследен од KORISNIK
Атрибути:
- brojnaracki - тип integer (задолжителен)
10. DOSTAVUVAC - изведен ентитет од KORISNIK, кој чува податоци за корисници кои се доставувачи на храната
- Примарен клуч: korisnik_id, наследен од KORISNIK
Атрибути:
- brojdostavi - тип integer (задолжителен)
11. ADMIN - изведен ентитет од KORISNIK, кој чува податоци за корисници кои ќе ги додаваат продажните места и ќе ги одобруваат доставувачите.
- Примарен клуч: korisnik_id, наследен од KORISNIK
12. VRABOTENPD - изведен ентитет од KORISNIK, кој чува податоци за корисници кои работат во продажните места кои нудат храна преку апликацијата
- Примарен клуч: korisnik_id, наследен од KORISNIK
13. NAPLATA - слаб ентитет кој зависи од POTROSUVAC и DOSTAVUVAC, и чува податоците за наплатата која треба да направи доставувачот, а треба да ја плати потрошувачот
- Примарен клуч: (korisnik_id(POTROSUVAC), korisnik_id(DOSTAVUVAC), naplata_br), naplata_br вештачки парцијален клуч
Атрибути:
- iznos - integer
14. KATEGORIJA - ентитет кој чува податоци за категориите во кои може да припаѓа храната и намирниците
- Примарен клуч: id_kategorija, вештачки идентификатор за секоја инстанца од KATEGORIJA
Атрибути:
- ime_kat: тип varchar(задолжителен)
15. VOZILO - ентитет кој чува податоци за возилата кои ги користат доставувачите
- Примарен клуч: vozilo_id, вештачки идентификатор за секоја инстанца од VOZILO
Атрибути:
- tip_vozilo: тип varchar (задолжителен)
16. ZALIHA - слаб ентитет кој зависи од HRANA и притоа чува податоци за количеството на одредена храна во продажните места
- Примарен клуч: (id_stavka, broj_zaliha), broj_zaliga е вештачки парцијален клуч
Атрибути:
- kolicina - тип integer (задолжителен)
17. NACINPLAKJANJE - ентитет кој чува податоци за начинот преку кој потрошувачот ќе ја плати нарачката
- Примарен клуч: nplakjanje_id, вештачки идентификатор за секоја инстанца од NACINPLAKJANJE
Атрибути:
- opis_plakjanje - тип varchar (задолжителен)
18. LOKACIJA - ентитет кој чува податоци за локацијата на потрошувачот
- Примарен клуч: lokacija_id, вештачки идентификатор за секоја инстанца од LOKACIJA
Атрибути:
- adresa - тип varchar (задолжителен)
- број - тип integer (задолжителен)
19. KUPON - ентитет кој чува податоци за купоните кои потрошувачите ги добиваат од направените нарачки
- Примарен клуч: kupon_id, вештачки идентификатор за секоја инстанца од KUPON
Атрибути:
- iznos_kupon - тип integer (задолжителен)
20. STATUS - ентитет кој чува податоци за статусот на нарачката
- Примарен клуч: status_id, вештачки идентификатор за секоја инстанца од STATUS
Атрибути:
- vid_status - тип varchar (задолжителен)
Релации
- dobiva - 1:N релација помеѓу KUPON и POTROSUVAC што означува дека купон може да биде во релација со еден потрошувач, додека еден потрошувач може да биде во релација со повеќе купони.
- se_koristi - 1:1 релација помеѓу KUPON и NACINPLAKJANJE што означува дека еден купон може да се користи како еден начин на плаќање и дека еден начин на плаќање може да користи најмногу еден купон.
- izbira - 1:N релација помеѓу NACINPLAKJANJE и POTROSUVAC што означува дека еден потрошувач може да избира еден начин на плаќање, додека еден начин на плаќање може да биде избран од повеќе потрошувачи.
- raboti - 1:N релација помеѓу PRODAZHNOMESTO и VRABOTENPD што означува дека еден вработен може да работи на најмногу едно продажно место, додека во едно продажно место можат да работат повеќе вработени.
- se_naogja - 1:N релација помеѓу LOKACIJA и POTROSUVAC што означува дека еден потрошувач може да се наоѓа на најмногу една локација, додека на една локација можат да се наоѓаат повеќе потрошувачи.
- napravena_so - 1:N релација помеѓу NACINPLAKJANJE и NAPLATA што означува дека една наплата може да биде направена со еден начин на плаќање и со еден начин на плаќање можат да бидат направени повеќе наплати.
- plakja - 1:N слаба релација помеѓу POTROSUVAC и NAPLATA што означува дека слабиот ентитет NAPLATA е поврзан со POTROSUVAC. Означува дека секоја наплата мора да биде во релација со точно еден потрошувач, додека еден потрошувач може да биде во релација со повеќе наплати.
- sledi - 1:1 релација помеѓу KUPON и NARACKA што означува дека со една нарачка може да следува еден купон, а еден купон може да следува со една нарачка.
- e_platena – 1:1 релација помеѓу NAPLATA и NARACKA што значи дека една нарачка може да биде платена од една наплата, додека со една наплата може се плати една нарачка.
- pripagja – 1:N релација помеѓу FRANSHIZA и PRODAZHNOMESTO што означува дека една франшиза може да има повеќе продажни места и едно продажно место може да биде продажно место на најмногу една франшиза
- poracuva – 1:N релација помеѓу POTROSUVAC и NARACKA што означува дека еден потрошувач може да порачува повеќе нарачки, додека една нарачка мора да биде порачана еден потрошувач.
- sodrzi – N:N релација помеѓу NARACKA и HRANA што означува дека во една нарачка може да се содржат повеќе видови на храна, додека еден вид на храна може да се содржи во повеќе нарачки.
- na – 1:N слаба релација помеѓу HRANA и ZALIHA што означува дека слабиот ентитет ZALIHA е поврзан со HRANA. Една храна може, но и не мора да биде во релација со повеќе залихи, но секоја залиха мора да биде во релација со точно една храна.
- naplakja – 1:N слаба релација помеѓу NAPLATA и DOSTAVUVAC што означува дека слабиот ентитет NAPLATA е поврзан со DOSTAVUVAC . Секоја наплата мора да биде наплатена од точно еден доставувач, додека еден доставувач може да наплати повеќе наплати.
- upravuva – 1:N релација помеѓу VOZILO и DOSTAVUVAC што означува дека едно возило може да биде управувано од повеќе доставувачи, додека еден доставувач може да управува најмногу едно возило.
- ima – N:N релација помеѓу NARACKA и PAKET што означува дека во една нарачка може да има повеќе пакети, а еден пакет може да го има во повеќе нарачки.
- sprema – 1:N релација помеѓу NARACKA и PRODAZHNOMESTO што означува дека секоја нарачка мора да биде спремана во продажно место, а во едно продажно место може да се спремаат повеќе нарачки.
- dostavuva – 1:N релација помеѓу NARACKA и DOSTAVUVAC што означува дека една нарачка може да биде доставувана од најмногу еден доставувач, додека еден доставувач може да доставува повеќе нарачки.
- odobruva – 1:N релација помеѓу DOSTAVUVAC и ADMIN што означува дека еден админ може да одобрува повеќе доставувачи, но секој доставувач мора да биде одобрен од админ.
- pripagja – N:N релација помеѓу HRANA и KATEGORIJA што означува дека една храна може да припаѓа на повеќе категории и во една категорија може да припаѓаат повеќе видови на храна.
- dodava – 1:N релација помеѓу PRODAZHNOMESTO и ADMIN што означува дека секое продажно место мора да биде додадено од точно еден админ, додека админ може да додава повеќе продажни места.
- nudi – N:N релација помеѓу PRODAZHNOMESTO и PAKET што означува дека секој пакет мора да се нуди на барем едно продажно место, додека продажното место може да нуди, но не е задолжително, повеќе пакети.
- gotvi – 1:N релација помеѓу PRODAZHNOMESTO и HRANA што означува дека едно продажно место може да готви повеќе видови на храна, а една храна може да биде готвена на едно продажно место.
- podgotvuva – 1:N релација помеѓу PAKET и VRABOTENPD што означува дека секој пакет мора да биде подготвен од точно еден вработен, а еден вработен може да подготвува повеќе пакети.
- sodrzi – N:N релација помеѓу PAKET и HRANA што означува дека еден пакет може да содржи повеќе видови на храна, а една храна може да биде во повеќе пакети.
- dodava – 1:N релација помеѓу VRABOTENPD и HRANA што означува дека еден вработен може да додава повеќе видови храна, но не е задолжително, додека секоја храна мора да биде додадена од точно еден вработен.
- na – 1:N релација помеѓу NARACKA и STATUS што означува дека една нарачка може да влези во релација со најмногу еден статус, а еден статус може да влези во релација со повеќе нарачки.
- pripagja – N:N релација помеѓу NAMIRNICA и KATEGORIJA што означува дека во една категорија може да припаѓаат повеќе намирници, а една намирница да припаѓа во повеќе категории.
- e_napravena – N:N релација помеѓу HRANA и NAMIRNICA што означува дека една храна може да биде направена од повеќе намирници, а од една намирница може да се направат повеќе видови храна.
- cini – 1:N релација помеѓу HRANA и CENA што означува дека една храна може да биде во релација со повеќе цени, но секоја цена мора да биде во релација со точно една храна.
- e_dodatok – N:N релација помеѓу HRANA и NAMIRNICA што означува дека една храна како додаток да има повеќе намирници, додека една намирница може да биде додаток на повеќе видови на храна.
Историјат
1. Верзија 1 - препорака од страна на професорот за додавање на атрибут dali_alergent кај ентитетот Namirnica. Промена на кардиналноста на релацијата помеѓу Naracka и Status (од N:N променета во N:1)
Attachments (6)
- ERModel_v01.xml (67.1 KB ) - added by 2 years ago.
- ERModel_v01.jpg (210.1 KB ) - added by 2 years ago.
- ERModel_v02.jpg (218.5 KB ) - added by 2 years ago.
- ERModel_v02.xml (69.7 KB ) - added by 2 years ago.
- ERModel_v03 (69.1 KB ) - added by 2 years ago.
- ERModel_v03.jpg (215.4 KB ) - added by 2 years ago.
Download all attachments as: .zip