sql >> Database >  >> RDS >> Sqlserver

Vreemde sleutel naar niet-primaire sleutel

Als u echt een externe sleutel voor een niet-primaire sleutel wilt maken, MOET dit een kolom zijn met een unieke beperking.

Van online boeken:

Een FOREIGN KEY-beperking hoeft niet alleen te worden gekoppeld aan een PRIMARYKEY-beperking in een andere tabel; het kan ook worden gedefinieerd om te verwijzen naar de kolommen van een UNIEKE beperking in een andere tabel.

Dus in jouw geval als je AnotherID . aanmaakt uniek, het zal worden toegestaan. Als je geen unieke beperking kunt toepassen, heb je pech, maar dit is echt logisch als je erover nadenkt.

Hoewel, zoals gezegd, als je een prima primaire sleutel hebt als kandidaatsleutel, waarom zou je die dan niet gebruiken?



  1. Is er een manier om de output van PL/SQL in Oracle door te spoelen?

  2. Rol bestaat niet en kan geen database maken bij gebruik van PostgreSQL

  3. Verbeter de prestaties van UDF's met NULL ON NULL INPUT

  4. Gids voor het ontwerpen van een database voor Taakbeheer in MySQL