Найти тему

MySql - лучший старт в изучении БД?

Сегодня профессия ИТ является одной из самых воcстребованных, нестареющих и освоить ее пытаются многие.

Но встает вопрос: язык программирования выбран, освоен (возможно, пока частично), а какую базу данных учить, ведь их большое количество и что именно использует потенциальный работодатель? - это большой вопрос, так кто-то сразу "бросается" Mongo, кто-то "штурмует" PostgreSQL, ну и некоторые берут за основу MySql.

Именно начать с последнего варианта предлагаю и я Вам, а почему?

MySQL имеет API и коннекторы для языков Delphi, C, C++, Эйфель, Java, Лисп, Perl, PHP, Python, Ruby, Smalltalk, Компонентный Паскаль, Tcl и Lua, библиотеки для языков платформы .NET, а также обеспечивает поддержку для ODBC посредством ODBC-драйвера MyODBC.

Стоит отметить, что синтаксис MySql очень схож со множеством различных БД, так как в основе лежит язык SQL, а это значит, что покорите MySql и Вам будет понятен синтаксис PostgreSql.

Да, конечно, стоит отметить, что MySql не позволяет корректно применять регулярные выражения (операторы REGEXP и RLIKE) на строках в многобайтовых кодировках, например, для Юникода (UTF-8). При необходимости таких операций приходится переходить на однобайтовые кодировки, например русскую Win-1251 или KOI-8.

Однако, MySql обладает собственным логированием (кстати, если блеснете им при собеседовании на Джуна - это точно будет плюсом:) ), так же она эффективно позволяет join-нить таблицы.

Данная СУБД, начиная с версии 3.22 не имеет ограничения в размере таблиц (версия 3.2 была выпущена в 2001 году) сейчас актуальная версия 8.0

Стоит отметить, что GitHub использует MySQL в качестве основного хранилища данных для всех объектов, так как есть существенные плюсы:

  • безопасность
  • высокая скорость при операциях на чтение
  • широкий спектр движков

Однако, MySql имеет и существенный недостаток:

  • низкая скорость разработки
  • платная поддержка

Но в основном на собеседованиях спрашивают именно MySql, например:

1) В чем разница между операторами DELETE и TRUNCATE?

2) Какие существуют типы СУБД?

3) Что такое внешний ключ (Foreign key)?

4) В чем разница между SQL и MySQL?

5) Какие существуют типы индексов.

6) Опишите три нормальные формы

7) Что такое подзапрос в SQL?

8) Какие существуют виды Join и в чем их отличие?

Если Вы ответили на часть вопросов верно, то поздравляю) Вы определенно знакомы с базами данных, ну а если нет, то на просторах Интернета множество ресурсов с изучением данного вопроса и помните "Дорогу осилит идущий!"

А какую СУБД порекомендуете новичкам Вы и почему? Пишите Ваши рекомендации в комментариям