Verilənlər bazasında bir-birinə əlaqəni necə həyata keçirmək olar?
sobes.tech Süni İntellekt
AI-dan cavab
"Bir-birinə" əlaqəsi əlaqəli verilənlər bazasında unikal məhdudiyyət və xarici açar vasitəsilə həyata keçirilir. Ən yaygın üsullar:
-
Ümumi birincil açardan istifadə: İki cədvəl eyni sahəni birincil açar kimi istifadə edir və bu sahə digər cədvəlin birincil açarına istinad edən xarici açar olur.
-
Unikal xarici açardan istifadə: Bir cədvəldə digər cədvəlin birincil açarına istinad edən xarici açar kimi olan sahə yaradılır və bu sahəyə unikal məhdudiyyət tətbiq olunur.
Ümumi birincil açar nümunəsi (SQL Server-də):
CREATE TABLE UserProfiles (
UserId INT PRIMARY KEY,
FirstName NVARCHAR(50),
LastName NVARCHAR(50)
);
CREATE TABLE UserDetails (
UserId INT PRIMARY KEY, // Bu həm birincil açar, həm də xarici açardır
Address NVARCHAR(100),
Phone NVARCHAR(20),
CONSTRAINT FK_UserDetails_UserProfiles FOREIGN KEY (UserId) REFERENCES UserProfiles(UserId)
);
Unikal xarici açar nümunəsi (SQL Server-də):
CREATE TABLE Users (
UserId INT PRIMARY KEY,
Username NVARCHAR(50) UNIQUE
);
CREATE TABLE UserInfo (
UserInfoId INT PRIMARY KEY, // UserInfo-nin birincil açarı
UserId INT UNIQUE, // Unikal xarici açar, Users-ə istinad edir
Email NVARCHAR(100),
CONSTRAINT FK_UserInfo_Users FOREIGN KEY (UserId) REFERENCES Users(UserId)
);
Bu yanaşmalar arasından seçim məlumatların semantikası və giriş rahatlığına bağlıdır. Ümumi birincil açar vasitəsilə əlaqə qurmaq, ikinci cədvəlin məlumatlarının ilk cədvəlin könüllü genişlənməsi olduğu hallarda istifadə olunur. Unikal xarici açar isə, cədvəllərin birincil açarları əvvəldən uyğun gəlmədikdə daha çevikdir.