Documente Academic
Documente Profesional
Documente Cultură
Rsum
Ce chapitre est consacr quelques rappels sur les bases de donnes (en particulier les bases de donnes
relationnelles). Par la suite, nous verrons comment dvelopper une application bases de donnes sous
lenvironnement Delphi.
Ce support de cours ne se veut nullement exhaustif. Ce nest quune rfrence de base.
I. DEFINITIONS ELEMENTAIRES
Bases de donnes : une base de donnes est un ensemble dinformations structures mmorises sur un
support permanent.
SGBD (Systme de Gestion de Bases de Donnes): un SGBD (en anglais DBMS, Data Base
Management System) est un programme (logiciel) informatique de haut niveau qui permet de crer et
de maintenir une base de donnes. Cest dire :
- dcrire les donnes qui seront stockes,
- manipuler ces donnes (ajouter, modifier, supprimer des informations),
- Consulter les donnes (slectionner, trier, calculer, agrger, etc)
- Dfinir des contraintes d'intgrits sur les donnes (contraintes de domaines, d'existence,etc)
- Dfinir des protections d'accs (mots de passe, autorisations, etc.),
- Rsoudre les problmes d'accs multiples aux donnes (interblocages),
- Prvoir des procdures de reprise en cas d'incident (sauvegardes, journaux, etc).
On distingue trois types de SGBDs : SGBD hirarchique, SGBD rseau, et SGBD relationnel. Dans ce
qui suit dans ce fascicule, nous nous intresserons ce dernier type de SGBD pour plusieurs
raisons parmi lesquelles notamment le fait quils soient les plus utilises actuellement. Parmi les SGBD
relationnels existants sur le march, on peut citer par exemple : Oracle, Paradox, Access, DB2,
Gemstone, Sybase, Informix, DBase, Ingres, etc.
Alias : Il est possible de dfinir un alias au rpertoire de travail. Cet alias sera utilis ultrieurement
dans le dveloppement de l'application et permettra d'viter d'avoir fournir le chemin absolu du
rpertoire de travail. Par exemple : alias c:\delphi\bdd\
La notion d'alias permet de dvelopper une application complte en s'affranchissant de la configuration
physique de la machine support. Il suffit en effet de configurer l'alias (grce l'utilitaire adquat) pour
prendre en compte un chemin d'accs aux diffrentes tables diffrent (de celui utilis lors de la phase de
conception mais aussi, ventuellement, en cas de dplacement de l'application sur d'autres machines).
Bases de donnes relationnelles : Les bases de donnes relationnelles grent les donnes selon le
mode, mis au point par E.F. Codd, bas sur l'utilisation du langage SQL (Structured Query Language).
Ce mode spare l'aspect physique des donnes (stockage sur disque) de leur reprsentation logique
(prsentation l'utilisateur). Les donnes apparaissent alors sous forme de tables qui masquent la
complexit des mcanismes d'accs en mmoire. Ce modle libre l'utilisateur de tous les dtails de
stockage et permet un accs purement logique aux donnes.
Chaque table permet de stocker un type particulier de donnes. Une donne stocke constitue un
enregistrement dans la table (= une ligne). Elle peut tre constitue d'un nombre variable d'informations
lmentaires. Chaque information lmentaire constitue un champ de l'enregistrement (= une colonne).
Les besoins actuels ncessitent l'utilisation frquente de dizaines de tables, chacune permettant le
stockage d'une donne structure particulire. Il y a lieu d'viter la redondance des donnes lmentaires
stockes. L'ensemble de tables ainsi constitu s'appelle une base de donnes.
Cl (key) :
On appelle cl un identifiant permettant de dterminer d'une faon 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 diffrentes ;
Un ensemble de champs permettant de dfinir un identifiant unique ;
Un champ spcial qui n'est pas une donne proprement dite mais dont on peut tre
certain de l'unicit (identifiant numrique en gnral).
La cl sert dterminer prcisment un enregistrement. Elle est unique.
Enseignant : N. BOUCHAMA
ECOLE VEGA IP
Index : un index est une information sur l'ordonnancement des diffrents enregistrements dans une
table (il peut ne pas correspondre l'ordonnancement physique des enregistrements). Il sert raliser
des tris. On peut dfinir plusieurs indexes pour une mme table.
Lorsquun index correspond une cl, on parle dun index primaire. Autrement, on parle dindex
secondaire.
Requte :
Pour accder aux diffrentes informations l'utilisateur doit excuter diffrentes requtes qui seront
ensuite interprtes par le gestionnaire de base de donnes. Dans le cas d'une base utilise dans le
contexte client / serveur, seule la requte est transmise au serveur. Celui-ci la traite puis renvoie les
rsultats au client.
Une requte est formule selon un langage particulier, qui est d'ailleurs un des fondements des bases de
donnes relationnelles : le langage SQL.
Vue (view):
Une vue peut tre affiche sous forme de tableau (chaque ligne correspond un enregistrement et les
colonnes correspondent aux champs slectionns) ou sous forme de fiche : un seul enregistrement est
l'cran en mme temps. Lorsqu'une table est trie selon un index secondaire, elle prsente l'utilisateur
une "vue" qui diffre de son implmentation physique.
Moteur Bases de Donnes (Datase Engine)
Un moteur de base de donnes est un ensemble de programmes chargs de grer les diffrentes donnes
stockes dans les tables (accs aux tables, ajout, modification et suppression d'enregistrement, gestion
des accs concurrents). C'est le coeur d'un SGBDR. Il ne permet pas de crer les tables et n'assure pas
l'interface avec les utilisateurs. Ces fonctionnalits sont ralises par d'autres utilitaires.
La page BDE (Borland Database Engin) : Cest cette page qui nous intresse le plus. Le modle BDE
reprsent par la page BDE correspond aux composants du moteur daccs BDE qui constitue une
interface fonctionnelle API qui permet de travailler avec les bases de donnes. Le modle BDE est le
meilleur moyen dexploiter une base de donnes Paradox ou des tables dBase.
La page ADO (Activex Data Objects)
La page dbExpress
La page InterBase
La Page AccsBD
Query
Enseignant : N. BOUCHAMA
ECOLE VEGA IP
La page ContrleBD
DBNavigator
DBText
DBEdit
DBMemo
DBListBox
DBComboBox
DBCheckBox
DBRadioGroup
DBLookupListBox
Grille de base de donnes. Grille personnalise oriente donnes permettant d'afficher les
donnes sous forme d'un tableau comme dans une feuille de calcul. Possde des proprits
TField (dfinies dans l'diteur de champs) pour dterminer la visibilit d'une colonne, le
format d'affichage, l'ordre, etc.
Navigateur de base de donnes. Boutons de navigation orients permettant de dplacer en
avant ou en arrire 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 modifis et rcuprer des donnes mises jour pour
rafrachir l'cran.
Texte de base de donnes. Libell orient donnes qui affiche la valeur d'un champ de
l'enregistrement en cours.
Saisie de base de donnes. Bote de saisie oriente donnes permettant d'afficher et de
modifier un champ de l'enregistrement en cours.
Mmo de base de donnes. Mmo orient donnes permettant d'afficher et de modifier du
texte BLOB de l'enregistrement en cours.
Bote liste de base de donnes. Bote liste oriente donnes qui affiche une liste dfilable
des valeurs d'une colonne d'une table.
Bote options de base de donnes. Bote options oriente donnes qui permet d'afficher
et de modifier une liste dfilable des valeurs d'une colonne d'une table.
Case cocher de base de donnes. Case cocher oriente donnes qui permet d'afficher et
de modifier un champ boolen de l'enregistrement en cours.
Groupe de boutons radio de base de donnes. Groupe de boutons radio orients donnes
qui affichent l'ensemble des valeurs d'une colonne.
Bote liste de rfrences de base de donnes. Bote liste oriente donnes dont les
lments proviennent d'un champ de rfrence dfini pour un ensemble de donnes, ou
d'une source de donnes, d'un champ de donnes et de touches secondaires
Remarque :
Dans le cadre de cette formation, nous nous intresserons surtout au moteur de base de donnes 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 dafficher les tats de sortie : Page QReport.
Remarque :
Cette page nest pas prsente par dfaut dans Delphi 7. Par consquent il faut linstaller.
C'est un composant visuel qui adopte la taille du format de papier slectionn. Vous crez des
tats en plaant des bandes et des composants imprimables sur le composant TQuickRep et en
le connectant un ensemble de donnes.
Enseignant : N. BOUCHAMA
ECOLE VEGA IP
I
Etats de sortie (Reports) :
L'utilitaire Report Smith (ou le composant QReport) permet de gnrer des tats complexes, en mode
WYSIWYG (What You See Is What You Get), partir des tables gres par l'application Delphi.
Pilotes ODBC :
Les pilotes ODBC permettent l'accs diffrentes bases de donnes et serveurs SQL non reconnus directement
par Delphi.
ECOLE VEGA IP
Numro dimmatriculation
Nom
Prnom
Date de naissance
Adresse
Numro de tlphone
Enseignant : N. BOUCHAMA
ECOLE VEGA IP
TDBGrid : ce composant sert afficher le contenu de la table Table1. On peur galement utiliser ce
composant pour modifier directement le contenu de la table. Pour ce faire, configure la proprit
Datasource Datasource1.
Remarques :
Enseignant : N. BOUCHAMA
ECOLE VEGA IP
Lorsque vous voulez dcouvrir les diffrentes mthodes et proprits dun composant Delphi, placez
votre composant sur la fiche et appuyez sur F1 ;
Vous pouvez accder aux diffrentes mthodes et proprits dun composant en en tapant le nom du
composant + point+ (CTRL+ESPACE).
On utilise rarement le navigateur (et une grille) pour raliser des insertions et suppressions de champs.
Il n'y a pas assez de contrles de raliser et l'entre des donnes n'est pas trs pratique et peut gnrer
des erreurs (on prfrera utiliser une fentre spciale contenant l'ensemble des champs de saisie sous
forme de formulaire). On utilise donc principalement le navigateur pour raliser des dplacements
l'intrieur de la base. Il faut donc liminer les boutons inutiles (cas de manipulation dangereuse) et ne
conserver que ceux que l'on souhaite mettre la disposition des utilisateurs. Pour cela on slectionne le
composant Navigateur et on affiche la liste des options accessibles via la proprit VisibleButtons. Il
suffit alors de faire basculer False les boutons que l'on ne veut pas afficher. L'effet est immdiat dans
la fentre de conception et il n'y a plus qu' redimensionner le navigateur.
Par la suite, cet assistant vous guidera pour obtenir une fiche contenant une interface vous permettant dinteragir
avec votre base de donnes.
Nom
1
Prnom
2
Date de naissance
3
Adresse
4
Numro de tlphone
5
Ait Amar
Hocine 23/06/1982
Ihaddaden, Bjaia
034202020
Enseignant : N. BOUCHAMA
ECOLE VEGA IP
Composant Table
Active
DataBaseName
Fieldefs
Fields [i]
IndexName
MasterSource
Modified
ReadOnly
RecordCount
State
TableName
Composant Datasource
Active
DataSet
State
Composant DBNavigator
Field [i]
FixedColor
Options
Read Only
Enseignant : N. BOUCHAMA