Stockage de données avec PHP - fichier ou base de données à plat?

De nombreuses applications nécessitent le stockage à long terme de l'information. Dans scripts PHP, vous pouvez rendre l'information disponible au sein de sessions - périodes de temps que les utilisateurs passent sur votre site Web - en utilisant des méthodes telles que les fonctions de session PHP et par des formes soumettez. Cependant, par la suite vous avez besoin pour stocker des informations pour une utilisation demain ou la semaine prochaine. Vous pouvez stocker dans un cookie que vous définissez pour durer après la session est terminée, mais l'information est vulnérable. Il est pas sous votre contrôle. L'utilisateur peut supprimer ou modifier les informations à tout moment ou peut refuser d'accepter le cookie. Pour être disponible et stable, l'information doit être stockée en lieu sûr, où personne ne peut accéder ou y toucher. Les informations doivent être stockées sur le serveur.

Les informations peuvent être stockées sur le serveur de fichiers plats ou dans des bases de données. Fichiers plats sont des fichiers textes stockés dans le système de fichiers de l'ordinateur. Les humains peuvent lire des fichiers plats en utilisant le système d'exploitation des commandes que des fichiers d'affichage, tels que chat sous Linux et Unix. Vous pouvez accéder et modifier ces fichiers en utilisant un éditeur de fichier texte, tel que Notepad ou vi. Les informations contenues dans le fichier plat est stocké sous forme de chaînes, et le script PHP qui récupère les données a besoin de savoir comment les données sont stockées. Par exemple, pour récupérer un nom de client à partir d'un fichier, le script PHP a besoin de savoir que le nom du client est stocké dans les 20 premiers caractères de chaque ligne.

En utilisant une base de données pour le stockage des données vous oblige à installer et à apprendre à utiliser un logiciel de base de données, tels que MySQL ou Oracle. Les données sont stockées dans des fichiers créés par le logiciel de base de données et ne sont accessibles que par le logiciel de base de données. Bases de données peuvent stocker des informations très complexe que vous pouvez récupérer facilement. Vous ne devez pas savoir comment les données sont stockées, juste la façon d'interagir avec le logiciel de base de données. Par exemple, pour récupérer un nom de client, le script PHP a besoin de savoir que la façon de dire le logiciel de base de données qu'il veut que le nom du client, en utilisant un langage standard de communication appelé SQL. Le logiciel de base de données gère le stockage et fournit les données, sans le script besoin de savoir exactement où et comment le nom du client est stocké.

Fichiers plats ont certains avantages sur les bases de données:

  • Disponible et polyvalent: Vous pouvez créer et enregistrer des données dans le système de fichiers de n'importe quel système d'exploitation. Vous ne devez pas installer de logiciel supplémentaire. En outre, les données de texte stockées dans des fichiers plats peuvent être lues par une variété de programmes de logiciels, tels que les traitements de texte ou des tableurs.
  • Facile à utiliser: Vous ne devez faire aucune préparation supplémentaire, comme installer le logiciel de base de données, concevoir une base de données, créer une base de données, et ainsi de suite. Il suffit de créer le fichier et stocker les données des déclarations dans votre script PHP.
  • Smaller: Fichiers plats stockent les données en utilisant moins d'espace disque que les bases de données.

Un fichier plat est rapide et facile et prend moins de place qu'une base de données. Il est idéal pour le stockage de petites quantités d'informations rapidement, comme une liste simple ou un petit morceau de l'information. Fichiers plats sont particulièrement utiles pour rendre l'information accessible à d'autres logiciels, comme un programme d'édition ou un tableur. Fichiers plats peuvent être examinés par toute personne ayant accès à l'annuaire de l'ordinateur où ils sont stockés, de sorte qu'ils sont utiles lorsque l'information a besoin d'être mis à la disposition d'autres personnes.


Les bases de données ont certains avantages ainsi:

  • Sécurité: Une base de données fournit une couche qui lui est propre de sécurité, en plus de la sécurité fournie par le système d'exploitation. Une base de données protège les données contre toute intrusion extérieure mieux qu'un fichier plat.
  • Accessibilité des données: On peut stocker des données dans une base de données en utilisant une structure de données très complexe, en spécifiant les types de données et les relations entre les données. L'organisation des données permet de rechercher facilement les données et de récupérer ce que vous avez besoin.
  • Capacité à gérer plusieurs utilisateurs: Lorsque les données de nombreux utilisateurs magasin ou accès à un fichier unique, comme un fichier contenant les noms et adresses, une base de données garantit que les utilisateurs prennent leur tour avec le fichier pour éviter d'écraser les données de chaque autres.

Bases de données nécessitent plus de start-up effort et utilisent plus d'espace que d'un fichier plat, mais sont beaucoup plus adapté à la manipulation de l'information complexe. La base de données gère l'organisation interne des données, ce qui rend la récupération de données beaucoup plus simple. Une base de données fournit plus de sécurité, le rendant plus adapté pour les peaux sensibles, des informations privées. Bases de données peuvent plus facilement et de gérer efficacement le trafic élevé lorsque de nombreux utilisateurs peuvent essayer d'accéder aux données presque simultanément.

En PHP 5, SQLite, une extension pour le stockage de données qui combine les avantages principaux de fichiers plats et des bases de données, est inclus par défaut. Magasins SQLite les données dans un fichier à plat, de sorte que vous ne devez installer le logiciel de base de données, mais vous stockez des données en utilisant SQL, la langue de communication de base de données standard. SQLite est une option rapide pour stocker et récupérer de petites quantités de données dans un fichier plat en utilisant SQL. SQLite est pas une bonne option pour vraiment énormes, des bases de données complexes.


» » » Stockage de données avec PHP - fichier ou base de données à plat?