База Hintsage

Системный анализ

Интеграции, API, модели данных, требования к системам и техническая документация.

Практика

Вопросы: Системный анализ

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

CREATE TABLE customers (
    id BIGINT PRIMARY KEY
);

CREATE TABLE orders (
    id BIGINT PRIMARY KEY,
    customer_id BIGINT NOT NULL
);
АналитикаСистемный анализМладший системный аналитик

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

-- Сеанс A
BEGIN;
SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
SELECT id FROM orders WHERE status = 'new'; -- 3 строки

-- Сеанс B параллельно
BEGIN;
INSERT INTO orders (id, status) VALUES (104, 'new');
COMMIT;

-- Сеанс A
SELECT id FROM orders WHERE status = 'new'; -- 4 строки
COMMIT;
АналитикаСистемный анализСистемный аналитик

Показано 21–40 из 47

Восстановление доступа