Подтвердить что ты не робот

Пример базы данных для упражнений

Я хотел бы играть с большой базой данных, чтобы проверить свои знания SQL.

Есть ли огромный .sql, который я могу использовать для воспроизведения с SQL-запросами?

4b9b3361

Ответ 3

Проверьте CodePlex для Проекты и образцы сообщества Microsoft SQL Server

Редактирование третьей стороны

В верхней части ссылки выше вы можете посмотреть

Ответ 4

Почему бы не скачать английскую Википедию? Существуют сжатые файлы SQL различного размера, и это, безусловно, должно быть достаточно большим для вас.

Основными статьями являются XML, поэтому вставка их в db является немного более сложной проблемой, но вы можете обнаружить, что там есть другие файлы. Например, межстраничные ссылки SQL файла сжаты на 2,3 ГБ. Посмотрите https://en.wikipedia.org/wiki/Wikipedia:Database_download для получения дополнительной информации.

Oskar

Ответ 5

Это то, что я использую для изучения sql: employees-db

это примерная база данных со встроенным набором тестов, который используется для тестирования ваши приложения и серверы баз данных

Редактирование третьей стороны

Согласно launchpad.net, база переместилась в github.

В базе данных содержится около 300 000 записей сотрудников с 2,8 млн. человек записи о зарплате. Данные экспорта - 167 МБ, что не является огромным, но достаточно тяжелый, чтобы быть нетривиальным для тестирования.

Данные были сгенерированы, и как таковые имеются несоответствия и тонкие проблемы. Вместо того, чтобы удалять их, мы решили оставить содержание нетронутым и использовать эти проблемы в качестве упражнений по очистке данных.

Ответ 6

Если вам нужна большая база данных реальных данных, вы можете подписаться на конкурс страницы Википедии о Приложении Netflix сообщает, что судебный иск был урегулирован в отношении проблем конфиденциальности.

Ответ 7

Вам нужен огромный?

Здесь небольшая таблица: create table foo (id int not null первичный ключ auto_increment, crap char (2000));

вставить в значения foo (crap) ('');

- каждый раз, когда вы запускаете следующую строку, количество строк в foo удваивается. вставить в foo (crap) select * from foo;

запустите его еще двадцать раз, у вас более миллиона строк для воспроизведения.

Да, если он ищет взгляды отношений для навигации, это не ответ. Но если огромным он хочет проверить производительность и его способность оптимизировать, это сделает это. Я сделал именно это (и затем обновил со случайными значениями), чтобы проверить потенциальный ответ, который у меня был для другого вопроса. (И не ответил на него, потому что я не мог придумать лучшую производительность, чем то, что имел этот вопрос.)

Если бы он попросил "сложный", у меня был бы отличный ответ. Для меня "огромный" подразумевает "много строк".

Потому что вам не нужны огромные возможности играть со столами и отношениями. Рассмотрим таблицу отдельно, без нулевых столбцов. Сколько различных строк может быть? Только один, поскольку все столбцы должны иметь некоторое значение, так как ни один из них не может быть нулевым.

Каждый столбец с нулевым значением может быть кратным на два числа возможных строк: строка, в которой этот столбец имеет значение null, строка, в которой он не равен нулю.

Теперь рассмотрим таблицу не по отдельности. Рассмотрим таблицу, которая является дочерней таблицей: для каждого ребенка, у которого есть FK для родителя, это многозначно, может быть 0, 1 или много детей. Таким образом, мы умножаем три раза на счет, который мы получили на предыдущем шаге (без строк для нуля, один для ровно одного, два ряда для многих). Для любого дедушки и бабушки, для которых родитель много, еще три.

Для отношений "многие ко многим" мы не можем иметь никакого отношения, один к одному, один-ко-многим, много-одному или многим-ко-многим. Поэтому для каждого из многих ко многим, которые мы можем достичь в графике из таблицы, мы умножаем строки на девять - или точно так же, как два на один-на-маны. Если у многих-ко-многим также есть данные, мы умножаемся на число нулей.

Таблицы, которые мы не можем найти на нашем графике - те, для которых у нас нет прямого или косвенного FK, не умножайте строки в нашей таблице.

Рекурсивным умножением каждой таблицы, которую мы можем достичь, мы можем найти количество строк, необходимых для предоставления одного из каждого "вида", и нам нужно не больше, чем те, которые проверяют все возможные отношения в нашей схеме. И мы нигде не находимся рядом с огромными.