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