[Tuto] Les fichiers comme DB
#1
Très souvent, voire trop souvent, on demande comment utiliser un fichier comme base de données. Et trop souvent, la personne qui demande n'a pas la moindre idée de l'utilisation d'une base de données, quel que soit son format.

Donc, que l'on utilise une base de données "normale" ou des fichiers (notez le pluriel), il faut garder à l'esprit la structure des données. Autant parfois utiliser une seule table, ou un fichier "plat", s'avère logique, autant il faut parfois penser à des choses plus complexes.

Et il y a aussi la question des requêtes, de ce qui doit être chargé à l'avance ou pas. Avec des fichiers, on ne peut pas faire de jointures, donc il faut bien réfléchir à tout ça.

Le dernier cas, c'est alias_angelius qui veut faire un système de gestion de droits par utilisateur et par canal, et qui pense faire un fichier plat. Pour ma part, et parce que je travaille très souvent avec des bases de données, j'envisage tout de suite 3 sources:
- utilisateur: nick, password
- canal: canal, description, n'importe quoi...
- level: nick, canal, level

Toutes les requêtes se feront donc au moins en 2 temps:
- vérification de l'utilisateur (utilisateur existe dans le fichier, password concorde), on peut utiliser un flag user temporaire pour vérifier si l'utilisateur est authentifié. (pour ma part, je ferais ça en utilisant la userlist)
- récupération de la ligne de "level" qui contient ET nick ET canal (une bonne regexp, c'est plus rapide)
Derrière ça, on analyse le level, ou son absence, et hop.

Ce système a l'avantage de ne pas brider les bases à une et une seule utilisation, elles peuvent être étendues. Et surtout, ça permet de gérer le fait qu'un utilisateur ait des accès sur plusieurs canaux tout en gardant les contraintes d'unicité.

Très vite, un code dans le wiki pour expliquer tout ça en pratique.
Répondre


Messages dans ce sujet
[Tuto] Les fichiers comme DB - par CrazyCat - 21/06/2011, 21:42
RE: [Tuto] Les fichiers comme DB - par fedora - 21/06/2011, 22:34
RE: [Tuto] Les fichiers comme DB - par CrazyCat - 24/06/2011, 23:12
RE: [Tuto] Les fichiers comme DB - par djkenny - 24/06/2011, 23:32
RE: [Tuto] Les fichiers comme DB - par CrazyCat - 25/06/2011, 11:02
RE: [Tuto] Les fichiers comme DB - par CrazyCat - 27/06/2011, 21:02
RE: [Tuto] Les fichiers comme DB - par djkenny - 27/06/2011, 22:07
RE: [Tuto] Les fichiers comme DB - par CrazyCat - 27/06/2011, 22:28
RE: [Tuto] Les fichiers comme DB - par djkenny - 27/06/2011, 22:33
RE: [Tuto] Les fichiers comme DB - par djkenny - 28/06/2011, 20:07
RE: [Tuto] Les fichiers comme DB - par fedora - 28/06/2011, 19:47
RE: [Tuto] Les fichiers comme DB - par djkenny - 28/06/2011, 20:19
RE: [Tuto] Les fichiers comme DB - par djkenny - 28/06/2011, 20:23
RE: [Tuto] Les fichiers comme DB - par djkenny - 28/06/2011, 20:27
RE: [Tuto] Les fichiers comme DB - par djkenny - 28/06/2011, 20:58
RE: [Tuto] Les fichiers comme DB - par CrazyCat - 01/07/2011, 16:06
RE: [Tuto] Les fichiers comme DB - par djkenny - 02/07/2011, 00:08
RE: [Tuto] Les fichiers comme DB - par djkenny - 02/07/2011, 10:46
RE: [Tuto] Les fichiers comme DB - par djkenny - 02/07/2011, 11:16
RE: [Tuto] Les fichiers comme DB - par djkenny - 02/07/2011, 11:31
RE: [Tuto] Les fichiers comme DB - par djkenny - 02/07/2011, 11:35
RE: [Tuto] Les fichiers comme DB - par djkenny - 02/07/2011, 12:10
RE: [Tuto] Les fichiers comme DB - par djkenny - 02/07/2011, 12:41
RE: [Tuto] Les fichiers comme DB - par djkenny - 04/07/2011, 20:14
RE: [Tuto] Les fichiers comme DB - par djkenny - 04/07/2011, 20:35
RE: [Tuto] Les fichiers comme DB - par djkenny - 04/07/2011, 20:43
RE: [Tuto] Les fichiers comme DB - par djkenny - 04/07/2011, 21:15

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
Tchat 100% gratuit -Discutez en toute liberté