samedi 13 juillet 2002

Intitiation à Interbase


INITIATION

Avant de pouvoir effectuer ce tutoriel adéquatement, il faudra que vous ayez installé Interbase Server et le client ainsi que ibconsole sur votre ordinateur. Les composants ibx sont aussi nécessaire. J'ai utilisé Interbase 6.01 disponible gratuitement chez Borland et aussi Ibconsole disponbile au même endroit.

Ibconsole

Ibconsole permet de gérer et de maintenir Interbase server, il vous permet d'exécuter toutes commandes SQL. Tout se fait à l'aide d'une interface graphique fort conviviale.

Histoire d'Interbase

Interbase existe depuis le millieu des années 80. La fiabilité et la puissance de cette basse de donnée, ont fait sa renommée. Borland a ouvert ses sources en l'an 2000. Le serveur est disponible sous Windows, Linux et quelques Unix. Il est même possible de le faire fonctionner sous MacOS X. Peu de ressource et d'espace disque sont nécessaire au fonctionnement d'Interbase. Nokia, Motorola, Boeing... sont quelques unes des nombreuses compagnies qui utilisent cette base de donnée.

Préparation


Démarrer Interbase manager, l'icone Interbase Guardian apparaîtra dans la barre des tâches en bas à droite.

Démarrer Ibconsole,



cliquer ensuite sur le menu Server et ensuite register




Entrer SYSDBA dans la section <username> et masterkey dans la section <password> appuyer ensuite sur le bouton Ok.
L'image ci-dessous apparaîtra



Cliquer sur le +, différentes sections seront affichées. Sélectionner database, faites un clique droit de la souris et appuyer sur Create Database...





Entrer le nom d'alias et l'emplacement souhaité pour la base de donnée


Notez bien que le dialecte 1 et 2 ne devrait plus être utilisé. En dialecte 3, on doit déclarer nos champs de type TimeStamps si on désire avoir la date et heure (TDateTime). Si tout c'est bien déroulé, vous verrez l'écran ci-dessous apparaître.






Maintenant, vous pouvez créer des tables, générateur, trigger...
J'utiliserai un exemple de location de voiture réduit à l'essentiel afin de mieux vous faire comprendre l'utilisation d'Interbase grâce à delphi. Cet exemple sera utilisé tout au long de ce tutoriel.
Je vous invite à parfaire vos connaissances en SQL car je n'expliquerai pas en détail les commandes SQL effectuées. Vous pouvez vous renseigner sur le sujet à l'aide des sites que voici:
En cliquant sur l'onglet interractive SQL sous ibconsole et en allant dans le menu aide, vous avez un guide complet SQL.

Création d'une base de donnée

Notre exemple utilisera cinq tables.
Voici le diagramme de tables



Démarrer ibconsole, appuyer sur Interactive SQL. Entrer les valeurs suivantes
create table CLIENT (
NOCLIENT             INTEGER      not null,
NOM                  VARCHAR(30),
PRENOM               VARCHAR(30),
ADRESSE              VARCHAR(25),
NOVILLE              INTEGER,
NOPROVINCE           INTEGER,
TELEPHONE            VARCHAR(10),
NOPERMIS             VARCHAR(25),
DATEEXPERATION       VARCHAR(6),
CODEPOSTAL           VARCHAR(6),
constraint PK_CLIENT primary key (NOCLIENT)
);

create table LOCATION (
NOLOCATION           INTEGER not null,
NOCLIENT      INTEGER,
NOVEHICULE           INTEGER,
PRIX                 DECIMAL,
DATE_EMPRUNT         DATE,
DATE_RETOUR          DATE,
constraint PK_LOCATION primary key (NOLOCATION)
);

create table VEHICULE (
NOVEHICULE           INTEGER      not null,
MARQUE               VARCHAR(25),
ANNEE                INTEGER,
KM                   INTEGER,
constraint PK_VEHICULE primary key (NOVEHICULE)
);

create table VILLE (
NOVILLE              INTEGER                        not null,
NOMVILLE             CHAR(25)                       not null,
constraint PK_VILLE primary key (NOVILLE)
);

create table PROVINCE (
NOPROVINCE           INTEGER                        not null,
NOMPROVINCE          CHAR(25)                       not null,
constraint PK_PROVINCE primary key (NOPROVINCE)
);
Nous ajoutons ensuites les contraintes
alter table CLIENT
   add constraint FK_CLIENT_REFERENCE_VILLE foreign key (NOVILLE)
      references VILLE (NOVILLE);

alter table CLIENT
   add constraint FK_CLIENT_REFERENCE_PROVINCE foreign key (NOPROVINCE)
      references PROVINCE (NOPROVINCE);
      
alter table LOCATION
   add constraint FK_LOCCLIENT_REFERENCE_LOC foreign key (NOCLIENT)
      references CLIENT (NOCLIENT);
      
alter table LOCATION
   add constraint FK_LOCATION_REFERENCE_VEHICULE foreign key (NOVEHICULE)
      references VEHICULE (NOVEHICULE);

Toutes les contraintes ainsi que les tables sont créées. La prochaine étape est la création des générateurs.