CHECK-begrænsninger med UDF'er (som er Odeds svar) skalerer ikke godt og har dårlig samtidighed. Se disse:
- Skalære UDF'er pakket ind i CHECK-begrænsninger er meget langsomme og kan mislykkes ved opdateringer med flere rækker
- Tony Rogerson
Så:
- opret en ny tabel, sig TableA2XY
- dette har PK'en i tabel A og en char(1)-kolonne med en CHECK for at tillade kun X eller Y. Og også en unik begrænsning på PK'en af A.
- tableX og tableY har ny char(1)-kolonne med en markering for kun at tillade henholdsvis X eller Y
- tabelX og tabelY har deres FK til TabelA2XY på begge kolonner
Dette er supernøgle- eller undertypetilgangen
- alt DRI-baseret
- ingen udløsere
- ingen udf'er med tabeladgang i CHECK-begrænsninger.