sql >> Database teknologi >  >> RDS >> Oracle

refererer fremmednøgle altid til en unik nøgle i en anden tabel?

Ifølge SQL-standarden skal en fremmednøgle referere til enten den primære nøgle eller en unik nøgle i den overordnede tabel. Hvis den primære nøgle har flere kolonner, skal den fremmede nøgle have samme antal og rækkefølge af kolonner. Derfor refererer den fremmede nøgle til en unik række i den overordnede tabel; der kan ikke være nogen dubletter.

Om din kommentar:

Hvis T.A er en primær nøgle, så nej, du kan ikke have nogen dubletter. Enhver primær nøgle skal være unik og ikke-nul. Derfor, hvis den underordnede tabel har en fremmednøgle, der refererer til den overordnede primære nøgle, skal den matche en ikke-nul, unik værdi og refererer derfor til nøjagtig én række i den overordnede tabel. I dette tilfælde kan du ikke lave en underordnet række, der refererer til flere overordnede rækker.

Du kan opret en underordnet række, hvis fremmednøglekolonne er NULL, i hvilket tilfælde den ikke refererer til nogen række i den overordnede tabel.



  1. Lær at udføre produktanalyse med SQL Server fuldtekstsøgning. Del 2

  2. Hvordan gendanner jeg en dump-fil fra mysqldump?

  3. Sådan håndteres Ruby on Rails-fejl:Installer venligst postgresql-adapteren:`gem install activerecord-postgresql-adapter'

  4. Hvad er MariaDB ColumnStore?