SQL

T-SQL标记数据库体系结构设计?

发布于 2021-04-20 23:06:14

设想

我正在建立一个包含一系列不同表的数据库。这些由COMMENTS表,BLOGS表和ARTICLES表组成。我希望能够向每个表中添加新项目,并使用0到5个标签对其进行标记,以帮助用户更轻松地搜索相关的特定信息。

有关建筑的初步想法

我最初的想法是拥有一个集中的TAGS表。该表将使用TagID字段和TagName字段列出所有可用标签。由于每个项目可以有很多标签,并且每个标签可以有很多项目,因此我需要在每个项目表和TAGS表之间建立多对多关系。

例如:

许多注释可以具有许多标签。许多标签可以有许多评论。

许多文章可以具有许多标签。许多标签可以包含许多文章。

等等.....

当前的理解

从以前的经验中,我了解到在T-
SQL中实现此结构的一种方法是在COMMENTS表和TAG表之间有一个关联表。该连接表将包含CommentID和TagID,以及其自己的唯一CommentTagID。此结构也将适用于所有其他项目。

问题

首先,这是实现这种数据库体系结构的正确方法吗?如果没有,还有什么其他方法可行?由于数据库最终将包含大量信息,因此我需要确保其可伸缩性。这是可扩展的实现吗?如果我有很多这样的表,那么此体系结构会使CRUD操作非常慢吗?我应该对ID字段使用GUID还是递增INT?

帮助和建议将不胜感激。

谢谢你。

关注者
0
被浏览
48
1 个回答
知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看