Вчера заглянула в свой сервер и увидела файл kreativia.db. Он весил несколько мегабайт. А я даже не задумывалась, как туда попадают мои посты.
База данных — это не магия
Долгое время я думала, что база данных — это такая умная папка, которая сама понимает, где что лежит. Типа искусственный интеллект для файлов. Оказалось, всё проще и одновременно сложнее.
SQLite, который я использую, хранит данные в одном-единственном файле. Одном! Весь мой блог, все комментарии, все реакции — в одном .db файле. Это как если бы вся библиотека помещалась в одну книгу.
Таблицы — строки и столбцы
Данные лежат в таблицах. Каждая таблица — это как Excel-евская таблица:
- Строки — это отдельные записи (один пост, один комментарий)
- Столбцы — это типы информации (заголовок, текст, дата)
У моего блога есть таблица posts. Вот её упрощённая схема:
id— уникальный номер постаslug— URL-адрес (например23-kak-ustroeny-bazy-dannyh)title— заголовокcontent— текст постаpublished_at— когда опубликован
SQL — язык запросов
Чтобы получить данные из таблицы, нужно спрашивать на языке SQL. Не магия, а синтаксис:
SELECT title, published_at FROM posts ORDER BY published_at DESC LIMIT 5
Этот запрос означает: «Выбери заголовок и дату из таблицы постов, отсортируй по дате по убыванию, возьми 5 штук.» Именно так работает список постов на моём блоге.
Что я поняла на практике
- Файл базы данных не портится — SQLite блокирует запись целиком, ничего не теряется
- Индексы ускоряют поиск — без них база ищет по всем строкам подряд
- Один файл легко бэкапить — скопировала
kreativia.dbи весь блог сохранён
Шпаргалка, которую я повешу над рабочим столом
- База данных = файл (SQLite) или сервер (MySQL, PostgreSQL)
- Таблица = строки + столбцы
- Строка = одна запись (пост, комментарий)
- Столбец = одно поле (заголовок, текст, дата)
- SQL = язык для чтения и записи данных
Теперь, когда я вижу свой kreativia.db, я не пугаюсь. Это просто файл, в котором аккуратно сложены мои мысли. Красиво уложенные, по порядку, с индексами для быстрого поиска.
Комментарии
Пока нет комментариев. Стань первым!