Institut National de Statistique et d’Economie …Cours de Bases de données 1er année, Filière...
Transcript of Institut National de Statistique et d’Economie …Cours de Bases de données 1er année, Filière...
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