Activité Requêtes et transactions : Gestion hospitalier
Consigne
Avant de commencer, veuillez lire une première fois le document dans son ensemble.
Le travail est individuel. Vous pouvez communiquer en respectant le code d’honneur. Si vous être bloqué, demandez de l’aide afin de ne pas prendre trop de retard.
Situation
Vous travaillez avec une base de données d’un Système de Gestion Hospitalier
Le modèle de données comprend les tables suivantes :
- Patients,
- Médecins,
- Soignants,
- Rendez-vous,
- Traitements,
- Prescriptions,
- Chambres,
- Services,
- Spécialités,
- Paiements,
- Assurances,
- Équipements,
- Utilisations d’équipement,
- Notes médicales, et
- Historique des patients.
Objectifs
- Comprendre et appliquer les concepts de base de la manipulation et de l’interrogation des données SQL.
- Utiliser des requêtes avancées pour analyser et gérer les données d’une base de données complexe.
- Utiliser les transactions.
Résultat attendu
N/A
Ressources
- Transaction Control Language
- Présentation : Langage d’interrogation de données (DQL)
- Du modèle logique au modèle physique
Mise en route
- Connectez-vous au serveur de bases de données qui vous a été attribué au module 164.
- Effectuez les tâches demandées les une après les autres.
À vous de jouer !
Tâches
Implémentez le modèle logique
Tables
Patients
- patientID (PK)
- nom
- prenom
- adresse
- numeroSecuriteSociale
- dateNaissance
Medecins
- medecinID (PK)
- nom
- prenom
- specialiteID (FK)
Soignants
- soignantID (PK)
- nom
- prenom
- serviceID (FK)
Rendez-vous
- rendezVousID (PK)
- patientID (FK)
- medecinID (FK)
- dateHeure
Traitements
- traitementID (PK)
- description
Prescriptions
- prescriptionID (PK)
- rendezVousID (FK)
- traitementID (FK)
- dosage
- instructions
Chambres
- chambreID (PK)
- nombreLits
- serviceID (FK)
Services
- serviceID (PK)
- nom
Specialites
- specialiteID (PK)
- description
Paiements
- paiementID (PK)
- patientID (FK)
- montant
- datePaiement
Assurances
- assuranceID (PK)
- nomCompagnie
Assurances-Patients
- assuranceID (FK)
- patientID (FK)
- couverture
Equipements
- equipementID (PK)
- nom
- type
Utilisations-equipement
- utilisationID (PK)
- equipementID (FK)
- rendezVousID (FK)
- dateHeureUtilisation
Notes-medicales
- noteID (PK)
- patientID (FK)
- rendezVousID (FK)
- noteTexte
Historique-Patients
- historiqueID (PK)
- patientID (FK)
- evenement
- dateEvenement
Données de test
On vous propose les données suivantes, mais vous pouvez utiliser vos propres données.
Astuce : Créez un fichier SQL pour insérer les données!
Table Patients
patientID | nom | prenom | adresse | numeroSecuriteSociale | dateNaissance |
---|---|---|---|---|---|
1 | Lefebvre | Marc | 123 Rue de Paris, Paris | 123456789 | 1980-04-12 |
2 | Dupuis | Sophie | 456 Avenue de la Liberté, Lyon | 987654321 | 1992-08-25 |
Table Medecins
medecinID | nom | prenom | specialiteID |
---|---|---|---|
101 | Bernard | Jean | 201 |
102 | Petit | Marie | 202 |
Table Soignants
soignantID | nom | prenom | serviceID |
---|---|---|---|
201 | Moreau | Élise | 301 |
202 | Simon | Paul | 302 |
Table Rendez-vous
rendezVousID | patientID | medecinID | dateHeure |
---|---|---|---|
301 | 1 | 101 | 2023-05-20 14:00:00 |
302 | 2 | 102 | 2023-05-21 09:00:00 |
Table Traitements
traitementID | description |
---|---|
401 | Traitement de l’asthme |
402 | Réhabilitation cardiaque |
Table Prescriptions
prescriptionID | rendezVousID | traitementID | dosage | instructions |
---|---|---|---|---|
501 | 301 | 401 | 2 mg | Prendre chaque jour |
502 | 302 | 402 | 50 mg | Deux fois par semaine |
Table Chambres
chambreID | nombreLits | serviceID |
---|---|---|
601 | 2 | 301 |
602 | 1 | 302 |
Table Services
serviceID | nom |
---|---|
301 | Cardiologie |
302 | Neurologie |
Table Specialites
specialiteID | description |
---|---|
201 | Cardiologie |
202 | Neurologie |
Table Paiements
paiementID | patientID | montant | datePaiement | methodePaiement |
---|---|---|---|---|
701 | 1 | 150 | 2023-05-20 | carte |
702 | 2 | 200 | 2023-05-21 | espèces |
Table Assurances
assuranceID | nomCompagnie |
---|---|
801 | Assurance Plus |
802 | Sécu Santé |
Table Assurances-Patient
assuranceID | patientID | nomCompagnie | couverture |
---|---|---|---|
801 | 1 | Assurance Plus | Complète |
802 | 2 | Sécu Santé | Basique |
Table Equipements
equipementID | nom | type |
---|---|---|
901 | Scanner IRM | Imagerie |
902 | Tapis roulant | Rééducation |
Table Utilisations-Equipement
utilisationID | equipementID | rendezVousID | dateHeureUtilisation |
---|---|---|---|
1001 | 901 | 301 | 2023-05-20 15:00:00 |
1002 | 902 | 302 | 2023-05-21 10:00:00 |
Table Notes-Medicales
noteID | patientID | rendezVousID | noteTexte |
---|---|---|---|
1101 | 1 | 301 | Patient réactif au traitement initial |
1102 | 2 | 302 | Progrès lent mais stable |
Table ‘Historique-Patients
historiqueID | patientID | evenement | dateEvenement |
---|---|---|---|
1201 | 1 | Admission en cardiologie | 2023-05-19 |
1202 | 2 | Consultation en neurologie | 2023-05-20 |
Jointures Complexes
- Affichez une liste des patients avec leurs médecins respectifs et les traitements prescrits pour leur dernier rendez-vous.
- Générez un rapport des utilisations d’équipement par service pour le dernier mois.
Transactions
- Enregistrez un nouveau patient avec une assurance, programmez un premier rendez-vous et traitez le paiement initial comme une seule transaction.
- Mettez à jour les informations d’un patient et annulez tous ses rendez-vous futurs en cas de changement d’état critique.