Présentation
En anglaisRÉSUMÉ
Un système de gestion de bases de données (SGBD) s’évalue par ses performances et sa facilité d’usage. L’optimisation dans les SGBD est un aspect crucial des bases de données. Elle se situe à tous les niveaux : lors de la conception de l’application, où le choix de l’architecture du système, du modèle de données, des techniques de stockage et des méthodes d’accès aux données jouent un rôle important tant sur le plan de l’usage que sur celui de l’efficacité, et lors de l’utilisation où le temps de réponse aux requêtes et le nombre de transactions par seconde représentent les critères majeurs de performances.
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleABSTRACT
A database management system (DMS) can be assessed by its performances and its ease-of-use. Optimization in the DMSs is an essential aspect of the databases. It intervenes at each level: when the application is being developed where the choice of the architecture of the system, the data model, the storage techniques and access methods to data play an important part in terms of use and efficiency, and also during use, where the response time to requests and the number of transactions per second are the major performance criteria.
Auteur(s)
-
Anne DOUCET : Professeur, université Pierre-et-Marie-Curie (Paris-6)Laboratoire d’informatique de Paris-6
-
Hubert NAACKE : Maître de conférences, université Pierre-et-Marie-Curie (Paris-6)Laboratoire d’informatique de Paris-6
INTRODUCTION
Un système de gestion de bases de données (SGBD) s’évalue par ses performances et sa facilité d’usage. L’optimisation dans les SGBD, qui a pour objectif de fournir aux utilisateurs un système optimal en termes de coût et d’usage, est un aspect crucial des bases de données. Elle se situe à tous les niveaux : lors de la conception de l’application, où le choix de l’architecture du système, du modèle de données, des techniques de stockage et des méthodes d’accès aux données jouent un rôle important tant sur le plan de l’usage que sur celui de l’efficacité, et lors de l’utilisation où le temps de réponse aux requêtes et le nombre de transactions par seconde représentent les critères majeurs de performances.
Pour évaluer les performances d’un système, il est nécessaire de définir des métriques. Celles‐ci s’appuient sur différents critères, en fonction du type d’optimisation. Il peut s’agir par exemple du temps de réponse ou de l’expressivité du langage pour les requêtes, de l’espace disque occupé et du temps de parcours des données d’une relation pour le choix d’une technique de stockage, de la disponibilité des ressources ou de l’extensibilité du système lorsqu’il s’agit d’une architecture.
Ce dossier est destiné aux lecteurs ayant une connaissance générale des fonctionnalités des bases de données (modèle relationnel, SQL, transactions et contrôle de concurrence). La lecture préalable des dossiers « Bases de données. Introduction » Bases de données- Introduction, « Bases de données relationnelles » Bases de données relationnelles et « Langages de bases de données : SQL et les évolutions vers l’objet » Langages de bases de données : SQL et les évolutions vers l’objet est recommandée.
DOI (Digital Object Identifier)
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Présentation
5. Requêtes SQL
Une requête SQL correspond à une série d’opérations sur la base. Le moteur de requêtes (query engine) reçoit une requête provenant de l’application. Cette requête est déclarative, c’est‐à‐dire qu’elle ne dit pas quelles opérations effectuer ni dans quel ordre. Elle est tout d’abord transformée en un programme impératif qui sera ensuite exécuté pour calculer le résultat de la requête. Le programme correspondant à la requête est appelé plan d’exécution. Plusieurs étapes sont nécessaires pour obtenir un plan d’exécution.
Dans un premier temps, la syntaxe de la requête SQL est vérifiée. La requête doit être conforme à la grammaire du langage SQL. Les noms des relations mentionnés dans la clause FROM doivent correspondre à une relation de la base de données. Les noms d’attributs se trouvant dans les autres clauses (SELECT, WHERE, ORDER BY et GROUP BY) doivent correspondre à un attribut d’une relation, sans ambiguité. La concordance des types est vérifiée pour chaque prédicat, par exemple, prix < 9,5 n’est pas correct si l’attribut prix est un nombre entier.
Les noms de vues apparaissant dans la clause FROM sont remplacés par leur définition en SQL. Plusieurs substitutions de vues s’enchaînent en cascade lorsqu’une vue est définie en fonction d’une autre vue, pour aboutir finalement à une requête SQL composée de plusieurs imbrications de clauses. Par exemple, la clause SELECT de la requête suivante contient une autre clause SELECT :
select Libellé
from Module
where durée = (select max(durée) from Module)
Puis la requête SQL est simplifiée de manière à obtenir une requête SQL constituée de plusieurs expressions simples qui sont des blocs formés d’une seule clause SELECT et FROM. Les blocs indépendants des autres sont repérés car ils pourront être évalués séparément. En revanche,...
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Requêtes SQL
BIBLIOGRAPHIE
-
(1) - Oracle Real Application Clusters 10g : Technical White Paper. - Oracle (2005).
-
(2) - ÖZSU (T.), VALDURIEZ (P.) - Principles of Distributed Database Systems. - Prentice Hall (1999).
-
(3) - SQL Server 2005 Analysis Services, MDX Multidimensional Expressions. - Microsoft (2005).
-
(4) - Oracle OLAP 10g Data Sheet. - Oracle (2004).
-
(5) - GARDARIN (G.) - Bases de données. - Eyrolles (1999).
-
(6) - RAMAKRISHNAN (R.), GEHRKE (J.) - Database Management Systems. - McGraw-Hill (2002).
-
(7) - GARCIA-MOLINA (H.), ULLMAN (J.), WIDOM (J.) - Database Systems : The...
DANS NOS BASES DOCUMENTAIRES
NORMES
-
Technologies de l’information. Langage de base de données SQL - NF ISO/CEI 9075 - 9-94
ANNEXES
(liste non exhaustive)
UDB, DB2, IBM http://www.ibm.com/db2
SQL Server 2005, Microsoft http://www.microsoft.com/france/sql/sql2005/
Oracle Database http://www.oracle.com/global/fr/
ASM d’Oracle 10g http://www.oracle.com/technology/products/database/asm/
MySQL, logiciel libre http://dev.mysql.com/
PostgreSQL, logiciel libre http://www.postgresql.org/
HAUT DE PAGE
Transaction Processing Performance Council (TPC) http://www.tpc.org/
World Wide Web Consortium (W3C) http://www.w3.org/
HAUT DE PAGECet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive