3. La construction d'une
base de données nécessite un apprentissage
Bien que nous ayons vu dans la première partie du
développement que la création d'une base de données reste
assez simple via seulement quelques clics, ce n'est pas le cas s'il faut une
base de données robuste, optimisée et sécurisée.
A. Un processus de conception
à assimiler
Les bases de données sont organisées en tables
composées de colonnes et de lignes. Très souvent, voire quasiment
tout le temps, nous avons besoin de plusieurs tables. Par exemple une table
pour les produits, une pour les commandes et une autre pour les clients.
A la construction des tables dans le SGBD on peut rencontrer
deux types de problèmes :
· Où placer certaines informations? (par exemple
une adresse de livraison faut-il la mettre dans la table commande ou dans la
table client ?)
· Prévoir des tables de jonctions
intermédiaires (une table des interprétations est
nécessaire entre la table film et la table acteur).
Il faut donc passer par une étape préalable de
conception. Ce processus se décompose ainsi :
· Définir les objectifs de la base de
données : cette étape aide à préparer les
étapes suivantes.
· Recherche et organisation des informations
nécessaires : on réunit tous les types de données que l'on
souhaite stocker.
· Répartition des informations dans les tables :
on répartit les informations en entités ou sujets. Les sujets
seront des tables
· Conversion des éléments en colonnes :
choix des informations à stocker dans la table.
· Définition des clés primaires : afin
d'identifier de manière unique chaque enregistrement de la table.
· Définition des relations entre les tables :
permet de montrer de quelle manière les données d'une table sont
reliées à celles d'une autre.
· Affinassions de la structure : pour analyser la
conception et faire de la recherche d'erreur
· Application des règles de normalisation : pour
vérifier si les tables sont bien structurées, et
éventuellement apporter des modifications.
L'étape de conception est donc importante et n'est pas
à la portée de tout le monde, cela nécessite donc un
apprentissage. Sans connaissance on ne peut pas passer par cette étape
qui est vraiment très importante.
B. La
sécurité
Après avoir créé sa base de
données, on oublie souvent une partie fondamentale qui est la
sécurité. Les bases de données sont situées sur des
serveurs ce qui implique de faire un requêtage en passant par un
réseau. Qui dit réseau dit forcément risque.
"Le risque majeur pour les entreprises en termes d'attaque
est l'injection de code SQL", rappelle ainsi Jean-Paul Ballerini, expert
technique pour IBM ISS.
"Ce peut aussi être un moyen, en maitrisant le SGBD,
de prendre la main sur le système d'exploitation et de créer des
comptes avec des droits administrateur afin de se connecter ensuite
directement. Les vulnérabilités ne sont pas seulement au niveau
de l'applicatif, mais aussi de l'OS", poursuit-il. Il faut donc qu'une
base de données soit sécurisée, et pour cela il faut :
A. Connaitre son besoin
La sécurité d'une BDD passe par une
réflexion sur comment et qui va l'utiliser et par quel moyen de
connexion (directement ou pas un applicatif). Il est très important de
faire un état des lieux afin de mettre en place la politique de
sécurité la plus adaptée.
"La connexion d'un SGBD avec un progiciel, qui
nécessite une méthode d'interconnexion spécifique, peut
avoir pour effet d'abaisser le niveau de sécurité. Les
équipes sécurité et intégration, dont les missions
ne sont pas forcément en accord, doivent souvent trouver un
accord", Alexis Caurette, consultant pour Devoteam.
La sécurité ce n'est pas simplement de se
prémunir contre d'éventuelles attaques, c'est aussi pouvoir
préserver la confidentialité, la sauvegarde,
l'auditabilité, la traçabilité et
l'intégrité des données. Une politique dépend de ce
que l'on veut garantir et dépend de ce que l'on a identifié.
|