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

Slides:



Advertisements
Présentations similaires
Contrôle de la concurrence
Advertisements

Programme Introduction aux BD et aux SGBD Le modèle relationnel
Découverte de SQL Server par la pratique pour les administrateurs expérimentés Module 6 : Protection des données Bertrand Audras Microsoft Technology Center.
19 septembre 2006 Tendances Logicielles IBM Rational Data Architect Un outil complet de modélisation et de conception pour SGBD Isabelle Claverie-Berge.
Introduction Pour concrétiser l’enseignement assisté par ordinateur
TRANSACTION Problèmes posés
51 Les technologies XML Cours 6 : XML et les architectures N-tiers – Tier Métier Janvier Version 1.0 -
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Initiation au système d’information et aux bases de données
Développement d’applications web
Contrôles d'accès aux données
Rappel sur les bases de données et le vocabulaire
Module 1 : Préparation de l'administration d'un serveur
Plan du Cours Définition de la BI Objectif de la BI Fonctionnement d’une plateforme BI Technologies de la BI Composantes de la BI Les caractéristiques.
Introduction à la conception de Bases de Données Relationnelles
Les bases de données Cours assuré par: Mlle Smii imen
Chap 4 Les bases de données et le modèle relationnel
Le Travail Collaboratif ...
L’utilisation des bases de données
Gestion des bases de données
Services fournis par le SI et technologies associées
SYSTEME DE GESTION DE BASES DE DONNEES
Dépendances entre les chapitres
VI. Analyse des solutions techniques
VI. Analyse des solutions techniques
Staf 2x Cours de bases de données
Constitution des bases de données. n Partenaires u Creatis u Liris/Systèmes dinformation communicants n Lot de travail situé entre le lot Applications.
Les concepts et les méthodes des bases de données
Les transactions.
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Gestion des transactions SQLServer.
Systèmes de gestion de bases de données NFP 107 Les techniques du contrôle de concurrence Philippe Rigaux
Introduction.
Présentation Session RPSI
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
Bases de données Open Source Pierre Crépieux 13/03/2008.
Objectifs A la fin de ce chapitre, vous pourrez : présenter l'utilisation d'opérations de chargement de données par chemin direct décrire l'utilisation.
Surveiller et résoudre le conflit de verrouillage
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Les systèmes de gestion de base de données (SGBD)
Ait Ahmed Madjid Cohen Lior Jaballah Seddik Leborgne Fabien
Institut Supérieur d’Informatique
PostgreSQL – Présentation
Module 4 : Implémentation de l'intégrité des données.
LE DATA WAREHOUSE.
Le Langage SQL Introduction. 2 Historique du Langage SQL E. F. CODD : premiers articles dans les années 70 IBM crée le langage SEQUEL (Structured English.
SYSTEMES d’INFORMATION séance 1 : Introduction et définitions
21/04/2015© Robert Godin. Tous droits réservés.1 6Gestion des contraintes d’intégrité en SQL n Contrainte d'intégrité statique – respectée pour chacun.
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
Centralisation des sites web d’ELTA & Mise en place d’un serveur NAS
Module 1 : Vue d'ensemble de Microsoft SQL Server
Objectifs A la fin de ce chapitre, vous pourrez :
Cours n°4M1.ist-ie (S. Sidhom) UE 203 Promo. M1 IST-IE 2006/07 Conception d’un système d'information sur Internet Architecture trois-tiers : technologies.
Les vues Une vue: c’est une relation virtuelle. Définie par:
02/06/2015© Robert Godin. Tous droits réservés.1 5 Interface entre SQL et un programme n SQL incomplet n Défaut d'impédance (impedance mismatch) – modèle.
Initiation aux SGBD Frédéric Gava (MCF)
Cours Access TuanLoc NGUYEN. Contact Nguyen TuanLoc Tél: Web:
Dr Mohamed Anis BACH TOBJI
1 Structure en MC Principes Stockage des données dans la mémoire volatile d’un ordinateur Problèmes Stockage temporaire «Petits» volumes de données Langages.
Les bases de données Séance 8 Jointures.
Séance /10/2004 SGBD - Approches & Principes.
INTRODUCTION AUX BASES DE DONNEES
NIVEAU LOGIQUE Vues. Fenêtre dynamique sur la base Ses données proviennent d'autres tables ou d'autres vues.
Introduction Module 1.
DATA Warehouse Elabore par: Ajlani Wael Karous Nabil Salhi Mahmoud.
Analyse, élaboration et exploitation d’une Base de Données
Cours 11 Entrepôts de données
Projet de session Par Eve Grenier Dans le cadre du cours SCG Réalisation d’applications en SIG Jeudi le 20 avril 2006.
Développement d’applications Problèmes relatifs aux BD.
SQLSaturday Paris 2015 SSAS et le moteur relationnel Faire son choix.
1 Les bases de données Séance 5 -- Le Langage de Définition de Données ou la manœuvre de la structure de la base -- Le Langage de Manœuvre de Données.
Transcription de la présentation:

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 Fichier Application 1 Gestion clients Fichier Clients Application 2 Gestion commandes Fichier Commandes Application 3 Gestion livraison Fichier Commandes

Approche 1 Systèmes basés sur des fichiers Inconvénients Description multiple des structures des fichiers Redondance de certaines informations = risques d’incohérence Conflits si accès simultané aux fichiers

Approche 2 Systèmes basés sur des bases de données Application 1 Gestion clients Base de données Métadata Application 2 Gestion commandes SGBD Données : -T_client -T_comm -T_livr Application 3 Gestion livraison

Approche 2 Systèmes basés sur les BdeD Bases de données Collection de données organisées et partagées de manière à satisfaire les besoins en information d’une organisation Description des données dans un dictionnaire ou catalogue (métadonnées = données qui décrivent les données) Données elles-mêmes (sous forme de tables pour les bases de données relationnelles) Système de gestion de base de données Système logiciel permettant de gérer une base de données (description et contenu), d’en contrôler l‘accès et en assurer intégrité

Approches Avantages/inconvénients SGBD Contrôle de la redondance des données (et donc de leur cohérence) Contrôle de l’intégrité des données Partage des données : accès sécurisés, contrôle de la concurrence d’accès Inconvénients Complexité supplémentaire : langages SQL, techniques d’administration, etc. Coût du logiciel (mise en œuvre, administration, évolution)

Les taches d’un SGBD Contrôler la redondance Contrôler l’intégrité des données Contrôler l’accès aux données Contrôler la concurrence d’accès Autres services Assurer la reprise après incident Sauvegarde/restauration Réplication Etc.

Tâche Contrôler la redondance Le processus de conception d’une base de données passe par une analyse des données du SI Un certain nombre de règles permettent de s’assurer de la non-redondance des données : les formes normales 1FN (1ère forme normale) 2FN 3FN Le passage au modèle physique permet de réintroduire éventuellement une certain redondance contrôlée

Tâche Contrôler l’intégrité Assurer l’intégrité,la cohérence, des données d’une base de données Mise en œuvre SQL Contraintes de domaine de valeur Type de données : INT, DATE, etc. NOT NULL, DEFAULT CHECK, UNIQUE Contrainte d’intégrité d’entité PRIMARY KEY Contrainte d’intégrité référentielle FOREIGN KEY ON UPDATE – ON DELETE Déclencheurs (triggers)

Tâche Contrôler l’accès aux données S’assurer que seuls les utilisateurs ou applications autorisés accèdent aux données d’une BdeD Limiter l’accès à certaines données Mise en œuvre SQL comptes d’utilisateurs ou de groupes CREATE USER privilèges d’accès aux données pour ces comptes GRANT / REVOKE Vues et privilèges sur les vues CREATE VIEW

Tâche Contrôler la concurrence d’accès Dans un environnement multi-utilisateurs, il est indispensable de garantir que chacun ait accès à la bonne donnée lors de l’exécution de son instruction SQL (ou du groupe d’instructions) : notion de transaction verrouiller l’accès à une donnée valider/invalider un ensemble de modifications Mise en œuvre SQL Valider un ensemble de mises à jour COMMIT Invalider un ensemble de mises à jour ROLLBACK

Tâche Assurer la reprise après incident Afin de garantir l’intégrité des données en cas d’incident, les SGBD doivent mettre en œuvre un certain nombre de techniques basées sur la journalisation des modifications du contenu de la base de données Journaux d’image avant Avant toute opération de modification d’une ligne, conservation de l’image ‘avant’ de cette ligne En cas d’invalidation, on peut reconstruire la ligne Journaux de transactions Toutes les opérations peuvent être mémorisées et ré appliquées en cas de restauration

Tâche Sauvegarde / restauration Offrir les outils permettant d’effectuer des sauvegardes (backup)/ restauration (restore) Sauvegarde complète Sauvegarde différentielle Mises à jour depuis dernière complète Sauvegarde incrémentale Mises à jour depuis dernière sauvegarde

Transactions Une transaction est composée d’une suite de requêtes qui doivent vérifier les 4 propriétés suivantes : Atomicité : les requêtes de la transaction forme un tout indissociable Cohérence : les requêtes doivent être toutes annulées en cas d’échec Isolation : les modifications effectuées par les requêtes de la transaction doivent n’être accessible qu’après validation Durabilité : les modifications doivent être durables, même en cas de panne (restaurer et ré appliquer)

Transactions Concurrence et incohérences Types d’incohérences : Dirty read (lecture d’une ligne non validée) Transaction A modifie une ligne Transaction B lit la ligne modifiée Transaction A annule/valide la transaction Lecture non répétable : Transaction A lit une ligne Transaction B modifie ou supprime une ligne Transaction A essaie de relire la ligne (on s’attend à avoir les mêmes données) Fantôme Transaction A lit n lignes Transaction B ajoute/supprime une ligne Transaction essaie de relire les n lignes

Transactions Verrous / Niveau d’isolement Verrous : mécanisme qui verrouille l’accès à une ligne/page (bloc de données) Lecture (partagé) fantôme/anti-insertion Écriture Anti-fantôme/insertion Niveau d’isolement 0 : aucun verrouillage 1 : non modification des lignes lues 2 : non modification des lignes lues 3 : sécurité maximale

Transactions Interblocage / dead lock / verrou mortel Exemple : Transaction A modifie la ligne 100 Transaction B modifie la ligne 1 Transaction A veut modifier la ligne 1 Attente libération des verrous Transaction B veut modifier la ligne 100 Les SGBD décident d’abandonner une des 2 transactions au profit de l’autre

Réplication Recopier le contenu (total ou partiel) d’une base de données vers une autre Intérêt : Performance pour des sites distants Sécurité Filtrer Tout est recopié Certaines lignes, certaines colonnes

Base de données distribuée Two-phase commit (2PC) Base de données dont les données sont réparties sur plusieurs serveurs Transparence pour l’utilisateur 2PC : Dans de cas de bases de données distribuées, mécanisme permettant la validation d’une transaction mettant en œuvre plusieurs bases.

OLAP Online Analytical Processing Possibilité offerte par certains SGBD d’offrir des requêtes avec des lignes de sous-totaux dans le résultat détaillé (mot clefs ROLLUP) des données sous forme de cubes multidimensionnels (mot clefs CUBE) Fonctions de classement Rang d’une ligne par rapport aux autres, etc.

OLAP - Rollup Équivalent à SELECT A, B, C, SUM( D ) SELECT * FROM ( ) FROM T1 GROUP BY ROLLUP (A, B, C); Équivalent à SELECT * FROM ( ( SELECT A, B, C, SUM( D ) FROM T1 GROUP BY A, B, C ) UNION ALL ( SELECT A, B, NULL, SUM( D ) FROM T1 GROUP BY A, B ) ( SELECT A, NULL, NULL, SUM( D ) FROM T1 GROUP BY A ) ( SELECT NULL, NULL, NULL, SUM( D ) ) )

OLAP - Cube SELECT A, B, C, SUM( D ) Définit les sous-totaux suivants FROM T1 GROUP BY CUBE (A, B, C); Définit les sous-totaux suivants SELECT * FROM ( ( SELECT A, B, C, SUM( D ) FROM T1 GROUP BY A, B, C ) GROUP BY A, B ) GROUP BY A, C ) GROUP BY B, C ) GROUP BY A ) GROUP BY B ) GROUP BY C ) ()

Datawarehouse, datamart Entrepot de données Objectif : conserver les données de TOUTE la vie de l’entreprise Dans un entrepôt, rien n’est supprimé Produire des statistiques Modèle de données basé sur Des axes d’analyse : tiers, produits, temps Des mesures : quantité, prix Un datawarehouse des datamarts par secteur, division de l’entreprise, etc.

Datawarehouse modélisation Modèle en étoile Tables des dimensions : attributs qui caractérisent les dimensions des analyses (selon 3 axes principaux) Localisation : pays, client, Temps : année, mois, jour, Produit : produit, catégorie, Table des faits : mesures Modèle en flocon Idem. mais normalisation des tables des dimensions

Datamining Exploration des données d’un entrepôt Fouille de données : Extraire des « connaissances » Algorithmes spécifiques profils de client Profils de consommation

Cycle de vie des données d’une base de données Informatique décisionnelle EIS, SIAD Production (Performance) Extraction, transformation, chargement Analyses multidimensionnelles Base de données (Database) Entrepot (Dataware house) Extract, Transform, Load Fouille de données Entrepot (Dataware mart) Entrepot (Dataware mart) Extraction de connaissances

Middleware d’accès aux données CLIENT Interconnexion ? SERVEUR Progiciel ERP sPI IBM-DB2 sPI Oracle Outils bureautiques sPI MySQL ... sPI Postgresql sPI ...

À chaque fois qu’un client veut communiquer avec un serveur, il faut développer du code spécifique Middleware CLIENT Interconnexion SERVEUR Progiciel ERP sPI IBM-DB2 sPI Oracle Outils bureautiques sPI MySQL ... sPI Postgresql sPI ...

À chaque fois qu’un client veut communiquer avec un serveur, il faut développer du code spécifique Middleware CLIENT Interconnexion SERVEUR Progiciel ERP API universelle sPI IBM-DB2 sPI Oracle Serveur D’intermédiation Outils bureautiques sPI MySQL ... sPI Postgresql ODBC Open Database Connectivity sPI ...

Middleware d’accès aux données Le middleware ODBC (Microsoft) agit avec les SGBD comme un pilote (driver) pour le matériel

Les SGBD relationnels du marché Oracle Oracle v. 10g IBM DB2 Microsoft SQL Serveur 2005 Sybase Sybase et SQL AnyWhere Sun MySQL v. 5 (opensource) opensource PostgreSQL v.8 Firebird v.2

Évolution des SGBD Intégration de XML Intégration des concepts objet Des types de données permettant le stockage des documents XML Langage d’interrogation des colonnes de ce type Intégration des concepts objet Héritage