База данных

Database

A cat is sitting on a database

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

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

Что такое база данных?

База данных — это хранилище, которое позволяет нам эффективно хранить, обрабатывать и управлять большими объёмами информации.

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

frontend backend and database schema

Сущность в базе данных

Сущность в базе данных — это конкретный объект, о котором хранится информация.

Любой объект имеет определённые свойства, например у «Конфеты» есть Наименование, Вкус и Начинка.

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


Сущность «Конфета»
Свойства объекта:
  1. Идентификатор: уникальный идентификатор
  2. Наименование: текст, описывающий название конфеты
  3. Вкус: текст, описывающий вкусовые качества конфеты
  4. Начинка: принимает значения «Да»/«Нет»
Пример заполнения
Идентификатор Наименование Вкус Начинка
1 Космическая свежесть Мятная Нет
2 Мятная туманность Цитрусово-мятная с лёгкой кислинкой Да

Схема базы данных и модели хранения данных

В свою очередь схема базы данных — это логическое представление структуры базы данных. Данные в базе могут храниться в различном виде. Рассмотрим две популярные модели хранения данных.


Табличная (реляционная)

Данные хранятся в виде таблиц, состоящих из строк и столбцов.

Схема базы данных:

table-database

Пример заполнения:


Таблица cat

id name age
1 Кот-астронавт 4

Таблица candy

id name taste filling cat_id
3 Космическая свежесть Мятная true 1

Таблицы cat и candy связаны при помощи идентификатора кота cat_id, указанного в таблице candy.

Связь может быть одного из трёх типов:

  • многие ко многим: вообразим, что коты делят конфету пополам, таким образом каждый из них имеет одну и ту же конфету, и не только одну!
  • один к одному: в случае, если коту нельзя иметь более одной конфеты
  • один ко многим: подразумевает, что каждый кот (один) может иметь какое-то количество конфет (много).

Между таблицами candy и cat установлена связь один ко многим. Каждая конфета, принадлежащая Коту-астронавту, имеет поле cat_id, которое содержит его идентификатор.

Базы данных с такой структурой называют реляционными, от англ. relation — отношение, связь.

Документоориентированная

Данные хранятся в виде коллекций документов, обычно в JSON формате.

Схема базы данных отсутствует.

В случае, если конфеты нужны нам независимо от кота-владельца, мы предпочтём хранить их в отдельной коллекции, ссылаясь на конкретные конфеты в документе кота по их идентификаторам.


Документ cat


Документ candy

В случае, если кот нам интересен только с конфетами, которыми он владеет, мы можем хранить его конфеты в embedded (вложенном) виде прямо в документе с котом.


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

Задача
Задача доступна премиум пользователям!

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

Полный доступ ко всем практическим задачам
Проверка ответов
Неограниченное количество попыток
Sidebar arrow

ВВЕДЕНИЕ

БАЗОВЫЕ ЗНАНИЯ

УРОВНИ ТЕСТИРОВАНИЯ

UI ТЕСТИРОВАНИЕ

ТЕХНИКИ ТЕСТ ДИЗАЙНА

ТЕСТОВАЯ ДОКУМЕНТАЦИЯ

АУТЕНТИФИКАЦИЯ И АВТОРИЗАЦИЯ

POSTMAN

БАЗЫ ДАННЫХ

ТЕСТИРОВАНИЕ РЕЛИЗА

АНАЛИЗ РАБОТЫ ПРИЛОЖЕНИЯ

ПОДГОТОВКА К СОБЕСЕДОВАНИЮ

Как составить резюме Топ вопросов Тест Собеседование