Vous êtes sur la page 1sur 8

ECOLE VEGA IP

Bases de Données sous Delphi


Enseignant : N. BOUCHAMA
Résumé
Ce chapitre est consacré à quelques rappels sur les bases de données (en particulier les bases de données
relationnelles). Par la suite, nous verrons comment développer une application bases de données sous
l’environnement Delphi.
Ce support de cours ne se veut nullement exhaustif. Ce n’est qu’une référence de base.
I. DEFINITIONS ELEMENTAIRES
 Bases de données : une base de données est un ensemble d’informations structurées mémorisées
sur un
support permanent.
 SGBD (Système de Gestion de Bases de Données): un SGBD (en anglais DBMS, Data Base
Management System) est un programme (logiciel) informatique de haut niveau qui permet de créeret
dema in ten ir une base de données. C’est à dire :
-
décrire les données qui seront stockées,
-
manipuler ces données (ajouter, modifier, supprimer des informations),
-
Consulter les données (sélectionner, trier, calculer, agréger, etc)
-
Définir des contraintes d'intégrités sur les données (contraintes de domaines, d'existence,etc)
-
Définir des protections d'accès (mots de passe, autorisations, etc.),
-
Résoudre les problèmes d'accès multiples aux données (interblocages),
-
Prévoir des procédures de reprise en cas d'incident (sauvegardes, journaux, etc).
On distingue trois types de SGBDs : SGBDh iéra rch iq u e, SGBDrésea u, et SGBDrela tio n n el. Dans ce
qui suit dans ce fascicule, nous nous intéresserons à ce dernier type de SGBD pour plusieurs raisons
parmi lesquelles notamment le fait qu’ils soient les plus utilisées actuellement. Parmi les SGBD
relationnels existants sur le marché, on peut citer par exemple : Oracle,Pa ra do x, Access, DB2,
Gemstone, Sybase, Informix, DBase, Ingres, etc.
 Alias : Il est possible de définir un alias au répertoire de travail. Cet alias sera utilisé ultérieurement
dans le développement de l'application et permettra d'éviter d'avoir à fournir le chemin absolu du
répertoire de travail. Par exemple : alias c:\delphi\bdd\
La notion d'alias permet de développer une application complète en s'affranchissant de la configuration
physique de la machine support. Il suffit en effet de configurer l'alias (grâce à l'utilitaire adéquat) pour
prendre en compte un chemin d'accès aux différentes tables différent (de celui utilisé lors de la phase de
conception mais aussi, éventuellement, en cas de déplacement de l'application sur d'autres machines).
 Bases de données relationnelles : Les bases de données relationnelles gèrent les données selon le
mode, mis au point par E.F. Codd, basé sur l'utilisation du langage SQL (Structured Query Language). Ce
mode sépare l'aspect physique des données (stockage sur disque) de leur représentation logique
(présentation à l'utilisateur). Les données apparaissent alors sous forme de tables qui masquent la
complexité des mécanismes d'accès en mémoire. Ce modèle libère l'utilisateur de tous les détails de
stockage et permet un accès purement logique aux données.
Chaquet a ble permet de stocker un type particulier de données. Une donnée stockée constitue un
enregistrement dans la table (= une ligne). Elle peut être constituée d'un nombre variable d'informations
élémentaires. Chaque information élémentaire constitue un champ de l'enregistrement (= une colonne).
Les besoins actuels nécessitent l'utilisation fréquente de dizaines de tables, chacune permettant le
stockage d'une donnée structurée particulière. Il y a lieu d'éviter la redondance des données élémentaires
stockées.
L'ensemble
de
tables
ainsi
constitué
s'appelle
une
base
de
données.
 Clé (key):
On appelle clé un identifiant permettant de déterminer d'une façon unique un enregistrement dans une
table. Une clé peut être :

Un des champs de la table si les valeurs qu'il peut prendre sont toutes différentes ;

Un ensemble de champs permettant de définir un identifiant unique ;

Un champ spécial qui n'est pas une donnée proprement dite mais dont on peut être
certain de l'unicité (identifiant numérique en général).
 La clé sert à déterminer précisément un enregistrement. Elle est unique.
Bases de Données sous l’environnement Delphi
ECOLE VEGA IP
Bases de Données sous Delphi
Enseignant : N. BOUCHAMA
 Index: un index est une information sur l'ordonnancement des différents enregistrements dans une
table (il peut ne pas correspondre à l'ordonnancement physique des enregistrements). Il sert à réaliser
des tris. On peut définir plusieurs indexes pour une même table.
Lorsqu’un index correspond à une clé, on parle d’un index primaire. Autrement, on parle d’index
secondaire.
 Requête :
Pour accéder aux différentes informations l'utilisateur doit exécuter différentes requêtes qui seront ensuite
interprétées par le gestionnaire de base de données. Dans le cas d'une base utilisée dans le contexte
client / serveur, seule la requête est transmise au serveur. Celui-ci la traite puis renvoie les résultats au
client.
Une requête est formulée selon un langage particulier, qui est d'ailleurs un des fondements des bases de
données relationnelles : le langage SQL.
 Vue (view):
Une vue peut être affichée sous forme de tableau (chaque ligne correspond à un enregistrement et les
colonnes correspondent aux champs sélectionnés) ou sous forme de fiche : un seul enregistrement est à
l'écran en même temps. Lorsqu'une table est triée selon un index secondaire, elle présente à l'utilisateur
une "vue" qui diffère de son implémentation physique.
 Moteur Bases de Données (Datase Engine)
Un moteur de base de données est un ensemble de programmes chargés de gérer les différentes données
stockées dans les tables (accès aux tables, ajout, modification et suppression d'enregistrement, gestion
des accès concurrents). C'est le coeur d'un SGBDR. Il ne permet pas de créer les tables et n'assure pas
l'interface avec les utilisateurs. Ces fonctionnalités sont réalisées par d'autres utilitaires.
. COMPOSANTS BASES DE DONNEES SOUS DELPHI
Delphi dispose de nombreux composants permettant d’accéder aux bases de données et de les exploiter.
Delphi répartit ces composants selon les mécanismes d’accès aux données qui diffèrent d’une technologie
à l’autre. Sur la palette des composants, les composants bases de données sont regroupés dans six pages
:
 La page BDE (Borland Database Engin) : C’est cette page qui nous intéresse le plus. Le modèle BDE
représenté par la page BDE correspond aux composants du moteur d’accès BDE qui constitue une
interface fonctionnelle API qui permet de travailler avec les bases de données. Le modèle BDE est le
meilleur moyen d’exploiter une base de données Paradox ou des tables dBase.
 La page ADO (Activex Data Objects)
 La page dbExpress
 La page InterBase
 La Page AccèsBD
La table ci-dessous nous décrit le rôle des composants essentiels :
DataSource
Source de données. Agit comme un conduit entre un composant TTable, TQuery
ou TStoredProc et des composants orientés données, tels que TDBGrid.
Table
Récupère les données d'une table physique, via le BDE, et les fournit à un ou plusieurs
composants orientés données par le biais d'un composant DataSource. Inversement, envoie
les données reçues d'un composant vers une base de données physique, via le BDE.
Query
Utilise des instructions SQL pour récupérer les données d'une table physique, via le BDE, et les fournir à
un ou plusieurs composants orientés données par le biais d'un composant DataSource. Inversement,
utilise des instructions SQL pour envoyer les données reçues d'un composant vers une base de données
physique, via le BDE.
ECOLE VEGA IP
Bases de Données sous Delphi
Enseignant : N. BOUCHAMA

La page ContrôleBD

La table ci-dessous nous décrit le rôle de chaque composant :


DBGrid
Grille de base de données. Grille personnalisée orientée données permettant d'afficher les données sous
forme d'un tableau comme dans une feuille de calcul. Possède des propriétés TField (définies dans
l'éditeur de champs) pour déterminer la visibilité d'une colonne, le format d'affichage, l'ordre, etc.
DBNavigator
Navigateur de base de données. Boutons de navigation orientés permettant de déplacer en
avant ou en arrière le pointeur d'enregistrement dans une table. Le navigateur peut aussi
mettre une table en mode insertion, édition ou consultation seulement, valider des
enregistrements nouveaux ou modifiés et récupérer des données mises à jour pour
rafraîchir l'écran.
DBText
Texte de base de données. Libellé orienté données qui affiche la valeur d'un champ de
l'enregistrement en cours.
DBEdit
Saisie de base de données. Boîte de saisie orientée données permettant d'afficher et de
modifier un champ de l'enregistrement en cours.
DBMemo
Mémo de base de données. Mémo orienté données permettant d'afficher et de modifier du
texte BLOB de l'enregistrement en cours.
DBListBox
Boîte liste de base de données. Boîte liste orientée données qui affiche une liste défilable
des valeurs d'une colonne d'une table.
DBComboBox
Boîte à options de base de données. Boîte à options orientée données qui permet d'afficher
et de modifier une liste défilable des valeurs d'une colonne d'une table.
DBCheckBox
Case à cocher de base de données. Case à cocher orientée données qui permet d'afficher et
de modifier un champ booléen de l'enregistrement en cours.
DBRadioGroup
Groupe de boutons radio de base de données. Groupe de boutons radio orientés données
qui affichent l'ensemble des valeurs d'une colonne.
DBLookupListBoxBoîte liste de références de base de données. Boîte liste orientée données dont les
éléments proviennent d'un champ de référence défini pour un ensemble de données, ou
d'une source de données, d'un champ de données et de touches secondaires
Remarque :
Dans le cadre de cette formation, nous nous intéresserons surtout au moteur de base de données de
Borland,
c'est-à-dire BDE .
Onglet QuickReport

En plus de ces six pages, on trouve également une autre page dans la palette des composants de Delphi
qui nous
permet d’afficher les états de sortie : Page QReport.
Remarque :
Cette page n’est pas présente par défaut dans Delphi 7. Par conséquent il faut l’installer.
Dans cet onglet, on s’intéresse surtout au composant QuickRep
QuickRep
C'est un composant visuel qui adopte la taille du format de papier sélectionné. Vous créez des états en
plaçant des bandes et des composants imprimables sur le composant TQuickRep et en le connectant à un
ensemble de données.
ECOLE VEGA IP
Bases de Données sous Delphi
Enseignant : N. BOUCHAMA
III. ARCHITECTURE INTERNERNE PERMETTANT L’ACCES AUX DONNEES
Delphi met en place un certain nombre d'utilitaires et de mécanismes internes pour qu'une application ait
accès
aux données gérées par les différents SGBDR.
Il fournit en particulier un moteur de base de données interne appelé BDE (Borland Database Engine), qui
permet de créer et de gérer des bases de données locales. C'est BDE qui assure par ailleurs la
communication avec les autres bases de données.

Figure 1 : Architecture interne d’une BDD sous Delphi.


Moteur BDE :
Le moteur de base de données Borland BDE (Borland Database Engine ) est l'élément central d'une
application de gestion de base de données créée avec Delphi. Il est inclus directement dans les
composants spécifiques fournis avec Delphi. Un programmeur n'a donc pas à s'en occuper et il n'apparaît
pas dans l'arborescence de l'application créée. Par contre l'exécutable généré est plus important.
L'application Delphi créée est essentiellement constituée d'une l'interface utilisateur permettant d'accéder
de manière transparente à BDE.
Module de Bases de Données :
Les structures des différentes tables utilisées dans l'application sont mises au point par un utilitaire spécial
: DBD
(DataBase Desktop).
Cet utilitaire, accessible par une icône spécifique ou par le menuO ut ils' permet de créer les différentes
tables de l'application (dénominations, types et tailles des différents champs et définition des clés), de
définir les différents index, de créer les liens entre les différentes tables.
SGBDR (SGBD Relationnel) :
Il est possible d'utiliser des tables déjà conçues par d'autres SGBDR (Paradox ou dBase). Dans notre cas,
c’est le
SGBDRP a ra do x que nous utiliserons.
IEtats de sortie (Reports) :
L'utilitaire Report Smith (ou le composant QReport) permet de générer des états complexes, en mode
WYSIWYG (What You See Is What You Get), à partir des tables gérées par l'application Delphi.
Pilotes ODBC :
Les pilotes ODBC permettent l'accès à différentes bases de données et serveurs SQL non reconnus
directement
par Delphi.
IV. DEVELOPPEMENT D’UNE APPLICATION BASES DE DONNEES SOUS
DELPHI
Delphi permet de gérer les applications de bases de données relationnelles. Les bases de données
relationnelles organisent les informations en tables, qui contiennent des lignes (enregistrements) et des
colonnes (champs). Ces tables peuvent être manipulées par des opérations simples appelées calculs
relationnels (sélection, projection, jointure). Sous Delphi, on peut développer une base de données en
suivant les étapes suivantes :
Concevoir le MCD (Modèle Conceptuel de Données) et effectuer le passage au modèle relationnel. Inutile
de rappeler ici que la cohérence et l’efficacité de votre base de données dépendent de façon très étroite
de votre MCD et du respect des règles de passage.
Donner un nom à notre base de données (il est vivement recommandé que votre nom de base de
données soir significatif.Ex : GestionScolarité est préférable àB DD1 )
Moteur BDE :
Le moteur de base de données Borland BDE (Borland Database Engine ) est l'élément central d'une
application de gestion de base de données créée avec Delphi. Il est inclus directement dans les
composants spécifiques fournis avec Delphi. Un programmeur n'a donc pas à s'en occuper et il n'apparaît
pas dans l'arborescence de l'application créée. Par contre l'exécutable généré est plus important.
L'application Delphi créée est essentiellement constituée d'une l'interface utilisateur permettant d'accéder
de manière transparente à BDE.
Module de Bases de Données :
Les structures des différentes tables utilisées dans l'application sont mises au point par un utilitaire spécial
: DBD
(DataBase Desktop).
Cet utilitaire, accessible par une icône spécifique ou par le menuO ut ils' permet de créer les différentes
tables de l'application (dénominations, types et tailles des différents champs et définition des clés), de
définir les différents index, de créer les liens entre les différentes tables.
SGBDR (SGBD Relationnel) :
Il est possible d'utiliser des tables déjà conçues par d'autres SGBDR (Paradox ou dBase). Dans notre cas,
c’est le
SGBDRP a ra do x que nous utiliserons.
IEtats de sortie (Reports) :
L'utilitaire Report Smith (ou le composant QReport) permet de générer des états complexes, en mode
WYSIWYG (What You See Is What You Get), à partir des tables gérées par l'application Delphi.
Pilotes ODBC :
Les pilotes ODBC permettent l'accès à différentes bases de données et serveurs SQL non reconnus
directement
par Delphi.
IV. DEVELOPPEMENT D’UNE APPLICATION BASES DE DONNEES SOUS
DELPHI
Delphi permet de gérer les applications de bases de données relationnelles. Les bases de données
relationnelles organisent les informations en tables, qui contiennent des lignes (enregistrements) et des
colonnes (champs). Ces tables peuvent être manipulées par des opérations simples appelées calculs
relationnels (sélection, projection, jointure). Sous Delphi, on peut développer une base de données en
suivant les étapes suivantes :
suivantes :
Concevoir le MCD (Modèle Conceptuel de Données) et effectuer le passage au modèle relationnel. Inutile
de rappeler ici que la cohérence et l’efficacité de votre base de données dépendent de façon très étroite
de votre MCD et du respect des règles de passage.
Donner un nom à notre base de données (il est vivement recommandé que votre nom de base de
données soir significatif.Ex : GestionScolarité est préférable àB DD1 )
ECOLE VEGA IP
Bases de Données sous Delphi
Enseignant : N. BOUCHAMA
Création des alias
Création des tables en utilisant le module de base de données (Voir figure 2 ci-Dessous). Dans cette
étape, on s’intéresse aux champs de chaque table, à leurs tailles, et à leurs types (numérique,
alphanumérique, date, etc). On doit également préciser les indexes (index) et les clés (key).
Une fois notre base de données créée, on peut procéder au remplissage. On parle alors de phase
d’exploitation de la table
V. CREATION DES TABLES EN UTLISANT LE MODULE BASE DE DONNEES

Figure 2 : Module de base de données.


Dans ce paragraphe, nous donnons un exemple de création d’une tableEt udia nt qui contiendra les
champs
suivants :

Numéro d’immatriculation

Nom

Prénom

Date de naissance

Adresse

Numéro de téléphone
La clé de cette table est Numéro d’immatriculation. Ceci veut dire que deux étudiants ne doivent pas avoir
le même numéro d’immatriculation sinon il y aura une violation de clé.
Etape 1 : Lancement du module de base de données :
 Pour ce faire, lançons le module base de données de Delphi (si vous
utilisez une version anglaise de Delphi alors lancer Data Base Desktop). Ceci peut être fait soit en
choisissant le
module base de données dans le groupe de programme Delphi, soit en allant dans le menu Outils/Module
base
de données
Etape 2 : Création des alias :
Rappelons qu’un alias est équivalent à un chemin d’accès.
Pour créer un nouveau alias, aller dans le menu Outils/Gestionnaire d’alias de votre moniteur de base
de
données.
Cliquer sur le boutonNo uv ea u
Dans la case Alias de base définir votre nouveau alias. Par exemple :Alia s St udent


Cliquer surP a rco urir pour associer le chemin d’accès correspondant à votre alias. Par exemple :C: \De
lphi


 Enregistrer votre nouveau alias en cliquant sur le bouton Enregistrer sous.
Etape 3 : Création de la table :
 Aller sur le menuF ichier/ No uv ea u/Ta ble
Choisir un pilote de base de données. Dans notre cas, choisirP a ra do x puis cliquer surO K.
Définir les champs de votre table tout en définissant le type et la longueur de chaque champ.
Sauvegarder votre table dans l’emplacement que vous avez associé à votre alias (enregistrer votre table
sous le
nomEt udia nt . db).

Vous aimerez peut-être aussi