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

SAP Sybase SQL Anywhere 16.0 (中文) » MobiLink - 入门 » MobiLink 教程 » 教程:对 SQL Anywhere 统一数据库使用 MobiLink

 

第 2 课:准备统一数据库

在本课中,您将连接到统一数据库,创建 CustomerProducts 表,更改 Customers 表以将地区信息包括在内。

前提条件

本课假定您已完成前面的所有课程。 请参见第 1 课:设计模式

本课假定您拥有在本教程(教程:对 SQL Anywhere 统一数据库使用 MobiLink)开头的“特权”部分中列出的角色和特权。

上下文和注释

在同步系统中,表的主键是在不同数据库中唯一地标识行的唯一方式,也是检测冲突的唯一方式。正在协调的每一个表都必须具有一个主键。切勿对主键进行更新。还需要确保已插入到一个数据库中的主键值不被插入到另一数据库。

在下一课中将根据统一模式创建远程模式,所以远程模式与统一模式的主键相同。

列经过特别的选择,以确保对于所有数据库存在唯一主键。对于 Customers 表,主键由 ID 列组成。任何插入到远程 Customers 表中的值都必须具有唯一的客户 ID 号(Region 值始终相同)。这可以确保每个远程 Customers 表的唯一性。统一 Customers 表中的主键可防止多个销售人员上载数据时发生冲突。由于 Region 值不同,某个地区的每次上载相对于其它地区而言都是唯一的。

 任务
  1. 单击 [开始] » [程序] » [SQL Anywhere 16] » [管理工具] » [Sybase Central]。

  2. 单击 [连接] » [使用 SQL Anywhere 16 连接]。

  3. 在 [连接] 窗口执行下列任务:

    1. 在 [操作] 下拉列表中选择 [使用 ODBC 数据源连接]。

    2. 在 [ODBC 数据源名称] 字段中键入 [SQL Anywhere 16 Demo]。

    3. 单击 [连接]。

  4. 在 Interactive SQL 中连接到统一数据库。

    在命令提示符处,运行以下命令:

    dbisql -c "DSN=SQL Anywhere 16 Demo"
  5. 在 Interactive SQL 中执行下列语句,在 CustomerProducts 表中创建并插入数据:



    CREATE TABLE CustomerProducts
        (ID int default AUTOINCREMENT PRIMARY KEY,
        SalesOrderID int NOT NULL, 
        CustomerID int NOT NULL, 
        ProductID int);
    
    INSERT INTO CustomerProducts (SalesOrderID,CustomerID,ProductID)
        SELECT SalesOrders.ID, SalesOrders.CustomerID, SalesOrderItems.ProductID
        FROM SalesOrders, SalesOrderItems
        WHERE SalesOrders.ID = SalesOrderItems.ID;
  6. 在 Interactive SQL 中执行下列语句,将各个客户的地区信息添加到 Customers 表中:

    ALTER TABLE Customers
        ADD Region VARCHAR(255);
    
    UPDATE Customers
        SET Region = (SELECT TOP 1 SalesOrders.Region
        FROM SalesOrders 
        WHERE Customers.ID = SalesOrders.CustomerID
        ORDER BY Region);
    COMMIT;

结果

已建立与 SQL Anywhere Demo 数据库的连接并创建名为 CustomerProducts 的表,还对 Customers 表进行了更改以将地区信息包括在内。

下一个

前进至第 3 课:创建同步模型

 另请参见