DOSSIER

Évolution de bases de données
Quiconque s'occupe professionnellement des questions de la programmation était sûrement déjà confronté à la programmation des bases de données. La question de la programmation de bases est très large et il est intéressant de connaître de nombreux aspects liés à ce sujet. En pratique quotidienne, les programmeurs doivent se connecter aux serveurs divers de bases de données, ce qui n'est pas banal.
Sur l’auteur
ARTUR MOŚCICKI
L'auteur est diplômé de la faculté d'informatique. Depuis longtemps, il s'occupe de la question du travail commun des environnements divers et des bases de données ainsi que de la programmation de bases de données. Il a également co-écrit un ouvrage Oracle 10g et Delphi. Programmation de bases de données. Contact avec l'auteur : arturmoscicki@op.pl

Niveau de difficulté

L

es serveurs de bases proposent des fonctionnalités différentes, sont pourvus des formats de données divers, se spécialisent dans les applications concrètes et sont donc destinés aux utilisateurs finals complètement différents. Afin de programmer donc une base de données stockée sur un serveur déterminé, il est nécessaire d'utiliser une technologie d'accès aux bases de données. L'objectif de notre article consiste à analyser l'efficacité des technologies d'accès aux bases suivantes : Oracle, DB2, SQL Server, Informix, InterBase, MySQL et Access du niveau de l'application écrite en Delphi. L'application a été créée pour les besoins de cet article et nous y analyserons l'efficacité des technologies disponibles dans l'environnement : ADO, ODBC, BDE, dbExpress, IBX, IBO, FIB, ODAC, SDAC, MyDAC, EasySoft et Gemini. Afin de mieux comprendre les résultats de l'efficacité présentés dans la suite de cet article, il faut dans un premier temps faire connaissance des caractéristiques de chaque technologie. Nous présenterons ces caractéristiques suivant la chronologie de la naissance de chaque technologie d'accès aux bases de données.

Évolution des technologies d'accès aux bases de données
Après que les systèmes de bases de données, tels que dBase Paradox, Clipper et FoxPro, soient devenus populaires au début des années quatre-vingt-dix, il était nécessaire de créer des mécanismes d'accès aux données stockées dans les bases au niveau des langages différents.
32

Ce facteur était à l'origine de la création des technologies d'accès aux bases de données. C'est ainsi que les systèmes suivants ont été créés : DAO (Data Access Object), OLE.DB (Object Linking and Embedding DataBase) ainsi que ODBC (Objects DataBase Connectivity). La technologie DAO était l'un des premiers mécanismes d'accès aux données. DAO est la première technologie à utiliser les objets d'accès aux données. Elle comprenait un ensemble d'objets permettant de supporter facilement les petites bases de données, du type dBase, MS Access etc. dans le système d'exploitation Microsoft Windows. Ensuite, on a créé notamment ODBC : connectivité ouverte pour bases de données). ODBC est une interface permettant aux programmes de se connecter aux systèmes de gestion des bases de données. C'est une API (Application Programming Inteface) indépendante du langage de programmation, du système d'exploitation et de la base de données. Ce standard a été conçu par SQL Access Group en septembre 1992 en tant qu'une alternative à DAO et il est utilisé jusqu'à présent. Les représentants de plusieurs entreprises fabriquant aussi bien le matériel que les logiciels ont travaillé, pendant plusieurs années, chez SQL Access Group (SAG) pour définir une manière universelle d'accéder aux données, afin de simplifier les logiciels du type client-serveur. L'entreprise Microsoft a bénéficié des résultats de travail de l'équipe SAG et a conçu une interface, dite call-level interface, appelée ensuite Open Database Connectivity (ODBC).

ODBC définit un ensemble de fonctions de bas niveau, permettant aux applications du client et du serveur d'échanger les données et de transmettre les instructions, sans les informations détaillées sur l'implémentation du client et du serveur. Ce point concerne n'importe quelle instruction effectuée dans les applications client-serveur, indépendamment du fait si le client et le serveur fonctionnent sur le même ordinateur ou sur les ordinateurs différents, voire sur les plate-formes logicielles et matérielles différentes. L'architecture de l'interface ODBC comprend quatre éléments (Figure 1, deux éléments, pilote et gestionnaire de pilotes, sont apparus dans les technologies d'accès pour la première fois) : • application – effectue les opérations de traitement et, pour ce faire, elle utilise les requêtes SQL afin d'obtenir et de stocker les données indispensables au processus • gestionnaire de pilotes (Driver Manager) – sous forme de la bibliothèque DLL (Dynamic Link Library) dont l'objectif consiste à offrir à l'application un pilote de base de données approprié • pilote – en général, sous forme de la bibliothèque DLL, l'élément qui exécute les fonctions de l'interface ODBC appelées par le gestionnaire de pilotes. Il transmet également les requêtes SQL à la source de données et les résultats obtenus à l'application. En cas de besoin, le pilote est capable de modifier la requête SQL
1/2006 www.linuxdevjournal.com

Gemini. Comment ce mécanisme. pour cette raison. C'est ainsi que ADO et JDBC (Java DataBase Connectivity) ont vu le jour. Borland renonce à développer cette technologie mais il est toutefois possible de l'utiliser toujours pour connecter une application aux bases de données. On a donc créé un nouveau mécanisme d'accès. La Figure 3 présente les relations entre l'application et BDE. celles basées sur les mécanismes ODBC ainsi que les technologies hybrides. Avec l'évolution. La notion du moteur de bases de données (engine) est apparue pour la première fois en BDE. Ce point est lié au fait que BDE ne supporte pas directement le système de gestion des bases de données maiselle le fait via un intermédiaire : programme SQL Links.NET Framework). Contrairement aux technologies décrites.Évolution et efficacité des technologies d'accès effectuée. SDAC (SQL Server Data Access Components). IBO (InterBase Objects). BDE fonctionne plus rapidement et est simple d'emploi ce qui constitue des qualités par rapport à ODBC . Elles permettront d'accéder aux bases de données différentes. Le plus grand essor des technologies d'accès a commencé avec l'apparition sur le marché des environnements Borland Delphi et Borland C++ Builder. BDP. BDE a été créé grâce à la collaboration de plusieurs entreprises. en revanche. Parmi elles se trouvent des technologies d'accès direct aux bases de données. utilisées par OLE. La Figure 2 présente l'évolution des technologies d'accès aux bases de données en prenant en compte les caractéristiques de chaque technologie. Remarquez qu'avec le développement des technologies d'accès aux bases de données. Leur implémentation et portabilité sur d'autres ordinateurs sont ainsi plus faciles. EasySoft.DB pour se connecter aux bases mais leur implémentation est plus facile. MyDAC (MySQL Data Access Components). on commence à créer des technologies dédiées à un seul serveur de bases de données. on emploie les classes. Microsoft. on a remarqué que ODBC n'était pas une technologie assez efficace. ADO ( ActiveX Data Objects) peut être un exemple d'une telle technologie. ces technologies se divisent et se spécialisent. Autrefois. on a créé plus tard les technologies de haut niveau. dans Borland Delphi. d'autres technologies d'accès aux bases de données ont été créées. Les entreprises Microsoft et Sun ont également créé des technologies d'accès pour leurs outils de développement. Après le succès de OLE. adapter le dialecte SQL à un système de gestion des bases de données concret) • source de données – il s'agit le plus souvent d'un système de gestion des bases de données. Actuellement. c'était la technologie élémentaire d'accès aux bases de données . fonctionne-t-il ? Tableau 1. par exemple. BDE est un ensemble de bibliothèques DDL et d'outils d'intermédiaires pour se connecter à une base de données. Avec l'apparition sur le marché de l'environnement Borland Delphi. les objets et les méthodes. OLE. HP et Oracle. En OLE. des technologies se sont formées qui doivent être lancées sur une machine virtuelle ou un environnement d'exécution (. mis à part les mécanismes spécifiques d'accès aux bases. Au bout d'un moment. comme ADO et dbExpress. BDE (Borland DataBase Enigme). Le composant avec l'extension dll et la technologie OLE.DB est très difficile . De nouvelles www. Les applications peuvent utiliser OLE DB pour accéder directement aux données ou bien elles peuvent appeler ODBC via OLE DB afin d'obtenir l'accès aux bases.NET (Borland Data Provider for . qui. l'entreprise Microsoft a inventé le modèle d'objets COM (Component Object Model) qu'il est possible d'utiliser dans chaque environnement de développement Win32. De nombreuses technologies spécialisées ont été créées pour ces environnements : IBX (InterBase Express).DB sont des résultats de la création des objets COM. sa portabilité constitue son défaut. actuellement.NET). Composants des technologies différentes qui servent à réaliser une application travaillant avec les bases de données Composant qui sert à se connecter DataBase (composant de la technologie BDE) DataBase ADOConnection Connection Composant qui sert à effectuer les requêtes SQL Query (composant de la technologie BDE) Query ADOQuery SQLQuery IBXQuery (nécessite de placer le composant IBTransaction) IB_Query (nécessite de placer le composant IB_ Transaction) IB_Query (nécessite de placer le composant pFIBTransactio) OraQuery MSQuery MyQuery Query (composant de la technologie BDE) Query (composant de la technologie BDE) Composant qui transmet les données à visualiser DataSource (composant de la technologie BDE) DataSource DataSource Composant qui sert à visualiser les données Technologie ODBC BDE ADO dbExpress DBGrid DBGrid DBGrid ListView IBX IBXDataBase DataSource DBGrid IBO IB_Connection IB_DataSource DBGrid FIB pFIBConnection DataSource DBGrid ODAC SDAC MyDAC Gemini OraSession MSConnection MyConnector DataBase (composant de la technologie BDE) DataBase (composant de la technologie BDE) OraDataSource DataSource DataSource DataSource DBGrid DBGrid DBGrid DBGrid EasySoft DataSource DBGrid 1/2006 33 . Au moment de la réalisation de ODBC.DB est développé sans cesse et c'est aujourd'hui une des technologies clés. notamment Borland. existent et se développeront probablement. permettant de se connecter aux bases de données. L'implémentation de OLE. Il n'est pas ainsi nécessaire de manipuler les fonctions de la base de données concrètes . La technologie ADO a été adaptée par d'autres entreprises et nous pouvons ainsi utiliser aujourd'hui ADO. afin de l'adapter à la spécificité de la source de données finale (par exemple. de même qu'en DAO. OLE DB est un mécanisme de Microsoft qui sert à obtenir l'accès par rapport à n'importe quelle source de données et non seulement aux bases de données SQL.com technologies universelles. BDE (Borland Data Engine). sont également capables d'utiliser les sources ODBC.DB et ODBC. IBM. FIB (Free InterBase). les options disponibles chez BDE sont suffisantes.linuxdevjournal. basées sur les objets. ODAC (Oracle Data Access Components). elle est dépassée par d'autres technologies.DB.

Grâce à BDE. Malgré l'actualisation de BDE. Actuellement.Data. BDE n'est pas hélas une solution parfaite. . La façon de mappage des champs numériques en types de données est un bon exemple. pour supporter toutes les options communes. pour ce faire. Data Provider réalise les connexions et envoie les commandes et DataSet représente les données dans la mémoire. la connexion à Oracle ou à InterBase se déroule de la même manière. Comme nous l'avons mentionné. Grâce à cette solution. DataRow et DataColumn.Add('L'exécution de la requête SELECT a duré :’ +FloatToStr(temps)+' secondes').NET ont été placées dans l'espace de noms System. la technologie BDE se prête très bien à la réalisation de petits projets locaux où la sécurité et la cohérence de données ne sont pas très importantes. Ensuite. cette opération pose des problèmes de compatibilité lors du travail du code Delphi avec des serveurs SQL différents. begin . Ces bases de données sont gérées à l'aide du langage SQL et travaillent avec les logiciels dans l'architecture client-serveur. permettant de représenter le contenu de tableaux (par exemple DBGrid). l'accès aux données se déroule à l'aide des interfaces. Il a été conçu à l'époque de simples systèmes de bases de données. En BDE. TimeEnd : Int64. System.. Il est rare. La source de données peut se trouver dans la base de données physique ou dans un fichier XML. l'ajout du support des mécanismes. Mis à part l'accès aux bases de données. DataTable. Dans le composant ADOQuery. technologie d'accès aux bases de données a été créée.Data. par 34 exemple. il faut déterminer le dénominateur commun le moins élevé pour toutes les bases.DB. if QueryPerformanceFrequency(Freq) then begin QueryPerformanceCounter(TimeStart). Ensuite. // opération dont la durée est mesurée RichEdit.NET dont les composants principaux sont un ensemble de données (DataSet) et un fournisseur de données (Data Provider). basés sur les fichiers plats. QueryPerformanceCounter(TimeEnd). il n'est plus nécessaire de connaître les détails de l'implémentation de ces bases.NET. modifiez la propriété Connected du composant ADOConnection en True. Contrairement aux mécanismes de stockage de données qui se trouvent dans les classes. modifiez la propriété DataSource en composant DataSource. ADO constitue une sorte de couche intermédiaire . end. 2 composants Button et un champ d'édition RichEdit dans le formulaire. czas : double. configurez la propriété DataSet en composant ADOQuery et dans le composant DBGrid. À la base de la création de ADO se trouve la volonté d'accéder à une base de données sans connaître sa structure interne. ADOQuery. traduisent les commandes BDE en commandes spécifiques pour le système donné de gestion de bases de données. 1/2006 www. La mémoire tampon d'enregistrements. l'application peut se connecter à n'importe quelle base de données sans connaître les détails de son implémentation. Chaque système de gestion de bases de données est doté de sa propre interface API qui communique avec la base de données. La Figure 4 présente une architecture simplifiée ADO.NET. Pour cette raison.OracleClient. semblable malgré l'utilisation des technologies différentes. La différence entre BDE et ADO est toutefois importante. Avec l'arrivée de la plate-forme .linuxdevjournal. je vous expliquerai comment réaliser une application à l'aide de ADO. Les pilotes spéciaux.Data.Data. que deux systèmes aient la même interface.DB. il s'agit par exemple d'un composant de la classe TTable) et les composants visuels.DB repose sur les objets COM. ADO de même que OLE. Méthode chargée de mesurer la durée d'exécution de plusieurs opérations var Freq. . Les concepteurs de BDO avaient la même volonté. ce qui constitue une idée très novatrice. configurez la connexion à la base de données . sous forme des programmes SQL Links. Toutes les interfaces caractéristiques pour la plate-forme . de nombreuses caractéristiques de ce moteur sont toujours liées à ses racines de Paradox.OleDb. La définition d'un ensemble de données a été formulée comme une structure de colonnes (qui regroupent les données du même type) et de lignes qui constituent une couche intermédiaire entre les composants de la gestion de données (en Delphi.ODBC.. Comment réaliser une application qui mesure l'efficacité des technologies d'accès aux bases de données ? Il est assez facile de réaliser une application en Delphi chargée de mesurer l'efficacité des technologies d'accès et de plus. est également apparue pour la première fois en BDE.. System. bien évidemment.. aux fichiers Lotus. System. DBGrid. aux fichiers textes. DataSource.Data. La dernière étape consiste à placer les procédures présentées dans les Listings 2 et 3 dans le code du programme et à les appeler dans les événements onClick. double-cliquez sur le composant ADOConnection et suivez les instructions affichées dans la nouvelle fenêtre de connexion. Les classes liées au stockage de données sont les suivantes : DataSet (ensemble de données). ADO suppose le même support de toutes les bases de données (et tous les systèmes de bases de données sont dotés des fonctionnalités différentes) . cette technologie a été créée afin de faciliter l'utilisation des services OLE.SQLServerCE. voire impossible. Les succès de ODBC et BDE ont poussé Microsoft à concevoir un nouveau mécanisme d'accès aux données. comme un modèle relationnel orienté objets. Actuellement. les bases de données relationnelles sont la solution le plus souvent utilisée. Microsoft a proposé des modifications en ADO qui est disponible à présent comme ADO. C'est ainsi que ADO. ADO permet d'obtenir l'accès aux fichiers Excel. Il est souvent impossible d'installer BDE sur les serveurs Internet loués parce que les entreprises gérant le service (ISP) craignent le lancement des services système sur leurs serveurs. avec les paramètres appropriés. Il est possible de diviser le nouveau ADO en mécanismes d'accès aux données et en système de stockage de données. ADO est en revanche une couche intermédiaire et une technologie à proprement parler.SQLClient. Placez les composants ADOConnection. comme Paradox et dBase.DOSSIER Listing 1. TimeStart. System. czas:=(TimeEnd-TimeStart)/Freq.com .Data. sous forme d'ensemble de données (DataSet). end. dans le composant DataSource. HTML et d'autres sources de données.Lines.NET est doté de cinq mécanismes d'accès aux données qui se trouvent dans les espaces suivants : System. plus facile d'implémenter que OLE. configurez la propriété Connection en composant ADOConnection . BDE constitue de simples composants qui utilisent les bibliothèques supplémentaires.

Lotus etc. Avec l'arrivée de ADO.NET Framework est un environnement d'exécution.NET Framework constitue donc une sorte de machine virtuelle Java. l'ensemble d'enregistrements a été remplacé par un ensemble de données. Les composants du groupe DataCLX organisent le travail commun de l'application avec ces pilotes.DB. Exemples de requêtes réalisées dans la table Livres dont l'efficacité a été mesurée Requête SELECT Contenu de la requête ‘SELECT * FROM Livres’ 'INSERT INTO Livres VALUES ('''+Editisbn. de InterBase) en . La différence entre une machine virtuelle et un environnement d'exécution est toutefois essentielle : la machine virtuelle sert à lancer les applications Java sur plusieurs platesformes alors que . nombre_de_livres='+Editnombredexempl aires. Grâce au succès de la technologie ADO. Le fournisseur de données (Data Provider) est équivalent du pilote. '''+Editnombr edepages.Text+' WHERE isbn='''+isbn+'''' UPDATE 1/2006 35 . '''+Editlieudu stockage. permettant d'accéder aux données spécifiques pour le serveur. envoient les requêtes SQL adéquates et reçoivent le résultat de l'opération. . Le fonctionnement de ces composants ressemble à celui des composants BDE.Field. Les données qui se trouvent dans cet ensemble sont contenues dans les tables (DataTable). mémoire RAM : 384 Mo (DIMM). nombre_ de_pages='+Editnombredepages.NET est un mappage dans la mémoire des tables. BDP. la constituent plus rarement. par exemple. possibles d'utiliser dans les langages adaptés à .NET Framework. L'approche fait toutefois en sorte que toutes les opérations liées au traitement de données se déroulent plus rapidement. Borland Delphi 2005.Text+'''. ADO. '''+Editnombredexemplaires. soustitre='''+Editsoustitre.NET.NET travaille avec les données en mode d'accès déconnecté aux données.Évolution et efficacité des technologies d'accès C'est une base de données locale ou placée sur le serveur qui constitue la source de données .NET. nécessaire à lancer sous Microsoft Windows les programmes créés en .Text+'''.com la plate-forme système MS Windows. tytul='''+Edi ttitre. l'entreprise Borland a conçu une meilleure technologie d'accès aux bases de données que BDE.Text+'''. . Excel. appelés Borland Data Provider (BDP). Cette universalité permet d'avoir seulement un ensemble assez modeste des fonctionnalités. les données entre la source de données et l'application étaient transportées sous forme d'un ensemble d'enregistrements (RecordSet). BDP. en masquant les détails de l'implémentation. Les résultats des requêtes SQL sont stockés dans les curseurs à sens unique.NET). Afin d'actualiser réellement les données.AsString+'''.Text+'''. Cela signifie que toutes les opérations sur les données ne sont pas mappées de manière physique dans une table.NET appartient au code géré sous .NET Framework contient des types de données communes.NET et facilite l'utilisation des bases de données (par exemple. BDP. indépendamment du fait si elles proviennent d'une seule ou de plusieurs tables. id_de_cathegor ies='+DBLookupComboBoxiddecathegories.NET (BDP.NET. lieu='''+Editlieudusto ckage. En ce qui concerne les relations entre les tables qui se trouvent dans l'ensemble de données. En ADO. à cette différence près qu'ils sont dépourvus de certaines charges inutiles. Cette technologie est rapide et souple.AsStrin g+'. C'est ainsi que la technologie dbExpress a été née . Tous les champs de l'enregistrement indiqué par l'utilisateur sont marqués. en ce qui concerne Delphi. il existe une autre caractéristique qui diffère ces deux technologies : la plate-forme . chargé de se connecter à la base de données ou de lire le fichier approprié. Ce type des curseurs permet de passer de n'importe quel enregistrement dans un autre mais il ne permet pas de revenir à l'enregistrement précédent.NET .NET. Oracle ainsi que des technologies OLE. des mécanismes d'accès. d'après les valeurs saisies par l'utilisateur dans les champs textes et les listes déroulantes du formulaire.Text+'''.dll se trouve dans . L'ensemble de données (DataSet) en ADO.Text+'''. elles sont alors retournées sous forme de deux tables qui se trouvent dans un ensemble de données. Si l'application demande à ADO. ADO. qui étend les fonctionnalités de ADO.NET de retourner les données de deux tables.Text+'''. '''+Editsoustitre. ils s'appellent Borland Data Provider for . En ADO. Grâce à ce caractère à sens unique des ensembles Tableau 2.Text+'''.NET. dans les langages C#.Field.Text+'''.Text+'''. Cette caractéristique ne permet pas d'utiliser le composant DBGrid pour visualiser les données. seuls les utilisateurs ont cette impression.NET est une bonne solution nécessaire au cas où il faut se connecter à InterBase ou DB2 à l'aide de ADO. elles sont représentées par l'instance de la classe DataRelation. ADO. des données et des relations. '''+Memoreview.Text+''')' Description Toutes les données de la table Livres sont chargées Un nouvel enregistrement est ajouté dans lequel les données sont chargées des composants du formulaire (depuis les champs d'édition et les listes déroulantes). Paramètres matériels et système de l'ordinateur où nous avons testé l'application Paramètres matériels : • • • processeur : AMD Duron 800 MHz.NET Framework sert à lancer les applications écrites en langages divers sur www. disque : Samsung 80 Go. 4 Mo cache Paramètres système : • système d'exploitation : Windows XP Professional + SP2 L'architecture de dbExpress repose sur les pilotes prévus aux différents systèmes de gestion des bases de données. qui lui garantit une grande efficace.Data.Text+'. L'enregistrement indiqué par l'utilisateur dans la grille DBGrid est supprimé.NET fournit les composants appropriés qui effectuent les opérations sur le serveur.NET mais il est conçu par Borland. '''+Edittitre. review='''+Memoreview. En revanche. permettant les connexions simples avec les sources de données supplémentaires.NET est un ensemble de composants conformes à CLX (Component Library X-Platform for Cross Platform).NET (par exemple. les fichiers XML. en ce qui concerne la manipulation de données. avec les bases InterBase ou DB2. elle est disponible aussi bien dans Delphi que Kylix. En ce qui concerne ADO.NET. Mis à part les différences analysées entre ADO et ADO. Elle emploie les pilotes efficaces et garantit ainsi l'un des plus rapides accès aux informations stockées dans les bases de données. '''+DBLookupComboBoxiddecatheghor ie. est le fait que ses ensembles de données sont à sens unique.NET. INSERT DELETE 'DELETE FROM Livres WHERE isbn='''+isbn+'''' 'UPDATE Livres SET isbn='''+Editisbn. de nouveaux fournisseurs de données ont été créés pour . plus efficace que BDE et ODBC.NET Nous avons mentionné les mécanismes BDP qui facilitaient la connexion aux sources de données. L'une des caractéristiques les plus importantes de l'architecture dbExpress (qui n'existe pas dans d'autres technologies). il faut programmer des opérations supplémentaires.linuxdevjournal. cette démarche n'est pas nécessaire : la bibliothèque System. Chacun de ces pilotes implémente un ensemble d'interfaces. Il est donc nécessaire d'ajouter certains assemblages au système où sera lancée l'application.NET). Les composants de ce groupe spécialement créés sont universels et disponibles également pour la plate-forme Linux.NET Framework. Elle est nécessaire à lancer l'application ADO. Borland fournit également les mécanismes supplémentaires. . VB.NET garantit le support des bases de données MS SQL Server.Text+'''.

liées. Les composants IBX disponibles sur deux palettes Delphi ont été créés en Delphi spécialement pour les serveurs InterBase et Firebird. Architecture ODBC Débuts des technologies Technologies d'objet Technologies dédicacés DAO ODBC OLE. Une autre restriction consiste à ne pas utiliser les méthodes Last() et Prior() de la classe TdataSet . ce qui n'est utile qu'avec la navigation à deux sens et la modification de données. 1/2006 www. TSQLClientDataSet).DOSSIER Application Gestionnaire de contrôleurs Contrôleur Contrôleur Contrôleur Source de données Source de données Source de données Figure 1.NET Technologies exigeant JVM Figure 2. il est possible de lancer les applications qui l'utilisent sous Linux. Le serveur ne reçoit que les requêtes générées par l'application de l'utilisateur.NET Technologies assistés de . Elle est ainsi capable d'utiliser également les fonctions InterBase (Firebird). Il est également impossible de modifier les données (faute des mémoires tampon d'édition). les enregistrements ne sont pas mis dans la mémoire tampon. Les applications créées à l'aide de cette technologie fonctionneront mieux.DB Technologies universelles IBX IBO FIB FIB+ Technologies d'acces direct Gemini EasySoft Technologies basées sur ODBC ODAC SDAC MyDAC Technologie hybrides BDE JDBC dbExpress Zeos ADO ADO. vous utilisez un moteur indépendant du serveur. Grâce à la suppression de la couche intermédiaire. les définitions des méta-données sont traitées par les interfaces implémentées dans les bibliothèques DLL. IBX n'est pas donc une technologie qui devrait remplacer ou bien concurrencer avec d'autres technologies. Il vous est donc possible de commuter le serveur employé par votre application quoique ce ne soit pas simple. Lorsque vous utilisez BDE. devient alors possible. il n'est possible que d'utiliser First() et Next(). vous omettez la couche intermédiaire sous forme. après la compilation par le compilateur de Kylix. InterBase Express (IBX) est un exemple parfait de ces composants. Relations entre les applications et le mécanisme BDE de données.linuxdevjournal. Cette démarche permet non seulement d'obtenir une meilleure efficacité de l'application de l'utilisateur mais aussi elle rend plus simple le processus de sa réalisation. Il sera alors impossible de transmettre vos programmes sur d'autres serveurs de bases de données mais vous omettrez la couche intermédiaire . tels que Oracle. Lorsque vous utilisez InterBase Express (IBX). MySQL et InterBase. le temps système. a été réduit au minimum et la durée de communication avec le serveur devient incroyablement courte. Elle a été conçue pour travailler avec une base de données concrète : InterBase. il est possible d'éditer les enregistrements à l'aide d'autres composants (TClientDataSet. prévu aux requêtes. rencontrées rarement dans d'autres serveurs. Cette technologie emploie les composants CLX . IBX propose une approche différente des autres technologies : c'est une technologie spécialisée dédiée uniquement à InterBase et Firebird. nous ne créons pas nous-mêmes une API de ce type mais nous cherchons des composants pour l'API correspondant à Delphi et à l'architecture de sa bibliothèque de classes. En général. Évolution des technologies d'accès aux bases de données APPLICATION BDE BASE DE DONNÉES Figure 3. par exemple. par exemple. dbExpress ne génère pas non plus les requêtes supplémentaires. ADO ou dbExpress. Ce point a de nombreuses qualités. dbExpress ne consomme pas les ressources du serveur pour les requêtes liées aux méta-données ou à d'autres commandes supplémentaires lors de la réalisation des requêtes de l'utilisateur. InterBase ou Firebird. à la navigation sur l'ensemble de données ou à la lecture des champs. En dbExpress. stockant les données du type BLOB. ce point nécessiterait alors une mise en cache à plusieurs enregistrements. parmi les méthodes de navigation. existant entre l'application et le serveur InterBase. comme BDE. L'accès aux systèmes de bases de données de plates-formes croisées. en tant que mécanisme se référant à plusieurs enregistrements. Une autre qualité importante de la technologie dbExpress est son utilité aussi bien pour Delphi que pour Kylix. parce que IBX vous permet de vous connecter uniquement à ces serveurs de bases de données. Les ensembles de données à sens unique ne réalisent pas le filtrage . Contrairement à d'autres technologies. de BDE et vous communiquez directement avec les logiciels clients InterBase ou bien Firebird. vous devriez veiller à ce que le moteur de la base de données supporte l'API concrète du serveur de bases de données à utiliser. dbExpress ne nécessite pas non plus les ressources clientes aussi grandes que BDE parce que les ensembles de données à sens unique n'ont pas besoin de mettre en cache les données. Cependant. Les ensembles de données à sens unique ne supportent pas les champs d'aperçu. Il existe donc de nombreuses restrictions liées à cette 36 technologie mais l'efficacité d'accès aux données est meilleure par rapport à ODBC.NET BDP.com . plus rapidement et permettront d'utiliser plus efficacement les caractéristiques du serveur spécifique. d'accélérer le fonctionnement. cette démarche permettra d'améliorer les fonctionnalités et surtout. Si vous voulez toutefois que l'application emploie toujours un seul serveur de bases de données.

.

Mis à part ces quelques points. Il n'est pas nécessaire non plus de veiller à ne pas modifier les configurations (comme c'est le cas de BDE).NET Web Services Puisque les composants et les classes IBX sont écrits entièrement en Delphi. Procédure qui sert à réaliser et à mesurer la durée des requêtes du type SELECT procedure demandeSelect(demande:string.NET Data Data Provider DataSet • • Windows Forms Figure 4. TIBRestoreService – cette classe permet de restituer la base de données d'après les copies de sauvegarde. TIBInstall. TOraSQL – cette classe sert à exécuter les instructions PL/SQL. end. vous pouvez trouver plusieurs classes absentes dans les technologies analysées. Les technologies ODAC. Puisque l'application ne se compose que d'un fichier exécutable. TIBInputRawFile – cette classe permet de lire les fichiers au format dans lequel les fichiers externes de la base de données InterBase sont enregistrés. SDAC et MyDAC permettant d'accéder à Oracle. TIBUninstall – ces classes permettent d'installer et de désinstaller le serveur InterBase. Architecture ADO. de nombreuses entreprises ont commencé à réfléchir à créer leurs propres technologies (d'accès directe) qui permettraient à accéder au serveur InterBase. elles sont dotées de leurs propres mécanismes d'accès aux bases de données mais elles sont également capables d'utiliser les sources ODBC définies dans le système d'exploitation. ils se compilent donc dans les fichiers exe de l'application. TOraAlert – cette classe permet de transférer les informations entre les sessions.linuxdevjournal. ADOQuery. //ajout d'une nouvelle requête //exécuter une requête SELECT RichEdit. Au début du 20ème siècle. FIB et IBO se ressemblent beaucoup. TIBExtract • • • • identique dans ces trois technologies. les technologies FIB et IBO ne sont pas révolutionnaires. l'entreprise Core Lab Software Development a décidé de créer des technologies d'accès aux bases de données.SQL. Pour cette raison. try begin ADOQuery.SQL. czas:=(TimeEnd-TimeStart)/Freq. Les technologies FIB et IBO ne contiennent pas les classes qui n'ont pas d'équivalents dans la technologie IBX. dédiées à d'autres serveurs que InterBase.NET Framework ADO.DOSSIER De plus.. il n'est pas nécessaire de créer des programmes d'installation subtiles. Voici les classes les plus importantes qui n'ont pas d'équivalents dans les technologies décrites : • – cette classe est nécessaire lorsqu'il faut générer un code SQL qui servira à créer des objets dans la base de données. TOraSmart • • • • • • .Clear. except end. Parmi les nouvelles classes apparues dans la technologie ODAC se trouvent notamment : • (SmartQuery) – cette classe est une alternative de la classe TOraQuery. Cette branche de l'évolution de la technologie d'accès aux bases de données est de moins en moins importante.Lines. ADOQuery. ADOQuery:TADOQuery. Ces technologies sont révolutionnaires car hybrides.NET ASP. les propriétés et les classes à utiliser pour se connecter à la base de données . deux technologies FIB et IBO sont nées . Un autre groupe de technologies dédiées à un serveur concret de bases de données comprend les technologies provenant de ODBC. elles ne permettent d'accéder qu'à la base de données InterBase. Gemini et EasySoft sont des exemples parfaits de ces technologies. elle sert également à résoudre les problèmes avec les transactions. TOraScript – cette classe sert par exemple à exécuter les séquences. IBX propose de nombreuses classes inconnues jusqu'à présent dans d'autres technologies.Close. QueryPerformanceCounter(TimeEnd). SDAC et MyDAC. tout se trouve sous contrôle de IBX.Open. +FloatToStr(czas)+' secondes'). Dans les ODAC. TIBBackupService – cette classe permet de créer des copies de sauvegarde de la base de données. TIBValidationService – cette classe permet de vérifier si la base de données est correcte . TIBConfigService – cette classe permet de configurer les paramètres de la base de données. RichEdit:TRichEdit). TIBSQLVar – cette classe sert à permettre l'accès aux champs après la requête effectuée par l'utilisateur. les procédures stockées etc.Add(zapytanie). Autrement dit. Il n'est pas nécessaire de distribuer plusieurs fichiers DLL avec l'application comme c'est le cas de BDE. Après le succès de IBX.com . Une telle technologie devrait constituer une alternative à IBX. ce n'est qu'un autre type de technologie qui sert à travailler avec InterBase. TimeStart. TimeEnd : Int64. var Freq.Add('L'exécution de la requête SELECT a duré :' end. SQL Server et MySQL sont ainsi nées. Après le succès de la base de données InterBase et de la technologie IBX. Les technologies IBX. 1/2006 www. czas : double. //fermeture du composant ADOQuery. l'efficacité n'est pas non plus 38 Listing 2. TOraPackage – cette classe sert à exécuter les paquets PL/SQL. les différences entre elles ne sont pas énormes. Les objets de cette classe permettent d'accéder au code qui crée les objets système dans la base de données. Elles ne se diffèrent que par les noms de composants. TOraNestedTable – cette classe sert à gérer les tables embarquées. begin //nettoyage du contenu de SQL if QueryPerformanceFrequency(Freq) then QueryPerformanceCounter(TimeStart).

les Livres 1 isbn titre sous . La solution présentée. UPDATE. //exécuter une requête requêtes SQL sont envoyées au SGBD approprié pour leur réalisation.Add(' L'exécution de la requête '+mode_de_demande+ end. permettant d'accéder aux bases de données de plus haut niveau. JDBC est utilisé directement comme une technologie unifiée d'accès à n'importe quelle base de données et aussi comme une base des applications/interfaces de rang plus élevé.Close. Auteurs_livres.). Une partie d'entre eux est distribuée commercialement. etc. bien qu'elle ressemble à d'autres technologies utilisées avec C++ ou Delphi. TBDESession – cette classe permet d'intégrer les composants ODAC aux applications en BDE. les producteurs de pilotes doivent préparer un seul paquet pour chaque version du standard JDBC (à l'exception des passerelles JDBC-ODBC et Native-API partlyJava). QueryPerformanceCounter(TimeEnd). TimeEnd : Int64. try begin ADOQuery. JDBC détermine un certain niveau de conformité avec les standards SQL existants.Évolution et efficacité des technologies d'accès • • • • • – cette classe permet de charger rapidement les données dans la base de données. mode_de_ var demande:string. une idée est venue de réaliser une nouvelle interface de bases de données. Ces informations sont envoyées à l'utilisateur sous forme des métadonnées. créée entièrement en Java. Dans la plupart des cas. JDBC propose des informations sur le SGBD et ses caractéristiques (paramètres. Tous les pilotes ne sont pas cependant entièrement gratuits. Actuellement. TimeStart. Ainsi. TOraErrorHandler – cette classe sert à traduire les messages d'erreurs.SQL. ces classes sont écrites entièrement en Java. RichEdit. le mot de passe et le nom du serveur de bases de données. utilisant ODBC jusqu'à présent. Procédure qui sert à réaliser et à mesurer la durée des requêtes du type INSERT.Add(zapytanie). L'implémentation dépend directement du système de gestion de base de données à laquelle se connecte l'application utilisant le pilote. correspondant aux versions nouvelles du standard JDBC. 8 8 8 Efficacité des technologies d'accès Pour les besoins des analyses de l'efficacité des technologies. La conséquence naturelle de cette démarche consisterait à renoncer aux mécanismes API existants. nous avons créé une base de données dont la structure est présentée sur la Figure 5. Les possibilités de l'interface ont été améliorées et l'interface à proprement parler a été adaptée à la spécificité du langage Java. Le principe dit toutefois que chaque pilote JDBC doit correspondre au moins à la version ANSI SQL-92 du standard SQL.titre nombre_de_pages id_de_cathégorie recension place nombre_de_livres 1 Auteurs_de_livre id_d'auter_de_livre id_d'auteur isbn Cathégories 1 id_de_cathégorie nom Figure 5. Catégories. D'après ces principes. les nouveaux systèmes de bases de données et les nouveaux langages de programmation permettent de créer de nouvelles technologies d'accès aux bases de données. ADOQuery. l'application génère une exception définie. Freq. DELETE procedure demande_Insert_Delete_Update(demande:string. //fermeture du composant //nettoyage du contenu de SQL ADOQuery. Cette interface répondrait aux mêmes exigences que le langage à proprement parler. //ajout d'une nouvelle requête if QueryPerformanceFrequency(Freq) then begin QueryPerformanceCounter(TimeStart). Les nouvelles éxigences. De plus. TVirtualTable – cette classe sert à stocker l'ensemble de données dans la mémoire. Les petites entreprises continueront bien évidemment à créer des technologies d'accès aux données moins connues et dédiées en général à un seul serveur de bases de données. Les pilotes JDBC préparés par chaque producteur sont dans la plupart des cas disponibles gratuitement et constituent en quelque sorte un complément du paquet JDBC. Chaque pilote JDBC sert donc à communiquer avec une base de données concrète et n'est pas utilisé avec les bases d'autres fabricants. les concepteurs de l'interface ont créé d'autres principes. La base de données se compose de quatre tables : Livres.sql et reimplémentent les classes qui y restent.Clear. il faut s'attendre qu'une nouvelle technologie révolutionnaire soit prochainement créée. contrairement par exemple aux interfaces susmentionnées pour C++. czas:=(TimeEnd-TimeStart)/Freq.linuxdevjournal. la duré : '+FloatToStr(temps)+' secondes'). ADOQuery:TADOQuery. doivent complètement changer leur façon de travailler pour réaliser des applications de bases de données. Schéma des relations entre les tables de la base de données Listing 3. RichEdit:TRichEdit).SQL. utilisezvous un binaire aussi bien sous Linux que sous Windows. devient plus importante avec Java. Le pilote JDBC (JDBC driver) est un ensemble de classes compilées (sous forme d'un code à octets de Java) qui implémentent toutes les interfaces contenues dans le paquet java. TConnectDialog – cette classe sert à stocker le nom d'utilisateur. Au contraire. TOraLoader Avec la création d'un nouveau langage de programmation Java. fonctionnalités. Si le SGBD est incapable de gérer une commande transmise par JDBC. Auteurs.com 1/2006 . indépendant de la plateforme et de l'architecture matérielle.ExecSQL. www. Il est possible de les télécharger soit depuis les sites des fournisseurs SGBD soit depuis le répertoire de Sun. De plus. 39 except end. ADOQuery. Puisque Java est un langage portatif dans la plupart des cas. Pour cette raison. end. Cela ne signifie pas toutefois que les programmeurs.Lines. en particulier Auteurs id_auteur prénom nom ODBC et à concevoir une nouvelle technologie. JDBC ressemble à la technologie ODBC du point de vue des fonctionnalités. czas : double.

0285 (26) 0.0050 (15) 0. Remarquez toutefois que les analyses sont effectuées sous MS Windows qui n'est pas un système de temps réel. EasySoft et Gemini.0051 (5) 0.0017 (4) 0. le numéro de la catégorie à laquelle le livre appartient. elle stocke les informations sur le numéro ISBN. on lit la valeur de fréquences du processeur avant (ligne 8) et après (ligne 10) l'exécution d'une opération.0208 (22) 0. ensuite.0012 (1) 0.0035 (10) 0.0048 (12) 0. chargé de présenter la durée d'exécution de la requête. 40 Cette méthode est la plus exacte des méthodes disponibles en Delphi et chargées de mesurer la durée parce qu'elle repose sur les fréquences du processeur.0118 (21) 0.0015 (3) 0. le composant de l'ensemble de données qui doit réaliser la requête et le composant RichEdit. on a conçu une méthode chargée de mesurer la durée d'exécution des requêtes SQL dans l'environnement Borland Delphi.0029 (8) 0. BDE. SELECT * FROM Livres.0008 (1) 0. il est possible de mesurer l'efficacité d'exécution des requêtes du type SELECT. Les requêtes SQL du type SELECT sont réalisées par la procédure présentée dans le Listing 2.0040 (10) 0.0024 (6) 0.0092 (18) 0. IBO.0079 (21) 0.0241 (25) 0.0059 (10) 0. FIB.DOSSIER La table Livres est une table principale dans la base de données .0148 (20) 0.0342 (25) 0.0130 (25) 0.com .0103 (20) 0. la vitesse de surfréquençage. Si vous voulez réaliser une application qui mesure la durée d'exécution des requêtes. c'est la réponse à la question quelle technologie a réalisé la requête donnée le plus rapidement qui nous intéresse.0114 (20) 0. le nombre des millisecondes d'exécution d'une requête n'est-il pas important dans la méthode présentée .0051 (16) 0.0102 (24) 0.0076 (15) 0. La première colonne de la table contient la requête utilisée dans la suite de l'article.0045 (11) 0.0081 (15) 0.0072 (16) 0. les cinq autres résultats ont servi à mesurer la durée moyenne nécessaire à réaliser une requête d'un type donné. nous écrirons seulement SELECT qui indique cette requête.0249 (25) 0. dans la technologie BDE.0039 (11) 0.0058 (8) 0.0019 (5) 0. au lieu d'écrire l'ensemble de la requête.0064 (14) 0. Le Tableau 1 présente les composants qui servent à se connecter à la base de données. MyDAC.0098 (19) 0. Cette table sert à effectuer les analyses de l'efficacité des technologies.linuxdevjournal.0196 (26) 0.0020 (7) 0. Le nombre des processus lancés dans le système influence également la durée d'exécution des requêtes.0054 (7) 0.0023 (6) 0.0136 (19) INSERT 0. DELETE etc.0079 (21) 0.0273 (24) 0. Les attributs de cette table sont du type texte et numérique.0015 (2) 0. Grâce au code présenté dans le Listing 1. lors des tests du programme chargé de mesurer l'efficacité des technologies d'accès.0374 (26) 0.0163 (21) 0. UPDATE.0047 (14) 0. Certaines technologies analysées dans cet article ne sont pas disponibles en Delphi par défaut mais il est possible de télécharger leurs programmes d'installation (au moins. La méthode présentée permet toutefois de constater l'efficacité des technologies parce que les durées d'exécution des requêtes sur les plates-formes logicielles et matérielles différentes sont proportionnelles. dans les versions temporaires) depuis les sites Web des producteurs.0076 (14) 0.0115 (22) UPDATE 0.0060 (13) 0. le titre. nous avons désactivé tous les processus inutiles.0016 (1) 0.0075 (20) 0. SDAC.0082 (16) 0.0023 (9) 0.0035 (11) Access Informix 1/2006 www. Efficacité dans le cadre des technologies d'accès et du système de gestion de bases de données Système de bases de données Technologie ADO dbExpress Oracle ODAC BDE ODBC EasySoft IBX ADO dbExpress InterBase BDE FIB IBO Gemini ADO SQL Server 2000 SDAC dbExpress ODBC ADO DB2 dbExpress ODBC MySQL MyDAC ODBC ADO ODBC ADO ODBC Durée moyenne d'exécution d'une requête en secondes (place occupée dans la classification) SELECT 0.0051 (5) 0.0105 (21) 0.0016 (3) 0.0019 (3) 0.0132 (22) 0. Nous avons rejeté deux valeurs extrêmes .0039 (9) 0. la quantité de la mémoire vive.0035 (11) 0.0011 (1) 0.0008 (1) 0. dbExpress. La durée d'exécution d'une requête peut donc être différente et dépend de nombreux facteurs : l'occupation du processeur. on définit la fréquence du processeur (ligne 6). La procédure présentée emploie bien évidemment la technologie ADO pour réaliser les requêtes. Dans un premier temps. le nombre des pages dans le livre. Afin d'analyser l'efficacité des technologies.0072 (12) 0.0096 (18) 0. la charge du système et d'autres (l'encadré présente une plateforme logicielle et matérielle où les tests ont été effectués).0069 (15) 0.0029 (8) 0. utilisez le composant Query au lieu du composant Tableau 3. Dans la suite de l'article. présentée dans le Listing 1 permet de constater quelles technologies d'accès testées sont efficaces.0074 (19) 0.0051 (12) 0. UPDATE et SELECT) dans chaque base de données. ODAC. par exemple.0144 (24) 0.0138 (23) DELETE 0. Ainsi. La méthode présentée a servi à mesurer la durée d'exécution de sept requêtes SQL (du type INSERT.0024 (10) 0. chargée de mesurer la durée d'exécution des requêtes.0020 (7) 0.0018 (4) 0.0167 (24) 0.0249 (23) 0.0125 (18) 0.0019 (3) 0.0072 (12) 0.0072 (14) 0. IBX. La méthode de mesure de la durée.0093 (19) 0.0018 (4) 0. l'emplacement du livre et le nombre des exemplaires stockés dans l'endroit donné.0060 (17) 0. Le Tableau 2 présente les exemples de requêtes réalisées dans les bases de données dont l'ef- ficacité a été mesurée.0013 (2) 0. Afin d'écrire la procédure exécutant une requête du type SELECT par exemple. DELETE.0022 (5) 0. à effectuer une requête SQL et à visualiser les données tandis que l'encadré présente la manière de combiner les composants (quelles propriétés faut-il configurer afin de se connecter à la base et d'effectuer une requête SQL ?). Les différences de durée d'exécution des requêtes identiques étaient ainsi petites et s'élevaient au maximum à 0.0063 (11) 0.0087 (17) 0.0072 (18) 0.0317 (26) 0. Vous avez ainsi vu la méthode.0024 (6) 0.01 seconde. La dernière étape consiste à afficher la durée d'exécution de la requête dans le composant RichEdit.0052 (13) 0. La procédure reçoit les contenus suivants en paramètres : le contenu de la requête SQL.0028 (7) 0.0141 (23) 0.0019 (6) 0.0020 (2) 0. ODBC. Il est donc temps de présenter le code des procédures qui servent à réaliser les requêtes. L'étape suivante (ligne 11) consiste à mesurer la durée d'exécution de l'opération d'après un modèle : la différence des fréquences est divisée en fréquence du processeur.0044 (4) 0.0083 (17) 0.0086 (23) 0.0096 (17) 0. INSERT.0033 (9) 0.0022 (3) 0.0041 (13) 0.0094 (16) 0. le sous–titre. Cette méthode sert à mesurer l'efficacité des technologies suivantes : ADO. Pour cette raison.0058 (8) 0. utilisez les composants qui se trouvent dans plusieurs onglets de Delphi.

UPDATE. toutes les couches d'accès aux données. typ_zapytania (type de la requête) est un paramètre supplémentaire qui est apparu avec cette procédure. T É www. optez pour les technologies dbExpress et IBX. une technologie supportant plusieurs systèmes de bases de données ou dédiée à un seul serveur ? Une réponse simple n'existe pas.’Update’. Faut-il utiliser une technologie multi plates-formes ou à une seule plate-forme. Si le programmeur qui réalise des applications de bases de données tient à l'efficacité. FIB. MyDAC. il faut écrire une autre procédure. il doit prendre en considération aussi bien l'efficacité des technologies que l'efficacité des bases de données. notamment du niveau de Delphi. Il prend trois valeurs (‘Delete’. Les technologies FIB et IBX sont également écrites en Delphi (ainsi. FIB. Le fait que InterBase et MySQL sont les serveurs de bases de données les plus efficaces se confirme aussi. ODAC. dédiées à un serveur de bases de donnée défini. sont-elles omises). N'oubliez pas que InterBase est un serveur écrit en Delphi. Analyse de résultats Grâce aux résultats de le Tableau 3.linuxdevjournal. Le Tableau 3 présente l'efficacité de chaque technologie qui travaille avec les bases de données. D'où la conclusion : vous obtiendrez la meilleure efficacité en utilisant les produits et les technologies d'une seule entreprise (Borland). La technologie dbExpress est recommandée par Borland. comme le présente le Listing 3.com 1/2006 41 .Évolution et efficacité des technologies d'accès ADOQuery. Du point de vue de l'efficacité. Je pense qu'il sera difficile dans l'avenir de corriger davantage l'efficacité de ces deux technologies. La procédure présentée ne permet pas toutefois de réaliser les requêtes SQL du type INSERT. Si vous tenez toutefois à l'efficacité et à la rapidité du fonctionnement et l'application est destinée au système d'exploitation MS Windows. La technologie ADO échoue au niveau de l'efficacité. Les durées d'exécution des requêtes SQL sont pires que celles réalisées à l'aide de la technologie ODBC. utilisent les couches intermédiaires ou bien sont destinées aux systèmes de bases de données moins efficaces. Les technologies IBX et FIB sont donc avantageuses dans la rapidité d'exécution des instructions SQL. les nouveaux mécanismes créés par Microsoft permettent d'exécuter facilement les instructions SQL du niveau de plusieurs langages de programmation. Conclusion En réalisant des logiciels de bases de données. Afin d'exécuter ces requêtes. par exemple ODBC. dbExpress a été conçu par l'entreprise Borland (producteur de Delphi). dbExpress ou le serP veur MySQL et la technologie MyDAC. ce sont les meilleures technologies qui travaillent avec le meilleur serveur : InterBase. La Table confirme également l'opinion d'après laquelle les technologies dédiées à un seul serveur (IBX. Le Tableau 3 démontre que la meilleure solution pour les personnes qui tiennent à l'efficacité des applications consiste à opter pour le serveur InterBase et la technologie IBX. DELETE. nous pouvons répondre à la question suivante : quelle système de bases de données et quelle technologie d'accès aux données choisir pour que l'application soit le plus efficace possible ? Nous avons mis en gras les cinq technologies les plus efficaces qui servent à réaliser des types de requêtes SQL divers dans le Tableau 3. SDAC.’Insert’) et sert à identifier le type de la requête dont la durée a été mesurée. FIB et MyDAC ne supportent qu'un seul serveur de bases de données) sont les plus efficaces. La technologie dbExpress susmentionnée permet d'accéder à plusieurs serveurs différents et c'est donc la meilleure solution du point de U B L I C I vue de l'efficacité. Les autres technologies testées ont été créées dans d'autres langages de programmation. Les durées obtenues par cette technologie lors d'exécution des requêtes SQL sont vraiment bonnes et les durées d'exécution des requêtes du type SELECT sont les meilleures parmi toutes les technologies testées. Chez ADO. Elles sont réellement efficaces. les programmeurs se demandent souvent quelle technologie d'accès aux données choisir.

Sign up to vote on this title
UsefulNot useful