*SGBDR, chaque ligne doit avoir une identité**.
<note>
D’ailleurs, la plupart des SGBDR n’acceptent pas... un de leurs attributs aient les mêmes valeurs).
</note>
L’identité d’une ligne est appelée **clé primai... les différents appartements d’un même immeuble.
<note>
En choisissant les colonnes 3 à 9 comme clé prim... te d’unicité** sur le groupe de colonnes 3 à 9.
</note>
Autrement dit, le groupe ''(code_postal, commun
ses, position, matériau (bois ? métal ?), etc.
<note>
Cette dernière étape est très technique. Elle es... ayonnages, qui ont les compétences nécessaires.
</note>
Pour modéliser une BDD, c’est le même principe ... couramment appelées « boîtes de production »).
<note>
En général un concept est désigné par un nom commun ou un groupe nomimal.
</note>
==== 2. Chercher les associations entre ces con
une définition générale mais néanmoins précise.
<note>
Un projet est un **ensemble d'activités coordonn... une **date de début** et une **date de fin**.
</note>
{{triangle_qual_cout_delai.png}}
Triangle qual... qui seront formulés en objectifs par la suite).
<note>
Si vous avez du mal à identifier clairement le o... oin de faire un projet. Posez-vous la question.
</note>
Selon qui exprime ce ou ces besoins et de quell
nthétiser le tout dans un document contractuel.
<note>
Appelons "**étude de faisabilité**" toutes les é... de décisions et évaluer l'intérêt de celui-ci.
</note>
Avant de poursuivre notre étude de faisabilité,... jet est le garant du bon déroulement du projet.
<note>
Notez que plus il y a d'acteurs en scène à coord... du chef de projet devient complexe et cruciale.
</note>
En tant que chef de projet, "**organisation**"
le ci-dessus, notre classe s’appelle Rectangle.
<note>
Les noms de classe, par convention, commencent p... e majuscule à la première lettre de chaque mot.
</note>
Toutes les variables et méthodes qui composent ... ec une indentation supplémentaire de 4 espaces.
<note>
Un « scope » en Python est défini par le niveau ... ésoudre – c’est la même chose avec les classes.
</note>
Quand on déclare une méthode, on utilise le mot
ode python>
rectangle = Rectangle(5, 3)
</code>
<note>
Il est important que les paramètres que vous fou... » (''width'') est le deuxième paramètre donné.
</note>
Lorsque nous instancions un objet, nous devons ... n si vous avez plusieurs paramètres optionnels.
<note>
vous pouvez aussi nommer les paramètres obligato... grande aide à la lecture du code, pensez-y ! 🧐
</note>
===== Modifiez un objet =====
Imaginons que no
ale ?
Au minimum,
* Une page de garde
* Une note de synthèse
* Un devis
mais aussi,
* des co... vail pseudo-bénévole du travail "**pro-bono**".
<note>
Muscler votre proposition avec du travail pro-bo... d'offre mais aussi vos pertes en cas d'échec.
</note>
===== Rédiger une note de synthèse =====
Comme son nom l'indique, votre note de synthèse doit être..
cipaux**, ainsi que leurs **caractéristiques**.
<note>
Un indice : même si ce n’est pas toujours le cas... , et chaque film est caractérisé par son titre.
</note>
Comment représenter cela sur un papier ?
Je vo... etc.) ;
* Du texte ;
* Une date ;
* Etc.
<note>
L’ensemble des valeurs que peut prendre un attribut est appelé son **domaine**.
</note>
Pour définir un domaine, vous pouvez le faire s
ppliquer quelques règles, et le tour est joué !
<note>
Dans ce chapitre, ne cherchez pas à tout retenir... eront utiles au moment où vous en aurez besoin.
</note>
===== L’association un-à-plusieurs =====
Repr... }
Représentation graphique de la clé étrangère
<note>
Une association un-à-plusieurs se traduit en ajo... lé primaire de la table qui est du côté « un ».
</note>
Comme l’association ''oeuvre''-''societe_de_pro
n long-métrage, soit un téléfilm, ou une série.
<note>
Un long-métrage est un film tel que nous l’enten... usieurs épisodes, souvent regroupés en saisons.
</note>
Jusqu’à maintenant, le type de l'œuvre est enre... elle deux attributs : ''Titre'' et ''Saison''.
<note>
Sur ce schéma, les classes ''Telefilm'' et ''Lon... sion sur laquelle est diffusée le ''Telefilm''.
</note>
Soyons fous : on peut aussi enchaîner les relat
se qu’on va tout naturellement appeler… Foodly.
<note>
Notez au passage qu'une application complexe peu... d d’utilisateurs, il leur faut plusieurs bases.
</note>
Attention lorsqu’on **nomme les bases de donnée... utilisateur root en saisissant le mot de passe.
<note>
La commande ci dessus ne concerne que les utilis... and line client pour arriver au même résultat !
</note>
Pour créer une base, on utilise la commande ''
*verbe** tel que « réalise », « produit », etc.
<note>
Je vous laisse le faire de votre côté et je vous... s ne trichez pas, je vous fais confiance hein !
</note>
{{mcd_exercice_01.png}}
===== Définissez les ... ateur peut produire UN SEUL ou PLUSIEURS films.
<note>
Il ne faut pas négliger les multiplicités, car c... ce sera un peu plus complexe qu’on ne le pense.
</note>
Il existe trois types d’associations :
* **P
onger le cours, je ne traiterai pas ce cas ici.
<note>
Cette méthode est adaptée à la majeure partie de... par classe fille est, dans ce cas, peu adaptée.
</note>
===== Transformez votre héritage par la classe mère =====
<note>
C’est la solution la mieux adaptée à notre cas d... le que nous utiliserons pour la suite du cours.
</note>
Avec cette méthode, il n’y a qu’une seule table
O)
lg.info("Database initialized.")
</code>
<note>
Nous avons utilisé un énumérable pour gérer le g... m.html|documentation du type enum en Python]].
</note>
Cela vous permet de créer des instances de cett... et ce dernier l'affichera à la place du prénom.
<note>
Le template n'a accès qu'aux variables que la vu... le template n'a pas accès à la variable ''db''.
</note>
==== La vue ====
Les vues contenues dans le fi
t comportait également du code en backend(confère note ci-dessous), c'est là qu'on indiquerait une URL q... d'inspecter ce qu'on obtient, assez simplement.
<note>
En règle générale, un site internet est composé ... des informations dans une base de données, etc.
</note>
Voyons maintenant quelle balise HTML utiliser p... bre de colonnes** qui peuvent être affichées).
<note>
Vous pouvez pré-remplir le ''<textarea>'' avec u