== **Актуелна верзија**\\ [[Image(FINALLLL.drawio (1).png)]]\\ = Податочни побарувања == **Ентитети** **1) Customer (Клиент)** Атрибути: * CustomerID * CustomerName * CustomerSurName * Email * Address * CustomerContact * Password Клиентите можат да гледаат производи и да вршат набавки, како и да даваат повратни информации. **2) Employee (Вработен)** Атрибути: * EmployeeID * EmployeeName * EmployeeSurName * Position * Department * Email * Password Одговорни за трансакции и одржување на производи. **3) Product (Производ)** Атрибути: * ProductID * Model * Price * LicensePlate * Status Производите се објекти кои се продаваат или изнајмуваат, одржуваат и прегледуваат од страна на клиентите. **4) Customer Feedback (Повратна информација од клиент)** Атрибути: * FeedbackID * CustomerID * ProductID * Rating * Comment * FeedbackDate * TransactionID Претставува оценка и коментар даден од клиент за одреден производ. **5) Maintenance (Одржување)** Атрибути: * MainID * EmployeeID * ProductID * MainDate * Description * Cost * Status * StartTime * EndTime Се води евиденција за сервисирање на производите. **6)Procurement (Набавка)** Атрибути: * RequestID * CustomerID * ProductID * Quantity * RequestedAt * Status * PaymentMethod * PaymentStatus * MonthlyPay * TotalPrice * Duration * CardID * TransactionType * GroupID Претставува набавка на производ, која може да биде изнајмување или купување. **7) T_Type (Тип на трансакција)** Атрибути: * TransactionID * Type (Rent/Buy) * Duration * MonthlyPay * TotalPrice ** 8) Truck (Камион) ** * ProductID * HP ** 9) Trailer (Приколка) ** * ProductID * Capacity ** 10) Procurement_request (Барање за набавка) ** Атрибути: * RequestID * CustomerID * ProductID * Quantity * RequestedAt * Status * PaymentMethod * PaymentStatus * MonthlyPay * TotalPrice * Duration * CardID * TransactionType * GroupID ** 11) Views (Прегледи) ** * CustomerID * ProductID ** 12) Wallet (Паричник)** Атрибути: * WalletID * CustomerID * Balance * CardNumber * ExpiryDate * CVV * CardHolderName Ги дефинира условите според типот на набавката. == Релации: **1) Views (Customer : Product) (N:M) Клиентите можат да прегледуваат повеќе производи, а секој производ може да биде прегледан од повеќе клиенти **2) OWNS (Customer : Wallet) (1:N) Секој клиент може да поседува повеќе паричници/картички, но секој паричник припаѓа на точно еден клиент. **3) Establishes (Customer : ProcurementRequest) (1:M) Еден клиент може да поднесе многу барања за набавка, а секое барање е направено од еден конкретен клиент. **4) Initiates (Customer : Procurement) (N:M) Еден клиент може да иницира повеќе процеси на набавка, а еден процес на набавка може да биде инициран од повеќе клиенти. **5) Contains (Procurement : Product) (1:N) Еден процес на набавка може да содржи повеќе производи, додека секој поединечен запис за производ во таа набавка е поврзан со таа една набавка. **6) HAS (ProcurementRequest : Product) (1:N) Едно барање за набавка се однесува на точно еден производ, додека истиот производ може да биде баран преку повеќе различни барања за набавки. **7) Requires (Product : Maintenance) (M:N) Еден производ може да бара повеќе одржувања, а секое одржување може да се однесува на повеќе производи. **8) MAKES (Maintenance : Employee) (M:N) Одржувањата можат да бидат извршени од повеќе вработени, и еден вработен може да изврши повеќе одржувања ** 9) Handles (Procurement : Employee) (1:N) Една набавка се раководи од еден вработен(за обработка, одобрување, следење), додека секој вработен може да раководи со повеќе различни набавки. ** 10)Provides (Customer : CustomerFeedback) (N:1) Повеќе клиенти можат да дадат повратни информации, но секој запис за повратна информација потекнува од еден конкретен клиент. ** 11) Gives (Procurement : CustomerFeedback) (1:1) Секоја конкретна набавка има точно еден запис за повратна информација, и секој запис за повратна информација се однесува на точно една набавка. ** 12) Defines (Procurement : T_Type) (1:N) Еден процес на набавка дефинира повеќе типови трансакции/договарања, додека секој тип е дефиниран во контекст на една набавка. ** 13) Makes(ProcurementRequest : Wallet) (M:1) Секое барање за набавка користи точно еден Wallet како платежен инструмент (врзано со PaymentMethod), а еден Wallet може да се искористи во повеќе барања. ** 14) Includes (Procurement : ProcurementRequest) (1:1) Секоја набавка кореспондира со точно едно конкретно барање за набавка, и секое барање се реализира во точно една набавка во процесот.