Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
简单的SQL多表设计_Sql - Fatal编程技术网

简单的SQL多表设计

简单的SQL多表设计,sql,Sql,假设我有一张教室的桌子。 每个教室都有特定于该教室的一组学生。设置此项的最佳方式是什么?我应该 A.为每个教室制作单独的学生桌?但是,我如何将教室分配给桌子呢 B.列出一张学生名单,每个人都有自己的教室FK?如果有数以百万计的学生,而你只寻找某个特定教室的学生呢 顺便说一句,我不熟悉SQL,我建议每个实体使用一个表,并使用一个联接表来描述两者之间的关系。一张桌子是给所有的学生的,另一张桌子是给所有的教室的,还有一张桌子是给学生的 最小示例 STUDENT表包含列id(整数,主键)和name(v

假设我有一张教室的桌子。

每个教室都有特定于该教室的一组学生。设置此项的最佳方式是什么?我应该

A.为每个教室制作单独的学生桌?但是,我如何将教室分配给桌子呢

B.列出一张学生名单,每个人都有自己的教室FK?如果有数以百万计的学生,而你只寻找某个特定教室的学生呢


顺便说一句,我不熟悉SQL,我建议每个实体使用一个表,并使用一个联接表来描述两者之间的关系。一张桌子是给所有的学生的,另一张桌子是给所有的教室的,还有一张桌子是给学生的

最小示例

STUDENT
表包含列
id
(整数,主键)和
name
(varchar)

教室
表中有列
id
(整数,主键)和
说明
(varchar)

学生教室
有整数列
id
(主键)、
学生id
教室id


通过这种方式,可以将学生分配到教室(或者可以将教室分配给学生),您可以根据需要声明外键。

我建议每个实体使用一个表,并使用联接表来描述两者之间的关系。一张桌子是给所有的学生的,另一张桌子是给所有的教室的,还有一张桌子是给学生的

最小示例

STUDENT
表包含列
id
(整数,主键)和
name
(varchar)

教室
表中有列
id
(整数,主键)和
说明
(varchar)

学生教室
有整数列
id
(主键)、
学生id
教室id


通过这种方式,学生可以被分配到教室(或者教室可以被分配给学生),你可以适当地声明你的外键。

@NathanHughes我相信这是一种一对多的关系。一间教室,很多students@NathanHughes我相信这是一种一对多的关系。一个教室,很多学生