FireBird数据库设计技巧

FireBird数据库以它的短小而精悍著称,其性能可以和大型的MSSQL SERVER、Oracle相媲美,具有其它优秀数据库的一些特点,而它自身又有一些它的特点,因此在设计数据库时也有一些和其它数据库的技巧。

一个表一般要具备一个自增长列ID,其它数据库自增长列只要定义一下就行了,而Firebird数据库要自己定义,首先,定义一个Integer类型的列F_Id,再创建一个生成器,Genarator,

Create Generator Gen_DataId;

Set Generator Gen_DataId to 0;

这样这个生成器以初值0作为增长点,还需要创建一个触发器

Create Trigger TB_TestData_BI0 For TB_TestData

Active Before Insert Position 0

as

begin

  if (New.F_Id is Null) then

    New.F_Id=Gen_id(Gen_DataId,1);

end

这样,这个触发器就能实现在新增数据时自动加1的添加值,一般不以这个ID作为主键,而把它定义为唯一键Unique Key,而再创建一个有意义的字段,比如F_DataNo作为主键,这样在以后数据大时可以做为查询的参照,加快查询速度,而不把这个关键字段定义为唯一键Unique Key,因为在另外一个表以这个字段为外键的字段必须要求这个字段为主键, 当然,如果是数据量小,不考虑数据库性能,也可以把F_Id定义为主键,而把F_DataNo定义为唯一键,这种方式在数据量大时,如果要以这个字段来搜索数据的话,可能速度没有定义为主键快,不过这只是我的一个猜想,还没有测试。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值