Base de données 1

1.1- Introduction à MariaDB

1.2- Utilisateurs et privilèges

Base de données?

Code

js
let characters = ["Batman", "Oracle", "Joker", "Harley Quinn", "Bane"];
cpp
Character dcCharacters[...];

dcCharacters[0] = new Character("Batman", "Bruce Wayne");
dcCharacters[1] = new Character("Oracle", "Barbara Gordon");
dcCharacters[...] = ...;

Fichiers simples

Texte brut
Batman
Bruce Wayne
Oracle
Barbara Gordon
CSV
alias,name
Batman,Bruce Wayne
Oracle,Barbara Gordon

Fichiers structurés

xml
<Characters>
<Character alias="Batman" name="Bruce Wayne"></Character>
<Character alias="Oracle" name="Barbara Gordon"></Character>
</Characters>
json
[
{
alias:"Batman",
name: "Bruce Wayne"
},
{
alias:"Oracle",
name: "Barbara Gordon"
}
]

Tableurs

Base de données relationnelles?

Base de données relationnelle!

On utilise un modèle relationnel pour organiser les données de façon structurée et standardisée pour faciliter l'accès par les développeurs via le langage SQL.

SGBD

Logiciel permettant de stocker et manipuler(CRUDL) une base de données en assurant l'intégrité de l'information.

Une instance d'un SGBD peut héberger plusieurs bases de données, elles-mêmes contenant plusieurs tables.

MariaDB

MariaDB est un système de gestion de bases de données relationnelles :

  • Connu et reconnu
  • Open source
  • Interopérabilité MySQL
  • Sauvegarde et restauration
  • Réplication
  • Partitions

Installation

  • Effectuer les opérations de configuration en tant que root via SSH ou directement sur la machine
  • Récupérer le paquet mariadb-server
    bash
    apt update && apt install -y mariadb-server
  • Confirmer l'initialisation du service
    bash
    systemctl status mariadb

Client SQL

Le serveur MariaDB est actif, on peut s'y connecter pour exécuter des commandes SQL

bash
# En tant que root
mysql
# Version compacte de
mysql -u [username] -p -h [server_host] [database]
# man mysql pour voir les options disponibles
  • Attention, root est un utilisateur possédant tous les privilèges et devrait être utilisé uniquement pour les tâches administratives
  • Par défaut, l'utilisateur root MariaDB est relié à l'utilisateur système root et la connexion n'est possible que via une console root

Commandes SQL

Une fois la commande de connexion mysql exécutée, le client console MariaDB[()]> est disponible.

  • Chaque commandes SQL doit se terminer par un point-virgule ;
  • On voit souvent le SQL en MAJUSCULE, mais ce n'est pas obligatoire
-- Ceci est un commentaire
select @@version;

Scripts SQL

Il est possible de regrouper plusieurs commandes SQL dans un fichier .sql et de les exécuter via le client en ligne de commande

source path/to/script.sql
-- Specifique au client console mysql/mariadb

Par exemple, un fichier contenant plusieurs instructions SQL peut être executé

create user 'james'@'localhost';

grant all on *.* to 'james'@'localhost';

create user 'mathieu'@'%';
grant all on public.* to 'mathieu'@'%';

set password for 'mathieu'@'%' = password('pwd');

VS Code et l'extension Remote SSH peuvent offrir un environnement de rédaction pratique pour manipuler MariaDB via le terminal

Machine virtuelle

MariaDB est disponible sur pratiquement tous les systèmes d'exploitation, dans le cadre du cours nous utiliserons Debian via une machine virtuelle

⬇️ Télécharger la machine virtuelle

Go!