如果我想在SQL中创建多对多关系,我必须使用3个表来执行此操作,如下所示:
create table testCases(
id int(11) auto_increment,
testcase varchar(200),
primary key(id))
create table requirements(
id int(11) auto_increment,
requirements varchar(200),
primary key(id))
和第三个表映射关系
create table matchRequirementsToTests(
requirements varchar(200),
testcase varchar(200),
primary key(requirements, testcase),
foreign key (requirements) references Requirements(id),
foreign key(test case) references Test_cases(id))
我见过其他例子,有些人加了“约束”。
但我找不到任何关于如何进一步使用这个“多对多”表的例子。 (MySQL或SQL Server)。 我的意思是,我现在如何指定关系才能执行查询?
问候
答案 0 :(得分:1)
在SQL中查询多个表称为连接操作。只是谷歌SQL加入,这是非常基本的。
事实上,在查询数据库时不必遵守已定义的关系。
关系只告诉数据库如何维护数据完整性。基本上,这意味着字段的有效值仅是“外部”表中存在的值。
作为旁注,正确的术语是“关系”,或者更一般地说,是“约束”。 “关系”是用于描述表本身的术语(在关系代数中)。