Sobes.tech
Middle

Bir veritabanında bire bir ilişki nasıl uygulanır?

sobes.tech yapay zeka

AI'dan gelen yanıt

Bir ilişkide "birden bire" ilişkisi, benzersiz kısıtlama ve dış anahtar kullanılarak uygulanır. En yaygın yöntemler:

  1. Ortak bir birincil anahtar kullanımı: İki tablo, aynı alanı birincil anahtar olarak kullanır ve bu alan aynı zamanda diğer tablonun birincil anahtarına referans veren bir dış anahtar olur.

  2. Benzersiz bir dış anahtar kullanımı: Bir tablodaki alan, diğer tablonun birincil anahtarına referans veren bir dış anahtar olarak oluşturulur ve bu alana benzersizlik kısıtlaması uygulanır.

Ortak bir birincil anahtar örneği (SQL Server'da):

CREATE TABLE UserProfiles (
    UserId INT PRIMARY KEY,
    FirstName NVARCHAR(50),
    LastName NVARCHAR(50)
);

CREATE TABLE UserDetails (
    UserId INT PRIMARY KEY, // Bu hem birincil anahtar hem de dış anahtar
    Address NVARCHAR(100),
    Phone NVARCHAR(20),
    CONSTRAINT FK_UserDetails_UserProfiles FOREIGN KEY (UserId) REFERENCES UserProfiles(UserId)
);

Benzersiz dış anahtar örneği (SQL Server'da):

CREATE TABLE Users (
    UserId INT PRIMARY KEY,
    Username NVARCHAR(50) UNIQUE
);

CREATE TABLE UserInfo (
    UserInfoId INT PRIMARY KEY, // UserInfo'nin birincil anahtarı
    UserId INT UNIQUE,         // Kullanıcıları referans alan benzersiz dış anahtar
    Email NVARCHAR(100),
    CONSTRAINT FK_UserInfo_Users FOREIGN KEY (UserId) REFERENCES Users(UserId)
);

Hangi yaklaşımın seçileceği, verilerin semantiğine ve erişim kolaylığına bağlıdır. Ortak bir birincil anahtar kullanımı, ikinci tablonun verilerinin ilk tablonun isteğe bağlı bir genişlemesi olduğu durumlarda sıkça tercih edilir. Benzersiz dış anahtar ise, tabloların birincil anahtarları başlangıçta eşleşmediğinde daha esnektir.