Exemple de firebase database pour l’exercice

Je voudrais jouer avec une plus grande firebase database pour tester mes connaissances sur SQL.

Existe-t-il un énorme fichier .sql que je peux utiliser pour jouer avec des requêtes SQL?

Vous pouvez essayer la firebase database classique de MySQL .

Le fichier world.sql est disponible pour téléchargement ici:

http://dev.mysql.com/doc/index-other.html

Il suffit de faire défiler vers le bas pour exemples de bases de données et vous le trouverez.

Ceci est une firebase database en ligne mais vous pouvez essayer avec la firebase database stackoverflow: http://data.stackexchange.com/stackoverflow/query/new

Vous pouvez également télécharger ses dumps ici:

https://archive.org/download/stackexchange

Découvrez CodePlex pour les projets et exemples de communauté Microsoft SQL Server

Tiers modifier

En plus du lien ci-dessus, vous pourriez regarder

  • des exemples de serveur Microsoft SQL sur github
  • les échantillons de produits msft db sur codeplex
  • la nouvelle firebase database Wide World Importers inclut OLTP et un serveur OLAP pour SQL Server 2016 et ultérieur

Pourquoi ne pas télécharger le Wikipedia anglais? Il existe des fichiers SQL compressés de différentes tailles, et ils devraient certainement être assez gros pour vous

Les principaux articles sont XML, leur insertion dans la firebase database pose donc plus de problèmes, mais vous pouvez trouver d’autres fichiers qui vous conviennent. Par exemple, le fichier SQL de liens inter-pages est compressé à 2,3 Go. Jetez un coup d’oeil à https://en.wikipedia.org/wiki/Wikipedia:Database_download pour plus d’informations.

Oskar

C’est ce que j’utilise pour apprendre sql: employees-db

il s’agit d’une firebase database exemple avec une suite de tests intégrée, utilisée pour tester vos applications et serveurs de bases de données

Tiers modifier

Selon launchpad.net, la firebase database a été transférée à github .

La firebase database contient environ 300 000 enregistrements d’employés avec 2,8 millions d’entrées de salaire. Les données d’exportation sont de 167 Mo, ce qui n’est pas énorme, mais assez lourd pour être non sortingvial pour les tests.

Les données ont été générées et, par conséquent, il existe des incohérences et des problèmes subtils. Plutôt que de les supprimer, nous avons décidé de ne pas modifier le contenu et d’utiliser ces problèmes comme des exercices de nettoyage des données.

Si vous souhaitez utiliser une grande firebase database contenant de vraies données, vous pouvez vous inscrire au concours du prix Netflix et accéder à leurs données, ce qui est assez important (quelques entrées d’entrées).

Tiers modifier

L’URL ci-dessus ne contient pas le jeu de données anylonger (octobre 2016). La page wikipédia sur le prix Netflix indique qu’une action en justice a été engagée concernant des problèmes de confidentialité.

Vous voulez énorme?

Voici un petit tableau: create table foo (id int non null clé primaire auto_increment, crap char (2000));

insérer dans les valeurs foo (crap) (”);

– chaque fois que vous exécutez la ligne suivante, le nombre de lignes dans foo double. insérer dans foo (crap) select * from foo;

lancez-le vingt fois plus, vous avez plus d’un million de lignes à jouer.

Oui, s’il cherche des relations de navigation, ce n’est pas la solution. Mais si par gros il veut tester ses performances et sa capacité à optimiser , cela le fera. Je l’ai fait exactement (puis mis à jour avec des valeurs aléatoires) pour tester une réponse potentielle à une autre question. (Et n’a pas répondu, parce que je ne pouvais pas obtenir de meilleures performances que ce que ce demandeur avait.)

S’il avait demandé “complexe”, j’aurais une réponse différente. Pour moi, “énorme” implique “beaucoup de lignes”.

Parce que vous n’avez pas besoin d’énormes pour jouer avec les tables et les relations. Considérons une table, à elle seule, sans colonnes nullables. Combien de types de lignes différents peut-il y avoir? Un seul, toutes les colonnes doivent avoir une valeur car aucune ne peut être nulle.

Chaque colonne nullable multiplie par deux le nombre de différents types de lignes possibles: une ligne où cette colonne est null, une ligne où elle n’est pas nulle.

Considérons maintenant la table, pas isolément. Considérons une table qui est une table enfant: pour chaque enfant qui a un FK pour le parent, cela peut être un pour plusieurs, il peut y avoir 0, 1 ou plusieurs enfants. Nous multiplions donc par trois le nombre obtenu à l’étape précédente (pas de lignes pour zéro, une pour exactement une, deux lignes pour plusieurs). Pour tous les grands-parents auxquels le parent est nombreux, trois autres.

Pour les relations plusieurs-à-plusieurs, nous ne pouvons avoir aucune relation, un à un, un à plusieurs, plusieurs à plusieurs ou plusieurs à plusieurs. Donc, pour chaque nombre de personnes que nous pouvons atteindre dans un graphique à partir du tableau, nous multiplions les lignes par neuf, ou tout simplement par deux. Si plusieurs-à-plusieurs ont également des données, nous multiplions par le nombre de nullité.

Les tableaux que nous ne pouvons pas atteindre dans notre graphique – ceux auxquels nous n’avons pas de FK direct ou indirect, ne multiplient pas les lignes de notre tableau.

En multipliant récursivement chaque table que nous pouvons atteindre, nous pouvons trouver le nombre de lignes nécessaires pour fournir un de chaque type, et nous n’avons besoin que de celles-ci pour tester toutes les relations possibles dans notre schéma. Et nous sums loin d’être énormes.