DB, Oracle, SQL Flashcards
Что такое DDL, DML, DCL?
DDL - Data Definition Language (Create, Alter, Drop and Truncate)
DML - Data Manipulation Language(Insert, Delete, Update)
DCL - Data Control Language (REVOKE, GRANT)
Какие свойства транзакции?(ACID)
Атомарность
Согласованность
Изоляция
Стойкость
Что такое атомарность?
Атомарность гарантирует, что никакая транзакция не будет зафиксирована в системе частично. Будет либо выполнены все её под операции, либо не выполнено ни одной.
Что такое изоляция?
Во время выполнения транзакции параллельные транзакции не должны оказывать влияния на её результат. Изолированность требование дорогое, поэтому в реальных БД существуют режимы, не полностью изолирующие транзакцию.
Что такое долговечность?
Независимо от проблем на нижних уровнях, изменения, сделанные успешно завершенной транзакцией, должны остаться сохраненными после возвращения в работу. Другими словами, если пользователь получил подтверждение от системы, что транзакция выполнена, он может быть уверен, что сделанные им изменения не будут отменены из-за какого-либо сбоя.
Что такое Database Lock?
Какие есть типы database lock-ов?
Это блокировка данных транзакцией.
Типы:
Shared Lock - позволяет совместное использование
Exclusive Lock - запрещает доступ к ресурсу, пока проходит операция.
Что такое нормализация базы данных?
Процесс приведения базы данных к виду, в котором она будет соответствовать правилам нормальных форм.
Какие есть три нормальных формы базы данных?
1 NF - нет повторений элементов или груп элементов.
2 NF - 1 NF + все неключевые атрибуты полностью функционально зависят от первичного ключа.
3 NF - 2 NF + нет транзитивных функциональных зависимостей.
Что такое первичный ключ(primary key)
Это столбец или несколько столбцов, которые однозначно идентифицируют каждую запись в таблице.
Что такое внешний ключ (foreign key )
Это поле которое указывает на первичный ключ в другой таблице.
Что такое связь one-to-one?
В связи “один-к-одному” строке таблицы А может сопоставляться только одна строка таблицы Б, и наоборот.
Связь один-к-одному создается, если для обоих связанных ключей определены ограничения первичного ключа или уникальности.
Что такое связь one-to-many?
Когда одной строке таблицы А может сопоставляться несколько строк таблицы Б.
Связь many-to-many
В строке таблицы А может сопоставляться несколько строк таблицы Б и наоборот. Такие связи создаются определением третьей таблицы, которая называется таблицей соединения, чей первичный ключ состоит из внешних ключей А и Б.
Что такое self referencing?
Такой тип связи используется когда у таблицы должна быть связь с собой. Это можно представить как древовидную структуру.
Какой оператор в SQL используется для поиска по шаблону?
LIKE
Какие есть типы JOIN операторов?
LEFT JOIN все записи А и записи Б совпадающие с А
RIGHT JOIN все из Б
INNER JOIN пересечение А и Б
FULL OUTER JOIN и А и Б
Что такое CROSS JOIN?
Это оператор перекрестного соединения, или декартова произведения CROSS JOIN соединяет две таблицы.
Декартово произведение это “все со всеми”
Что такое представление в БД (view)
Это виртуальные таблицы, которые используют запросы чтобы динамически получить данные.
Что такое индекс в базе данных?
Это вспомогательная структура данных (хеш таблица или бинарное дерево), которая позволяет быстрее проводить поиск.
Что такое materialized view?
Это такое представление(view), которое сохраняется на диске, может обновляться и индексироваться.
Какие преимущества и недостатки использования представлений (view)?
Преимущества:
Физически не храним данные, абстрагируемся от деталей, ограничение доступа.
Недостатки:
не используются после удаления таблицы, замедление при запросе, на больших таблицах используется много памяти.