SlideShare una empresa de Scribd logo
1 de 51
Descargar para leer sin conexión
DUT SRC – IUT de Marne-la-Vallée
                 20/03/2012
         INF240 – Bases de données




              Cours 1
Introduction, modèle entité-relation




                                          Philippe Gambette
Organisation pratique

 • Contact
 - Courriel : philippe.gambette@gmail.com
   (INF240 doit apparaître dans le sujet du courriel).
 - Avant ou après le cours.
 - Possibilité de poser des questions, de demander des exercices
 supplémentaires d'entrainement.
 • Enseignants
 Cours par Philippe Gambette, TD par Youcef Hilem, TP par Fadhela Kerdjoudj
 • Notes et devoirs
 - un TD noté (le TD4).
 - QCM (… le retour) : nécessité de relire le cours au moins à chaque veille
 de cours et de TP/TD
 - devoir final le 19 juin (document autorisé : 2 pages recto-verso à préparer
 par vous).
Sources

 • Cours de Tony Grandame à l'IUT de Marne-la-Vallée en 2010-2011


 • Cours de Mathieu Mangeot, IUT de Savoie
 http://jibiki.univ-savoie.fr/~mangeot/Cours/BasesDeDonnees.pdf


 • Cours de Fabrice Meuzeret, IUT de Troyes
 http://195.83.128.55/~fmeuzeret/vrac/


 • Livre de Laurent Audibert : Bases de données - de la modélisation au SQL
 Version partielle sur :
 http://laurent-audibert.developpez.com/Cours-BD/html/index.php
Plan des cours du semestre

 • Introduction aux bases de données
 • Algèbre relationnelle
 • Modèle entité-relation
 • Modèle logique des données
 • Modèle physique des données, types et tables
 • Le langage SQL
 • Méthodes de modélisation (MERISE, UML)
 • Administration et sécurité
Plan du cours 1 – Introduction, modèle entité-relation

 • Introduction aux bases de données
 • Algèbre relationnelle
 • Le modèle relationnel : entités et attributs
 • Le modèle relationnel : relations et cardinalité
 • Choix de modélisation
Plan

 • Introduction aux bases de données
 • Algèbre relationnelle
 • Le modèle relationnel : entités et attributs
 • Le modèle relationnel : relations et cardinalité
 • Choix de modélisation
Introduction aux bases de données

 Pourquoi une base de données ?
    • Définition
    • Exemples
    • Objectifs


 Différents types de base de données
    • Les bases hiérarchiques
    • Les bases en réseau
    • Les bases relationnelles
    • Les bases de données objet
    • Les bases de données XML
Définitions

 Base de données

 Une base de données est un lot d'informations stocké dans un dispositif
 informatique.


 Système de gestion de bases de données

 Un système de gestion de bases de données (SGBD) est un module
 informatique chargé de gérer les données en en permettant la création,
 la modification, la suppression et la lecture.
Exemples

 Livre géolocalisé interactif
 Lisbonne par Fernando Pessoa (http://lisbon.pessoa.free.fr)
 Lieux, mots du texte.


 Sous-titrage de BD en ligne
 xkcd en français (http://xkcd.free.fr)
 Planches, utilisateurs.
Objectifs

 • indépendance : la BD est un module dissocié du système d'information,
 le format des données est indépendant du système.

 • accès : la BD gère les accès aux données en gérant les accès
 concurrentiels.

 • cohérence : la BD assure l'intégrité des données.

 • sécurité : la BD gère les accès aux données en fonctions des utilisateurs.

 • administration : la BD peut être administrée au sauvegardée de façon
 autonome.
Différents types de bases de données

   Base hiérarchique
   Lie les enregistrements dans une structure arborescente
   où chaque enregistrement n'a qu'un seul possesseur.

   Exemple : arbre de Porphyre (III° siècle)                 hiérarchique




http://fr.wikipedia.org/wiki/Arbre_de_Porphyre
Différents types de bases de données

 Base hiérarchique
 Lie les enregistrements dans une structure arborescente
 où chaque enregistrement n'a qu'un seul possesseur.

 Base en réseau                                            hiérarchique
 Est une base hiérarchique mais permet en plus d'établir
 des relations transverses.

 Base relationnelle
 Stocke les informations décomposées et organisées dans
 des matrices appelées relations ou tables.
                                                               réseau
 Base objet
 Stocke les informations groupées sous forme de
 collections d'objets persistants.

 Base XML
 S'appuie sur le modèle de données fourni par XML.
                                                            relationnelle
Différents types de bases de données




                                                   http://academic.research.microsoft.com
 Base XML
 S'appuie sur le modèle de   Le 2° chercheur en informatique français le plus cité :
 données fourni par XML.                                         Serge Abiteboul
Plan

 • Introduction aux bases de données
 • Algèbre relationnelle
 • Le modèle relationnel : entités et attributs
 • Le modèle relationnel : relations et cardinalité
 • Choix de modélisation
L'algèbre relationnelle

 Opérations sur des ensembles de données :
 • La sélection
 • La projection
 • L'intersection
 • L'union
 • La différence
 • Le produit cartésien
 • La jointure
 • La division cartésienne
Algèbre relationnelle

 La sélection                   Présentation :
                                 A
 À partir d'un ensemble A,
 obtenir les données B
 correspondant à des critères
 donnés.                                    B




 Opérateur unaire               Exemple :
                                 ID      Nom     Prénom
                                 1       Simpson Marge
                                 2       Simpson Homer
                                 3       Simpson Bart
                                 4       Simpson Lisa
Algèbre relationnelle

 La projection                    Présentation :
                                   A
 À partir d'un ensemble A,
 obtenir uniquement les données
 pertinentes B.                               B




 Opérateur unaire                 Exemple :
                                   ID      Nom     Prénom
                                   1       Simpson Marge
                                   2       Simpson Homer
                                   3       Simpson Bart
                                   4       Simpson Lisa
Algèbre relationnelle

 L'intersection                       Présentation :
                                       A
 À partir des ensembles A et B,
 obtenir les données C qui existent
 à la fois dans A et dans B.                         C



                                                                    B




 Opérateur binaire                    Exemple :
                                       ID   Prénom     ID   Prénom
                                       1    Bart       5    Marie
                                       2    Lisa       6    Lisa
                                       3    Marge      7    Jacques
Algèbre relationnelle

 L'union                              Présentation :
                                       A
 À partir des ensembles A et B,
 obtenir les données C qui existent                  C
 soit dans A soit dans B.

                                                                      B




 Opérateur binaire                    Exemple :
                                       ID   Prénom       ID   Prénom
                                       1    Bart         5    Marie
                                       2    Lisa         6    Lisa
                                       3    Marge        7    Jacques
Algèbre relationnelle

 La différence                        Présentation :
                                       C
                                       C
 À partir des ensembles A et B,                              A
 obtenir les données C qui existent
 dans A mais pas dans B.

                                                                    B




 Opérateur binaire                    Exemple :
                                       ID   Prénom     ID   Prénom
                                       1    Marge      5    Marie
                                       2    Lisa       6    Lisa
                                       3    Homer      7    Jacques
Algèbre relationnelle

 Le produit cartésien              Présentation :
                                    A
 À partir des ensembles A et B,                             A
 obtenir toutes les combinaisons                                 B
 possibles C.

                                                  C




 Opérateur n-aire                  Exemple :
                                    ID Prénom         ID   Nom
                                    1   Bart          5    Simpson
                                    2   Lisa

                                         Prénom       Nom
                                         Bart         Simpson
                                         Lisa         Simpson
Algèbre relationnelle

 Le produit cartésien              Présentation :
                                    A
 À partir des ensembles A et B,                             A
 obtenir toutes les combinaisons                                 B
 possibles C.

                                                  C




 Opérateur n-aire                  Exemple :
                                    ID Prénom         ID   Nom
 Taille ?
 Si n éléments dans A et            1   Bart          5    Simpson
 m éléments dans B, combien         2   Lisa
 dans A x B ?
                                         Prénom       Nom
                                         Bart         Simpson
                                         Lisa         Simpson
Algèbre relationnelle

 Le produit cartésien              Présentation :
                                    A
 À partir des ensembles A et B,                             A
 obtenir toutes les combinaisons                                 B
 possibles C.

                                                  C




 Opérateur n-aire                  Exemple :
                                    ID Prénom         ID   Nom
 Taille ?
 Si n éléments dans A et            1   Bart          5    Simpson
 m éléments dans B, combien         2   Lisa
 dans A x B ?
                                         Prénom       Nom
 A                                       Bart         Simpson
 n=2                m=3
                      B                  Lisa         Simpson
Algèbre relationnelle

 Le produit cartésien              Présentation :
                                    A
 À partir des ensembles A et B,                             A
 obtenir toutes les combinaisons                                 B
 possibles C.

                                                  C




 Opérateur n-aire                  Exemple :
                                    ID Prénom         ID   Nom
 Taille ?
 Si n éléments dans A et            1   Bart          5    Simpson
 m éléments dans B, combien         2   Lisa
 dans A x B ? n x m
                                         Prénom       Nom
 A                                       Bart         Simpson
 n=2                m=3
                      B                  Lisa         Simpson
Algèbre relationnelle

 La jointure                      Présentation :
                                   A
 À partir des ensembles A et B,                            A
 obtenir le produit cartésien C                                 B
 limité à une valeur commune.

                                                 C




 Opérateur n-aire                 Exemple :
                                   ID Prénom         ID   Nom
                                   1   Marge         1    Simpson
                                   2   Homer

                                        Prénom       Nom
                                        Marge        Simpson
Algèbre relationnelle

 La division cartésienne          Présentation :
                                   A
 À partir des ensembles A et B,                             A
 obtenir les données C qui,                                     B
 combinées à l'ensemble B,
 donnent l'ensemble A.

                                              C



 Opérateur n-aire                 Exemple :
                                   Prénom Nom               Nom
                                   Lisa    Simpson          Simpson
                                   Bart    Simpson

                                                     Prénom
                                                     Lisa
                                                     Bart
Plan

 • Introduction aux bases de données
 • Algèbre relationnelle
 • Le modèle relationnel : entités et attributs
 • Le modèle relationnel : relations et cardinalité
 • Choix de modélisation
Le modèle relationnel

 • L'entité
 • L'attribut
 • L'identifiant
 • L'occurrence
 • L'association ou relation
 • La cardinalité ou multiplicité
Le modèle relationnel

 L'entité                          Présentation :

 Concept concret ou abstrait du          Nom
 monde à modéliser.

 Elle se représente par un cadre
 contenant son nom.



                                   Exemple :
                                       Personne
Le modèle relationnel

 L'attribut                        Présentation :

 Donnée élémentaire qui sert à            Nom
 caractériser les entités et les   Attribut 1
 associations.                     Attribut 2
                                       ....
                                   Attribut n
 Les attributs sont listés dans
 l'entité.


                                   Exemple :
                                        Personne

                                   Nom
                                   Prenom
                                   Date_naiss
Le modèle relationnel

 L'identifiant (ou clé)                Présentation :

 Attribut(s) particulier(s)                   Nom
 permettant d'identifier chaque        Identifiant
 occurrence d'une entité.               Attribut 2
                                            ....
                                        Attribut n
 Les attributs servant d'identifiant
 sont soulignés.


                                       Exemple :
                                            Personne        Personne

                                       Nom              ID
                                       Prenom           Nom
                                       Date_naiss       Prenom
                                                        Date_naiss
Le modèle relationnel

 L'occurrence                         Présentation :

 Élément particulier d'une entité            Nom
 ou d'une association.                Identifiant
                                       Attribut 2
 L'occurrence ne fait pas partie du        ....
                                       Attribut n
 modèle E-A mais est expliquée ici
 pour mieux comprendre l'entité.


                                      Exemple :
                                      ID   Nom          Prénom    Date_naiss
                                      1    Cartman      Eric      01/05/2002
                                      Nom
                                      2  Broflovski     Kyle      05/60/2003
                                      Prenom
                                      3  Marsh
                                      Date_naiss        Stanley   15/07/2001
                                      4    MacCormick   Kenny     26/08/2002
                                      5    Stotch       Butters   11/09/2002
Récapitulatif sur le modèle relationnel


                                         Entité
               Identifiant                              Attributs


                                       Nom
               Identifiant   Champ_1         Champ_2   Champ_N
  Occurences    id_val_a     ch_1_a          ch_2_a    ch_N_a
                id_val_b     ch_1_b          ch_2_b    ch_N_b
                id_val_c     ch_1_c          ch_2_c    ch_N_c
                id_val_d     ch_1_d          ch_2_d    ch_N_d
                id_val_e     ch_1_e          ch_2_e    ch_N_e
Plan

 • Introduction aux bases de données
 • Algèbre relationnelle
 • Le modèle relationnel : entités et attributs
 • Le modèle relationnel : relations et cardinalité
 • Choix de modélisation
L'association ou relation

 • L'association binaire
 • Les cardinalités
 • Association un à un
 • Association un à plusieurs
 • Association plusieurs à plusieurs
 • Association plurielle
 • Association N-aire
 • Association réflexive
Les relations

 L'association binaire         Présentation :
                                 Entite_1                      Entite_2
 Permet de relier deux
 entités entre elles.                              Lie
                                                Attributs
 Elle se représente par le
 biais d'un ovale ou d'un
 losange contenant son nom
 et ses éventuels attributs.

 Leur nom est généralement     Exemple :
 un verbe.
                                Personne                         Profession
                                                   Exerce
                                                date_origine
Les relations

 Les cardinalités               Présentation :
                                  Entite_1                                      Entite_2
 Couple de valeurs indiqué à
 l'extrémité de chaque lien                  Min,Max      Lie         Min,Max

 d'une association.                                    Attributs

 La cardinalité minimum
 indique le caractère
 optionnel (0) ou obligatoire
 (1) de la relation.
                                Exemple :
 La cardinalité maximum
 indique le caractère unique     Personne                                       Profession
 (1) ou multiple (n) de la                   0,1          Exerce          0,n
 relation.                                             date_origine
Les relations

 Les cardinalités

 Couples de cardinalités possibles Associations selon les cardinalités maximum

 Card.    Lecture                  Entite_1 Entite_2 Lecture

 0,1      Lien vers 0 ou 1             1        1     Association 1 à 1

 1,1      Lien vers 1                  1        n     Association 1 à plusieurs

 0,n      Lien vers 0 ou n             n        1     Association 1 à plusieurs

 1,n      Lien vers 1 ou n                            Association plusieurs à
                                       n        n
                                                      plusieurs
Les relations

L'association un à un         Présentation :
                                Entite_1                                     Entite_2
Est caractérisée par des
cardinalités maximales à 1.                Min,1         Lie        Min,1

                                                      Attributs
Ces associations sont à
proscrire dans un modèle
E-A car les 2 entités
peuvent être fusionnées.

                              Exemple :
                                Personne                                    Profession
                                               0,1      Exerce       0,1

                                                     date_origine
Les relations

L'association un à plusieurs   Présentation :
                                 Entite_1                                     Entite_2
Est caractérisée par une
cardinalité maximale à 1 et                 Min,n         Lie        Min,1

une cardinalité maximale à                             Attributs
n.

Ici, une personne exerce au
plus une profession et une
profession peut être
exercée par aucune ou          Exemple :
plusieurs personnes.
                                 Personne                                    Profession
                                                0,1      Exerce       0,n

                                                      date_origine
Les relations

L'association plusieurs à     Présentation :
plusieurs
                                Entite_1                                     Entite_2
Est caractérisée par des                   Min,n         Lie        Min,n

cardinalités maximales à n.                           Attributs

Ici, une personne exerce
aucune ou plusieurs
professions et une
profession peut être
exercée par aucune ou         Exemple :
plusieurs personnes.
                                Personne                                    Profession
                                               0,n      Exerce       0,n

                                                     date_origine
Les relations

L'association plurielle          Présentation :
                                   Entite_1                  Entite_2
Deux entités peuvent être                           Lie
liées par plusieurs relations.
                                                    Lie




                                 Exemple :
                                   Personne                  Profession
                                                   Exerce


                                                  Enseigne
Les relations

L'association n-aire            Présentation :
                                  Entite_1   Min,Max      Lie         Min,Max
                                                                                Entite_3
Il est possible d'associer
                                                       Attributs
autant d'entités que
nécessaire.                                                 Min,Max

                                                       Entite_2
Il est toutefois rare de voir
des associations à des
degrés supérieurs des
ternaires.
                                Exemple :
                                  Personne    0,n      Enseigne          0,n
                                                                                Matiere
                                                         Jour
                                                        Heure
                                                                0,n

                                                       Universite
Les relations

L'association réflexive     Présentation :
                              Entite_1
L'association réflexive
permet d'associer une
entité à elle-même.                             Lie
                                             Attributs
Dans cet exemple, une
personne est parent d'une
autre personne.

                            Exemple :
                              Personne


                                             est_parent
Plan

 • Introduction aux bases de données
 • Algèbre relationnelle
 • Le modèle relationnel : entités et attributs
 • Le modèle relationnel : relations et cardinalité
 • Choix de modélisation
Choix de modélisation

Il n'existe pas de modèle de données idéal.

Le modèle doit correspondre à un besoin précis.
Il est indispensable que chaque décision, chaque façon de faire soit
réfléchie.
En cas de multiples possibilités, il faut s'assurer que le fonctionnement mis
en place répondra au besoin.


Risques
Il peut être tentant de créer un modèle le plus généraliste possible.
Attention toutefois à ce type de modèles qui mèneront à des bases de
données trop complexes.
Les performances seront alors moindres et les fonctionnalités mises en place
pas forcément utilisées.
Choix de modélisation

Une base données doit permettre de stocker toutes les informations
nécessaires à son utilisation.

Toute la complexité réside dans l'organisation de ces attributs.

Toute redondance est interdite.

Il faut essayer de créer un modèle à la fois évolutif mais aussi suffisant pour
le besoin.
Choix de modélisation

Utiliser un attribut dans l'entité ou créer une association ?


    Personne
                            Personne                                 Adresse
   ID
   Nom                     ID           0,1      Reside         0,n ID
   Prenom          OU      Nom                                     Voie        ?
                                              date_debut
   Adresse                 Prenom                                  CP
                                               date_fin
   CP                                                              Ville
   Ville
Choix de modélisation

Choix des cardinalités ?


                  Personne                            Adresse
                 ID          0,1     Reside     0,n ID
                 Nom               date_debut       Voie
                 Prenom             date_fin        CP
                                                    Ville




                  Personne                            Adresse
                 ID          1,n     Reside     0,n ID
                 Nom                  type          Voie
                 Prenom            date_debut       CP
                                    date_fin        Ville
Usages

Pour nommer les entités et les attributs, il est interdit d'utiliser espaces et
accents.

Les relations sont nommées par des verbes à la forme active ou passive.

Attention à la casse, certaines bases de données y sont sensibles, d'autres
non. Il est donc fréquent de devoir appliquer une normalisation propre à
l'entreprise.

Nous appliquerons dans ce cours, pour les attributs et entités, la règle :
première lettre majuscule puis minuscules.
Aberrations

Toute répétition d'entité doit être supprimée.

Les relations binaires un pour un ne doivent pas apparaître dans un modèle
E-A mais si nous verrons qu'elles existent fréquemment dans un modèle de
données.

Les relations n-aires sont souvent complexes à comprendre et à interpréter.
Il faut donc toujours se demander si celles-ci sont indispensables.

Más contenido relacionado

Destacado

Correction de la question 5 de l'exercice 2 du TD3 (M1202)
Correction de la question 5 de l'exercice 2 du TD3 (M1202)Correction de la question 5 de l'exercice 2 du TD3 (M1202)
Correction de la question 5 de l'exercice 2 du TD3 (M1202)
PGambette
 
INF120 - Algo DUT SRC1 - Cours 3
INF120 - Algo DUT SRC1 - Cours 3INF120 - Algo DUT SRC1 - Cours 3
INF120 - Algo DUT SRC1 - Cours 3
PGambette
 
INF120 - Algo DUT SRC1 - Cours 4 (2012)
INF120 - Algo DUT SRC1 - Cours 4 (2012)INF120 - Algo DUT SRC1 - Cours 4 (2012)
INF120 - Algo DUT SRC1 - Cours 4 (2012)
PGambette
 
INF220 - Algo DUT SRC1 - Cours 1 - 2013
INF220 - Algo DUT SRC1 - Cours 1 - 2013INF220 - Algo DUT SRC1 - Cours 1 - 2013
INF220 - Algo DUT SRC1 - Cours 1 - 2013
PGambette
 
INF220 - Algo DUT SRC1 - Cours 1
INF220 - Algo DUT SRC1 - Cours 1INF220 - Algo DUT SRC1 - Cours 1
INF220 - Algo DUT SRC1 - Cours 1
PGambette
 
INF120 - Algo DUT SRC1 - Cours 2 (2012)
INF120 - Algo DUT SRC1 - Cours 2 (2012)INF120 - Algo DUT SRC1 - Cours 2 (2012)
INF120 - Algo DUT SRC1 - Cours 2 (2012)
PGambette
 
M1202 Algorithmique & programmation Java - Cours 1 2013
M1202 Algorithmique & programmation Java - Cours 1 2013M1202 Algorithmique & programmation Java - Cours 1 2013
M1202 Algorithmique & programmation Java - Cours 1 2013
PGambette
 
2 coursalgrel
2 coursalgrel2 coursalgrel
2 coursalgrel
benflen
 

Destacado (20)

Correction de la question 5 de l'exercice 2 du TD3 (M1202)
Correction de la question 5 de l'exercice 2 du TD3 (M1202)Correction de la question 5 de l'exercice 2 du TD3 (M1202)
Correction de la question 5 de l'exercice 2 du TD3 (M1202)
 
INF120 - Algo DUT SRC1 - Cours 3
INF120 - Algo DUT SRC1 - Cours 3INF120 - Algo DUT SRC1 - Cours 3
INF120 - Algo DUT SRC1 - Cours 3
 
INF120 - Algo DUT SRC1 - Cours 4 (2012)
INF120 - Algo DUT SRC1 - Cours 4 (2012)INF120 - Algo DUT SRC1 - Cours 4 (2012)
INF120 - Algo DUT SRC1 - Cours 4 (2012)
 
INF220 - Algo DUT SRC1 - Cours 1 - 2013
INF220 - Algo DUT SRC1 - Cours 1 - 2013INF220 - Algo DUT SRC1 - Cours 1 - 2013
INF220 - Algo DUT SRC1 - Cours 1 - 2013
 
INF120 - Algo DUT SRC1 - Cours 1
INF120 - Algo DUT SRC1 - Cours 1INF120 - Algo DUT SRC1 - Cours 1
INF120 - Algo DUT SRC1 - Cours 1
 
INF220 - Algo DUT SRC1 - Cours 1
INF220 - Algo DUT SRC1 - Cours 1INF220 - Algo DUT SRC1 - Cours 1
INF220 - Algo DUT SRC1 - Cours 1
 
INF120 - Algo DUT SRC1 - Cours 2 (2012)
INF120 - Algo DUT SRC1 - Cours 2 (2012)INF120 - Algo DUT SRC1 - Cours 2 (2012)
INF120 - Algo DUT SRC1 - Cours 2 (2012)
 
INF220 - Algo DUT SRC1 - Cours 2
INF220 - Algo DUT SRC1 - Cours 2INF220 - Algo DUT SRC1 - Cours 2
INF220 - Algo DUT SRC1 - Cours 2
 
M1202 Algorithmique & programmation Java - Cours 1 2013
M1202 Algorithmique & programmation Java - Cours 1 2013M1202 Algorithmique & programmation Java - Cours 1 2013
M1202 Algorithmique & programmation Java - Cours 1 2013
 
[AzureCamp 24 Juin 2014] Base de données relationnelles par Benjamin Talmard ...
[AzureCamp 24 Juin 2014] Base de données relationnelles par Benjamin Talmard ...[AzureCamp 24 Juin 2014] Base de données relationnelles par Benjamin Talmard ...
[AzureCamp 24 Juin 2014] Base de données relationnelles par Benjamin Talmard ...
 
La complexité des algorithmes récursives Géométrie algorithmique
La complexité des algorithmes récursivesGéométrie algorithmiqueLa complexité des algorithmes récursivesGéométrie algorithmique
La complexité des algorithmes récursives Géométrie algorithmique
 
Igl cours 3 - introduction à uml
Igl   cours 3 - introduction à umlIgl   cours 3 - introduction à uml
Igl cours 3 - introduction à uml
 
Programmation linéaire
Programmation linéaireProgrammation linéaire
Programmation linéaire
 
Cours bd
Cours bdCours bd
Cours bd
 
Cours Base de données relationnelles
Cours Base de données relationnellesCours Base de données relationnelles
Cours Base de données relationnelles
 
2 coursalgrel
2 coursalgrel2 coursalgrel
2 coursalgrel
 
Recherche Opérationnelle - Optimisation (notions de base)
Recherche Opérationnelle - Optimisation (notions de base)Recherche Opérationnelle - Optimisation (notions de base)
Recherche Opérationnelle - Optimisation (notions de base)
 
Tunisia_En
Tunisia_EnTunisia_En
Tunisia_En
 
pjuin2005
pjuin2005pjuin2005
pjuin2005
 
juin2005
juin2005juin2005
juin2005
 

Último

Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
AmgdoulHatim
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
ikospam0
 

Último (20)

Cours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiquesCours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiques
 
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
 
les_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkles_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhk
 
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxIntégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
 
L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptx
 
Formation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxFormation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptx
 
Neuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean EudesNeuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean Eudes
 
Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
 
Télécommunication et transport .pdfcours
Télécommunication et transport .pdfcoursTélécommunication et transport .pdfcours
Télécommunication et transport .pdfcours
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
 
Les roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxLes roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptx
 
L'expression du but : fiche et exercices niveau C1 FLE
L'expression du but : fiche et exercices  niveau C1 FLEL'expression du but : fiche et exercices  niveau C1 FLE
L'expression du but : fiche et exercices niveau C1 FLE
 
658708519-Power-Point-Management-Interculturel.pdf
658708519-Power-Point-Management-Interculturel.pdf658708519-Power-Point-Management-Interculturel.pdf
658708519-Power-Point-Management-Interculturel.pdf
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
 
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKRAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
 
La mondialisation avantages et inconvénients
La mondialisation avantages et inconvénientsLa mondialisation avantages et inconvénients
La mondialisation avantages et inconvénients
 
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdfSTRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
 

INF240 - Bases de données DUT SRC1 - Cours 1

  • 1. DUT SRC – IUT de Marne-la-Vallée 20/03/2012 INF240 – Bases de données Cours 1 Introduction, modèle entité-relation Philippe Gambette
  • 2. Organisation pratique • Contact - Courriel : philippe.gambette@gmail.com (INF240 doit apparaître dans le sujet du courriel). - Avant ou après le cours. - Possibilité de poser des questions, de demander des exercices supplémentaires d'entrainement. • Enseignants Cours par Philippe Gambette, TD par Youcef Hilem, TP par Fadhela Kerdjoudj • Notes et devoirs - un TD noté (le TD4). - QCM (… le retour) : nécessité de relire le cours au moins à chaque veille de cours et de TP/TD - devoir final le 19 juin (document autorisé : 2 pages recto-verso à préparer par vous).
  • 3. Sources • Cours de Tony Grandame à l'IUT de Marne-la-Vallée en 2010-2011 • Cours de Mathieu Mangeot, IUT de Savoie http://jibiki.univ-savoie.fr/~mangeot/Cours/BasesDeDonnees.pdf • Cours de Fabrice Meuzeret, IUT de Troyes http://195.83.128.55/~fmeuzeret/vrac/ • Livre de Laurent Audibert : Bases de données - de la modélisation au SQL Version partielle sur : http://laurent-audibert.developpez.com/Cours-BD/html/index.php
  • 4. Plan des cours du semestre • Introduction aux bases de données • Algèbre relationnelle • Modèle entité-relation • Modèle logique des données • Modèle physique des données, types et tables • Le langage SQL • Méthodes de modélisation (MERISE, UML) • Administration et sécurité
  • 5. Plan du cours 1 – Introduction, modèle entité-relation • Introduction aux bases de données • Algèbre relationnelle • Le modèle relationnel : entités et attributs • Le modèle relationnel : relations et cardinalité • Choix de modélisation
  • 6. Plan • Introduction aux bases de données • Algèbre relationnelle • Le modèle relationnel : entités et attributs • Le modèle relationnel : relations et cardinalité • Choix de modélisation
  • 7. Introduction aux bases de données Pourquoi une base de données ? • Définition • Exemples • Objectifs Différents types de base de données • Les bases hiérarchiques • Les bases en réseau • Les bases relationnelles • Les bases de données objet • Les bases de données XML
  • 8. Définitions Base de données Une base de données est un lot d'informations stocké dans un dispositif informatique. Système de gestion de bases de données Un système de gestion de bases de données (SGBD) est un module informatique chargé de gérer les données en en permettant la création, la modification, la suppression et la lecture.
  • 9. Exemples Livre géolocalisé interactif Lisbonne par Fernando Pessoa (http://lisbon.pessoa.free.fr) Lieux, mots du texte. Sous-titrage de BD en ligne xkcd en français (http://xkcd.free.fr) Planches, utilisateurs.
  • 10. Objectifs • indépendance : la BD est un module dissocié du système d'information, le format des données est indépendant du système. • accès : la BD gère les accès aux données en gérant les accès concurrentiels. • cohérence : la BD assure l'intégrité des données. • sécurité : la BD gère les accès aux données en fonctions des utilisateurs. • administration : la BD peut être administrée au sauvegardée de façon autonome.
  • 11. Différents types de bases de données Base hiérarchique Lie les enregistrements dans une structure arborescente où chaque enregistrement n'a qu'un seul possesseur. Exemple : arbre de Porphyre (III° siècle) hiérarchique http://fr.wikipedia.org/wiki/Arbre_de_Porphyre
  • 12. Différents types de bases de données Base hiérarchique Lie les enregistrements dans une structure arborescente où chaque enregistrement n'a qu'un seul possesseur. Base en réseau hiérarchique Est une base hiérarchique mais permet en plus d'établir des relations transverses. Base relationnelle Stocke les informations décomposées et organisées dans des matrices appelées relations ou tables. réseau Base objet Stocke les informations groupées sous forme de collections d'objets persistants. Base XML S'appuie sur le modèle de données fourni par XML. relationnelle
  • 13. Différents types de bases de données http://academic.research.microsoft.com Base XML S'appuie sur le modèle de Le 2° chercheur en informatique français le plus cité : données fourni par XML. Serge Abiteboul
  • 14. Plan • Introduction aux bases de données • Algèbre relationnelle • Le modèle relationnel : entités et attributs • Le modèle relationnel : relations et cardinalité • Choix de modélisation
  • 15. L'algèbre relationnelle Opérations sur des ensembles de données : • La sélection • La projection • L'intersection • L'union • La différence • Le produit cartésien • La jointure • La division cartésienne
  • 16. Algèbre relationnelle La sélection Présentation : A À partir d'un ensemble A, obtenir les données B correspondant à des critères donnés. B Opérateur unaire Exemple : ID Nom Prénom 1 Simpson Marge 2 Simpson Homer 3 Simpson Bart 4 Simpson Lisa
  • 17. Algèbre relationnelle La projection Présentation : A À partir d'un ensemble A, obtenir uniquement les données pertinentes B. B Opérateur unaire Exemple : ID Nom Prénom 1 Simpson Marge 2 Simpson Homer 3 Simpson Bart 4 Simpson Lisa
  • 18. Algèbre relationnelle L'intersection Présentation : A À partir des ensembles A et B, obtenir les données C qui existent à la fois dans A et dans B. C B Opérateur binaire Exemple : ID Prénom ID Prénom 1 Bart 5 Marie 2 Lisa 6 Lisa 3 Marge 7 Jacques
  • 19. Algèbre relationnelle L'union Présentation : A À partir des ensembles A et B, obtenir les données C qui existent C soit dans A soit dans B. B Opérateur binaire Exemple : ID Prénom ID Prénom 1 Bart 5 Marie 2 Lisa 6 Lisa 3 Marge 7 Jacques
  • 20. Algèbre relationnelle La différence Présentation : C C À partir des ensembles A et B, A obtenir les données C qui existent dans A mais pas dans B. B Opérateur binaire Exemple : ID Prénom ID Prénom 1 Marge 5 Marie 2 Lisa 6 Lisa 3 Homer 7 Jacques
  • 21. Algèbre relationnelle Le produit cartésien Présentation : A À partir des ensembles A et B, A obtenir toutes les combinaisons B possibles C. C Opérateur n-aire Exemple : ID Prénom ID Nom 1 Bart 5 Simpson 2 Lisa Prénom Nom Bart Simpson Lisa Simpson
  • 22. Algèbre relationnelle Le produit cartésien Présentation : A À partir des ensembles A et B, A obtenir toutes les combinaisons B possibles C. C Opérateur n-aire Exemple : ID Prénom ID Nom Taille ? Si n éléments dans A et 1 Bart 5 Simpson m éléments dans B, combien 2 Lisa dans A x B ? Prénom Nom Bart Simpson Lisa Simpson
  • 23. Algèbre relationnelle Le produit cartésien Présentation : A À partir des ensembles A et B, A obtenir toutes les combinaisons B possibles C. C Opérateur n-aire Exemple : ID Prénom ID Nom Taille ? Si n éléments dans A et 1 Bart 5 Simpson m éléments dans B, combien 2 Lisa dans A x B ? Prénom Nom A Bart Simpson n=2 m=3 B Lisa Simpson
  • 24. Algèbre relationnelle Le produit cartésien Présentation : A À partir des ensembles A et B, A obtenir toutes les combinaisons B possibles C. C Opérateur n-aire Exemple : ID Prénom ID Nom Taille ? Si n éléments dans A et 1 Bart 5 Simpson m éléments dans B, combien 2 Lisa dans A x B ? n x m Prénom Nom A Bart Simpson n=2 m=3 B Lisa Simpson
  • 25. Algèbre relationnelle La jointure Présentation : A À partir des ensembles A et B, A obtenir le produit cartésien C B limité à une valeur commune. C Opérateur n-aire Exemple : ID Prénom ID Nom 1 Marge 1 Simpson 2 Homer Prénom Nom Marge Simpson
  • 26. Algèbre relationnelle La division cartésienne Présentation : A À partir des ensembles A et B, A obtenir les données C qui, B combinées à l'ensemble B, donnent l'ensemble A. C Opérateur n-aire Exemple : Prénom Nom Nom Lisa Simpson Simpson Bart Simpson Prénom Lisa Bart
  • 27. Plan • Introduction aux bases de données • Algèbre relationnelle • Le modèle relationnel : entités et attributs • Le modèle relationnel : relations et cardinalité • Choix de modélisation
  • 28. Le modèle relationnel • L'entité • L'attribut • L'identifiant • L'occurrence • L'association ou relation • La cardinalité ou multiplicité
  • 29. Le modèle relationnel L'entité Présentation : Concept concret ou abstrait du Nom monde à modéliser. Elle se représente par un cadre contenant son nom. Exemple : Personne
  • 30. Le modèle relationnel L'attribut Présentation : Donnée élémentaire qui sert à Nom caractériser les entités et les Attribut 1 associations. Attribut 2 .... Attribut n Les attributs sont listés dans l'entité. Exemple : Personne Nom Prenom Date_naiss
  • 31. Le modèle relationnel L'identifiant (ou clé) Présentation : Attribut(s) particulier(s) Nom permettant d'identifier chaque Identifiant occurrence d'une entité. Attribut 2 .... Attribut n Les attributs servant d'identifiant sont soulignés. Exemple : Personne Personne Nom ID Prenom Nom Date_naiss Prenom Date_naiss
  • 32. Le modèle relationnel L'occurrence Présentation : Élément particulier d'une entité Nom ou d'une association. Identifiant Attribut 2 L'occurrence ne fait pas partie du .... Attribut n modèle E-A mais est expliquée ici pour mieux comprendre l'entité. Exemple : ID Nom Prénom Date_naiss 1 Cartman Eric 01/05/2002 Nom 2 Broflovski Kyle 05/60/2003 Prenom 3 Marsh Date_naiss Stanley 15/07/2001 4 MacCormick Kenny 26/08/2002 5 Stotch Butters 11/09/2002
  • 33. Récapitulatif sur le modèle relationnel Entité Identifiant Attributs Nom Identifiant Champ_1 Champ_2 Champ_N Occurences id_val_a ch_1_a ch_2_a ch_N_a id_val_b ch_1_b ch_2_b ch_N_b id_val_c ch_1_c ch_2_c ch_N_c id_val_d ch_1_d ch_2_d ch_N_d id_val_e ch_1_e ch_2_e ch_N_e
  • 34. Plan • Introduction aux bases de données • Algèbre relationnelle • Le modèle relationnel : entités et attributs • Le modèle relationnel : relations et cardinalité • Choix de modélisation
  • 35. L'association ou relation • L'association binaire • Les cardinalités • Association un à un • Association un à plusieurs • Association plusieurs à plusieurs • Association plurielle • Association N-aire • Association réflexive
  • 36. Les relations L'association binaire Présentation : Entite_1 Entite_2 Permet de relier deux entités entre elles. Lie Attributs Elle se représente par le biais d'un ovale ou d'un losange contenant son nom et ses éventuels attributs. Leur nom est généralement Exemple : un verbe. Personne Profession Exerce date_origine
  • 37. Les relations Les cardinalités Présentation : Entite_1 Entite_2 Couple de valeurs indiqué à l'extrémité de chaque lien Min,Max Lie Min,Max d'une association. Attributs La cardinalité minimum indique le caractère optionnel (0) ou obligatoire (1) de la relation. Exemple : La cardinalité maximum indique le caractère unique Personne Profession (1) ou multiple (n) de la 0,1 Exerce 0,n relation. date_origine
  • 38. Les relations Les cardinalités Couples de cardinalités possibles Associations selon les cardinalités maximum Card. Lecture Entite_1 Entite_2 Lecture 0,1 Lien vers 0 ou 1 1 1 Association 1 à 1 1,1 Lien vers 1 1 n Association 1 à plusieurs 0,n Lien vers 0 ou n n 1 Association 1 à plusieurs 1,n Lien vers 1 ou n Association plusieurs à n n plusieurs
  • 39. Les relations L'association un à un Présentation : Entite_1 Entite_2 Est caractérisée par des cardinalités maximales à 1. Min,1 Lie Min,1 Attributs Ces associations sont à proscrire dans un modèle E-A car les 2 entités peuvent être fusionnées. Exemple : Personne Profession 0,1 Exerce 0,1 date_origine
  • 40. Les relations L'association un à plusieurs Présentation : Entite_1 Entite_2 Est caractérisée par une cardinalité maximale à 1 et Min,n Lie Min,1 une cardinalité maximale à Attributs n. Ici, une personne exerce au plus une profession et une profession peut être exercée par aucune ou Exemple : plusieurs personnes. Personne Profession 0,1 Exerce 0,n date_origine
  • 41. Les relations L'association plusieurs à Présentation : plusieurs Entite_1 Entite_2 Est caractérisée par des Min,n Lie Min,n cardinalités maximales à n. Attributs Ici, une personne exerce aucune ou plusieurs professions et une profession peut être exercée par aucune ou Exemple : plusieurs personnes. Personne Profession 0,n Exerce 0,n date_origine
  • 42. Les relations L'association plurielle Présentation : Entite_1 Entite_2 Deux entités peuvent être Lie liées par plusieurs relations. Lie Exemple : Personne Profession Exerce Enseigne
  • 43. Les relations L'association n-aire Présentation : Entite_1 Min,Max Lie Min,Max Entite_3 Il est possible d'associer Attributs autant d'entités que nécessaire. Min,Max Entite_2 Il est toutefois rare de voir des associations à des degrés supérieurs des ternaires. Exemple : Personne 0,n Enseigne 0,n Matiere Jour Heure 0,n Universite
  • 44. Les relations L'association réflexive Présentation : Entite_1 L'association réflexive permet d'associer une entité à elle-même. Lie Attributs Dans cet exemple, une personne est parent d'une autre personne. Exemple : Personne est_parent
  • 45. Plan • Introduction aux bases de données • Algèbre relationnelle • Le modèle relationnel : entités et attributs • Le modèle relationnel : relations et cardinalité • Choix de modélisation
  • 46. Choix de modélisation Il n'existe pas de modèle de données idéal. Le modèle doit correspondre à un besoin précis. Il est indispensable que chaque décision, chaque façon de faire soit réfléchie. En cas de multiples possibilités, il faut s'assurer que le fonctionnement mis en place répondra au besoin. Risques Il peut être tentant de créer un modèle le plus généraliste possible. Attention toutefois à ce type de modèles qui mèneront à des bases de données trop complexes. Les performances seront alors moindres et les fonctionnalités mises en place pas forcément utilisées.
  • 47. Choix de modélisation Une base données doit permettre de stocker toutes les informations nécessaires à son utilisation. Toute la complexité réside dans l'organisation de ces attributs. Toute redondance est interdite. Il faut essayer de créer un modèle à la fois évolutif mais aussi suffisant pour le besoin.
  • 48. Choix de modélisation Utiliser un attribut dans l'entité ou créer une association ? Personne Personne Adresse ID Nom ID 0,1 Reside 0,n ID Prenom OU Nom Voie ? date_debut Adresse Prenom CP date_fin CP Ville Ville
  • 49. Choix de modélisation Choix des cardinalités ? Personne Adresse ID 0,1 Reside 0,n ID Nom date_debut Voie Prenom date_fin CP Ville Personne Adresse ID 1,n Reside 0,n ID Nom type Voie Prenom date_debut CP date_fin Ville
  • 50. Usages Pour nommer les entités et les attributs, il est interdit d'utiliser espaces et accents. Les relations sont nommées par des verbes à la forme active ou passive. Attention à la casse, certaines bases de données y sont sensibles, d'autres non. Il est donc fréquent de devoir appliquer une normalisation propre à l'entreprise. Nous appliquerons dans ce cours, pour les attributs et entités, la règle : première lettre majuscule puis minuscules.
  • 51. Aberrations Toute répétition d'entité doit être supprimée. Les relations binaires un pour un ne doivent pas apparaître dans un modèle E-A mais si nous verrons qu'elles existent fréquemment dans un modèle de données. Les relations n-aires sont souvent complexes à comprendre et à interpréter. Il faut donc toujours se demander si celles-ci sont indispensables.