Changes between Version 2 and Version 3 of Proof of Candidate Key


Ignore:
Timestamp:
05/18/26 21:10:19 (8 days ago)
Author:
211171
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Proof of Candidate Key

    v2 v3  
    215215Therefore every attribute in K is necessary.
    216216
     217== Verification of Alternative Candidate Keys ==
     218
     219A relation may contain multiple candidate keys.
     220Therefore, after identifying one candidate key, we must verify whether another minimal attribute set can also determine all attributes of R.
     221
     222=== Testing Possible Alternative Key ===
     223
     224The only realistic possibility is replacing:
     225
     226priest_id
     227
     228with:
     229
     230church_id
     231
     232because of the dependency:
     233
     234priest_id → church_id
     235
     236However, the reverse dependency does NOT hold:
     237
     238church_id ↛ priest_id
     239
     240A church may have multiple priests, therefore church_id alone cannot uniquely determine priest information.
     241
     242=== Alternative Key Attempt ===
     243
     244K₂ = {
     245attendance_id,
     246venue_booking_id,
     247photographer_booking_id,
     248band_booking_id,
     249registrar_booking_id,
     250church_id
     251}
     252
     253=== Closure ===
     254
     255Using the functional dependencies:
     256
     257attendance branch is determined
     258venue booking branch is determined
     259photographer booking branch is determined
     260band booking branch is determined
     261registrar booking branch is determined
     262church branch is determined
     263
     264However, the closure cannot derive:
     265
     266priest_id
     267priest_name
     268priest_contact
     269
     270because:
     271
     272church_id ↛ priest_id
     273
     274Therefore:
     275
     276K₂⁺ ≠ R
     277
     278Conclusion:
     279
     280K₂ is NOT a candidate key.
     281
     282=== Verification of Other Possible Replacements ===
     283
     284No other attribute can replace any component of the identified key because each attribute determines an independent branch of the relation.
     285
     286|| Attribute || Determines ||
     287|| attendance_id || attendance/event/guest branch ||
     288|| venue_booking_id || venue booking branch ||
     289|| photographer_booking_id || photographer booking branch ||
     290|| band_booking_id || band booking branch ||
     291|| registrar_booking_id || registrar booking branch ||
     292|| priest_id || priest/church branch ||
     293
     294Removing or replacing any attribute causes loss of information that cannot be derived from the remaining attributes.
     295
    217296== Why church_id Is Not Included ==
    218297
     
    255334Is minimal
    256335Satisfies the formal definition of a candidate key
     336
     337No second candidate key exists because no alternative minimal attribute combination functionally determines all attributes of R.