• 20 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 03/09/2019

Choisissez votre système de gestion de base de données

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Dans la partie précédente de ce cours, nous avons vu la façon d'organiser votre base de données. Maintenant, nous allons mettre en œuvre cette organisation dans une véritable base de données relationnelle.

Pour commencer, vous devez choisir quel système de gestion de base de données utiliser...

Les différents systèmes de gestion de base de données

Aperçu de quelques systèmes de gestion de base de données existants
Aperçu de quelques systèmes de gestion de base de données existants

Il existe différentes natures de bases de données (BD ou DB en anglais pour « DataBase »).

Plus précisément, il existe différents types de systèmes de gestion de base de données (SGBD ou DBMS en anglais pour « DataBase Management System »).

Chaque type de SGBD présente des caractéristiques différentes et chacun est adapté à des contextes particuliers.

Voici les principaux types de SGBD :

  • SGBD relationnel : les données sont représentées dans différents tableaux pouvant être liés entre eux.

  • SGBD NoSQL (clé-valeur, orienté graphe, orienté document...) : les données ne sont pas structurées en tableaux mais sur des structures différentes :

    • clé-valeur : par exemple un dictionnaire qui à chaque mot (clé) associe une définition (valeur)

    • orienté graphe : associe à chaque élément les éléments liés (ex. : les amis d'une personne)

    • ...

Comme je l'avais précisé au début de ce cours, nous allons nous concentrer ici sur les SGBD relationnels (SGBD-R). En effet, toute la démarche que je vous ai présentée jusque là est adaptée au travail avec ce type de SGBD.

Un SGBD relationnel

Les SGBD relationnels (SGBD-R) sont, de loin, le type de SGBD le plus couramment utilisé lorsque l'on parle de bases de données. Ils sont basés sur un modèle relationnel, tel que nous l'avons vu dans la partie précédente de ce cours.

Pour interagir avec un SGBD-R on utilise un langage appelé SQL(Structured Query Language). Ce langage permet d'ajouter, modifier ou supprimer des données mais aussi d'interroger la base de données selon certains critères et faire des recoupements d'information en suivant les relations entre les tables. Nous aborderons cela dans la troisième partie de ce cours.

Mais SQL permet également de créer la structure de la base de données : le schéma de la base de données. Ce schéma est tout simplement décrit par le modèle physique de données (MPD). C'est cet aspect du langage que je développerai dans cette partie du cours.

Dans le monde des bases de données relationnelles, en ce qui concerne le choix, il y en a pour tous les goûts !

Vous avez :

  • les SGBD libres comme PostgreSQL ou MariaDB

  • les gratuits mais avec un code fermé (licence propriétaire) comme Microsoft SQL Server Express

  • les payants et propriétaires comme Oracle Database, Microsoft SQL Server ou Sybase

Bien entendu, tous ces SGBD-R ont leurs caractéristiques, leurs avantages et leurs inconvénients. Je ne vais pas entrer dans le débat ici, mais vous avez par exemple :

  • Oracle Database, certes payant, mais taillé pour les grandes entreprises, il peut gérer efficacement d'énormes bases de données.

  • PostgreSQL, gratuit, libre, de qualité professionnelle, il permet de gérer des bases de données, même assez importantes.

Dans ce cours, nous utiliserons le SGBD PostgreSQL. Il est multiplateformes, facile à mettre en place et respecte une très grande partie des standards SQL. Ce que je vais vous montrer avec PostgreSQL est en grande partie valable avec les autres SGBD. Ne vous inquiétez donc pas si votre prochain projet web utilise MySQL !

De la modélisation à la base de données

Vous vous souvenez des chapitres précédents traitant de la modélisation (UML, MPD...) ?

Oui, mais alors : comment obtenir une base de données à partir du MPD ?

Voici la démarche que j'utilise généralement pour créer une base de données à partir de zéro :

  1. Après avoir modélisé le domaine fonctionnel avec UML,

  2. je crée le MPD avec un outil générique comme SQL Power Architect.

  3. J'apporte les ajustements nécessaires comme l'ajout d'index, dénormalisation... (nous verrons cela plus loin).

  4. Je génère grâce à l'outil (SQL Power Architect) le script SQL de création du schéma de la base de données avec les spécificités SQL du SGBD de destination (PostgreSQL, MySQL, Oracle...).

  5. Si besoin, j'apporte les compléments nécessaires au script SQL (notamment si je dois utiliser des spécificités du SGBD de destination).

  6. J'utilise le script SQL pour créer la base de données.

  7. Je passe enfin à l'importation des données dans la base (nous verrons cela dans la troisième partie de ce cours).

Cette démarche me permet d'être quasiment indépendant du SGBD-R de destination et je peux donc l'appliquer dans pratiquement tous mes projets.

Exemple de certificat de réussite
Exemple de certificat de réussite