您可以创建结合RoomID和EquipmentType像这样的表RoomEquipment:
create table RoomEquipment (
RoomID int,
EquipmentType nvarchar(1),
primary key (roomid, equipmenttype),
constraint fk_roomequipment_equipment_type
foreign key (equipmenttype)
references equipment(equipmenttype),
constraint fk_roomequipment_equipment_roomid
foreign key (roomid)
references room(roomid)
);
其它表可能是这样的:
-- I prefer using char datatype for predictable number of characters in a field
CREATE TABLE RoomType (
Roomtype nvarchar(2) NOT NULL,
Description nvarchar(20),
Responsibility nvarchar(20),
primary key (Roomtype)
);
-- You could use char(1) instead of nvarchar(1) for type; I'd prefer using int instead
create table Equipment (
Equipmenttype nvarchar(1) NOT NULL,
Description nvarchar(10)
);
-- Added a unique key to assist with good foreign key relationship
alter table Equipment add constraint uk_equipment_equipmenttype unique (equipmenttype);
-- Just use an int or char if roomID length is predictable
Create table Room (
RoomID nvarchar(8),
Capacity numeric(3),
Roomtype(fk,nvarchar(2)
);
alter table room add constraint uk_room_id unique (roomid);
例子是在这里:http://sqlfiddle.com/#!3/f510b
你想命名你正在创建的表的名字是什么?你想在那张桌子上放什么样的领域?哪些表和字段应该参与外键关系? – zedfoxus
我想要创建RoomID和设备类型以将房间与设备关联,因此新表格将称为RoomEquipment。 @zedfoxus – salman12
好的,RoomEquipment是桌子。它将有RoomID和EquipmentType字段。 RoomEquipment的EquipmentType字段将与Equipment的EquipmentType字段相关。 RoomEquipment的RoomID字段与任何东西有关吗? – zedfoxus