Rappels sur les BD relationnelles - Introduction à l'Administration de Bases de Données

La page est créée Christophe Fischer
 
CONTINUER À LIRE
Rappels sur les BD relationnelles - Introduction à l'Administration de Bases de Données
Introduction à l’Administration de Bases de Données

          Chapitre 1
Rappels sur les BD relationnelles
 1          Licence 3 en Sciences de l’Informatique
                          2016/2017

                  Enseignant: DJEBLI Hamza
Rappels sur les BD relationnelles - Introduction à l'Administration de Bases de Données
2          Chapitre 1: Rappels sur les
           BD relationnelles
    1.   Bases de données
    2.   SGBD
    3.   Etapes de conception
    4.   Approche relationnelle
Rappels sur les BD relationnelles - Introduction à l'Administration de Bases de Données
3          Chapitre 1: Rappels sur les
           BD relationnelles
    1. Bases de données
    2.   SGBD
    3.   Etapes de conception
    4.   Approche relationnelle
Rappels sur les BD relationnelles - Introduction à l'Administration de Bases de Données
4         1. Bases de données
Définitions
• On définit une base de données comme
  l’ensemble des données stockées d’une façon
  structurée et avec le moins de redondances.
• Pour les manipuler, on utilise généralement un
  logiciel spécialisé appelé SGBD (Système de
  Gestion de Bases de Données).

                            But
                            • retrouver de l’information par
                              son contenu en se basant sur
                              des critères de recherche.
Rappels sur les BD relationnelles - Introduction à l'Administration de Bases de Données
5           Qualité d’une BD
    1.   Cohérence des données de la base
         Exemple: M. ou Monsieur
              Qualité               Nom      Téléphone
                M.                 Ahmed      123456
             Monsieur          Mohamed        345678
               Mme                 Meriem     556783

    2.   Absence de redondance
              Nom                  Wilaya   CodeWilaya
             Ahmed           Constantine        25
           Mohamed                 Alger        16
             Meriem                Oran         31
Rappels sur les BD relationnelles - Introduction à l'Administration de Bases de Données
6          Modèles de données

    Les modèles de données correspondent à la manière de
    structurer l’information dans une BD:
    1.   Modèle hiérarchique/réseau
    2.   Modèle relationnel
    3.   Modèle objet
    4.   Modèle relationnel-objet
Rappels sur les BD relationnelles - Introduction à l'Administration de Bases de Données
7        Modèle hiérarchique/réseau
         ~1960
     Exemple 1
                         Personne

                         Nom
                         Prénom

              Logement              Voiture

             Numéro                    Marque
             Rue                       Numéro
             Ville
Rappels sur les BD relationnelles - Introduction à l'Administration de Bases de Données
8        Modèle hiérarchique/réseau
         ~1960
     Exemple 2
Rappels sur les BD relationnelles - Introduction à l'Administration de Bases de Données
9         Modèle relationnel ~1970

Définition
•    Le modèle relationnel permet de modéliser les
     informations contenues dans les bases de données
     en utilisant des relations, c’est-à-dire des ensembles
     d’attributs.

    1970: proposition par E. F. Codd
    1976: commercialisation du 1er SGBD
    ~1980: Oracle Database
    1986: standardisation de SQL
Rappels sur les BD relationnelles - Introduction à l'Administration de Bases de Données
10         Modèle relationnel ~1970
  Exemple:
 Ouvrage (Code, Titre, Auteur, Editeur)

 Code            Titre              Auteur         Editeur
     1        Langage C           S. Ahmed        Eyrolles
     2     Langage Java          S. Mohamed       Larousse
     3      Informatique             A. Ali      Flammarion
     4        Systèmes           I. Mahmoud       Grasset
            d’Exploitation
     5    Introduction à la         T. Adel       O’Reilly
              Robotique
     6         Systèmes         M. I. Abdallah   Flammarion
              Intelligents
     7      Langage C:            S. Chawki      Flammarion
          Notions Avancées
11         Modèle relationnel ~1970
      Exemple 2
12          Modèle objet ~1980

     Bases de données orientées objet
     -   Types complexes
     -   Paradigme objet
     -   Plus complexes
     -   Problèmes de performance
13           Modèle relationnel-objet
 - Champs multivalués intégrés dans des objets:

     Cod       Titre                 Auteur              Editeur
      e
      1    Langage C             S. Ahmed               Eyrolles
      2     Langage          Nom              Prénom    Larousse
              Java
                             Nabil            Ahmed
                            Hakim             Karim
                             Fateh            Nabil

      3    Informatique              A. Ali            Flammarion
      4     Systèmes            I. Mahmoud              Grasset
           d’Exploitatio
                n
14         Evolution des BD

     1. Bases de données réparties
         Système distribué
         Migration de données
         Réplication des données
         Sécurité
         Disponibilité
         Transparence à l’utilisateur
     2. Extraction de l’information:
         Bases de données déductives et Data Mining
          (fouille de données)
15           Evolution des BD (suite)

     3.   Entrepôts de BD (datawarehouse)
           BD récapitulatives, constituées à partir de
            différentes sources pour disposer d’un accès
            homogène à l’ensemble des données

     4.   Bases de données multimédia
           Stocker des données multimédia: sons, images,
            vidéos.
16          Chapitre 1: Rappels sur les
            BD relationnelles
     1.   Bases de données

     2. SGBD
     3.   Etapes de conception
     4.   Approche relationnelle
17         2. SGBD

Définition
• Un SGBD (Système de Gestion de BD) est un
  logiciel complexe qui permet de gérer et
  d’utiliser les données que l’on stocke tout en
  cachant la complexité des opérations.

      a)   Architecture
      b)   Objectifs
      c)   LDD/LMD
      d)   Protection des données
      e)   Transaction
      f)   Concurrence
      g)   Droits d’accès
18          2.a) Architecture d’un SGBD
     ANSI/SPARC (1975): 3 niveaux d’abstraction

                    Niveau                Vues des utilisateurs
                    externe                  (selon rôle)

                                                  Modèle conceptuel et/ou
                   Niveau
                 conceptuel                           Modèle logique

             Niveau interne                       Modèle physique:
                                                  enregistrements, fichiers
19          2.a) Architecture d’un SGBD
            (suite)
     ANSI/SPARC (1975): 3 niveaux d’abstraction
20         2.b) SGBD: quelques objectifs

      Indépendance physique des données:
        - Une modification de l'organisation physique des données (ex:
          utilisation d’autres structures de fichiers) n'entraîne pas de
          modification dans les autres niveaux ou programmes
          d'application.

      Indépendance logique des données:
        - Une modification de l'organisation logique des données (ex:
          ajout d’un attribut) n'entraîne pas de modifications dans les
          autres niveaux ou programmes d'application.

      Efficacité, cohérence et intégrité des données, partage
       et sécurité..
21        2.c) LDD / LMD

     Un SGBD offre deux langages de haut
     niveau:
      un Langage de Description de Données
       (LDD) qui permet d’agir sur la structure de
       la base de données (ajout, suppression et
       modification des tables)
      un Langage de Manipulation de Données
       (LMD) qui permet d’interroger et de mettre
       à jour le contenu de la base de données.
22        2.d) Protection des données

     Dans tous les cas, le SGBD doit permettre de
     restaurer les données. Ces opérations sont
     généralement réalisées en utilisant des «
     journaux » (logs) qui enregistrent au fur et à
     mesure les opérations faites sur la base :
     c’est le mécanisme de la journalisation. Ce
     journal est utilisé pour refaire, ou défaire, ces
     opérations.
23        2.e) Transactions

     Opérations de modification effectuées sur la
     base de données.
     Des propriétés de mesure de la qualité de
     ces transactions sont proposées sous le
     terme ACID (1983):
24        2.e-f) Concurrence et droits
          d’accès
     Le SGBD doit permettre de donner l’accès
     aux bases de données à plusieurs utilisateurs
     simultanément:
     - Algorithmes de synchronisation
     - Gestion de droits d’accès (de privilèges)
25      Exemples

 Pick, Pick System, 1968
 dBase, Ashton-Tate, 1978
 Oracle Database, Oracle
  Corporation, 1979
 Informix, IBM, 1981
 DB2, IBM, 1983
 PostgreSQL, M. Stonebraker, 1985
 Microsoft SQL Server, Microsoft, 1989
 Microsoft Access, Microsoft, 1992
 MySQL, Oracle Corporation, 1995
 SQLite, D. R. Hipp, 2000
26   Chapitre 1: Rappels sur les
     BD relationnelles
     1.   Bases de données
     2.   SGBD

     3. Etapes de conception
     4.   Approche relationnelle
27       3. Etapes de conception

         • Analyse du monde réel
           à modéliser
     a

         • Mise en forme du
           modèle pour l’intégrer
     b     dans un SGBD

         • Création effective dans
           le SGBD des structures
     c     et leur remplissage
28   3.a) Analyse du monde réel
      Déterminer les
       objectifs du
        système

                           Déterminer les champs qui
                           contiendront les données
        Regrouper les
     champs en objets
                                     Identifier les liens
                                     entre les objets

          Définir les contraintes

                                     Modèle
                                    conceptuel
29   3.b) Passage au SGBD

      Le modèle conceptuel est transformé
       en représentation acceptable par le
       SGBD (modèle logique).
        Ex : Modèle relationnel
      Éliminer la redondance.
        Ex : utiliser la normalisation (modèle
     relationnel)
30   3.b) Création et utilisation (sous
     le SGBD)

                                            Création
      Création    Remplissage   Création
                                                des
     des tables    des tables   des vues
                                           utilisateurs
31   3. Etapes de conception :
     Résumé
32   Chapitre 1: Rappels sur les
     BD relationnelles
     1.   Bases de données
     2.   SGBD
     3.   Etapes de conception

     4. Approche relationnelle
33   4. Approche relationnelle

     a)   Concepts
     b)   Opérations
     c)   Passage au modèle relationnel
     d)   Normalisation
34         4.a) Concepts

      Le modèle relationnel tire son nom de la notion de
       relation mathématique entre des éléments. Chacun de
       ces éléments peut prendre des valeurs dans un
       ensemble défini.
        Ex: (Ahmed, Constantine)

     (Ahmed, Constantine): tuple ou enregistrement
     Nom: attribut ou champ
     Personne: nom de la relation
     Personne(Nom, LieuNaissance): schéma relationnel

     Degré, Cardinalité, Table, Base de données
35         4.a) Concepts (suite)

      Clé d’une relation: champ, ou ensemble de champs,
       permettant d’identifier précisément un enregistrement.
       Une relation peut comprendre plusieurs clés possibles
       (clés candidates). Une des clés minimales est choisie
       pour constituer la clé primaire de la relation. Une clé
       étrangère est un groupe d’attributs d’une relation R1
       devant apparaître comme clé primaire dans une autre
       relation R2.
      Dépendances fonctionnelles: relations existant entre les
       différents champs d’une relation.
         Une dépendance fonctionnelle existe entre deux ensembles
          de champs si les valeurs contenues dans l’un des ensembles
          permettent de déterminer les valeurs contenues dans l’autre
          ensemble.
36   4.b) Opérations du modèle
     relationnelle (algèbre relationnelle)

         Opérations ensemblistes

          Opérations relationnelles

         Calculs et agrégats
37           4.b.1) Opérations ensemblistes

     1. Union ()
     Mise en commun des enregistrements de chaque relation. Les
     enregistrements identiques ne sont intégrés qu’une seule fois.
     2. Différence (-)
     L’opération différence consiste à désigner les enregistrements qui
     appartiennent à une relation sans appartenir à l’autre.
     3. Intersection ()
     L’intersection désigne les enregistrements communs aux deux
     relations.
     4. Produit cartésien (X)
     Le produit cartésien permet la combinaison des tuples de deux
     relations sans tenir aucun compte du contenu des données.
38   4.b.1) Opérations ensemblistes
     (suite)
39          4.b.2) Opérations relationnelles

     1. Projection (A(R))
     Extraire certains champs (A) de la relation (R).
     2. Sélection (ou restriction) (F(R))
     Extraire les enregistrements de la relation (R)
     répondant à un critère (F).
     3. Jointure (⋈)
     Lier les relations par le contenu commun d’un
     champ.
     L’opération de jointure peut être vue comme une
     sélection des enregistrements obtenus par le produit
     cartésien des relations, dont les contenus du champ
     sur lequel on effectue la jointure sont égaux.
40   4.b.2) Opérations relationnelles
41        4.b.3) Calcul et agrégats

     Calculs
     Il est possible d’effectuer des opérations
     statistiques globales d’un champ, comme les
     calculs du nombre d’enregistrements, de
     moyenne, de maximum, de minimum. On
     obtient dans ce cas une nouvelle relation
     réduite à une ligne et une colonne qui contient
     la valeur calculée.
     Agrégats
     Regrouper les enregistrements qui contiennent
     les mêmes valeurs dans un champs.
42         4.c) Passage au modèle
           relationnel
     Règles générales:
      Une entité donne une relation de même clé.
      Une association donne une relation dont la
       clé est composée des deux clés des entités
       associées et des attributs de l’association.
      Pour la cardinalité 1,1: La relation représentant
       l’association disparait et fusionne avec la
       relation représentant l’entité associée avec la
       cardinalité 1,1.
43        4.d) Normalisation

     Le modèle relationnel procure des outils
     destinés à tester la qualité et la cohérence
     des relations dans un schéma relationnel.
     Cette étape, appelée normalisation,
     permettra de vérifier certaines propriétés des
     relations et le cas échéant de les
     transformer.
     On peut se limiter en général aux trois
     premières formes normales.
44       4.d) Normalisation

       1FN              2FN                 3FN

 • Tout champ     • La relation est   • La relation est
   contient une     en 1FN,             en 2FN,
   valeur         • Tout champ        • Tout champ
   atomique.        qui                 n’appartenant
                    n’appartient        pas à une clé
                    pas à la clé ne     ne dépend
                    dépend pas          pas d’un autre
                    d’une partie        champ non
                    de la clé.          clé.
45           Chapitre 1: Rappels sur les
             BD relationnelles
1.   Bases de données:
     définition, but, qualité des données, modèles de données, évolution de
     BD.
2.   SGBD
     définition, architecture, objectifs, LDD/LMD, protection des données,
     transaction, concurrence, droits d’accès, exemples.
3.   Etapes de conception
     analyse du monde réel, passage au SGBD, création et utilisation.
4.   Approche relationnelle
     concepts, opérations, passage au modèle relationnel, normalisation
Vous pouvez aussi lire