Upload
blancheflour-dumont
View
147
Download
3
Tags:
Embed Size (px)
Citation preview
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 1Gestion clients
Application 2Gestion commandes
Application 3Gestion livraison
FichierClients
FichierCommandes
FichierCommandes
Approche 1Systè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 1Gestion clients
Application 2Gestion commandes
Application 3Gestion livraison
SGBDDonnées :-T_client-T_comm-T_livr
Métadata
Base de données
Approche 2Systè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é
ApprochesAvantages/inconvénients SGBD Avantages
– 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âcheContrô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âcheContrô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âcheContrô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âcheContrô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âcheAssurer 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âcheSauvegarde / 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)
TransactionsConcurrence 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
TransactionsVerrous / 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
TransactionsInterblocage / 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• Attente libération des verrous
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éeTwo-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.
OLAPOnline 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
SELECT A, B, C, SUM( D )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 ) UNION ALL ( SELECT A, NULL, NULL, SUM( D ) FROM T1 GROUP BY A ) UNION ALL ( SELECT NULL, NULL, NULL, SUM( D ) )
)
OLAP - Cube
SELECT A, B, C, SUM( D )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, datamartEntrepot 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.
Datawarehousemodé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
Base de données(Database)
Entrepot(Dataware house)
Extraction, transformation,chargement
Extract, Transform,Load
Analysesmultidimensionnelles
Fouille de données
Production(Performance)
Informatique décisionnelleEIS, SIAD
Extraction de connaissances
Entrepot(Dataware mart)
Entrepot(Dataware mart)
Middleware d’accès aux données
CLIENT SERVEUR
ProgicielERP
IBM-DB2
Outils bureautiques
sPI
OraclesPI
MySQLsPI
PostgresqlsPI
...sPI
...
Interconnexion ?
Middleware
CLIENT SERVEUR
ProgicielERP
IBM-DB2
Outils bureautiques
sPI
OraclesPI
MySQLsPI
PostgresqlsPI
...sPI
...
Interconnexion
À chaque fois qu’un client veut communiquer avec un serveur, il
faut développer du code spécifique
Middleware
CLIENT SERVEUR
ProgicielERP
IBM-DB2
Outils bureautiques
sPI
OraclesPI
MySQLsPI
PostgresqlsPI
...sPI
...
Interconnexion
À chaque fois qu’un client veut communiquer avec un serveur, il
faut développer du code spécifique
APIuniverselle
ODBC Open Database Connectivity
ServeurD’intermédiation
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– 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