Saya memiliki tiga tabel contoh berikut (demo yang disederhanakan untuk tujuan pertanyaan):
CREATE TABLE Teams
(
Id int IDENTITY(1,1) NOT NULL,
Name varchar(50) NOT NULL,
PRIMARY KEY (Id)
)
CREATE TABLE TeamGroups
(
Id int NOT NULL,
TeamId int NOT NULL,
PRIMARY KEY (Id,TeamId)
)
CREATE TABLE RoomBookings
(
Id int NOT NULL,
TeamGroupId int NOT NULL,
RoomId int NOT NULL,
PRIMARY KEY (Id)
)
dan saya sudah menyiapkan kunci asing berikut:
ALTER TABLE TeamGroups WITH CHECK
ADD CONSTRAINT [FK_TeamGroups_Teams]
FOREIGN KEY (TeamId) REFERENCES Teams(Id)
Idenya adalah bahwa setiap Team
dapat bernilai nol atau lebih TeamGroups
, dan setiap TeamGroup
dapat memiliki nol atau lebih RoomBookings
Untuk mencerminkan hal itu, saya ingin menambahkan kunci asing dari tabel RoomBookings
ke dalam tabel TeamGroups
.
Saya mencoba menggunakan Hubungan GUI di Management Studio untuk membuat kunci asing (tabel kunci utama: TeamGroups.ID
, tabel kunci asing: RoomBookings.TeamGroupId
) tetapi saya mendapatkan kesalahan:
Kolom dalam tabel 'TeamGroup' tidak cocok dengan kunci utama atau batasan UNIK yang ada
Saya berasumsi itu karena tabel TeamGroups
memiliki kunci utama dua kolom?
Saya tidak benar-benar ingin membuat batasan kunci asing dari tabel TeamGroups
(misalnya, kuncinya ada di tabel TeamGroups
), karena tabel tersebut pada akhirnya akan digunakan oleh tabel lain (seperti EquipmentBookings
, GroupManagers
, dll).
Ada bantuan?
TeamGroups
keTeam
berdasarkan kolomTeam.Id
.... itu seharusnya berfungsi dengan baik. - person marc_s   schedule 19.11.2015TeamGroups
keTeam
. IniTeamGroups
hinggaRoomBookings
yang gagal. - person Sk93   schedule 19.11.2015RoomBookings
keTeamGroups
. - person Sk93   schedule 19.11.2015