Onde posso encontrar bancos de dados de exemplo para MySQL, SQL Server e Oracle?

10

Quero experimentar os 3 grandes sistemas de gerenciamento de banco de dados. Para esse propósito, seria legal ter o mesmo banco de dados (as mesmas tabelas etc.) para cada um deles.

Onde posso encontrar scripts sql que criam bancos de dados de teste idênticos para MySQL, MSSQL e Oracle?

Michael
fonte
Você pode criar uma nova conta no dba.se usando o OpenID usado no SO; então, poderemos mesclar as duas contas a partir daqui, se você me
enviar
11
Além da excelente resposta de Justin, a Microsoft possui aqui um conjunto de bancos de dados de exemplo do SQL Server .
9114 Nick Chammas #

Respostas:

12

O Oracle fornece vários esquemas de amostra , mas, como na resposta de Rolando, você precisaria convertê-los para os outros bancos de dados.

Minha resposta em poucas palavras é Não use scripts idênticos .

O problema com o uso de scripts o mais semelhante possível para cada banco de dados é que você estará usando a menor funcionalidade de denominador comum. O uso de um banco de dados requer um investimento em infraestrutura, instalação, suporte e desenvolvimento que não atinja seu potencial máximo se as vantagens de cada plataforma não forem utilizadas.

Para realmente fazer uma comparação dessas plataformas, sugiro que você determine quais são seus requisitos e implemente esses requisitos da melhor maneira possível para cada banco de dados. Obviamente, isso exigirá um conhecimento significativamente maior das plataformas, mas qualquer outra comparação seria apenas acadêmica.

Aqui estão dois exemplos.

Requisito: mostre todos os dias em um determinado período com dados de vendas para o dia, independentemente de terem sido feitas vendas naquele dia ou não.
Soluções: No Oracle, você pode fazer uma junção cruzada com uma consulta hierárquica no retorno duplo todos os dias no intervalo. No SQL-Server, você pode usar um CTE para gerar os dias. No MySQL você pode usar algo completamente diferente. 1

Requisito: seja capaz de executar uma consulta a qualquer momento para recuperar os dados de qualquer tabela que existia em qualquer ponto do tempo nas últimas quatro horas.
Solução: No Oracle, você só precisa garantir que a retenção de desfazer seja garantida e definida para pelo menos quatro horas. Em outros bancos de dados, a implementação seria dramaticamente diferente. 2

Leigh Riffel
fonte
Marcando este. +1 !!!
RolandoMySQLDBA
Sim, sim, um milhão de vezes sim!
HLGEM
1

Você pode tentar resolver os mesmos exercícios nos mesmos bancos de dados usando o MSSQL, MySQL, PostgreSQL no site SQL Exercises .

A Oracle está em planos futuros.

PS Oracle já está disponível.

msi77
fonte