Базы данных

Мы говорили о стороне сервера и клиента, но где нам хранить пользовательские данные? Кто будет помнить, что ваш пароль CatLover1985, чтобы вы могли залогиниться на сайт? Нижний уровень любого веб-приложения - это база данных, и она хранит все, что необходимо (о механизме кэширования мы поговорим позже). База может быть относительно простой, как лист в Excel, или невообразимо сложной и разделенной на множество огромных частей, как например сделано в Facebook.

Работа базы данных скрыта в глубине приложения, и поэтому люди зачастую относятся к ней с чувством подозрительности и страха. На самом деле этого делать не стОит - ваша база данных и вы станете хорошими друзьями (или как минимум не заклятыми врагами). К концу этого курса вы поймете, что происходит с вашими базами данных и начнете взаимодействовать с ними на профессиональном уровне (а возможно, даже лучше, чем многие из ваших коллег). Этот урок - начало пути.

По сравнению с обычным языком программирования, SQL (язык структурированных запросов), который используется для доступа к данным, имеет очень простой синтаксис... в нем всего несколько операторов.

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

Что необходимо знать

Попробуйте ответить на эти вопросы после выполнения задания

  • Что такое база данных?
  • Что такое реляционные базы данных?
  • Чем реляционные базы данных отличаются от XML?
  • Что такое SQL?
  • Для чего используется SQL?
  • Что значит аббревиатура CRUD?
  • Почему понятие "CRUD" так важно для веб-приложений?
  • как в SQL получить содержимое записей в таблице?
  • Как вставить запись, используя SQL?
  • Что такое первичный ключ в таблице?
  • Что такое внешний ключ?

Задание:

  1. Прочитайте хорошую вводную по SQL, написанную Zed Shaw. Нас интересует только вступление (если не желаете пойти дальше).

  2. Посмотрите краткое вступление в реляционные базы данных чтобы понять, почему они получили такое широкое распространение, и получить некоторый словарь новых терминов, которые мы будем использовать в дальнейшем.

  3. Затем, посмотрите курс лекций по введению в базы данных Стэнфордского университета. Они были разбиты на пару "мини-курсов". Первый мини-курс назван "Введение в реляционные базы данных" (первое видео вы найдете здесь), и мини-курс по SQL (первое видео вы найдете здесь).

Если эти ссылки не работают, загляните в список в разделе Дополнительные ресурсы.

Будет неплохо, если при просмотре материала под рукой будет бумага с карандашом. Так легче визуализировать происходящие процессы при работе с базами и самим SQL.

Дополнительные ресурсы

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

  • Что такое реляционная БД? с ресурса HowStuffWorks.com
  • Краткая статья, описывающая реляционные базы данных - Wiki
  • Если ссылки на курсы Стэнфорда не работают, посмотрите их раздел на YouTube. Нас интересуют лекции 1-3 (вводный материал) и 11-13 (SQL). Примечание -- это относится к номеру лекции, а не к положению видео в плейлисте (сами видео неупорядочены).
  • Hunter Ducharme создал электронную книгу, в которой есть великолепная документация об основах работы с SQL.

Пропускайте разделы о реляционной алгебре, XML и JSON, пока вы не захотите пойти дальше в этом направлении. Видеоматериалы могут быть слишком уклонены в техническую сторону процесса, но не переживайте, если все понятно не до конца - мы вернемся к этому еще раз в курсе, посвященном Rails.

  • Неплохой бесплатный курс по SQL можно найти здесь

  • Для дополнительных тренингов, загляните сюда, в "Codecademy для SQL".

Поделиться уроком: