Omezení CHECK s UDF (což je Odedova odpověď) se špatně škálují a mají špatnou souběžnost. Viz tyto:
- Skalární UDF zabalené do omezení CHECK jsou velmi pomalé a mohou selhat u víceřádkových aktualizací
- Tony Rogerson
Takže:
- vytvořte novou tabulku, řekněme TableA2XY
- toto má PK tabulky A a sloupec char(1) s CHECK, který umožňuje pouze X nebo Y. A také jedinečné omezení PK A.
- tableX a tableY mají nový sloupec char(1) se zaškrtnutím povolit pouze X nebo Y, v daném pořadí
- tableX a tableY mají v obou sloupcích své FK až TableA2XY
Toto je přístup superklíče nebo podtypu
- vše na základě DRI
- žádné spouštěče
- žádné udfs s přístupem k tabulce v omezeních CHECK.