Rapport final d'un projet de base de données réalisé en troisième année Maths Info à l'IMA, présentation du logiciel réalisé et des requêtes SQL de création de la base de données.
[...] Mode Consultation Le mode Consultation de notre interface se présente sous la forme de 7 onglets correspondant aux entités Chantier, Chemins, Personne, Habitation, Parcelle, Emprunt. Dans chaque onglet, il est possible de rechercher un élément intuitivement, comme on peut le voir ci-dessous : En cliquant sur le numéro d'une clé étrangère, par exemple le propriétaire pour une parcelle, une fenêtre s'ouvre et affiche les informations détaillées de cette personne. Mode Administration On peut choisir d'ajouter, de modifier, ou de supprimer un élément dont on choisit la nature avec les onglets supérieurs. [...]
[...] - Nous avons choisi d'agréger les tables Propriétaires, Exploitant et Occupant en une seule table Personne. Modèle relationnel Notre nouveau modèle relationnel est le suivant : Personne(id_personne, nom_personne, prenom, adresse, tel) Parcelle (num_parcelle, nom_parcelle, section_cadastrale_parcelle, num_cadastral_parcelle, superficie_parcelle, nature_parcelle, commentaire_parcelle, num_prop*, num_expl*) Chemin_prive (num_chemin_prive, date_vente_prive, commentaire_prive, num_prop*, num_chemin*) Chemin (num_chemin, nom_chemin, section_cadastrale_chemin, num_cadastral_chemin, longueur_chemin, superficie_chemin, nature_chemin) Habitation (num_hab, nom_hab, type_hab, commentaire_hab, num_prop*, num_loc*) Emprunt (num_emprunt, montant_emprunt, duree_emprunt, annuite_emprunt) Chantier (num_chantier, date_chantier, duree_chantier, nature_chantier, num_emprunt*, commentaire_chantier, num_chemin*) Juxtaposition (num_parcelle*, num_chemin*) Contiguïté (num_hab*, num_chemin*) Les neuf premières relations sont transformées du modèle EA au modèle relationnel en utilisant le nom de l'entité comme le nom de relation et l'identifiant de l'entité comme clé de la table. [...]
[...] Travaillant d'abord en local (en localhost) en raison de la fermeture des salles informatiques pendant les vacances, nous avons dû par la suite faire attention à ce que toutes les transactions actuelles sur déroulent sur le serveur rhodes, et non en local. Conclusion Ce projet nous a permis de savoir maîtriser différents logiciels de programmation, même si le langage utilisé est le même. Ce projet a présenté un intérêt en termes de modélisation d'un problème concret et d'adaptation aux contraintes techniques liées à la création puis la gestion d'une base de données. [...]
[...] Ensuite nous avons été confrontés à un problème d'interopérabilité. En effet, la version de postgresql installée à l'ima n'est pas la dernière version, donc certaines fonctionnalités peuvent s'avérer instables (comme pgadmin qui, lorsqu'on supprime une table à l'aide du menu déroulant en cascade, se ferme tout seul). Cependant, la plupart des fonctionnalités de jdbc fonctionnaient correctement. Pourtant avec la dernière version de postgresql, certaines d'entre elles devenaient dépréciées, donc inutilisables. [...]
[...] La nouvelle clé est formée par la concaténation des identifiants des entités participant à l'association. Construction de la base de données La base de données est construite en exécutant les requêtes SQL dont voici les scripts: CREATE TABLE chantier ( num_chantier varchar(5) NOT NULL, date_chantier date, duree_chantier varchar(10), nature_chantier varchar(100) NOT NULL CHECK (nature_chantier in(‘Pierre', ‘Entretien des bas-côtés', ‘Mise en place de buses d'évacuation', ‘Revêtement, ‘Etalage', ‘Empierrement', ‘Autre')), num_emprunt varchar(5), commentaire_chantier varchar(300), num_chemin varchar(5) NOT NULL, CONSTRAINT chantier_pkey PRIMARY KEY (num_chantier), CONSTRAINT chantier_num_chemin_fkey FOREIGN KEY (num_chemin) REFERENCES chemin (num_chemin) ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT chantier_num_emprunt_fkey FOREIGN KEY (num_emprunt) REFERENCES emprunt (num_emprunt) ON UPDATE NO ACTION ON DELETE NO ACTION ) CREATE TABLE chemin ( num_chemin varchar(40) NOT NULL, nom_chemin varchar(40), section_cadastrale_chemin varchar(20), num_cadastral_chemin varchar(20), longueur_chemin varchar(40), superficie_chemin varchar(40), nature_chemin varchar(20), CONSTRAINT chemin_pkey PRIMARY KEY (num_chemin) ) CREATE TABLE chemin_prive ( num_chemin varchar(5) NOT NULL, date_vente_prive date, commentaire_prive varchar(200), id_personne varchar(5) NOT NULL, CONSTRAINT chemin_prive_pkey PRIMARY KEY (num_chemin), CONSTRAINT chemin_prive_id_personne_fkey FOREIGN KEY (id_personne) REFERENCES personne (id_personne) ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT chemin_prive_num_chemin_fkey FOREIGN KEY (num_chemin) REFERENCES chemin (num_chemin) ON UPDATE NO ACTION ON DELETE NO ACTION ) CREATE TABLE emprunt ( num_emprunt varchar(5) NOT NULL, montant_emprunt varchar(10), duree_emprunt varchar(4), annuite_emprunt varchar(9), CONSTRAINT emprunt_pkey PRIMARY KEY (num_emprunt) ) CREATE TABLE habitation ( num_hab varchar(5) NOT NULL, nom_hab varchar(50), type_hab varchar(40), commentaire_hab varchar(300), id_personne varchar(5) NOT NULL, id_personne_1 varchar(5) NOT NULL, CONSTRAINT habitation_pkey PRIMARY KEY (num_hab), CONSTRAINT habitation_id_personne_1_fkey FOREIGN KEY (id_personne_1) REFERENCES personne (id_personne) ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT habitation_id_personne_fkey FOREIGN KEY (id_personne) REFERENCES personne (id_personne) ON UPDATE NO ACTION ON DELETE NO ACTION ) CREATE TABLE habitation_chemin ( num_chemin varchar(5) NOT NULL, num_hab varchar(5) NOT NULL, CONSTRAINT habitation_chemin_pkey PRIMARY KEY (num_chemin, num_hab), CONSTRAINT habitation_chemin_num_chemin_fkey FOREIGN KEY (num_chemin) REFERENCES chemin (num_chemin) ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT habitation_chemin_num_hab_fkey FOREIGN KEY (num_hab) REFERENCES habitation (num_hab) ON UPDATE NO ACTION ON DELETE NO ACTION ) CREATE TABLE parcelle ( num_parcelle varchar(5) NOT NULL, nom_parcelle varchar(50), section_cadastrale_parcelle varchar(10), num_cadastral_parcelle varchar(10), superficie_parcelle varchar(9), nature_parcelle varchar(30) NOT NULL CHECK (nature_parcelle in(‘Prairie', ‘Culture', ‘Friches', ‘Forêt', ‘Carrière', ‘Etang', ‘Rivière', ‘Jardin', commentaire_parcelle varchar(300), id_personne varchar(5) NOT NULL, id_personne_1 varchar(5) NOT NULL, CONSTRAINT parcelle_pkey PRIMARY KEY (num_parcelle), CONSTRAINT parcelle_id_personne_1_fkey FOREIGN KEY (id_personne_1) REFERENCES personne (id_personne) ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT parcelle_id_personne_fkey FOREIGN KEY (id_personne) REFERENCES personne (id_personne) ON UPDATE NO ACTION ON DELETE NO ACTION ) CREATE TABLE parcelle_chemin ( num_chemin varchar(5) NOT NULL, num_parcelle varchar(5) NOT NULL, CONSTRAINT parcelle_chemin_pkey PRIMARY KEY (num_chemin, num_parcelle), CONSTRAINT parcelle_chemin_num_chemin_fkey FOREIGN KEY (num_chemin) REFERENCES chemin (num_chemin) ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT parcelle_chemin_num_parcelle_fkey FOREIGN KEY (num_parcelle) REFERENCES parcelle (num_parcelle) ON UPDATE NO ACTION ON DELETE NO ACTION ) CREATE TABLE personne ( id_personne varchar(5) NOT NULL, nom_personne varchar(20), prenom varchar(20), adresse varchar(50), tel varchar(15), CONSTRAINT personne_pkey PRIMARY KEY (id_personne) ) Logiciel de gestion de la base de données Notre interface permet la gestion des chemins ruraux à par le biais d'une interface graphique en proposant deux modes d'accès aux données : - un mode Administration, où il est possible de consulter, mais aussi d'ajouter, modifier, ou supprimer des données. [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture