• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
2009 m1 ensta_projet_bases_de_donnees
 

2009 m1 ensta_projet_bases_de_donnees

on

  • 118 views

 

Statistics

Views

Total Views
118
Views on SlideShare
118
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

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

    2009 m1 ensta_projet_bases_de_donnees 2009 m1 ensta_projet_bases_de_donnees Document Transcript

    • Projet de Base de donnéesObjectif :Lobjectif est de se familiariser avec des aspects importants pour le développement dapplicationsutilisant des bases de données.Dans une première étape, vous devez construire un MCD permettant de modéliser une base delocation de voitures. Dans une deuxième étape, vous réaliserez le MLD correspondant; puisimplanterez le MPD sous Oracle Express. Enfin, vous insèrerez quelques données,judicieusement choisies par rapport aux questions Q1 à Q5 dont vous donnerez le texte SQLdans la partie 3. Dans la partie 4, vous testerez lappel dune base de données depuis JAVA. Pourcela, un exemple simple, permettant de débuter est fourni. Sur la base de cet exemple, il vous estdemandé de réaliser une application simpliste. Enfin, vous tenterez de réaliser une attaque auprocessus didentification développé dans la partie 4, montrant quune mauvaise programmation peutgénérer des failles importantes.Docs et programmes sur http://www-smis.inria.fr/~bouganim/ensta/projet (dès ce soir)Installation :o Si vous avez des outils pour développer en JAVA, vous pouvez les utiliser, sinon, vous pouvez utiliser Eclipse. Sur un PC windows, vous pouvez télécharger Eclipse (j2re-1_4_2_13-windows- i586-p.exe)o Copiez les exemples fournis – compilez les et testez les (après avoir notamment vérifié / modifié les paramètres de connexion)Partie 1 – Réalisation du MCDIl faudra créer le MCD en se basant dune part sur le (court) texte décrivant le contexte associéainsi que sur les questions Q1 à Q5 indiquées et qui seront utilisées dans la partie 3. Ainsi, leMCD créé devra permettre de stocker les informations nécessaires pour pouvoir répondre à cesquestions et, si possible, pas plus. La création dun MCD plus complexe est en général sourcederreurs. Dans tous les cas, vous aurez au plus 7 entités ou associations au total. Il ny a pasune seule bonne solution, tout comme, nous lavons vu en cours, il ny a pas une seule bonnemodélisation. La modélisation sera considérée correcte à partir du moment où les choix sontjustifiés et pertinents. Aussi, en cas de doute ou dimprécision dans le contexte, vous pourrezapportez toutes sortes de précisions, en les justifiant, dans le texte accompagnant le MCD.Location de voitureUne agence de location de voiture souhaite gérer son parc locatif. Chaque véhicule est dunecertaine catégorie (A, B, C, D, E) indiquant le tarif journalier, etc… Les clients louent desvoitures pour une certaine durée (on ignorera les forfaits, etc.). Q1 : Liste des catégories triées par prix à la journée Q2 : Liste des locations de véhicule de catégorie E triés par date Q3 : Liste des véhicules jamais loués Q4 : Nombre de location par catégorie Q5 : Vérifiez quun véhicule donné nest pas loué deux fois (ou plus) à la même période -1-
    • Partie 2 – Réalisation du MLD et MPDUtilisez les règles de transformation vues en cours et les règles de vérification et proposez unMLD correspondant au MCD de la Partie 1. Si vous simplifiez le MLD, justifiez vossimplifications.Donnez le texte SQL de création de la base (en le testant sur Oracle Express) en • Choisissant le bon type pour chaque attribut • Pensant à rajouter les contraintes de clé primaire (en les nommant) • Pensant à rajouter les contraintes dintégrité référentielles (en les nommant)Insérez un jeu de données permettant de tester les requêtes de la partie 3.Partie 3 – Questions SQLDonnez le texte SQL correspondant aux questions Q1 à Q5 et vérifiez-les sur Oracle ExpressPartie 4 – ApplicationSur le modèle de TestDB, construisez un petit programme qui o Se connecte à la base de données comme l’utilisateur «TP» o Demande un login (saisi au clavier) et un mot de passe (saisi au clavier) et va vérifier dans la table « Logins », créée préalablement dans Oracle, lexistence du couple login/password. o Si le login/mot de passe existe, demande une catégorie et affiche l’immatriculation des véhicules de la catégorie correspondante.Partie 5 – Attaque et correctionRéalisez des attaques par injection de code SQL sur votre petit programme. o Par injection, sans modifier le programme JAVA, contournez le mécanisme dauthentification créé dans la partie 1 o Par injection, récupérez, sans modifier le programme JAVA, le nom des clients o Corrigez votre programme pour qu’il soit résistant à ces attaques.Documents à rendre : o MCD o MLD o Texte SQL de création o Teste SQL des questions o Code source java de l’application o Petits commentaires (2 à 3 pages maxi) -2-