Vous êtes sur la page 1sur 3

Stockageettraitementdesdonnes Examen

20122013session2 2H documentsautoriss

Exercice1: Oncherchemodliserunrseaudecheminsdeferlaidedunmodleentit/association. Lesnomsdesgaressontuniquessurtoutlerseau.Lestrainssontidentifisparunnumro reprsentantuntrajetdonn. 1.1.Onconsidrelensembledattributs{num_train,gare,horaire}.Exprimerladpendance fonctionnellesuivante: lhorairedarriveduntraindansunegareestunique 1.2.Dessinerunmodleentit/associationreprsentantlescontraintessuivantes Untraindessertplusieursgares,etdansunegarepeuventpasserplusieurslignesdetrain Chaquelignedetrainpossdeunterminusunique 1.3.Modifiezleschmapourqueleshorairesdepassagedanslesdiffrentesgaressoientpris encompte. Exercice2: Auniveaudelutilisateur,unfichierdedonnespeuttrevucommeunensembledeNtuples, chaquetuplecontenantunjeudevaleursdetailleidentique.Auniveaumatriel(disquedur),le fichierestorganiscommeunelistedepages,chaquepagecontenantntuples(n<<N).On considrel'algoquidoittrouverla(oules)tuple(s)contenantunecertaineinformationI. Letempsderecherchesecompteennombred'accsdisque(unaccsdisquecorrespondau chargementd'unepage) Donnezl'algoquiaffichelepremiertuplecontenantlavaleurI.Quelestsontempsderecherche (meilleurcas,pirecas,casmoyen)?Idempourl'algoquiaffichel'ensembledestuples contenantlavaleurI. Exercice3: Labasededonnesservantadministreruncinmaestdcriteparleschmasuivant: Acteur(id_acteur,nom,prnom) Ralisateur(id_ralisateur,nom,prnom) Participation(id_acteur,id_film) Film(id_film,titre,id_ralisateur,dure) Sance(id_sance,id_film,id_salle,date,heure) Salle(id_salle,type,capacit)

Exprimezenalgbrerelationnellelesrequtessuivantes: 3.1.Donnerlalistedessallesdeplusde25places. 3.2.Donnerlenometleprnomduralisateurdufilmintitul"Lalonguemarche". 3.3.Donnerlalistedesacteurs(nom,prnom)quijouentdanslefilmintitul"Lalongue marche". 3.4.DonnerlesdatesetheuresdessancesdufilmintitulLalonguemarchequiontlieu dansunesalledetypedolbystereo. 3.5.Donnerlalistedesacteurs(nom,prnom)quisontaussiralisateurs. 3.6.Donnerlalistedesacteurs(nom,prnom)quinesontpasralisateurs 3.7.Donnerlalistedesfilms(titre,nom,prnom)oleralisateurestacteurdanssonpropre film. Exercice4 Onconsidreunebasededonnesservantpourlaventedarticlesparinternet(lesclients choisissentdesarticlesquilsajoutentdansleurpanier) Labasecontientlestables: Client(email,passw,nom,prenom,tel,adresse)quidfinitunClient(leclientestidentifipar sonemailetsonmotdepasse) Panier(numpanier,date,modepaiement,email,pass)quidfinitunPaniervirtueldanslequel unclientmetlesarticlesqu'ilcommande.emailetpasswconstituentlaclprimairedelatable ClientetcltrangredelatablePanier. Article(idarticle,type,prix)quidfinitunarticle Ajout(Idarticle,numpanier) Questions 4.1.AquoisertlatableAjout?Pourquoiidarticleetnumpanierconstituentilslaclprimairede cettetable? 4.2.ExprimezenSQLlesrequtessuivantes: 4.2.1:DonnerlalistedesarticlesdetypeCDcotantmoinsde10euros 4.2.2:Donnerlecontenu(listedesidarticle,typeetprix)dupanier33752? 4.2.3:Donnerlemontanttotaldupanierde'michou@poupoupidoo.fr(motdepasse2p2f4)le 7fvrier2013. 4.2.5:Donnerlenombredepaniersdontlemontantdpasse1000euros. 4.2.6:Donnerlenombredeventes(dajouts)partypedarticle. 4.3.JavaetJDBC NousconsidronsquuneclasseClientatdfinieauseindunprojetcritenJava,dontles attributsetleconstructeursontdfiniscommesuit:

p u b l i c c l a s s C l i e n t { p r i v a t e S t r i n g e M a i l P a s s p r i v a t e S t r i n g n o m p r i v a t e S t r i n g p r e n o m p r i v a t e S t r i n g a d r e s s e p r i v a t e A r r a y L i s t < I n t > p a n i e r s p u b l i c C l i e n t ( S t r i n g e M a i l P a s s , S t r i n g n o m , S t r i n g p r e n o m , S t r i n g a d r e s s e ) { t h i s . e M a i l P a s s = e M a i l P a s s t h i s . n o m = n o m t h i s . p r e n o m = p r e n o m t h i s . a d r e s s e = a d r e s s e t h i s . p a n i e r s = n e w A r r a y L i s t < I n t > ( ) } }

op a n i e r s estunelistedechanesdentiers. Ilvousestdemanddcrireunemthodec o m m a n d e quiajouteunidentifiantdepanier(detype entier)danslalistedespaniers. Voicilesquelettedelamthodec o m m a n d e :


p u b l i c v o i d c o m m a n d e ( I n t n u m P a n i e r , C o n n e c t i o n c ) t h r o w s C l a s s N o t F o u n d E x c e p t i o n , S Q L E x c e p t i o n { / / c o m p l t e r }

Pourcrirecettefonction,vousdevezconsidrerdeuxpossibilits:soitlidentifiantexistedans latabledespaniers,soitilestabsent.Danslepremiercas,lenumroestajoutlaliste.Dans lesecondcas,lalistenestpasmodifie.Poursavoirsilidentifiantestprsent,ilest ncesssairedeffectuerunerequtedanslabasededonnes(laidedelobjetc fournien paramtre). EcrivezlecodeJavadelafonctioncommande(laplaceducommentairecomplter)en suivantlasquence: 4.3.1DclarationetinitialisationdunS t a t e m e n t etdunR e s u l t S e t 4.3.2Envoidunerequteverslabasededonnesetlecturedursultat 4.3.3Selonlersultat,ajouterounondunumrolaliste