PRISE EN MAIN D’INTERBASE Remarque préliminaire : Ce support de cours a pour unique objectif de montrer une exploitation pédagogique sur la pratique du client-serveur. Ils n’a pas pour objectif la maîtrise du SGBD Interbase 6, ni du langage de définition de données SQL. SOMMAIRE A. INSTALLATION D’INTERBASE B. LANCEMENT D’INTERBASE C. ADMINISTRATION D’INTERBASE 1. ENREGISTREMENT D’UN SERVEUR LOCAL 2. ENREGISTREMENT D’UN SERVEUR DISTANT D. RÉCUPÉRATION D’UNE BASE DE DONNÉES E. CRÉATION D’UNE BASE DE DONNÉES F. INSTALLATION DU DRIVER ODBC G. ÉTABLISSEMENT D’UN LIEN AVEC UNE BASE ACCESS Le logiciel Interbase 6 peut être téléchargé à l'adresse www.borland.com/devsupport/interbase/opensource/ Vous avez également besoin du driver Gemini Interbase ODBC Driver, qui est téléchargeable en évaluation à l’adresse www.geocities.com/ibdatabase/ . ATTENTION : la version 2 n’est à ce jour pas stabilisée : ne pas l’utiliser. Vous pouvez également utiliser deux autres drivers ODBC : - XTG Systems InterBase6 ODBC Driver for Win32 est téléchargeable en évaluation à l’adresse www.xtgsystems.com ODBC Easysoft pour Interbase 6 peut être téléchargé en évaluation à l’adresse www.easysoft.com. Réseau CERTA Dijon Page 1 InterBase - Prise en main A. Installation d’Interbase 1. Vous désirez installer le module serveur et le module client sur le même ordinateur Ouvrir le répertoire InterBase_WI-V6.0.1-server (obtenu après téléchargement) Lancer le programme Setup.exe Cliquer sur le bouton Next Lisez les instructions d’installation. Vous devez retenir que pour utiliser Interbase, il faut se connecter avec le nom d’utilisateur SYSDBA et le mot de passe masterkey. N’oubliez pas de changer ce mot de passe rapidement. Lisez soigneusement le contrat de licence… Vous avez affaire à un logiciel libre, dont la distribution est gratuite, mais « brut de fonderie », et en anglais… Vous pouvez maintenant installer l’ensemble des modules. Réseau CERTA Dijon Page 2 InterBase - Prise en main Le logiciel est installé. Il vous reste à le tester… 2. Vous désirez installer le module serveur et le module client sur des ordinateurs différents (Attention, dans ce cas, le protocole TCP/IP doit être installé sur les deux ordinateurs). 2.1 Sur le serveur Ouvrir le répertoire InterBase_WI-V6.0.1-server Lancer le programme Setup.exe La procédure est la même que précédemment. 2.1 Sur le client Ouvrir le répertoire InterBase_WI-V6.0.1-client Lancer le programme Setup.exe La procédure est identique à la précédente. Seule la liste des modules à installer change. Réseau CERTA Dijon Page 3 InterBase - Prise en main B. Lancement d’Interbase Interbase est automatiquement lancé après l’installation, ainsi qu’à chaque lancement de Windows. Un icône supplémentaire apparaît dans la barre des tâches. En cliquant sur cet icône avec le bouton droit, vous pouvez accéder aux fonctionnalités de base du module serveur : Modifier les propriétés du serveur Arrêter le serveur Voir à quel moment il a été lancé Vous pouvez choisir de lancer manuellement le module serveur en exécutant l’Interbase Manager qui se trouve dans le panneau de configuration, ou à partir du menu Démarrer/Programmes/Interbase. Réseau CERTA Dijon Page 4 InterBase - Prise en main C. Administration d’Interbase Dans le menu Démarrer/Programmes/Interbase, sélectionner IBConsole Le module d’administration d’Interbase est lancé. 1. Enregistrement d’un serveur local Il n’y a pour l’instant aucun serveur connecté. En double-cliquant sur l’icône Interbase Servers, vous allez vous connecter à (enregistrer) un serveur actif. Si les modules client et serveur sont sur le même ordinateur, vous vous connectez au serveur local. Utilisateur : SYSDBA Mot de passe : masterkey Vous pouvez vous déconnecter Le serveur local est maintenant connecté Vous pouvez modifier certaines propriétés du serveur Vous pouvez créer de nouveaux utilisateurs, supprimer ou modifier les propriétés des utilisateurs existants N’oubliez pas de changer le mot de passe de l’administrateur Réseau CERTA Dijon Page 5 InterBase - Prise en main 2. Enregistrement d’un serveur distant Si les modules client et serveur sont sur deux ordinateurs distincts, et que vous êtes sur l’ordinateur client, vous vous connectez à un serveur distant. Vous devez préciser le protocole utilisé (TCP/IP), et le nom de l’ordinateur qui accueille le serveur distant. Pour chaque serveur connecté (enregistré), on peut gérer les bases de données qu’il contient, effectuer des sauvegardes, visualiser les événements et gérer les utilisateurs Vous pouvez également récupérer une base de données existante, en l’enregistrant sur votre serveur D. Récupération d’une base de données Vous indiquez le chemin d’accès au fichier (extension gdb) et le nom que vous voulez lui donner (ALIAS). Réseau CERTA Dijon Page 6 InterBase - Prise en main Les tables contenues dans la base sont accessibles E. Création d’une base de données Sélectionner l’option Create Database du menu Database. Vous donnez un nom (ALIAS) à votre base, et vous indiquez à quel endroit vous allez la stocker. Un fichier Interbase doit avoir le suffixe gdb. Réseau CERTA Dijon Page 7 InterBase - Prise en main La base est opérationnelle. Vous disposez de différentes actions pour la gérer. ATTENTION : Interbase n’est pas Access… Il n’existe pas d’outil graphique de création d’une table. Vous devez travailler directement avec le langage de définition de données de SQL. Mais vous disposez d’une aide en ligne. Réseau CERTA Dijon Page 8 InterBase - Prise en main ATTENTION : Le langage de définition de données de SQL est très riche, et sort du cadre de la formation d’un étudiant de BTS Comptabilité. Son usage est ici limité à la constitution des bases par le professeur. Ainsi, pour la création d’une table, on pourra généralement se limiter à la syntaxe suivante : CREATE TABLE NomTable (<col_def> [, <col_def> ]); (une instruction SQL se termine toujours par un point-virgule. Ce point-virgule n’est cependant pas nécessaire en mode interactif. où : <col_def> = NomColonne {<Type de données> | domain} [DEFAULT {constante | NULL }] [NOT NULL] DEFAULT indique la valeur de la colonne si aucune donnée n’est saisie. Ce peut être une constante (qui doit être compatible avec le type de données de la colonne) ou la valeur NULL (absence de valeur). NOT NULL oblige la présence d’une valeur. <Type de données> = SMALLINT | INTEGER | FLOAT | DOUBLE PRECISION | DATE | TIME | TIMESTAMP | DECIMAL | NUMERIC [(precision [, scale])] | CHAR | CHARACTER | CHARACTER VARYING | VARCHAR} [(taille)] Il est possible d’associer à chaque colonne une contrainte à l’aide du mot réservé CONSTRAINT , dont les plus importantes sont UNIQUE et PRIMARY KEY. Il est également possible de définir des contraintes sur une table, et notamment les clés primaires (quand elles sont multi-attributs) et les clés étrangères. CONSTRAINT PRIMARY KEY | UNIQUE (NomCol [, NomCol …]) | FOREIGN KEY (NomCol [, NomCol …]) REFERENCES NomAutreTable Réseau CERTA Dijon Page 9 InterBase - Prise en main Pour créer les tables de la base Infoshop, vous pouvez utiliser le script appelé script de création de la base InfoShop.sql qui se trouve sur le support ou entrer directement les requêtes suivantes : CREATE TABLE VENDEUR ( CODEVENDEUR CHAR(1) NOT NULL, NOMVENDEUR CHAR(25), PRENOMVENDEUR CHAR(25), PRIMARY KEY (CODEVENDEUR) ); CREATE TABLE PRODUIT ( REFPDT CHAR(5) NOT NULL, DESPDT CHAR(50), PUHTPDT DECIMAL(5, 2), PRIMARY KEY (REFPDT) ); CREATE TABLE CLIENT ( NUMCLT INTEGER NOT NULL, CODEVENDEUR CHAR(1) NOT NULL, NOMCLT CHAR(25), ADR1CLT CHAR(30), ADR2CLT CHAR(30), CPVILLECLT CHAR(30), TELCLT CHAR(10), EMAILCLT CHAR(30), REPLIQUE NUMERIC(1, 0), PRIMARY KEY (NUMCLT) ); ALTER TABLE CLIENT ADD FOREIGN KEY (CODEVENDEUR) REFERENCES VENDEUR (CODEVENDEUR); CREATE TABLE COMMANDE ( CODEVENDEUR CHAR(1) NOT NULL, NUMCDE INTEGER NOT NULL, NUMCLT INTEGER NOT NULL, DATECDE DATE, PRIMARY KEY (CODEVENDEUR, NUMCDE) ); ALTER TABLE COMMANDE ADD FOREIGN KEY (NUMCLT) REFERENCES CLIENT (NUMCLT); ALTER TABLE COMMANDE ADD FOREIGN KEY (CODEVENDEUR) REFERENCES VENDEUR (CODEVENDEUR); CREATE TABLE CONTENIR ( CODEVENDEUR CHAR(1) NOT NULL, NUMCDE INTEGER NOT NULL, REFPDT CHAR(5) NOT NULL, QTE INTEGER, PU DECIMAL(5, 2), PRIMARY KEY (CODEVENDEUR, NUMCDE, REFPDT) ); Réseau CERTA Dijon Page 10 InterBase - Prise en main ALTER TABLE CONTENIR ADD FOREIGN KEY (CODEVENDEUR, NUMCDE) REFERENCES COMMANDE (CODEVENDEUR, NUMCDE); ALTER TABLE CONTENIR ADD FOREIGN KEY (REFPDT) REFERENCES PRODUIT (REFPDT); F. Installation du driver ODBC Lancer le programme Setup se trouvant dans le répertoire ibdrv_11_eval (après téléchargement) et suivez les instructions Terminez l’installation en cliquant sur le bouton Finish Réseau CERTA Dijon Page 11 InterBase - Prise en main Le driver ODBC Gemini pour Interbase est maintenant installé. Notez qu’il ne s’agit que d’une version d’évaluation valable 30 jours. Vous devez maintenant configurer ce pilote pour permettre l’accès aux bases que vous souhaitez utilisées, locales ou distantes. Il faut lancer le module Sources de données ODBC (32 bits) qui se trouve dans le panneau de configuration (Menu Démarrer/Paramètres). Vous devez d’abord contrôler que le pilote ODBC Gemini est bien installé (il doit apparaître dans la liste des pilotes). Vous allez ensuite ajouter un DSN (Nom d’une source de données) système qui permettra d’accéder à votre base de données. Vous commencez par choisir le pilote Gemini Interbase ODBC. Réseau CERTA Dijon Page 12 InterBase - Prise en main Vous renseignez ensuite le DSN en indiquant le chemin d’accès à la base (ici locale), et le nom utilisé pour l’accès à cette base (ici on choisit l’accès en mode administrateur) Pour une base distante, il faut indiquer le protocole TCP/IP et le nom du serveur (ou son adresse IP) G. Etablissement d’un lien ODBC avec une base ACCESS. Lancez Microsoft Access et créez une nouvelle base de données. Choisissez l’option Lier les tables du menu Fichier/Données externes afin d’établir le lien entre votre base ACCESS et les tables que vous souhaitez utiliser. Choisissez ODBC comme Type de Fichiers Réseau CERTA Dijon Page 13 InterBase - Prise en main Sélectionnez le DSN (Nom de Source de données) souhaité. Sélectionnez ensuite les tables que vous voulez attacher et valider. Les tables apparaissent dans votre base de données, précédées d’un icône indiquant qu’il s’agit de table attachées. ATTENTION : les structures de ces tables ne sont pas modifiables sous ACCESS. Elles ne peuvent être réalisées qu’à travers la console d’administration d’Interbase (IBConsole). Réseau CERTA Dijon Page 14 InterBase - Prise en main ANNEXE 1 INSTALLATION DU DRIVER ODBC EASYSOFT Lancer le programme EasysoftInterbase6ODBCDriver.(après téléchargement) et suivez la procédure (ne changez pas le répertoire par défaut). Réseau CERTA Dijon Page 15 InterBase - Prise en main