C'est ma première fois d'essayer de travailler avec une base de données, alors portez-moi avec moi. P>
Je dois écrire un programme qui utilisera une base de données que je n'ai pas encore accès à. Je sais qu'il y a MySQL, SQLite et un groupe d'autres choses SQL, mais je ne suis pas sûr de la différence entre eux. Dois-je savoir quel type de base de données il est avant que je puisse l'utiliser (c'est-à-dire un fichier mysql .db différent d'un fichier SQLITE .DB?), Ou est le fichier lui-même allant être identique et la différence Il est accessible? p>
Edit: Je suis programmée pour une tablette Android, qui compte probablement. Mais je ne créerai pas la base de données, cela me sera donné et je dois travailler avec elle. P>
4 Réponses :
Vous voudrez peut-être utiliser des tutoriels d'affichage Créer une base de données MySQL et une instance SQLITE pour voir comment elles fonctionnent et comment vous pouvez facilement interagir avec eux. p>
L'accès à chacun implique des adaptateurs, nonobstant la création des tables dont vous aurez besoin, l'accès utilisateur (nom d'utilisateur / mot de passe / rôle pour accéder à la table). P>
Voici un tutoriel SQLite simple droit: http://zetcode.com/db/sqlite/ p>
Voici un tutoriel SQL SQLA-Avertir: http://zetcode.com/databases/mysqlphpttudial/ p>
Je me souviens d'être submergé par des bases de données ma première fois. Mon conseil est de commencer avec quelque chose de bien soutenu, avec une belle communauté et des résultats de recherche A-beaucoup de tutoriels, Ensuite, en fonction de vos exigences de l'application et des contraintes de plate-forme, vous pouvez déterminer où pivoter. Mais en examinant les différences entre les bases de données sans avoir travaillé avec eux, c'est comme essayer des morceaux de sushis sans jamais manger du poisson. p>
Si vous construisez à Android, Yep, apprenez SQLite. P>
Je recommande vivement ce tutoriel pour vous aider à voir SQLite utilisée dans un projet Android:
http://developer.android.com/resources/tatudials/notepad/index.html p>
Pour l'abstraction / orm de données, vous devez vous familiariser avec des fournisseurs de contenu et des curseurs ( http://developer.android.com/guide/topics/providers/content-providers.html ) p>
Bon interrogation! P>
Tout d'abord, vous devez savoir quel type de base de données il est avant de pouvoir vous connecter car vous aurez besoin d'utiliser le pilote de base de données approprié pour votre plate-forme. MySQL, Oracle, Postgres, SQL Server, etc. utilisera tous des pilotes différents en tant que protocole binaire utilisé pour leur parler (authentifier et transférer des informations d'avant en avant) est différent. P>
En ce qui concerne votre code SQL réel, cela dépend. Pour la plupart, vous pouvez compter sur Une chose que vous pourriez regarder est un orm . Cela vous permettra de résumer la dialecte SQL réelle de votre programme, puis (pour la plupart) à ne pas avoir à vous soucier de la SQL réelle. Certains ormes populaires sont Activerecord (pour Ruby on Rails) et Cadre d'entité pour .NET. J'espère que cela vous aidera! P>
Étant donné que la balise code> android code> vient d'être ajoutée à la poste, j'ai fait une recherche rapide pour SQLLITE Orms qui prennent en charge Android et proposé avec Ceci . Peut-être la peine d'être vérifié dans ou peut-être que quelqu'un peut commenter s'il est bon :) p> Sélectionner * à partir de FOO CODE> Utilisation de n'importe quelle base de données conforme SQL sur la planète. Cependant, une fois que vous commencez à faire quelque chose de plus compliqué ou à utiliser des mots-clés non standard, vous risquez de rencontrer des ennuis. Par exemple, certaines bases de données prennent en charge le mot clé code> pour rejoindre code> s et certains ne le font pas. P>
La couche d'abstraction de la base de données est la stratégie d'avoir un Middleman intelligent afin que vous puissiez programmer sans savoir exactement quel système de base de données vous avez en dessous. L'abstraction de la base de données n'est pas aussi utopienne dans la pratique qu'elle sonne, et la plupart des gens finissent par programmer directement pour une base de données particulière. Vous constaterez probablement que plus vous obtenez de l'expérience avec votre base de données de votre choix, plus vous le souhaitez, vous saviez mieux ses nuances particulières. Donc, la réponse courte est qu'il y a suffisamment de différence pour la matière! p>
Si vous utilisez un motif architectural logiciel tel que le contrôleur de mode modèle, vous pouvez vous permettre de faire beaucoup de votre programmation indépendamment de la base de données que vous utilisez. Prendre le modèle-View-contrôleur à titre d'exemple, vous pouvez programmer vos contrôleurs et vos vues sans savoir quelle base de données vous utilisez. P>
La limitation de ce que vous pouvez faire avant de décider d'un système de base de données est le fait gênant que la bonne pratique de programmation appelle aux modèles de graisse et aux contrôleurs maigres. Donc, une grande partie de vos efforts de programmation réels est détenue en otage par votre choix d'une solution de base de données. P>
Si je ne savais pas quelle base de données serait utilisée, je commencerais à programmer mon point de vue, puis mon contrôleur. Si PHP est votre langue, vous trouverez peut-être un didacticiel de codeigniter éclairant. P>
Un article sur "Utilisations appropriées pour SQLite" P>
http://www.sqlite.org/whentie.html p>
Résumé: liste de contrôle pour choisir le bon moteur de base de données p>
- est les données séparées de l'application par un réseau? → Choisissez Client / Serveur Li>
- De nombreux écrivains concurrents? → Choisissez Client / Serveur Li>
- Big Data? → Choisissez Client / Serveur LI>
- Sinon → Choisissez SQLite! LI> ol> blockQuote>
Toutes les réponses jusqu'à présent sont vraiment bonnes. Vérifiez-les tous.