INF240 - Bases de données DUT SRC1 - Cours 1
Upcoming SlideShare
Loading in...5
×
 

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

on

  • 2,683 views

 

Statistics

Views

Total Views
2,683
Views on SlideShare
1,834
Embed Views
849

Actions

Likes
3
Downloads
63
Comments
0

4 Embeds 849

http://www.lirmm.fr 819
http://www2.lirmm.fr 27
http://igm.univ-mlv.fr 2
http://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

  • DUT SRC – IUT de Marne-la-Vallée 20/03/2012 INF240 – Bases de données Cours 1Introduction, 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 dentrainement. • 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 à lIUT 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 dinformations 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 dinformation, 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 linté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 na quun seul possesseur. Exemple : arbre de Porphyre (III° siècle) hiérarchiquehttp://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 na quun 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 dobjets persistants. Base XML Sappuie 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 Sappuie 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
  • Lalgèbre relationnelle Opérations sur des ensembles de données : • La sélection • La projection • Lintersection • Lunion • La différence • Le produit cartésien • La jointure • La division cartésienne
  • Algèbre relationnelle La sélection Présentation : A À partir dun 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 dun 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 Lintersection 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 Lunion 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 à lensemble B, donnent lensemble 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 • Lentité • Lattribut • Lidentifiant • Loccurrence • Lassociation ou relation • La cardinalité ou multiplicité
  • Le modèle relationnel Lentité 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 Lattribut 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 lentité. Exemple : Personne Nom Prenom Date_naiss
  • Le modèle relationnel Lidentifiant (ou clé) Présentation : Attribut(s) particulier(s) Nom permettant didentifier chaque Identifiant occurrence dune entité. Attribut 2 .... Attribut n Les attributs servant didentifiant sont soulignés. Exemple : Personne Personne Nom ID Prenom Nom Date_naiss Prenom Date_naiss
  • Le modèle relationnel Loccurrence Présentation : Élément particulier dune entité Nom ou dune association. Identifiant Attribut 2 Loccurrence ne fait pas partie du .... Attribut n modèle E-A mais est expliquée ici pour mieux comprendre lentité. 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
  • Lassociation ou relation • Lassociation binaire • Les cardinalités • Association un à un • Association un à plusieurs • Association plusieurs à plusieurs • Association plurielle • Association N-aire • Association réflexive
  • Les relations Lassociation binaire Présentation : Entite_1 Entite_2 Permet de relier deux entités entre elles. Lie Attributs Elle se représente par le biais dun ovale ou dun 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é à lextrémité de chaque lien Min,Max Lie Min,Max dune 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 relationsLassociation un à un Présentation : Entite_1 Entite_2Est caractérisée par descardinalités maximales à 1. Min,1 Lie Min,1 AttributsCes associations sont àproscrire dans un modèleE-A car les 2 entitéspeuvent être fusionnées. Exemple : Personne Profession 0,1 Exerce 0,1 date_origine
  • Les relationsLassociation un à plusieurs Présentation : Entite_1 Entite_2Est caractérisée par unecardinalité maximale à 1 et Min,n Lie Min,1une cardinalité maximale à Attributsn.Ici, une personne exerce auplus une profession et uneprofession peut êtreexercée par aucune ou Exemple :plusieurs personnes. Personne Profession 0,1 Exerce 0,n date_origine
  • Les relationsLassociation plusieurs à Présentation :plusieurs Entite_1 Entite_2Est caractérisée par des Min,n Lie Min,ncardinalités maximales à n. AttributsIci, une personne exerceaucune ou plusieursprofessions et uneprofession peut êtreexercée par aucune ou Exemple :plusieurs personnes. Personne Profession 0,n Exerce 0,n date_origine
  • Les relationsLassociation plurielle Présentation : Entite_1 Entite_2Deux entités peuvent être Lieliées par plusieurs relations. Lie Exemple : Personne Profession Exerce Enseigne
  • Les relationsLassociation n-aire Présentation : Entite_1 Min,Max Lie Min,Max Entite_3Il est possible dassocier Attributsautant dentités quenécessaire. Min,Max Entite_2Il est toutefois rare de voirdes associations à desdegrés supérieurs desternaires. Exemple : Personne 0,n Enseigne 0,n Matiere Jour Heure 0,n Universite
  • Les relationsLassociation réflexive Présentation : Entite_1Lassociation réflexivepermet dassocier uneentité à elle-même. Lie AttributsDans cet exemple, unepersonne est parent duneautre 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élisationIl nexiste 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 soitréfléchie.En cas de multiples possibilités, il faut sassurer que le fonctionnement misen place répondra au besoin.RisquesIl 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 dedonnées trop complexes.Les performances seront alors moindres et les fonctionnalités mises en placepas forcément utilisées.
  • Choix de modélisationUne base données doit permettre de stocker toutes les informationsnécessaires à son utilisation.Toute la complexité réside dans lorganisation de ces attributs.Toute redondance est interdite.Il faut essayer de créer un modèle à la fois évolutif mais aussi suffisant pourle besoin.
  • Choix de modélisationUtiliser un attribut dans lentité 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élisationChoix 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
  • UsagesPour nommer les entités et les attributs, il est interdit dutiliser espaces etaccents.Les relations sont nommées par des verbes à la forme active ou passive.Attention à la casse, certaines bases de données y sont sensibles, dautresnon. Il est donc fréquent de devoir appliquer une normalisation propre àlentreprise.Nous appliquerons dans ce cours, pour les attributs et entités, la règle :première lettre majuscule puis minuscules.
  • AberrationsToute répétition dentité doit être supprimée.Les relations binaires un pour un ne doivent pas apparaître dans un modèleE-A mais si nous verrons quelles existent fréquemment dans un modèle dedonnées.Les relations n-aires sont souvent complexes à comprendre et à interpréter.Il faut donc toujours se demander si celles-ci sont indispensables.