我正在做一个由三个表格组成的班级项目:会员、活动和出席情况。
我可以制作桌子,但我不明白他们之间的关系。有人能简单地解释一下他们的关系并帮我写代码吗?提前感谢
发布于 2014-10-05 10:02:03
CREATE TABLE Member
([MID] int primary key, [Name] varchar(5), [Address] varchar(8))
;
INSERT INTO Member
([MID], [Name], [Address])
VALUES
(1, 'Name1', 'Address1')
;
CREATE TABLE Event
([EventNo] int primary key, [EventName] varchar(6))
;
INSERT INTO Event
([EventNo], [EventName])
VALUES
(1, 'Event1')
;
CREATE TABLE Attendance
([EventNo] int FOREIGN KEY REFERENCES Event(EventNo), [MID] int FOREIGN KEY REFERENCES Member(MID))
;
INSERT INTO Attendance
([EventNo], [MID])
VALUES
(1, 1)
;
选择查询将类似于以下
select * from Event join Attendance on Event.EventNo=Attendance.EventNo
join Member on Member.MID=Attendance.MID
发布于 2014-10-05 09:54:32
例如:
create table member (
MID INT primary key ...,
Name VARCHAR(30),
...
);
create table event (
EventNo INT primary key ...,
EventName VARCHAR(30),
...
);
create table attenance (
EventNo INT,
MID INT,
//here add constraint for MID and EventNo - they are foreign key from other tables.
UNIQUE(EventNo, MID)
);
看起来,您在事件和成员之间有关系:many-to-many
。One member
可以在many events
中。One event
可以拥有many members
。
拼写校正
https://stackoverflow.com/questions/26205444
复制相似问题