Gegeben

R = { EHQX } , FD = { HQ
EXHQ
EHEX }

Schlüsselkandidaten

Alle Attribute, die nicht auf der rechten Seite einer Abhängigkeit auftauchen, müssen in jedem Schlüsselkandidaten vorhanden sein. Es sind die sicheren Schlüsselattribute.

R = { EHQX } , FD = { HQ
EXHQ
EHEX }

⇒ Sichere Schlüsselattribute = { }

Alle Attribute, die auf beiden Seiten zu finden sind, gehören zu den möglichen Schlüsselattributen von Schlüsselkandidaten.

R = { EHQX } , FD = { HQ
EXHQ
EHEX }

⇒ Mögliche Schlüsselattribute = { EHX }

Die minimale Länge der Schlüsselkandidaten ist durch die sicheren Schlüsselattribute gegeben, da in jedem Schlüsselkandidaten mindestens alle sicheren Schlüsselattribute vorkommen müssen. Bilden die sicheren Schlüsselattribute bereits einen Schlüsselkandidaten, so ist dies der einzig mögliche. Ansonsten müssen aus den möglichen Schlüsselattributen der Reihe nach alle einelementigen, zweielementigen usw. Teilmengen zu den sicheren Schlüsselattributen hinzugefügt und überprüft werden, ob dadurch ein Schlüsselkandidat entstanden ist. Die sich dabei ergebenden Kombinationen müssen nicht überprüft werden, wenn sie einen bereits gefundenen Schlüsselkandidat enthalten (diese Kombinationen wären nicht minimal).

Attributhülle E+ = { } ≠ R

Attributhülle H+ = { H → HQ } ≠ R

Attributhülle X+ = { } ≠ R

Attributhülle EH+ = { EH → EHQ = EHQ → EHQX } = R ⇒ Schlüsselkandidat

Attributhülle EX+ = { EX → EHQX } = R ⇒ Schlüsselkandidat

Attributhülle HX+ = { HX → HQX } ≠ R

⇒ Schlüsselkandidaten = { EH , EX }