Разработка базы данных для внутренней системы чата администратора - PullRequest
1 голос
/ 15 октября 2010

Я пытаюсь внедрить систему внутреннего чата для наших администраторов, но я не слишком уверен в дизайне базы данных. У меня есть это (ниже), но я был бы признателен за проверку и / или рекомендации по улучшению.

Employees {
    EmployeeId (smallint)
    // ...
}

Chat {
    ChatId (int)
    Stamp (datetime) // Obsolete, ignore...
}

ChatEmployees {
    ChatEmployeeId (int) // Or bigint?
    ChatId (int) -> Chat.ChatId
    EmployeeId (smallint) -> Employees.EmployeeId
}

Messages {
    MessageId (int) // Or bigint?
    AuthorId (smallint) -> Employees.EmployeeId
    ChatId (int) -> Chat.ChatId
    Text (varchar(512))
    Stamp (datetime)
}

Итак, это то, что я имею до сих пор, но я не уверен, достаточно ли этого. Приложение, которое будет взаимодействовать с базой данных, построено с использованием ASP.NET MVC 2 и Linq to SQL.

Заранее спасибо за любые предложения!

1 Ответ

2 голосов
/ 15 октября 2010

Таблица ChatEmployees кажется избыточной. Если вам не нужно записывать, что кто-то был в чате, но никогда ничего не говорил, я бы его бросил.

Re: Message.text
Я думаю, что «текст» может быть зарезервированным словом, поскольку он используется как тип данных в SQL. Возможно, стоит избегать этого имени.

Кроме того, varchar 512 выглядит как произвольное количество символов для сообщения, почему нечетное число? Вы выбираете его только потому, что по какой-то причине это степень 2?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...