Stack Exchange大约每三个月就会通过archive.org发布其所有公共可用内容的“数据转储”,并且还可以通过Internet在Stack Exchange Data Explorer(SEDE)上查询该信息(每周更新一次,星期日)。随着时间的流逝,随着新功能和其他数据位被引入Stack Exchange站点,数据转储的“结构”可能会发生变化。


公共数据转储的当前结构是什么?
是否有模式图?

返回FAQ索引

#1 楼

关于此列表:


外键字段的格式设置为指向其父表的链接

斜体表名称在Archive.org的两个数据转储中均以以及SEDE




帖子/带删除的帖子
您可以在Posts中找到所有未删除的帖子。 PostsWithDeleted包含带有已删除帖子的行,同时与Posts共享相同的列,但对于已删除的帖子,仅填充了一些字段,并在下面标有1。


Id 1


PostTypeId 1(在PostTypes表中列出)1 =问题
2 =答案
3 =孤立标签Wiki
4 =标签Wiki摘录
5 =标签Wiki
6 =主持人提名
7 =“ Wiki占位符”(似乎只是选举说明)
8 =特权Wiki


AcceptedAnswerId(仅当PostTypeId = 1时出现)


ParentId 1(仅当PostTypeId = 2时出现)


CreationDate 1



DeletionDate 1(对于SEDE PostsWithDeleted表仅非空。Posts上没有删除的帖子。数据转储中没有列。)


Score 1


ViewCount(可为空)


Body(呈现为HTML,而不是Markdown)


OwnerUserId(仅当用户具有没有被删除;标签Wiki条目始终为-1,即社区用户拥有它们)


OwnerDisplayName(可空)


LastEditorUserId(可空)


LastEditorDisplayName(可为空)


LastEditDate(例如,为2009-03-05T22:28:34.823)-最近对该帖子进行编辑的日期和时间(可为空)


LastActivityDate(例如2009-03-11T12:51:01.480)-帖子最近活动的日期时间


Title(可为空)


Tags 1(可空)


AnswerCount(可空)


CommentCount(可空)


FavoriteCount( nullable)


ClosedDate 1(仅在帖子关闭时显示)


CommunityOwnedDate(仅当帖子是社区Wiki'd时显示)


ContentLicense



用户

Id
Reputation
CreationDate
DisplayName

LastAccessDate(Datetime用户最后一次加载页面;最多每30分钟更新一次)

WebsiteUrl
Location
AboutMe

Views(查看个人资料的次数)


UpVotes(用户投了多少票)

DownVotes
ProfileImageUrl

EmailHash(现在一直为空白) />


评论

AccountId
Id
PostId

Score(评论主体)

Text
CreationDate

UserDisplayName(可选。如果已删除用户,则不存在)

UserId



徽章


ContentLicense


Id


UserId(徽章的名称e)


Name(例如Date


2008-09-15T08:55:03.923 1 =金
2 =银
3 =青铜


Class = TagBased如果徽章是标签,否则为命名徽章




CloseAsOffTopicReasonTypes

True
Id
IsUniversal
InputTitle
MarkdownInputGuidance
MarkdownPostOwnerGuidance

MarkdownPrivilegedUserGuidance(原文)
MarkdownConcensusDescription
CreationDate
CreationModeratorId
ApprovalDate
ApprovalModeratorId
DeactivationDate


PendingFlags
尽管名称,该表实际上包含与关闭相关的标志和投票。 br />

DeactivationModeratorId(在Id表中列出)13 =封闭的罐头标志
14 =投票关闭
15 =投票重新打开


FlagTypeId


FlagTypes


PostId(在CreationDate表中列出)


CloseReasonTypeId(如果CloseReasonTypes(在CloseAsOffTopicReasonTypeId表中列出))


CloseReasonTypeId = 102 (off-topic),如果CloseAsOffTopicReasonTypes是1或101(旧副本或当前副本)


DuplicateOfQuestionId,以关闭和迁移选票



PostFeedback
收集匿名访问者和/或未注册用户的投票。在此处查看


CloseReasonTypeId


BelongsOnBaseHostAddress


Id


PostId(在IsAnonymous表中列出)2 = UpMod
3 = DownMod


VoteTypeId




PostHistory

VoteTypes

CreationDate(在Id表中列出)1 =初始标题-初始标题(仅问题)
2 =初始正文-初始帖子原始正文text
3 =初始标签-初始标签列表(仅问题)
4 =编辑标题-修改标题(仅问题)
5 =编辑正文-修改后的正文(原始降价)
6 =编辑标签-修改标签列表(仅限问题)
7 =回滚标题-还原标题(仅限问题)
8 =回滚正文-还原正文(原始降价)
9 =回滚标签-已还原标签列表(仅限问题)
10 =帖子已关闭-帖子被决定为要关闭
11 =帖子已重新打开-帖子被决定为要重新打开
12 =帖子被删除-该职位投票被删除
13 = Po st未删除-投票被恢复的帖子
14 =帖子已锁定-主持人锁定了帖子
15 =帖子已解锁-主持人解锁了帖子
16 =社区所有-现在由社区拥有> 17 =已迁移帖子-已迁移帖子-现在由35/36(在此处/离开)替换
18 =已合并问题-已合并已删除问题的问题
19 =已受问题保护-该问题已由主持人保护。
20 =未保护问题-主持人未保护问题。
21 =帖子已取消关联-管理员从帖子中删除了OwnerUserId
22 =未合并问题-答案/投票已还原为先前合并的问题
/> 24 =建议编辑已应用
25 =发表推文
31 =评论讨论移至聊天
33 =添加了公告,-PostHistoryTypeId包含PostNotices的外键
34 =已删除公告-PostHistoryTypes,其中包含PostNotices的外键,<35 /> =帖子已迁移-替换id 17
36 =帖子已迁移到此处-替换id 17
37 =帖子合并源
38 =帖子合并目的地
50 =被社区用户打击
52 =问题成为热网络问题(主要)/热元问题(元)
53 =主持人从热网络/元问题中删除了问题


此外,在较旧的转储中(全部猜想,似乎一切都不再存在了):23 =与开发人员相关的未知事件
26 =开发人员投票无效(ERM?)
27 =发布未迁移/隐藏的主持人迁移?
28 =未知的建议事件
29 =未知的主持人事件(可能是取消wikification?)
30 =未知事件(太罕见了)


comment


comment:有时不只一种类型的喜故事记录可以通过一个动作来记录。所有这些都将使用相同的RevisionGUID分组


PostId(例如RevisionGUID



CreationDate


2009-03-05T22:28:34.823:如果用户已被删除且不再由用户ID引用,则填充


UserId:此字段将包含编辑帖子的用户发表的评论。 >

如果PostHistoryTypeId = 10,则此字段包含关闭原因(在UserDisplayName中列出)的CloseReasonId:旧的关闭原因:
1 =完全重复
2 =主题不正确
3 =主观和争论性的
4 =并非真实的问题
7 =过于局限的
10 =通用参考文献
20 =杂音无意义(仅适用于Meta网站)亲密的原因:
101 =重复
102 =题外话
103 =不清楚您要问什么
104 =过于宽泛
105 =主要基于意见


如果Comment,则此字段包含CloseReasonTypesPostHistoryTypeId in (33,34)


PostNoticeId:给定修订版的新值的原始版本-如果PostNotice该列将包含JSON编码的字符串,且所有对Text进行了投票的用户-如果是重复的结束投票,则JSON字符串将包含一系列原始问题,如PostHistoryTypeId in (10,11,12,13,14,15,19,20,35)-如果PostHistoryTypeId,则此列将包含OriginalQuestionIdsPostHistoryTypeId = 17的迁移详细信息


from <url>




PostLinks


to <url>主键

ContentLicense创建链接时

Id源帖子的ID

CreationDate目标/相关文章的ID

PostId链接类型1 =已链接(RelatedPostId包含指向LinkTypeId的链接)
3 =复制(PostIdRelatedPostId的副本)


邮局通知

PostId
RelatedPostId

Id 1 =需要引用
2 =当前事件
3 =解释不足
10 =当前答案已过时 11 =引起注意
12 =改进细节
13 =需要权威参考
14 =需要规范答案
15 =奖励现有答案
20 =内容争议
21 =主题注释
22 =历史意义
23 = Wiki答案

PostId
PostNoticeTypeId
CreationDate

DeletionDate(如果其中包含带有通知显示的自定义文本)

ExpiryDate
Body


PostNoticeTypes

OwnerUserId

DeletionUserId 1 =历史锁定
2 =赏金
4 =主持人通知

Id

ClassId(包含默认值)通知文字)

Name
Body

IsHidden -1 =未指定持续时间
1 = 7天(赏金)



PostTags

Predefined
PostNoticeDurationId


ReviewRejectionReasons
建议的编辑的固定拒绝原因。请参阅显示所有评论拒绝原因

PostId
TagId
Id

Name(仅适用于Wiki(5)或摘录(6)帖子类型,否则为null)

ReviewTaskResults


Description


PostTypeId


Id(列出在ReviewTaskId中)1 =不确定
2 =批准(建议的编辑)
3 =拒绝(建议的编辑)
4 =删除(质量低)
5 =编辑(第一篇文章,较晚的答案,低质量)
6 =关闭(关闭,低质量)
7 =看起来不错(低质量)
8 =不关闭(关闭)
9 =推荐删除(低质量答案)
10 =推荐关闭(低质量问题)
11 =我已完成(第一篇文章)
12 =重新打开(重新打开)
13 =保持关闭状态(重新打开)
14 =编辑并重新打开(重新打开)
15 =优秀(社区评估)
16 =满意(社区评估)
17 =需要改进(社区评估) )
18 =无需采取任何行动(第一篇文章,最新答案)


ReviewTaskResultTypeId仅日期(ReviewTaskResultTypes);时间数据似乎有意删除了,以保护用户隐私


CreationDate(建议的编辑;在2018-07-31 00:00:00中列出)


ReviewTasks


RejectionReasonId


ReviewRejectionReasons(在Comment中列出)1 =建议编辑
2 =关闭投票
3 =低质量帖子
4 =第一帖
5 =延迟回答
6 =重新打开投票
7 =社区评估
8 =链接验证
9 =带标记的帖子
10 =分类
11 =助手


Id仅日期(ReviewTaskTypeId


ReviewTaskTypes仅日期(CreationDate) />

2018-07-31 00:00:00


DeletionDate(用于建议的编辑,由于历史原因,它们具有自己的编号)


2018-07-31 00:00:00与存储已完成审阅结果的ReviewTaskResult相关的ID。



SuggestedEdits
如果批准和拒绝日期均为空,则此编辑仍在审核(其在ReviewTaskStateId中的对应条目也将处于活动状态)。

ReviewTaskStates-如果未被拒绝,则为NULL(还)。 > PostId


SuggestedEditVotes

SuggestedEditId
CompletedByReviewTaskId
ReviewTasks

Id(在PostId表中列出) 2 =批准(技术上为UpMod)
3 =拒绝(技术上为DownMod)

CreationDate
ApprovalDate
RejectionDate


标签

OwnerUserId
Comment
Text

Title(可为空)发布ID,用于保存标签


Tags(可为空)包含标签Wiki文本的帖子ID
TagSynonyms

RevisionGUID
Id
SuggestedEditId
UserId
VoteTypeId
VoteTypes
CreationDate
TargetUserId
TargetRepChange
Id


投票

TagName
Count

ExcerptPostId(在WikiPostId中列出)表)1 = AcceptedByOriginator
2 = UpMod(又名投票)
3 = DownMod(又名投票)
4 =令人反感的
5 =最喜欢的(又名书签; IsModeratorOnly也将被填充)
6 =关闭(2013-06-25生效:关闭票仅存储在表中:IsRequired
7 =重新打开
8 = BountyStart(IdSourceTagName
9 = BountyClose(还将填充TargetTagName
10 =删除
11 =删除
12 =垃圾邮件
15 =主持人审核(即,版主正在查看已标记的帖子)
16 = ApproveEditSuggestion


CreationDate(仅当OwnerUserId时显示;如果删除用户则为-1)


AutoRenameCount仅日期(LastAutoRename时间数据是有目的的已删除以保护用户隐私)


Score(仅当ApprovedByUserId时显示)


xxxTypes
此处未列出:


ApprovalDate表,其中列出了IdPostId等的(标识,名称)对。有关所有类型的最新列表,请参阅显示所有类型。


所有表/列/类型
在此查询中查找每个特定列的确切T-SQL数据类型和长度/精度:
列出SEDE上所有表中的所有字段

TIMESTAMPS
所有时间戳均为VoteTypeId,默认格式为VoteTypes(以毫秒为单位存储)。
使用UserId将当前时间转换为PostHistory(包括DST)的示例:
SELECT GetDate() At Time Zone 'UTC' At Time Zone 'Pacific Standard Time'

到列出时区:UserId

#2 楼

可视化的架构
上面的实体关系图(ERD)是使用在information_schema.columns表中找到的数据构建的。 (感谢ashleedawg将桌子缩减为基本的必需品)。

所有表,列和键信息都使用python3编译成SQL脚本。通过上面接受的答案对结果进行交叉验证,并在最后将硬编码中遗留下的少量特异外键结构。)

请在我的GitHub存储库中找到编写SQL和其他相关文件的脚本。

ERD的交互式HTML版本发布在这里:
https: //sedeschema.github.io/

评论


它可以使用一个密钥。例如,虚线代表什么?

– QHarr
昨天