Другие языки программирования и технологии

SQL (какие ?)

Добрый день. Уже несколько лет изучаю всякие процедурные языки программирования. И вот начинаю изучать банки данных в учебке.
Мне посоветовали начать изучать SQL. И тут я столкнулся с тем, что этих SQL миллионы разных видов. Всякие MySQL ,
SQL Server и т. п.
Вопрос - с чего лучше начинать? Какие более полезны в будущем для работы? Какие из них бесплатные? И чем они отличаются ?
Не совсем миллионы, есть из них Big Four. Это MySQL (беспл, хорошо сочетается с PHP в Веб-разработке) , Postgres (беспл) , Oracle (платная) , MS SQL (платная) .
Они все очень похожи. Есть стандарты ANSI SQL, которые должны (по идее) выполняться в любой СУБД.

Помимо этих четырех можно обратить внимание еще на три.

- MS Access, это почти что учебная прога, но там слишком много окошек и кнопочек, это несколько портит представление о БД;

- sqlite. Это однопользовательская СУБД, она не клиент-серверная. Но если Вам нужно прикрутить простую локальную базу данных к своей программе, то это может быть лучший вариант. Ее очень просто встраивать в сишный (и не только) код, бесплатная.

- В HTML5 есть базы данных. Тоже локальные однопользовательские. Работают на клиенте (прямо в браузере) . Для Веб-программистов может очень пригодиться.
Damon Salvatore
Damon Salvatore
19 662
Лучший ответ
То, что ты написал - это базы данных, поддерживающие язык SQL. А сам SQL - это язык обработки баз данных. Есть тонкости для разных серверов, но принцип везде один.
Вячеслав Мозок
Вячеслав Мозок
95 567
Mysql бесплатная
Павел Сурин
Павел Сурин
95 263
Николай Кувшинов Не во всех случаях. У них есть коммерческая лицензия.
SQL - это язык запросов он один для всех, есть правда некоторые отщипенцы типа MS которые вносят незначительные отличия в его синтаксис
Юрий Кубышин :-) Я бы сказал, отщепенцем долго был Оракл, как это ни парадоксально.
MS вносит гадости по-другому - мешает чистый SQL (манипулирование данными) и DDL (манипулирование схемой) в одном запросе. Потом получают сложности типа "insert-ом можно создать таблицу, а что потом должен делать rollback - одним им ведомо". Делает неатомарные блокировки индексов при исполнении всего лишь ОДНОГО statement-а, которые приводят к неожиданным deadlock-ам. И вообще, если копнуть глубоко, то полностью рушит в голове представление о РСУБД. Это на поверхности у них всё красиво.
Сам язык стандартизирован. Есть незначительные отличия в реализации. Если научитесь с одной СУБД, сможете работать и с другими. С чего начать не скажу, потому что не знаю, к чему стремитесь.
Начни с MySQL это наиболее простое для тебя решение. С мусклом можно работать под разными языками (php, flash, c#, perl, c++ и др.)
Для начала проштудируй стандарт SQL-92, потом можешь взять Oracle XE и потренироваться.. . Он бесплатный.