
e49962f1058f0e1b9a9dc04bf0d6fa7f.ppt
- Количество слайдов: 55
UV Base de données A 4 / Oracle u Pourquoi Oracle ? u u u Découverte d’un SGBD/R Apprentissage du SQL Parts de marché importante du SGBD par aux autres acteurs Base de données A 4 - Frédéric Vast Page 1
UV Base de données A 4 / SQL u Pourquoi le SQL ? u Démocratisation du SQL. u u Enrichissement permanent du SQL. u u u Contrairement à d’autres langages informatiques comme le Cou le Cobol qui sont du domaine exclusif des programmeurs, SQL est employé par une grande variété de profils professionnels : des programmeurs, des administrateurs de bases de données, des analystes d’Infocentre. 1974 - 23 pages de description. 1992 - SQL-92 600 pages. 1999 quelques nouveautés. . . Adaptation à différents éditeurs Oracle, Microsoft, Sybase, … Pas besoin d’être un expert pour être productif !!! Base de données A 4 - Frédéric Vast Page 2
Qu’est-ce qu’une base de données ? Définition u Une base de données est un ensemble d’informations (Annuaire téléphonique, Carnet d’adresse, …). u C’est une Intégration de toutes les données gérées par une organisation dans une même structure. u La base de données peut être partagée par un ensemble d’applications et d’utilisateurs. u Le système assurant la gestion de ces données est appelé Système de Gestion de Base de Données (SGBD). u Les SGBD constituent aujourd’hui le cœur des systèmes d’information des entreprises. Son choix reste donc une décision stratégique ayant des conséquences à moyen et long terme sur le fonctionnement de l’entreprise. Base de données A 4 - Frédéric Vast Page 3
Qu’est-ce qu’une base de données ? Les objectifs u u u La définition des données. La manipulation des données. La sécurité et l’intégrité des données. La gestion des transactions et des accès concurrents. Une base de données doit être administrée et sauvegardée. Une base de données peut être centralisée, distribuée et répliquée. Base de données A 4 - Frédéric Vast Page 4
Qu’est-ce qu’une base de données ? Les objectifs u u La globalisation par la gestion du National Language Support La gestion de flux des données entre bases de données (Oracle Streams). La gestion de files d’attentes avancées dans la bases de données. L’exploitabilité par la manipulation des données ‘type XML’ (Oracle XDB) et la prise en charge de Java (incorporation d ’une JVM). Base de données A 4 - Frédéric Vast Page 5
Qu’est-ce qu’une base de données ? Les objectifs u u u La robustesse du noyau (reprise après incidents). La disponibilité permanente de la base de données (7 jours sur 7 et 24 heures sur 24). Haute disponibilité avec u u u Oracle Data Guard Standby Database La clusterisation Base de données A 4 - Frédéric Vast Page 6
Qu’est-ce qu’une base de données ? Les objectifs u u La montée en charge avec Oracle Real Application Clusters RAC La gestion des VLDB (Very Large Data. Base) u u Oracle Partitioning. Le parallélisme des requêtes. La programmation d’un plan de ressources afin d’allouer spécifiquement le temps CPU / Utilisateurs. La traçabilité des opérations par le visualiseur Oracle Log. Miner. Base de données A 4 - Frédéric Vast Page 7
Qu’est-ce qu’une base de données ? Les objectifs u La gestion d ’une base de données Data Warehouse (Dimensions d’un Star Schéma, Vues matérialiées, …). u u Oracle OLAP. Oracle Data Mining. Gestion des statistiques de l’optimiseur. Fonctions analytiques avancées. Base de données A 4 - Frédéric Vast Page 8
Qu’est-ce qu’une base de données ? OLTP/OLAP u Deux implémentations différentes d ’un SGBD/R u u u OLTP : On Line Transactional Processing OLAP : On Line Analytical Processing OLTP : Informatique Transactionnelle de production u u u Interactif : Saisie de commandes téléphiques, Internet, Saisie des règlements, . . . Batch : Chaîne de facturation, livraison, règlement, … OLAP : Informatique Décisionnelle u u u Analyse marketing (comportement d’achats par exemple en fonctions d ’indicateurs type d ’article, région ou secteur, CSP, …) Audit, Prospection, … Enquêtes statistiques (épidémiologiques par exemple). Base de données A 4 - Frédéric Vast Page 9
Qu’est-ce qu’une base de données ? OLTP/OLAP u OLTP : Informatique Transactionnelle de production u u u Un grand nombre d ’utilisateurs. Beaucoup de requêtes de type insert, Update, Delete et Select simple. Beaucoup d’utilisateurs connectés : Chaîne de facturation, livraison, règlement, … Des temps de réponses inférieurs à la seconde. Schéma physique de données traditionnel. OLAP : Informatique Décisionnelle u u u Un grand nombre d ’utilisateurs. Beaucoup de requêtes de type Select complexes (2 pages A 4) avec beaucoup de jointures et des volumes de données important à traiter (Historique de données). Beaucoup d’utilisateurs connectés : Chaîne de facturation, livraison, règlement, … Des temps de réponses inférieurs à la seconde. VLDB (Very Large Data Base) Schéma physique de données de type en étoile ou en flocon (Star schema ou snowflake schema). Base de données A 4 - Frédéric Vast Page 10
Qu’est-ce qu’une base de données ? OLTP/OLAP u Un SGBD/R hybride est une implémentation mixte du type OLTP et du type OLAP. u Ce type d’implémentation reste à éviter même si de nouvelles fonctionnalités sont implémentées afin d ’éviter certaines colisions. u Le mode hybride ne pouvant satisfaire les particularités de chacun la base de données ne pourra que mal remplir sa mission. Base de données A 4 - Frédéric Vast Page 11
Qu’est-ce qu’un Data Warehouse u Un Data Warehouse (entrepôt de données) est une Very Large Data. Base dont l’objectif principal est la collection de données de l’entreprise avec conservation de l’historique en vue d’analyses décisionnelles. u Best Buy : 100 000 requêtes et rapports quotidiens, 3 000 utilisateurs et 1 900 magasins Best Buy, le géant de la distribution de produits électroniques grand public, gère un entrepôt de données Oracle de 4, 2 téraoctets de données, sous une instance Oracle unique utilisée par 3 000 personnes. L'application de gestion des performances dans les entreprises de distribution qu'utilise Best Buy gère 100 000 requêtes et rapports quotidiens, assistant ainsi 2 500 utilisateurs répartis dans plus de 1 900 magasins. u Telecom Italia Mobile : 6 téraoctets de données, jusqu'à 250 millions d'enregistrements quotidiens et trois administrateurs de bases de données à plein temps Avec plus de 50 millions de lignes téléphoniques à travers le monde, l'entrepôt de données Oracle de 6 téraoctets de Telecom Italia Mobile reçoit chaque jour jusqu'à 250 millions d'enregistrements détaillés sur les appels. Base de données A 4 - Frédéric Vast Page 12
Qu’est-ce qu’un Data Warehouse u France Télécom : 500 millions d'enregistrements quotidiens, 8 000 utilisateurs et 91 millions de clients Acteur de premier plan parmi les opérateurs internationaux de télécommunications, France Télécom utilise Oracle pour son entrepôt de données nommé Symphonie, qui recueille chaque jour pas moins de 500 millions d'enregistrements détaillés sur les appels. Symphonie comprend une base de données Oracle de 32 téraoctets, laquelle contient environ 180 milliards d'enregistrements détaillés sur les appels. u Amazon. com : 5 téraoctets de données, 2 000 requêtes quotidiennes et 500 utilisateurs Le plus grand site commercial en ligne, avec un chiffre d'affaires pour 2001 qui dépasse les 3 milliards de dollars, fonctionne avec un entrepôt de données Oracle de 5 téraoctets, qu'utilisent 500 personnes soumettant quotidiennement quelque 2 000 requêtes. Base de données A 4 - Frédéric Vast Page 13
Qu’est-ce qu’une base de données ? Les objectifs u La définition des données u Utilisation d’un langage de définition des données (LDD). u Ensemble de commandes permettant la création, modification, suppression des objets (Tables, Index, Vues, …). u L’ensemble description d’objets d’une base de données constitue ce que l’on appelle un dictionnaire des données. u Ce dictionnaire de données est généralement structuré et géré comme une base de données. Il est appelé dans ce cas une métabase. u La description des objets de la base peuvent être manipulées de la même façon que leurs valeurs. D’où la possibilité d’éditer le contenu de ce dictionnaire pour des besoins de développement ou de documentation. Base de données A 4 - Frédéric Vast Page 14
Qu’est-ce qu’une base de données ? Les objectifs u La manipulation des données u Toutes les opérations d’échange de données entre les programmes des utilisateurs et la base de données (Insertion, Modification, Suppression) et les opérations de manipulation de la base de données telles que l’ouverture et la fermeture d ’une base. u Utilisation d’un langage de manipulation des données (LMD). u Un SGBD de type réseau ou hiérarchique n’offre pas les mêmes possibilités de manipulation de données qu’un système relationnel. u Les LMD des SGBD réseaux et hiérarchiques sont composés d ’un certain nombre de primitives permettant d ’accéder à un type de données. De plus, le programmeur doit spécifier la procédure à suivre pour accéder à telle ou telle donnée. « Il ne suffit pas de dire ce qu’on veut avoir, mais aussi comment on y accède » . u Le modèle relationnel dispose d’un ensemble d’opérateurs ensemblistes, dont l’application à des tables constitue l’algèbre relationnelle. Le langage relationnel le plus connu est le SQL. Base de données A 4 - Frédéric Vast Page 15
Qu’est-ce qu’une base de données ? Les objectifs u La sécurité et l’intégrité des données « Le but est de maintenir un état cohérent de la base de données » . u u Utilisation d’un langage de contrôle des données (LCD). Gestion des utilisateurs accédant à la base de données (création, suppression). Gestion des types d’opérations qu’ils sont autorisés à effectuer (privilèges des utilisateurs). Contrôle sur la validité des opérations effectuées : Contraintes d’intégrité temporelles Contraintes d’intégrité référentielles u Protection contre les accès malveillants et les pannes Encryptage Reprise après panne (Tension, Disque Dur, …) u Fonction d’audit avancée Exploitation Log Miner du journal des transactions Base de données A 4 - Frédéric Vast Page 16
Qu’est-ce qu’une base de données ? Les objectifs u La gestion des transactions et des accès concurrents « Garantir la cohérence des données lors des manipulations effectuées par les différents utilisateurs » . u Le concept de transaction u u u C’est une unité logique de transaction qui, appliquée à un état cohérent de la base de données, restitue un nouvel état cohérent, mais modifié de la base. Elle doit être exécutée complètement : on dit qu’elle est validée (COMMIT), ou pas du tout, on dit qu’elle est annulée (ROLLBACK). Le concept d’accès concurrents u u u Verrouillage momentané des données utilisées par une transaction jusqu’à la fin de mise à jour. Attention au risque d’interblocage (verrou mortel ou étreinte mortelle). Le SGBD doit être capable de détecter une telle situation et de la débloquer automatiquement (Annuler l’une des transactions). Base de données A 4 - Frédéric Vast Page 17
Qu’est-ce qu’une base de données ? Les objectifs u Une base de données doit être administrée et sauvegardée !!! u Le double rôle de l’administrateur d’une base de données (DBA) u Le rôle organisationnel consiste concerne la définition du schéma conceptuel des données et le partage de ces données par les utilisateurs. u Le rôle technique, il consiste à mettre en œuvre ce schéma et ce partage à l'aide des capacités techniques du SGBD. Base de données A 4 - Frédéric Vast Page 18
Qu’est-ce qu’une base de données ? Les objectifs u Installation du SGBD et des outils associés La première tâche de l'administrateur est d'installer le SGBD ainsi que les outils qui lui sont associés. u Création de la base de données et assurer son évolution L'administrateur a la tâche de créer la base de données et ses composantes conformément à un schéma conceptuel. Il doit assurer aussi l'évolution de cette base en modifiant, en créant ou en supprimant certaines structures. u Gestion des privilèges d'accès L'administrateur attribue et retire des privilèges d'accès aux données aux différents utilisateurs de la base de données. u Amélioration des performances L'administrateur doit choisir l'implantation optimale des données de façon à obtenir les meilleures performances. Pour cela, il doit tenir compte des utilisations qui seront faites données. u Sécurité et cohérence des données L'administrateur doit mettre en place les structures et les procédures permettant de faire face à tous les incidents et de retrouver l'intégrité et la cohérence des données. u Echange de données entre la base de données et le monde extérieur L'administrateur doit assurer l'intégration des données en provenance d'autres applications ou bases de données et faire migrer les données de la base vers d'autres applications ou bases de données. Base de données A 4 - Frédéric Vast Page 19
Qu’est-ce qu’une base de données ? Les objectifs u Une base de données peut être centralisée, distribuée et répliquée. u Voir la présentation sur la réplication des données. Base de données A 4 - Frédéric Vast Page 20
Qu’est-ce qu’une base de données ? Les acteurs u Les acteurs du marché en 1998 Base de données A 4 - Frédéric Vast Page 21
Qu’est-ce qu’une base de données ? Les acteurs u Les acteurs du marché actuel u u u RACHAT de Informix par IBM Deux acteurs principaux ORACLE et IBM avec pour chacun environ 40 % des parts de marché. Un SQLServer qui ne tourne que sur les plateformes Microsoft. Le développement du monde de l’Open Source. Deux logiciels libres dans la catégorie SGBD offrant les meilleurs capacités en production : u u My. SQL : Très bon pour l ’entrée de gamme Postgre. SQL : dont les fonctionnalités se rapprochent de plus en plus d’un SGBD commercial. Base de données A 4 - Frédéric Vast Page 22
Qu’est-ce qu’une base de données ? Les acteurs u Oracle un acteur majeur u u u Oracle 7 il y a presque 10 ans déjà … Oracle 8 depuis 4 ans Oracle 9 depuis 2 ans Oracle 9 i (i pour Internet) Aujourd’hui Oracle 10 g (g pour Grid Computing) www. oracle. fr / www. oracle. com Base de données A 4 - Frédéric Vast Page 23
Qu’est-ce qu’une base de données ? Les acteurs u u Une adéquation importante aux systèmes d’exploitation : Oracle 9 i / OS Base de données A 4 - Frédéric Vast Page 24
Qu’est-ce qu’une base de données ? Les acteurs u u Une adéquation importante aux systèmes d’exploitation : Oracle 1 Og / OS Base de données A 4 - Frédéric Vast Page 25
Qu’est-ce qu’une base de données ? Le relationnel u Le modèle relationnel u u u Structure des données Manipulation des données Langages relationnels Base de données A 4 - Frédéric Vast Page 26
Qu’est-ce qu’une base de données ? Le relationnel u Structure des données u u Une base de données relationnelle se présente comme un ensemble de relations d’où le nom du modèle. Ces relations sont aussi appelées tables. Toute relation comprend u u Un schéma qui décrit sa structure Une extension qui correspond à l’état de cette relation à un instant donné. Base de données A 4 - Frédéric Vast Page 27
Qu’est-ce qu’une base de données ? Le relationnel u Structure des données u Toute relation comprend un schéma u Le schéma d’une relation décrit sa structure. Le schéma d’une table est composé d’un ensemble d’attributs (ou colonnes). Attributs (Colonnes) Domaine (Ensemble de valeurs atomiques de même type) Base de données A 4 - Frédéric Vast Page 28
Qu’est-ce qu’une base de données ? Le relationnel u Structure des données u Toute relation comprend une extension. u u L’extension d’une relation est constituée par un ensemble de n-uplets (ou lignes). Un n-uplet correspond à un ensemble de valeurs prises par les colonnes d ’une table pour représenter un objet ou un lien entre des objets du monde réel. N-uplets (Lignes) Valeurs nulles Base de données A 4 - Frédéric Vast Page 29
Qu’est-ce qu’une base de données ? Le relationnel u Manipulation des données u Le modèle relationnel dispose d’un ensemble d’opérateurs ensemblistes, dont l ’application à des tables constitue l’algèbre relationnelle. u Les opérateurs unaires (Application à une seule table) u u u La projection La sélection Les opérateurs binaires (Application à une deux tables) u u u L’union L’intersection La différence (Les trois premiers ne peuvent s’appliquer qu’aux tables de même schéma). u u u Le produit cartésien La jointure La division Base de données A 4 - Frédéric Vast Page 30
Qu’est-ce qu’une base de données ? Le relationnel u Langages relationnels u Les opérateurs ensemblistes de l’algèbre relationnelle ne peuvent pas constituer à eux seuls un langage de manipulation de données. Un tel langage doit permettre : u u u de préciser le type d’opération à exécuter (consultation, insertion, modification ou suppression) d’effectuer des calculs arithmétiques (somme, moyenne, maximum, . . . ) d’effectuer des conversions (caractère-numérique, majuscule-minuscule, . . . ) Base de données A 4 - Frédéric Vast Page 31
La conceptualisation d’une base de données u u u Etape primordiale L’analyse des flux et l’analyse des règles de gestion Le dictionnaire de données u Il rassemble, sous un forme normalisée, l’ensemble des données et des types de données du projet. Ceux-ci sont stockés et gérés dans le Dictionnaire de Données avec leurs caractéristiques : u u u u u Code Libellé Définition Liste de valeurs possibles Contraintes de valeur (unicité, vérification, intégrité référentielle, . . . ) Contraintes de confidentialité Type Longueur Format Obligatoire Base de données A 4 - Frédéric Vast Page 32
La conceptualisation d’une base de données u Le MCD (Modèle Conceptuel de Données) u u u u Le type de donnée L’entité L’association La patte et ses cardinalités Les règles de validation d’un modèle Le MLD (Modèle Logique de Données) Le MPD (Modèle Physique de Données) Les règles de normalisation Base de données A 4 - Frédéric Vast Page 33
La conceptualisation d’une base de données u Une étude de cas simple : u Modélisation d’un client sachant que ce client peut se décliner en plusieurs types : L pour Local R pour Régional N pour National I pour International u Le dictionnaire de données de cette étude de cas pourrait être : NUM_CLIENT NOM_CLIENT ADRESSE_1_CLIENT ADRESSE_2_CLIENT CP_CLIENT VILLE_CLIENT DATE_CREATION LIBELLE_TYPE_CLIENT Base de données A 4 - Frédéric Vast Number(7) Varchar 2(30) Varchar 2(40) Varchar 2(5) Varchar 2(30) Date Varchar 2(30) Page 34
Un exemple de MCD Identifiant Entité Relation Base de données A 4 - Frédéric Vast Cardinalité Page 35
Un exemple de MCD 0 : Un client peut ne pas avoir de type de client 1 : Un client peut avoir au maximum un type de client Base de données A 4 - Frédéric Vast Page 36
Un exemple de MCD 0 : Un type client peut ne pas être utilisé par un client n : Un type de client peut être utilisé par plusieurs clients Base de données A 4 - Frédéric Vast Page 37
Un exemple de MPD Clé primaire Table Relation La cardinalité 0 du MCD (Un client peut ne pas avoir de type de client) rend le champ type_client dans la table client de type facultatif (non obligatoire). Base de données A 4 - Frédéric Vast Page 38
Un exemple de MCD (Suite) Objectif : Conserver un historique de la relation Base de données A 4 - Frédéric Vast Page 39
Un exemple de MCD (Suite) Objectif : Conserver un historique de la relation Relation porteuse d’informations Base de données A 4 - Frédéric Vast Page 40
Un exemple de MPD (Suite) La relation porteuse d’informations se transforme en une table dont la clé primaire est composée Base de données A 4 - Frédéric Vast Page 41
La création des tables u Définition d’une table u u La notion de clé primaire (Primary Key) La notion de clé étrangère (Foreign Key) Base de données A 4 - Frédéric Vast Page 42
La création des tables u Définition d’une table u u La notion de table primaire (TABLE CLIENT) La notion de table référençante (TABLE TYPE_CLIENT) Base de données A 4 - Frédéric Vast Page 43
La création des tables u La clé étrangère permet de conserver l’intégrité référentielle entre ces tables dans la mesure ou : u On ne pourra pas renseigner le champ type_client de la table client sans que préalablement cette valeur ne soit pas déclarer comme un enregistrement dans la table type_client. Base de données A 4 - Frédéric Vast Page 44
La création des tables u La clé étrangère permet de conserver l’intégrité référentielle entre ces tables dans la mesure ou : u On ne pourra pas supprimer un enregistrement dans la table type_client tant qu ’il existera un client avec le même type client. Base de données A 4 - Frédéric Vast Page 45
La création des tables u Un mécanisme de suppression en cascade peut être ajouté à la clé étrangère: u Attention cependant : la suppression d’un enregistrement dans la table type_client supprimera en cascade l’ensemble des clients ayant la même valeur. Base de données A 4 - Frédéric Vast Page 46
La création des tables u Définition d’une table u Appartenance à un schéma Base de données A 4 - Frédéric Vast Page 47
La création des tables u Définition d’un d’index u Un index permet d’accélérer l’accès aux enregistrements (recherche, tri, …). u Oracle utilise les index d'une table de la même manière que vous utilisez l'index d'un livre. Pour recher des données, il recherche l'endroit où elles se situent dans l'index. Vous pouvez créer des index basés sur un seul ou plusieurs champs. Les index multichamps vous permettent de faire la distinction entre des enregistrements dont le premier champ peut contenir la même valeur. u Les clés primaires sont automatiquement indéxées. u Les index peuvent être définis avec doublons ou sans doublons. u Vous souhaiterez sans doute indexer des champs interrogés fréquemment, triés ou joints à des champs d'autres tables dans des requêtes. Cependant, les index peuvent ralentir certaines requêtes Action telles que les requêtes Ajout, lorsque les index de plusieurs champs doivent être mis à jour en même temps que ces opérations sont exécutées. Base de données A 4 - Frédéric Vast Page 48
La création des tables u La clé primaire d'une table est automatiquement indexée. Pour les autres champs, indexez un champ lorsque tous les éléments suivants s'appliquent : u u u Les données du champ sont de type Texte, Numérique, Monétaire ou Date/Heure. Vous anticipez la recherche de valeurs stockées dans ce champ. Vous anticipez le tri de valeurs de ce champ. Vous anticipez le tri de nombreuses valeurs différentes de ce champ. Si de nombreuses valeurs de ce champ sont identiques, l'index n'accélérera sans doute pas de manière significative les requêtes. L’Index multichamp u u Si vous pensez que vous recherez ou trierez souvent les champs par deux ou plus à la fois, créez un index pour cette combinaison de champs. Par exemple, si vous définissez souvent des critères pour les champs Nom et Prénom de la même requête, il est recommandé de créer un index multichamp sur ces deux champs. Lorsque vous triez une table à l'aide d'un index multichamp, Oracle trie d'abord sur le premier champ défini pour cet index. Si des enregistrements contiennent des doublons dans le premier champ, Oracle trie ensuite sur le second champ défini pour cet index, etc. Base de données A 4 - Frédéric Vast Page 49
Le langage SQL ? u SQL est un langage non procédural dédié, qui supporte la définition, la manipulation et le contrôle de données au sein de systèmes de gestion des bases de données relationnelles. C'est un langage dédié parce qu'il ne peut être utilisé que pour manipuler des bases de données. u Autrement dit, impossible d'écrire une application d'ordre général dans ce langage. La construction d'applications implique l'insertion de SQL au sein d'un autre langage. C'est pour cela que SQL est souvent décrit comme un data sublanguage (sous-langage de données). Un sous-langage peut-être utilisé avec d'autres langages mais il ne se suffit pas à lui-même pour la réalisation d'applications. u D'autant qu'un vrai langage intègre généralement une sémantique procédurale, ce qui n'est pas le cas du SQL. Base de données A 4 - Frédéric Vast Page 50
Le langage SQL ? u Depuis l'apparition de l'article "A Relational Model of Data for Large Data Banks" en 1970 qui présentait pour la première fois la théorie des bases de données relationnelles, plusieurs laboratoires de recherche et universités ont intensifié leurs travaux pour expérimenter cette théorie. u Ainsi, IBM et l'université de Berkeley ont commencé à développer leurs prototypes respectifs System R et INGRES. Un effort particulier était investi pour concevoir et implanter un langage relationnel puissant incluant toutes les possibilités de l'algèbre relationnelle. u Plusieurs langages ont ainsi fait leur apparition entre les années 70 et 76 dont les principaux sont QUEL et SEQUEL implantés respectivement sur INGRES et System R. Le dernier a connu un succès rapide et a été corrigé et enrichi en plusieurs versions pour se stabiliser finalement en 1980 sous le nom de SQL. Il a été utilisé par les SGBD d'IBM SQL/DS et DB 2 commercialisés respectivement en 1981 et 1983. Mais la première version commercialisée de SQL a été réalisée par Oracle Corporation en 1979. Durant cette époque, RTI et RDS commercialisaient respectivement INGRES avec le langage QUEL et INFORMIX avec le langage INFORMER. Base de données A 4 - Frédéric Vast Page 51
Le langage SQL ? u u u L'institut National Américain de Normalisation (ANSI) a chargé en 1982 un comité (X 3 H 2) de proposer un langage relationnel. Après quatre années de travaux, une première norme a été adoptée par l'ANSI en 1986 et englobait principalement la version IBM de SQL. Cette norme est souvent appelée SQL 86. Elle a été adoptée par d'autres organismes de normalisation tels que ISO et X/Open en 1987. La norme SQL 86 définit deux niveaux de langage : Le niveau 1 constitue une intersection des implémentations existantes. Le niveau 2 constitue la totalité de la norme. u En janvier 1989, l'ANSI a publié une extension de la norme connue sous le nom SQL 89. Elle ajoute à la version SQL 86 la notion de contrainte d'intégrité. Cette nouvelle version est également normalisée par l'ISO. u La simplicité du langage SQL, sa richesse en fonctionnalités et sa normalisation sont les principales raisons de son succès qui n'est plus à démontrer. Actuellement, il existe une centaine de produits supportant des versions plus ou moins proches de la norme. Base de données A 4 - Frédéric Vast Page 52
Le langage SQL ? u Tout système informatique au monde a besoin d'une base de données pour stocker / retrouver (persistance et interrogation) les informations. Sans base de données, un ordinateur devient inutile. La première raison pour laquelle on utilise un ordinateur est de stocker, retrouver et traiter l'information et de faire cela très rapidement, et donc, de faire économiser du temps. u En même temps le système doit être simple, robuste, rapide, fiable, économique et d'utilisation aisée. Les systèmes de gestion de base de données les plus courants sont basés sur les spécifications ISO (International Standard Organisation) SQL lesquelles sont également basées sur les standards américains ANSI SQL. u Les spécifications courantes généralement utilisées sont l'ANSI SQL 89, l'ANSI SQL 92 et l’ANSI SQL 99. Les systèmes de gestion de bases de données les plus répandus tels que Oracle, Sybase et Informix s'appuient sur ces standards ou essaient de les implanter. u Les bases de données relationnelles actuelles utilise le langage SQL qui est une collection de commandes spécialisées dans la manipulation des données stockées. Il est non procédural et permet de travailler sur des ensembles d'enregistrements. Base de données A 4 - Frédéric Vast Page 53
Le langage SQL ? u Le langage SQL n'est pas sensible à la casse (en anglais case sensitive), cela signifie que l'on peut aussi bien écrire les instructions en minuscules qu'en majuscule. Toutefois, cette insensibilité à la casse n'est que partielle dans la mesure où la différenciation entre minuscules et majuscules existe au niveau des identificateurs d'objets. u SQL est un standard u Même si SQL est considéré comme le standard de toutes les bases de données relationnelles et commercialisées, il n'en reste pas moins vrai que chaque éditeur tend à développer son propre dialecte, c'est à dire à rajouter des éléments hors de la norme. Soit fonctionnellement identiques mais de syntaxe différentes soit fonctionnellement nouveau. Il est alors très difficile de porter une base de données SQL d'un serveur à l'autre. u C'est un moindre mal si l'on a respecté au maximum la norme, mais il est de notoriété absolue que lorsque l'élément normatif est présent dans le SGBDR avec un élément spécifique ce sera toujours l'élément spécifique qui sera proposé et documenté au détriment de la norme ! Base de données A 4 - Frédéric Vast Page 54
Le langage SQL ? u La différence entre le SQL statique et le SQL dynamique u SQL est statique lorsqu'il est compilé et optimisé avant son exécution. C'est le cas lorsque SQL est encapsulé dans du code écrit en langage C ou COBOL. A l'inverse, le SQL dynamique est compilé (voire optimisé) au moment même de son exécution. Dans les faits, la plupart des outils utilisateurs emploient un SQL dynamique parce qu'il offre plus de souplesse et permet la création de requêtes ad hoc. u La seule façon d'accomplir une tâche en SQL est d'exécuter une instruction SQL. Il en existe différents types, mais on peut les classer en trois catégories u u Les instructions de définition des données (LDD) les instructions de manipulation des données (LMD) Les instructions de contrôle des données (LCD) D'un certain point de vue, SQL est formé de trois langages assemblés en un seul. Base de données A 4 - Frédéric Vast Page 55
e49962f1058f0e1b9a9dc04bf0d6fa7f.ppt