SmartPublisher设计之旅 — 让梦想成为理想
梦想与理想
理想和梦想不同,梦想是可以随心所欲的想像,其本身就具有飘渺的意识,朦胧的形象与灿烂的色彩。理想必须建立在理论基础上,必须可以付诸实践,而能为之努力奋斗达到的一个结果。
我们需要做的是,在想象中让梦想无限飞翔,在行动中让理想靠近现实,最终实现现实而幸福的理想生活,并且回味着整个旅程中的快乐与激情。
设计,梦开始的地方。
数据表设计一般规律
首先根据软件需求,确定数据对象如下:
企业会员,详细包括会员名称、会员帐号、密码、所在行业分类、通讯地址、邮编、联系电话、传真、EMAIL、联系人等。
企业产品信息,详细包括产品名称、产品描述等。
站点信息,详细包括站点URL、表单Action目标URL、表单参数等。
发布日志,详细包括发布数据、发布目标、发布时间、消耗时间、是否发布成功、异常信息等。
说明一下,会员可以发布的信息可以是企业本身的基本信息,也可以是企业的产品信息,还可以发布未来的其他信息;发布途径目前考虑是发布到商务站点,还考虑到未来其他发布方式,如邮件群发。
然后,分析数据对象之间的关系,根据不同的关系进行数据表设计:
一对一关系:若分析的两个数据对象之间是一对一关系,则两个数据对象只需通过同一个表中两个不同字段来描述。即用一个表。如企业会员帐号(Code)与企业会员名称(Name)在同一表中。
一对多关系:若分析的两个数据对象之间是一对多关系,则先分别为两个数据对象设计两个数据表,然后在“多”一方表中增加一个外键字段来关联另一个表的主键。即用两个表。如产品信息通过外键EnterpriseID与企业会员建立关联。
多对多关系:若分析的两个数据对象之间是多对多关系,则先分别为两个数据对象设计两个数据表,另外再设计一个数据表描述两个数据对象的关系,即通过两个数据表的主键ID字段来建立关联。即用三个表。在T_RouterData表中,通过DataID和RouterID建立企业/产品信息与站点的关联。
数据表关系图
数据字典
数据库名:Publisher
T_Enterprise企业会员表
序号 |
列名 |
数据类型 |
长度 |
小数位 |
标识 |
主键 |
允许空 |
默认值 |
字段说明 |
1 |
ID |
nvarchar |
50 |
0 |
|
√ |
|
|
企业会员ID |
2 |
Code |
nvarchar |
50 |
0 |
|
|
√ |
|
会员帐号 |
3 |
Password |
nvarchar |
50 |
0 |
|
|
√ |
|
密码 |
4 |
Name |
nvarchar |
500 |
0 |
|
|
√ |
|
会员名称 |
5 |
Type |
nvarchar |
50 |
0 |
|
|
√ |
|
行业类型 |
6 |
Address |
nvarchar |
500 |
0 |
|
|
√ |
|
通讯地址 |
7 |
PostNumber |
nvarchar |
50 |
0 |
|
|
√ |
|
邮编 |
8 |
Tel |
nvarchar |
50 |
0 |
|
|
√ |
|
联系电话 |
9 |
Fax |
nvarchar |
50 |
0 |
|
|
√ |
|
传真 |
10 |
Email |
nvarchar |
50 |
0 |
|
|
√ |
|
电子邮件 |
11 |
Contactor |
nvarchar |
50 |
0 |
|
|
√ |
|
联系人 |
12 |
IsMember |
bit |
|
|
|
|
|
|
|
13 |
CreatedBy |
nvarchar |
50 |
0 |
|
|
√ |
|
创建人 |
14 |
CreatedTime |
datetime |
8 |
3 |
|
|
√ |
|
创建时间 |
15 |
LastModifiedBy |
nvarchar |
50 |
0 |
|
|
√ |
|
最后修改人 |
16 |
LastModifiedTime |
datetime |
8 |
3 |
|
|
√ |
|
最后修改时间 |
T_Product产品信息表
序号 |
列名 |
数据类型 |
长度 |
小数位 |
标识 |
主键 |
允许空 |
默认值 |
字段说明 |
1 |
ID |
nvarchar |
50 |
0 |
|
√ |
|
|
产品信息ID |
2 |
EnterpriseID |
nvarchar |
50 |
0 |
|
|
√ |
|
企业会员ID |
3 |
Title |
nvarchar |
500 |
0 |
|
|
√ |
|
产品名称 |
4 |
Description |
text |
16 |
0 |
|
|
√ |
|
产品描述 |
5 |
CreatedBy |
nvarchar |
50 |
0 |
|
|
√ |
|
创建人 |
6 |
CreatedTime |
datetime |
8 |
3 |
|
|
√ |
|
创建时间 |
7 |
LastModifiedBy |
nvarchar |
50 |
0 |
|
|
√ |
|
最后修改人 |
8 |
LastModifiedTime |
datetime |
8 |
3 |
|
|
√ |
|
最后修改时间 |
T_WebSite站点表
序号 |
列名 |
数据类型 |
长度 |
小数位 |
标识 |
主键 |
允许空 |
默认值 |
字段说明 |
1 |
ID |
nvarchar |
50 |
0 |
|
√ |
|
|
站点ID |
2 |
AddressUrl |
nvarchar |
1000 |
0 |
|
|
√ |
|
表单URL地址 |
3 |
ActionUrl |
nvarchar |
200 |
0 |
|
|
√ |
|
Form表单提交目标地址 |
4 |
TitleParameter |
nvarchar |
50 |
0 |
|
|
√ |
|
标题参数名 |
5 |
ContentParameter |
nvarchar |
50 |
0 |
|
|
√ |
|
内容参数名 |
6 |
CreatedBy |
nvarchar |
50 |
0 |
|
|
√ |
|
创建人 |
7 |
CreatedTime |
datetime |
8 |
3 |
|
|
√ |
|
创建时间 |
8 |
LastModifiedBy |
nvarchar |
50 |
0 |
|
|
√ |
|
最后修改人 |
9 |
LastModifiedTime |
datetime |
8 |
3 |
|
|
√ |
|
最后修改时间 |
T_RouterData站点与信息对应表
序号 |
列名 |
数据类型 |
长度 |
小数位 |
标识 |
主键 |
允许空 |
默认值 |
字段说明 |
1 |
DataID |
nvarchar |
50 |
0 |
|
√ |
|
|
发布数据ID |
2 |
DataType |
nvarchar |
50 |
0 |
|
|
√ |
|
企业/产品信息 |
3 |
RouterID |
nvarchar |
50 |
0 |
|
|
√ |
|
站点ID |
4 |
RouterType |
nvarchar |
50 |
0 |
|
|
√ |
|
站点/其他 |
T_PublishLog发布日志表
序号 |
列名 |
数据类型 |
长度 |
小数位 |
标识 |
主键 |
允许空 |
默认值 |
字段说明 |
1 |
ID |
nvarchar |
50 |
0 |
|
√ |
|
|
日志ID |
2 |
DataID |
nvarchar |
50 |
0 |
|
|
√ |
|
发布数据ID |
3 |
DataType |
nvarchar |
50 |
0 |
|
|
√ |
|
企业/产品信息 |
4 |
RouterID |
nvarchar |
50 |
0 |
|
|
|
|
发布站点ID |
5 |
RouterType |
nvarchar |
50 |
0 |
|
|
√ |
|
站点/其他 |
6 |
PublishTime |
datetime |
8 |
3 |
|
|
√ |
|
发布时间 |
7 |
SpendTime |
int |
4 |
0 |
|
|
√ |
|
花费时间 |
8 |
Succeed |
bit |
50 |
0 |
|
|
√ |
|
是否成功 |
9 |
PubException |
text |
16 |
0 |
|
|
√ |
|
异常信息 |