第8章数据及SQL基础
8.1简介Firebird特性介绍
Firebird是一个全功能的,强大高效的,轻量级,免维护的数据库。它很容易让您从单用户,单数据库升级到企业级的应用。 给中小型企业提供了一个很好的工具,一些需要小的数据库的软件!
8.1.1数据库特点
Firebird是一个真正的关系数据库,支持存储过程、视图、触发器、事务等大型关系数据库的所有特性;
Firebird支持SQL92的绝大部分命令,并且支持大部分SQL99命令,新版Firebird 2.0对SQL99的支持更完整;
Firebird源码基于成熟的商业数据库InterBase,有良好的稳定性,与InterBase有良好的兼容性;
不用考虑授权费用(免费),不用当心将来有一天你或你的客户因为使用盗版而被数据库开发商告上法庭;
发布简易,安装文件只有几M,且高度可定制,客户端的分发也很简单,只需一个DLL文件;
Firebird的嵌入式服务器版本,不用安装,直接运行,基于单机开发首选;
Firebird的运行效率非常高;
具备高度可移植性,可在Linux,Unix,MacOS,Windows,Solaris系统下运行,而且数据库格式完全一样,不用修改;
开发环境支持良好,Delphi,C++Builder不用通过ODBC连接,直接用原生开发接口开发基于Firebird的程序。
8.1.2数据库功能
Domains 域
TABLES 表
VIEWS 视图
TRIGGERS 触发器
EXCEPTIONS 异常
PROCEDURES 存储过程
GENERATORS 生成子
INDICES 索引
Domains 域
作用:域对象可以帮助我们在基本数据类型的基础上扩展很多有用的数据类型。
1、逻辑数据类型boolean(取值范围0或1)?有两种方法实现布尔逻辑类型。?方法之一:使用整数01代表逻辑真和假。?create domain boolean as smallint default 0 check(value in (0,1));?方法之二:使用字符0和1代表逻辑真和假。?create domain boolean as char default 0 check (value in (0,1));
2、货币数据类型money、smallmoney?由于interbase6。0的dialect 3已经实现了大型精确数据,完全可以使用numeric类型构造出货币类型。?money类型:?create domain money as numeric(18,4);?smallmoney类型:?create domain smallmoney as numeric(9,4);?你可以根据实际情况改变长度和小数点位数使之符合你的要求。
3、其他整数类型tinyint、bigint?tinyint类型(0~255):?create domain tinyint as integer check(value between 0 and 255);?bigint类型(-2的63次方~2的63次方-1):?create domain bigint as numeric(18,0);
4、图像类型image?通过BLOB类型的子类型构造。?create domain image as blob sub_type 0
5、文本类型text?通过BLOB类型的子类型构造。?create domain text as blob sub_type 1?
6、用户自定义数据类型?使用域,你可以象其他关系数据库一样创建丰富多彩的功能各异的自定义数据类型。TABLES
TABLES 表
语法
CREATE TABLE “表名
(
“字段1 INTEGER DEFAULT 0 NOT NULL,
字段2 CHAR(1) DEFAULT A NOT NULL,
字段3 TIMESTAMP DEFAULT NOW NOT NULL,
字段4 VARCHAR(254),
CONSTRAINT “PK_表名” PRIMARY KEY (“字段1”, “字段2)
);
创建Table注意事项
(1)字段名大写, “” 的使用
(2)字符类型字段超过255 最好用BOLB类型
(3)使用 DEFAULT , 禁止空值 NULL。原因:
a防止空值扩散:一个SQL计算表达式里,如果有一个值为空,那么结果就一定为空!
b.空值不能作为索引字段和order by 排序。
(4)相关连表的主键,外键 。字段的一致性 : 例:seabills Mblno 和 AccbillsItems Mblno
原创力文档

文档评论(0)