From dfcbcf5aa39435542ec0366fab7e4a0a4510c40c Mon Sep 17 00:00:00 2001 From: Alexis Fourmaux Date: Sat, 29 Nov 2025 17:32:24 +0100 Subject: [PATCH] B1 - DB - Ajoute TP 1 --- .../CIEL1/07-bases-de-donnees/loueur_mcd.loo | Bin 55361 -> 57492 bytes .../tp/00_expression_besoin.md | 34 +++++++ .../07-bases-de-donnees/tp/01_modelisation.md | 87 ++++++++++++++++++ .../07-bases-de-donnees/tp/02_requêtes.md | 0 .../CIEL1/07-bases-de-donnees/tp/mcd.loo | Bin 0 -> 21677 bytes 5 files changed, 121 insertions(+) create mode 100644 src/cours/CIEL1/07-bases-de-donnees/tp/00_expression_besoin.md create mode 100644 src/cours/CIEL1/07-bases-de-donnees/tp/01_modelisation.md create mode 100644 src/cours/CIEL1/07-bases-de-donnees/tp/02_requêtes.md create mode 100644 src/cours/CIEL1/07-bases-de-donnees/tp/mcd.loo diff --git a/src/cours/CIEL1/07-bases-de-donnees/loueur_mcd.loo b/src/cours/CIEL1/07-bases-de-donnees/loueur_mcd.loo index d45a909bb07fe42730e33841a015a21133e3d447..b1d6852f639666fffcac23d8081b481d59aa0d90 100644 GIT binary patch delta 1397 zcmaJ=e@t6d6u$TMfn$yeTc?F}42UFyOogms(Sa-|Da&*=u2rBwp`#nl%~5bLf7S^) z2}9T!#%Rovm1(91amOt&;?@~6vWP-H)2)85JRwbtH~ISA^WJyP zx!>u1XNL@j&l-jXmL&Lv5Pm+sq)kc>XD$6x@~HWWq`5bJ+_BPb;OrF*3ZF}HE4;_( zQaF9toTSs~Um9;pAYf>)ST^z4k_bQ)~V9 zM&~1&g-YS{23bRnTb=5i0X?jZ4=dxtDuk7E)j2A2IpoTc+_~+#j5U9-zTCjS*5afG z-8l1oRoMOV1kSwE=Hm-KOyRa?b$cVtu-Etu>?Q4jl%ImMW=G7PkG8kjjU}))fbmX) zEeiJqwkomze`-T|7LA^f0#dGJ!|(6vW$bsI`I**+{clX_yJxH zoIJDI2R~0LLIlBk!L?u)_(O0z1y1eaH->TRw3|@&IqF*KrUtB72VcS1w-X7r8ExsC^12Q2Z!3&k$?i_*QQaJ&#S`fVxI+kUZbODOyF7cp7LG_4xHuuj2u| z+uq>w3*BOS%6zefuYFS`xqk#Mi^n`Pbh~*0q3%TbVl0nB-72Mxho~rQq2jO^Fwqa= zR&s_tbR%q~va%}t))mr6fO^uwvBG4f+J5Nuw_WrG~7MQVY!*c`dt{MdVm$7G+|Q5ojHM zm=S3zm55mfBFs!Fipol;+;lnplN4wy=})E7Gre@-;hdNIJm);;aB6xCJ?)0}rU
K|@P4E?Jl*v&H0=xg+*~%$^vRffq$h2Yw=0MHYiKuya4Qj?GpysPp z6M~O!2nwD`)oFK}pl#m_+V^D88j?WUx(ThvU2V~_L6Y{ObpzsT>$$toENrn$GSOOKGI#5ZQA&xlYq9 zIP+oQTOKT2%SD#vPBrjY&L2VFS7;n6z)+TAo%+%XLZJuLh!b$zeGG033TNDESv z2|I4WqOK!aWXek{;9upFVrEdG%7N!pRrMgkfWu zpu~9xX?<0yaM9VStNgY`pZVmqEV*%hwX6>jU6-Y2uj@K_?OomDP%}K9Z-hr%gDP|2 zCdRpNBP4WgWeZe1(qa>Q|FJH~c?8K6Lvr&0B-w3{h*tc()$uIOfl&^~l2n9PhM0h; zB9E{QK;7ya{}zJ%BcKTxj)Sw-NQccRAVHIkNX6-y$iqkRkHdl6y-~x?tTX) z`MSyNw~*>L116gEIjF=B&H(-mm?-480}AaPP$_LtrKo^~i~%!XqSir2tPR&=1>%A5 z7e~2)1<~oqGJs5A37s2UO??3ejX_f%umcJ!U#x;Uhg3Qfv`|^l44B9gbWm+jrIcX@ Qxra?;9JT`rdxx#!A0()C)Bpeg diff --git a/src/cours/CIEL1/07-bases-de-donnees/tp/00_expression_besoin.md b/src/cours/CIEL1/07-bases-de-donnees/tp/00_expression_besoin.md new file mode 100644 index 0000000..05c36f7 --- /dev/null +++ b/src/cours/CIEL1/07-bases-de-donnees/tp/00_expression_besoin.md @@ -0,0 +1,34 @@ +# Expression du besoin + +## Contexte + +L'entreprise **LienNet** souhaite informatiser son activité principale de vente par correspondance. +À ce titre, le système d'information doit, dans un premier temps, remplir plusieurs fonctions. + +## Besoin +### Gestion des fournisseurs + +Les fournisseurs sont identifiés à minima par un numéro, un nom et une adresse. +Ils peuvent être des artisans, des industriels ou des centrales d'achat. +Le PDG de l'entreprise **LienNet** souhaite aussi que l'on sache déterminer la date de création d'un nouveau fournisseur. + +### Gestion des clients + +Les clients sont identifiés à minima par un numéro, un nom et une adresse. +La société souhaite les catégoriser : local, régional, national ou international +Le PDG de l'entreprise **LienNet** souhaite aussi que l'on sache déterminer la date de création d'un nouveau client. + +### Gestion des produits + +Les produits sont identifiés à minima par un numéro, un libellé, une quantité en stock et une quantité +limite (afin d'enclencher une commande au fournisseur). + +Un produit ne peut être distribué que par un seul fournisseur. + +### Gestion des commandes + +Les commandes peuvent être effectuées par téléphone ou courrier, ainsi que par internet. La société souhaite différencier les types de commandes. + +Chaque commande possède un statut (En cours, Validée, Facturée, ...) et une date de commande. + +Un client peut commander plusieurs articles en une seule même commande avec une quantité, un prix unitaire hors taxe et une éventuelle remise en pourcentage. diff --git a/src/cours/CIEL1/07-bases-de-donnees/tp/01_modelisation.md b/src/cours/CIEL1/07-bases-de-donnees/tp/01_modelisation.md new file mode 100644 index 0000000..50b4070 --- /dev/null +++ b/src/cours/CIEL1/07-bases-de-donnees/tp/01_modelisation.md @@ -0,0 +1,87 @@ +# Bases de données - Activité 1 - Modélisation + +## Objectifs + +- Modéliser une base de données à partir de l'expression des besoins d'un client + +## Évaluation + +- C01: COMMUNIQUER EN SITUATION PROFESSIONNELLE (FRANÇAIS/ANGLAIS) + - La présentation (typographie, orthographe, illustration, lisibilité) est soignée et soutient le discours avec des enchaînements cohérents + - Le style, le ton et la terminologie utilisés sont adaptés à la personne et aux circonstances +- C04: ANALYSER UN SYSTÈME INFORMATIQUE + - Les spécifications du cahier des charges sont extraites + - Le travail est préparé de façon à satisfaire les exigences de qualité, d’efficacité et d’échéancier + +## Validation + +### Livrables + +!!! warning Attention + - Les rendus seront **individuels** pour cette activité + - Il y a **2 compte rendus** à faire : un au format papier et un au format numérique PDF + +- Compte rendu **papier** avec les modèles suivants : + - **Dictionnaire de données** + - **Modèle Conceptuel de Données** + - **Modèle Logique de données** +- Compte rendu **PDF** avec : + - les mêmes documents modélisés avec le logiciel Looping + - le **Modèle Physique de Données** pour PostgreSQL modélisé avec DrawDB + - le **Langage de Définition de Données** pour créer la base PostgreSQL + +Le compte rendu PDF aura le nom suivant : `YYYY-MM-DD_DB1_Modelisation_NOM_Prenom`. + + +## Ressources fournies + +- Cours de modélisation de bases de données +- Expression du besoin client + +## Étapes + +### 1 - Modélisation sur papier + +**Objectif :** Modéliser une base de données à partir de l'expression de besoin d'un client (cahier des charges) sur papier + +!!! example À faire + - Lire l'expression du besoin et comprendre le besoin du client + - Créer le **dictionnaire de données** + - Créer le **Modèle Conceptuel de Données** (aidez-vous du cours) + - Valider avec le professeur + - Créer le **Modèle Logique de Données** (aidez-vous du cours) + +!!! note "Dans le compte rendu" + L'ensemble de cette partie fera l'objet d'un compte-rendu papier présentant les modèles demandés. + +### 2 - Modélisation numérique + +**Objectif :** Modéliser une base de données à partir de l'expression du besoin d'un client à l'aide d'un logiciel spécialisé + +!!! example À faire + - Télécharger le logiciel [Looping](https://www.looping-mcd.fr) et le lancer + - Reproduire le MCD que vous avez préparé à l'étape 1 + - Aller sur l'onglet MLD et valider le MLD préparé à l'étape 1 + +!!! note "Dans le compte rendu" + - Ajouter les captures d'écran de vos modèles + - S'il y a des différences entre votre modèle papier et votre modèle numérique, les commenter. + +### 3 - Modèle Physique de Données et Langage de Définition de Données + +**Objectif :** Créer le modèle physique de données adapté à un SGBD précis à l'aide d'un logiciel spécialisé, puis générer le langage de définition de données + +!!! example À faire + - Se rendre sur la page de [DrawDB](https://www.drawdb.app/editor) + - Créer le modèle physique de données pour une base PostgreSQL à partir du MLD de la partie précédente + - Attention aux types de données : vérifier dans la [documentation](https://www.postgresql.org/docs/current/datatype.html) leur usage et leurs spécificités + - À l'aide de `Fichier > Exporter SQL` exporter le langage de définition de données de votre base. + - Le stocker en lieu sûr, dans un fichier avec l'extension `.sql`. + - Nous le réutiliserons dans l'activité suivante + +!!! note "Dans le compte rendu" + - Prendre une capture d'écran de votre MPD final + - Ajouter le code SQL généré + + + diff --git a/src/cours/CIEL1/07-bases-de-donnees/tp/02_requêtes.md b/src/cours/CIEL1/07-bases-de-donnees/tp/02_requêtes.md new file mode 100644 index 0000000..e69de29 diff --git a/src/cours/CIEL1/07-bases-de-donnees/tp/mcd.loo b/src/cours/CIEL1/07-bases-de-donnees/tp/mcd.loo new file mode 100644 index 0000000000000000000000000000000000000000..2d4ddd1b8b84ed99fcd55d62ecddb85de737aeb5 GIT binary patch literal 21677 zcmeHP&5ImG6t7KU60>GA`SAN|69Wle%}MsKu(}ZR5O7b5AFDe`FeZ|nMGXXp9Q*^s zgJ%!oA0VDY=ID75y$I&yK@bN-ygB}U_2#!*JKNJkdU}d#sJB$T?&|7SuV4M%d)+I^_7(owMv{zBcGxF8PQTGPvy2lQ z{L#YW(ul2gC1FJp9(pRrFJK0HetDIQT*#xm02x31-zUo7XS-5*3Xy07+o<0d;i zhdPkRH&C{>w|DH%cHx5CBw~sESjN%CTem*Dymb5amzS5^r|2|GTaMGA3GK3@IIR00 zXNYw!v$er_e{(nQR$jQd{?UuqJ6AjHLooeZ@W(Jkw~&iqbH^R39+SL~n=FnTj!?Gk z+|TIz1G>D5ThC=|^M>@8UCdhh<4$`S$7X#k7~1PR?X^IRmjuYqueuv<3%AbKar3;1 zzqa4A9_AdjZD;ImH*w46yNQ~IIv?yVV|UhAJLt#Qi?=F%W17zm11~*-)aDg& zP-PLnE>y{a8BwxC8k~6wbKH%Q-}SgMZBD#|fcHDJ{to;N2#ezn;a!ccV9F?ac*VaC zYa^p~{5<4{J2XRLEDpks;Hrfz@hK6OQI!~yOdZZ{thjX)BMD97)luaYN0sxqERhC} znaBBxPDm23f~e1N)3FU%XK-V%20?M6EMG)RYw;@D+r0ayr6X7HRDJ`m{kHIAo-?^w zCe1ny#^&qC*wCCg?xuw+Mvz#M>j8|Uh$UVwRSYJK%Br;h~zehZrvj zp0KdyK5-xJ$@|RjBfqoHcZR)~@kftKn(?OAIosRJX`!}dZ_DbMQyqI44a)N3Ior!h zA#XaWO#e91?U7nhrCG??UY1CM$ISMR)`X~Up!5c0Z6fP`3m(TG9;-=vi1Cu(39bFv ze#|@k<6*`x>LaPfn_4$LKAYX+;PG(`rfe^svwjisn~o~eKMty%s1;S3jhyvmi8Of3 ztp8+9h~j#?D=1&V9exCl;}44%NzqljdX$AQPuU-2i8Q$RLmWgsjY}4i#H%AJznf13 zK}A|{c4NgU{v!dQNqkCFogRHUdAIy4-q!9jN?A{D6tAmoHM6$4ZKm$KTF3c%?kolr zCdI2@a|5gG`P~0JPW}}9lArpdE5XQx Wim0re5tF%?cX*TN?3fN^?f(N>OS<3y literal 0 HcmV?d00001