gpt4 book ai didi

sql - RDBMS 中基于表的关系和基于列的关系有什么区别?

转载 作者:搜寻专家 更新时间:2023-10-30 21:54:19 25 4
gpt4 key购买 nike

我在我的项目中经常使用基于列的关系,例如:

CREATE TABLE `user` (
id INT AUTO_INCREMENT PRIMARY KEY,
usergroup INT
);

CREATE TABLE `usergroup` (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50)
);

然而,在工作中,似乎有些人使用这样的基于表的关系来做到这一点:

CREATE TABLE `user` (
id INT AUTO_INCREMENT PRIMARY KEY
);

CREATE TABLE `usergrouprelation` (
userid INT,
usergroupdid INT
);

CREATE TABLE `usergroup` (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50)
);

我想知道这两种方法的优缺点是什么?这个的官方术语是什么?

最佳答案

关系不同。

在您的第一个示例中,一对多关系。一个组可以有很多用户。 (一个用户只能在一个组中)

在您的第二个示例中,多对多关系。许多组可以有很多用户。 (一个用户可以在多个组中,组可以有多个用户)

这就是两者的区别,通常的做法是使用中间表来打破多对多关系。

关于sql - RDBMS 中基于表的关系和基于列的关系有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3328601/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com