Добрый день, хочу глубже вникнуть в SQL (и, возможно, реляционные БД), до этого от нечего делать читал "Освой самостоятельно SQL за 10 минут". Интересуют советы по изучению, материалы (книги, ресурсы), заранее благодарен.
Мануал читайте. Скачайте какую-нибудь рабочую базу, дамп какого-нибудь открытого ресурса. Того-же Либрусека или Флибусты и тренируйтесь на них в phpMyAdmin. Книг на русском языке не так уж и много - пара десятков за последние лет десять может и наберется. Скачайте все и ознакомьтесь, вряд ли там что-то отсутствующее в официальной документации есть. Но может что-то и зайдет
Мануал думал для изучения конкретной БД, спасибо за совет. Английский --- вообще не проблема. Спасибо.
По SQL книг то должна быть гора, я сам время от времени свое древнющее - гектор гарсия молина системы баз данных - перечитываю. Там пример , по которому они объясняют, база кино - не сильно сложный. Например когда знакомился с postgreSQL, у них там в официальном курсе обучения, для демо - база авиа перелетов, по такому усложненному сложновато учить. Можете даже что то старенькое по FoxPro качнуть, мне кажется, раньше люди умели лучше объяснять, а в SQL не требуется какой то новизны
На русском языке вообще преступно мало толковых книг по SQL. Могу порекомендовать парочку на немецком, если есть знатоки. Остальное - только английский.
Хабр: Книги по SQL: что почитать новичкам и специалистам Чтобы (хорошие) книги не были просто "проскроллированы", хорошо бы закреплять навыки, решая задачки. --- Добавлено --- ИМХО, главное для SQL это разрыв шаблона. Когда от циклов и сортировок переходишь к декларативному мышлению, происходит level up. Потому что в этом языке нет никаких циклов и результат выборки не должен зависеть от "порядка следования записей". Ведь математические множества не упорядочены. SQL оперирует множествами и отношениями. Ты просто объявляешь "хочу получить набор связаных данных, соответствующий вот таким критериям", а дальше БД думает за тебя как это разложить на IF и WHILE. И обычно сам оптимизирует операции очень даже неплохо. Чего новичку не надо делать, так это пытаться сразу что-то оптимизировать от себя. ))) Потому что это возвращает нас к циклам - level down.
Добрый день! Если Вы хотите глубже вникнуть в в чего либо, то наихудшая метода - "от нечего делать читать" Мне кажется, что правильнее было бы, реализовать простую задачку. Попробуйте нарисовать на бумаге таблицу из нескольких столбцов и подумайте над тем как описать структуру, реализовать сохранение, изменение и поиск данных. Очевидно, Вам потребуется найти ответы на несколько конкретных вопросов, которые возникнут в работе над этим проектом. Думаю, правильная метода глубокого изучения - это поиск ответов на вопросы, возникающие в процессе работы. Удачи!