你好,我开始学习一些C#和MySQL,我尝试制作2个或更多表以相互连接以形成一个关系数据库。
我正在寻找信息,发现有些人在工作台上进行设计,有些人则使用加入,就像我在加入的一些教程中所看到的那样。
我对一些没有很好解释的关键概念感到困惑。例如,工作台中的连接和链接塔之间的区别。
他们如何工作?它们是一样的吗 ?Workbench是否仅用于制作数据库的设计模式?
当我说外键和主键并连接它们时,这被认为是一个联接,或者是完全不同的概念,并且具有不同的用途?
连接,外键和主键都是关系数据库中密切相关的概念。
主键唯一标识给定表中的行。
a 外键表示A 主键在A 不同的表中。
a JOIN 是从多个表检索数据的一种方式。
我没有太多使用SQL Workbench,但是我的猜测是,链接表是指包含多个外键的表来创建两个表之间的"多到许多"关系。/p>
例如:
表User
CREATE TABLE User(
userId INT PRIMARY KEY,
username VARCHAR(40)
);
表Post
CREATE TABLE Post(
postId INT PRIMARY KEY,
postContents VARCHAR(max)
);
表UserPost
CREATE TABLE UserPost(
userId INT FOREIGN KEY REFERENCES User(userId),
postId INT FOREIGN KEY REFERENCES Post(postId)
);
表UserPost
将是一个"链接表",将User
和Post
表链接在一起,以指示任何一个用户可以拥有的许多帖子。
然后,您可以使用UserPost
到 link 一起找到带有SQL查询的给定用户的所有帖子 User
和 Post
SELECT u.username, p.postContents FROM User u
JOIN UserPost up ON up.userId = u.userId
JOIN Post p ON up.postId = p.postId
因此,总而言之,一个链接表允许我们使用加入来"将"加入"多个表的信息。因此,链接表通常被称为"加入表"。有关加入表的更多详细信息,请参见此帖子。