Chapitre 3

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 40

Bases De Données

avec Delphi

Conception d’une
base de données

Création et manipulation
d’une base de données
avec Delphi

1 Khadraoui.F
Plan
Création et manipulation d’une BDD avec Delphi

Module Base de données

Alias

Création d’une table

Types et tailles des champs Paradox

Index

Propriétés d’une table

Saisie des enregistrements

Application Delphi exploitant une BDD

Khadraoui.F
2
Création d’une Base de données

Dans le Module Base de données, les composantes de base de données qui


stockent, affichent, extraient et présentent des données sont appelées objets.
Les principaux objets utilisés dans le Module Base de données sont des tables,
requêtes et fichiers SQL.
Chaque objet a une extension différente :
Extension Type d'objet

.DB Table Paradox


.DBF Table dBASE
.DBT Mémos pour une table dBASE
.MB Mémos pour une table Paradox
.MDX Index maintenu d'une table dBASE
.NDX Index non maintenu d'une table dBASE
.PX Index primaire d'une table Paradox
.QBE Requête sauvegardée
.SQL Fichier SQL sauvegardé
.VAL Contrôles de validité et intégrité référentielle pour une table Paradox
Khadraoui.F
3
Création d’une Base de données

Deux méthodes pour lancer le module Base de données :


Lancer Delphi, puis dans le menu Outils choisir la commande Module Base de
données
 Directement à partir de la liste des programmes installés (programmes |
Borland Delphi 7 | Module Base de données)

Khadraoui.F
4
Création d’une Base de données

Un alias est un chemin d'accès qui servira à stocker


les fichiers de la base de données.
Pour créer un alias :
A l’aide de l’Administrateur BDE (Démarrer|
Programmes| Borland Delphi 7| Administrateur BDE)
 Cliquer le menu Objet| nouveau
 Dans la boite « Nouvel Alias base de données »
sélectionner le nom de pilote base de données (exemple
Standard)
 Dans le volet « bases de données » taper le nom de
L’alias (GCommande) et lui associer un chemin sur le
disque (E:\Client_commande\BDD)

Khadraoui.F
5
Création d’une Base de données

ou dans le Module Base de données,


 cliquez sur le menu Outils /
Gestionnaire d'alias.
Cliquez sur le bouton "Nouveau" puis
entrez le nom (exemple: GCommande)
dans "Alias de base", "type de pilote"
STANDARD et définissez le chemin de la
base (au besoin, cliquez sur "Parcourir").
Notez que le chemin doit être existant.
Cliquez enfin sur "Provisoire" puis sur
"Enregistrer sous" sans rien changer pour
sauvegarder l'alias.

Khadraoui.F
6
Création d’une Base de données

Pour créer une table depuis le Module Base de données :


Choisissez Fichier| Nouveau | Table,
ou cliquez avec le bouton droit sur l’outil Ouverture d’une table de la barre
d'outils et choisissez Nouveau.

Le Module Base de données ouvre la boîte de


dialogue Création de table.
Le module Base de données propose
plusieurs types (paradox, DBase, FoxPro,
Informix,Interbase, MsAccess, Oracle, SyBase)
pour la table à créer. Dans ce cours,
sélectionner le type Paradox 7 puis valider
avec OK

Khadraoui.F
7
Création d’une Base de données

Le Module Base de données ouvre la boîte de dialogue Création de la table,


dans laquelle vous pouvez spécifier la structure de la nouvelle table.
Pour chaque champ de la table :
1. Spécifier un nom ( moins de 25
caractères)
2. Sélectionner un type de champ
(Alphanumérique(A),
Numérique(N), Monétaire($), ….)
3. Tapez la taille du champ (si la
taille est obligatoire).
4. Si vous le souhaitez, définissez
une clé (index) et les propriétés de
la table.
Lorsque la structure de la table est définie, choisissez
Enregistrer sous pour donner un nom à la table.

Khadraoui.F
8
Création d’une Base de données

Voici les principaux types de champs valides dans Paradox, et les tailles
correspondantes.
Symbole Taille Type Description
A 1 – 255 Alphanumérique Lettres, chiffres ,symboles spéciaux (tels
que %, &, # ou = ;d'autres caractères
ASCII imprimables).
N Numérique Nombre réel
$ Monétaire Nombre réel en format monétaire
S Entier court entre -32767 et 32767.
I Entier long entre -2147483648 et 2147483647
D Date
T Heure
@ Date/Heure

Khadraoui.F
9
Création d’une Base de données

Symbole Taille Type Description


M 1 - 240 Mémo pour les chaînes de texte qui sont trop
longues (longueur virtuellement illimitée)
F 0 - 240 Mémo formaté semblables aux champs mémos, excepté que
vous pouvez en formater le texte en ajoutant
les attributs de texte (police, style, couleur et
taille)
G Graphique contient des images(.BMP, .PCX, .TIF, .GIF
et .EPS.)
L Logique contient des valeurs représentant l’alternative
vrai ou faux (oui ou non)
+ Incrémentation contient des entiers longs en lecture
auto seulement (qui ne peuvent pas être modifiés).
Le Module Base de données commence par le
nombre 1 et ajoute 1 pour chaque
enregistrement de la table.

Khadraoui.F
10
Création d’une Base de données

Un index est un fichier qui détermine l'ordre dans lequel le Module Base de
données accède aux enregistrements d'une table. Les index peuvent être des
index primaires ou secondaires.
Dans les tables Paradox, l'index primaire est aussi appelé clé.

En créant un champ clé, vous demandez au Module Base de données de


classer la table dans l'ordre des valeurs de ce champ. Changer de clé change
l'emplacement physique des enregistrements dans la table.
Une clé doit contenir des valeurs uniques
Les clés sont obligatoires pour la majorité des liens entre tables et pour
utiliser les contraintes d'intégrité du Module Base de données.
Les clés sont également utilisées pour accélérer les requêtes et les
recherches dans les tables Paradox.

Khadraoui.F
11
Création d’une Base de données

Une table ne peut avoir qu'une clé. Cette clé peut être constituée de un ou
plusieurs champs.
Les clés ne peuvent être constituées de champs mémos, mémos formatés,
graphiques ni logiques.
Si une clé est définie par un seul champ, ce champ doit être le premier du
panneau Description des champs.
Si vous désignez plusieurs champs comme clé, vous définissez une clé
composite. Le contenu de ces champs, en tant que groupe, doit être unique
pour chaque enregistrement de la table. La clé composite doit commencer par
le premier champ du panneau Description des champs.

Khadraoui.F
12
Création d’une Base de données

la clé de la table Commandes est le champ


« NumCmde »

la clé de la table Notes est le groupe


des champs (CodeM , Numins). c’est
une clé composite

Khadraoui.F
13
Création d’une Base de données

Un index secondaire est un champ ou un groupe de champs défini comme


Autre ordre de tri de la table
Champ permettant de lier la table
Moyen d'accélérer certaines opérations de recherche

Une table peut avoir plusieurs index secondaires


Vous ne pouvez créer d'index secondaire sur les champs mémos, mémos
formatés, graphiques ni logiques
Lorsque vous utilisez un index secondaire, vous ne changez que l'ordre
d'affichage des enregistrements. Leur position physique dans la table ne
change pas.

Khadraoui.F
14
Création d’une Base de données

Le champ codeCl dans la table commandes


doit être défini comme index secondaire

Khadraoui.F
15
Création d’une Base de données

Pour spécifier les propriétés d’une table :


Afficher la structure de la table
Sélectionner une propriété de la liste Propriétés de la table

Les contrôles de validité sont des règles


imposées aux champs ; elles garantissent 1
que les données entrées dans ces champs 2

sont conformes à certaines conditions.


Le Module Base de données fournit 5
3

types de contrôles de validité. 4

Khadraoui.F
16
Création d’une Base de données

Contrôle Signification Exemples


de validité
Champ Chaque enregistrement de la table La valeur du champ Nom de la
obligatoire doit contenir une valeur dans ce table Clients est obligatoire
champ.
Valeur Les valeurs entrées dans ce champ La valeur minimale du champ
Minimum doivent être égales ou supérieures Note de la table Notes est 0
à la valeur minimale que vous avez
spécifiée ici.
Valeur Les valeurs entrées dans ce champ La valeur Maximale du champ
Maximum doivent être inférieures ou égales à Note de la table Notes est 20
la valeur maximales que vous avez
spécifiée ici.

Khadraoui.F
17
Création d’une Base de données

Contrôle Signification Exemples


de validité
Valeur Cette valeur remplit La valeur par défaut du champ
par défaut automatiquement ce champ si vous Coef de la table Modules est 1
n'y entrez pas d'autre valeur. La valeur CEJOUR (date
système) pour le champ Date
de la table Commandes
Modèle Spécifiez une chaîne de caractères Le modèle 0## ## ## ##
qui servira de modèle aux valeurs pour un champ NTEL fixe
acceptées dans ce champ

Le Module Base de données enregistre les contrôles de validité dans un


fichier séparé portant le nom de la table et l'extension .VAL.

Khadraoui.F
18
Création d’une Base de données

La référence à une table est une fonction qui permet de:


Rechercher dans une autre table les valeurs autorisées
d'un champ
Copier automatiquement les valeurs de la table de
référence dans la table que vous modifiez (remplissage
automatique)
Exiger que les valeurs entrées dans un champ existent
dans le premier champ d'une autre table
L'avantage principal des tables de référence est de garantir
que les données soient recopiées correctement d'une table
à l'autre.

Khadraoui.F
19
Création d’une Base de données

Les données à copier de table de référence doivent être


celles du premier champ.
Le champ possédant la référence à une table doit être de
même type et de même taille que le premier champ de la
table de référence.
Pour obtenir les meilleures performances, la table de
référence doit être indexée.

Khadraoui.F
20
Création d’une Base de données

La table de référence pour le champ CodeCl de la table Commande est la table


Clients (le champ CodeCl) signifie que :
toute valeur entrée dans le champ CodeCl de la table Commandes doit
correspondre à une valeur existante dans le champ CodeCl de la table Clients.

Khadraoui.F
21
Création d’une Base de données

L'intégrité référentielle implique qu'un champ ou un groupe de champs d'une


table (la table "enfant") fasse référence à la clé d'une autre table (la table
"parent"). Le Module Base de données n'accepte pour les champs spécifiés de
la table enfant que les valeurs existant dans la clé de la table parent.

Khadraoui.F
22
Création d’une Base de données

Supposons que vous avez établi une relation d'intégrité référentielle entre les
tables Clients et Commande sur leur champ CodeCl. Lorsque vous saisissez
une valeur dans le champ CodeCl de Commande, le Module Base de données
examine le champ CodeCl de Clients et
Accepte la valeur dans Commande si elle existe dans Clients
Rejette la valeur si elle n'existe pas dans Clients

Khadraoui.F
23
Création d’une Base de données

Vous pouvez vous assurer que la table que vous créez soit protégée contre
l'accès d'utilisateurs non autorisés. Cela est particulièrement important dans un
environnement multi-utilisateur. Lorsque vous spécifiez un mot de passe, seuls
les utilisateurs connaissant ce mot de passe peuvent accéder à la table. Chaque
fois qu'un utilisateur essaie d'accéder à une table protégée par mot de passe, le
Module Base de données lui demande de le fournir

Khadraoui.F
24
Création d’une Base de données

Le Module Base de données possède deux types de mots de passe :


Le mot de passe principal contrôle tous les accès à toute la table. Vous devez
spécifier un mot de passe principal avant de pouvoir créer des restrictions
d'accès supplémentaires.
Les mots de passe secondaires permettent d'attribuer différents niveaux
d'accès aux différents types d'utilisateurs d'un groupe.

Khadraoui.F
25
Création d’une Base de données

Ouvrir la table ( Fichier | Ouvrir | Table ou l’outil Ouverture d’une table


 Activer le mode édition ( Table | Editer les données ou l’outil Editer les données
ou F9)

Khadraoui.F
26
Création d’une Base de données

Deux possibilités :
Par Expert fiche
Par composants Delphi.

L’expert fiche est accessible par le menu Base de données | Expert fiche.
Il permet de dessiner facilement, grâce à une série de boîtes de dialogues, des
formulaires simples ou composés.

Formulaire simple pour la mise à jours des clients

Khadraoui.F
27
Création d’une Base de données

Khadraoui.F
28
Création d’une Base de données

Khadraoui.F
29
Création d’une Base de données

Khadraoui.F
30
Création d’une Base de données

Khadraoui.F
31
Création d’une Base de données

Khadraoui.F
32
Création d’une Base de données

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 plusieurs pages. Les pages qui vont être utilisées dans ce cours sont:
La page BDE: le BDE (Borland Database Engine) représente le meilleur moyen
pour exploiter une BDD Paradox ou des tables Dbase.
La page ContrôleBD : contient différents composants visuels (contrôles) de
manipulation des BDD
La page AccèsBD

Khadraoui.F
33
Création d’une Base de données
: accessible à partir de la page BDE

Ce composant est de type « ensemble de données » . Il encapsule toute la


structure et les données d’une table de base de données

DataBaseName Spécifie le nom de la BDD ou de son Alias


TableName Spécifie le nom de la table encapsulé par le composant
TABLE.
Active De type Boolean. Indique si la table est ouverte en lecture
/écriture par d’autres composants.
MasterSource Définis le nom de la source de données (DataSource) à
utiliser comme table maitre dans une relation Détail-Maître
entre cette table et une autre
MasterFields Spécifie un ou plusieurs champs d’une table maître à lier
avec les champs correspondants de cette table

Khadraoui.F
34
Création d’une Base de données

: accessible à partir de la page AccèsBD

 DataSource sert d’interface entre un composant ensemble de données (Table,


Query,…etc) et les contrôles orientés données d’une fiche (DBGrid,
DBEdit,….etc)
Il sert aussi à lier deux ensembles de données dans une relation maître-détail

DataSet Définit le nom (propriété Name) de l’ensemble de données


qui utilise le DataSource comme canal vers les contrôles
orientés données ou autres ensembles de données

Khadraoui.F
35
Création d’une Base de données

: accessible à partir de la page ContrôleBD

 Affiche et manipule les enregistrements d’un ensemble de données ( table ou


requête) dans une grille tabulaire
Une application Delphi peut utiliser DBGrid pour insérer, supprimer ou
modifier les données de la BDD ou simplement pour les afficher

DataSource Indique le nom du DataSource Lié à l’ensemble des


données d’où le DBGrid tire ses données
Options Ensemble de valeurs logiques (Boolean) qui contrôle le
comportement et l’aspect de DBGrid à l’exécution :
dgEditing : interdit ou autorise la modification, l’insertion
et la suppression des enregistrements
dgTitles : active ou désactive l’affichage des noms de
champs en haut de la grille

Khadraoui.F
36
Création d’une Base de données

: accessible à partir de la page ContrôleBD

 Fournit un ensemble d boutons permettant à l’utilisateur de naviguer parmi


les enregistrements de l’ensemble de données et de les manipuler

Supprimer
Précédent

Actualiser
Dernier

Valider
Insérer

Annuler
Editer
Suivant
premier

Khadraoui.F
37
Création d’une Base de données

DataSource Indique le nom du DataSource Lié à l’ensemble des


données contrôlé par le DBNavigator
VisibleButtons Ensemble de valeurs logiques qui détermine quels
boutons apparaissent dans le navigateur.
Les indicateurs des boutons sont: nbFirst, nbPrior,
nbNext, nbLast, nbInsert, nbDelete, nbEdit, nbPost,
nbCancel, nbRefresh

Khadraoui.F
38
Création d’une Base de données

: accessibles à partir de la page ContrôleBD


DBText Afficher, dans une fiche, la valeur d’un champ de
l’enregistrement actif
DBEdit Représente un contrôle de saisie monoligne pouvant
afficher et modifier les valeurs d’un champ
DBMemo Représente un contrôle de saisie multilignes pouvant
afficher et modifier les valeurs d’un champ
DBListBox Ce composant affiche une liste de d’éléments qu’il est
possible de faire défiler. L’utilisateur peut aussi choisir
l’un de ces éléments pour entrer dans un champ de
données.

 Tous ces composants sont liés à l’ensemble de données (Table) par


leurs propriétés DataSource et aux champs correspondants par la
propriété DataField

Khadraoui.F
39
Création d’une Base de données
Clients.DB

TableName
Datasource

GCommande
DataSet DataBaseName {Alias}

Table

DBGrid
DBEdit
DBNavigator
Khadraoui.F
40

Vous aimerez peut-être aussi