wiki:ЕРДијаграм

Version 17 (modified by 221550, 2 weeks ago) ( diff )

--

Податочни побарувања

Оваа секција ги претставува концептуалниот дизајн на базата на податоци и податочните побарувања.

ЕР Дијаграм

Ентитети

1. Client

Id – SERIAL (Primary Key)
FirstName – VARCHAR(50) (Mandatory attribute)
LastName – VARCHAR(50)
PhoneNumber – VARCHAR(20)

2. Mechanic

EMBG – VARCHAR(13) (Primary Key)
FirstName – VARCHAR(50) (Mandatory attribute)
LastName – VARCHAR(50) (Mandatory attribute)

3. Motorcycle

Id – SERIAL (Primary Key)
ClientId – INT (Mandatory attribute, Foreign Key to Client.Id)
Model – VARCHAR(50) (Mandatory attribute)
Year – INT
ChassisNumber – VARCHAR(50) (Unique)
Registration – VARCHAR(20)
Kilometers – INT

4. ServiceItem

Id – SERIAL (Primary Key)
Description – TEXT (Mandatory attribute)
MeasurementUnit – VARCHAR(20) (Mandatory attribute)
PricePerUnit – DECIMAL(10,2) (Mandatory attribute)
Tax – DECIMAL(5,2) (Mandatory attribute)

5. Service

Id – SERIAL (Primary Key)
MotorcycleId – INT (Mandatory attribute, Foreign Key to Motorcycle.Id)
DateOfService – DATE (Mandatory attribute)
LaborCost – DECIMAL(10,2) (Mandatory attribute)
TotalPrice – DECIMAL(10,2) (Generated, Mandatory attribute)

6. ServiceAssignment (Junction Table)

ServiceId – INT (Foreign Key to Service.Id)
MechanicEMBG – VARCHAR(13) (Foreign Key to Mechanic.EMBG)
ServiceItemId – INT (Foreign Key to ServiceItem.Id)
UnitsUsed – DECIMAL(10,2) (Mandatory attribute)
Composite Primary Key: (ServiceId, MechanicEMBG, ServiceItemId)

7. ServiceInvoice

Id – SERIAL (Primary Key)
ServiceId – INT (Unique, Mandatory attribute, Foreign Key to Service.Id)
IssueDate – TIMESTAMP (Mandatory attribute)
ImagePath – TEXT (Mandatory attribute)

8. FiscalBill

Id – SERIAL (Primary Key)
ServiceInvoiceId – INT (Unique, Mandatory attribute, Foreign Key to ServiceInvoice.Id)
IssueDateTime – TIMESTAMP (Mandatory attribute)
Description – TEXT
DDV – DECIMAL(5,2) (Mandatory attribute, VAT)
EDB – VARCHAR(15) (Mandatory attribute, Tax ID)

Релации

Client → Motorcycle

1:N – Секој клиент може да има повеќе мотоцикли, но секој мотоцикл припаѓа на еден клиент.
Foreign Key: ClientId во Motorcycle референцира Client.Id.

Motorcycle → Service

1:N – Мотоциклот може да има повеќе сервиси, но секој сервис е поврзан со еден мотоцикл.
Foreign Key: MotorcycleId во Service референцира Motorcycle.Id.

Service ↔ Mechanic ↔ ServiceItem

M:N – Сервисот може да го извршуваат повеќе механичари и да користат повеќе делови, а секој механичар/дел може да се користи во повеќе сервиси.
Јункција: ServiceAssignment ги поврзува Service, Mechanic, и ServiceItem со композитен клуч (ServiceId, MechanicEMBG, ServiceItemId).

Service → ServiceInvoice

1:1 – Секој сервис има точно една фактура, и секоја фактура одговара на еден сервис.
Foreign Key: ServiceId во ServiceInvoice референцира Service.Id.

ServiceInvoice → FiscalBill

1:1 – Секоја сервисна фактура има една фискална сметка, и секоја фискална сметка е поврзана со една фактура.
Foreign Key: ServiceInvoiceId во FiscalBill референцира ServiceInvoice.Id.

Attachments (3)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.