2

나는 ASP.NET 개발자이며 실제로 이러한 데이터베이스 작업을하지 않습니다. 그러나 Codeplex의 오픈 소스 프로젝트의 경우 프로젝트의 데이터베이스 스키마를 설정해야합니다.SQL에서 버그 추적 시스템을위한 데이터베이스 설계

여기저기서 읽는다면 다음과 같이 할 수 있습니다.

enter image description here

은 데이터베이스 스키마 설계에 새로운 존재로서, 나는 나이 디자인 문제를 식별하는 데 도움이 주제에 대한 더 나은 아이디어가 다른 어떤 사람을 원했다.

대부분의 관계는 자기 설명 적입니다.하지만 여전히 각각 하나씩 생각할 것입니다. USERPROFILE문제 사이

두 키는 사용자 아이디IssueCreatedByIssueClosedBy 사이의 관계에 대한이, IMO 주요 문제가 꽤 좋은 보인다

감사

+0

특정 질문이 있으십니까? –

답변

1

있습니다 이름 일관성/너무 복잡한 이름.

  • 각 테이블 식별자가 Id 인 경우 모든 테이블에 사용해야합니다.
  • 테이블 이름에서 단수/복수로 유지하십시오. 나는 단수를 선호하는 경향이있다.
당신은 테이블 이름 단순화 할 수 있습니다

:

  • UserProfile =>User

뿐만 아니라 필드 이름 :

  • Issue_Title =>Title
  • Issue_Description =>Description
  • Issue_Priority_Type =>Type (또는 덜 혼란 : Name)

등 내가 외래 키

에 대한보다 정확한 이름을 사용하지만

  • CreatedBy = >CreatedByUserId
  • ClosedBy =>ClosedByUserId

HTH.

+0

답변 해 주셔서 감사합니다. 말씀하신대로 모든 변경을하겠습니다. 나는 어떤 시체가 더 좋은 대답을 가지고 있는지 좀 더 많은 시간을 기다릴 것이다. 감사 – Yasser

관련 문제