2. LA BASE DE DONNÉES INFORMATISÉE
La société Angélique est une entreprise industrielle spécialisée dans la confiserie. Sa gestion informatisée
A partir des données
saisies par les utilisateurs,
des traitements pro-
grammés (interrogations,
calculs, tris, etc.)
est assurée en partie à l’aide d’un logiciel de type SGBDR (système de gestion de base de données relationnel).
permettent de produire des
résultats :
1
3. LES TABLES
La base de données est structurée en
ensembles homogènes appelés tables
Une table se compose:
- de colonnes où sont indiquées les différents attributs (ou champs)
L’ensemble des valeurs d’une ligne est appelé un enregistrement.
- de lignes où sont rangées les valeurs des différents attributs.
Exemples : - la table « clients »
- la table « commandes »
2
4. LES DÉPENDANCES FONCTIONNELLES
La connaissance d’une valeur de l’attribut clé
primaire détermine de façon unique la
connaissance des valeurs des autres attributs de
la table, on dit qu’il existe entre eux une
dépendance fonctionnelle directe.
Un attribut principal appelé clé primaire, situé
en première colonne, doit permettre d’identifier
chaque enregistrement sans ambiguïté.
Les valeurs de cet attribut doivent donc
obligatoirement être uniques (sans
doublons).
La connaissance d’une valeur de l’attribut d’une
clé primaire peut permettre de retrouver de
façon unique la valeur d’une autre clé primaire.
Dans ce cas, il existe une dépendance
fonctionnelle entre deux tables.
Pour matérialiser le lien entre les deux tables, un attribut
(numcli) est ajouté à la table source de la dépendance
fonctionnelle.
Celui-ci est appelé clé étrangère.
La connaissance de numcli nous permet de
retrouver de façon unique nomcli,
adresseruecli, adressecpcli, etc.
La connaissance de numcom permet de
retrouver de façon unique datecom
4
La connaissance de numcom permet de
retrouver de façon unique le numcli
5. Celle-ci sera composée d’une clé primaire
concaténée « Numcom+Refprod » et de
l’attribut « quantite ».
Pour matérialiser ce double lien, une table
supplémentaire « COMPRENDRE » sera créée.
La connaissance des valeurs de deux attributs
« clé primaire » détermine de façon unique la
connaissance de la valeur d’un troisième
attribut.
Il existe donc dans ce cas une dépendance
fonctionnelle multiple ou composée
5
La connaissance de numcom et de refprod
permet de retrouver de façon unique la
quantité.
6. PRODUITS (Refprod, Designprod, Condprod, PUprod)
SECTEURS (Numsecteur, Nomsecteur, Zone)
REPRESENTANTS (Numrepr, Nomrepr, Prenomrepr, Adresseruerepr,
AdresseCPrepr, Adressevillerepr, Telrepr)
LE MODÈLE RELATIONNEL
Le modèle physique est issu d’une réflexion préalable structurée appelée modèle relationnel.
Le modèle relationnel est une présentation logique et rationnelle des données permettant de les rendre exploitables par un
logiciel de type SGBDR. Dans ce modèle, les tables sont appelées des relations et obéissent aux règles de présentation
suivantes :
Nom de la relation en majuscules suivi entre parenthèses des différents attributs qui la composent.
Si la relation comprend un attribut clé étrangère, celui-ci sera placé à la fin et suivi du signe #.
Dans le cas d’une clé primaire concaténée, l’ensemble des attributs formant la clé est souligné.
L’attribut clé primaire indiqué en premier est souligné.
COMMANDES (Numcom, Datecom, Numcli #)
CLIENTS (Numcli, Nomcli, Adresseruecli , AdresseCPcli, Adressevillecli,
Conditionscli, Telcli, Numrepr #)
COMPRENDRE (Refprod #, Numcom#, Quantite)
INTERVENIR (Numrepr#, Numsecteur#, Tauxcomm)
6
7. LE MODÈLE PHYSIQUE
L’ensemble des tables et des liens créé par la présence d’attributs communs à plusieurs tables (clés primaires
et clés étrangères) représente la structure de la base de données. Cet ensemble est appelé modèle physique.
Aucune table n’est isolée des autres.
7
8. Les symboles 1 et sur le lien entre clé primaire et clé étrangère
unissant deux tables indiquent qu’une
contrainte d’intégrité référentielle a été posée.
LES CONTRAINTES D’INTÉGRITÉ RÉFÉRENTIELLE
Interdiction de la saisie de la commande d’un client
inconnu de la base :
Un numéro de client ne pourra pas être saisi en tant que
clé étrangère dans la table commande, s’il n ’existe pas
en tant que clé primaire dans la table client.
Interdiction de la suppression d’un client lié par des
commandes :
Un enregistrement de la table contenant la clé primaire
ne pourra pas être supprimé s’il existe des
enregistrements correspondants dans la table contenant
la clé étrangère.
Possibilité de mise à jour du numéro de client :
Un numéro de client pourra être modifié dans la table
contenant la clé primaire et se répercuter dans la table
contenant la clé étrangère.
1∞
8
9. LES REQUÊTES D’INTERROGATION DE LA BASE DE DONNÉES
Une requête permet d’interroger une base de données sur le contenu d’une ou plusieurs de ses tables.
Les logiciels de gestion de bases de données (SGBDR) mettent à disposition des utilisateurs un requêteur
graphique permettant de réaliser des requêtes facilement et intuitivement. Celui-ci est propre à chaque logiciel, ses
possibilités sont limitées lors de cas complexes.
Les logiciels SGBDR intègrent également un langage textuel de programmation de requêtes : le SQL (Structured
Query language) . Celui-ci est universel, normalisé et capable de traiter toutes les difficultés.
9
10. LE REQUÊTEUR GRAPHIQUE
Exemple 1 : « Produits de qualité supérieure »
Liste des produits dont le prix est supérieur à 3 €, avec indication de la référence,
de la désignation et du prix unitaire du produit.
Table utilisée dans la
requête.
Projection des champs
retenus dans la requête.
Restriction sur le champ
« Puprod» en posant
comme critère
>3
Cette requête met en jeu deux opérateurs relationnels : projection et restriction
VIDÉO
10
11. Pour écrire une requêtes en SQL, sous Microsoft Access, le respect d’une syntaxe est nécessaire,
notamment en matière de ponctuation.
Les noms de champs et de tables
sont séparés par des virgules.
Les requêtes se terminent
toujours par un point-virgule.
LE RESPECT DE LA SYNTAXE SQL
11
Exemple 1 : « Produits de qualité supérieure »
Liste des produits dont le prix est supérieur à 3 €, avec indication de la référence,
de la désignation et du prix unitaire du produit.
12. Exemple 2 : « Commandes de la journée »
Liste des commandes passées le 12/05/03, avec indication de la date de commande,
du numéro de commande et du nom du client.
Tables utilisées dans la
requête.
Projection des champs
retenus dans la requête.
Restriction sur le champ
« datecom » en posant
comme critère
« 12/05/2003 ».
Cette requête met en jeu trois opérateurs relationnels : projection, restriction et jointure
Jointure liant les deux
tables ayant un champ
commun : « numcli ».
12
VIDÉO
13. Les critères sont placés entre guillemets
pour un champ texte et entre # pour un
champ date. Aucune ponctuation n’est
nécessaire pour un champ numérique.
Lorsque qu’un champ est commun à
plusieurs tables, le nom de la table suivi
d’un point doit obligatoirement
précéder le nom du champ.
13
Exemple 2 : « Commandes de la journée »
Liste des commandes passées le 12/05/03, avec indication de la date de commande,
du numéro de commande et du nom du client.
14. Tables utilisées dans la
requête.
La table « comprendre » est
indispensable car elle permet
de lier les tables « produits »
et « commandes ».
Projection des champs
retenus dans la requête.
Jointures liant les tables
ayant un champ commun.
Tri du champ « nomcli »
dans l ’ordre croissant.
Exemple 3 : « Clients concernés par un produit »
Liste des clients ayant commandé le produit « coca », avec indication
des noms des clients dans l’ordre croissant et des dates de commande.
Affichage non demandé pour
le champ « designprod ».
Case décochée.
Restriction sur le champ
« designprod » avec le critère
«coca ».
14
15. 16
Exemple 3 : « Clients concernés par un produit »
Liste des clients ayant commandé le produit « coca », avec indication
des noms des clients dans l’ordre croissant et des dates de commande.
16. Exemple 4 : « Quantités > à 30 de produits vendus par référence »
Liste des produits avec indication de la référence et de la somme des quantités (> à 30)
vendus pour chacun d’entre eux.
L’utilisation de cet opérateur est souvent liée à l’application d’une fonction de calcul
(agrégat) sur les valeurs d’un second attribut, donnant naissance à un attribut calculé.
Table utilisée dans la requête.
Projection des champs
retenus dans la requête.
Ajout de la ligne opération
(par le menu affichage)
permettant l’utilisation du
regroupement et des agrégats
Cette requête utilise l’opérateur de regroupement qui consiste à rassembler les enregistrements d’une table en fonction
des valeurs d’un premier attribut (1 seule ligne par valeur distincte).
Principaux agrégats : SOMME, MOYENNE, MIN, MAX, COMPTE
Restriction sur le champ
calculé «sommedequantite »
avec le critère >30.
16
VIDÉO
17. Le nom du champ sur lequel
porte le calcul doit être mis entre
parenthèses.
17
Exemple 4 : « Quantités > à 30 de produits vendus par référence »
Liste des produits avec indication de la référence et de la somme des quantités (> à 30)
vendus pour chacun d’entre eux.
18. SELECT liste des champs à afficher
FROM liste des tables utilisées
WHERE champ et critère de condition ou
champ commun aux tables utilisées
AND champ et critère de condition ou
champ commun aux tables utilisées
ORDER BY champ à trier ASC ou DESC
L’instruction SELECT permet de
lister les champs que l’on souhaite
obtenir, il correspond à l ’opérateur de
PROJECTION.
L’instruction FROM permet de lister
les tables utiles à la requête.
Les instructions WHERE et AND
sont liées. Elles permettent
d’introduire :
- les critères de conditions
correspondant à l ’opérateur de
RESTRICTION.
- les champs communs aux tables
utilisées correspondant à l’opérateur
de JOINTURE. L’instruction ORDER BY permet de
demander un tri sur un champ (ASC
pour croissant et DESC pour
décroissant).
LE LANGAGE DE REQUÊTES SQL
Structure classique des requêtes en SQL
18
19. SELECT SUM (champ sur lequel porte le calcul) AS nom du nouveau champ
FROM nom de la table utilisée
GROUP BY champ à regrouper
HAVING SUM (champ sur lequel porte le calcul) et critère de condition
Structure des requêtes en SQL avec utilisation d’un regroupement et d’un agrégat
L’instruction AS permet d’affecter un calcul
à un nouveau nom de champ
L’instruction GROUP BY permet de
regrouper les valeurs identiques d’un champ.
Il correspond à l’opérateur de
REGROUPEMENT.
L’instruction SUM est un des agrégats, elle
permet d’effectuer une somme sur le champ
indiqué entre parenthèses.
Autres instructions d’agrégats:
COUNT, AVERAGE, MIN, MAX
L’instruction HAVING permet de poser des
critères de conditions avec utilisation d’un
agrégat.
19