Kunci utama dalam tabel Person mungkin adalah sebuah identitas. Ini adalah bidang bilangan bulat yang bertambah secara otomatis.
Anda perlu membuat kunci asing di tabel alamat bertipe int, bukan identitas. Ini akan menampung bilangan bulat yang sesuai dengan catatan Person, tetapi Anda tidak ingin kunci asing bertambah secara otomatis. Untuk setiap record di tabel anak (alamat), Anda akan menetapkan nilai spesifik untuk kunci asing yang menunjukkan milik record induk (Orang) mana.
Contoh:
INSERT person (firstname, lastname) VALUES ('John', 'Smith')
Ini akan memasukkan catatan orang baru dan bidang personid
akan terisi secara otomatis karena merupakan kolom IDENTITY.
Sekarang untuk memasukkan alamat dari John Smith, Anda perlu mengetahui personid
-nya . Misalnya:
-- Say, for example, personid of John Smith is 55
INSERT address (personid, street, city) VALUES (55, 'High Street', 'London')
Jadi di person
tabel personid dihasilkan secara otomatis tetapi di address
tabel Anda menentukan nilai yang cocok dengan orang yang ada. Itulah inti dari kunci asing.
Tanpa informasi lebih lanjut tentang skema Anda, sulit untuk menebak masalahnya.