Version 6 (modified by 8 days ago) ( diff ) | ,
---|
Нормализација
Функциски зависности и нормализација Базата ќе се подели во неколку функционални категории:
- Менаџирање на клиенти и нивни податоци (CLIENT, CLIENT_TYPE, ADDRESS)
- Менаџирање на осигурителни полиси (POLICY, POLICY_TYPE, POLICY_COVERAGE)
- Менаџирање на авто осигурување (VEHICLE, VEHICLE_INSURANCE)
- Менаџирање на имотно осигурување (PROPERTY, PROPERTY_INSURANCE)
- Менаџирање на патничко осигурување (TRAVEL_INSURANCE, DESTINATION)
1. Менаџирање на клиенти и нивни податоци (CLIENT, CLIENT_TYPE, ADDRESS)
Првична релација (не нормализирана):
R = { client_id, client_name, client_email, client_phone, client_type_id, client_type_name, client_type_description, address_id, street, city, postcode }
Функциски зависности:
client_id → client_name, client_email, client_phone, client_type_id, address_id
client_type_id → client_type_name, client_type_description
address_id → street, city, postcode
Декомпозиција во 3НФ:
R1 = { client_id, client_name, client_email, client_phone, client_type_id, address_id }
R2 = { client_type_id, client_type_name, client_type_description }
R3 = { address_id, street, city, postcode }
2. Менаџирање на осигурителни полиси (POLICY, POLICY_TYPE, POLICY_COVERAGE)
Првична релација:
R = { policy_id, policy_number, policy_date, policy_type_id, policy_type_name, policy_type_description, client_id, coverage_id, coverage_type, coverage_description }
Функциски зависности:
policy_id → policy_number, policy_date, policy_type_id, client_id
policy_type_id → policy_type_name, policy_type_description
coverage_id → coverage_type, coverage_description
Декомпозиција во 3НФ:
R1 = { policy_id, policy_number, policy_date, policy_type_id, client_id }
R2 = { policy_type_id, policy_type_name, policy_type_description }
R3 = { policy_id, coverage_id }
R4 = { coverage_id, coverage_type, coverage_description }
3. Менаџирање на авто осигурување (VEHICLE, VEHICLE_INSURANCE)
Првична релација:
R = { vehicle_id, vehicle_registration, vehicle_make, vehicle_model, vehicle_year, client_id, policy_id }
Функциски зависности:
vehicle_id → vehicle_registration, vehicle_make, vehicle_model, vehicle_year
policy_id → client_id
Декомпозиција во 3НФ:
R1 = { vehicle_id, vehicle_registration, vehicle_make, vehicle_model, vehicle_year }
R2 = { policy_id, client_id }
R3 = { vehicle_id, policy_id } (за поврзување на осигурувањето со возилата)
4. Менаџирање на имотно осигурување (PROPERTY, PROPERTY_INSURANCE)
Првична релација:
R = { property_id, property_type, property_value, property_address_id, client_id, policy_id }
Функциски зависности:
property_id → property_type, property_value, property_address_id
policy_id → client_id
Декомпозиција во 3НФ:
R1 = { property_id, property_type, property_value, property_address_id }
R2 = { property_id, policy_id }
R3 = { policy_id, client_id }
5. Менаџирање на патничко осигурување (TRAVEL_INSURANCE, DESTINATION)
Првична релација:
R = { travel_insurance_id, travel_date, travel_destination_id, destination_name, destination_country, client_id, policy_id }
Функциски зависности:
travel_insurance_id → travel_date, travel_destination_id, policy_id, client_id
travel_destination_id → destination_name, destination_country
Декомпозиција во 3НФ:
R1 = { travel_insurance_id, travel_date, travel_destination_id, policy_id, client_id }
R2 = { travel_destination_id, destination_name, destination_country }