Les langages SQL associés aux produits

Les langages SQL associés aux produits

Avec l’expansion des tailles des disques durs et l’accélération du traitement des informations, les bases de données sont devenues bien plus utiles qu’avant. La démocratisation de l’accès à Internet et donc la familiarisation avec les moteurs de recherche sur le Web ont accentué le vœu de disposer de sa propre base de données. Le besoin de journaliser les informations et de les retrouver ensuite en une fraction de seconde avec juste quelques mots clés n’est plus un problème et l’expression « chercher une aiguille dans une botte de foin » n’a plus lieu d’être. Dans ce mémoire, nous proposons une application de gestion utilisant le récent système de gestion de bases de données MariaDB, un SGBD dérivé du désormais célèbre MySQL, qui en prend les avantages tout en rajoutant de nouvelles fonctionnalités au fur des versions.

Le choix de ne pas obliger les utilisateurs à se cantonner à un seul système d’exploitation est une priorité. De plus, le logiciel doit avoir une interface unifiée. Le but est alors d’arriver à créer un logiciel portable et léger, et le framework Qt est tout destiné à la réalisation de cet objectif. De plus, les outils qu’il offre et sa documentation disponible et riche ont motivé notre choix.

Etude de l’existant

Présentation du client 

Ayant travaillé 4 mois dans un centre d’imagerie médicale en tant que caissier, j’ai pu voir et étudier le fonctionnement de ce centre entre temps. Pour ce mémoire, j’ai donc proposé d’élaborer une application pour la gestion des patients. Le client est donc un centre d’imagerie médicale, il contient 6 services différents :
1. Service de radiologie
2. Service de scanner
3. Service d’échographie
4. Service de mammographie
5. Service d’IRM
6. Service de cytoponction

Le centre d’imagerie est composé de :

Une réceptionniste
La réceptionniste enregistre pour chaque patient, le nom, le prénom, le nom du mari éventuellement, la date de naissance et le type d’examen à pratiquer. Elle oriente aussi les personnes désirant avoir des informations. Elle enregistre aussi les rendez-vous demandés par téléphone.

Dix manipulateurs
Chaque manipulateur est assigné à un service. Il sait manipuler les machines de son service pour pouvoir pratiquer les examens.

Un caissier
Le caissier enregistre pour chaque patient, le nom, le prénom, le nom du mari éventuellement, la date de naissance, le type d’examen pratiqué, le montant compté pour l’examen, le montant versé et le montant restant ou juste le montant ajouté si c’est un complément, et la date de paiement.

Quatre médecins
Pour chaque examen, un des médecins interprète les résultats. Chaque médecin sait aussi manipuler quelques machines, il peut donc endosser le rôle de manipulateur.

Trois secrétaires médicales
Chaque secrétaire a un ordinateur à sa disposition, il lui permet d’enregistrer l’interprétation des résultats pour chaque examen dictée par un des médecins.

Etapes par lesquelles passe chaque patient

Chacun a son rôle à jouer dans la clinique pour le bon déroulement d’un examen donné. Quand un patient vient faire un examen :
1. La réceptionniste doit enregistrer son nom, prénom, nom du mari si c’est une femme mariée, date de naissance pour avoir l’âge, nom du médecin figurant sur l’ordonnance et enfin le type d’examen à passer. La réceptionniste lui donne un bon sur lequel figurent ces informations sauf le nom du médecin.
2. Le patient passe en salle d’attente
3. Quand le patient est appelé par la réceptionniste pour passer son examen, il est dirigé vers un des services d’examen selon le groupe de son type d’examen
4. A chaque service d’examen, un ou plusieurs manipulateurs sont attachés. Quand le patient passe chez un manipulateur, ce dernier ajoute sur son bon si le patient est conventionné ou non et avec quelle convention, et le montant compté pour l’examen
5. Une interprétation des résultats de l’examen est ensuite faite par un des médecins du centre d’imagerie et dictée à une des secrétaires, qui tape l’interprétation sur un ordinateur puis l’imprime et la met avec le cliché de l’examen dans une enveloppe
6. Le patient se dirige ensuite vers la caisse pour payer l’examen qu’il vient de passer. Après encaissement, et selon si le patient a payé la totalité du montant ou une partie seulement, le bon est cacheté par le caissier ou ce dernier indique sur le bon le montant versé et le montant restant sans le cacheter jusqu’à ce que le patient complète entièrement le versement
7. Quand les résultats de l’examen sont prêts, le patient peut les retirer chez la réceptionniste via son bon préalablement cacheté.

Proposition d’une solution

Le problème est que toutes ces étapes sont faites sur papier, sauf pour les interprétations des résultats qui sont enregistrées sur une base de données et, donc, demandent l’enregistrement du nom, prénom, type d’examen, etc. Si le nom d’un patient doit être retrouvé, la recherche peut prendre beaucoup de temps pour ceux qui n’ont pas accès à la base de données. Afin de faciliter, d’accélérer et de journaliser leurs travaux, une base de données centralisée peut être un bon choix. Il convient donc de mettre en place un serveur pour la base de données et chaque utilisateur devra avoir un ordinateur à disposition relié au serveur.

Les outils utilisés

Base de données

Les langages SQL associés aux produits

Chaque système de gestion de bases de données relationnelles (SGBDR) a son langage SQL propre. Parmi les solutions les plus connues, nous pouvons citer :

MySQL
MySQL est un SGBD libre/open source. Il fait partie des SGBD les plus utilisés dans le monde, surtout dans le monde des bases de données Web [1]. Beaucoup de grandes sociétés telles que Twitter, Facebook, EADS et YouTube, réduisent leurs coûts de manière significative en utilisant MySQL pour leurs services. [2] [3] MySQL AB, la société produisant ce SGBDR, a été acquise en 2008 par Sun Microsystems [4] . En 2009, Sun Microsystems a été, à son tour, rachetée par Oracle Corporation, la société produisant une des solutions concurrentes à MySQL, Oracle Database [5]. MySQL est multiplateforme et distribué sous une double licence GPL et propriétaire [6].

MariaDB
MariaDB est aussi un SGBDR libre. Il s’agit surtout d’un dérivé (fork) de MySQL géré par la fondation MariaDB. Son créateur, Michael « Monty » Widenius est aussi l’un des co-auteurs du SGBDR originel : le nom de MySQL est en référence au nom de sa première fille « My », et celui de sa dernière fille « Maria » est représenté dans le nom de son nouveau projet. Peu de temps après que MySQL AB ait été acquise par Sun Microsystems, Widenius démissionna. Il fondera plus tard sa propre société, Monty Program AB, une société qui appartient à ses employés et dont il n’est pas propriétaire. Le but étant de ne pas reproduire les erreurs du passé, en mettant le projet sous licence GPL v2 et en le maintenant par une société appartenant à ses employés pour éviter toute offre alléchante de rachat par une grande firme et pour  » [ne] pas voir tout ce travail disparaître parce qu’il était tombé dans de mauvaises mains » selon son instigateur. L’objectif de MariaDB est d’arriver comme remplaçant binaire de MySQL sans nécessiter de trop grands travaux. Cela sous-entend une équivalence des noms des fichiers, des API, des protocoles, des sockets, des commandes, etc. [7] [8] [9] Wikipedia a franchi le pas en décembre 2012 en adoptant en lieu et place d’une version modifiée de MySQL, la solution MariaDB sans aucune modification [7] [10]. D’autres sociétés ont également été séduites comme Google [11] et Mozilla [12] . De nombreuses distributions GNU/Linux comme Red Hat [13] , Fedora et openSUSE [14] ont aussi franchi le pas. MariaDB est aussi multiplateforme.

Oracle Database
Oracle Database est un SGBDR propriétaire fourni par Oracle Corporation. Depuis l’introduction du support du modèle objet dans la version 8, il peut aussi être qualifié de système de gestion de bases de données relationnelles-objet (SGBDRO). [17] Il est surtout ciblé pour la gestion de larges bases de données en entreprise [18]. Ce qui permet aussi à Oracle de continuer à proposer MySQL pour la gestion de bases de données Web  . C’est un outil multiplateforme  .

Microsoft SQL Server
Microsoft SQL Server est un SGBDR développé et commercialisé par la société Microsoft. La solution Microsoft Access, fournie dans la suite Office, gérant des bases de données qui n’excèdent pas le gigaoctet [1], SQL Server est destiné à gérer de plus larges bases de données mais si la base de données devient encore plus grande et que le nombre de clients augmente, Microsoft propose de passer à SQL Azure [20], une solution de Cloud Computing qui ne nous intéresse pas dans ce mémoire [21] . Ce SGBD n’est disponible que sous les plateformes Windows et avec une licence propriétaire [22] .

PostgreSQL
PostgreSQL est un SGBDR et un SGBDRO [23]. C’est un outil libre disponible selon les termes d’une licence de type BSD ou MIT qui autorise les utilisateurs à faire ce qu’ils veulent avec le code source à condition qu’ils mentionnent les droits d’auteur dans chaque copie du logiciel [24] [25] . Il est beaucoup utilisé dans les bases de données web du fait de sa capacité à gérer de larges volumes. Parmi les solutions qui l’utilisent, nous pouvons citer Yahoo! [26], Sony Online [27] ou encore Instagram [28] . Il fonctionne sur tous les systèmes d’exploitation majeurs incluant GNU/Linux, UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64), et Windows  .

SQLite
Contrairement aux systèmes de gestion de bases de données traditionnels, SQLite ne reproduit pas le schéma habituel « Client – Serveur » mais il est directement intégré aux programmes. L’intégralité de la base de données est stockée dans un fichier indépendant. SQLite est en fait une bibliothèque écrite en C qui propose un moteur de bases de données transactionnelles accessible par le langage SQL. SQLite n’a pas de licence, il est dans le domaine public, ce qui rend cette solution particulièrement utilisée dans de nombreux projets qu’ils soient libres ou propriétaires tels que les systèmes embarqués, les navigateurs web ou les systèmes d’exploitation mobiles que sont iOS et Android.

Choix du Système de gestion de bases de données

Voulant élaborer une application multiplateforme, fonctionnant principalement sur Windows et GNU/Linux, et utilisant un gestionnaire de bases de données gratuit, libre et travaillant en mode « Client – Serveur », notre choix s’est dirigé vers la solution MariaDB. Pour les besoins de l’implémentation, ce SGBD est disponible en téléchargement pour Windows sur le site officiel [34] et pour GNU/Linux Debian Wheezy en ajoutant le dépôt officiel via les démarches décrites sur le site  .

Oracle MySQL Workbench

L’interface en mode ligne de commande (CLI) est la seule interface possible avec MariaDB à son installation qui ne soit pas un outil tiers. MySQL Workbench est un outil à interface graphique (GUI) pour les architectes de bases de données, les développeurs et les administrateurs de bases de données. De plus, il permet la modélisation des données, le développement SQL et propose des outils d’administration complets pour la configuration de serveurs, la gestion des utilisateurs, la sauvegarde, etc.

C’est un outil conçu pour travailler dans un environnement MySQL mais il est tout à fait possible d’importer des bases de données d’autres types tels que Microsoft SQL Server ou PostgreSQL via son service de migration de bases de données  .

Conclusion

Dans ce travail, nous avons étudié le cas de gestion dans un centre d’imagerie médicale dans un premier temps et nous avons proposé une amélioration afin d’accélérer et de faciliter le travail des employés. Cette amélioration consistait en l’élaboration d’un logiciel de gestion des patients. La question du choix du langage de programmation et du système de gestion de bases de données se posait alors. Nous avons exposé quelquesuns des SGBD les plus connus et avons choisi MariaDB pour sa gratuité, la liberté de sa licence, sa disponibilité sur les principaux systèmes d’exploitation et son équivalence avec la solution désormais bien établie MySQL. Pour ce qui est du langage, voulant créer une application portable pour ne pas obliger les utilisateurs à choisir une plateforme unique, et une application qui ait aussi les avantages des applications natives, c’est-à-dire sans ralentissement ni lourdeur, nous avons opté pour utiliser le framework Qt, orienté objet et écrit en langage C++, de par aussi sa documentation assez fournie que ce soit via la documentation officielle ou celle trouvée sur le net.

 

 

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela rapport-gratuit.com propose le téléchargement des modèles complet de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

Introduction générale 
I. Chapitre I : Etude de l’existant
I.1. Présentation du client
I.2. Etapes par lesquelles passe chaque patient
I.3. Proposition d’une solution
II. Chapitre II : Les outils utilisés
II.1. Base de données
a. Les langages SQL associés aux produits
b. Choix du Système de gestion de bases de données
c. Oracle MySQL Workbench
II.2. Le framework Qt
a. Présentation
b. Qt Creator
III. Chapitre III : Réalisation de l’application
III.1. Conception de la base de données
III.2. Interface utilisateur de l’application
III.3. Les différentes classes de l’application
Conclusion

Rapport PFE, mémoire et thèse PDFTélécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *