Docstoc

Introduction aux Bases de Données

Document Sample
Introduction aux Bases de Données Powered By Docstoc
					Introduction aux Bases de
        Données

   DESS RésTel 2003-2004
           B. Nguyen
Email: benjamin.nguyen@inria.fr
  Plan général du cours
  Introduction et problématiques
  Le modèle Entité/Association
  Le modèle relationnel
  Programmation avec SQL

Support de cours par Ph. Rigaux

              Introduction aux bases de données --
                           B.Nguyen
Introduction
Objectifs du cours
Notions de base d’un SGBD (système de
gestion de base de données)
 Conception de schéma
 Langages d’interrogation et manipulation SQL
  (Simple Query Language)
…pour vous donner les bases utiles à divers
modules optionnels.

             Introduction aux bases de données --
                          B.Nguyen
Une base de données … pourquoi
faire ?
Gestion de données relativement structurées
(Relationnel, OO, XML…)
Meilleure compréhension des données
(modélisation)
Automatisation des traitements (requêtes)
Stockage persistant


            Introduction aux bases de données --
                         B.Nguyen
Les SGBDs (relationnels) actuels
Oracle
IBM
Microsoft SQL Server
… MySQL

Omniprésents dans toutes les entreprises de
grande taille.
             Introduction aux bases de données --
                          B.Nguyen
Quelques concepts
Donnée : une information quelconque.

Base de données : un gros ensemble
d’informations structurées et mémorisées sur un
support permanent. (ex. fichier sur disque dur)

Système de Gestion de Bases de Données: un
logiciel de haut niveau qui permet de manipuler
les informations stockées dans une base de
données.
              Introduction aux bases de données --
                           B.Nguyen
Les problématiques
Modélisation
  E/A
  OO
  Sémantique
Langages de requêtes
  Théorie
  Optimisation
Techniques de stockage
Organisation des fichiers
  Indexation
  Arbres-B
  Hachage
Architecture
Concurrence d’accès et reprise sur pannes
                     Introduction aux bases de données --
                                  B.Nguyen
Qu’attend on d’un utilisateur de
SGBD ?
Définir le schéma des données
 Modèle conceptuel (analyse du monde réel)
 Modèle logique (LDD+LMD abstraits)
 Modèle physique (stockage sur disque)

Effectuer des opérations sur les données
(recherches et mises à jour)
Gérer la concurrence (transactions)
Optimiser les performances
             Introduction aux bases de données --
                          B.Nguyen
Le modèle Entité/Association

           Cours
Plan
Introduction par l’exemple
Modèle E/A
 Entités, attributs et identifiants (clés)
 Association binaires

 Avantages et inconvénients du modèle

Exercices


               Introduction aux bases de données --
                            B.Nguyen
Introduction
 Titre        Année          nomMES          prenomMES       datenaiss

 Alien        1979           Scott           Ridley          1943

 Vertigo      1958           Hitchcock       Alfred          1899

 Psychose     1960           Hitchcock       Alfred          1899

 Volte-Face   1997           Woo             John            1946




Problème : Redondance !
   Insertion (plusieurs entrées)
   Modification (du MES)
   Destruction (information indépendante liée)
                      Introduction aux bases de données --
                                   B.Nguyen
Introduction
Représenter l’information de manière
indépendante et non-redondante : faire plusieurs
tables. Identifier les moyens de distinguer
l’information.
Titre        Année                         ID         NomM      Preno    DateNa
                                                      ES        mMES     issance
Alien        1979
                                           1          Scott     Ridley   1943
Vertigo      1958
                                           ²          Hitchco   Alfred   1899
Psychose     1960                                     ck
Volte-Face   1997                          3          Woo       John     1946



                     Introduction aux bases de données --
                                  B.Nguyen
          Introduction
          Lier l’information
              Utilisation de clés (identifiants)


Titre            Année    IDMES                         IDMES        NomM      Preno    DateNa
                                                                     ES        mMES     issance
Alien            1979     1
                                                        1            Scott     Ridley   1943
Vertigo          1958     2
                                                        2            Hitchco   Alfred   1899
Psychose         1960     2                                          ck
Volte-Face       1997     3                             3            Woo       John     1946




                              Introduction aux bases de données --
                                           B.Nguyen
Introduction



L’utilisation du modèle E/A offre une
méthode simple pour arriver à ce résultat,
même dans des cas de figure très
complexes.


             Introduction aux bases de données --
                          B.Nguyen
Le modèle Entité/Association
  Modèle E/A (1976)

… des entités et des associations qui doivent
 parfaitement capturer les informations
 nécessaires à l’application considérée.

  Comprendre le modèle, apprendre à
  modéliser avec des méthodologies de
  conception (UML, OMT, MERISE)
               Introduction aux bases de données --
                            B.Nguyen
           Un exemple de schéma E/A
    Artiste                                                                  Internaute
_____________                                                              _____________
                                                                   0..*        Email
      Id
     Nom
                 R éalise                                                       Nom
   Prénom                                                          Note       Prenom
  DateNaiss     0..1                                                           MDP
                                                                             DateNaiss
                                     0..*

        0..*                              Film
                                     _____________
                              0..*         Id        0..*
                Joue
                                          Titre
                                         Année
                                         Genre
                       Role                                 Note
                                        Résumé
                                                                                Pays
                                                                           _____________
                                             0..*                               Code
                                                                    1..1
                                                                                Nom
                                               Produit                         Langue



                                 Introduction aux bases de données --
                                              B.Nguyen
Entités, Attributs, Identifiants
  Entités
Définition :
  Tout objet clairement identifiable et pertinent pour
  l’application est désigné par le terme ENTITE.

  Ex: un acteur, un film
  Problème de l’identité d’une entité. Identifiant,
  clé, propriétés. Abstraction.


                 Introduction aux bases de données --
                              B.Nguyen
Attributs
Définition:
  Les propriétés d’une entité sont appelées des
  attributs. Un attribut est désigné par un nom, et
  prend des valeurs dans un domaine défini.

Attributs atomiques, attributs multivalués
 (ensembles), attributs composés (entités faibles)


              Introduction aux bases de données --
                           B.Nguyen
  Type d’entités
  Définition:
  Le type d’une entité est composé des
  éléments suivants:
           • Un nom
           • Une liste d’attributs + domaine des valeurs
           • Une (ou plusieurs) clé

Instance, extension.


                 Introduction aux bases de données --
                              B.Nguyen
Clé-Définition
Définition:
Soit E un type d’entité, A son ensemble d’attributs.
Une clé est un sous ensemble minimal de A
permettant d’identifier de manière unique une
entité parmi l’extension de E.
Caractéristique d’une bonne clé:
          • Valeur connue pour toute entité
          • Ne doit pas être modifiée
          • Taille de stockage minimale


Clé primaire, clés secondaires.
                Introduction aux bases de données --
                             B.Nguyen
   Clé-Exemple



     Film
_____________   Nom du type d’entité                 Internaute
      Id                                           _____________
     Titre          Identifiant                        Email
    Année                                               Nom
    Genre             Attributs                       Prenom
   Résumé                                              MDP
                                                     DateNaiss




                      Introduction aux bases de données --
                                   B.Nguyen
Associations Binaires
Notion de base
Notion similaire à la théorie des ensembles.

Une association binaire entre les ensembles
d’entités E1 et E2 est un ensemble de
couples (e1,e2) e1 E1 et e2 E2
                                Réalise
     Hitchcock                                          Volte Face
                                                         Vertigo
                                                        Psychose
       Woo



                 Introduction aux bases de données --
                              B.Nguyen
Cardinalité
Définition:
Soit une association (E1,E2) entre deux types
d’entités. La cardinalité de l’association pour E1
resp. E2 est une paire [min,max] telle que
          • Le symbole min désigne le nombre de fois minimal ou une
            entité de Ei peut intervenir dans la relation (1 ou 0 en
            général)
          • Le symbole max désigne le nombre de fois maximal qu’une
            entité de Ei peut intervenir dans la relation (1 ou n en
            général) n est noté *
Choix des cardinalités : choix de conception qui
naît de l’étude du problème.
                Introduction aux bases de données --
                             B.Nguyen
Cardinalité d’une association
En donnant les cardinalités maximales des
deux extrémités:
  1:n (association 1 à plusieurs)
  n:n (association plusieurs à plusieurs)




              Introduction aux bases de données --
                           B.Nguyen
Le cas des cardinalités multiples
Attributs de l’association.

Clé d’une association : le couple de clés.
(trop restrictif)

Relations ternaires…n-aires


             Introduction aux bases de données --
                          B.Nguyen
Transformation d’une relation n-aire en
relation binaire
                           Horaire
                      _______________
                             Id
                         heureDébut
                          heureFin




    Cinéma                                                    Film
______________                                          _______________
     Nom
                  Séance                                       Id
     Ville                                                    Titre
     Rue                                                     Année
    Numéro                   Tarif                           Genre




                 Introduction aux bases de données --
                              B.Nguyen
Problèmes
Cardinalité 0..* peut descriptive dans certain cas
Détermination de la clé :
   Très volumineuse
   Contraintes non définies (plusieurs films au même
    moment)
   Le choix de la clé n’est pas automatique. Clés
    candidates.
Ces relations sont difficiles à interpréter…

                 Introduction aux bases de données --
                              B.Nguyen
  Règle de transformation
   Soit A une association entre les types
   d’entité {E1….En} La transformation de A
   en type d’entité se fait selon les règles
   suivantes:
1. On attribue un identifiant à A
2. On crée une association Ai de type 1:n
   entre A et chacun des Ei. La contrainte
   minimale pour A est toujours à 1.
              Introduction aux bases de données --
                           B.Nguyen
Résultat
                                Horaire
                           _______________
                                  Id
                              heureDébut
                               heureFin


                                       1..1

                                       0..n

    Cinéma                      Séance                                  Film
______________                                                    _______________
               1..1    0..n _____________ 0..n               1..1
     Nom                          Id                                     Id
     Ville                       Tarif                                  Titre
     Rue                                                               Année
    Numéro                                                             Genre




                      Introduction aux bases de données --
                                   B.Nguyen
Exemple des notations
                                                                                       Internaute
                                                                                     _____________
    Artiste                                                                              Email
_____________                                                                             Nom
                                                                             0..*
      Id                                                                                Prenom
     Nom
                 R éalise                                                                MDP
   Prénom                                                                    Note      DateNaiss
  DateNaiss     0..1

                                               0..*                                               Date
                                                    Film                                    _______________
        0..*
                                               _____________                                      date
                                        0..*         Id        0..*
                Joue
                                                    Titre
                                                   Année
                                                   Genre
                       Role                                           Note
                                                                      date
                                                  Résumé
                                                                      note                 Pays
                                                                                      _____________
                                                       0..*                                Code
                                                                              1..1
                                                                                           Nom
                                                         Produit                          Langue



                              Introduction aux bases de données --
                                           B.Nguyen
  Entités faibles
  Définition:
  Une entité ne pouvant exister qu’en
  association avec une autre, et identifiée
  relativement à cette entité, est appelée entité
  faible.

Ex: les salles d’un cinema
Elle est toujours optionnelle.
               Introduction aux bases de données --
                            B.Nguyen
     Entités faibles : exemple
Entité/Association classique                                    Entité faible
          Cinéma                                                   Cinéma
       _____________                                            _____________
           Nom                                                      Nom
            Ville                                                    Ville
            Rue                                                      Rue
          Numéro                                                   Numéro
               1..1                                                 num


               0..*
                                                                          0..*
            Salle
       _____________                                                  Salle
             Id                                                  _____________
          Capacité                                                  Capacité
         dateConstr                                                dateConstr
                         Introduction aux bases de données --
                                      B.Nguyen
Contraintes dues aux entités
faibles



Création, modification et destruction des
entités faibles entraînent des contraintes
supplémentaires.



             Introduction aux bases de données --
                          B.Nguyen
     Méthodologie


1. Identifier les entités utiles en regardant des
   cas particuliers.
2. Identifier les propriétés de ces entités.
3. Identifier les relations entre ces entités.




                Introduction aux bases de données --
                             B.Nguyen
Avantages et inconvénients
Avantages
Simple
 3 concepts : entités, attributs, associations
 Représentation graphique concise (conventions
  différentes mais compréhensible)
Rapide
 Modélisation immédiate de problèmes simples
 Partir d’exemples pour trouver la structure


             Introduction aux bases de données --
                          B.Nguyen
Inconvénients
Non déterministe
 Le choix entre attribut, entité et association
  n’est pas évident
 Permet d’attacher de la sémantique dans la
  modélisation
Pauvreté de la modélisation des contraintes
 Associations entre 2 entités
 Éviter la redondance
 Privilégier la simplicité et lisibilité du modèle
               Introduction aux bases de données --
                            B.Nguyen
Exercices

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:9
posted:9/24/2011
language:French
pages:42