*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
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
mbre d’objets récupérés plutôt que leur valeur.
<note>
En plus de ne faire “que compter”, ''COUNT'' est... r des requêtes sur un large groupe de données !
</note>
Vous souvenez-vous de la commande que nous avio... combien d’utilisateurs répondent à ce critère.
<note>
En appliquant un ''COUNT(*)'', vous comptez le n... onne spécifique en écrivant ''COUNT(colonne)''.
</note>
En effet, vous pouvez essayer la commande suiva
rrespond à une table s’appelle la **Relation**.
<note>
Le mot « relation » peut prêter à confusion. En ... ons pas le mot Relation, mais plutôt **Table**.
</note>
Tout au long des chapitres de cette troisième ...
Représentation graphique du modèle relationnel
<note>
Contrairement au diagramme UML dont la représent... t réalisées avec le logiciel SQLPowerArchitect.
</note>
Habituez-vous dès maintenant à différencier les
la table « personne » grâce à la clé étrangère
<note>
Les valeurs présentes dans la colonne ''auteur_i... personne sera supprimée de la base de données.
</note>
Les attributs qui constituent une **clé étrangè... a nulle pour les individus étant encore en vie.
<note>
La valeur ''null'' est **différente** de la vale... que l’information n’existe tout simplement pas.
</note>
<note>
Les attributs qui composent une **clé pr
les ont bien été créées.
À priori tout est OK.
<note>
Quand vous vous connectez à MySQL prenez l'habit... .
Vous vous éviterez bien des ennuis inutiles!
</note>
===== Insérez des objets uniques pour alimenter... | quentin@gmail.com |
<note>
Remarquez que je ne me **préoccupe pas de l’id**... t laissons MySQL gérer ce paramètre pour nous !
</note>
Voici, par exemple, la commande pour m’ajouter
Heureusement pour nous, MySQL peut nous aider !
<note>
MySQL a un système de “**vues**” qui permet de c... ne plus avoir à la réeffectuer à chaque fois !
</note>
===== Créez une vue =====
Admettons que vous s... de la commande CREATION VIEW avec SELECT * FROM
<note>
La **convention** chez les utilisateurs de SQL e... _vw**”, pour la distinguer des “vraies” tables.
</note>
Le plus utile avec cela, c’est que la vue se co
on dit donc qu’elles sont **peu structurées**.
<note>
Les données de nos lieux de tournage sont au con... les se représentent facilement dans un tableau.
</note>
===== Représentez vos données en fonction de le... ez les données formatées sous forme de tableur.
<note>
Attention : Il sera parfois nécessaire de spécif... la virgule, le point-virgule ou la tabulation.
</note>
Le format CSV n'est pas très connu du grand pu
e colonne en utilisant le nom de cette colonne.
<note>
''WHERE'' peut s'exécuter avec ''SELECT'', mais... ifique, et non tous les objets de votre table !
</note>
===== Isolez plusieurs objets répondant à un cr... _pattern.png}}
L’utilisation du pourcentage (%)
<note>
Ce “%gmail.com” signifie que vous souhaitez récu... au début ou à la fin, vous écririez “%gmail%”.
</note>
===== Ordonnez les objets récupérés pour chaque