Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » MobiLink - 入门 » MobiLink 技术简介 » 研究 MobiLink Contact 示例

 

Contact 数据库中的表

Contact 数据库的表定义位于以下文件中(所有文件均位于示例目录下):

  • MobiLink\Contact\build_consol.sql

  • MobiLink\Contact\build_remote.sql

统一数据库和远程数据库都包含以下三个表,不过这些表在两个数据库中的定义稍有不同。

SalesRep

每个销售代表由 SalesRep 表中的一行来表示。每个远程数据库属于一个销售代表。

在每个远程数据库中,SalesRep 包含下面几列:

  • rep_id   包含销售代表标识号的主键列。

  • name   销售代表的姓名。

在统一数据库中(远程数据库中没有),还有一个用于保存销售代表的 MobiLink 用户名的 ml_username 列。

Customer

此表为每个客户保存一行信息。每个客户即是一个与某一销售代表有业务关系的公司。在表 SalesRep 和 Customer 之间存在一对多的关系。

在每个远程数据库中,Customer 包含下面几列:

  • cust_id   用于保存客户标识号的主键列。

  • name   客户名。此名称为公司名称。

  • rep_id   引用 SalesRep 表的外键列。标识指派给该客户的销售代表。

在统一数据库中,有两个附加列:last_modified 和 active:

  • last_modified   行的最近一次修改时间。在进行基于时间戳的同步时将用到此列。

  • active   用于说明客户当前状态(处于活动状态 (1) 或不再与公司有业务往来 (0))的 BIT 列。如果此列标记为非活动状态 (0),则所有与此客户相关的行将从远程数据库中删除。

Contact

此表为每个联系人保存一行信息。联系人是客户公司的员工。表 Customer 和 Contact 之间存在一对多的关系。

在每个远程数据库中,Contact 包含下面几列:

  • contact_id   用于保存联系人标识号的主键列。

  • name   各联系人的姓名。

  • cust_id   联系人所属客户的标识符。

在统一数据库中,该表还包含以下列:

  • last_modified   行的最近一次修改时间。在进行基于时间戳的同步时将用到此列。

  • active   用于说明联系人当前状态(处于活动状态 (1) 或不再与公司有业务往来 (0))的 BIT 列。如果此列标记为非活动状态 (0),则与此联系人相关的行将从远程数据库中删除。

Product

在 Product 表中,公司所销售的每种产品占一行。Product 表在单独的发布中保存,因此远程数据库可以单独对该表进行同步。

在每个远程数据库中,Product 包含下面几列:

  • id   包含产品标识号的主键列。

  • name   产品的名称。

  • size   产品的大小。

  • quantity   产品的库存数量。在销售代表获得订单时,此列会被更新。

  • unit_price   产品的单价。

在统一数据库中,Product 表还包含以下附加列:

  • supplier   产品的制造商。

  • last_modified   行的最近一次修改时间。在进行基于时间戳的同步时将用到此列。

  • active   用于说明产品当前是否处于活动状态 (1) 的 BIT 列。如果此列标记为非活动状态 (0),则与此产品相关的行将从远程数据库中删除。

除上述这些表以外,在统一数据库中还将创建一组表。其中包括 product_conflict 表(在解决冲突时使用的临时表)和一组属于用户 mlmaint 的用于监控 MobiLink 活动的表。用来创建 MobiLink 监控表的脚本位于 samples-dir\MobiLink\Contact\mlmaint.sql 文件中。