2010-12-27 2 views
0

J'espère que vous avez tous eu un bon Noël :-)Comment gérer les données pour remplir une base de données de base de données avec un grand nombre de données (Edit: titre modifié)

Dans mon application j'ai une base de données, en utilisant des données de base, qui nécessite beaucoup de données, au moins 1.500 enregistrements constitués de 6 champs. Cela signifie au moins 9.000 lignes de données. Toutes les données sont du texte pur.

Pendant la phase de développement, j'ai 250 enregistrements à tester. La façon dont je remplis la base de données à ce stade est que j'ai un fichier texte (.txt), que je modifie dans Word, puis lit dans ma base de données. Ceci est très gênant pour de nombreuses raisons, par exemple si je le sauvegarde, par erreur, dans le mauvais format, il se bloque (j'ai des caractères suédois qui changent).

Compte tenu de la quantité de disques que j'aurai besoin je voudrais demander conseil comment les gens font ces choses et quoi employer? Y at-il une sorte de (gratuit) base de données disponibles que je pourrais utiliser, etc.

Vive

Répondre

1

Pour l'édition, utilisez le bloc-notes, le bloc-notes ++ ou gedit. Vous n'aurez pas de problème avec les caractères spécifiques à MS Word.

Je ne connais pas trop les données de base, mais je crois qu'il utilise SQlite sur le backend.

J'ai implémenté SQLite directement dans quelques développements sur lesquels j'ai travaillé. Il pourrait être utile de jeter un coup d'oeil.

Pouvez-vous donner plus de détails sur votre application? Plate-forme, la fréquence des données est accessible, à quelle fréquence il est modifié, etc.

+0

Ceci est une application de quiz (iPhone) et je "seulement" besoin de modifier la base de données rarement. Le principal défi est de gérer le côté texte des données, pas vraiment pour remplir la DB (mauvais titre je suppose). Je trouve cela très gênant avec un éditeur de texte. – PeterK

+0

Lequel des trois recommandez-vous à cet effet? – PeterK

+0

Aucun de ceux-là. Utilisez TextWrangler, meilleur éditeur de texte libre pour OS X. Je ne pense pas que Notepad ++ soit encore disponible sur OS X. – kubi

1

Hmm, une façon de commencer ce pourrait être pour remplir stocker une seule fois la base de données, puis, chaque fois vous devez exécuter vos tests, il suffit de copier ce fichier de magasin hors de votre groupe d'applications dans votre répertoire de documents. Je maintiens une fonction "Réinitialiser tout" dans un jeu sur lequel j'ai travaillé en utilisant cette méthode, et cela fonctionne très bien pour le remplissage rapide des données de base.

1

Hej,

actuellement je développe une application avec des exigences très similaires - une base de données de base de données prérempli 1200+ entrées avec plus ou moins le même nombre de champs.

Les données que je reçois sont au format xml. J'ai écrit une petite application mac qui présente le même modèle de données de base que l'application iphone - elle va lire le xml et créer des entrées de données de base en conséquence. Je prends ensuite le fichier de base de données que mon application mac a créé et l'ajoute à mon ensemble d'applications iPhone, d'où il sera copié dans le dossier de documents lors du premier lancement (ou chaque fois qu'une réinitialisation aux données d'usine est requise).

Cela fonctionne parfaitement, je pense que vous pourriez faire quelque chose de très similaire. La seule différence serait que, au lieu d'analyser XML, vous auriez besoin d'écrire quelque chose qui lit votre fichier texte. Ne crains pas, c'est facile à faire!

0

J'ai pris l'approche pour ajouter un test unitaire qui détermine si la base de données existe. Si la base de données n'existe pas, le test la crée à partir d'un fichier texte (généralement un plist ou un csv).

Cette approche me permet de: modifier les données sous-jacentes par un texte, de "nettoyer" la base de données en la supprimant simplement, et d'exécuter des tests sur les données. Puisque vous utilisez CoreData, il pourrait y avoir des avantages supplémentaires en s'assurant que votre schéma correspond à l'ensemble de données; Une fois, j'ai trouvé que j'avais accidentellement mis un attribut pour ne pas autoriser le néant.

Questions connexes