Changes between Version 11 and Version 12 of ЕРДијаграм


Ignore:
Timestamp:
01/29/25 21:01:18 (3 weeks ago)
Author:
221550
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ЕРДијаграм

    v11 v12  
    1 == Податочни побарувања ==
    2 Оваа секција ги претставува концептуалниот дизајн на базата на податоци и податочните побарувања.
     1== Податочни побарувања == 
     2Оваа секција ги претставува концептуалниот дизајн на базата на податоци и податочните побарувања. 
    33
    4 === ЕР Дијаграм ===
     4=== ЕР Дијаграм === 
     5[[Image(ER_Diagram_1.png, align=center, width=800)]] 
    56
    6 [[Image(ER_Diagram_1.png, align=center, width=800)]]
     7=== Ентитети === 
    78
    8 === **Ентитети**
     9==== 1. Client ==== 
     10'''Id''' – SERIAL (Primary Key)\\ 
     11'''!FirstName''' – VARCHAR(50) (Mandatory attribute)\\ 
     12'''!LastName''' – VARCHAR(50)\\ 
     13'''!PhoneNumber''' – VARCHAR(20)\\ 
    914
    10 = 1. Client = 
     15==== 2. Mechanic ==== 
     16'''EMBG''' – VARCHAR(13) (Primary Key)\\ 
     17'''!FirstName''' – VARCHAR(50) (Mandatory attribute)\\ 
     18'''!LastName''' – VARCHAR(50) (Mandatory attribute)\\ 
    1119
    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\\ 
    1528
    16 = 2. Motorcycle = 
     29==== 4. !ServiceItem ==== 
     30'''Id''' – SERIAL (Primary Key)\\ 
     31'''Description''' – TEXT (Mandatory attribute)\\ 
     32'''!MeasurementUnit''' – VARCHAR(20) (Mandatory attribute)\\ 
     33'''!PricePerUnit''' – DECIMAL(10,2) (Mandatory attribute)\\ 
     34'''Tax''' – DECIMAL(5,2) (Mandatory attribute)\\ 
    1735
    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)\\ 
    2342
    24 = 3. Service = 
     43==== 6. !ServiceAssignment (Junction Table) ==== 
     44'''!ServiceId''' – INT (Foreign Key to Service.Id)\\ 
     45'''MechanicEMBG''' – VARCHAR(13) (Foreign Key to Mechanic.EMBG)\\ 
     46'''!ServiceItemId''' – INT (Foreign Key to !ServiceItem.Id)\\ 
     47'''!UnitsUsed''' – DECIMAL(10,2) (Mandatory attribute)\\ 
     48'''Composite Primary Key''': (!ServiceId, MechanicEMBG, !ServiceItemId)\\ 
    2549
    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)\\ 
    3155
    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)\\ 
    3363
    34 EMBG – numeric (Primary Key)  \\
    35 Name – varchar (Mandatory attribute)  \\
    36 Last name – varchar (Mandatory attribute)  \\
     64=== Релации === 
    3765
    38 = 5. Service Mechanic (Junction Table for M:N Relationship between Service and Mechanic) = 
     66==== Client → Motorcycle ==== 
     67'''1:N''' – Секој клиент може да има повеќе мотоцикли, но секој мотоцикл припаѓа на еден клиент.\\ 
     68'''Foreign Key''': !ClientId во Motorcycle референцира Client.Id. 
    3969
    40 Service ID – serial (Foreign Key to Service)  \\
    41 Mechanic EMBG – numeric (Foreign Key to Mechanic)  \\
     70==== Motorcycle → Service ==== 
     71'''1:N''' – Мотоциклот може да има повеќе сервиси, но секој сервис е поврзан со еден мотоцикл.\\ 
     72'''Foreign Key''': !MotorcycleId во Service референцира Motorcycle.Id. 
    4273
    43 = 6. !ServiceInvoice = 
     74==== Service ↔ Mechanic ↔ !ServiceItem ==== 
     75'''M:N''' – Сервисот може да го извршуваат повеќе механичари и да користат повеќе делови, а секој механичар/дел може да се користи во повеќе сервиси.\\ 
     76'''Јункција''': !ServiceAssignment ги поврзува Service, Mechanic, и !ServiceItem со композитен клуч (!ServiceId, MechanicEMBG, !ServiceItemId). 
    4477
    45 Invoice number – serial (Primary Key)  \\
    46 Date – date (Mandatory attribute)  \\
    47 Recipient – varchar (Foreign Key to Client)  \\
    48 Photo copy – varchar (Mandatory attribute)  \\
     78==== Service → !ServiceInvoice ==== 
     79'''1:1''' – Секој сервис има точно една фактура, и секоја фактура одговара на еден сервис.\\ 
     80'''Foreign Key''': !ServiceId во !ServiceInvoice референцира Service.Id. 
    4981
    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.