搜索

pdf文档 firebird generator guide ru

227.10 KB 23 页 0 下载 122 浏览 0 评论 0 收藏
所属分类: 数据库 / Firebird
语言 格式 评分
俄语
.pdf
3
摘要
Документация по СУБД Firebird объясняет концепцию генераторов и их использование. Генераторы представляют собой потокобезопасные счетчики, хранящиеся внутри базы данных. Они могут быть созданы с помощью команды CREATE GENERATOR или CREATE SEQUENCE. Генераторы используются для генерации уникальных значений, таких как идентификаторы строк. Максимальное значение генератора составляет 64-битное число, что обеспечивает большой диапазон для绝大多数应用场景. Однако в диалекте 1 SQL значения генераторов могут быть урезаны до 32-битных, что требует внимания при работе с полями типа INTEGER. Системная таблица RDB$GENERATORS содержит метаданные о генераторах, но напрямую изменять ее не рекомендуется.
AI总结
### 《Firebird Generator Guide》中文总结 #### 文档概述 《Firebird Generator Guide》是关于Firebird数据库中“生成器”(Generator)的指南,旨在帮助用户理解其功能、用法及相关注意事项。文档还包含许可协议、历史修订记录等内容。 --- #### 1. **核心内容** 1. **生成器的定义** - 生成器是Firebird数据库中的一个“线程安全”的整数计数器,用于生成唯一值(如ID)。 - 生成器可以创建、读取、增加或减少值,但不能随意设置固定值(除非通过特定操作)。 - 生成器的值存储在数据库的特殊预留页面中,无法直接访问,但可通过内置函数获取。 2. **生成器与序列(Sequence)的关系** - 在SQL标准中,“序列”(Sequence)是与生成器类似的术语。 - Firebird 2及更高版本支持使用`SEQUENCE`作为`GENERATOR`的同义词,推荐在新代码中使用`SEQUENCE`语法。 - 生成器和序列是同一个数据库对象的两种称呼。 3. **生成器的存储与属性** - 生成器的定义存储在系统表`RDB$GENERATORS`中,但其值存储在特殊页面中,无法直接访问。 - 每个生成器都有一个唯一的`ID`和一个`SYSTEM_FLAG`(用于标识系统生成器)。 4. **生成器的最大值范围** - 生成器支持64位整数,范围为:`-2^63`到`2^63-1`,即约±9.223.372.036.854.775.808。 - 在Firebird 5.6或更早版本(InterBase 5.6)中创建的数据库(使用方言1)中,生成器值会被截断为32位整数,范围为:`-2^31`到`2^31-1`。 --- #### 2. **生成器的使用** 1. **创建生成器** ```sql CREATE GENERATOR GenTest; ``` 或 ```sql CREATE SEQUENCE SeqTest; ``` 2. **获取当前值** - 使用`NEXT VALUE FOR`语法: ```sql SELECT NEXT VALUE FOR SeqTest FROM RDB$DATABASE; ``` - 在旧版本中: ```sql intvar = NEXT VALUE FOR SeqTest; ``` 3. **更新生成器值** - 直接设置值: ```sql SET GENERATOR GenTest TO NewValue; ``` 或 ```sql ALTER SEQUENCE SeqTest RESTART WITH NewValue; ``` 4. **删除生成器** ```sql DROP GENERATOR GenTest; ``` 或 ```sql DROP SEQUENCE SeqTest; ``` --- #### 3. **注意事项** - **系统表的使用** - 不要直接修改系统表`RDB$GENERATORS`,以免引发问题。 - 生成器的`ID`可能在数据库备份/恢复后发生变化,因此不建议将其用作标识符。 - **性能与限制** - 生成器是线程安全的,适合高并发场景。 - 在方言1数据库中,生成器值会被截断为32位,可能导致值重复,需谨慎使用。 - **兼容性** - Firebird 2及更高版本推荐使用`SEQUENCE`语法,但旧代码仍可使用`GENERATOR`。 --- #### 4. **适用人群** - 对生成器概念不熟悉的新手。 - 需要使用生成器生成唯一值(如ID)的开发者。 - 想了解Firebird中与Oracle“序列”类似功能的用户。 --- #### 5. **许可协议** - 文档遵循Public Documentation License Version 1.0(PDL)。 - 文档版权归作者所有,禁止商业用途。 - 联系方式: - Frank Ingermann(原始作者):`frank at fingerman dot de` - Paul Vinkenoog(合著者):`paul at vinkenoog dot nl` - 俄语翻译:Сергей Ковалёв(`mrKovalev at yandex dot ru`) - 翻译校对:Павел Меньщиков(`developer at ls-software dot ru`)。 --- #### 6. **总结** 《Firebird Generator Guide》全面介绍了Firebird生成器的功能、使用方法及注意事项,适合需要生成唯一值的开发者阅读。生成器是Firebird中重要的工具,能够高效地管理唯一标识符,但需注意其在不同数据库方言和版本中的行为差异。
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余 16 页请下载阅读 -
文档评分
请文明评论,理性发言.