UV Base de donn - PowerPoint PPT Presentation

About This Presentation
Title:

UV Base de donn

Description:

Acteur de premier plan parmi les op rateurs internationaux de t l communications, ... Oracle un acteur majeur. Oracle 7 il y a presque 10 ans d j ... – PowerPoint PPT presentation

Number of Views:185
Avg rating:3.0/5.0
Slides: 56
Provided by: prei300
Category:
Tags: acteur | acteurs | base | donn

less

Transcript and Presenter's Notes

Title: UV Base de donn


1
UV Base de données A4 / Oracle
  • Pourquoi Oracle ?
  • Découverte dun SGBD/R
  • Apprentissage du SQL
  • Parts de marché importante du SGBD par aux autres
    acteurs

2
UV Base de données A4 / SQL
  • Pourquoi le SQL ?
  • Démocratisation du SQL.
  • Contrairement à dautres 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 dInfocentre.
  • Enrichissement permanent du SQL.
  • 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
    !!!

3
Quest-ce quune base de données ? Définition
  • Une base de données est un ensemble
    dinformations (Annuaire téléphonique, Carnet
    dadresse, ).
  • Cest une Intégration de toutes les données
    gérées par une organisation dans une même
    structure.
  • La base de données peut être partagée par un
    ensemble dapplications et dutilisateurs.
  • Le système assurant la gestion de ces données est
    appelé Système de Gestion de Base de Données
    (SGBD).
  • Les SGBD constituent aujourdhui le cœur des
    systèmes dinformation des entreprises. Son choix
    reste donc une décision stratégique ayant des
    conséquences à moyen et long terme sur le
    fonctionnement de lentreprise.

4
Quest-ce quune base de données ? Les objectifs
  • La définition des données.
  • La manipulation des données.
  • La sécurité et linté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.

5
Quest-ce quune base de données ? Les objectifs
  • 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 dattentes avancées dans la
    bases de données.
  • Lexploitabilité par la manipulation des données
    type XML (Oracle XDB) et la prise en charge de
    Java (incorporation d une JVM).

6
Quest-ce quune base de données ? Les objectifs
  • 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
  • Oracle Data Guard
  • Standby Database
  • La clusterisation

7
Quest-ce quune base de données ? Les objectifs
  • La montée en charge avec Oracle Real Application
    Clusters RAC
  • La gestion des VLDB (Very Large DataBase)
  • Oracle Partitioning.
  • Le parallélisme des requêtes.
  • La programmation dun plan de ressources afin
    dallouer spécifiquement le temps CPU /
    Utilisateurs.
  • La traçabilité des opérations par le visualiseur
    Oracle LogMiner.

8
Quest-ce quune base de données ? Les objectifs
  • La gestion d une base de données Data Warehouse
    (Dimensions dun Star Schéma, Vues matérialiées,
    ).
  • Oracle OLAP.
  • Oracle Data Mining.
  • Gestion des statistiques de loptimiseur.
  • Fonctions analytiques avancées.

9
Quest-ce quune base de données ? OLTP/OLAP
  • Deux implémentations différentes d un SGBD/R
  • OLTP On Line Transactional Processing
  • OLAP On Line Analytical Processing
  • OLTP Informatique Transactionnelle de
    production
  • Interactif Saisie de commandes téléphiques,
    Internet, Saisie des règlements, ...
  • Batch Chaîne de facturation, livraison,
    règlement,
  • OLAP Informatique Décisionnelle
  • Analyse marketing (comportement dachats par
    exemple en fonctions d indicateurs type
    d article, région ou secteur, CSP, )
  • Audit, Prospection,
  • Enquêtes statistiques (épidémiologiques par
    exemple).

10
Quest-ce quune base de données ? OLTP/OLAP
  • OLTP Informatique Transactionnelle de
    production
  • Un grand nombre d utilisateurs.
  • Beaucoup de requêtes de type insert, Update,
    Delete et Select simple.
  • Beaucoup dutilisateurs 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
  • Un grand nombre d utilisateurs.
  • Beaucoup de requêtes de type Select complexes (2
    pages A4) avec beaucoup de jointures et des
    volumes de données important à traiter
    (Historique de données).
  • Beaucoup dutilisateurs 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).

11
Quest-ce quune base de données ? OLTP/OLAP
  • Un SGBD/R hybride est une implémentation mixte du
    type OLTP et du type OLAP.
  • Ce type dimplémentation reste à éviter même si
    de nouvelles fonctionnalités sont implémentées
    afin d éviter certaines colisions.
  • Le mode hybride ne pouvant satisfaire les
    particularités de chacun la base de données ne
    pourra que mal remplir sa mission.

12
Quest-ce quun Data Warehouse
  • Un Data Warehouse (entrepôt de données) est une
    Very Large DataBase dont lobjectif principal est
    la collection de données de lentreprise avec
    conservation de lhistorique en vue danalyses
    décisionnelles.
  • Best Buy 100 000 requêtes et rapports
    quotidiens, 3 000 utilisateurs et 1 900
    magasinsBest 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.
  • Telecom Italia Mobile 6 téraoctets de données,
    jusqu'à 250 millions d'enregistrements quotidiens
    et trois administrateurs de bases de données à
    plein tempsAvec 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.

13
Quest-ce quun Data Warehouse
  • France Télécom 500 millions d'enregistrements
    quotidiens, 8 000 utilisateurs et 91 millions de
    clientsActeur 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.
  • Amazon.com 5 téraoctets de données, 2 000
    requêtes quotidiennes et 500 utilisateursLe 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.

14
Quest-ce quune base de données ? Les objectifs
  • La définition des données
  • Utilisation dun langage de définition des
    données (LDD).
  • Ensemble de commandes permettant la création,
    modification, suppression des objets (Tables,
    Index, Vues, ).
  • Lensemble des description dobjets dune base de
    données constitue ce que lon appelle un
    dictionnaire des données.
  • 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.
  • La description des objets de la base peuvent être
    manipulées de la même façon que leurs valeurs.
    Doù la possibilité déditer le contenu de ce
    dictionnaire pour des besoins de développement ou
    de documentation.

15
Quest-ce quune base de données ? Les objectifs
  • La manipulation des données
  • 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 louverture et la fermeture
    d une base.
  • Utilisation dun langage de manipulation des
    données (LMD).
  • Un SGBD de type réseau ou hiérarchique noffre
    pas les mêmes possibilités de manipulation de
    données quun système relationnel.
  • 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 quon veut avoir,
    mais aussi comment on y accède .
  • Le modèle relationnel dispose dun ensemble
    dopérateurs ensemblistes, dont lapplication à
    des tables constitue lalgèbre relationnelle. Le
    langage relationnel le plus connu est le SQL.

16
Quest-ce quune base de données ? Les objectifs
  • La sécurité et lintégrité des données
  •  Le but est de maintenir un état cohérent de la
    base de données .
  • Utilisation dun langage de contrôle des données
    (LCD).
  • Gestion des utilisateurs accédant à la base de
    données (création, suppression).
  • Gestion des types dopérations quils sont
    autorisés à effectuer (privilèges des
    utilisateurs).
  • Contrôle sur la validité des opérations
    effectuées
  • Contraintes dintégrité temporelles
  • Contraintes dintégrité référentielles
  • Protection contre les accès malveillants et les
    pannes
  • Encryptage
  • Reprise après panne (Tension, Disque Dur, )
  • Fonction daudit avancée
  • Exploitation Log Miner du journal des
    transactions

17
Quest-ce quune base de données ? Les objectifs
  • 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 .
  • Le concept de transaction
  • Cest 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
    quelle est validée (COMMIT), ou pas du tout, on
    dit quelle est annulée (ROLLBACK).
  • Le concept daccès concurrents
  • Verrouillage momentané des données utilisées par
    une transaction jusquà la fin de mise à jour.
  • Attention au risque dinterblocage (verrou mortel
    ou étreinte mortelle).
  • Le SGBD doit être capable de détecter une telle
    situation et de la débloquer automatiquement
    (Annuler lune des transactions).

18
Quest-ce quune base de données ? Les objectifs
  • Une base de données doit être administrée et
    sauvegardée !!!
  • Le double rôle de ladministrateur dune base de
    données (DBA)
  • 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.
  • Le rôle technique, il consiste à mettre en œuvre
    ce schéma et ce partage à l'aide des capacités
    techniques du SGBD.

19
Quest-ce quune base de données ? Les objectifs
  • 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.
  • 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.
  • 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.
  • 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 des
    données.
  • 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.
  • 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.

20
Quest-ce quune base de données ? Les objectifs
  • Une base de données peut être centralisée,
    distribuée et répliquée.
  • Voir la présentation sur la réplication des
    données.

21
Quest-ce quune base de données ? Les acteurs
  • Les acteurs du marché en 1998

22
Quest-ce quune base de données ? Les acteurs
  • Les acteurs du marché actuel
  • 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 lOpen Source.
  • Deux logiciels libres dans la catégorie SGBD
    offrant les meilleurs capacités en production
  • MySQL Très bon pour l entrée de gamme
  • PostgreSQL dont les fonctionnalités se
    rapprochent de plus en plus dun SGBD commercial.

23
Quest-ce quune base de données ? Les acteurs
  • Oracle un acteur majeur
  • Oracle 7 il y a presque 10 ans déjà
  • Oracle 8 depuis 4 ans
  • Oracle 9 depuis 2 ans Oracle 9i (i pour Internet)
  • Aujourdhui Oracle 10g (g pour Grid Computing)
  • www.oracle.fr / www.oracle.com

24
Quest-ce quune base de données ? Les acteurs
  • Une adéquation importante aux systèmes
    dexploitation
  • Oracle 9i / OS

25
Quest-ce quune base de données ? Les acteurs
  • Une adéquation importante aux systèmes
    dexploitation
  • Oracle 1Og / OS

26
Quest-ce quune base de données ? Le relationnel
  • Le modèle relationnel
  • Structure des données
  • Manipulation des données
  • Langages relationnels

27
Quest-ce quune base de données ? Le relationnel
  • Structure des données
  • Une base de données relationnelle se présente
    comme un ensemble de relations doù le nom du
    modèle. Ces relations sont aussi appelées tables.
  • Toute relation comprend
  • Un schéma qui décrit sa structure
  • Une extension qui correspond à létat de cette
    relation à un instant donné.

28
Quest-ce quune base de données ? Le relationnel
  • Structure des données
  • Toute relation comprend un schéma
  • Le schéma dune relation décrit sa structure. Le
    schéma dune table est composé dun ensemble
    dattributs (ou colonnes).

Attributs (Colonnes)
Domaine (Ensemble de valeurs atomiques de même
type)
29
Quest-ce quune base de données ? Le relationnel
  • Structure des données
  • Toute relation comprend une extension.
  • Lextension dune 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
30
Quest-ce quune base de données ? Le relationnel
  • Manipulation des données
  • Le modèle relationnel dispose dun ensemble
    dopérateurs ensemblistes, dont l application à
    des tables constitue lalgèbre relationnelle.
  • Les opérateurs unaires (Application à une seule
    table)
  • La projection
  • La sélection
  • Les opérateurs binaires (Application à une deux
    tables)
  • Lunion
  • Lintersection
  • La différence
  • (Les trois premiers ne peuvent sappliquer quaux
    tables de même schéma).
  • Le produit cartésien
  • La jointure
  • La division

31
Quest-ce quune base de données ? Le relationnel
  • Langages relationnels
  • Les opérateurs ensemblistes de lalgèbre
    relationnelle ne peuvent pas constituer à eux
    seuls un langage de manipulation de données. Un
    tel langage doit permettre
  • de préciser le type dopération à exécuter
    (consultation, insertion, modification ou
    suppression)
  • deffectuer des calculs arithmétiques (somme,
    moyenne, maximum, ...)
  • deffectuer des conversions (caractère-numérique,
    majuscule-minuscule, ...)

32
La conceptualisation dune base de données
  • Etape primordiale
  • Lanalyse des flux et lanalyse des règles de
    gestion
  • Le dictionnaire de données
  • Il rassemble, sous un forme normalisée,
    lensemble 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
  • 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

33
La conceptualisation dune base de données
  • Le MCD (Modèle Conceptuel de Données)
  • Le type de donnée
  • Lentité
  • Lassociation
  • La patte et ses cardinalités
  • Les règles de validation dun modèle
  • Le MLD (Modèle Logique de Données)
  • Le MPD (Modèle Physique de Données)
  • Les règles de normalisation

34
La conceptualisation dune base de données
  • Une étude de cas simple
  • Modélisation dun 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
  • Le dictionnaire de données de cette étude de cas
    pourrait être
  • NUM_CLIENT Number(7)
  • NOM_CLIENT Varchar2(30)
  • ADRESSE_1_CLIENT Varchar2(40)
  • ADRESSE_2_CLIENT Varchar2(40)
  • CP_CLIENT Varchar2(5)
  • VILLE_CLIENT Varchar2(30)
  • DATE_CREATION Date
  • LIBELLE_TYPE_CLIENT Varchar2(30)

35
Un exemple de MCD
Identifiant
Entité
Relation
Cardinalité
36
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
37
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
38
Un exemple de MPD
Table
Clé primaire
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).
39
Un exemple de MCD (Suite)
Objectif Conserver un historique de la relation
40
Un exemple de MCD (Suite)
Objectif Conserver un historique de la relation
Relation porteuse dinformations
41
Un exemple de MPD (Suite)
La relation porteuse dinformations se
transforme en une table dont la clé primaire est
composée
42
La création des tables
  • Définition dune table
  • La notion de clé primaire
  • (Primary Key)
  • La notion de clé étrangère
  • (Foreign Key)

43
La création des tables
  • Définition dune table
  • La notion de table primaire (TABLE CLIENT)
  • La notion de table référençante (TABLE
    TYPE_CLIENT)

44
La création des tables
  • La clé étrangère permet de conserver lintégrité
    référentielle entre ces tables dans la mesure ou
  • 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.

45
La création des tables
  • La clé étrangère permet de conserver lintégrité
    référentielle entre ces tables dans la mesure ou
  • On ne pourra pas supprimer un enregistrement dans
    la table type_client tant qu il existera un
    client avec le même type client.

46
La création des tables
  • Un mécanisme de suppression en cascade peut être
    ajouté à la clé étrangère
  • Attention cependant la suppression dun
    enregistrement dans la table type_client
    supprimera en cascade lensemble des clients
    ayant la même valeur.

47
La création des tables
  • Définition dune table
  • Appartenance à un schéma

48
La création des tables
  • Définition dun dindex
  • Un index permet daccélérer laccès aux
    enregistrements (recherche, tri, ).
  • Oracle utilise les index d'une table de la même
    manière que vous utilisez l'index d'un livre.
    Pour rechercher 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.
  • Les clés primaires sont automatiquement indéxées.
  • Les index peuvent être définis avec doublons ou
    sans doublons.
  • 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.

49
La création des tables
  • 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 
  • 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.
  • LIndex multichamp
  • Si vous pensez que vous rechercherez 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.

50
Le langage SQL ?
  • 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.
  • 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.
  • 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.

51
Le langage SQL ?
  • 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.
  • 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.
  • 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 DB2 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.

52
Le langage SQL ?
  • L'institut National Américain de Normalisation
    (ANSI) a chargé en 1982 un comité (X3H2) 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 SQL86. Elle a été
    adoptée par d'autres organismes de normalisation
    tels que ISO et X/Open en 1987.
  • La norme SQL86 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.
  • En janvier 1989, l'ANSI a publié une extension de
    la norme connue sous le nom SQL89. Elle ajoute à
    la version SQL86 la notion de contrainte
    d'intégrité. Cette nouvelle version est également
    normalisée par l'ISO.
  • 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.

53
Le langage SQL ?
  • 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.
  • 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.
  • Les spécifications courantes généralement
    utilisées sont l'ANSI SQL 89, l'ANSI SQL 92 et
    lANSI 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.
  • 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.

54
Le langage SQL ?
  • 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.
  • SQL est un standard
  • 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.
  • 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 !

55
Le langage SQL ?
  • La différence entre le SQL statique et le SQL
    dynamique
  • 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.
  • 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
  • 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.
Write a Comment
User Comments (0)
About PowerShow.com