Оваа секција ги претставува концептуалниот дизајн на базата на податоци и податочните побарувања. === ЕР Дијаграм === [[Image(ER_Diagram_1.png, align=center, width=800)]] == Податочни побарувања == === **Ентитети** 1. **Client** - ентитет кој претставува клиент * telephone_number - varchar (примарен клуч) * first_name - varchar (задолжителен атрибут) * last_name - varchar (задолжителен атрибут) 2. **Motorcycle** - ентитет кој претставува моторцикл * registration_number - varchar (примарен клуч) * chassis_number - varchar (задолжителен атрибут) * year_of_manufacture - date (задолжителен атрибут) * model - varchar (задолжителен атрибут) 3. **Mechanic** - ентитет кој претставува механичар * embg - numeric (примарен клуч) * first_name - varchar (задолжителен атрибут) * last_name - varchar (задолжителен атрибут) 4. **Service** - ентитет кој претставува сервис за моторцикл * service_id - numeric (примарен клуч) * client_id - foreign key (задолжителен атрибут) * motorcycle_registration - foreign key (задолжителен атрибут) * service_date - date (задолжителен атрибут) * total_price - numericDecimal (задолжителен атрибут) 5. **Item** - ентитет кој претставува ставка која е користена во сервисот * item_id - numeric (примарен клуч) * description - varchar (опционален атрибут) * unit_of_measurement - varchar (задолжителен атрибут) * price_per_unit - numericDecimal (задолжителен атрибут) * tax - numericDecimal (задолжителен атрибут) 6. **ServiceInvoice** - ентитет кој претставува фактура за сервис * invoice_number - numeric (примарен клуч) * invoice_date - date (задолжителен атрибут) * recipient_id - foreign key (задолжителен атрибут) * photo_copy - varchar (задолжителен атрибут) 7. **FiscalBill** - ентитет кој претставува фискална сметка * fiscal_id - numeric (примарен клуч) * issue_datetime - timestamp (задолжителен атрибут) * issuer_id - foreign key (задолжителен атрибут) * description - varchar (опционален атрибут) * total_price - numericDecimal (задолжителен атрибут) * ddv - percent (задолжителен атрибут) * edb - varchar (задолжителен атрибут) === **Релации** 1. **Owns** - 1:N релација помеѓу Client и Motorcycle каде што еден клиент може да има повеќе моторцикли. 2. **Has** - 1:N релација помеѓу Motorcycle и Service каде што еден моторцикл може да има повеќе сервиси. 3. **ServicedBy** - M:N релација помеѓу Service и Mechanic каде што секој сервис може да биде направен од повеќе механичари и секој механичар може да учествува во повеќе сервиси. 4. **HasInvoice** - 1:1 релација помеѓу Service и ServiceInvoice каде што секој сервис има една фактура, а една фактура е поврзана само со еден сервис. 5. **Contains** - M:N релација помеѓу Service и Item каде што секој сервис може да содржи повеќе ставки, а секоја ставка може да биде користена во повеќе сервиси. 6. **FiscalRelation** - 1:1 релација помеѓу ServiceInvoice и FiscalBill каде што секоја фактура има една фискална сметка и една фискална сметка е поврзана само со една фактура.