Проектирование базы данных для системы отслеживания ошибок в SQL

Я разработчик ASP.NET, и я действительно не делаю такие вещи базы данных. Но для моего проекта с открытым исходным кодом на Codeplex мне необходимо настроить схему базы данных для проекта.

Таким образом, читая здесь и там, мне удалось сделать следующее.

введите описание изображения здесь

Будучи новичком в разработке схемы базы данных, я хотел, чтобы кто-то еще, у которого была лучшая идея по этой теме, помог мне выявить любые проблемы с этим проектом.

Я думаю, что большинство отношений самоочевидны, но все же я буду записывать каждый из них.

Два ключа между UserProfile и Issues предназначены для отношений между UserId и IssueCreatedBy и IssueClosedBy.

Спасибо

1 ответ

Решение

Это выглядит довольно хорошо, IMO, ваша главная проблема заключается в согласованности имен / слишком сложных именах.

  • Если каждый идентификатор таблицы Id, вы должны использовать его для всех таблиц.
  • Будьте последовательны с единственным / множественным числом в именах таблиц. Я склонен предпочитать единственное число.

Вы можете упростить имя таблицы:

  • UserProfile => User

А также имена полей:

  • Issue_Title => Title
  • Issue_Description => Description
  • Issue_Priority_Type => Type (или даже менее запутанно: Name)

и т.п.

Однако я бы использовал более точное именование для внешних ключей

  • CreatedBy => CreatedByUserId
  • ClosedBy => ClosedByUserId

НТН.

Другие вопросы по тегам