Какие знаешь подходы для доступа к базе данных из прикладного кода

«Какие знаешь подходы для доступа к базе данных из прикладного кода» — вопрос из категории Базы данных, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Есть несколько основных подходов:

  1. ORM (Object-Relational Mapping) - преобразует таблицы БД в объекты. Пример с Sequelize (Node.js):
const User = sequelize.define('User', {
  name: DataTypes.STRING,
  age: DataTypes.INTEGER
});
await User.findAll();
  1. Query Builders - построение SQL запросов через цепочки методов:
knex('users').where('age', '>', 18).select('name');
  1. Raw SQL - прямое выполнение SQL запросов:
pool.query('SELECT * FROM users WHERE age > $1', [18]);
  1. Data Mapper - отделяет бизнес-логику от слоя доступа к данным (более сложный чем ORM)

  2. Active Record - модель содержит и данные, и методы работы с БД (как в Ruby on Rails)

Для фронтенда обычно используют ORM или Query Builders для удобства, либо GraphQL/REST API для работы через бэкенд.