Schema¶
此扩展提供了一种描述GeoPackage中的表列的方法,比SQL表定义可以直接捕获的更详细。此扩展提供的信息可由应用程序使用,例如,以更用户友好的方式呈现GeoPackage中包含的数据或实现数据验证逻辑。该扩展最初设计用于描述的架构 功能 但它可以应用于任何具有用户定义列的用户定义表。
gpkg_extensions¶
要使用此扩展,请将以下行添加到此表中,如表1中所述。
|
|
|
|
|
|
NULL |
|
read-write |
|
|
NULL |
|
read-write |
gpkg_data_columns¶
在此表中为需要进一步描述的每列添加一行,如表2中所述。
列 |
价值 |
|
user-defined table name |
|
user-defined column name |
|
column_name内容的人类可读标识符(例如,简称 |
|
column_name内容的人类可读的正式标题 |
|
COLUMN_NAME内容的人类可读描述 |
|
如果为BLOB类型,则MIME类型为COLUMN_NAME |
|
通过引用gpkg_data_column_constraint指定的列值约束名称(小写)。约束名称(见下文) |
使用此扩展¶
定义枚举¶
要定义列的枚举,请将一行添加到 gpkg_data_column_constraints
对于表3中描述的每个枚举值。(其他值可以是 NULL 并将被忽略。)
列 |
价值 |
|
约束名称(小写) |
|
|
|
指定的区分大小写的值 |
|
枚举值的说明 |
定义范围¶
要定义列的数字范围,请将一行添加到 gpkg_data_column_constraints
如表4所述。(其他值可以是 NULL 并将被忽略。)
定义GLOB¶
A GLOB 是模式匹配表达式。您可以为列添加GLOB约束,以将值约束到与指定模式匹配的值。要执行此操作,请将一行添加到 gpkg_data_column_constraints 如表5所述。
列 |
价值 |
|
约束名称(小写) |
|
|
|
实际GLOB表达式 |
|
约束的描述 |
为Blob定义MIME类型¶
若要将BLOB列约束为特定的MIME类型,请将 mime_type
中该行的列 gpkg_data_columns
。( constraint_name
列为 gpkg_data_columns
可以是 NULL 以及 gpkg_data_column_constraints
表不适用。)
备注
此约束必须通过软件控制-SQLite不可能直接控制此约束。