0% ont trouvé ce document utile (0 vote)
16 vues6 pages

Export

Le document présente le principe de fonctionnement des bases de données relationnelles, en expliquant leur terminologie essentielle, comme les tables, enregistrements, clés primaires et étrangères. Il introduit également le langage SQL, en détaillant des instructions pour la recherche, l'ajout, la mise à jour et la suppression d'informations dans une base de données. Ces concepts sont cruciaux pour le développement d'applications utilisant des bases de données.

Transféré par

mr.laurenzoo123
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
16 vues6 pages

Export

Le document présente le principe de fonctionnement des bases de données relationnelles, en expliquant leur terminologie essentielle, comme les tables, enregistrements, clés primaires et étrangères. Il introduit également le langage SQL, en détaillant des instructions pour la recherche, l'ajout, la mise à jour et la suppression d'informations dans une base de données. Ces concepts sont cruciaux pour le développement d'applications utilisant des bases de données.

Transféré par

mr.laurenzoo123
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Samuel KAMDOUM FOLONG

Principe de fonctionnement d’une base de


données
Les bases de données relationnelles sont devenues des éléments incontournables de la majorité des
applications. Elles se substituent à l’utilisation de fichiers gérés par le développeur lui-même. Cet apport
permet un gain de productivité important lors du développement et une amélioration significative des
performances des applications. Elles facilitent également le partage d’informations entre utilisateurs.
Pour pouvoir utiliser une base de données, vous devez connaître un minimum de vocabulaire lié à cette
technologie.

1. Terminologie

Dans le contexte des bases de données les termes suivants sont fréquemment utilisés :

ˇ Base de données relationnelle : une base de données relationnelle est un type de base de
données qui utilise des tables pour le stockage des informations. Elles utilisent des valeurs
issues de deux tables pour associer les données d’une table aux données d’une autre table. En
règle générale, dans une base de données relationnelle, les informations ne sont stockées
qu’une seule fois.
ˇ Table : une table est un composant d’une base de données qui stocke les informations dans
des enregistrements (lignes) et dans des champs (colonnes). Les informations sont en général
regroupées par catégorie au niveau d’une table. Par exemple, nous aurons la table des Clients,
des Produits, ou des Commandes.
ˇ Enregistrement : l’enregistrement est l’ensemble des informations relatives à un élément d’une
table. Les enregistrements sont les équivalents au niveau logique des lignes d’une table. Par
exemple un enregistrement de la table Clients contient les caractéristiques d’un client
particulier.
ˇ Champ : un enregistrement est composé de plusieurs champs. Chaque champ d’un
enregistrement contient une seule information sur l’enregistrement. Par exemple un
enregistrement Client peut contenir les champs CodeClient, Nom, Prénom...
ˇ Clé primaire : une clé primaire est utilisée pour identifier de manière unique chaque ligne d’une
table. La clé primaire est un champ ou une combinaison de

© Editions ENI - Tous droits réservés - Copie personnelle de Samuel KAMDOUM FOLONG -1-
Samuel KAMDOUM FOLONG

champs dont la valeur est unique dans la table. Par exemple, le champ CodeClient est la clé
primaire de la table Client. Il ne peut pas y avoir deux clients ayant le même code.
ˇ Clé étrangère : une clé étrangère représente un ou plusieurs champs d’une table qui font
référence aux champs de la clé primaire d’une autre table. Les clés étrangères indiquent la
manière dont les tables sont liées.
ˇ Relation : une relation est une association établie entre des champs communs dans deux
tables. Une relation peut être de un à un, un à plusieurs ou plusieurs à plusieurs. Grâce aux
relations, les résultats de requêtes peuvent contenir des données issues de plusieurs tables.
Une relation de un à plusieurs entre la table Client et la table Commande permet à une requête
de renvoyer toutes les commandes correspondant à un client.

2. Le langage SQL

Avant de pouvoir écrire une application Java utilisant des données, vous devez être familiarisé avec le
langage SQL (Structured Query Language). Ce langage permet de dialoguer avec la base de données. Il
existe différentes versions du langage SQL en fonction de la base de données utilisée. Cependant SQL
dispose également d’une syntaxe élémentaire normalisée indépendante de toute base de données.

a. Recherche d’informations

Le langage SQL permet de spécifier les enregistrements à extraire ainsi que l’ordre dans lequel vous
souhaitez les extraire. Vous pouvez créer une instruction SQL qui extrait des informations de plusieurs
tables simultanément, ou vous pouvez créer une instruction qui extrait uniquement un enregistrement
spécifique. L’instruction SELECT est utilisée pour renvoyer des champs spécifiques d’une ou de plusieurs
tables de la base de données.

L’instruction suivante renvoie la liste des noms et prénoms de tous les enregistrements de la table Client.

SELECT Nom,Prenom FROM Client

© Editions ENI - Tous droits réservés - Copie personnelle de Samuel KAMDOUM FOLONG -2-
Samuel KAMDOUM FOLONG

Vous pouvez utiliser le symbole * à la place de la liste des champs pour lesquels vous souhaitez la valeur.
Dans ce cas, l’ensemble des champs est retourné. Ce n’est pas une pratique recommandée en production.

SELECT * FROM Client

Vous pouvez limiter le nombre d’enregistrements sélectionnés en utilisant un ou plusieurs champs pour
filtrer le résultat de la requête. Différentes clauses sont disponibles pour exécuter ce filtrage.

Clause WHERE

Cette clause permet de spécifier la liste des conditions que devront remplir les enregistrements pour faire
partie des résultats retournés. L’exemple suivant permet de retrouver tous les clients habitant Nantes.

SELECT * FROM Client WHERE Ville='Nantes'

La syntaxe de la clause nécessite l’utilisation de simples quotes pour la délimitation des chaînes de
caractères.

Clause WHERE ... IN

Vous pouvez utiliser la clause WHERE ... IN pour renvoyer tous les enregistrements qui répondent à
une liste de critères. Par exemple, vous pouvez rechercher tous les clients habitant en France ou en
Espagne.

SELECT * FROM Client WHERE Pays IN ( 'France','Espagne')

Clause WHERE ... BETWEEN

Vous pouvez également renvoyer une sélection d’enregistrements qui se situent entre deux critères
spécifiés. La requête suivante permet de récupérer la liste des commandes passées au mois de novembre
2018.

© Editions ENI - Tous droits réservés - Copie personnelle de Samuel KAMDOUM FOLONG -3-
Samuel KAMDOUM FOLONG

SELECT * from Commandes WHERE DateCommande BETWEEN '01/11/21' AND '30/11/21'

L’utilisation du format international yyyy-MM-DDTHH:mm :ss[.sss] est recommandé pour s’assurer du bon
fonctionnement quel que soit le serveur installé et quelle que soit la langue utilisée.

L’exemple précédent peut donc s’écrire ainsi :

SELECT * from Commandes WHERE DateCommande BETWEEN '2021-11-01' AND '2021-11-30'

Clause WHERE ... LIKE

Vous pouvez utiliser la clause WHERE ... LIKE pour renvoyer tous les enregistrements pour lesquels
il existe une condition particulière pour un champ donné. Par exemple, la syntaxe suivante sélectionne
tous les clients dont le nom commence par un d :

SELECT * FROM Client WHERE Nom LIKE 'd%'

Dans cette instruction, le symbole % est utilisé pour remplacer une séquence de caractères quelconque.

Clause ORDER BY ...

Vous pouvez utiliser la clause ORDER BY pour renvoyer les enregistrements dans un ordre particulier.
L’option ASC indique un ordre croissant, l’option DESC indique un ordre décroissant. Plusieurs champs
peuvent être spécifiés comme critère de tri. Ils sont analysés de la gauche vers la droite. En cas d’égalité
sur la valeur d’un champ, le champ suivant est utilisé.

SELECT * FROM Client ORDER BY Nom DESC, Prenom ASC

Cette instruction retourne les clients triés par ordre décroissant sur le nom et en cas d’égalité par ordre
croissant sur le prénom.

© Editions ENI - Tous droits réservés - Copie personnelle de Samuel KAMDOUM FOLONG -4-
Samuel KAMDOUM FOLONG

b. Ajout d’informations

La création d’enregistrements dans une table se fait par la commande INSERT INTO . Vous devez
indiquer la table dans laquelle vous souhaitez insérer une ligne, la liste des champs pour lesquels vous
spécifiez une valeur et enfin la liste des valeurs correspondantes. La syntaxe complète est donc la
suivante :

INSERT INTO Client (CodeClient,Nom,Prenom) VALUES ( 1000,'Dupond','Pierre')

Lors de l’ajout de ce nouveau client, seul le code, le nom et le prénom seront renseignés dans la table. Les
autres champs prendront la valeur NULL . Si la liste des champs n’est pas indiquée, l’instruction INSERT
exige que vous spécifiiez une valeur pour chaque champ de la table. Vous êtes donc obligé d’utiliser le
mot-clé NULL pour indiquer que pour un champ particulier il n’y a pas d’information. Si la table Client est
composée de cinq champs (CodeClient,Nom,Prenom,Adresse,Pays) l’instruction précédente peut être
écrite avec la syntaxe suivante :

INSERT INTO client VALUES ( 1000,'Dupond','Pierre',NULL,NULL)

À noter que dans ce cas les deux mot-clés NULL sont obligatoires pour les champs Adresse et Pays.

c. Mise à jour d’informations

La modification des champs pour des enregistrements existants s’effectue par l’instruction UPDATE .
Cette instruction peut mettre à jour plusieurs champs de plusieurs enregistrements d’une table à partir
des expressions qui lui sont fournies. Vous devez fournir le nom de la table à mettre à jour ainsi que la
valeur à affecter aux différents champs. La liste est indiquée par le mot-clé SET suivi de l’affectation de la
nouvelle valeur aux différents champs. Si vous voulez que les modifications ne portent que sur un
ensemble limité d’enregistrements, vous devez spécifier une clause WHERE afin de limiter la portée de la
mise à jour. Si aucune clause WHERE n’est indiquée la modification se fera sur l’ensemble des
enregistrements de la table.

© Editions ENI - Tous droits réservés - Copie personnelle de Samuel KAMDOUM FOLONG -5-
Samuel KAMDOUM FOLONG

Par exemple pour modifier l’adresse d’un client particulier, vous pouvez utiliser l’instruction suivante :

UPDATE Client SET Adresse= '4 rue de Paris 44000 Nantes'


WHERE CodeClient=1000

Si la modification porte sur l’ensemble des enregistrements de la table, la clause WHERE est inutile. Par
exemple si vous souhaitez augmenter le prix unitaire de tous vos articles, vous pouvez utiliser l’instruction
suivante :

UPDATE Catalogue SET PrixUnitaire=PrixUnitaire*1.1

d. Suppression d’informations

L’instruction DELETE FROM permet de supprimer un ou plusieurs enregistrements d’une table. Vous
devez au minimum fournir le nom de la table sur laquelle va se faire la suppression. Si vous n’indiquez pas
plus de précisions, dans ce cas toutes les lignes de la table sont supprimées. En général une clause
WHERE est ajoutée pour limiter l’étendue de la suppression. La commande suivante efface tous les
enregistrements de la table Client :

DELETE FROM Client

La commande suivante est moins radicale et ne supprime qu’un enregistrement particulier :

DELETE FROM Client WHERE CodeClient=1000

Le langage SQL est bien sûr beaucoup plus complet que cela et ne se résume pas à ces cinq instructions.
Néanmoins, elles sont suffisantes pour la manipulation de données à partir de Java. Si vous souhaitez
approfondir l’apprentissage du langage SQL je vous conseille de consulter un des ouvrages disponibles
dans la même collection traitant de ce sujet de manière plus poussée.

© Editions ENI - Tous droits réservés - Copie personnelle de Samuel KAMDOUM FOLONG -6-

Vous aimerez peut-être aussi