Où puis-je trouver des exemples de bases de données pour MySQL, SQL Server et Oracle?


10

Je veux expérimenter avec les 3 grands systèmes de gestion de bases de données. À cette fin, il serait intéressant d'avoir la même base de données (les mêmes tables, etc.) pour chacun d'entre eux.

Où puis-je trouver des scripts SQL qui créent des bases de données de test identiques pour MySQL, MSSQL et Oracle?


Pouvez-vous créer un nouveau compte sur dba.se en utilisant l'OpenID que vous utilisez sur SO, alors nous pourrons fusionner les deux comptes d'ici si vous me
cinglez

1
En marge de l'excellente réponse de Justin, Microsoft propose ici un ensemble d' exemples de bases de données SQL Server .
Nick Chammas

Réponses:


12

Oracle fournit plusieurs exemples de schéma , mais comme pour la réponse de Rolando, vous devrez les convertir pour les autres bases de données.

Ma réponse en un mot est de ne pas utiliser de scripts identiques .

Le problème avec l'utilisation de scripts aussi similaires que possible pour chaque base de données est que vous utiliserez la fonctionnalité de dénominateur le moins courant. L'utilisation d'une base de données nécessite un investissement dans l'infrastructure, l'installation, le support et le développement qui n'atteindra pas son plein potentiel si les avantages de chaque plate-forme ne sont pas utilisés.

Pour vraiment faire une comparaison de ces plateformes, je vous suggère de déterminer quelles sont vos exigences, puis de les implémenter de la meilleure façon possible pour chaque base de données. Cela nécessitera bien sûr beaucoup plus de connaissances sur les plateformes, mais toute autre comparaison ne serait que théorique.

Voici deux exemples.

Condition: afficher tous les jours dans une plage de dates donnée avec les données de vente pour la journée, que des ventes aient été effectuées ce jour-là ou non.
Solutions: dans Oracle, vous pouvez effectuer une jointure croisée avec une requête hiérarchique sur le double retour tous les jours de la plage. Dans SQL-Server, vous pouvez utiliser un CTE pour générer les jours. Dans MySQL, vous pouvez utiliser entièrement autre chose. 1

Condition: être en mesure d'exécuter une requête à tout moment pour récupérer les données de n'importe quelle table telles qu'elles existaient à tout moment au cours des quatre dernières heures.
Solution: dans Oracle, il vous suffit de vous assurer que la conservation de l'annulation est garantie et définie sur au moins quatre heures. Dans d'autres bases de données, la mise en œuvre serait radicalement différente. 2


Mettre celui-ci en signet. +1 !!!
RolandoMySQLDBA

Oui, oui un million de fois oui!
HLGEM


1

Vous pouvez essayer de résoudre les mêmes exercices sur les mêmes bases de données en utilisant MSSQL, MySQL, PostgreSQL sur le site des exercices SQL .

Oracle est dans les plans futurs.

PS Oracle est maintenant disponible.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.