设计数据库模式以处理电子邮件系统中的颜色

时间:2011-06-22 03:28:24

标签: c# javascript asp.net sql sql-server

我刚刚设计了Pm系统[一个简单的说法],现在我想为系统设计一个颜色选择器,当查看所有pm时,它应该以不同的颜色显示,类似于google在gmail上的方法。下面是我现有的数据库架构

**Messages:**

Id:int identity 1,1

Message: nvarchar(500)

From:nvarchar(100)

To:nvarchar(100)

IsDeleted: Bit

IsRead: Bit

如何以不干扰现有设置的方式添加“颜色”字段。例如,读取消息的颜色,已删除消息的颜色[lol],以便我可以使用背景颜色显示区别

2 个答案:

答案 0 :(得分:3)

我假设(可能是错误的)这是以HTML格式输出的。

数据库用于数据,读取消息的颜色是表示。而不是在数据库中为每条消息存储颜色,或者甚至在表格中存储一次,使用HTML来指示其状态。

当您在HTML中输出消息列表时,添加一个类,该类根据数据库值指示其状态:

<div id="message" class="read"> ... message details ... </div>
<div id="message" class="deleted"> ... message details ... </div>

在CSS中定义读取,删除等样式但是你想要:

.read { 
    background: #e0e0e0;
} 

.deleted {
    background: #e0e0e0;
    color:      #ccc;
}

这样可以使您的数据库,HTML和CSS保持独立,这是应该的方式。

答案 1 :(得分:0)

如果您希望每个用户都有自己的颜色架构,您可以创建一个表名usercolor as userid int deleteColor varchar(6) ReadedColor varchar(6) blah blah blah

您可以将dat存储在此表中

userid deleteColor ReadedColor
1 e0e0e0 e0e0e1

在用户界面中创建一个用这种颜色填充的组合框,并允许用户选择自己的颜色,然后将数据存储在数据库中

每次用户从usercolor表加载页面读取用户颜色数据并设置相关颜色