我是一名 ASP.NET 开发人员,我真的不做这种数据库的事情。但是对于我在 Codeplex 上的开源项目,我需要为该项目设置一个数据库模式。
所以从这里和那里阅读我已经设法做到以下几点。
作为数据库模式设计的新手,我希望其他人对这个主题有更好的想法来帮助我确定这个设计的任何问题。
我认为大多数关系都是不言自明的,但我仍然会记下每一个。
UserProfile和Issues之间的两个键用于UserId和IssueCreatedBy和IssueClosedBy之间的关系
谢谢
我是一名 ASP.NET 开发人员,我真的不做这种数据库的事情。但是对于我在 Codeplex 上的开源项目,我需要为该项目设置一个数据库模式。
所以从这里和那里阅读我已经设法做到以下几点。
作为数据库模式设计的新手,我希望其他人对这个主题有更好的想法来帮助我确定这个设计的任何问题。
我认为大多数关系都是不言自明的,但我仍然会记下每一个。
UserProfile和Issues之间的两个键用于UserId和IssueCreatedBy和IssueClosedBy之间的关系
谢谢
这看起来相当不错,IMO 您的主要问题是命名一致性和简单性。
Id
,则应将其用于所有表。您可以简化表名:
UserProfile
=>User
以及字段名称:
Issue_Title
=>Title
Issue_Description
=>Description
Issue_Priority_Type
=> Type
(或者更容易混淆Name
:)等等
但是我会为外键使用更精确的命名
CreatedBy
=>CreatedByUserId
ClosedBy
=>ClosedByUserId
HTH。