Title: UV Base de donn
1UV 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
2UV 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
!!!
3Quest-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.
4Quest-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.
5Quest-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).
6Quest-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
7Quest-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.
8Quest-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.
9Quest-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).
10Quest-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).
11Quest-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.
12Quest-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.
13Quest-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.
14Quest-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.
15Quest-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.
16Quest-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
17Quest-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).
18Quest-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.
19Quest-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.
20Quest-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.
21Quest-ce quune base de données ? Les acteurs
- Les acteurs du marché en 1998
22Quest-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.
23Quest-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
24Quest-ce quune base de données ? Les acteurs
- Une adéquation importante aux systèmes
dexploitation - Oracle 9i / OS
25Quest-ce quune base de données ? Les acteurs
- Une adéquation importante aux systèmes
dexploitation - Oracle 1Og / OS
26Quest-ce quune base de données ? Le relationnel
- Le modèle relationnel
- Structure des données
- Manipulation des données
- Langages relationnels
27Quest-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é.
28Quest-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)
29Quest-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
30Quest-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
31Quest-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, ...)
32La 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
33La 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
34La 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)
35Un exemple de MCD
Identifiant
Entité
Relation
Cardinalité
36Un 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
37Un 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
38Un 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).
39Un exemple de MCD (Suite)
Objectif Conserver un historique de la relation
40Un exemple de MCD (Suite)
Objectif Conserver un historique de la relation
Relation porteuse dinformations
41Un exemple de MPD (Suite)
La relation porteuse dinformations se
transforme en une table dont la clé primaire est
composée
42La création des tables
- Définition dune table
- La notion de clé primaire
- (Primary Key)
- La notion de clé étrangère
- (Foreign Key)
43La 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)
44La 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.
45La 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.
46La 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.
47La création des tables
- Définition dune table
- Appartenance à un schéma
48La 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.
49La 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.
50Le 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.
51Le 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.
52Le 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.
53Le 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.
54Le 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 !
55Le 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.