Intro conceptionBDD
Intro conceptionBDD
Intro conceptionBDD
Stéphane Crozat
XIV. Essentiel 18
XV. Auto-évaluation 19
A. Quiz final .....................................................................................................................................................................19
B. Exercice : Défi ..............................................................................................................................................................22
Contenus annexes 33
Contexte
La conception d'une base de donnée est une tâche complexe. Réfléchissez à toutes les applications que vous
utilisez au quotidien : elles manipulent toutes des données, c'est même le cœur de leur fonctionnement. Éditeur
de texte, messagerie, navigateur web, agenda, etc.
Toutes ces données répondent à un modèle donné : si ce modèle est mauvais, alors l'ensemble de l'application
sera impacté.
Il est donc fondamental de prendre le temps de concevoir proprement la base de données, et pour ce faire il
existe des méthodologies qui décrivent toutes les phases, de l'idée de départ à l'implémentation effective.
Ce module présente la méthodologie générale en vigueur pour concevoir des bases de données et notamment les
étapes d'analyse de besoin, de modélisation conceptuelle et de modélisation logique relationnelle.
Objectifs
Connaître les quatre étapes de la conception d'une base de données relationnelle : analyse, MCD, MLD, SQL ;
Connaître l'importance des étapes d'analyse et de modélisation conceptuelle.
Mise en situation
Comment concevoir une base de données ? C'est une question vaste : on sent bien qu'il y a plusieurs étapes.
D'abord, il faut déterminer quelles données on veut stocker, par exemple en consultant le cahier des charges.
Ensuite, il faut se poser la question de la structure des données : comment les représenter ?
Enfin, il faut passer à la pratique : choisir un système de gestion de bases de données, et écrire du code SQL.
Dans ce module, vous allez découvrir une méthodologie plus formalisée pour vous guider dans la conception
d'une base de données.
Méthode
Fondamental
Bien analyser le problème posé en amont.
Bien modéliser le problème au niveau conceptuel avant de passer au niveau logique et à l'implémentation.
Si la première étape est fondamentale dans le processus de conception, elle est aussi la plus délicate. En effet,
tandis que des formalismes puissants existent pour la modélisation conceptuelle puis pour la modélisation
logique, la perception de l'existant et des besoins reste une étape qui repose essentiellement sur l'expertise
d'analyse de l'ingénieur.
La réalisation d'une base de données est une tâche complexe, procéder en quatre étapes permet de gérer cette
complexité.
Méthode
Fondamental
On peut toujours revenir sur une étape, la conception est itérative, mais on ne doit pas tout le temps se poser tous
les problèmes en même temps.
Réponse :
Objectif
Connaître quelques actions à mener pour mener une analyse de besoins.
Mise en situation
Avant de concevoir une base de données, il faut savoir à quels besoins on répond. Est-ce-qu'on remplace un système
pré-existant ? Est-ce-qu'on part de zéro ? Que faut-il pouvoir faire avec les données ?
La phase d'analyse de l'existant et des besoins est donc est une phase essentielle, qui peut se révéler complexe.
Elle doit aboutir à des spécifications générales qui décrivent en langage naturel les données manipulées, et les
traitements à effectuer sur ces données. Dans ce module, vous découvrirez une liste d'actions à mener pour rédiger
de telles spécifications.
l'intégration de la base avec ces autres systèmes. Une partie de ces systèmes seront d'ailleurs souvent également
des utilisateurs de la base de données, tandis que la base de données sera elle même utilisatrice d'autres
systèmes.
À quoi sert la récolte de documents existants dans le cadre de la conception des bases de données ?
Comprendre les systèmes existants
Objectifs
Connaître l'utilité d'une note de clarification ;
Connaître les éléments indispensables d'une note de clarification.
Mise en situation
Imaginez que l'on vienne vous voir, et que l'on vous demande de développer une application de gestion de projet.
Sans information supplémentaire, c'est un peu léger : pour qui ? Pour quels besoins ? Avec quelle méthode de
gestion de projet ?
C'est le cahier des charges qui répond à ces questions et qui sert de référence aux développeurs.
Mais le cahier des charges est assez général, et garde des zones d'ombres sur les données à gérer, leur structure et
les traitements à effectuer.
Un cahier des charges est souvent accompagné d'une note de clarification, qui enrichit le cahier des charges,
précise des informations et vous aide à concevoir le modèle de la base de données.
Méthode
Il existe plusieurs façons de réaliser une NDC. En base de données, on se focalisera sur l'explicitation des points
suivants :
Liste des objets qui devront être gérés dans la base de données ;
Liste des propriétés associées à chaque objet ;
Liste des contraintes associées à ces objets et propriétés ;
Liste des utilisateurs (rôles) appelés à modifier et consulter les données ;
Liste des fonctions que ces utilisateurs pourront effectuer.
On formulera explicitement les hypothèses qui ont permis de faire des choix.
Attention
La NDC est la reformulation du cahier des charges sur laquelle on se base pour réaliser le MCD, si aucune NDC
n'est associé à un MCD. Si aucune NCD n'est associée à un MCD, cela signifie que :
soit le CDC est réputé sans erreur et parfaitement clair (ce qui est rare) ;
soit on n'est pas capable de savoir à quoi se rapporte la modélisation.
Fondamental
On modélise toujours quelque chose dans un contexte, sur la base de ce qui est consigné dans la NDC. Si on ne
sait pas ce qui est modélisé, la validité du modèle n'est pas évaluable.
Méthode
Un NDC peut revêtir plusieurs formats, mais on privilégiera :
un document facile à mettre à jour (un projet évolue) et dont les versions sont traçables (on doit pouvoir
remonter des modifications pour retrouver des bifurcations dans les attendus) ;
un texte très clair, avec une rédaction minimaliste mais non ambiguë, des mots précis (par exemple on
utilisera un seul mot pour un seul concept, la répétition dans ce contexte étant toujours préférable à un
synonyme).
Vous avez comme projet de proposer un site de référencement de livres électroniques au format EPUB sous licence
libre.
L'éditeur peut repérer un nombre non limité de livres qui sont considérés comme faisant partie de la catégorie
« En vedette » (qui apparaîtront sur le site dans un bandeau déroulant)
Le site permettra à l'internaute de faire une recherche par mots-clés dans les titres des livres
L'éditeur peut créer des catégories et ajouter des livres dans des catégories (un livre peut appartenir à
plusieurs catégories)
Nombre de pages (entier) Le site permettra à l'internaute de consulter la liste exhaustive de tous les livres
Livres Licences (cc-by-sa, Art Libre, GNU FDL, etc.) Titre (chaîne de caractères, obligatoire)
1 http://framabook.org/
2 http://www.inlibroveritas.net/
3 http://cfeditions.com
4 http://www.epagine.fr/
Objectifs
Savoir à quoi sert un MCD ;
Savoir citer les formalismes de MCD UML et E-A.
Mise en situation
Imaginez : vous lisez une note de clarification à propos d'une application web de stockage de fichiers : on vous parle
de fichiers, d'utilisateurs, de propriétaires, de partage, de contrôle de permission, de groupes, de dossiers, de
versions, etc.
Tous ces concepts se mélangent dans votre tête, vous avez du mal à vous représenter le lien entre les différentes
entités : est-ce-qu'un fichier peut être dans plusieurs dossiers à la fois ? Est-ce-qu'un document peut avoir plusieurs
propriétaires ?
C'est là que le modèle conceptuel de données, ou MCD, entre en jeu. C'est une sorte de schéma qui permet de
représenter tous ces éléments et leurs interactions sous forme graphique, synthétique et facile à comprendre.
Fondamental
Les principales caractéristiques du modèle conceptuel sont :
Une représentation graphique simple.
Une puissance d'expression élevée pour un nombre de symboles raisonnable.
Une lecture accessible à tous et donc un bon outil de dialogue entre les acteurs techniques et non
techniques.
Une formalisation peu ambiguë et donc un bon outil de spécification détaillée.
Attention
Le modèle n'est pas encore formel, donc certaines représentations peuvent être équivoques, même si on a levé
de très nombreuses ambiguïtés.
E-A
La modélisation conceptuelle en bases de données relationnelle était à l'origine faite avec le formalisme E-A de la
méthode MERISE.
Exemple
UML
UML est un autre langage de modélisation, plus récent que E-A et couvrant un spectre plus large que les bases de
données. En tant que standard de l'OMG et en tant qu'outil très utilisé pour la programmation orientée objet, il a
supplanté la modélisation E-A.
Le schéma suivant représente les rencontres lors d'un tournoi de tennis. Quelles sont les assertions vraies selon ce
schéma ?
Joueur
nom: varchar
1..1 2..2
gagne participe
0..n 0..n
Terrain
Match se joue sur
numero: integer {unique}
date: datetime 0..n 1..1 surface: varchar
Objectifs
Savoir ce qu'est un modèle logique de données ;
Comprendre la différence entre schéma en intention et schéma en extension.
Mise en situation
Vous développez un tout nouveau réseau social, qui permet de partager des images, des vidéos, des articles de blog,
et même des podcasts, depuis un seul endroit.
Pour vous aider à concevoir votre base de données, vous avez conçu un modèle conceptuel de données, c'est-à-dire
un schéma qui synthétise la structure de données à gérer : des utilisateurs qui peuvent se suivre, des partages, des
posts de différentes natures, etc.
Il est maintenant temps de créer votre base de données : comment transformer ce schéma sous une forme
compatible avec les bases de données, c'est-à-dire en un ensemble de relations, de tableaux ?
C'est justement le rôle du modèle logique de données, qui se rapproche de l'implémentation technique de la base
de données, et qui vient achever la modélisation.
Exemple Schéma d'une base de données défini en intention avec plusieurs relations
1 Etudiant (num:entier, nom:chaîne, ville:chaîne)
2 Module (num:entier, titre:chaîne)
3 Inscription (numetu:entier, nummod:entier, année:entier(4))
Le modèle CODASYL, antérieur au modèle relationnel est un modèle hiérarchique (Tardieu, 1983Tardieu83).
Le modèle relationnel (tabulaire) est le modèle dominant à la base des SGBDR.
Le modèle relationnel-objet (adaptation des modèles relationnels et objets au cadre des SGBD) est
actuellement en croissance.
D'autres modèles (document, graphe, etc.) se développent dans le cadre du mouvement NoSQL.
Fruit
nom: varchar
couleur: varchar
calories: real
Objectifs
Comprendre les différences entre modèle et réalité.
Mise en situation
Lorsque vous concevez une base de données, vous modélisez un morceau de la réalité ; vous tentez de poser une
structure formelle sur une situation complexe.
Systématiquement, une question va se poser : jusqu'où pousser la modélisation ? Dans une application de vente en
ligne, jusqu'où faut-il décrire les articles ? Est-ce-que leur nom suffit, ou bien faut-il leurs dimensions, leurs poids,
leur matériau ? Leur couleur, leur pays d'origine, leur forme ?
Pourquoi pas, jusqu'où allez-vous aller ? Vous ne pourrez pas, quoi qu'il arrive, décrire exhaustivement la réalité. Il
faudra faire des simplifications, c'est-à-dire consentir à créer un modèle qui est une approximation.
Dans ce module, vous apprendrez les caractéristiques d'un bon modèle.
Fondamental Modèle
Un modèle est une représentation simplifiée de la réalité en vue de réaliser quelque chose.
Attention
Un modèle est une abstraction, une simplification de la réalité, ce n'est pas la réalité, il n'est jamais complètement
fidèle par construction.
Le seul modèle complètement fidèle à la réalité est la réalité elle-même, et ce n'est donc pas un modèle.
Fondamental
À partir de cet exemple on notera que :
1. Un modèle est orienté par un usage.
Chacune de ces cartes est très différente selon ce que l'on veut faire.
2. Un modèle ne cherche pas à être proche de la réalité.
Chacune de ces cartes est très différente de la réalité qu'elle représente.
3. Un modèle adresse un niveau d'information qui existe mais qui n'est pas accessible dans la réalité.
Chacune de ces cartes permet quelque chose que ne permet pas l'accès direct à la réalité.
Le rasoir d'Ockham : Entre deux modèles donnés le meilleur modèle est-il toujours le plus fourni
Méthode
?
La méthode de raisonnement connue sous le nom de rasoir d'Ockham (du nom du philosophe éponyme) consiste
à préférer les solutions les plus simples aux plus complexes, lorsqu'elles semblent permettre également de
résoudre un problème donné ; entre deux théories équivalentes, toujours préférer la plus simple.
Ce principe s'applique très bien à la modélisation : étant donné un objectif et plusieurs modèles possibles, il ne
faut pas choisir a priori celui qui représente le plus de choses, mais préférer le plus simple dès qu'il couvre le
besoin.
C'est un principe d'économie (il coûte moins cher à produire) et d'efficacité (car les éléments inutiles du modèle
plus fourni nuiront à l'efficacité de la tâche).
Exemple
Ainsi, pour naviguer en voiture, il est plus simple de ne pas avoir sur la carte les chemins de randonnées qui ne
sont pas praticables en voiture.
Vous êtes en charge de la réalisation d'une base de données pour stocker les données d'un jeu vidéo nommé
Speedball.
Ce jeu oppose des équipes de Speedball dans un championnat. Chaque équipe a un nom unique dans le jeu. On
mémorise pour chaque rencontre la date. La gestion des scores et des victoires ne concerne pas cette application.
Chaque équipe est composée de plusieurs personnages (au moins cinq). Chaque personnage a obligatoirement un
nom unique, une immatriculation Speedball unique et un classement parmi tous les personnages de Speedball (il
n'y a aucune égalité possible). Les personnages ont un prix ; ils peuvent en effet être transférés d'une équipe à
l'autre.
Par exemple le personnage RazorBlade a l'immatriculation f070726c-486f-11e8-a39b-5f84bf907c60, il est classé
7ème pour le moment et il vaut 15 000 crédits. Il appartient à l'équipe des Brutal Deluxe.
Sélectionner tout ce qui est superflu par rapport aux besoins énoncés dans le modèle suivant.
XIV. Essentiel
Les données sont les éléments de base de la plupart des applications. La qualité de conception de la base de
données va donc impacter la qualité et la performance de l'ensemble de l'application, c'est pourquoi il est
important de prendre du temps pour la concevoir.
La première étape, c'est de modéliser la situation : quels acteurs, quelles interactions et quelles contraintes. Cette
modélisation se fait à travers la note de clarification, et définit à quel point le modèle essaye de se rapprocher de la
réalité. Pour ce faire, le concepteur doit mener une enquête auprès des personnes concernées, pour bien
comprendre les besoins et répertorier les systèmes existants.
Une fois ces éléments identifiés, le modèle conceptuel de données, ou MCD, est un schéma utile qui permet de
formaliser un peu plus la modélisation, sous forme graphique. Il rend compte, de manière synthétique, des
différents acteurs et des relations qu'il existe entre eux.
Le modèle logique de données, ou MLD, vient transformer le MCD de façon à se rapprocher de ce que comprennent
les bases de données relationnelles, c'est-à-dire des structures sous forme de tableau.
Enfin, le langage SQL permet de traduire directement le MLD et de l'implémenter dans les systèmes de gestion de
base de données relationnels.
XV. Auto-évaluation
A. Quiz final
Exercice 1 [solution n°7 p.28]
Associer chaque terme avec sa définition.
Décrire le problème posé de façon graphique Faire la liste des besoins, choix et contraintes.
Écrire un programme informatique Décrire la solution visée dans une famille de SGBD
Un échange de mail
Du code informatique
Exercice
Un modèle est :
générique, s'il est bien conçu, il fonctionne dans toutes les situations
Exercice
Un modèle est :
réaliste, il est le plus proche possible de la réalité
Généralités :
tout employé est décrit par un nom, un prénom et une date de naissance ;
pour chaque employé on gère la date d'embauche et la quotité (c'est à dire le pourcentage de temps travaillé
par rapport au temps plein, en cas de travail à temps partiel).
Gestion des salaires :
pour chaque employé on gère l'historique de ses salaires dans l'entreprise, chaque salaire étant affecté à une
période de temps ;
un salaire est composé d'un salaire brut, de cotisations patronales et de cotisations salariales.
Parmi les deux diagrammes ci-après, lequel est le plus adapté ?
remplit
1
Employé
1..*
nom: varchar
prénom: varchar Service Fonction
date_de_naissance: date 1 appartient 1..*
date_embauche: date nom: varchar nom: varchar
quotité: real
adresse: varchar
mail: varchar
1
reçoit
*
Salaire
debut: date
fin: date
brut: decimal
cotisations_patronales: decimal
cotisations_salariales: decimal
Gestion du personnel 1
Employé
nom: varchar
prénom: varchar
date_de_naissance: date
date_embauche: date
quotité: real
1
reçoit
*
Salaire
debut: date
fin: date
brut: decimal
cotisations_patronales: decimal
cotisations_salariales: decimal
Gestion du personnel 2
Le diagramme 1
Le diagramme 2
Membre
Groupe
identifiant : varchar {unique}
nom : varchar * appartient * nom : varchar
prenom : varchar date_creation : date
adresse_email : varchar nombre_concerts : integer
num_telephone : varchar
1
emprunte
*
Instrument
denomination : varchar {unique}
ImageLarsen 1
Membre
Groupe
identifiant : varchar {unique}
nom : varchar 1 appartient 1 nom : varchar
prenom : varchar date_creation : date
adresse_email : varchar nombre_concerts : integer
num_telephone : varchar
*
emprunte
*
Instrument
denomination : varchar {unique}
ImageLarsen 2
Membre
Groupe
identifiant : varchar {unique}
nom : varchar * appartient 1 nom : varchar
prenom : varchar date_creation : date
adresse_email : varchar nombre_concerts : integer
num_telephone : varchar
*
emprunte
1
Instrument
denomination : varchar {unique}
ImageLarsen 3
Diagramme Larsen 1
Diagramme Larsen 2
Diagramme Larsen 3
B. Exercice : Défi
Description du problème
Un laboratoire souhaite gérer les médicaments qu'il conçoit.
Un médicament est décrit par un nom, qui permet de l'identifier. En effet il n'existe pas deux médicaments avec le
même nom. Un médicament comporte une description courte en français, ainsi qu'une description longue en latin.
On gère aussi le conditionnement du médicament, c'est à dire le nombre de pilules par boîte (qui est un nombre
entier).
Par exemple un type de médicament est :
Nom : Chourix
Description courte : « Médicament contre la chute des choux »
Description longue : « Vivamus fermentum semper porta. Nunc diam velit, adipiscing ut tristique vitae, sagittis
vel odio. Maecenas convallis ullamcorper ultricies. Curabitur ornare. »
Conditionnement : 13
Ou encore :
Nom : Tropas
Description courte : « Médicament contre les dysfonctionnements intellectuels »
Description longue : « Suspendisse lectus leo, consectetur in tempor sit amet, placerat quis neque. Etiam luctus
porttitor lorem, sed suscipit est rutrum non. ».
Conditionnement : 42
Ce problème est un exemple très simple que l'on pourra modéliser avec une base de données relationnelle à une
seule table.
Tester vos instructions SQL dans un interpréteur.
Question 1 [solution n°12 p.32]
Proposer deux autres exemples de données.
1 http://framabook.org/
2 http://www.inlibroveritas.net/
3 http://cfeditions.com
4 http://www.epagine.fr/
Auteurs Titre Éditeur : L'éditeur peut repérer un nombre non limité de livres qui
(chaîne de ajoute les sont considérés comme faisant partie de la catégorie
caractères, contenus sur « En vedette » (qui apparaîtront sur le site dans un
Catégories
obligatoire) le site bandeau déroulant)
(Manuels,
Essais,
Romans, Licence Internaute : L'éditeur peut créer des catégories et ajouter des livres
etc.) (obligatoire) consulte le dans des catégories (un livre peut appartenir à plusieurs
site et catégories)
télécharge les
Licences Nombre de
livres
(cc-by-sa, pages Le site permettra à l'internaute de consulter la liste
Art Libre, (entier) exhaustive de tous les livres
GNU FDL,
etc.)
Résumé Le site permettra à l'internaute de faire une recherche
(texte) par mots-clés dans les titres des livres
Joueur
nom: varchar
1..1 2..2
gagne participe
0..n 0..n
Terrain
Match se joue sur
numero: integer {unique}
date: datetime 0..n 1..1 surface: varchar
p. 15 Solution n°5
Zone 1
Il est nécessaire de gérer la date.
Zone 2
Les gestion des blessés et des buts n'est pas requise.
Zone 3
Les équipes ont bien un nom, par exemple : Brutal Deluxe.
Zone 4
La gestion des scores ne concerne pas l'application
Zone 5
La gestion des scores ne concerne pas l'application
Zone 6
RazorBlade a l'immatriculation f070726c-486f-11e8-a39b-5f84bf907c60, il est classé 7ème.
Zone 7
Aucune indication des niveaux des personnages.
Zone 8
La gestion des prix est requise.
Zone 9
La gestion des postes n'est pas indiquée
Un échange de mail
Du code informatique
Exercice
Un modèle est :
générique, s'il est bien conçu, il fonctionne dans toutes les situations
Exercice
Un modèle est :
réaliste, il est le plus proche possible de la réalité
remplit
1
Employé
1..*
nom: varchar
prénom: varchar Service Fonction
date_de_naissance: date 1 appartient 1..*
date_embauche: date nom: varchar nom: varchar
quotité: real
adresse: varchar
mail: varchar
1
reçoit
*
Salaire
debut: date
fin: date
brut: decimal
cotisations_patronales: decimal
cotisations_salariales: decimal
Gestion du personnel 1
Employé
nom: varchar
prénom: varchar
date_de_naissance: date
date_embauche: date
quotité: real
1
reçoit
*
Salaire
debut: date
fin: date
brut: decimal
cotisations_patronales: decimal
cotisations_salariales: decimal
Gestion du personnel 2
Le diagramme 1
Le diagramme 2
Le diagramme 2 est plus adapté pour cette situation.
Les deux diagrammes recouvrent l'ensemble des besoins exprimés, mais le diagramme 1 propose des
fonctions qui ne sont pas demandées, le modèle est donc trop complexe pour la situation visée.
Membre
Groupe
identifiant : varchar {unique}
nom : varchar * appartient * nom : varchar
prenom : varchar date_creation : date
adresse_email : varchar nombre_concerts : integer
num_telephone : varchar
1
emprunte
*
Instrument
denomination : varchar {unique}
ImageLarsen 1
Membre
Groupe
identifiant : varchar {unique}
nom : varchar 1 appartient 1 nom : varchar
prenom : varchar date_creation : date
adresse_email : varchar nombre_concerts : integer
num_telephone : varchar
*
emprunte
*
Instrument
denomination : varchar {unique}
ImageLarsen 2
Membre
Groupe
identifiant : varchar {unique}
nom : varchar * appartient 1 nom : varchar
prenom : varchar date_creation : date
adresse_email : varchar nombre_concerts : integer
num_telephone : varchar
*
emprunte
1
Instrument
denomination : varchar {unique}
ImageLarsen 3
Diagramme Larsen 1
Diagramme Larsen 2
Ce diagramme n'est pas correct car :
Un instrument ne peut pas être emprunté par plusieurs personnes.
Un groupe peut être composé de plusieurs personnes.
On peut supposer qu'un même membre peut faire partie de plusieurs groupes.
Diagramme Larsen 3
Ce diagramme n'est pas correct car :
Un instrument ne peut pas être emprunté par plusieurs personnes.
Un membre peut emprunter plusieurs instruments.
On peut supposer qu'un même membre peut faire partie de plusieurs groupes.
.
p. 22 Solution n°12
p. 23 Solution n°13
Medicament
nom: varchar {unique}
description: varchar
description_longue: varchar
conditionnement: integer
p. 23 Solution n°14
p. 23 Solution n°15
p. 23 Solution n°16
p. 23 Solution n°17
Contenus annexes
Objectifs
Connaître la notion de langage orienté donnée ;
Savoir tester une instruction en SQL.
Mise en situation
Imaginez : vous développez une bibliothèque musicale, et vous avez identifié la structure des données que vous
souhaitez gérer : les artistes d'un côté, les albums de l'autre, les playlists des utilisateurs, etc.
Au moment de passer à la pratique, vous vous demandez alors : comment expliquer cette structure au système de
gestion de base de données ? Comment insérer de nouvelles données ? Comment récupérer les données existantes
?
La réponse tient en trois mots : grâce à SQL. Ce langage est le couteau suisse des bases de données, et permet aux
développeurs de communiquer avec les SGBD.
Remarque Synonyme
On parle aussi de langage orienté données.
Fondamental SQL
SQL est le langage consacré aux SGBD relationnels et relationnels-objet.
Il permet de :
créer des tables, en définissant le domaine de chaque colonne ;
insérer des lignes dans les tables ;
lire les données entrées dans la base de données.
Cette instruction permet de créer une relation student comportant les propriétés number, name et city de
domaines, respectivement, entier, texte et texte (number est la clé primaire de la table, il servira à identifier les
enregistrements).
Cette instruction permet de créer l'étudiant numéro 1, de nom Holmes qui habite la ville de Londres.
Cette instruction permet de rechercher les noms de tous les étudiants habitant la ville de Londres.