12 | | Telephone number – varchar (Primary Key)\\ |
13 | | Name – varchar (Mandatory attribute)\\ |
14 | | Last name – varchar (Mandatory attribute)\\ |
| 20 | ==== 3. Motorcycle ==== |
| 21 | '''Id''' – SERIAL (Primary Key)\\ |
| 22 | '''!ClientId''' – INT (Mandatory attribute, Foreign Key to Client.Id)\\ |
| 23 | '''Model''' – VARCHAR(50) (Mandatory attribute)\\ |
| 24 | '''Year''' – INT\\ |
| 25 | '''!ChassisNumber''' – VARCHAR(50) (Unique)\\ |
| 26 | '''Registration''' – VARCHAR(20)\\ |
| 27 | '''Kilometers''' – INT\\ |
18 | | Registration – varchar (Primary Key) \\ |
19 | | Chassis number – varchar (Mandatory attribute) \\ |
20 | | Year – date (Mandatory attribute) \\ |
21 | | Model – varchar (Mandatory attribute) \\ |
22 | | Client telephone number – varchar (Foreign Key to Client) \\ |
| 36 | ==== 5. Service ==== |
| 37 | '''Id''' – SERIAL (Primary Key)\\ |
| 38 | '''!MotorcycleId''' – INT (Mandatory attribute, Foreign Key to Motorcycle.Id)\\ |
| 39 | '''!DateOfService''' – DATE (Mandatory attribute)\\ |
| 40 | '''!LaborCost''' – DECIMAL(10,2) (Mandatory attribute)\\ |
| 41 | '''!TotalPrice''' – DECIMAL(10,2) (Generated, Mandatory attribute)\\ |
26 | | Service ID – serial (Primary Key) \\ |
27 | | Client telephone number – varchar (Foreign Key to Client) \\ |
28 | | Motorcycle registration – varchar (Foreign Key to Motorcycle) \\ |
29 | | Service date – date (Mandatory attribute) \\ |
30 | | Total price – numeric (Mandatory attribute) \\ |
| 50 | ==== 7. !ServiceInvoice ==== |
| 51 | '''Id''' – SERIAL (Primary Key)\\ |
| 52 | '''!ServiceId''' – INT (Unique, Mandatory attribute, Foreign Key to Service.Id)\\ |
| 53 | '''!IssueDate''' – TIMESTAMP (Mandatory attribute)\\ |
| 54 | '''!ImagePath''' – TEXT (Mandatory attribute)\\ |
32 | | = 4. Mechanic = |
| 56 | ==== 8. !FiscalBill ==== |
| 57 | '''Id''' – SERIAL (Primary Key)\\ |
| 58 | '''!ServiceInvoiceId''' – INT (Unique, Mandatory attribute, Foreign Key to !ServiceInvoice.Id)\\ |
| 59 | '''!IssueDateTime''' – TIMESTAMP (Mandatory attribute)\\ |
| 60 | '''Description''' – TEXT\\ |
| 61 | '''DDV''' – DECIMAL(5,2) (Mandatory attribute, VAT)\\ |
| 62 | '''EDB''' – VARCHAR(15) (Mandatory attribute, Tax ID)\\ |
50 | | = 7. !FiscalBill = |
51 | | |
52 | | Fiscal ID – serial (Primary Key) \\ |
53 | | !DateTime – timestamp (Mandatory attribute) \\ |
54 | | Issuer – varchar (Foreign Key to Client) \\ |
55 | | Description – varchar \\ |
56 | | Total price – numeric (Mandatory attribute) \\ |
57 | | DDV – numeric (Mandatory attribute) \\ |
58 | | EDB – varchar (Mandatory attribute) \\ |
59 | | |
60 | | = Relationships = |
61 | | |
62 | | Client to Motorcycle: Клиент може да има повеќе мотоцикли, но секој мотоцикл припаѓа на еден клиент (1:N). \\ |
63 | | Foreign Key: client_telephone_number во Motorcycle референцира telephone_number во Client. |
64 | | |
65 | | Client to Service: Услугата е поврзана со еден клиент, но клиентот може да има повеќе услуги (1:N). \\ |
66 | | Foreign Key: client_telephone_number во Service референцира telephone_number во Client. |
67 | | |
68 | | Motorcycle to Service: Мотоцикл може да има повеќе услуги, но секоја услуга е поврзана со еден мотоцикл (1:N). \\ |
69 | | Foreign Key: motorcycle_registration во Service референцира registration во Motorcycle. |
70 | | |
71 | | Service to Mechanic: Услугата може да ја извршуваат повеќе механичари, а секој механичар може да работи на повеќе услуги (M:N). \\ |
72 | | Табелата service_mechanics ја обработува оваа многу-на-многу релација, со service_id референцирање на Service и mechanic_embg референцирање на Mechanic. |
73 | | |
74 | | Client to !ServiceInvoice: Клиентот може да има повеќе сервисни фактури, но секоја сервисна фактура припаѓа на еден клиент (1:N). \\ |
75 | | Foreign Key: recipient во !ServiceInvoice референцира telephone_number во Client. |
76 | | |
77 | | Client to !FiscalBill: Клиентот може да има повеќе фискални фактури, но секоја фискална фактура е издадена од еден клиент (1:N). \\ |
78 | | Foreign Key: issuer во !FiscalBill референцира telephone_number во Client. |
| 82 | ==== !ServiceInvoice → !FiscalBill ==== |
| 83 | '''1:1''' – Секоја сервисна фактура има една фискална сметка, и секоја фискална сметка е поврзана со една фактура.\\ |
| 84 | '''Foreign Key''': !ServiceInvoiceId во !FiscalBill референцира !ServiceInvoice.Id. |