字段名 类型 属性 说明
contractnum int PK;
FK: contract.num 合同编号
productid int PK;
FK: product.id 产品Id
amount int - 销售数量
price money - 售价(元)
discount float - 折扣
■ feedback:回访记录表
在记录回访信息时,我是基于合同号来确定一宗具体的交易。在合同号之外,还记录有进行此次回访的客服人员的Id
字段名 类型 属性 说明
num int PK;标识 记录编号
contractnum int FK: contract.num 合同号
stuffid uniqueidentifier FK: aspnet_Users.UserId 客服人员号
date date - 回访日期
note nvarchar(MAX) - 回访记录
■ maintenance:文修记录表
在记录文修信息时,我基于销售明细表中的合同号与产品号来确定每件具体的返修产品以及它所属的合同。同样地,也把客服人员的Id记录下来作为责任人信息。
字段名 类型 属性 说明
num int PK;标识 记录编号
contractnum int FK: sales.contractnum 合同号
productid int FK: sales.productid 产品号
stuffid uniqueidentifier FK: aspnet_Users.UserId 客服人员号
date date - 记录日期
note nvarchar(MAX) - 文修记录
3.4.2. 视图创建语句
我还建立了三个视图以供程序查询使用,下面是它们的创建语句。
■ Users_Service:客服人员信息视图
内连接了用户表、角色表和用户角色关系表,选择出客服人员的用户Id、用户名称、角色名称。
SELECT dbo.aspnet_Users.UserId, dbo.aspnet_Users.UserName, dbo.aspnet_Roles.RoleName
FROM dbo.aspnet_Users INNER JOIN dbo.aspnet_UsersInRoles ON dbo.aspnet_Users.UserId = dbo.aspnet_UsersInRoles.UserId INNER JOIN
dbo.aspnet_Roles ON dbo.aspnet_UsersInRoles.RoleId = dbo.aspnet_Roles.RoleId
WHERE (dbo.aspnet_Roles.RoleName = '客服')
■ Users_Customer:客户信息视图
内连接用户信息表、成员信息表、角色表和用户角色关系表,选择出个人客户或大客户的用户Id、用户名、角色名、Email、备注信息。
SELECT dbo.aspnet_Users.UserId, dbo.aspnet_Users.UserName, dbo.aspnet_Roles.RoleName, dbo.aspnet_Membership.Email, abo.aspnet_Membership.Comment
FROM dbo.aspnet_Users INNER JOIN dbo.aspnet_UsersInRoles ON dbo.aspnet_Users.UserId = dbo.aspnet_UsersInRoles.UserId INNER JOIN
dbo.aspnet_Roles ON dbo.aspnet_UsersInRoles.RoleId = dbo.aspnet_Roles.RoleId INNER JOIN dbo.aspnet_Membership
ON dbo.aspnet_Users.UserId = dbo.aspnet_Membership.UserId
WHERE (dbo.aspnet_Roles.RoleName = '个人') OR
(dbo.aspnet_Roles.RoleName = '大客户')
■ Customer_Contract:客户合同信息
内连接合同信息表、用户信息表和销售商表,选择出合同号、客户名、销售商号、销售商名。 基于ASP.NET的客户关系管理系统的设计与实现(8):http://www.youerw.com/jisuanji/lunwen_2160.html