Ma première base InterBase

par Henry Cesbron Lavau

 

Abstract: This page will help you to build your first InterBase database.
You should download the latest tested version of
InterBase Open Source (14 Mb)
and
IBX Update 4.3 for Delphi (English) and IBConsole 3.20
Then follow the
red commands and the screen shots.

 

Cet article est né de la constatation suivante : l'information pour la prise en main d'InterBase est dispersée, et la plupart du temps en anglais. J'ai essayé d'écrire l'article que j'aurais voulu lire. J'espère qu'il vous permettra de démarrer rapidement avec InterBase, et je reste ouvert à toute suggestion.

InterBase

Vous abordez InterBase parce que

 

Historique

Que ce soit pour l'une ou l'autre de ces raisons, vous serez intéressé d'apprendre qu'InterBase est né des travaux d'un développeur de Rdb de DEC, Jim Starkey. Souhaitant plus de liberté dans l'évolution de son produit, il créa et dirigea InterBase Inc. Ashton-Tate acheta la société. Et quand Borland racheta cette dernière, elle devint propriétaire d'InterBase. Plus récemment Borland/Inprise fit d'InterBase une entité autonome et décide l'été 2000 de mettre InterBase en Open Source.

Aujourd'hui, InterBase est donc soutenue d'une part au sein d'un groupe Open Source site IBPoenix, d'autre part par Inprise. Bien que le produit soit devenu libre de droit d'usage et de diffusion, Borland/Inprise continuera de certifier et de vendre InterBase. C'est une garantie pour ceux qui ne veulent ou ne peuvent prendre le temps de valider les innovations proposées par l'Open Source. Tandis que pour ceux qui adoptent la version Open Source, la présence de Borland/Inprise est une garantie de convergence et d'intégration du produit. Début Octobre 2000, la version vendue est la 5.5, la version en Open Source la 6.01 . La présence simultanée d'un groupe d'initiatives Open Source et d'un acteur commercial est le meilleur modèle de développement d'un progiciel. Loin de s'opposer, ils s'appuient l'un sur l'autre et se renforcent. (C'est d'ailleurs le modèle que Linux est en train d'adopter).

 

Ce qu'il vous faut

Dans le cadre de cet article, nous allons explorer la version Open Source. Pour la mettre en œuvre avec les outils de base que sont InterBase Express et IBConsole, vous devez avoir Delphi 5 Pro ou Entreprise, auquel vous aurez appliqué la mise à jour (dans le cas ou vous en seriez restés à la version d'origine car la mise à jour est indispensable pour utiliser la dernière version d'InterBase Express).

Evidemment, il vous faut aussi InterBase 6.01 que vous pouvez télécharger à partir du site de Borland/Inprise. Pour ma part, j'utilise le version testée du site IBPhoenix, que vous pouvez télécharger ici (14 Mo). A cela, vous pouvez ajouter les dernières versions des composants InterBase Express et IBConsole qui sont écrits par Jeff Overcash (TeamB). Début Octobre 2000, il s'agit de IBX Update 4.3 for Delphi (English) et de IBConsole 3.20.

Note : Les deux derniers outils sont situés sur Code Central dans la section Community du site Inprise. Vous aurez à vous inscrire lors de votre premier accès à la section Community du site.

 

Installation

Pour installer InterBase sur votre poste de travail, exécutez le fichier IBWin32.exe :

En fin d'installation, vous devez rebooter.
Vous apercevrez alors
InterBase Guardian en bas à droite de la barre des tâches.

Installez ensuite les dernières versions des composants InterBase Express et IBConsole.

Ouvrez IBConsole (à partir de Démarrer/Programmes/Interbase 6.0/IBConsole),
et enregistrez le serveur local par le menu
Server/Register

Le mot de passe est masterkey.

Cliquez sur Ok. L'icône Local Server doit apparaître maintenant dans le volet gauche de l'explorer.

 

Création d'une database

Toutes les tables, index et autres éléments sont rassemblés en un seul fichier database. L'extension usuelle est .gdb Vous pouvez créer autant de database que vous le souhaitez. Généralement un programme accèdera à une database dans laquelle se trouvent les tables et les index liés. Cliquez sur Local Server. Par menu Server/Login, ouvrez une connexion avec le serveur. (le mot de passe est bien entendu masterkey).

La connexion étant ouverte, vous voyez apparaître Databases dans le volet gauche. Par menu Database/CreateDatabase, ouvrez le panneau de création de la database.

Indiquez le nom d'alias, ainsi que le nom du fichier (avec l'extension .gdb)

Cliquez sur Ok. Votre database est créée.

Par la suite, lorsque vous réouvrirez IBConsole, vous ferez directement Server/Login, puis Database/Connect

Par menu Database/Properties, puis onglet General, mettez l'option Forced Writes à Enabled.

 

Cliquez sur Ok.

De retour dans l'explorer d'IBConsole, vous voyez les différentes composantes d'une database :

Intéressons-nous à la principale de ces composantes : la table.

 

Création d'une table

Vous pouvez créer votre première table directement à partir d'IBConsole.
Par menu
Tools/Interactive SQL, saisissez la commande suivante :

CREATE TABLE MaTable
(
Pk_Numero INTEGER NOT NULL,
Nom VARCHAR(30),
Telephone CHAR(16),
DateAppel TIMESTAMP,
Rappeler CHAR(1),
Montant NUMERIC(18,4),
CONSTRAINT Pk_Numero PRIMARY KEY (Pk_Numero)
)

puis exécutez la par Query/Execute. Votre première table est crée.
Fermez le panneau Interactive SQL. Pour ne voir que votre table dans la liste, décochez
View/System Data.
Double-cliquez sur
MATABLE. Vous voyez la structure de votre table. L'onglet Metadata vous montre l'ordre SQL régénéré automatiquement par IBConsole à partir de la structure de la table. Enfin, l'onglet Data vous permet de saisir des données.

Vous êtes devant une DBGrid. Voyons maintenant comment intégrer une table dans un programme Delphi.

 

Programme Delphi

Créez un projet Delphi. Ajoutez un Module de données (DataModule). A partir de l'onglet InterBase Express de la palette de composants, déposez les composants IBX suivants :

Modifiez les propriétés suivantes :

Composant

Propriétés

Valeur

IBDatabase1

DatabaseName

C:\Program Files\Borland\Delphi5\Projects\Data\Initial.gdb

IBDatabase1

DefaultTransaction

IBTransaction1

IBDatabase1

SQLDialect

3

IBTransaction1

DefaultDatabase

IBDatabase1

IBQuery1

Database

IBDatabase1

IBQuery1

SQL

SELECT * FROM MATABLE

DataSource1

DataSet

IBQuery1

 

Sur la Form1, placez à partir de l'onglet ContrôleDB, un composant DBNavigator et un composant DBGrid.
Faites F12 pour afficher le code de la Form1. Dans la liste des
uses, ajoutez Unit2.
Puis F12 pour revenir sur la Form. Mettez les propriétés suivantes :

Composant

Propriétés

Valeur

DBNavigator

Align

AlBottom

DBNavigator

DataSource

DataModule1.DataSource1

DBGrid

Align

AlClient

DBGrid

DataSource

DataModule1.DataSource1

Dans DataModule1, mettez la propriété Active à True successivement pour IBDatabase, IBTransaction et IBQuery.

Vous devez voir les données saisies précédemment. Compilez, éxécutez.

Votre premier programme d'accès à une database InterBase est prêt!

 


 

Pour ajouter à ce programme la possibilité d'ajouter ,de modifier ou de supprimer des données, nous allons transformer la requête statique ci-dessus en une requête dynamique. Pour cela, déposez sur le Module de données (DataModule), à partir de l'onglet InterBase Express le composant

Modifiez les propriétés suivantes :

Composant

Propriétés

Valeur

IBQuery1

UpdateObject

IBUpdateSQL1

IBUpdateSQL1 (1)

DeleteSQL

delete from MATABLE
where
PK_NUMERO = :OLD_PK_NUMERO

IBUpdateSQL1

InsertSQL

insert into MATABLE
(PK_NUMERO, NOM, TELEPHONE, DATEAPPEL, RAPPELER, MONTANT)
values
(:PK_NUMERO, :NOM, :TELEPHONE, :DATEAPPEL, :RAPPELER, :MONTANT)

IBUpdateSQL1

ModifySQL

update MATABLE
set
PK_NUMERO = :PK_NUMERO,
NOM = :NOM,
TELEPHONE = :TELEPHONE,
DATEAPPEL = :DATEAPPEL,
RAPPELER = :RAPPELER,
MONTANT = :MONTANT
Where
PK_NUMERO = :OLD_PK_NUMERO

IBUpdateSQL1

RefreshSQL

Select
PK_NUMERO,
NOM,
TELEPHONE,
DATEAPPEL,
RAPPELER,
MONTANT
from MATABLE
where
PK_NUMERO = :PK_NUMERO

DataSource1

DataSet

IBQuery1

(1) Dans la version Delphi 5 Entreprise, les ordres SQL de IBUpdate peuvent être générés automatiquement :

Mettez la propriété Active de IBDatabase1 à True. Faites de même avec IBTransaction1 et IBQuery1.
Cliquez droit sur IBUpdateSQL1 et activez l'Editeur IBUpdateSQL.
Cliquez sur
Sélectionner les clés primaires, puis sur Générer le SQL. Tous les ordres SQL d' IBUpdateSQL1 sont alors automatiquement générés.

Compilez, Exécutez :

Votre première application InterBase fonctionne.

 

 

Pour aller plus loin

Consulter la documentation (en anglais) livrée avec  InterBase 6.0

Abonnez-vous au news.group Interbase en français.

Revenez ici, dans quelques temps pour les prochains articles

© Henry Cesbron Lavau - 2000 - Paris - France -All rights reserved.