数据库说明

修改历史
时间 修改人 说明
2008-04-13 Anders Liu 添加对所有表的说明。
2008-05-25 Anders Liu 将User、Regex、Keyword、Comment表修改为UserInfo、RegexInfo、KeywordInfo、CommentInfo。删除UserRegex和UserComment视图。

UserInfo表

UserInfo表用于记录系统中所有的用户及其相关信息。
UserId uniqueidentifier 主键。用户ID。
Nickname nvarchar(50) 用户昵称。
SecurityEmail nvarchar(256) 用于用户登录的安全邮箱。
LoweredSecurityEmail nvarchar(256) 唯一键。小写的安全邮箱,便于编制索引和进行比较。
PasswordHash nvarchar(128) 密码的散列结果。
PasswordSalt nvarchar(128) 用于对密码进行散列的salt值。
RegisterIP nvarchar(256) 用户注册时所在的IP。
RegisterTime datetime 用户注册的时间。
LastLoginIP nvarchar(256) 用户上次登录时所在的IP地址。
LastLoginTime datetime 用户上次登录的时间。
LastPasswordChangeIP nvarchar(256) 用户上次修改密码时所在的IP地址。
LastPasswordChangeTime datetime 用户上次修改密码的时间。
AccessKey nvarchar(50) 用户主页的访问路径。用户可以通过诸如http://regex-lib.net/user/<accesspath>这样的路径来访问自己的个人空间。

RegexInfo表

Regex表用于记录用户向系统中添加的所有正则表达式。
RegexId uniqueidentifier 主键。正则表达式的唯一ID。
Title nvarchar(1024) 正则表达式的标题。
Description nvarchar(max) 用户为正则表达式提供的描述。
Pattern nvarchar(max) 正则表达式的模式串。
UserId uniqueidentifier 到User.UserId的外键。添加该正则表达式的用户的ID。
AddedTime datetime 添加时间。
UserIP nvarchar(256) 用户添加该正则表达式时所在的IP地址。
AccessKey nvarchar(50) 正则表达式的访问路径。用户可以通过诸如http://regex-lib.net/regex/<accesskey>这样的路径访问该正则表达式的详细信息。

KeywordInfo表

Keyword表用于记录系统中所有的关键字。
KeywordId uniqueidentifier 主键。关键字的唯一ID。
Text nvarchar(50) 关键字的文本。
LoweredText nvarchar(50) 唯一键。小写的关键字文本。便于编制索引和进行比较。
ContributedUserId uniqueidentifier 第一个使用该关键字的用户的ID。
FirstAddedTime datetime 用户第一次使用该关键字的时间。

RegexKeyword表

RegexKeyword表用于记录用户给正则表达式添加关键字的情况。
由于不仅正则表达式的添加者可以为其添加关键字,收藏一个关键字的用户也可以为其添加自己的关键字,所以需要这样一个表来保存这些信息。
RegexId uniqueidentifier 主键一。到Regex.RegexId的外键。添加关键字的正则表达式的ID。
KeywordId uniqueidentifier 主键二。到Keyword.KeywordId的外键。添加的关键字的ID。
UserId uniqueidentifier 主键三。到User.UserId的外键。为正则表达式添加关键字的用户的ID。
AddedTime datetime 添加关键字的时间。

CommentInfo表

Comment表保存用户对正则表达式进行的评论。
CommentId uniqueidentifier 主键。评论的ID。
RegexId uniqueidentifier 到Regex.RegexId的外键。评论所针对的正则表达式的ID。
UserId uniqueidentifier 到User.UserId的外键。发表评论的用户的ID。
AddedTime datetime 评论发表的时间。
Body nvarchar(max) 评论内容。
UserIP nvarchar(256) 用户发表评论时所在的IP地址。

PendingUser表

PendingUser表用于保存所有等待注册的用户的信息。用户注册时需首先填写安全邮箱,系统会将注册链接发至安全邮箱,然后在此表中记录信息。
当用户通过邮箱中的注册链接完成注册后,对应的信息被添加到User表中,并从此表中删除相关条目。
SecurityEmail nvarchar(256) 安全邮箱。
LoweredSecurityEmail nvarchar(256) 主键。小写的安全邮箱。
ApplyTime datetime 发起注册请求的时间。
ApplyCode uniqueidentifier 用户的注册申请码,嵌入于注册链接中,用户邮箱和注册申请码必需都匹配才能进行注册。
UserIP nvarchar(256) 用户申请注册时所在的IP地址。

PendingPassword表

PendingPassword表保存需要修改密码的用户请求。用户修改密码时需要填写安全邮箱,系统会将注册链接发至安全邮箱,然后在此表中记录信息。
当用户通过安全邮箱中的链接完成密码修改后,此表中对应的条目将被删除。
UserId uniqueidentifer 主键。申请修改密码的用户的ID。
ApplyTime datetime 发起申请的时间。
ApplyCode uniqueidentifier 申请码。只有用户ID和申请码匹配时才能完成密码修改。
UserIP nvarchar(256) 用户发起申请时所在的IP地址。

Last edited May 25, 2008 at 12:28 AM by AndersLiu, version 10

Comments

No comments yet.