Les bases de données

Merci !

Fiches
Classe(s) : Tle STMG | Thème(s) : Comment peut-on produire de l'information à partir des données ?

Le système de gestion de bases de données relationnelles (SGBRD) permet la gestion de base de données. Chaque utilisateur accède, en fonction de ses besoins, aux différentes données centralisées et structurées grâce à un logiciel spécialisé, Access entre autres. L’interrogation de la base de données au moyen des requêtes, rédigées dans un langage spécifique – SQL (Structured Query Language) – permet d’obtenir des informations ciblées.

A Le modèle relationnel

Une base de données est constituée d’un ensemble de tables. Chaque table comporte des champs. L’un de ces champs permet d’identifier sans ambiguïté les différents champs de la table. C’est la clé primaire.

Les tables sont reliées entre elles grâce à une clé étrangère. Elle fait référence à la clé primaire de l’une des tables et est en tous points identiques à la clé primaire. Seules les valeurs renseignées pour la clé primaire ne seront pas autorisées pour la clé étrangère : c’est la contrainte d’intégrité référentielle (CIF).

À savoir

La clé primaire ne doit pas comporter de doublon ni de valeur nulle. Le choix d’un numéro comme identifiant permet d’éviter les doublons.

14628_Systemes_info_gestion_04_stdi

B L’exploitation de la base de données

Le langage SQL (Structured Query Language) permet d’interroger une base de données afin d’extraire des informations. La manipulation est une requête. La requête porte sur une ou plusieurs tables et permet d’obtenir une nouvelle table avec les informations demandées.

aLes requêtes d’interrogation de données : SELECT

Tableau de 10 lignes, 2 colonnes ;Corps du tableau de 10 lignes ;Ligne 1 : Clause; Finalité; Ligne 2 : SELECT; Liste des champs que l’on souhaite obtenir comme résultat; Ligne 3 : FROM; Énumère les tables dans lesquelles se trouvent les données; Ligne 4 : WHERE;  Critère de jointure entre les tables Critère de sélection; Ligne 5 : AND; Les conditions se cumulent; Ligne 6 : OR; Conditions alternatives; Ligne 7 : NOT; Exprime le contraire de la condition énoncée; Ligne 8 : ORDER BY;  Tri de la requête ASC (croissant) ou DESC (décroissant); Ligne 9 : GROUP BY; Regroupement des informations par catégorie; Ligne 10 : HAVING; Exprime les conditions sur les résultats d’un calcul;

EXEMPLE

À partir de l’exemple précédent, on souhaite obtenir la liste des factures du client Durand.

SELECT : CLIENT,nom cli ;FACTURE, num fact ;

FROM : CLIENT ;FACTURE ;

WHERE : CLIENT,num cli = FACTURE, num cli

AND : num cli = “Durand”

bLes requêtes de modification

Tableau de 4 lignes, 2 colonnes ;Corps du tableau de 4 lignes ;Ligne 1 : Clause; Finalité; Ligne 2 : INSERT INTO; Insertion d’un nouvel élément dans une table; Ligne 3 : UPDATE; Modification des données contenues dans une table selon des conditions déterminées. Si aucune condition n’est définie, tous les enregistrements de la table seront mis à jour; Ligne 4 : DELETE; Suppression d’un enregistrement;

EXEMPLE

Suppression du client 138 Monsieur Durand.

DELETE FROM : CLIENTS

WHERE : num cli 138

cLes requêtes de définition de données

Tableau de 4 lignes, 2 colonnes ;Corps du tableau de 4 lignes ;Ligne 1 : Clause; Finalité; Ligne 2 : CREATE; Création d’une table en indiquant pour chaque champ : l’intitulé, le type, la taille du champ, etc.; Ligne 3 : ALTER; Modification d’une table existante. Cette instruction est accompagnée de la clause ADD (ajouter un champ) ou MODIFY (modifier le champ)Exemple :ALTER TABLE : clientADD : prenom cli CHAR (25); Ligne 4 : DROP; Suppression d’une table qui ne comporte pas de clé étrangère;

EXEMPLE

Les instructions SQL correspondant aux 2 tables précédentes

CREATE TABLE Clients

(

Num cli NUMBER (6)

Nom cli CHAR (25) not null

Adresse cli CHAR (50)

CP cli CHAR (5)

Ville cli CHAR (25)

PRIMARY KEY (num cli)

)

CREAT TABLE FACTURES

(

Num fact NUMBER (6)

Date fact DATE

Date regl DATE

PRIMARY KEY (num fact)

FOREIGN KEY (num cli) REFERENCES clients (num cli)

)

dLes requêtes de contrôle de l’accès aux données

Tableau de 3 lignes, 2 colonnes ;Corps du tableau de 3 lignes ;Ligne 1 : Clauses; Finalités; Ligne 2 : GRANT; Le propriétaire d’une table autorise un utilisateur à accéder aux données grâce à un droit d’accèsGRANT (privilège) ON (nom de la table) TO (nom utilisateur)Les privilèges sont : SELECT (lecture des données), UPDATE (modification des données), INSERT (ajout) et DELETE (suppression); Ligne 3 : REVOKE; Cet ordre supprime les droits d’accès conférés à un utilisateur;

EXEMPLE

GRANT SELECT ON Client TO Christine

GRANT (privilege) ON (nom de la table) TO (nom utilisateur)

(Accorde à Christine d’accéder à la table clients et effectuer des ordres SELECT)

eLes requêtes de calcul et de regroupement

Des opérateurs mathématiques sont utilisés pour effectuer des requêtes avec calcul

Tableau de 6 lignes, 2 colonnes ;Corps du tableau de 6 lignes ;Ligne 1 : Clauses; Finalités; Ligne 2 : SUM; Calcule une somme de valeurs comprenant des données numériques; Ligne 3 : COUNT; Compte le nombre de valeurs (nombre de commandes effectuées); Ligne 4 : AVG; Calcule une moyenne; Ligne 5 : MIN; Plus petite valeur; Ligne 6 : MAX; Plus grande valeur;

EXEMPLE

À partir de l’exemple précédent, on cherche à comptabiliser le nombre de clients

SELECT : COUNT (num_cli)

FROM : CLIENT