1 Les bases de données Aujourd hui indispensables dans tous les systèes de gestion de l inforation, les bases de données sont une évolution logique de l augentation de la deande de stockage de données. Historique Dès les débuts de l inforatique, l un des soucis ajeurs de l utilisateur fut de pouvoir stocker assiveent des données et de pouvoir en disposer régulièreent afin d en extraire de nouvelles inforations, de les consulter et de les odifier. De 1950 à 1960, seul existait le fichier pour satisfaire à cette deande. Les applications devaient donc être coplétées par une prograation qui se faisait souvent en langage achine (assebleur). RCA (Radio Corporation of Aerica) proposa une achine spécialisée pour répondre à ce besoin, le BIZMAC, coercialisé en 1958. Au début des années 60, l arrivée de COBOL (COon Business Oriented Language) perit de créer des structures de données hiérarchisées. C est à ce oent que le concept de base de données prit son essor et qu apparurent les preiers systèes de gestion de bases de données. Coe ils fonctionnaient en relation étroite avec COBOL, le odèle de représentation des données était calqué sur les structures de données de COBOL. Les bases de données hiérarchiques étaient nées.
6 SQL L un des preiers systèes de gestion de bases de données hiérarchiques coercialisés fut IMS (Inforation Manageent Syste) d IBM, puis DL1 et Systèe 2000. Grâce aux langages plus odernes, perettant de anipuler les données de anière plus dynaique, avec, notaent, des pointeurs d adresse, les inforaticiens irent au point les bases de données dites "en réseau". Ce tere indique plus préciséent un odèle de données organisées en ailles, c est-à-dire de structures de données représentées par des nœuds rejoints par des arcs orientés. Le tere "réseau", assez ipropre aujourd hui, aurait dû être replacé par graphe, ais on ne refait pas l histoire... Ce odèle est issu des travaux du CODASYL (Conference On DAta SYste and Language) qui débutèrent en 1968. Les systèes coercialisés furent IDMS (Integrated Data Manageent Syste) d IBM, IDS (Integrated Data Store) d Honeywell, DBMS 10 de DEC ou encore SOCRATE de CII-Bull. NOTE C est une base de données IDS qui a été utilisée pour la conquête spatiale aéricaine dans le cadre du prograe Apollo. La quatrièe évolution est née des rearquables travaux athéatiques d un chercheur de la société IBM : Edgar F. CODD. Celui-ci partit du principe que l on pouvait établir entre les données des relations logiques de type "équivalence", "négation", "infériorité" et êe des opérations coe la "jointure". Ce odèle théorique, dit "odèle relationnel", fit l objet d une counication en juin 1970 dans le journal ACM et dans le cadre du projet Syste/R. Les preières réalisations de systèes de gestion de bases de données relationnels quant à elles ne furent entreprises qu en 1974, à titre expériental (XRM d IBM), et dotées d un langage d interrogation des données épousant les concepts de la théorie relationnelle (SEQUEL, Structured English QUEry Language Dr Donald Chaberlin). L avantage de cette conception est la siplicité : les données stockées sont organisées en tables (tableaux dont les colonnes sont hétérogènes et les lignes en accès direct grâce à un index ou "clef"). Cette organisation logique des données peret de s affranchir d une grande partie des problèes physiques liés au stockage.
Chapitre 1 Les bases de données 7 Toute l attention se reportait alors sur l étude du langage d interrogation de la base de données. SEQUEL devint, dans une seconde version aéliorée, SEQUEL 2 et fut annoncé par IBM sous le no coercial de Syte R. Le no SEQUEL donné à l origine au langage d interrogation fut en partie conservé, ais transforé en SQL (Structured Query Langage) en 1976 parce que l acronye SEQUEL constituait déjà une arque. Syste R, preier systèe de gestion de bases de données relationnel, introduit à titre expériental chez certains clients d IBM, perit d affiner le langage d interrogation des données et aboutit au produit SQL/DS. Hélas, IBM arrivait un peu tard, car déjà, une petite société du no de "Relationnel Software Inc" avait doublé "big blue" en coercialisant un SGBDR doté du langage d interrogation SQL. En l occurrence il s agissait du produit ORACLE. Finaleent le SGBDR d IBM sortit en 1981 et une version différente, ais néanoins prétenduent copatible, vit le jour en 1983 avec, coe no de code, DB2. En parallèle, des universitaires de Californie, Michael STONEBRAKER et Eugene WONG, coencèrent à réaliser à titre expériental un nouveau prototype au sein de la prestigieuse Berkeley University. Leur projet, adoptant des concepts un peu différents, fut baptisé Ingres et le langage d accès QUEL. Avec quelques autres professeurs, ils forèrent alors une société Relational Technology Inc. et annoncèrent, en 1981, la preière version coerciale de leur SGBDR. Une kyrielle de produits SQL firent ensuite leur apparition : DG/SQL (1984), SYBASE (1986), INFORMIX, RDB, UNIFY, etc. Lors de l avèneent du icro-ordinateur, différents éditeurs se penchèrent de nouveau sur le problèe des bases de données. IBM prit le parti de ne pas s en êler, jugeant qu une base de données iplantée sur un icro-ordinateur ne présentait pas d intérêt (systèes individuels, faibles capacités de stockage...). Mais des éditeurs plus novateurs se regroupèrent afin de ettre au point un asseblage de forats de fichiers capable de répondre facileent à une structuration des données sous fore de "tables". A cette occasion, ils créèrent le odèle XBase basé sur des fichiers ISAM (Indexed Sequential Access Method, fichier séquentiel à accès indexé). Selon ce odèle, chaque table est un fichier et des fichiers annexes viennent enrichir la structure de la table et des contraintes.
8 SQL Dès lors, des produits spécifiques coencèrent à voir le jour. Le preier fut dbase d Ashton Tate qui connut un succès iédiat. Mais dbase essuya les plâtres et fut sévèreent concurrencé par des SGBD plus odernes coe RBase de Microri, Paradox d Ansa, racheté très tôt par Borland, puis Corel, ou encore FoxBase (dénoé ensuite FoxPro), etc. L arrivée de l interface graphique Windows de Microsoft conduisit les éditeurs à un double ouveent : adapter à cette nouvelle interface les produits en ode caractère existant (ce fut le cas de Paradox de Borland puis de dbase et, finaleent, de Fox- Pro) ou créer des SGBD dédiés Windows (en particulier ACCESS de Microsoft ou APPROCH de Lotus). Le dernier né de ce type de SGBD est MySQL, produit "libre" à faible intégrité, destiné à des volues de données oyen et particulièreent adapté à la création de sites Web dynaiques à base de docuents accessibles en lecture. D autres langages d interrogation ont vu le jour. Pour n en citer qu un, notons QBE, systèe is au point concurreent à SQL, ais qui n a connu de succès que grâce à l introduction de Paradox. QBE (Query By Exaple, interrogation par l exeple) a été inventé par Moshe Zloof (IBM 1977) et is en place dès la preière version de Paradox (1.0 pour DOS), en 1985, par ANSA Software, l éditeur de Paradox. Pour interroger une table avec ce systèe, il suffit de proposer une iage de la réponse (un "squelette" de table) et, par un écanise d analogie, QBE va rechercher les occurrences dans les tables qui correspondent aux différents critères établis. Cependant, vous entendez parler de QBE bien souvent à tort... En effet, la plupart des éditeurs de SGBD et certains produits d extraction de données proposent une interface graphique perettant de construire visuelleent des requêtes SQL et s intitulent popeuseent QBE, alors que le langage inventé par Zloof n y est nulleent présent!
Chapitre 1 Les bases de données 9 Vocabulaire de base Voici une liste de teres nécessaire à la copréhension des propos tenus dans cet ouvrage : Base de données. Une base de données peret de structurer des données en relation les unes avec les autres (clients, factures, stock, etc.) pour les traiter en lots ou séparéent, ou encore pour les archiver. SGBDR (Systèe de gestion de bases de données relationnel). Enseble de odules et d espace de stockage inforatique, logiciel, capable de traiter les données d une base de données. En général un SGBDR se copose d un oteur relationnel et d un espace de stockage. Le oteur relationnel doit être capable d insérer, de odifier, de supprier et d extraire des données, ais aussi d organiser la structure de stockage des données en différentes coposantes coe des tables, des index, des contraintes, etc. En anglais, cet acronye est RDBMS (Relational Data Base Manageent Syste). SQL (Structured Query Langage, langage de requête structuré). L objet essentiel de cet ouvrage! Table. Enseble de données relatives à un êe concept. Table des clients, table des coandes (voir Figure 1.1). Figure 1.1 La table client.db (Paradox).
10 SQL Colonne. Eléent vertical dans une table, représentant un enseble de valeurs d un attribut. Colonne No de la table des clients, colonne Mode de paieent de la table des coandes (voir Figure 1.2). Figure 1.2 La colonne CLI_PRENOM de la table client.db (Paradox). NOTE Nous ne parlerons jaais de "chap" dans cet ouvrage. Le tere de chap désigne l aspect visuel de l inforation contenue dans une colonne, lorsque la valeur de la colonne de la table est vue à travers une interface graphique. Ligne. Eléent horizontal dans une table, représentant une énuération des valeurs des différents attributs (colonnes) pour une êe référence (identifiant) (voir Figure 1.3). Figure 1.3 Une ligne de la table Client.db (Paradox).