Firebird는 현재 Windows, Linux 및 다양한 Unix 운영 체제에서 실행될 수 있으며 대부분의 SQL-99 표준 기능을 제공하는 크로스 플랫폼 관계형 데이터베이스 시스템입니다. 다중 사용자 환경에서 데이터베이스 서버로 실행될 수 있으며 내장된 데이터베이스 구현도 제공합니다.
Firebird는 볼랜드의 오픈소스 데이터베이스인 Interbase6.0에서 탄생한 제품으로 C와 C++로 개발된 완전 비상업적 제품입니다.
Firebird 데이터베이스 서버는 여러 개의 독립적인 데이터베이스를 관리할 수 있으며, 각 데이터베이스는 동시에 여러 클라이언트 연결을 지원할 수 있습니다. 간단히 말해서, 이는 강력하고 자유롭게 사용할 수 있는 오픈 소스 데이터베이스입니다(상업용으로도 가능).
특징
Firebird는 저장 프로시저, 뷰, 트리거, 트랜잭션 등 대규모 관계형 데이터베이스의 모든 기능을 지원하는 진정한 관계형 데이터베이스입니다.
Firebird는 대부분의 SQL92 명령과 대부분의 SQL99 명령을 지원합니다. Firebird 2.0의 새 버전은 SQL99를 더욱 완벽하게 지원합니다.Firebird 소스 코드는 성숙한 상용 데이터베이스 Interbase를 기반으로 하며 Interbase와의 호환성이 좋고 안정성이 좋습니다. 라이센스 비용(무료)을 고려할 필요가 없으며 언젠가 귀하 또는 귀하의 고객이 불법 복제 사용으로 인해 데이터베이스 개발자로부터 고소당할 것이라는 걱정도 없습니다.
게시하기 쉽고 설치 파일 크기는 몇 M에 불과하며 클라이언트 배포도 매우 간단합니다. DLL 파일 하나만 있으면 됩니다.
Firebird의 임베디드 서버 버전은 설치가 필요 없으며 바로 실행 가능하며 독립 실행형 개발을 위한 첫 번째 선택입니다.
이식성이 뛰어나 Linux, Unix, MacOS, Windows 및 Solaris 시스템에서 실행될 수 있으며 데이터베이스 형식은 수정 없이 완전히 동일합니다.
Delphi와 C++Builder는 ODBC로 연결할 필요 없이 개발 환경이 잘 지원되며, Firebird 기반 프로그램을 개발할 때 네이티브 개발 인터페이스를 직접 사용합니다.
FireBird를 사용하는 이유는 무엇인가요?소규모 비즈니스 사용자의 경우 현재 오픈 소스 데이터베이스에는 두 가지 단점이 있습니다. 즉, 너무 크거나(예: MySQL, PostgreSQL) 너무 작고 기능과 문서가 부족합니다(예: HypersonicSQL 및 McKoi). 많은 애플리케이션 환경에서 사용자에게는 적당한 크기와 모든 기능을 갖춘 데이터베이스가 필요합니다. Firebird는 상대적으로 작으며 RPM 버전은 2.6MB에 불과합니다. 따라서 다른 애플리케이션 서버 및 애플리케이션과 함께 번들로 묶는 데 이상적인 "내장형 데이터베이스"가 됩니다. Firebird는 저장 프로시저 지원, SQL 호환성 등과 같은 성숙한 데이터베이스의 기능을 대부분 갖추고 있습니다. 사용자가 DB2 또는 PostgreSQL을 사용해 본 경험이 있다면 Firebird의 구문이 사용자의 구문과 매우 유사하고 데이터 유형 및 데이터 처리 방법도 매우 유사하다는 것을 알게 될 것입니다.
설치이전에 FireBird에 대해 많이 이야기했는데, 이제 Node를 사용하여 FireBird를 작동하는 방법을 설명하겠습니다. Node를 통해 FireBird를 동작시키려면 먼저 FireBird를 동작시키기 위한 모듈 - node-firebird를 설치해야 합니다. 다음 코드:
설치가 완료되면 다음 코드와 같이 node를 사용하여 프로그램에서 FireBird를 실행할 수 있습니다.
npm install node-firebird
var FireBird = require('node-firebird');
노드를 통해 FireBird를 운영할 때 먼저 연결된 IP 주소, 포트 번호, 데이터베이스 이름(경로를 포함한 전체 이름일 수 있음), 연결된 사용자 이름, 비밀번호를 포함한 데이터베이스 연결을 설정해야 합니다. 다음 코드:
이런 식으로 데이터베이스 연결이 설정됩니다.
var options = {}; options.host = '127.0.0.1'; // 设置主机地址 options.port = 3050; // 端口号 options.database = '/home/user/test.fdb'; // 数据库名称 options.user = 'SYSDBA'; // 用户名 options.password = 'masterkey'; // 密码
node-firebird 모듈에는 escape라는 메소드가 있으며, 그 반환값은 String 유형입니다. 다음 코드와 같이 SQL 삽입을 방지하려면 이 방법을 사용하세요.
예는 다음과 같습니다.
FireBird.escape(value) -> return {String}
var FireBird = require('node-firebird'); var sql1 = 'SELECT * FROM a WHERE ID='+Firebird.escape(2) ; console.log(sql1);
create 메소드는 데이터베이스를 생성하는 데 사용되며 구문 형식은 다음과 같습니다.
다음 코드:
FireBird.create(options, function(err, db));
참고: 데이터베이스가 존재하는 경우 이 방법을 사용하여 데이터베이스를 생성하면 원본 데이터베이스를 덮어쓰게 되어 데이터가 손실될 수 있습니다.
FireBird.create(options,function(err,db){ if(err) throw err; console.log('创建数据库成功'); db.detach(); //关闭数据库连接 });
db.query 메소드의 사용법은 이전에 소개한 적이 있습니다. 여기서는 계속해서 db.query()의 사용법을 알려드리겠습니다. 쿼리 문이 쿼리 문인 경우 반환된 결과는 개체 유형의 배열(즉, result 값)입니다. db.query()를 사용하여 데이터베이스의 테이블을 추가, 수정, 삭제 및 업데이트할 수 있습니다. db.query()에는 두 가지 용도가 있습니다. 하나는 매개변수 없는 쿼리이고, 다른 하나는 매개변수가 있는 쿼리입니다. 매개변수를 사용한 쿼리:
테이블 a에 데이터를 삽입하는 예제 코드는 다음과 같습니다.
db.query(query, [params], function(err, result))
표 a의 데이터를 업데이트하는 예제 코드:
FireBird.attach(options, function(err, db) { if (err) throw err; // db = DATABASE db.query('insert into a (id,name) values(?,?)',[1,'Tom'], function(err, result) { if (err) throw err; console.log("insert success!"); db.detach(); }); });
위 내용은 Node.js를 사용하여 Firebird 데이터베이스를 운영하는 방법을 알려주는 이 기사의 전체 내용입니다.