institut national de statistique et d’economie …cours de bases de données 1er année, filière...
TRANSCRIPT
CoursdeBasesdedonnées
1er année,FilièreInformatique2016/2017
Pr.ImadeBENELALLAM
1Cours deBasesdedonnées
InstitutNationaldeStatistiqueetd’EconomieAppliquée
Chapitre2Lemodèleabstraitdesbasesde
données
Cours deBasesdedonnées 2
Introduction:modélisation desdonnées
• CechapitreprésentelemodèleEntité/Association (E/A)quiestutiliséàpeuprèsuniversellementpourlaconceptiondebasesdedonnées (relationnellesprincipalement).
• LemodèleE/Aapourcaractéristiquesd’êtresimpleetsuffisammentpuissantpourreprésenterdesstructuresrelationnelles
Cours deBasesdedonnées 3
Problèmesd’uneconceptionsansprécautions
• Sil’onmodifiel’annéedenaissanced’HitchcockpourVertigo...
• Sidestructiond’unfilm,onrisquedesupprimerlemetteurenscène…
Cours deBasesdedonnées 4
Introduction:modélisation desdonnées
• Laréalisationd’uneBasedeDonnées impliquetroisgrandesétapes:– Ladéfinitiond’uncahierdescharges– Lamodélisation– L’implantationphysiquedansunsystèmeinformatique.
Cours deBasesdedonnées 5
Cours deBasesdedonnées 6
Introduction:modélisation desdonnées
• Définition :(Modèledesdonnées)Unmodèledesdonnées(«datamodel»)estunedescriptionformelleetstructuréedesdonnéesetdeleursrelationsdansunsystèmed’information.
• Pourobtenirunmodèledesdonnées, ilfauttroisgrandesphases:– Modélisation/analysedesdonnées– Constructiond’unmodèleentité-association– Conversionenunschémadebasesdedonnéesrelationnelles.
• Laméthodedeconceptionpermetdedistinguerlesentitésquiconstituentlabasededonnées,etlesassociationsentrecesentités.
Cours deBasesdedonnées 7
Lemodèleentité-association(E/A)Entité• Uneentitéestunélémentexistant(objetconcretouabstrait)ouunconceptdistinguable;Exemple :unepersonne,unevoiture,unlivre...
• Unensembled'entitéscontientdesentitéssimilaires,maisdistinguablesdeuxàdeux.
• Lesentitésontunnometdespropriétés(permettantdelesdistinguer)appeléesattributs.
• Chaqueattributassocieàuneentitéunevaleurdansundomaine(entiers, réels,chaînesdecaractères...)
Cours deBasesdedonnées 8
Lemodèleentité-association(E/A)• PrenonsparexempleuneentitéClient:
• Voiciquelquesexemplesdeclients:
• Chacundecesclientsreprésenteuneoccurrence(instance)del'entitéClient.
Cours deBasesdedonnées 9
Lemodèleentité-association(E/A)Identifiant• Afindepouvoirdistinguerlesdifférentesoccurrencesd'unemêmeentité,l'entitédoitêtredotéed'unidentifiant.
• L'identifiantestcomposéd'uneoudeplusieurspropriétésdel'entité.
• Chaqueoccurrenced’uneentitédoitavoirunevaleurdifférentepourl’identifiant
• Lechoixd'unidentifiantcorrecteesttrèsimportantpourlamodélisation.
Cours deBasesdedonnées 10
Lemodèleentité-association(E/A)
• Commechoixpourl'identifiantd'uneentiténousdistinguonsgénéralement3possibilités:
1. Unepropriéténaturelle.Exemple:Lenomd'unpayspouruneentitéPays
2. Unepropriétéartificiellequiestinventéeparleconcepteur.Exemple:Lenumérod'unclientpouruneentitéClient
3. Unepropriétécomposéed'autrespropriétésnaturelles.Exemple:LenometlalocalitépouruneentitéEntreprise
Cours deBasesdedonnées 11
Lemodèleentité-association(E/A)Définition :(surclè)• Onappelleune surclé unensembled'attributs(parfoisréduitàunseul)caractérisantl'entité.
• Lorsquel'ensembleestminimalondiraquelasurcléestuneclé.
• Enrésumé,unecléestunensembleminimald'attributscaractérisantlesentités.Deuxentitésdifférentesdoiventavoirdesclésdifférentes.
• Dansladéclarationd'entités,engénéral,lacléestsoulignée:personne(numéroSS,nom,prénom,adresse,âge,...)
Cours deBasesdedonnées 12
Lemodèleentité-association(E/A)Association• Définition :(Association)Onappelle association unerelationentreunensembled'entités:– A=NomRelation(E1,E2,...Ek).
• Nousdistinguonsprincipalementdeuxtypesd’association:– lesrelationsbinaires,quisontliéesà2entités;– lesrelationsternaires,quisontliéesà3entités.
• Remarque: Leplussouventk(Kestlacardinalitédelarelation)vaut2,onditquel'associationestbinaire.
Cours deBasesdedonnées 13
Lemodèleentité-association(E/A)
• Exemple :empruntéPar(personne, livre),aPourPère(personne, personne).
• Représentationgraphique:(schémaentitéassociation)
Cours deBasesdedonnées 14
Lemodèleentité-association(E/A)FonctionnalitésdesassociationsbinairesUneassociationbinaireestuneassociationdetypeA(E1,E2).• associations1:1 :chaquee1estassociéàauplusune2etchaque
e2estassociéàauplusune1.– exemple :l'associationchef_département,a_pour_conjoint .
• associations1:n : e1peut-êtreassociéàplusieurse2,maischaquee2nepourraêtreassociéqu'àauplusune2– exemple :est_le_père_de, a_écrit
• Associationsn:1 :l'inversedelaprécédente.– exemple :a_pour_père,est_édité_par,a_pour_parent,
est_parent_de.• Associationm:n :uneentitédeE1peutêtreassociéeàplusieurs
entitése2etréciproquement– exemple :empunter_par(personne, livre).
Cours deBasesdedonnées 15
Cours deBasesdedonnées 16
Lemodèleentité-association(E/A)
Attributsassociésàuneassociation• Lorsquel'onadéterminéuncoupled'entités(e1,e2)etquel'onsouhaiteassocieràcecouplecertainesvaleurs,onassocieunattributàcetteassociation(commepouruneentité).
• Exemple :lorsqu'unepersonneemprunteunlivreonsouhaiteconserverladated'emprunt.EmpruntéPar(Personne, Livre,dateEmprunt).
Cours deBasesdedonnées 17
Lemodèleentité-association(E/A)
Cours deBasesdedonnées 18
DatEmprunt
Lemodèleentité-association(E/A)• Exemple:Pourquoiest-cequ’onnepeutpasassocierlapropriétéAnnéeà
unedesentités ?
Cettedaten'auraitaucunsensdansl'entitéEtudiant,nidansl'entitéDiplôme,puisqu'ilpeutyavoirdifférentesdatesd‘obtentiondediplômepourunmêmeétudiant,demêmequelediplômepeut-êtreobtenuàdifférentesdates.
Cours deBasesdedonnées 19
Lemodèleentité-association(E/A)Exemple:Pourquoidoit-onsoulignerl’ « Année » ?
Commeunprofesseurpeutavoirlamêmeclassependantplusieursannées,unidentifiantcomposédeNo_MatriculeetCode_Classe n'estpassuffisant,puisqu’ilnegarantitpasl’unicité.Onyajoutel'Année.
Cours deBasesdedonnées 20
Lemodèleentité-association(E/A)• Attention:Unerelationàcardinalité(1,1)n'estjamaisporteusede
propriétés.Danscecas,lespropriétésmigrentdansl'entitéportantcettecardinalité(1,1).
• Exemple:
Cours deBasesdedonnées 21
Cettemodélisationn'estpascorrecte!Chaquefacturenepossèdequ'uneetuneseuledated'émission,cequifaitquelapropriétéDate_émissiondoitmigrerdansl'entitéFacture.
Lemodèleentité-association(E/A)
Voicilamodélisationcorrecte:
Cours deBasesdedonnées 22
Lemodèleentité-association(E/A)Cardinalité• Définition :(Cardinalité)c'estuncoupledevaleurs
indiquantlesnombresminimumetmaximumd'élémentsassociés.C'est-à-direlesnombremaximumetminimumdeliensréelsquepeutrecevoiruneinstanced’entitépouruneassociationdonnée.
• Exemple :unepersonnepeutavoirentre0et30enfants,unlivrepeutavoirentre1et10auteursetc.Auninstantdonné,unlivrepeutêtreemprunté0ou1fois.
• Lorsquel’onnesouhaitepaspréciseronmet0,n
Cours deBasesdedonnées 23
Lemodèleentité-association(E/A)• Relationentrecardinalitéettypedel'association
Cours deBasesdedonnées 24
Type E1 E2 exemple
1 :1 (0,1) ou (1,1) (0,1) ou (1,1) aPourConjoint
1 :n (0,n) ou (1,n) (0,1) ou (1,1) Edite
n :1 (0,1) ou (1,1) (0,n) ou (1,n) éditéPar
m :n (0,m) ou (1,m) (0,n) ou (1,n) écritPar
Enpratique,afindedéterminerlesbonnescardinalités,leconcepteurdoitseréférerauxrésultatsdel'analyse.
Lemodèleentité-association(E/A)• Interprétezcettemodélisation :
• OnditqueClient estl'entitéindépendante parrapportàlarelationdisposer (cardinalité minimale=0),tandisqueCarte_membre estl'entitédépendante parrapportàlarelationdisposer (cardinalité minimale=1).
Cours deBasesdedonnées 25
Lemodèleentité-association(E/A)
• Unerelationnepeutpasêtreliéeuniquementàdesentitésdépendantesayantenplusunecardinalitémaximalede1 ! ! !
• Exemple :Lamodélisationsuivanteparexemplen'estpascorrecte:
Cours deBasesdedonnées 26
Lemodèleentité-association(E/A)
Associationternaire• Exemple :Apartirdes3entitésProfesseur (CodeProf,Nom,Prénom);Matière(CodeMatière,Libellé) etClasse(Nom,Cycle)ils’agitdecréerunMCDquirenseignesurlefaitquellematièreestenseignéedansquelleclasseparquelprofesseurpouruneannéescolairedonnée.
Cours deBasesdedonnées 27
Lemodèleentité-association(E/A)
Exercice• Essayezdemontrerleslimites/défauts d’unMCDquireprésentel’énoncédel’exempleprécédentenutilisantuniquementdesrelationsbinaires.
• Remarque:Onutiliseuneassociationternairequandonabesoindeconnaîtreuneoccurrencedechaqueentitépouravoiruneinformation.
Cours deBasesdedonnées 28
Lemodèleentité-association(E/A)
• Solutiondel’exempleprécédent : Voiciunesolutionquiutiliseunerelationternaire
Cours deBasesdedonnées 29
Lemodèleentité-association(E/A)• Exemple :Ladirectiond’unechaîned’hôtelsdésiregérerles
séjoursdesclientsdanslesdifférentshôtels.Commeonpeuteffectivementdire"Unclienteffectueunséjourdansunhôtel"onestammené àproposerlamodélisationsuivante.
Cours deBasesdedonnées 30
Lemodèleentité-association(E/A)• Hors,cette modélisation porte une contrainte
supplémentaire,puisque lacardinalité 1,1entrel'entité Séjouretlarelationnousindique que pourchaque occurrencedeSéjour il nepeut exister qu'une etune seule occurrencedelarelation.
Cours deBasesdedonnées 31
Lemodèleentité-association(E/A)
• Plusieurs relationsdifférentesentredeuxentités
Cours deBasesdedonnées 32
Lemodèleentité-association(E/A)
• Relationréflexive
Cours deBasesdedonnées 33
Exercice
Cours deBasesdedonnées 34