Changes between Version 3 and Version 4 of ЕРДијаграм


Ignore:
Timestamp:
01/08/25 21:53:27 (7 days ago)
Author:
221550
Comment:

--

Legend:

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

    v3 v4  
    99=== **Ентитети**
    1010
    11 1. **Client** - ентитет кој претставува клиент
    12    * telephone_number - varchar (примарен клуч)
    13    * first_name - varchar (задолжителен атрибут)
    14    * last_name - varchar (задолжителен атрибут)
     11== Entities
    1512
    16 2. **Motorcycle** - ентитет кој претставува моторцикл
    17    * registration_number - varchar (примарен клуч)
    18    * chassis_number - varchar (задолжителен атрибут)
    19    * year_of_manufacture - date (задолжителен атрибут)
    20    * model - varchar (задолжителен атрибут)
     13=== 1. Client
     14* telephone_number - varchar (Primary key)
     15* name - varchar (Mandatory attribute)
     16* last_name - varchar (Mandatory attribute)
    2117
    22 3. **Mechanic** - ентитет кој претставува механичар
    23    * embg - numeric (примарен клуч)
    24    * first_name - varchar (задолжителен атрибут)
    25    * last_name - varchar (задолжителен атрибут)
     18=== 2. Motorcycle
     19* registration - varchar (Primary key)
     20* chassis_number - varchar (Mandatory attribute)
     21* year - date (Mandatory attribute)
     22* model - varchar (Mandatory attribute)
    2623
    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)
    3328
    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)
    4035
    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)
    4642
    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)
    5548
    56 === **Релации**
     49=== 7. FiscalBill
     50* fiscal_id - serial (Primary key)
     51* datetime - timestamp (Mandatory attribute)
     52* issuer - varchar (Foreign key referencing Client.telephone_number, Mandatory attribute)
     53* description - varchar (Optional attribute)
     54* total_price - numeric (Mandatory attribute)
     55* ddv - numeric (Mandatory attribute)
     56* edb - varchar (Mandatory attribute)
    5757
    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
     601. **Owns** - 1:N relation where each Client can have multiple Motorcycles.
     612. **Has** - 1:N relation where each Motorcycle can have multiple Services.
     623. **ServicedBy** - M:N relation where each Service can be performed by multiple Mechanics, and each Mechanic can work on multiple Services.
     634. **HasInvoice** - 1:1 relation where each Service has only one Invoice and one Invoice can be linked to one Service.
     645. **Contains** - M:N relation where each Service contains multiple Items, and each Item can be part of multiple Services.
     656. **FiscalRelationship** - 1:1 relation where each ServiceInvoice can be associated with one FiscalBill and vice versa.