Bases de Données Avancées

Dimension: px
Commencer à balayer dès la page:

Download "Bases de Données Avancées"

Transcription

1 1/210 Bases de Données Avancées Optimisation Thierry Hamon Bureau H202 - Institut Galilée Tél. : Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin, F Bobigny cedex Tél. : , Fax. : INFO2 BDA

2 2/210 Introduction Optimisation d une Application? Quand décide-t on d optimiser? Optimiser quoi? Qui participe, et Comment? Type de l application (TP ou Batch) Intérêt de l application pour l entreprise

3 3/210 Introduction Quand décide-t on d optimiser? Application Batch L application n est pas disponible à partir d une certaine heure Application transactionnelle L utilisateur constate que le temps de réponse est inacceptable (Agence de voyage, application interne, etc.)

4 4/210 Acteurs Qui participe et pourquoi? Adminstrateurs de DB, Développeurs, Ingénieurs Système (IS), Chef de projet Définition de la puissance de la machine (Nombre de processeurs, Capacité mémoire, Espace disque nécessaire en fonction du type de l application) Type du SGBD (Oracle, DB2, etc.) Type de l application (Batch, TP) Langage de programmation utilisé (Java, PL/SQL, etc.)

5 5/210 Acteurs Rôle d un Administrateur d une Base de Données (ABD ou DataBase Administrator DBA) Double rôle de l administrateur d une Base de Données : rôle organisationnel Définition du schéma conceptuel des données Partage de ces données par les utilisateurs rôle technique Mise en œuvre ce schéma partage à l aide des capacités techniques du SGBD

6 6/210 Acteurs Rôle d un Administrateur d une Base de Données rôle technique Installation du SGBD et des outils associés Création de la BD et ses composants conformément à un schéma conceptuel Surveillance de son évolution en modifiant, en créant ou en supprimant certaines structures Gestion des privilèges d accès Attribution et retrait de privilèges d accès aux données aux différents utilisateurs de la base de données

7 7/210 Acteurs Rôle d un Administrateur d une Base de Données rôle technique Amélioration les performances Choix de l implantation optimale des données de façon à obtenir les meilleures performances Identification et prise en compte des utilisations qui seront faites des données Surveillance de la sécurité et la cohérence des données Mise en place de structures et de procédures permettant de faire face à tous les incidents de retrouver l intégrité et la cohérence des données

8 8/210 Acteurs Rôle d un Administrateur d une Base de Données rôle technique Échange les données entre la BD et le monde extérieur Surveillance de l intégration des données en provenance d autres applications ou BD Migration des données de la base vers d autres applications ou BD Outils à utiliser : SQL*DBA, SQL*Loader, SQLPLUS, etc.

9 9/210 Objectifs Qu est-ce qui reste à faire? Les besoins en puissance machine définis Les acteurs administrateurs BD, (IS), développeurs, etc. au courant du projet (impliqués, responsable de la réussite du projet,..) Optimisation de la base et de l application?

10 10/210 Objectifs Sur quoi doit-on focaliser les efforts d optimisation? Partie N 1 : Conception des systèmes d informations et optimisation des applications Lors de la conception des systèmes d informations (si pas trop tard) Optimisation des applications Partie N 2 : Présentation des outils pour assurer le suivi de la base et garantir sa performance Optimisation de la mémoire Optimisation des entrées/sorties Disque Identifier les contentions dans la base de données

11 11/210 Objectifs Sur quoi doit-on focaliser les efforts d optimisation? Partie N 1 : Conception des systèmes d informations et optimisation des applications Lors de la conception des systèmes d informations : (Si pas trop tard) Système non performant : résultat d une mauvaise définition du modèle conceptuel Modèle conceptuel : au moins sous la 3ème forme Normale (3NF) Sauf dans quelque cas (choix volontaire) où la dé-normalisation apporte une certaine performance au système d information (Dataware house) Lors de la conception : tenir compte l accès aux données Analyse de la répartition des données : réplication de données (sur une ou plusieurs bases, etc.) agrégation des tables, pour les systèmes décisionnels etc.

12 11/210 Objectifs Sur quoi doit-on focaliser les efforts d optimisation? Partie N 1 : Conception des systèmes d informations et optimisation des applications Optimisation des applications : l expérience montre que 80% des problèmes de performances des applications, sont résolus, par une optimisation des requêtes SQL Ordonnancer les Batchs et éviter leur exécution pendant des heures ou l utilisation des machine est intense Dispatcher les Batchs les plus consommateurs en puissance machine à des heures différentes

13 12/210 Objectifs Sur quoi doit-on focaliser les efforts d optimisation? Partie N 2 : Présentation des outils pour assurer le suivi de la base et garantir sa performance Optimisation de la mémoire : déterminer la bonne taille des buffers de la base (shared_pool, buffer cache, log buffer, etc) par l utilisation des outils tels que Utlbstat/Utlestat, ou Statpack, etc.

14 12/210 Objectifs Sur quoi doit-on focaliser les efforts d optimisation? Partie N 2 : Présentation des outils pour assurer le suivi de la base et garantir sa performance Optimisation des entrées/sorties Disque : Bien dimensionner les fichiers de la base de données et placer dans des disques prévus pour le type d application (Batch ou TP), pour assurer un temps de réponse acceptable des requêtes adressées à la Base. Ne pas oublier de recenser les disques les plus sollicités, les tablespaces les plus fragmentés, full table scan, etc.

15 12/210 Objectifs Sur quoi doit-on focaliser les efforts d optimisation? Partie N 2 : Présentation des outils pour assurer le suivi de la base et garantir sa performance Identifier les contentions dans la base de données : Etudier les locks, les latches et les wait events au niveaux de la base de données, et les éliminer si possible

16 13/210 Conception des SI et optimisation des Applications Partie 1 Lors de la conception des systèmes d informations Optimisation des applications : L expérience montre que l optimisation des requêtes SQL résout la majorité des problèmes de performances des applications

17 14/210 Conception des SI et optimisation des Applications Objectifs de l optimisation Clarifier et situer les différents paramètres internes des SGBD (relationnel ; objet-relationnel) afin d améliorer leurs performances. Réécrire les codes SQL ; PL/SQL etc.. Restructurer les données, indexer les données, créer des vues matérialisées Partager les données, dupliquer les données sur plusieurs disques, créer des partitions sur les données

18 15/210 Conception des SI et optimisation des Applications Objectifs de l optimisation Intervenants : Administrateurs de Bases de Données (ABD = DBA) Programmeurs d Applications sur SGBD Objectifs : Optimiser un système existant et connaître les impacts de certains paramètres en fonction du type d application sur le système Choisir un SGBD en ayant comme contrainte les critères de performances

19 16/210 Conception des SI et optimisation des Applications Augmentation des performances Pour augmenter les performances trois grandes solutions apparaissent : 1 Première solution (d ordre logique) : optimiser les schémas conceptuel et logique pour qu il colle aux applications 2 Deuxième solution (d ordre physique) : optimiser les paramètres internes du SGBD 3 Autre solution (de type matérielle) : augmenter la puissance machine ou utiliser des ordinateurs spéciaux dédiés à la gestion des données. Cette approche est plus connue sous le nom Machine Bases de Données

20 17/210 Optimisation logique Optimisation logique de la Base de Données Optimisation du Schéma Relationnel Schéma Conceptuel de Données (SCD), obtenu à la phase d analyse une ensemble d Entités et d Associations ou un ensemble de Classes selon le formalisme utilisé En EA, transformation en schéma relationnel (Schéma Logique de Données SLD), qui permet Implantation du SCD dans une BD relationnelle Exploitation par le SGBD et les modules de programmation

21 18/210 Optimisation logique Optimisation logique de la Base de Données Optimisation du Schéma Relationnel Normalisation : processus permettant de s assurer de la Bonne conception du SLD non redondance de ses données Cadre formel pour effectuer la normalisation : la dépendance fonctionnelle les formes normales (1ère FN, 2ème FN, 3ème FN, FNBC, 4ème FN,...)

22 19/210 Optimisation logique Avant normalisation : Normalisation Exemple R e l a t i o n 1 ( A t t r i b u t 1, A t t r i b u t 2,... ) Décomposition de la relation Relation1, en deux ou plusieurs relations qui contiennent moins d anomalies de mises à jour (peu ou pas du tout) : On parle de Décomposition sans perte d information Décomposition sans perte de dépendance fonctionnelle (DF)... Après normalisation : R e l a t i o n 1 1 ( A t t r i b u t 1 1, A t t r i b u t 1 2,... ) R e l a t i o n 2 1 ( A t t r i b u t 2 1, A t t r i b u t 2 2,... )

23 20/210 Optimisation logique Normalisation Les relations obtenues doivent être en 3ème Forme Normale, au moins bon rapport redondance/espace occupé Clé Primaire Pas de DF entre les attributs de la clé primaire ; Pas de DF entre un sous ensemble d attributs de la clé primaire et les attributs qui n appartiennent pas à la clé primaire Pas de DF entre les attributs qui n appartiennent pas à la clé primaire

24 21/210 Optimisation logique Normalisation Illustration Format d une relation bien conçue

25 22/210 Optimisation logique Normalisation Exemple Soit la relation : ADRESSES ( V i l l e, Numéro, Rue, CodePostal ) Décomposition de la relation ADRESSES ( r e l a t i o n en 3ème FN) en deux relations CPR et CPV (en FN de Boyce et Codd) : CPR ( CodePostal, Rue ) CPV ( CodePostal, V i l l e )

26 23/210 Optimisation logique Normalisation Exemple ADRESSES VILLE NUMERO RUE CODE POSTAL Paris 6 Rue de la Rosière Paris 16 Rue de la Rosière Paris 51 Rue des Entrepreneurs Paris 55 Rue des Entrepreneurs Paris 8 Avenue des Champs Elysées Epinay sur Seine 23 Boulevard Foch CPR CPV CODE POSTAL RUE CODE POSTAL VILLE Rue de la Rosière Paris Rue des Entrepreneurs Paris Avenue des Champs Elysées Epinay sur Seine Boulevard Foch

27 24/210 Optimisation logique Normalisation Exemple Un client a une adresse : SLD version 1 CLIENT ( CodeCli, NomCli, PrénomCli, Numéro, Rue, CodePostal, V i l l e ) SELECT FROM CLIENT ; SLD version 2 CLIENT ( CodeCli, NomCli, PrénomCli, Numéro, A d r C l i ) ADRCPR ( AdrCli, Rue, CodePostal ) ADRCPV ( CodePostal, V i l l e ) SELECT FROM CLIENT, ADRCPR, ADRCPV WHERE CLIENT. A d r C l i=adrcpr. A d r C l i AND ADRCPR. CodePostal=ADRCPV. CodePostal ;

28 25/210 Optimisation logique Bilan Un schéma relationnel normalisé contiendra donc un nombre plus important de relations (de tables) pourra ainsi pénaliser certaines requêtes, qui seront obligées de procéder à des jointures plus nombreuses sur la base Or La jointure est une opération très coûteuse Les opérations binaires (qui portent sur deux tables) peuvent être coûteuses

29 26/210 Optimisation logique Optimisation logique de la Base de Données Redondance calculée Technique d optimisation des requêtes d interrogation Introduction volontairement de redondances dans le schéma logique relationnel Cette redondance est dite calculée car elle tient compte des besoins des modules de traitement des données de leurs exigences en terme de temps de réponse

30 27/210 Optimisation logique Optimisation logique de la Base de Données Redondance calculée Deux méthodes de réalisation de la redondance calculée : le stockages des données déductibles la dé-normalisation

31 28/210 Optimisation logique Optimisation logique de la Base de Données Redondance calculée : stockages des données déductibles Données déductibles les résultats des requêtes les plus fréquentes des statistiques historiques des données issues de calculs complexes

32 29/210 Optimisation logique Optimisation logique de la Base de Données Redondance calculée : stockages des données déductibles Dans les trois cas, stockage des données, physiquement dans la base (sous la forme de Tables/Vues ou de Colonnes) Avantage du stockage physique : éviter leur re-génération en cas de besoin Inconvénient de la redondance : 1 Place occupée par les données redondante 2 Nécessité de traitements supplémentaires pour les opérations de mises à jour 3 Risque d incohérence

33 30/210 Optimisation logique Optimisation logique de la Base de Données Redondance calculée : stockages des données déductibles Exemple de requête fréquente Base de données SportAct : Adhérents à des centres sportifs CENTRE ( NumC, NomC, V i l l e C, C o u t i n s c ) ESTMEMBRE ( NumA, NumC, D a t e i n s c ) Requête fréquente : Nombre d inscrits dans un centre c? SELECT C.NumC, C.NomC, COUNT(E.NumA) FROM CENTRE C, ESTMEMBRE E WHERE C.NumC = E.NumC AND C.NumC= c GROUP BY C.NumC ;

34 30/210 Optimisation logique Optimisation logique de la Base de Données Redondance calculée : stockages des données déductibles Exemple de requête fréquente Création d une nouvelle colonne NbrInscr dans la table CENTRE : CENTRE ( NumC, NomC, VilC, Coutinsc, N b r I n s c r ) Nouvel ordre SQL : SELECT NumC, NomC, N b r I n s c r FROM CENTRE WHERE NumC=c ; Suppression de 2 opérations très coûteuses : Une jointure en moins Un groupement en moins

35 30/210 Optimisation logique Optimisation logique de la Base de Données Redondance calculée : stockages des données déductibles Exemple de requête fréquente Impact sur le reste de la base de données Prise en compte de cette nouveauté par les opérations de mises à jours de la table ESTMEMBRE Modification de la colonne NbrInscr à chaque insertion ou suppression d inscription La cohérence est affectée si on ne le fait pas

36 30/210 Optimisation logique Optimisation logique de la Base de Données Redondance calculée : stockages des données déductibles Exemple de requête fréquente Chaque opération INSERT / DELETE implique une opération UPDATE INSERT INTO ESTMEMBRE VALUES (...) ; doit être accompagnée par UPDATE CENTRE SET N b r I n s c r=n b r I n s c r+1 ; DELETE FROM ESTMEMBRE WHERE... ; doit être accompagnée par UPDATE CENTRE SET N b r I n s c r=n b r I n s c r 1 ;

37 31/210 Optimisation logique Optimisation logique de la Base de Données Redondance calculée : stockages des données déductibles Exemple de Statistiques Historiques Requête : Nombre d inscrits par centre et par mois? Objectif : éviter le recalcul à chaque fois du nombre d inscrits par centre et par mois Solution : création d une nouvelle table/vue STAT_MENS_INSCR STAT MENS INSCR ( NumC, Mois, N b r I n s c r ) Nécessité d un nouveau traitement mensuel pour l actualiser avec les statistiques du mois écoulé

38 32/210 Optimisation logique Optimisation logique de la Base de Données Redondance calculée : stockages des données déductibles Résultat de calcul complexe Soit la base de données : CLIENT ( CodeCli, NomCli,... ) ARTICLE ( CodeArt, LibArt,..., P r i x A r t ) COMMANDE ( NumCom, CodeCli, DateCom ) DETAILCOM ( NumCom, CodeArt, QtéComDée ) Requête : Montant de la commande?

39 32/210 Optimisation logique Optimisation logique de la Base de Données Redondance calculée : stockages des données déductibles Résultat de calcul complexe Obtention du montant de la commande : SELECT C.NumCom, SUM(D. QtéComDée A. P r i x A r t ) AS Montant FROM COMMANDE C, ARTICLE A, DETAILCOM D WHERE C. NumCom=D. NumCom AND D. CodeArt=A. CodeArt GROUP BY C. NumCom ; Gain d opération avec la création de la colonne Montant dans la table COMMANDE COMMANDE ( NumCom, CodeCli, DateCom, Montant ) SELECT NumCom, Montant FROM COMMANDE ;

40 33/210 Optimisation logique Optimisation logique de la Base de Données Redondance calculée : dé-normalisation Autre méthode d optimisation des interrogations Transformer, si besoin est, une table de la 3ème FN en 2ème FN ou en la 1ère FN Objectif : éviter des jointures successives pouvant être coûteuses en performances

41 34/210 Optimisation logique Optimisation logique de la Base de Données Redondance calculée : dé-normalisation Exemple Soit la table ARTICLE ( CodeArt, LibArt,..., P r i x A r t ) COMMANDE ( NumCom, CodeCli, DateCom ) DETAILCOM ( NumCom, CodeArt, QtéComDée, P r i x A r t ) DETAILCOM passe de la 3ème FN à la 1ère FN Requête : Montant de la commande? SELECT NumCom, SUM( QtéComDée P r i x A r t ) FROM DETAILCOM GROUP BY NumCom ; AS Montant

42 35/210 Optimisation logique Optimisation logique de la Base de Données Redondance calculée : dé-normalisation Inconvénients de la dé-normalisation : identiques à ceux du stockage des données déductibles Place supplémentaire Pénalisation des traitements d insertion et de suppression Risque d incohérence Nécessite la création de déclencheurs (triggers)

43 36/210 Optimisation logique Optimisation logique de la Base de Données Optimisation des ordres SQL Requête SQL : ordre passé au SGBD pour lui demander de rechercher des données spécifiées dans la requête (sans expliciter le comment) SQL est non procédural SELECT / FROM / WHERE / GROUP BY / HAVING / ORDER BY DISTINCT SUM / MIN / MAX / AVG / COUNT IN / NOT IN / LIKE / NOT LIKE / EXISTS / NOT EXISTS / = INSERT / DELETE / UPDATE CREATE / TABLE / VIEW / INDEX

44 37/210 Optimisation logique Optimisation logique de la Base de Données Optimisation des ordres SQL Traduction d une requête exprimée en langage naturel en un ensemble d ordres SQL Plusieurs agencements sont souvent possibles : au niveau de l ordre dans lequel les conditions sont exprimées dans la clause WHERE : WHERE c o n d i t i o n 1 AND c o n d i t i o n 2 WHERE c o n d i t i o n 2 AND c o n d i t i o n 1

45 37/210 Optimisation logique Optimisation logique de la Base de Données Optimisation des ordres SQL Traduction d une requête exprimée en langage naturel en un ensemble d ordres SQL Plusieurs agencements sont souvent possibles : au niveau des opérations algébriques Possibilité d utiliser plusieurs méthodes différentes pour exprimer la même chose La jointure : possibilité d exprimer la opération de plusieurs façons différentes R = Jointure ( R1, R2, {R1.A=R2.A} ) = Jointure ( R2, R1, {R2.A=R1.A} ) SELECT FROM R1, R2 WHERE R1. A = R2. A ; SELECT FROM R2, R1 WHERE R2. A = R1. A ;

46 38/210 Optimisation logique Optimisation logique de la Base de Données Optimisation des ordres SQL Expression de la jointure Méthode prédicative SELECT FROM R1, R2 WHERE R1. A=R2. A ; Méthodes ensemblistes SELECT FROM R1 WHERE A IN (SELECT A FROM R2 ) ; SELECT FROM R1 WHERE A =ANY (SELECT A FROM R2 ) ; SELECT FROM R1 WHERE EXISTS (SELECT FROM R2 WHERE R1. A=R2. A ) ; SELECT FROM R1 WHERE 0 < (SELECT COUNT( ) FROM R2 WHERE R1. A=R2. A ) ;

47 39/210 Optimisation logique Optimisation logique de la Base de Données Optimisation des ordres SQL Exemple de durée d exécution SQLPlus SET TIMING ON Exécution de la requête ; SELECT... FROM... Oracle vous donne le temps écoulé Méthode prédicative : s e l e c t from a l l t a b l e s t1, a l l c o n s t r a i n t s t2 where t1. table name = t2. table name ; temps CPU: u n i t é s u n i t é s s e l e c t from a l l c o n s t r a i n t s t1, a l l t a b l e s t2 where t1. table name = t2. table name ; temps CPU: u n i t é s u n i t é s

48 40/210 Optimisation logique Optimisation logique de la Base de Données Optimisation des ordres SQL Exemple de durée d exécution SQLPlus Méthodes ensemblistes : s e l e c t from a l l c o n s t r a i n t s where t a b l e n a m e i n ( s e l e c t t a b l e n a m e from a l l t a b l e s ) ; temps CPU: u n i t é s u n i t é s s e l e c t from a l l c o n s t r a i n t s where t a b l e n a m e = any ( s e l e c t t a b l e n a m e from a l l t a b l e s ) ; temps CPU: u n i t é s u n i t é s s e l e c t from a l l c o n s t r a i n t s t1 where e x i s t s ( s e l e c t from a l l t a b l e s t2 where t1. t a b l e n a m e = t2. t a b l e n a m e ) ; temps CPU: u n i t é s u n i t é s

49 41/210 Optimisation logique Optimisation logique de la Base de Données Optimisation des ordres SQL Traduction d une requête exprimée en langage naturel en un ensemble d ordres SQL : Plusieurs agencements sont souvent possibles Possibilité d utiliser plusieurs méthodes différentes pour exprimer la même chose La différence : R = Différence ( R1, R2 ) SELECT FROM R1 MINUS SELECT FROM R2 ;

50 42/210 Optimisation logique Optimisation logique de la Base de Données Optimisation des ordres SQL Expression de la différence SELECT A FROM R1 MINUS SELECT A FROM R2 ; SELECT A FROM R1 WHERE A NOT IN (SELECT A FROM R2 ) ; SELECT A FROM R1 WHERE NOT EXISTS (SELECT A FROM R2 WHERE R1. A=R2. A ) ; SELECT A FROM R1 WHERE 0 = (SELECT COUNT( ) FROM R2 WHERE R1. A=R2. A ) ;

51 43/210 Optimisation logique Optimisation logique de la Base de Données Optimisation des ordres SQL Utilisation des vues Mauvais code : S e l e c t e. from EMP e where e. s a l a r y > ( s e l e c t avg ( s a l a r y ) from EMP i where i. d e p i d = e. d e p i d ) ; Bon code S e l e c t e. from EMP e, ( S e l e c t i. d e p i d DEP, avg ( i. s a l a r y ) SAL from EMP i group by i. d e p i d ) EMP VUE where e. d e p i d = EMP VUE. d e p i d and e. s a l a r y > EMP VUE. SAL ;

52 44/210 Optimisation logique Optimisation logique de la Base de Données Optimisation des ordres SQL Vues matérialisées Présentation des vues matérialisées : Création d une vue physique d une table Duplication des données Définition de vues matérialisées à partir de tables, de vues, et de vues matérialisées Possibilité de décalage entre la table maître et la vue matérialisée : gestion de la fraicheur des données de la vue matérialisée (refresh)

53 45/210 Optimisation logique Optimisation logique de la Base de Données Optimisation des ordres SQL Vues matérialisées Utilisation des vues matérialisées : Optimisation/amélioration des performances Ré-écriture de les requêtes portant sur des tables select particulièrement complexe ou lourd réplication de table

54 46/210 Optimisation logique Optimisation logique de la Base de Données Optimisation des ordres SQL Exemple d utilisation de vues matérialisées Soit le schéma logique de données suivant :

55 47/210 Optimisation logique Optimisation logique de la Base de Données Optimisation des ordres SQL Exemple d utilisation de vues matérialisées Soit la requête Q : Total des ventes des magasins en France ou en Belgique -pour la période de 2001 à par ville et année s e l e c t ADRVILLEMAG, ANNEET, sum(montantvente) as Montant from VENTES, MAGASINS, TEMPS where VENTES.NUMMAG=MAGASINS.NUMMAG and VENTES. IDTEMPS=TEMPS. IDTEMPS and ( upper (MAGASINS. ADRPAYSMAG)= FRANCE or upper (MAGASINS. ADRPAYSMAG)= BELGIQUE ) and TEMPS. ANNEET between 2001 and 2003 group by ADRVILLEMAG, ANNEET ;

56 48/210 Optimisation logique Optimisation logique de la Base de Données Optimisation des ordres SQL Exemple d utilisation de vues matérialisées V1 : Total des ventes des magasins à partir de 2002, par ville et année c r e a t e m a t e r i a l i z e d view v1 ( V i l l e, Annee, Montant1 ) as ( s e l e c t ADRVILLEMAG, ANNEET, sum (MONTANTVENTE) from VENTES, MAGASINS, TEMPS where VENTES.NUMMAG=MAGASINS.NUMMAG and VENTES. IDTEMPS=TEMPS. IDTEMPS and TEMPS. ANNEET >= 2002 group by ADRVILLEMAG, ANNEET ) ;

57 48/210 Optimisation logique Optimisation logique de la Base de Données Optimisation des ordres SQL Exemple d utilisation de vues matérialisées V2 : Total des ventes des magasins en France par ville, année et mois c r e a t e m a t e r i a l i z e d view v2 ( V i l l e, Annee, Mois, Montant2 ) as ( s e l e c t ADRVILLEMAG, ANNEET, MOIST, sum (MONTANTVENTE) from VENTES, MAGASINS, TEMPS where VENTES.NUMMAG=MAGASINS.NUMMAG and VENTES. IDTEMPS=TEMPS. IDTEMPS and upper (MAGASINS.ADRPAYSMAG)= FRANCE group by ADRVILLEMAG, ANNEET, MOIST ) ;

58 48/210 Optimisation logique Optimisation logique de la Base de Données Optimisation des ordres SQL Exemple d utilisation de vues matérialisées V3 : Total des ventes des magasins en Belgique avant 2001 par ville, année et mois c r e a t e m a t e r i a l i z e d view v3 ( V i l l e, Annee, Mois, Montant3 ) as ( s e l e c t ADRVILLEMAG, ANNEET, MOIST, sum (MONTANTVENTE) from VENTES, MAGASINS, TEMPS where VENTES.NUMMAG=MAGASINS.NUMMAG and VENTES. IDTEMPS=TEMPS. IDTEMPS and upper (MAGASINS.ADRPAYSMAG)= BELGIQUE and TEMPS. ANNEET <= 2001 group by ADRVILLEMAG, ANNEET, MOIST ) ;

59 49/210 Optimisation logique Optimisation logique de la Base de Données Optimisation des ordres SQL Exemple d utilisation de vues matérialisées Soit la requête Q qui utilise des vues matérialisées : s e l e c t ADRVILLEMAG, annee, Montant1 from v1, ( s e l e c t d i s t i n c t ADRVILLEMAG from MAGASINS where upper (MAGASINS.ADRPAYSMAG)= FRANCE or upper (MAGASINS.ADRPAYSMAG)= BELGIQUE ) where v1. v i l l e = s1. ADRVILLEMAG and annee <= 2003 union s e l e c t v i l l e, annee, sum ( Montant2 ) from v2 where annee =2001 group by v i l l e, annee union s e l e c t s2. ADRVILLEMAG, Annee, sum ( Montant3 ) from v3, ( s e l e c t d i s t i n c t ADRVILLEMAG from MAGASINS) s2 where v3. v i l l e = s2. ADRVILLEMAG and annee = 2001 group by s2. ADRVILLEMAG, annee ; s1

60 50/210 Optimisation logique Optimisation logique de la Base de Données Optimisation des ordres SQL Utilisation de vues matérialisées Inconvénients : Résultat de la requête stocké et valable à un instant t en fonction des paramètres, la vue matérialisée sera tenue à jour ou non quand la table change Entretien des vues en temps réel : coûteux (et peu souvent mis en œuvre)

61 51/210 Optimisation logique Avantages Optimisation logique de la Base de Données Optimisation des ordres SQL Utilisation de vues matérialisées Simple réécriture de requête et exécution de requêtes imbriquées Lorsqu il n est nécessaire de disposer des données en temps réel, économie d interrogation Exemple : analyse de chiffres économiques de la veille données figées intérêt à stocker des résultats (qui ne changeront pas!) Utilisation dans les datawarehouse : problématique de performances

62 52/210 Optimisation physique Gestion physique des données Adaptation et enrichissement du SLD pour tenir compte des spécificités du SGBD des performances des traitements et de la sécurité A ce stade d élaboration du schéma physique de données, on dispose : du SLD normalisé ou non du schéma physique de traitement (description détaillée des modules)

63 53/210 Optimisation physique Gestion physique des données Résultat : Schéma Physique des Données (SPD) représentation de la structure définitive de la base de données telle qu elle doit être implantée prise en compte des caractéristiques technique du SGBD et du matériel des exigences en interfaces et en performances des modules de programmation Si le matériel ou le SGBD change alors il faut changer le SPD (les exigences changent)

64 54/210 Optimisation physique Gestion physique des données Etat des lieux : des tables en 3ème FN, ou autre etc. bien conçues Objectifs : optimisation des accès en choisissant les colonnes qui doivent être indexées introduction (éventuellement) de redondances calculées définition de vues standards et des vues matérialisées définition des contraintes d intégrité et des déclencheurs sur les tables

65 55/210 Optimisation physique Gestion physique des données création des tables et des colonnes techniques définition des droits d accès aux données répartition des tables sur les sites (en cas de BD réparties) calcul des paramètres de stockage des tables et des index etc.

66 56/210 Optimisation physique Gestion physique des données Colonnes à indexer les clés primaires (concaténées ou pas) pour garantir l unicité et accélérer les recherches INDEX UNIQUE les clés étrangères (concaténées ou pas) pour accélérer les jointures INDEX NOT UNIQUE les colonnes servant de critères de recherche (apparaissent souvent dans la clause WHERE de SQL) INDEX NOT UNIQUE

67 57/210 Optimisation physique Gestion physique des données Colonnes à indexer Remarque : Un vrai SGBD se caractérise par l emploi d un SEUL fichier pour y stocker la BD (ou éventuellement quelques fichiers si la BD est trop importante) Un faux SGBD Relationnel emploie un fichier pour y stocker une table dans ce cas la gestion physique des données est assurée par le système d exploitation, interdisant tout paramètre d optimisation

68 58/210 Indexation Gestion des méthodes d accès aux données Méthodes d accès : Méthode séquentielle Méthodes basées sur les index : Index hiérarchisé, Arbre-B (B-tree), Arbre-B+, Arbre-B+*,... Méthode de hachage Mise en cluster

69 59/210 Indexation Données (110 octets) Index (14 octets) Clé primaire Info. compl. Clé primaire Adresse physique (10 octets) (100 octets) (10 octets) (4 octets) 10 info1 15 info2 20 info3 30 info4 40 info info k 1610 info n

70 60/210 Indexation Données (110 octets) Index (14 octets) Clé primaire Info. compl. Clé primaire Adresse physique (10 octets) (100 octets) (10 octets) (4 octets) 10 info1 15 info2 20 info3 30 info4 40 info5 50 info6 55 info7 77 info8 80 info9 10 info info info k 1610 info n

71 61/210 Indexation Taille d une Table & Taille d un Index Exemple Table (110 octets par enregistrement) : Clé primaire (10 octets), Informations complémentaires (100 octets) Index (14 octets par enregistrement) : Clé primaire (10 octets), Adresse Physique (4 octets) Bloc de 512 octets Nombre d enregistrements de l ordre de

72 62/210 Indexation Taille d une Table & Taille d un Index Exemple Pour les données : Pour un nombre entier d enregistrements par bloc (512/110) Nombre maximal d enregistrements par bloc est 4 Il faudrait donc ( /4) = blocs de données Pour les index : Pour un nombre entier d enregistrements par bloc (512/14) Nombre maximal d enregistrements par bloc est 36 Il faudrait donc ( /36) = 2778 blocs d index

Bases de Données Avancées

Bases de Données Avancées /210 Bases de Données Avancées Optimisation Thierry Hamon Bureau H202 Institut Galilée - Université Paris 13 & LIMSI-CNRS hamon@limsi.fr http://perso.limsi.fr/hamon/teaching/bda-20132014/ INFO2 BDA 2/210

Plus en détail

Bases de Données Avancées

Bases de Données Avancées 1/88 Bases de Données Avancées Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin, F-93017

Plus en détail

TP Contraintes - Triggers

TP Contraintes - Triggers TP Contraintes - Triggers 1. Préambule Oracle est accessible sur le serveur Venus et vous êtes autorisés à accéder à une instance licence. Vous utiliserez l interface d accés SQL*Plus qui permet l exécution

Plus en détail

L optimiser ORACLE. L optimiser ORACLE suit une approche classique:

L optimiser ORACLE. L optimiser ORACLE suit une approche classique: L optimiser ORACLE L optimiser ORACLE suit une approche classique: Génération de plusieurs plans d exécution. Estimation du coût de chaque plan généré. Choix du meilleur et exécution. Tout ceci est automatique,

Plus en détail

Optimisation SQL. Quelques règles de bases

Optimisation SQL. Quelques règles de bases Optimisation SQL Quelques règles de bases Optimisation des ordres SQL Page 2 1. QUELQUES RÈGLES DE BASE POUR DES ORDRES SQL OPTIMISÉS...3 1.1 INTRODUCTION...3 1.2 L OPTIMISEUR ORACLE...3 1.3 OPTIMISEUR

Plus en détail

Faculté de Sciences Économiques et de Gestion. Bases de données. Maîtrise de Sciences Économiques Année 2001-2002 Jérôme Darmont

Faculté de Sciences Économiques et de Gestion. Bases de données. Maîtrise de Sciences Économiques Année 2001-2002 Jérôme Darmont Faculté de Sciences Économiques et de Gestion Bases de données Maîtrise de Sciences Économiques Année 2001-2002 Jérôme Darmont http://eric.univ-lyon2.fr/~jdarmont/ Plan du cours I. Introduction II. Le

Plus en détail

FONCTIONS DE TRAITEMENT} COUNT

FONCTIONS DE TRAITEMENT} COUNT Nom Prénom Promotion Date Buhl Damien Année 1 Groupe 2 21 Janvier 2007 CER Prosit n 22 Mots-Clés : - Requête/Langage SQL Le langage SQL (Structured Query Language) est un langage de requêtes, il permet

Plus en détail

Optimisation. Bases de Données. Année 2007-08

Optimisation. Bases de Données. Année 2007-08 Optimisation Bases de Données Année 2007-08 Les index Les index sont utilisés pour accélérer l accès aux données. fonction de hachage qui permet de retrouver rapidement un ou des enregistrements les clés

Plus en détail

Optimisation des bases de données

Optimisation des bases de données Optimisation des bases de données Mise en œuvre sous Oracle Laurent Navarro Avec la contribution technique d Emmanuel Lecoester Pearson Education France a apporté le plus grand soin à la réalisation de

Plus en détail

2 ème PARTIE : LE LANGAGE SQL

2 ème PARTIE : LE LANGAGE SQL 2 ème PARTIE : LE LANGAGE SQL PLAN : I. Le langage de manipulation des données II. Le langage de définition des données III. Administration de la base de données IV. Divers (HORS PROGRAMME) Introduction:

Plus en détail

SQL : Origines et Evolutions

SQL : Origines et Evolutions SQL : Origines et Evolutions SQL est dérivé de l'algèbre relationnelle et de SEQUEL Il a été intégré à SQL/DS, DB2, puis ORACLE, INGRES, Il existe trois versions normalisées, du simple au complexe : SQL1

Plus en détail

Chap. 5 : Langage SQL (Structured Query Language) Pr. : Mohamed BASLAM Contact : baslam.med@gmail.com Niveau : S4 BCG Année : 2014/2015 1

Chap. 5 : Langage SQL (Structured Query Language) Pr. : Mohamed BASLAM Contact : baslam.med@gmail.com Niveau : S4 BCG Année : 2014/2015 1 Chap. 5 : Langage SQL (Structured Query Language) Pr. : Mohamed BASLAM Contact : baslam.med@gmail.com Niveau : S4 BCG Année : 2014/2015 1 Plan Généralités Langage de Définition des (LDD) Langage de Manipulation

Plus en détail

Il est nécessaire de connaître au moins un système d'exploitation de type graphique.

Il est nécessaire de connaître au moins un système d'exploitation de type graphique. GBD-030 Oracle Prise en main Saint-Denis à 9h30 5 jours Objectifs : Une formation Oracle complète pour découvrir tous les concepts du système et les différentes façons de les utiliser concrètement tout

Plus en détail

IFT3030 Base de données. Chapitre 6 SQL. Plan du cours

IFT3030 Base de données. Chapitre 6 SQL. Plan du cours IFT3030 Base de données Chapitre 6 SQL Plan du cours Introduction Architecture Modèles de données Modèle relationnel Algèbre relationnelle SQL Conception Fonctions avancées Concepts avancés Modèle des

Plus en détail

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43 Techniques de stockage Techniques de stockage, P. Rigaux p.1/43 Techniques de stockage Contenu de ce cours : 1. Stockage de données. Supports, fonctionnement d un disque, technologie RAID 2. Organisation

Plus en détail

SQL et Bases de données relationnelles. November 26, 2013

SQL et Bases de données relationnelles. November 26, 2013 November 26, 2013 SQL : En tant que langage d interrogation En tant que langage de mise à jour En tant que langage de définition de données Langages de requête Langages qui permettent d interroger la BD

Plus en détail

Oracle 11g Optimisez vos bases de données en production (ressources matérielles, stockage, mémoire, requêtes)

Oracle 11g Optimisez vos bases de données en production (ressources matérielles, stockage, mémoire, requêtes) Avant-propos 1. Lectorat 11 2. Pré-requis 12 3. Objectifs 12 4. Environnement technique 13 Choisir la bonne architecture matérielle 1. Introduction 15 2. Architecture disque 16 2.1 La problématique de

Plus en détail

Bases de Données Avancées

Bases de Données Avancées 1/55 Bases de Données Avancées Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin, F-93017

Plus en détail

Théorie et pratique de Base de données Oracle M.Boubetra 1 Système d Information But : gérer un ensemble d informations Stockage Consultation Modification Suppression Edition 2 Conception d un système

Plus en détail

Cours 7 : Langage de définition, manipulation et contrôle des données

Cours 7 : Langage de définition, manipulation et contrôle des données Cours 7 : Langage de définition, manipulation et contrôle des données Objets d une base de données Dans un schéma Tables, vues Index, clusters, séquences, synonymes Packages, procédures, fonctions, déclencheurs

Plus en détail

TP ABD. Affichez le nom de la base, le nom de l'instance et la taille des blocs de données.

TP ABD. Affichez le nom de la base, le nom de l'instance et la taille des blocs de données. TP ABD Vues dynamiques adéquates, permettant de vérifier l'état (open) de la base, s assurez que les fichiers de la base ont été crées et vérifier la taille de l instance (Total System Global Area) select

Plus en détail

Cours 3. Développement d une application BD. DBA - Maîtrise ASR - Université Evry

Cours 3. Développement d une application BD. DBA - Maîtrise ASR - Université Evry Cours 3 Développement d une application BD 1 Plan du cours Gestion de la sécurité des données Optimisation des schémas de bases via la dénormalisation Utilisation de vues Placement du code applicatif dans

Plus en détail

Optimisation des Requêtes D après J. Akoka - I. Wattiau

Optimisation des Requêtes D après J. Akoka - I. Wattiau NFE113 Administration et configuration des bases de données 2011 Optimisation des Requêtes D après J. Akoka - I. Wattiau 1 Eric Boniface Introduction Fournir l'algorithme d'accès à la B.D. pour répondre

Plus en détail

PLAN DE COURS ORACLE : ADMINISTRATION DE BASES DE DONNEES. Objectif. Code. Dure e. Public Concerne. Pre -requis. Programme OR305

PLAN DE COURS ORACLE : ADMINISTRATION DE BASES DE DONNEES. Objectif. Code. Dure e. Public Concerne. Pre -requis. Programme OR305 PLAN DE COURS ORACLE : ADMINISTRATION DE BASES DE DONNEES Objectif Administrer une ou plusieurs bases de, tant sous l'aspect "gestionnaire de " que sous l'aspect "responsable système Oracle". Public Concerne

Plus en détail

Le Langage De Description De Données(LDD)

Le Langage De Description De Données(LDD) Base de données Le Langage De Description De Données(LDD) Créer des tables Décrire les différents types de données utilisables pour les définitions de colonne Modifier la définition des tables Supprimer,

Plus en détail

Notion de base de données

Notion de base de données Notion de base de données Collection de données opérationnelles enregistrées sur un support adressable et utilisées par les systèmes et les applications Les données doivent être structurées indépendamment

Plus en détail

Performances. Gestion des serveurs (2/2) Clustering. Grid Computing

Performances. Gestion des serveurs (2/2) Clustering. Grid Computing Présentation d Oracle 10g Chapitre VII Présentation d ORACLE 10g 7.1 Nouvelles fonctionnalités 7.2 Architecture d Oracle 10g 7.3 Outils annexes 7.4 Conclusions 7.1 Nouvelles fonctionnalités Gestion des

Plus en détail

TP11 - Administration/Tuning

TP11 - Administration/Tuning TP11 - Administration/Tuning MIAGE #3-2006/2007 January 9, 2007 1 Architecture physique d une base Oracle 1.1 La structure physique Une base de données Oracle est composé de fichiers (au sens du système

Plus en détail

COMPOSANTS DE L ARCHITECTURE D UN SGBD. Chapitre 1

COMPOSANTS DE L ARCHITECTURE D UN SGBD. Chapitre 1 1 COMPOSANTS DE L ARCHITECTURE D UN SGBD Chapitre 1 Généralité 2 Les composants principaux de l architecture d un SGBD Sont: Les processus Les structures mémoires Les fichiers P1 P2 Pn SGA Fichiers Oracle

Plus en détail

Bases de Données Avancées

Bases de Données Avancées 1/116 Bases de Données Avancées Implantation d une BD Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue

Plus en détail

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 SQL Sommaire : COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 COMMANDES DE MANIPULATION DE DONNEES... 2 COMMANDES DE CONTROLE TRANSACTIONNEL... 2 COMMANDES DE REQUETE DE DONNEES... 2 COMMANDES

Plus en détail

Auto-évaluation Oracle: cours de base

Auto-évaluation Oracle: cours de base Auto-évaluation Oracle: cours de base Document: F0475Test.fm 14/01/2008 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION ORACLE: COURS DE

Plus en détail

Master Exploration Informatique des données DataWareHouse

Master Exploration Informatique des données DataWareHouse Master Exploration Informatique des données DataWareHouse Binôme Ahmed BENSI Enseignant tahar ARIB SOMMAIRE I. Conception...1 1. Contexte des contrats...1 2. Contexte des factures...1 II. Modèle physique...2

Plus en détail

BD50. TP5 : Développement PL/SQL Avec Oracle SQL Developer. Gestion Commerciale

BD50. TP5 : Développement PL/SQL Avec Oracle SQL Developer. Gestion Commerciale Département Génie Informatique BD50 TP5 : Développement PL/SQL Avec Oracle SQL Developer Gestion Commerciale Françoise HOUBERDON & Christian FISCHER Copyright Avril 2007 Présentation de la gestion commerciale

Plus en détail

//////////////////////////////////////////////////////////////////// Administration bases de données

//////////////////////////////////////////////////////////////////// Administration bases de données ////////////////////// Administration bases de données / INTRODUCTION Système d informations Un système d'information (SI) est un ensemble organisé de ressources (matériels, logiciels, personnel, données

Plus en détail

SQL Les fondamentaux du langage (2ième édition)

SQL Les fondamentaux du langage (2ième édition) Introduction 1. Un peu d'histoire 11 2. Les normes SQL 12 3. Description rapide du modèle relationnel 14 3.1 Principaux concepts du modèle relationnel 15 3.2 Principales règles 16 4. Les opérateurs en

Plus en détail

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles) SGBDR Systèmes de Gestion de Bases de Données (Relationnelles) Plan Approches Les tâches du SGBD Les transactions Approche 1 Systèmes traditionnels basés sur des fichiers Application 1 Gestion clients

Plus en détail

Bases de Données Avancées

Bases de Données Avancées 1/62 Bases de Données Avancées Introduction & Rappel Conception et Modélisation Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR

Plus en détail

I) Bases de données et tables :

I) Bases de données et tables : I) Bases de données et tables : Un S.G.B.D. est un outil pour organiser, stocker, modifier, calculer et extraire des infos. Une B.D.R. peut être considérée comme un ensemble de tables à 2 dimensions. Exemple

Plus en détail

Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes Langage SQL (1) Sébastien Limet Denys Duchier IUT Orléans 4 septembre 2007 Notions de base qu est-ce qu une base de données? SGBD différents type de bases de données quelques systèmes existants Définition

Plus en détail

1.1/Architecture des SGBD Les architectures physiques de SGBD sont très liées au mode de répartition.

1.1/Architecture des SGBD Les architectures physiques de SGBD sont très liées au mode de répartition. LP Informatique(DA2I), F7 : Administration Système, Réseaux et Base de données 15/11/2007, Enseignant : M. Nakechbnadi, mail : nakech@free.fr Première parie : Administration d une BD Chapitre 1 : Architecture

Plus en détail

Cours Bases de données 2ème année IUT

Cours Bases de données 2ème année IUT Cours Bases de données 2ème année IUT Cours 13 : Organisation d une base de données, ou comment soulever (un peu) le voile Anne Vilnat http://www.limsi.fr/individu/anne/cours Plan 1 Les clusters de table

Plus en détail

Table des matières. Module 1 L ARCHITECTURE D ORACLE... 1-1. Module 2 L INSTALLATION... 2-1

Table des matières. Module 1 L ARCHITECTURE D ORACLE... 1-1. Module 2 L INSTALLATION... 2-1 Table des matières Module 1 L ARCHITECTURE D ORACLE... 1-1 La base de données... 1-2 Le stockage des données... 1-4 L instance... 1-6 La zone «Shared Pool»... 1-7 La zone «Buffer Cache»... 1-8 L exécution

Plus en détail

L2 sciences et technologies, mention informatique SQL

L2 sciences et technologies, mention informatique SQL Bases de données L2 sciences et technologies, mention informatique SQL ou : le côté obscure de la jolie théorie films titre réalisateur année starwars lucas 1977 nikita besson 1990 locataires ki-duk 2005

Plus en détail

Examen Administration BD (Module FMIN363)

Examen Administration BD (Module FMIN363) Examen Administration BD (Module FMIN363) 1. Optimisation de requêtes (I. Mougenot) Un caviste veut gérer l ensemble des vins référencés au sein de sa cave. L information associée à la cave est volontairement

Plus en détail

UMBB, Département Informatique Cours Master 1 BDA Responsable : A. AIT-BOUZIAD Le 06 Décembre 2011 CHAPITRE 2 CONTRÖLE DE DONNEES DANS SQL

UMBB, Département Informatique Cours Master 1 BDA Responsable : A. AIT-BOUZIAD Le 06 Décembre 2011 CHAPITRE 2 CONTRÖLE DE DONNEES DANS SQL UMBB, Département Informatique Cours Master 1 BDA Responsable : A. AIT-BOUZIAD Le 06 Décembre 2011 CHAPITRE 2 CONTRÖLE DE DONNEES DANS SQL I Gestion des utilisateurs et de leurs privilèges I.1 Gestion

Plus en détail

Oracle Database 10g: Les fondamentaux du langage SQL I

Oracle Database 10g: Les fondamentaux du langage SQL I Oracle University Appelez-nous: +33 (0) 1 57 60 20 81 Oracle Database 10g: Les fondamentaux du langage SQL I Durée: 3 Jours Description Ce cours offre aux étudiants une introduction à la technologie de

Plus en détail

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ; RÈGLES A SUIVRE POUR OPTIMISER LES REQUÊTES SQL Le but de ce rapport est d énumérer quelques règles pratiques à appliquer dans l élaboration des requêtes. Il permettra de comprendre pourquoi certaines

Plus en détail

Bases de données. Jean-Yves Antoine. VALORIA - Université François Rabelais Jean-Yves.Antoine@univ-tours.fr. L3 S&T mention Informatique

Bases de données. Jean-Yves Antoine. VALORIA - Université François Rabelais Jean-Yves.Antoine@univ-tours.fr. L3 S&T mention Informatique Bases de données Jean-Yves Antoine VALORIA - Université François Rabelais Jean-Yves.Antoine@univ-tours.fr L3 S&T mention Informatique Bases de Données IUP Vannes, UBS J.Y. Antoine 1 Bases de données SGBD

Plus en détail

Introduction aux bases de données

Introduction aux bases de données 1/73 Introduction aux bases de données Formation continue Idir AIT SADOUNE idir.aitsadoune@supelec.fr École Supérieure d Électricité Département Informatique Gif sur Yvette 2012/2013 2/73 Plan 1 Introduction

Plus en détail

Cours Bases de données 2ème année IUT

Cours Bases de données 2ème année IUT Cours Bases de données 2ème année IUT Cours 1 : Vues et Index Anne Vilnat http://www.limsi.fr/individu/anne/cours Plan 1 Les Vues Généralités Syntaxe Avantages Conditions de mise à jour 2 Index Généralités

Plus en détail

Introduction aux SGBDR

Introduction aux SGBDR 1 Introduction aux SGBDR Pour optimiser une base Oracle, il est important d avoir une idée de la manière dont elle fonctionne. La connaissance des éléments sous-jacents à son fonctionnement permet de mieux

Plus en détail

Objectif. Participant. Prérequis. Pédagogie. Oracle Database 10g - Administration Workshop II. 5 Jours [35 Heures]

Objectif. Participant. Prérequis. Pédagogie. Oracle Database 10g - Administration Workshop II. 5 Jours [35 Heures] Plan de cours disponible à l adresse http://www.adhara.fr/.aspx Objectif Utiliser RMAN pour créer et gérer des jeux de sauvegarde et des copies d'image Récupérer la base de données jusqu'à un point dans

Plus en détail

Chapitre 1 : Introduction

Chapitre 1 : Introduction Chapitre 1 : Introduction A. Objectifs de l'ouvrage.................. 8 B. Présentation d'oracle11g................. 8 1. Introduction........................ 8 2. Principales nouveautés de la version

Plus en détail

Oracle Database 11g : Tuning Release 2

Oracle Database 11g : Tuning Release 2 Oracle University Appelez-nous: +33 (0) 1 57 60 20 81 Oracle Database 11g : Tuning Release 2 Durée: 5 Jours Description Le cours démarre avec une base de données inconnue nécessitant un réglage. Les différents

Plus en détail

Langage SQL : créer et interroger une base

Langage SQL : créer et interroger une base Langage SQL : créer et interroger une base Dans ce chapitre, nous revenons sur les principales requêtes de création de table et d accès aux données. Nous verrons aussi quelques fonctions d agrégation (MAX,

Plus en détail

SQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste

SQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste Christian Soutou Avec la participation d Olivier Teste SQL pour Oracle 4 e édition Groupe eyrolles, 2004, 2005, 2008, 2010, is BN : 978-2-212-12794-2 Partie III SQL avancé La table suivante organisée en

Plus en détail

2.4 Le dictionnaire de données d'oracle a) donner la liste des vues du dictionnaire de données d'oracle(dict) triée par nom

2.4 Le dictionnaire de données d'oracle a) donner la liste des vues du dictionnaire de données d'oracle(dict) triée par nom Exercices A : chap.2 & 3 2.1 Quel est le nom des instances actives sur votre machine host? 2.2 Découverte de l'arborescence d'oracle et de quelques fichiers sensibles a) localiser les fichiers suivants

Plus en détail

Introduction aux bases de données relationnelles

Introduction aux bases de données relationnelles Formation «Gestion des données scientifiques : stockage et consultation en utilisant des ases de données» 24 au 27 /06/08 Introduction aux ases de données relationnelles Christine Tranchant-Dureuil UMR

Plus en détail

Modèle relationnel Création et modification des relations en SQL

Modèle relationnel Création et modification des relations en SQL Modèle relationnel Création et modification des relations en SQL ENT - Clé sql2009 BD - Mírian Halfeld-Ferrari p. 1 Insertion dans une relation Pour insérer un tuple dans une relation: insert into Sailors

Plus en détail

SQL pour. Oracle 10g. Razvan Bizoï. Tsoft, Groupe Eyrolles, 2006, ISBN : 2-212-12055-9, ISBN 13 : 978-2-212-12055-4

SQL pour. Oracle 10g. Razvan Bizoï. Tsoft, Groupe Eyrolles, 2006, ISBN : 2-212-12055-9, ISBN 13 : 978-2-212-12055-4 SQL pour Oracle 10g Razvan Bizoï Tsoft, Groupe Eyrolles, 2006, ISBN : 2-212-12055-9, ISBN 13 : 978-2-212-12055-4 Table des matières PRÉAMBULE... MODULE 1 : PRÉSENTATION DE L ENVIRONNEMENT... 1-1 Qu'est-ce

Plus en détail

CYCLE CERTIFIANT ADMINISTRATEUR BASES DE DONNÉES

CYCLE CERTIFIANT ADMINISTRATEUR BASES DE DONNÉES SGBD / Aide à la décision CYCLE CERTIFIANT ADMINISTRATEUR BASES DE DONNÉES Réf: KAO Durée : 15 jours (7 heures) OBJECTIFS DE LA FORMATION Ce cycle complet vous apportera les connaissances nécessaires pour

Plus en détail

Web dynamique. Techniques, outils, applications. (Partie C)

Web dynamique. Techniques, outils, applications. (Partie C) Web dynamique Techniques, outils, applications (Partie C) Nadir Boussoukaia - 2006 1 SOMMAIRE 1. MySQL et PHP (20 min) 2. SQL (petits rappels) (20 min) 2 MySQL et PHP Synthèse 3 MySQL et PHP SGBD MySQL

Plus en détail

Chapitre IV La Structure physique de la Base de données

Chapitre IV La Structure physique de la Base de données LP Informatique(DA2I) UF7 : Administration Système, Réseaux et Base de données 17/1/2008, Enseignant : M. Nakechbnadi mail : nakech@free.fr Première parie : Administration d une BD Chapitre IV La Structure

Plus en détail

Bases de données et Systèmes transactionnels

Bases de données et Systèmes transactionnels Bases de données et Systèmes transactionnels Dominique Laurent dominique.laurent@u-cergy.fr Tao-Yan Jen jen@u-cergy.fr Plan du cours Introduction Modèle Entité/Association Langage SQL - ORACLE Architectures

Plus en détail

Oracle Maximum Availability Architecture

Oracle Maximum Availability Architecture Oracle Maximum Availability Architecture Disponibilité des systèmes d informations Technologies et recommandations 1 Qu est-ce que Oracle Maximum Availability Architecture (MAA)? 1. Objectif : Disponibilité

Plus en détail

Le Langage SQL version Oracle

Le Langage SQL version Oracle Université de Manouba École Supérieure d Économie Numérique Département des Technologies des Systèmes d Information Le Langage SQL version Oracle Document version 1.1 Mohamed Anis BACH TOBJI anis.bach@isg.rnu.tn

Plus en détail

CHAPITRE 1 ARCHITECTURE BASES DE DONNÉES AVANCÉES 2014-2015 20/10/2014. Université des sciences et de la Technologie Houari Boumediene USTHB Alger

CHAPITRE 1 ARCHITECTURE BASES DE DONNÉES AVANCÉES 2014-2015 20/10/2014. Université des sciences et de la Technologie Houari Boumediene USTHB Alger Université des sciences et de la Technologie Houari Boumediene USTHB Alger Département d Informatique BASES DE DONNÉES AVANCÉES 2014-2015 RESPONSABLES M. KAMEL BOUKHALFA (SII CHAPITRE 1 ARCHITECTURE 1

Plus en détail

Devoir Data WareHouse

Devoir Data WareHouse Université Paris XIII Institut Galilée Master 2-EID BENSI Ahmed CHARIFOU Evelyne Devoir Data WareHouse Optimisation, Transformation et Mise à jour utilisées par un ETL Mr R. NEFOUSSI Année 2007-2008 FICHE

Plus en détail

Bases de Données Avancées

Bases de Données Avancées 1/26 Bases de Données Avancées DataWareHouse Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin,

Plus en détail

Bases de données et sites WEB

Bases de données et sites WEB Bases de données et sites WEB Cours2 : Sécurité et contrôles d accès Anne Doucet 1 Authentification Autorisation Privilèges Rôles Profils Limitations de ressources Plan Audit Contrôle d accès via les vues

Plus en détail

Notes de cours : bases de données distribuées et repliquées

Notes de cours : bases de données distribuées et repliquées Notes de cours : bases de données distribuées et repliquées Loïc Paulevé, Nassim Hadj-Rabia (2009), Pierre Levasseur (2008) Licence professionnelle SIL de Nantes, 2009, version 1 Ces notes ont été élaborées

Plus en détail

Auto-évaluation DB2 for z/os: cours de base

Auto-évaluation DB2 for z/os: cours de base Auto-évaluation DB2 for z/os: cours de base Document: f1067test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION DB2 FOR Z/OS:

Plus en détail

NIMBUS TRAINING. Mise en œuvre d une SGBD dans toutes les étapes du projet. Déscription. Objectifs. Publics. Durée. Pré-requis

NIMBUS TRAINING. Mise en œuvre d une SGBD dans toutes les étapes du projet. Déscription. Objectifs. Publics. Durée. Pré-requis Mise en œuvre d une SGBD dans toutes les étapes du projet. Déscription A partir des retours d expérience, et des préconisations des éditeurs, présenter les facteurs clés de succès et les bonnes pratiques

Plus en détail

TRAVAUX PRATIQUES DE BASES DE DONNEES PARTIE A : CONCEPTION DU MCD ET MLD

TRAVAUX PRATIQUES DE BASES DE DONNEES PARTIE A : CONCEPTION DU MCD ET MLD TRAVAUX PRATIQUES DE BASES DE DONNEES PARTIE A : CONCEPTION DU MCD ET MLD Cette partie est à réaliser sur papier uniquement. Il s agit de réaliser un modèle conceptuel de données (MCD) suivi du modèle

Plus en détail

Bases de données avancées

Bases de données avancées Bases de données avancées Jean-Yves Antoine LI - Université François Rabelais de Tours Jean-Yves.Antoine@univ-tours.fr UFR Sciences et Techniques IUP GMI Blois IUP3 Bases de Données avancées IUP Blois,

Plus en détail

Bases de Données relationnelles et leurs systèmes de Gestion

Bases de Données relationnelles et leurs systèmes de Gestion III.1- Définition de schémas Bases de Données relationnelles et leurs systèmes de Gestion RAPPELS Contraintes d intégrité sous Oracle Notion de vue Typage des attributs Contrainte d intégrité Intra-relation

Plus en détail

Évaluation et optimisation de requêtes

Évaluation et optimisation de requêtes LOG660 - Bases de données de haute performance Évaluation et optimisation de requêtes Département de génie logiciel et des TI Question Laquelle de ces requêtes est la plus performante? Requête 1: SELECT

Plus en détail

Langage de Requêtes. talel@infres.enst.fr

Langage de Requêtes. talel@infres.enst.fr Langage de Requêtes talel@infres.enst.fr Supports de cours : (1) Database Management Systems, R. Ramakrishnan and J. Gehrke, ed. McGrawHill, 2000. (2) Bases de Données, G. Gardarin, ed. Eyrolles, 2001.

Plus en détail

3 - Administration de BD SQL. Chapitre III. Administration des BD SQL. Actions possibles. Composants ORACLE. Chapitre 3 : Administration des BD SQL 1

3 - Administration de BD SQL. Chapitre III. Administration des BD SQL. Actions possibles. Composants ORACLE. Chapitre 3 : Administration des BD SQL 1 3 - Administration de BD SQL Chapitre III Administration des BD SQL 3.1 Création de BD 3.2 Gestion des utilisateurs 3.3 Administration des transactions 3.4 Accès à une BD distante 3.5 Conclusions Composants

Plus en détail

Création d'une base de données Oracle

Création d'une base de données Oracle TP1 Création d'une base de données Oracle MASTER INFORMATIQUE I2A Année universitaire 2006-2007 RAPPORT DE PROJET (Document de 15 pages) Encadrant : Rosaire Amore Participants : Erik Allais Abdel Rafrafi

Plus en détail

PL/SQL. Pourquoi PL/SQL? Introduction. Principales caractéristiques de PL/SQL. Utilisation de PL/SQL

PL/SQL. Pourquoi PL/SQL? Introduction. Principales caractéristiques de PL/SQL. Utilisation de PL/SQL PL/SQL Avertissement : cette partie du cours n est qu un survol du langage PL/SQL, utile pour écrire des procédures stockées simples Elle laisse de côté de nombreuses fonctionnalités du langage Université

Plus en détail

Instructions SQL. Première partie : Langage de description et de gestion des données

Instructions SQL. Première partie : Langage de description et de gestion des données Instructions SQL Première partie : Langage de description et de gestion des données Quelques instructions et leur syntaxe 1. Introduction Trois principales catégories d instructions. Instructions de création

Plus en détail

Université Paris 13 TP Base de données Année 2008-2009 Institut Galilée feuille 2 : requêtes SQL INFO1

Université Paris 13 TP Base de données Année 2008-2009 Institut Galilée feuille 2 : requêtes SQL INFO1 Université Paris 13 TP Base de données Année 2008-2009 Institut Galilée feuille 2 : requêtes SQL INFO1 Exercice 1 : requêtes simples Pour traiter de la vente par correspondance on considère la modélisation

Plus en détail

TP Bases de données réparties

TP Bases de données réparties page 1 TP Bases de données réparties requêtes réparties Version corrigée Auteur : Hubert Naacke, révision 5 mars 2003 Mots-clés: bases de données réparties, fragmentation, schéma de placement, lien, jointure

Plus en détail

CHAPITRE 1 ARCHITECTURE

CHAPITRE 1 ARCHITECTURE 07/04/2014 Université des sciences et de la Technologie Houari Boumediene USTHB Alger Département d Informatique ADMINISTRATION ET TUNING DE BASES DE DONNÉES CHAPITRE 1 ARCHITECTURE RESPONSABLE DR K. BOUKHALFA

Plus en détail

Apprendre le langage SQL le DDL - 1 / 30 - Apprendre le langage SQL par l exemple

Apprendre le langage SQL le DDL - 1 / 30 - Apprendre le langage SQL par l exemple Apprendre le langage SQL le DDL - 1 / 30 - Apprendre le langage SQL par l exemple Ce document est publié sous licence Creative Commons CC-by-nc-nd. Il ne peut ni être modifié, ni faire l objet d une exploitation

Plus en détail

Bases de données relationnelles

Bases de données relationnelles Bases de données relationnelles Système de Gestion de Bases de Données Une base de données est un ensemble de données mémorisé par un ordinateur, organisé selon un modèle et accessible à de nombreuses

Plus en détail

Oracle 12c Administration

Oracle 12c Administration Introduction 1. Objectifs de l'ouvrage 19 2. Présentation d'oracle Database 12c 20 2.1 Introduction 20 2.2 Principales nouveautés de la version 12 22 3. Conventions d'écriture 24 Les bases de l'architecture

Plus en détail

10/04/2011. Toute requête SQL est traitée en trois étapes :

10/04/2011. Toute requête SQL est traitée en trois étapes : 1 1. Rappels 2. Structures d indexation et placement 3. Algorithmes de sélection 4. Algorithmes de jointure Toute requête SQL est traitée en trois étapes : 1. Analyse et traduction de la requête : on vérifie

Plus en détail

Développer en PL/SQL. Sommaire du cours

Développer en PL/SQL. Sommaire du cours Sommaire du cours Module 1 Introduction et Rappels Module 2 Eléments de langage PL/SQL Module 3 Accès à la Base de données Module 4 Traitements stockés Module 5 Gestion des exceptions Module 6 - Compléments

Plus en détail

1/28. I Utiliser à bon escient les types de données proposés par SQL, ou. Introduction 3/28

1/28. I Utiliser à bon escient les types de données proposés par SQL, ou. Introduction 3/28 Introduction 1/28 2/28 Anne-Cécile Caron Licence MIAGE - BDD 2015-2016 Objectifs Après ce cours, les TD et TP correspondants, vous devez être capables de I Créer des tables à partir d un modèle I Utiliser

Plus en détail

Plan de cette partie. Implantation des SGBD relationnels. Définition et fonctionnalités. Index. Coûts pour retrouver des données

Plan de cette partie. Implantation des SGBD relationnels. Définition et fonctionnalités. Index. Coûts pour retrouver des données Implantation des SGBD relationnels Université de Nice Sophia-Antipolis Version 3.4 25//06 Richard Grin Plan de cette partie Nous allons étudier (très rapidement!) quelques éléments de solutions utilisés

Plus en détail

Administration des bases de données relationnelles Part I

Administration des bases de données relationnelles Part I Administration des bases de données relationnelles Part I L administration des bases de données requiert une bonne connaissance - de l organisation et du fonctionnement interne du SGBDR : structures logiques

Plus en détail

SQL : création et mises-à-jour de schémas et de données

SQL : création et mises-à-jour de schémas et de données SQL : création et mises-à-jour de schémas et de données Commandes de définition de données (DDL) Commandes de mise-à-jour de données (DML) Vues SQL-MAJ, vues-1 / 33 Exemple Définition de la relation

Plus en détail

Chapitre 7 Le Langage de Définition de Données

Chapitre 7 Le Langage de Définition de Données Chapitre 7 Le Langage de Définition de Données Jusque là, nous avons réalisé toutes les interrogations possibles sur les données, sans pour autant savoir comment gérer leurs structures. Dans ce chapitre,

Plus en détail

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL Cours PL/SQL Langage propre à Oracle basé sur ADA Offre une extension procédurale à SQL PL/SQL permet d utiliser un sous-ensemble du langage SQL des variables, des boucles, des alternatives, des gestions

Plus en détail

Conception de bases de données relationnelles

Conception de bases de données relationnelles Conception de bases de données relationnelles Langage PL/(pg)SQL Marie Szafranski 2015-2016 ensiie 1 2015-2016 ensiie 1 Aperçu de PL/(pg)SQL Aperçu de PL/(pg)SQL PL/SQL : Procedural Language for SQL (Oracle)

Plus en détail

Présentation du module Base de données spatio-temporelles

Présentation du module Base de données spatio-temporelles Présentation du module Base de données spatio-temporelles S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Partie 1 : Notion de bases de données (12,5h ) Enjeux et principes

Plus en détail

Rudiments SQL pour Oracle BDA_RCS

Rudiments SQL pour Oracle BDA_RCS Rudiments SQL pour Oracle BDA_RCS 08-11-2014 1 La base de données Gestion des commandes 08-11-2014 2 Les noms de colonnes sont volontairement simplifiés 3 Ajout de nouvelles colonnes dans des tables qui

Plus en détail