0

如果我想在 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)。我的意思是,我现在如何指定关系才能执行查询?

问候

4

1 回答 1

1

查询多个表在 SQL 中称为连接操作。只需google SQL join,它非常基础。

事实上,在查询数据库时尊重定义的关系并不是强制性的。

这些关系只是告诉数据库如何维护数据完整性。基本上,这意味着字段的有效值仅是“外部”表中存在的值。

作为旁注,正确的术语是“关系”,或者更一般地说,“约束”。“关系”是用于描述表本身的术语(在关系代数中)。

于 2013-09-08T22:59:03.647 回答