UltraLiteJ 提供了允许您在数据库中创建表、列、索引和键的模式方法。本节介绍如何执行模式操作。
表模式 Connection 接口中的方法用于访问表属性。模式通过直接使用 TableSchema 接口访问。请参见TableSchema 接口。
列模式 TableSchema 接口中的方法用于访问列属性。模式通过直接使用 ColumnSchema 接口访问。请参见ColumnSchema 接口。
索引模式 TableSchema 接口中的方法用于访问索引。模式通过直接使用 IndexSchema 接口访问。请参见IndexSchema 接口。
外键模式 Connection 接口中的方法用于访问外键。模式通过直接使用 ForeignKeySchema 接口访问。请参见ForeignKeySchema 接口。
必须使用 API 执行所有表、列、索引和键操作,并且仅当连接的数据库处于 "模式创建" 模式时才能执行。
连接到 UltraLiteJ 数据库。
本示例假定数据库已连接到 Connection 对象 conn。有关如何连接到 UltraLiteJ 数据库的详细信息,请参见访问 UltraLiteJ 数据库存储。
使用以下代码将 Connection 置于 "模式创建" 模式:
conn.schemaCreateBegin(); |
"模式创建" 模式会禁止执行数据操作并将其它到数据库的连接封锁在外。
执行所有表、列、索引和键操作。
以下过程演示如何创建一个包含名为 emp_number 的整数列的新 Employee 表。emp_number 列是 Employee 表的主索引,并同时充当引用 Security 表中的整数列 access_number 的外键。
创建新表 使用 createTable 方法来定义表的名称并将结果指派给 TableSchema:
TableSchema table_schema = conn.createTable("Employee"); |
将结果指派给 TableSchema 后,您便可对该表执行更加复杂的模式操作。有关详细信息,请参见TableSchema 接口。
向表中添加列 使用 createColumn 方法来定义列名和类型:
table_schema.createColumn("emp_number", Domain.INTEGER); |
将主索引指派到列
使用 createPrimaryIndex 方法在表上创建新的主索引并将结果指派给 IndexSchema:
IndexSchema index_schema = table_schema.createPrimaryIndex("prime_keys"); |
使用 addColumn 方法来指定主索引列和排序顺序:
index_schema.addColumn("emp_number", IndexSchema.ASCENDING); |
将外键指派到列 该过程假定数据库中已存在一个具有 access_number 整数列的 Security 表。如果该表不存在,则使用上面所列的过程进行创建。
使用 createForeignKey 方法来指定创建外键时所涉及的表:
ForeignKeySchema foreign_key_schema = conn.createForeignKey( "Employee", "Security", "fk_emp_to_sec" ); |
第一个参数引用要包含外键的表;第二个参数引用包含了外键所引用的列的表。
使用 addColumnReference 方法来指定创建外键时所涉及的两个列:
foreign_key_schema.addColumnReference("emp_number", "access_number"); |
第一个参数引用在第一个表中要变为外键的列名;第二个参数引用在第二个表中外键所引用的列名。
使 Connection 退出 "模式创建" 模式:
conn.schemaCreateComplete(); |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |