Зарегистрируйтесь для доступа к 15+ бесплатным курсам по программированию с тренажером

СУБД Ключевые аспекты веб-разработки на Python

Предположим, что мы решили реализовать сайт с объявлениями и хотим дать возможность создавать их нашим пользователям. Мы уже знаем, как вывести страницу с формой для добавления объявления — сгенерировать HTML с помощью шаблонизатора. Но что делать после того, как данные формы придут на сервер? Где их хранить? В этом вопросе мы разберемся в этом уроке.

Что такое СУБД

Самый простой вариант, который можно придумать — файлы. Все события можно записывать в файл, а при выводе — читать из него. Такой подход обладает бесконечным числом недостатков и абсолютно неудобен в работе.

Правильный способ работы с данными — база данных (БД). Она тоже хранится в файлах, но этим процессом на 100% управляет система управления базами данных (СУБД). Именно ее необходимо установить перед началом работы.

В вебе наиболее распространены две системы: PostgreSQL и MySQL. Настройка и установка СУБД — не такой тривиальный процесс, как установка интерпретатора, поэтому здесь мы его рассматривать не будем. В сети вы можете найти множество готовых инструкций по установке СУБД на вашу операционную систему.

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

  • Запустить командную оболочку СУБД, которая позволяет в интерактивном режиме поработать с командами, записать и прочитать данные, добавить пользователя в систему и так далее. При подключении или уже после него обязательно нужно выбрать базу данных, с которой вы хотите взаимодействовать:

db repl

  • Подключиться к СУБД из своей программы, используя драйвер — это библиотека, которая общается с СУБД. Она имеет относительно простой интерфейс для выполнения запросов и получения результатов. Чуть ниже мы посмотрим, как такой подход работает на практике.

Отношения внутри БД

PostgreSQL и MySQL относятся к классу реляционных баз данных, потому что работа таких СУБД основана на реляционной алгебре. Не погружаясь в теоретические дебри, скажем, что данные в реляционных базах хранятся в виде таблиц. Такой формат вам знаком, если вы работали с табличными данными в Microsoft Office или Google Spreadsheets.

Каждая таблица в такой базе данных имеет свое имя и набор именованных колонок. Колонки в базе данных обычно называют полями. Например, таблица с объявлениями может называться ads и содержать следующие данные:

id telephone title
1 132453 Продам машину
2 342341 Куплю яхту
3 908324 Сдам в аренду палатку

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff
Рекомендуемые программы
профессия
от 6 300 ₽ в месяц
Разработка веб-приложений на Django
10 месяцев
с нуля
Старт 5 октября

Используйте Хекслет по-максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»