Fichier Plat De La Base De Données Exemple
Je voudrais voir quelques exemples de plat simple fichier de bases de données et comment elles sont accessibles par une couche de données. J'ai écrites et lues à partir d'un fichier plat avant, mais je n'ai jamais créé d'une couche de données qui ont eu accès à des données d'une application à l'aide de fichiers texte.
Si possible, il serait agréable de voir un tutoriel qui avait une couche de données qui a utilisé un simple, personnalisé, plat de base de données de fichier. Un exemple qui économise de l'entreprise personnalisés objets en XML, puis les télécharge serait bien parce que le XML est si populaire et facile à travailler avec.
Je serais également reconnaissant pour tous les liens vers des sites web de discuter des meilleures pratiques en matière de conception de bases de données de fichier plat, etc.
Mon but est d'avoir une solution pour le stockage de données simple sur l'ordinateur de l'utilisateur et les ont pas besoin d'un logiciel spécial installé (comme SQL Server, etc.) afin de récupérer les données à partir d'où il est stocké.
Je sais que c'est une question très générale, mais tout conseil qui peut me pointer dans la bonne direction est la bienvenue.
- quelle plate-forme/langage de programmation que vous utilisez?
- Je suis à l'aide de c# .net
- En PHP, j'ai construit un pour un Base de données de Fichier Plat github.com/tmarois/Filebase Possède de nombreuses fonctionnalités, la plupart des forfaits de ne pas. Je suis actuellement en train de l'entretenir et de la possibilité de modifier votre mise en forme, afin JSON/XML/YAML etc. (viens de réaliser vieille question, mais je vais vous le fournir si son utilisation à d'autres personnes qui cherchent la même chose. Je ne plan à venir avec quelques exemples concrets de la façon dont j'utilise un Fichier Plat de Base de données)
Vous devez vous connecter pour publier un commentaire.
Vous avez peut être eu vos définitions de mélanger un peu, compréhensible en raison du grand nombre de technologies similaires autour d'aujourd'hui.
XML n'est pas un format de fichier plat (ou plat de fichier de base de données), mais à partir de la lecture de votre objectif, il semble que vous voulez vraiment est une base de données relationnelle plutôt qu'un fichier plat.
Comme d'autres, je peux vous recommandons fortement de SQLite à cette fin. Il y a des bindings pour différentes plateformes .NET a Système.Les données.SQLite qui, dans un dossier, est à la fois le fournisseur de base de données et le moteur.
Les 2 gros avantages de l'utilisation de SQLite sont que la base de données est entièrement contenue dans un seul fichier contrôlé par votre application, et qu'elle prend en charge la norme SQL DDL et DML commandes (c'est à dire SELECT, INSERT, UPDATE, DELETE, CREATE DATABASE/TABLE etc).
Pour un seul utilisateur de l'application SQLite est un excellent (un des meilleurs) les moyens de stocker à la fois les données d'application et les paramètres. Dernièrement, il y a été discsussion qu'il peut même prendre en charge plus petite échelle multi-applications de l'utilisateur.
Cependant Oracle, MySQL, SQL Server, etc sont encore nettement préféré pour les applications multi-utilisateur (même à petite échelle, applications) si vous avez la possibilité d'accéder à/utiliser un serveur de base de données.
Aussi, n'oubliez pas que le choix de la base de données n'est pas mutuellement exclusif.
Vous pouvez avoir une application multi-utilisateur avec une riche INTERFACE utilisateur du client installé sur de nombreux ordinateurs des utilisateurs. La base de données centrale ici, faut vraiment être un multi-utilisateur db comme MySQL. Mais à l'intérieur de la riche INTERFACE utilisateur du client, SQLIte est idéal pour stocker chaque paramètres utilisateurs, ou peut-être de fournir un soutien lorsque la base de données ne peut pas être atteint.
biggy est celui que j'ai utilisé dans le passé. Elle permet d'économiser de JSON dans flatfiles et vous pouvez le trouver sur Github
Formats de texte comme CSV, INI, XML peut être utilisé pour stocker des données structurées, mais l'OMI ne sont pas flexible et efficace pour être utilisé comme des bases de données.
Je recommande SQLite comme une excellente alternative. C'est un très puissant, léger et autonome moteur de base de données.
Vous pouvez avoir votre gâteau et le manger trop:
SQLite est une base de données SQL qui se compose d'un seul fichier et ne nécessite aucune installation, il a des liaisons depuis de nombreuses langues et fonctionne sur différentes plates-formes.
Il n'est pas nécessaire dans le cas que vous mentionnez, pour écrire votre propre couche de données sur le haut de fichiers plats. En fait, sauf si vous voulez l'apprentissage d'un exercice, je vous le déconseille de le faire.
Il ya plusieurs à des bases de données disponibles que votre utilisateur n'aurez pas à vous inquiéter.
SQLLite est commune, populaire, de la croix-plate-forme, etc. Dépend de votre langage de mise en œuvre. Si vous utilisez Java, il en existe plusieurs, Derby par exemple. .NET n'est pas mon ballywick, mais j'imagine qu'il y a quelque chose là-bas. Au minimum, MS s'est librement utilisable bureau, intégrable moteur SQL, vous pouvez utiliser.
De la rédaction de votre propre peut être un exercice intéressant, mais que la roue a été fait, et il est tout simplement plus facile et plus efficace d'utiliser une base de données existante que de commencer à partir de zéro. Vos utilisateurs ne seront pas touchées par la présente, donc si c'est un conducteur principal, aucune raison de ne pas utiliser de produits disponibles/projet.
Il est le DBD::CSV module Perl qui peut charger des fichiers csv et de les interroger avec les instructions SQL. Mais pour ton objectif, je pense que tu ferais mieux d'enquêter sur les SQLite qui est une bonne base de données relationnelle qui fonctionne sans serveur.
Plutôt que de réinventer les bases de données, pourquoi ne pas combiner votre application avec un simple moteur de base de données? Les bases de données vient en plusieurs tailles, tous ne sont pas énormes 🙂
Si vous ne voulez pas de réinventer la roue, en regardant le code source d'une simple base de données open source de moteurs à vous diriger dans la bonne direction.
Je suis d'accord avec les nombreux commentaires ce qui suggère qu'il est préférable d'utiliser un moteur de base de données. Cependant, comme une tentative de réellement répondre à la question: