回答

收藏

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

技术问答 技术问答 273 人阅读 | 0 人回复 | 2023-09-14

设想  J" i  B7 N9 d* J& ^- h
我正在建立一个包含一系列不同表的数据库。这些由COMMENTS表,BLOGS表和ARTICLES表组成。我希望能够向每个表中添加新项目,并使用0到5个标签对其进行标记,以帮助用户更轻松地搜索相关的特定信息。. q% w+ J. h( q8 A: M7 z
有关建筑的初步想法
1 `$ ]& Q0 {3 U) X( w) n5 D我最初的想法是拥有一个集中的TAGS表。该表将使用TagID字段和TagName字段列出所有可用标签。由于每个项目可以有很多标签,并且每个标签可以有很多项目,因此我需要在每个项目表和TAGS表之间建立多对多关系。# t6 Q/ E; \* |1 U. h4 L
例如:
$ x3 d! s* a+ e许多注释可以具有许多标签。许多标签可以有许多评论。
' N, M/ E3 |4 ~3 |- ]许多文章可以具有许多标签。许多标签可以包含许多文章。
8 m# A: m( U9 [, g等等.....
4 u# C5 z; b! c3 a" ^! ?  q当前的理解* Y8 e1 j  t5 P/ y6 q
从以前的经验中,我了解到在T-
+ R7 J& v; g- m6 GSQL中实现此结构的一种方法是在COMMENTS表和TAG表之间有一个关联表。该连接表将包含CommentID和TagID,以及其自己的唯一CommentTagID。此结构也将适用于所有其他项目。! t$ m$ ~: b3 d5 S
问题5 @0 |( A' M8 ]0 e2 x6 X
首先,这是实现这种数据库体系结构的正确方法吗?如果没有,还有什么其他方法可行?由于数据库最终将包含大量信息,因此我需要确保其可伸缩性。这是可扩展的实现吗?如果我有很多这样的表,那么此体系结构会使CRUD操作非常慢吗?我应该对ID字段使用GUID还是递增INT?$ a6 b" \* E, S. z- |, n
帮助和建议将不胜感激。
3 o$ r# N5 q' R谢谢你。. A3 Q+ P! k9 I6 t/ {
                1 R" Y- ^) F% T2 j9 X( C
解决方案:
- k) `# G) E; n8 P               
$ @" }: V, V7 [: O
! q$ ]: a% R% ]3 R. n( h
& ~- \7 ^& j% B7 M% y: }0 {                您可能还需要查看WordPress模式和数据库描述,以了解其他人如何解决类似的问题。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则