27 | | 4. **Service** - ентитет кој претставува сервис за моторцикл |
28 | | * service_id - numeric (примарен клуч) |
29 | | * client_id - foreign key (задолжителен атрибут) |
30 | | * motorcycle_registration - foreign key (задолжителен атрибут) |
31 | | * service_date - date (задолжителен атрибут) |
32 | | * total_price - numericDecimal (задолжителен атрибут) |
| 24 | === 3. Mechanic |
| 25 | * embg - numeric (Primary key) |
| 26 | * name - varchar (Mandatory attribute) |
| 27 | * last_name - varchar (Mandatory attribute) |
34 | | 5. **Item** - ентитет кој претставува ставка која е користена во сервисот |
35 | | * item_id - numeric (примарен клуч) |
36 | | * description - varchar (опционален атрибут) |
37 | | * unit_of_measurement - varchar (задолжителен атрибут) |
38 | | * price_per_unit - numericDecimal (задолжителен атрибут) |
39 | | * tax - numericDecimal (задолжителен атрибут) |
| 29 | === 4. Service |
| 30 | * service_id - serial (Primary key) |
| 31 | * client_id - varchar (Foreign key referencing Client.telephone_number, Mandatory attribute) |
| 32 | * motorcycle_registration - varchar (Foreign key referencing Motorcycle.registration, Mandatory attribute) |
| 33 | * service_date - date (Mandatory attribute) |
| 34 | * total_price - numeric (Mandatory attribute) |
41 | | 6. **ServiceInvoice** - ентитет кој претставува фактура за сервис |
42 | | * invoice_number - numeric (примарен клуч) |
43 | | * invoice_date - date (задолжителен атрибут) |
44 | | * recipient_id - foreign key (задолжителен атрибут) |
45 | | * photo_copy - varchar (задолжителен атрибут) |
| 36 | === 5. Item |
| 37 | * item_id - serial (Primary key) |
| 38 | * description - varchar (Optional attribute) |
| 39 | * unit_of_measurement - varchar (Mandatory attribute) |
| 40 | * price_per_unit - numeric (Mandatory attribute) |
| 41 | * tax - numeric (Mandatory attribute) |
47 | | 7. **FiscalBill** - ентитет кој претставува фискална сметка |
48 | | * fiscal_id - numeric (примарен клуч) |
49 | | * issue_datetime - timestamp (задолжителен атрибут) |
50 | | * issuer_id - foreign key (задолжителен атрибут) |
51 | | * description - varchar (опционален атрибут) |
52 | | * total_price - numericDecimal (задолжителен атрибут) |
53 | | * ddv - percent (задолжителен атрибут) |
54 | | * edb - varchar (задолжителен атрибут) |
| 43 | === 6. ServiceInvoice |
| 44 | * invoice_number - serial (Primary key) |
| 45 | * date - date (Mandatory attribute) |
| 46 | * recipient - varchar (Foreign key referencing Client.telephone_number, Mandatory attribute) |
| 47 | * photo_copy - varchar (Mandatory attribute) |
58 | | 1. **Owns** - 1:N релација помеѓу Client и Motorcycle каде што еден клиент може да има повеќе моторцикли. |
59 | | 2. **Has** - 1:N релација помеѓу Motorcycle и Service каде што еден моторцикл може да има повеќе сервиси. |
60 | | 3. **ServicedBy** - M:N релација помеѓу Service и Mechanic каде што секој сервис може да биде направен од повеќе механичари и секој механичар може да учествува во повеќе сервиси. |
61 | | 4. **HasInvoice** - 1:1 релација помеѓу Service и ServiceInvoice каде што секој сервис има една фактура, а една фактура е поврзана само со еден сервис. |
62 | | 5. **Contains** - M:N релација помеѓу Service и Item каде што секој сервис може да содржи повеќе ставки, а секоја ставка може да биде користена во повеќе сервиси. |
63 | | 6. **FiscalRelation** - 1:1 релација помеѓу ServiceInvoice и FiscalBill каде што секоја фактура има една фискална сметка и една фискална сметка е поврзана само со една фактура. |
| 58 | == Relations |
| 59 | |
| 60 | 1. **Owns** - 1:N relation where each Client can have multiple Motorcycles. |
| 61 | 2. **Has** - 1:N relation where each Motorcycle can have multiple Services. |
| 62 | 3. **ServicedBy** - M:N relation where each Service can be performed by multiple Mechanics, and each Mechanic can work on multiple Services. |
| 63 | 4. **HasInvoice** - 1:1 relation where each Service has only one Invoice and one Invoice can be linked to one Service. |
| 64 | 5. **Contains** - M:N relation where each Service contains multiple Items, and each Item can be part of multiple Services. |
| 65 | 6. **FiscalRelationship** - 1:1 relation where each ServiceInvoice can be associated with one FiscalBill and vice versa. |