icu.next-video

Contenu proposé par

France Télévisions

Regarde cette vidéo et gagne facilement jusqu'à 15 Lumniz en te connectant !

Il n’y a pas de Lumniz à gagner car tu as déjà consommé cet élément. Ne t'inquiète pas, il y a plein d'autres contenus intéressants à explorer et toujours plus de Lumniz à gagner.

->   En savoir plus
Numérique et sciences informatiques30:15Publié le 26/11/2020

Qu’est-ce qu’une base de données relationnelle ?

Les cours Lumni - Lycée

Dans ce cours, Jean-Loup, professeur de numérique et sciences informatiques, s'intéresse à la notion de base de données et la notion de table (ou relation). Omniprésente aujourd’hui, une base de données est une immense collection de données qui ont des relations entre elles. Après avoir défini les concepts d’attributs, de champs et de domaines, il définit les notions de clef primaire et secondaire. Puis il présente le concept de base d’un schéma relationnel et les premiers éléments du langage SL. Pour finir, il montre comment mettre à jour une base de données à l’aide des mots clefs INSERT, UPDATE, DELETE du langage SQL. Deux QCM permettent de vérifier que les notions abordées ont été comprises.

Le logiciel DbSchema a été utilisé pour créer les schémas relationnels du cours.

Retrouvez le support de cours en PDF et la deuxième partie du cours sur l'interrogation d'une base de données.

Tables

Une base de données est un ensemble de tables.

Lignes

Dans l'exemple sur la table des départements français, chaque ligne représente un département.

Il n’y a aucun ordre dans ces lignes et chaque département ne correspond qu’à une ligne.

Colonnes

Dans une table, les colonnes ont différents noms que l’on appelle attribut ou champ. L’ordre des colonnes a assez peu d’importance, car elles sont repérées par leur nom.

Domaines

La notion de domaine est importante car elle parle du type de données stockées dans notre base de données.

Chaque colonne a un type de données particulier, que l’on appelle « domaine ».

Par exemple, dans la table de départements :

  • La colonne NOM, suites de caractères > domaine : chaîne de caractères
  • La colonne REG, des nombres entiers > domaine : entiers
  • La colonne DEP, des nombres et des lettres > domaine : chaîne de caractères
  • La colonne CHEFLIEU, des nombres et des lettres et toujours 5 caractères > domaine : suites de 5 caractères

Exemples de domaines

  • Les chaînes de caractères
  • Les entiers
  • Les entiers > 5
  • « oui » ou « non »
  • 0, 1 ou 2
  • « lundi », « mardi », « mercredi », « jeudi », « vendredi », « samedi », « dimanche »

Clef primaire

Quand une valeur d’une colonne permet de résumer toute la ligne, on peut choisir alors la colonne comme clef primaire.

Dans notre exemple, si on donne la valeur de la colonne DEP, qui correspond au numéro de département, on peut déduire de quel département on parle.

Par conséquent, toutes les valeurs de cette colonne sont différentes, elles sont uniques.

On pourrait aussi choisir la colonne NOM, dont les noms de départements sont également uniques. On parle alors de clef candidate.

Schéma relationnel

Pour rappel, une base de données est un ensemble de tables qui ont des liens entre elles. 

Dans notre exemple, il y a 4 tables : départements, régions, communes et indicateurs.

Des colonnes d'une table peuvent être la clef primaire d’une autre table. On parle alors de clef étrangère.

Image contenu

Dans notre exemple, les valeurs du champ EST_CHEF_LIEU peuvent être déduits grâce aux données contenus dans les tables départements et régions.

Et les tables des communes et des indicateurs ont la même clé primaire. Pourquoi faire 2 tables alors ? On peut donc simplifer le schéma relationnel avec 3 tables.

Ce schéma relationnel me dit comment ranger les données. Il faut distinguer cela des données elles-mêmes.

Image contenu

SQL

Le SQL (Structured Query Language) est un langage qui va permettre d’agir sur une base de données. 

MySQL, Sqlite ou PostgreSQL sont des implantations pratiques du langage SQL.

Exemple dans Sqlite :

► CREATE TABLE

CREATE TABLE communes (
INSEE TEXT,
DEP TEXT,
REG INT,
NOM TEXT,
boulangeries INT,
population INT);

► INSERT

INSERT INTO communes VALUES ('17356', '17', 75, 'Saint-Loup', 0, 303);

INSERT INTO communes VALUES ('46127', '46', 76, 'Gourdon', 6, 4094);

► UPDATE

UPDATE communes SET boulangeries=1 WHERE INSEE = '17356';

► DELETE

DELETE FROM communes WHERE DEP = '17';

Réalisateur : Didier Fraisse

Producteur : France tv studio

Année de copyright : 2020

Année de production : 2020

Année de diffusion : 2020

Publié le 26/11/20

Modifié le 23/06/23

Ce contenu est proposé par