Что такое база данных: объясняем на примере библиотеки

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

Библиотечная картотека и книги соединены оранжевыми нитями — образ связанных записей.

Когда одного списка становится мало

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

База данных — организованное собрание сведений. Работать с ним помогает система управления базой данных: программа, которая сохраняет информацию, находит записи и управляет изменениями. Такое различие между данными и управляющей программой объясняет Oracle. В разговоре оба понятия часто сокращают до слова «база», но полезно различать их роли.

Что находится в таблицах

Рассмотрим табличную, или реляционную, базу. В ней сведения представлены строками и столбцами. Строка описывает отдельную запись, а столбец — одно её свойство. Например, у экземпляра книги есть инвентарный номер, состояние и место хранения. Одна строка не обязана описывать сразу всё, что известно библиотеке.

Отдельно можно хранить читателей, отдельно — экземпляры, отдельно — выдачи. Документация PostgreSQL объясняет реляционную модель через таблицы и их строки. Это не означает, что все базы устроены одинаково: существуют и другие модели хранения. Здесь мы разбираем одну распространённую идею, без обзора всех разновидностей.

Подробнее: Oracle: что такое база данных.

Зачем записям номера

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

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

Подробнее: PostgreSQL: основные понятия.

Как находят нужные сведения

Сотруднику может понадобиться список книг, которые ещё не вернули, или история выдач одного экземпляра. Приложение обращается к системе управления базой, а та получает подходящие записи. Пользователь обычно видит удобную форму, а не внутренние таблицы.

При этом вопрос нужно сформулировать точно. «Просроченная книга» может означать, что срок возврата прошёл, но отметки о возврате нет. Если срок продлили, результат изменится. База не придумывает правила библиотеки: она помогает последовательно применять те, которые задала команда. Ошибочное правило даст ошибочный отчёт даже в исправной системе.

Почему нужны ограничения и доступы

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

Ещё важно определить права: посетителю достаточно видеть доступность книги, сотруднику — оформлять выдачу. Личные сведения читателей не должны становиться общедоступными только потому, что находятся в той же системе. Конкретные правила доступа и резервного копирования нужно настраивать; наличие базы само по себе не решает все вопросы сохранности.

Чем это полезно новичку

Чтобы понять базу данных, начните с предметов и событий знакомой задачи. Какие сведения относятся к человеку, какие — к книге, какие — к выдаче? Что должно быть уникальным? Какие изменения допустимы? Ответы помогают представить структуру раньше, чем появится необходимость изучать инструменты.

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

Что почитать дальше

Обучение в NovaData

Если хотите разобраться в направлении глубже, посмотрите программу «SQL инженер». Сопоставьте темы и требования к подготовке со своей текущей задачей.

SQL инженер
Курс
Доступ сразу
SQL инженер

SQL инженер — это специалист, который работает с базами данных, разрабатывает запросы, оптимизирует хранение данных и обеспечивает эффективную работу с информацией в компаниях.

С нуля до junior
Теория и практика
Диплом по окончании
500
₽/мес
УЗНАТЬ ПОДРОБНЕЕ

Источники

Читайте также

Обучить команду или нанять специалиста по данным: как выбрать
47

Обучить команду или нанять специалиста по данным: как выбрать

Как руководителю определить, какие навыки развивать внутри команды, когда нужна новая роль и почему обучение и найм часто дополняют друг друга.
Вертикальное и горизонтальное масштабирование данных: в чём разница
46

Вертикальное и горизонтальное масштабирование данных: в чём разница

Когда системе добавляют мощность одного сервера, когда делят работу между несколькими и почему увеличение ресурсов само по себе не решает любую проблему.
Журнал изменений данных: как выяснить, кто и когда изменил набор
42

Журнал изменений данных: как выяснить, кто и когда изменил набор

Что можно узнать из журнала действий с данными, как он помогает разбирать ошибки и почему его записи не показывают всю историю сами по себе.

Занятия проходят
в Нова Дата СДО

Вебинары, практика и общение с преподавателем — в одном окне браузера.

Посмотреть интерфейс платформы
Календарь обучения в Нова Дата СДО
Курсы студента в Нова Дата СДО
Редактор кода для практики в Нова Дата СДО
Вебинары и расписание Ваши курсы Код в браузере
Нова Дата СДО — в реестре российского ПОРеестровая запись № 34931
Заявка отправлена
Отправим вам подборку курсов в течение 5 минут. С вами также свяжется наш специалист и даст карьерную консультацию.
Персональный промокод
На курс «Инженер по парсингу данных»
Введите код при оплате, чтобы применить скидку к программе.