2

我是一名 ASP.NET 开发人员,我真的不做这种数据库的事情。但是对于我在 Codeplex 上的开源项目,我需要为该项目设置一个数据库模式。

所以从这里和那里阅读我已经设法做到以下几点。

在此处输入图像描述

作为数据库模式设计的新手,我希望其他人对这个主题有更好的想法来帮助我确定这个设计的任何问题。

我认为大多数关系都是不言自明的,但我仍然会记下每一个。

UserProfileIssues之间的两个键用于UserIdIssueCreatedByIssueClosedBy之间的关系

谢谢

4

1 回答 1

2

这看起来相当不错,IMO 您的主要问题是命名一致性和简单性。

  • 如果每个表标识符都是Id,则应将其用于所有表。
  • 与表名中的单数/复数保持一致。我倾向于选择单数。

您可以简化表名:

  • UserProfile=>User

以及字段名称:

  • Issue_Title=>Title
  • Issue_Description=>Description
  • Issue_Priority_Type=> Type(或者更容易混淆Name:)

等等

但是我会为外键使用更精确的命名

  • CreatedBy=>CreatedByUserId
  • ClosedBy=>ClosedByUserId

HTH。

于 2012-11-13T10:58:26.243 回答