TP SIN Réalisation d`une base de données Delphi 9

Transcription

TP SIN Réalisation d`une base de données Delphi 9
TP SIN
Réalisation d’une base de données
Delphi 9
Pré requis (l’élève doit savoir):
- Savoir utiliser un ordinateur
- Programme de base Delphi
Programme
Objectif terminale :
L’élève doit être capable de réaliser une base de données et d’y accéder
Matériel
- Ordinateur
- Logiciel Delphi
1.
Introduction

Présentation
En informatique, une base de données (Abr. : « BD » ou « BDD » ou « BdD » ou encore DB en anglais) est un lot d'informations
stockées dans un dispositif informatique. Les technologies existantes permettent d'organiser et de structurer la base de données
de manière à pouvoir facilement manipuler le contenu et stocker efficacement de très grandes quantités d'informations.
La base de données est organisée selon un modèle de données pré-déterminé en fonction de la nature des informations qui y
seront stockées.
La structure physique des fichiers comporte des index destinés à accélérer les opérations de recherche et de tri.
Conformément à l'architecture Ansi/Sparc, l'organisation logique est indépendante de la structure physique. Une modification
de l'organisation logique ne provoque pas de modification de la structure physique et vice-versa.

Caractéristiques
Dans les fichiers de la base de données sont stockés les informations, ainsi que les index, le détail du modèle de données, des
listes de contrôle d'accès et un journal des opérations.
Les informations sont placées dans les champs des enregistrements de la base de données. Les enregistrements sont reliés pour
former des collections.
Dans les bases de données relationnelles, les collections sont des tables avec lignes et colonnes.
Les index sont des structures qui accélèrent la recherche, le tri et le regroupement des informations d'une collection par
diminution de la complexité algorithmique. Ce sont typiquement des structures en arbre B ou en table de hachage. Les index
contiennent les différentes valeurs d'un ou de plusieurs champs des enregistrements d'une collection.
Une clé primaire est un champ ou une combinaison de champs dont les valeurs sont différentes pour chaque enregistrement de
la collection. La clé primaire permet de retrouver un et un seul enregistrement de la collection.
Actuellement, IBM DB2, Oracle Database, MySQL, PostgreSQL et Microsoft SQL Server sont les principaux systèmes de gestion
de base de données sur le marché.
1

o
Structure d’une base (database)
o
Propriétés
Utilité
Une base de données permet de mettre des données à la disposition d'utilisateurs pour une consultation, une saisie ou bien une
mise à jour, tout en s'assurant des droits accordés à ces derniers. Cela est d'autant plus utile que les données informatiques sont
de plus en plus nombreuses.
Une base de données peut être locale, c'est-à-dire utilisable sur une machine par un utilisateur, ou bien répartie, c'est-à-dire que
les informations sont stockées sur des machines distantes et accessibles par réseau.
L'avantage majeur de l'utilisation de bases de données est la possibilité de pouvoir être accédées par plusieurs utilisateurs
simultanément.

Langage SQL
SQL (sigle de Structured Query Language, en français langage de requête structurée) est un langage informatique normalisé
servant à effectuer des opérations sur des bases de données relationnelles. La partie langage de manipulation de données de
SQL permet de rechercher, d'ajouter, de modifier ou de supprimer des données dans les bases de données relationnelles.
2
En plus du langage de manipulation de données, la partie langage de définition de données permet de créer, et de modifier
l'organisation des données dans la base de données, la partie langage de contrôle de transaction permet de commencer et de
terminer des transactions, et la partie langage de contrôle de données permet d'autoriser ou d'interdire l'accès à certaines
données à certaines personnes.
Travail demandé
Pour réaliser ce programme, on a besoin des composants absolute DB (Absolute Database)
http://www.componentace.com/download/download.php?editionid=1
Pour utiliser le programme en Delphi, vous devez utiliser trois composants qui se trouvent dans l’onglet Absolute DB et dans
l’onglet Accés aux données
Tdatasource
C’est composant de médiation (il gère la communication).
Tout composant de base de données courant ne doit jamais communiquer avec un ensemble de données directement. Au lieu
de cela, il doit communiquer avec un TDatasource.
TABSdatabase
Ce composant met en place une connexion persistante à une base de données, en particulier à une base de données distante
nécessitant un nom de connexion utilisateur et un mot de passe.
TABSTable
Ce composant permet d'accéder aux données d'une table de base de données en utilisant le moteur de base de
données (Database) Borland (BDE).
Il donne un accès direct à chaque enregistrement et à chaque champ de la table d'une base de données sousjacente, que ce soit une base de données Paradox, dBASE, Access, FoxPro, une base de données ODBC ou une base
de données SQL dans un serveur distant comme InterBase, Oracle, Sybase, MS-SQL Server, Informix ou DB2. Un
composant table peut également travailler sur un sous-ensemble d'enregistrements d'une table en utilisant des
intervalles et des filtres.
3

Réaliser le programme suivant
Création du programme
Voici à ce que ressemblera le programme base de données.
Ajouter deux TButton, un TEdit, un TDBEdit, un TDBImage, un TLabel, un TDBGrid, un TDBNavigator, deux Tgroupbox, deux
TMemo , un TABSDatabase, un TABSTable, et un TDatasource.
"Edit1" permet d’indiquer le nom de la personne.
"DBEdit" permet d’afficher le code.
"DBImage" permet d’afficher la photo de la personne.
"DBGrid" permet d’afficher le tableau de la base de données.
"DBNavigator" permet de naviguer dans la base de données.
Réalisation de la base de données

Créer le fichier database sur la racine dans lequel on enregistrera la base de données « essai »
4

Ouvrir le programme DBManager.exe

Réaliser la base de données ci-dessous (voir vidéo SIN site www.coursstimartinique.fr)
Paramétrages des composants
 TABSTable
5

TABSDatabase

TDatasource

TDBGrid
6

TDBNavigator

TDBEdit

TDBImage
7
Rentrer le chemin pour accéder à la base de données
unit recherchenomdanstablebis;
interface
{$I CompVer.inc}
uses
{$IFDEF D6H}
Variants,
{$ENDIF}
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, DB, ABSMain, ComCtrls, ExtCtrls,
Buttons, Mask, DBCtrls;
const
DataBaseFileName: String = 'c:\database\essai.abs';
Rentrer le chemin pour accéder à la base de données
unit recherchenomdanstablebis;
interface
{$I CompVer.inc}
uses
{$IFDEF D6H}
Variants,
{$ENDIF}
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, DB, ABSMain, ComCtrls, ExtCtrls,
Buttons, Mask, DBCtrls;
const
DataBaseFileName: String = 'c:\database\essai.abs';
Créer la procédure FormCreate
type
TForm1 = class(TForm)
DataSource1: TDataSource;
DBGrid1: TDBGrid;
GroupBox1: TGroupBox;
Label2: TLabel;
Table: TABSTable;
Button2: TButton;
Edit1: TEdit;
GroupBox3: TGroupBox;
mLog: TMemo;
Label1: TLabel;
Button1: TButton;
dbcode: TABSDatabase;
8
code: TDBEdit;
DBNavigator1: TDBNavigator;
DBImage1: TDBImage;
procedure FormCreate(Sender: TObject);
Ouverture de la base de données
procedure TForm1.FormCreate(Sender: TObject);
begin
dbcode.Open;
Table.TableName := 'eleve';
Table.Open;
mLog.Clear;
end;
Affichage du code si nom rentré est correct
procedure TForm1.Button2Click(Sender: TObject);
var
a:string;
begin
Table.IndexFieldNames :='nom';
a:=code.text;
mLog.Lines.Add ('le mot de passe est '+ a);
if not Table.FindKey([Edit1.Text]) then ShowMessage ('nom rentré incorrect ');
end;
Effacement des messages dans memo
procedure TForm1.Button1Click(Sender: TObject);
begin
mLog.Clear;
end;

Test de compréhension :
o On veut contrôler le mot de passe rentré et autoriser l’accès si le mot de passe est correct.
o Cahier des charges
 Une fois que la personne a rentré son nom (Tedit),
 Indiquer si le nom existe ou pas,
 Si le nom existe, afficher la fenêtre de saisie (Tedit) du code (exemple : edit4.visible :=true ;),
 Demander lui de rentrer le code,
 Si le code est correct, autoriser l’accès par un panneau ou un voyant.
9