Comprendre les bases de données
Une base de données est un ensemble structuré d’éléments d’information, généralement agencés sous forme de tables, dans lesquelles les données sont organisées selon certains critères en vue de permettre leur exploitation.
Exemples de données pouvant être stockées dans une base de données :
- système d’inventaire
- jeu vidéo
- horaire des cours
Les informations sont stockées sous forme de données brutes :
- chaînes de texte
- nombres
- dates
- etc.
Une application est généralement reliée à une seule base de données, bien qu’elle puisse en utiliser plus d’une.
Plusieurs applications peuvent utiliser une même base de données.
SGBD
Un système de gestion de base de données (SGBD) est un logiciel qui permet de stocker, de modifier et d’interroger les données d’une ou de plusieurs bases de données.
Fonctions principales d’un SGBD :
- stockage, modification et interrogation des données
- gestion de la sécurité (droits d’accès)
- gestion de l’intégrité des données
- importation / exportation
Modèles de bases de données
Il existe plusieurs modèles de bases de données :
- Hiérarchique : les données sont classées hiérarchiquement, selon une arborescence descendante. Ce modèle utilise des pointeurs entre les différents enregistrements. Il s’agit du premier modèle de SGBD.
- Réseau : comme le modèle hiérarchique ce modèle utilise des pointeurs vers des enregistrements. Toutefois la structure n’est plus forcément arborescente dans le sens descendant.
- Déductif : les données sont représentées sous forme de table, mais leur manipulation se fait par calcul de prédicats. C’est un modèle souvent utilisé pour les systèmes en intelligence artificielle.
- Relationnel (SGBDR, Système de gestion de bases de données relationnelles) : les données sont enregistrées dans des tableaux à deux dimensions (lignes et colonnes). La manipulation de ces données se fait selon la théorie mathématique des relations.
- Orienté objet (SGBDO, Système de gestion de bases de données objet) : les données sont stockées sous forme d’objets, c’est-à-dire de structures appelées classes présentant des données membres. Les champs sont des instances de ces classes.
- NoSQL (Not Only SQL) : dans cette famille, souvent optimisée pour le Big Data, on retrouve des bases de données sous le modèle clé/valeur, orienté colonne, orienté document, orienté graphe, etc.
- XML : les informations sont stockées dans un modèle XML.
Les principaux SGBD utilisés en entreprise
MySQL
- SGBDR
- logiciel libre
- distribué par Oracle
- multiplateformes
MariaDB
- SGBDR
- très semblable à MySQL
- logiciel libre
- développé et maintenu par la communauté
- multiplateformes
PostgreSQL
*SGBDR
- très semblable à MySQL
SQLite
- SGBDR
- logiciel libre
- très léger (aucun serveur n’est nécessaire)
- limité en espace de stockage
- utilisé pour le stockage local
- multiplateformes
SQL Server
- SGBDR
- distribué par Microsoft
- compatible avec Windows seulement
- plutôt dispendieux
Oracle
- SGBDR
- a longtemps été le leader
- multiplateformes
- très dispendieux
Le DBA
DBA : Database administrator ou
ABD : Administrateur de bases de données
C’est le titre donné à la personne qui installe, configure, administre et optimise la ou les bases de données. Son rôle est d’organiser et de gérer en toute fiabilité les systèmes de gestion des données de l’entreprise et d’en assurer la cohérence, la qualité et la sécurité.
Les caractéristiques d’une BD relationnelle
Dans une base de données relationnelle, les informations sont stockées dans des tables (tableau de données semblables à un tableau Excel).
- Chaque table contient des informations sur un même sujet, par exemple une table d’étudiants. Les données d’une table sont organisées en champs (colonnes) et en enregistrements (lignes).
- Les enregistrements regroupent des informations relatives à un item unique. Par exemple, chaque enregistrement regroupera les données d’un étudiant.
- Les champs correspondent à une caractéristique précise d’un enregistrement. Par exemple, pour chaque étudiant, on aura son nom de famille, son prénom, son numéro de demande d’admission, etc. Chaque enregistrement contient un champ spécial, qu’on appelle sa clé primaire, qui permet d’identifier l’enregistrement de façon unique. Le nom de la clé primaire est généralement id. Une table d’étudiants pourrait ressembler à ceci :

Une table d’établissements d’enseignement pourrait ressembler à ceci :

Relations
La base de données relationnelle est basée sur la notion de relations.
Par exemple, il peut y avoir une relation entre un étudiant et un établissement d’enseignement : un étudiant est inscrit dans un établissement d’enseignement.
Pour mettre une relation en place, un enregistrement aura un champ supplémentaire, qu’on appelle clé étrangère,
dans lequel on enregistrera la valeur de la clé primaire d’un enregistrement d’une autre table.
Voici la table des étudiants modifiée pour mettre en place cette relation.

On voit qu’il y a 3 étudiants inscrits dans l’établissement dont le id est 1 (Cégep de Victoriaville) et deux dans l’établissement 2 (Cégep de Ste-Foy).
