sgbdr systèmes de gestion de bases de données (relationnelles)

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

Upload: blancheflour-dumont

Post on 04-Apr-2015

147 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: SGBDR Systèmes de Gestion de Bases de Données (Relationnelles)

SGBDR

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

Page 2: SGBDR Systèmes de Gestion de Bases de Données (Relationnelles)

Plan

Approches Les tâches du SGBD Les transactions

Page 3: SGBDR Systèmes de Gestion de Bases de Données (Relationnelles)

Approche 1

Systèmes traditionnels basés sur des fichiers

Application 1Gestion clients

Application 2Gestion commandes

Application 3Gestion livraison

FichierClients

FichierCommandes

FichierCommandes

Page 4: SGBDR Systèmes de Gestion de Bases de Données (Relationnelles)

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

Page 5: SGBDR Systèmes de Gestion de Bases de Données (Relationnelles)

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

Page 6: SGBDR Systèmes de Gestion de Bases de Données (Relationnelles)

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é

Page 7: SGBDR Systèmes de Gestion de Bases de Données (Relationnelles)

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)

Page 8: SGBDR Systèmes de Gestion de Bases de Données (Relationnelles)

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.

Page 9: SGBDR Systèmes de Gestion de Bases de Données (Relationnelles)

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

Page 10: SGBDR Systèmes de Gestion de Bases de Données (Relationnelles)

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)

Page 11: SGBDR Systèmes de Gestion de Bases de Données (Relationnelles)

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

Page 12: SGBDR Systèmes de Gestion de Bases de Données (Relationnelles)

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

Page 13: SGBDR Systèmes de Gestion de Bases de Données (Relationnelles)

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

Page 14: SGBDR Systèmes de Gestion de Bases de Données (Relationnelles)

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

Page 15: SGBDR Systèmes de Gestion de Bases de Données (Relationnelles)

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)

Page 16: SGBDR Systèmes de Gestion de Bases de Données (Relationnelles)

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

Page 17: SGBDR Systèmes de Gestion de Bases de Données (Relationnelles)

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

Page 18: SGBDR Systèmes de Gestion de Bases de Données (Relationnelles)

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

Page 19: SGBDR Systèmes de Gestion de Bases de Données (Relationnelles)

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

Page 20: SGBDR Systèmes de Gestion de Bases de Données (Relationnelles)

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.

Page 21: SGBDR Systèmes de Gestion de Bases de Données (Relationnelles)

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.

Page 22: SGBDR Systèmes de Gestion de Bases de Données (Relationnelles)

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 ) )

)

Page 23: SGBDR Systèmes de Gestion de Bases de Données (Relationnelles)

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 )– ()

Page 24: SGBDR Systèmes de Gestion de Bases de Données (Relationnelles)
Page 25: SGBDR Systèmes de Gestion de Bases de Données (Relationnelles)

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.

Page 26: SGBDR Systèmes de Gestion de Bases de Données (Relationnelles)

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

Page 27: SGBDR Systèmes de Gestion de Bases de Données (Relationnelles)
Page 28: SGBDR Systèmes de Gestion de Bases de Données (Relationnelles)
Page 29: SGBDR Systèmes de Gestion de Bases de Données (Relationnelles)

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

Page 30: SGBDR Systèmes de Gestion de Bases de Données (Relationnelles)

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)

Page 31: SGBDR Systèmes de Gestion de Bases de Données (Relationnelles)

Middleware d’accès aux données

CLIENT SERVEUR

ProgicielERP

IBM-DB2

Outils bureautiques

sPI

OraclesPI

MySQLsPI

PostgresqlsPI

...sPI

...

Interconnexion ?

Page 32: SGBDR Systèmes de Gestion de Bases de Données (Relationnelles)

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

Page 33: SGBDR Systèmes de Gestion de Bases de Données (Relationnelles)

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

Page 34: SGBDR Systèmes de Gestion de Bases de Données (Relationnelles)

Middleware d’accès aux données

Le middleware ODBC (Microsoft) agit avec les SGBD comme un pilote (driver) pour le matériel

Page 35: SGBDR Systèmes de Gestion de Bases de Données (Relationnelles)

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

Page 36: SGBDR Systèmes de Gestion de Bases de Données (Relationnelles)

É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