institut national de statistique et d’economie …cours de bases de données 1er année, filière...

34
Cours de Bases de données 1 er année, Filière Informatique 2016/2017 Pr. Imade BENELALLAM [email protected] www.benelallam.org 1 Cours de Bases de données Institut National de Statistique et d’Economie Appliquée

Upload: others

Post on 03-Aug-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Institut National de Statistique et d’Economie …Cours de Bases de données 1er année, Filière Informatique 2016/2017 Pr. Imade BENELALLAM i.benelallam@insea.ac.ma Cours de Bases

CoursdeBasesdedonnées

1er année,FilièreInformatique2016/2017

Pr.ImadeBENELALLAM

[email protected]

1Cours deBasesdedonnées

InstitutNationaldeStatistiqueetd’EconomieAppliquée

Page 2: Institut National de Statistique et d’Economie …Cours de Bases de données 1er année, Filière Informatique 2016/2017 Pr. Imade BENELALLAM i.benelallam@insea.ac.ma Cours de Bases

Chapitre2Lemodèleabstraitdesbasesde

données

Cours deBasesdedonnées 2

Page 3: Institut National de Statistique et d’Economie …Cours de Bases de données 1er année, Filière Informatique 2016/2017 Pr. Imade BENELALLAM i.benelallam@insea.ac.ma Cours de Bases

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

Page 4: Institut National de Statistique et d’Economie …Cours de Bases de données 1er année, Filière Informatique 2016/2017 Pr. Imade BENELALLAM i.benelallam@insea.ac.ma Cours de Bases

Problèmesd’uneconceptionsansprécautions

• Sil’onmodifiel’annéedenaissanced’HitchcockpourVertigo...

• Sidestructiond’unfilm,onrisquedesupprimerlemetteurenscène…

Cours deBasesdedonnées 4

Page 5: Institut National de Statistique et d’Economie …Cours de Bases de données 1er année, Filière Informatique 2016/2017 Pr. Imade BENELALLAM i.benelallam@insea.ac.ma Cours de Bases

Introduction:modélisation desdonnées

• Laréalisationd’uneBasedeDonnées impliquetroisgrandesétapes:– Ladéfinitiond’uncahierdescharges– Lamodélisation– L’implantationphysiquedansunsystèmeinformatique.

Cours deBasesdedonnées 5

Page 6: Institut National de Statistique et d’Economie …Cours de Bases de données 1er année, Filière Informatique 2016/2017 Pr. Imade BENELALLAM i.benelallam@insea.ac.ma Cours de Bases

Cours deBasesdedonnées 6

Page 7: Institut National de Statistique et d’Economie …Cours de Bases de données 1er année, Filière Informatique 2016/2017 Pr. Imade BENELALLAM i.benelallam@insea.ac.ma Cours de Bases

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

Page 8: Institut National de Statistique et d’Economie …Cours de Bases de données 1er année, Filière Informatique 2016/2017 Pr. Imade BENELALLAM i.benelallam@insea.ac.ma Cours de Bases

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

Page 9: Institut National de Statistique et d’Economie …Cours de Bases de données 1er année, Filière Informatique 2016/2017 Pr. Imade BENELALLAM i.benelallam@insea.ac.ma Cours de Bases

Lemodèleentité-association(E/A)• PrenonsparexempleuneentitéClient:

• Voiciquelquesexemplesdeclients:

• Chacundecesclientsreprésenteuneoccurrence(instance)del'entitéClient.

Cours deBasesdedonnées 9

Page 10: Institut National de Statistique et d’Economie …Cours de Bases de données 1er année, Filière Informatique 2016/2017 Pr. Imade BENELALLAM i.benelallam@insea.ac.ma Cours de Bases

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

Page 11: Institut National de Statistique et d’Economie …Cours de Bases de données 1er année, Filière Informatique 2016/2017 Pr. Imade BENELALLAM i.benelallam@insea.ac.ma Cours de Bases

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

Page 12: Institut National de Statistique et d’Economie …Cours de Bases de données 1er année, Filière Informatique 2016/2017 Pr. Imade BENELALLAM i.benelallam@insea.ac.ma Cours de Bases

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

Page 13: Institut National de Statistique et d’Economie …Cours de Bases de données 1er année, Filière Informatique 2016/2017 Pr. Imade BENELALLAM i.benelallam@insea.ac.ma Cours de Bases

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

Page 14: Institut National de Statistique et d’Economie …Cours de Bases de données 1er année, Filière Informatique 2016/2017 Pr. Imade BENELALLAM i.benelallam@insea.ac.ma Cours de Bases

Lemodèleentité-association(E/A)

• Exemple :empruntéPar(personne, livre),aPourPère(personne, personne).

• Représentationgraphique:(schémaentitéassociation)

Cours deBasesdedonnées 14

Page 15: Institut National de Statistique et d’Economie …Cours de Bases de données 1er année, Filière Informatique 2016/2017 Pr. Imade BENELALLAM i.benelallam@insea.ac.ma Cours de Bases

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

Page 16: Institut National de Statistique et d’Economie …Cours de Bases de données 1er année, Filière Informatique 2016/2017 Pr. Imade BENELALLAM i.benelallam@insea.ac.ma Cours de Bases

Cours deBasesdedonnées 16

Page 17: Institut National de Statistique et d’Economie …Cours de Bases de données 1er année, Filière Informatique 2016/2017 Pr. Imade BENELALLAM i.benelallam@insea.ac.ma Cours de Bases

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

Page 18: Institut National de Statistique et d’Economie …Cours de Bases de données 1er année, Filière Informatique 2016/2017 Pr. Imade BENELALLAM i.benelallam@insea.ac.ma Cours de Bases

Lemodèleentité-association(E/A)

Cours deBasesdedonnées 18

DatEmprunt

Page 19: Institut National de Statistique et d’Economie …Cours de Bases de données 1er année, Filière Informatique 2016/2017 Pr. Imade BENELALLAM i.benelallam@insea.ac.ma Cours de Bases

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

Page 20: Institut National de Statistique et d’Economie …Cours de Bases de données 1er année, Filière Informatique 2016/2017 Pr. Imade BENELALLAM i.benelallam@insea.ac.ma Cours de Bases

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

Page 21: Institut National de Statistique et d’Economie …Cours de Bases de données 1er année, Filière Informatique 2016/2017 Pr. Imade BENELALLAM i.benelallam@insea.ac.ma Cours de Bases

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.

Page 22: Institut National de Statistique et d’Economie …Cours de Bases de données 1er année, Filière Informatique 2016/2017 Pr. Imade BENELALLAM i.benelallam@insea.ac.ma Cours de Bases

Lemodèleentité-association(E/A)

Voicilamodélisationcorrecte:

Cours deBasesdedonnées 22

Page 23: Institut National de Statistique et d’Economie …Cours de Bases de données 1er année, Filière Informatique 2016/2017 Pr. Imade BENELALLAM i.benelallam@insea.ac.ma Cours de Bases

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

Page 24: Institut National de Statistique et d’Economie …Cours de Bases de données 1er année, Filière Informatique 2016/2017 Pr. Imade BENELALLAM i.benelallam@insea.ac.ma Cours de Bases

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.

Page 25: Institut National de Statistique et d’Economie …Cours de Bases de données 1er année, Filière Informatique 2016/2017 Pr. Imade BENELALLAM i.benelallam@insea.ac.ma Cours de Bases

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

Page 26: Institut National de Statistique et d’Economie …Cours de Bases de données 1er année, Filière Informatique 2016/2017 Pr. Imade BENELALLAM i.benelallam@insea.ac.ma Cours de Bases

Lemodèleentité-association(E/A)

• Unerelationnepeutpasêtreliéeuniquementàdesentitésdépendantesayantenplusunecardinalitémaximalede1 ! ! !

• Exemple :Lamodélisationsuivanteparexemplen'estpascorrecte:

Cours deBasesdedonnées 26

Page 27: Institut National de Statistique et d’Economie …Cours de Bases de données 1er année, Filière Informatique 2016/2017 Pr. Imade BENELALLAM i.benelallam@insea.ac.ma Cours de Bases

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

Page 28: Institut National de Statistique et d’Economie …Cours de Bases de données 1er année, Filière Informatique 2016/2017 Pr. Imade BENELALLAM i.benelallam@insea.ac.ma Cours de Bases

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

Page 29: Institut National de Statistique et d’Economie …Cours de Bases de données 1er année, Filière Informatique 2016/2017 Pr. Imade BENELALLAM i.benelallam@insea.ac.ma Cours de Bases

Lemodèleentité-association(E/A)

• Solutiondel’exempleprécédent : Voiciunesolutionquiutiliseunerelationternaire

Cours deBasesdedonnées 29

Page 30: Institut National de Statistique et d’Economie …Cours de Bases de données 1er année, Filière Informatique 2016/2017 Pr. Imade BENELALLAM i.benelallam@insea.ac.ma Cours de Bases

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

Page 31: Institut National de Statistique et d’Economie …Cours de Bases de données 1er année, Filière Informatique 2016/2017 Pr. Imade BENELALLAM i.benelallam@insea.ac.ma Cours de Bases

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

Page 32: Institut National de Statistique et d’Economie …Cours de Bases de données 1er année, Filière Informatique 2016/2017 Pr. Imade BENELALLAM i.benelallam@insea.ac.ma Cours de Bases

Lemodèleentité-association(E/A)

• Plusieurs relationsdifférentesentredeuxentités

Cours deBasesdedonnées 32

Page 33: Institut National de Statistique et d’Economie …Cours de Bases de données 1er année, Filière Informatique 2016/2017 Pr. Imade BENELALLAM i.benelallam@insea.ac.ma Cours de Bases

Lemodèleentité-association(E/A)

• Relationréflexive

Cours deBasesdedonnées 33

Page 34: Institut National de Statistique et d’Economie …Cours de Bases de données 1er année, Filière Informatique 2016/2017 Pr. Imade BENELALLAM i.benelallam@insea.ac.ma Cours de Bases

Exercice

Cours deBasesdedonnées 34