MySQL 'создает схему', и 'создают базу данных' - там любое различие

При использовании Знатока для разрабатывания проекта у меня было немного больше удачи с TestNG, потому что это имеет @BeforeSuite и @AfterSuite операции. Которые полезны, потому что Знаток не выполнит 'постинтеграционный тест', если какой-либо из интеграционных тестов перестанет работать. Не проблема с Муравьем, таким образом, я просто использую jUnit из предпочтения с ним.

В любом случае, сегментируя тесты и как TestNG и как jUnit делают полезно с интеграционными тестами также.

99
задан Hari Harker 25 September 2016 в 16:15
поделиться

3 ответа

В документации MySQL сказано :

CREATE DATABASE создает базу данных с данным именем. Чтобы использовать это заявление, вам понадобится CREATE привилегия для базы данных. СОЗДАЙТЕ СХЕМА - это синоним СОЗДАТЬ БАЗА ДАННЫХ MySQL 5.0.2.

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

132
ответ дан 24 November 2019 в 05:04
поделиться

В документации Mysql говорится: CREATE SCHEMA является синонимом CREATE DATABASE в MySQL 5.0.2.


все это восходит к стандарту ANSI для SQL в середине 80-х.

В этом стандарте была команда «CREATE SCHEMA», и она служила для введения несколько пространств имен для имен таблиц и представлений. Все таблицы и представления были создается в рамках «схемы». Я не знаю, определяла ли эта версия некоторый кросс-схемный доступ к таблицам и представлениям, но я предполагаю, что это так. AFAIR, ни один продукт (по крайней мере, тогда) действительно не реализовал это, все это концепция была больше теорией, чем практикой.

OTOH, ISTR в этой версии стандарта не было концепции "пользователь" или "СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ", значит, были продукты, которые использовали понятие «пользователь» (у которого тогда было собственное пространство имен для таблиц и views) для реализации своего эквивалента «схемы».

Это область, в которой системы различаются.

Что касается администрирования, это не должно иметь большого значения, потому что здесь у вас все равно есть отличия.

Что касается кода приложения, вы должны «только» заботиться о случаи, когда одно приложение обращается к таблицам из нескольких пространств имен. AFAIK, все системы поддерживают синтаксис ".", и для этого не должно иметь значения, является ли пространство имен пространством пользователь, «схема» или «база данных».

27
ответ дан 24 November 2019 в 05:04
поделиться

CREATE SCHEMA является синонимом CREATE DATABASE. CREATE DATABASE Синтаксис

6
ответ дан 24 November 2019 в 05:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: