Version 14 (modified by 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)
- ER_Diagram_1.png (244.3 KB ) - added by 6 weeks ago.
- ER_Diagram_2 (53.6 KB ) - added by 3 weeks ago.
- ER_Diagram_2.png (248.6 KB ) - added by 2 weeks ago.
Download all attachments as: .zip