DB, Oracle, SQL Flashcards Preview

Java Core > DB, Oracle, SQL > Flashcards

Flashcards in DB, Oracle, SQL Deck (53)
Loading flashcards...
1

Что такое 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)

2

Какие свойства транзакции?(ACID)

Атомарность
Согласованность
Изоляция
Стойкость

3

Что такое атомарность?

Атомарность гарантирует, что никакая транзакция не будет зафиксирована в системе частично. Будет либо выполнены все её под операции, либо не выполнено ни одной.

4

Что такое изоляция?

Во время выполнения транзакции параллельные транзакции не должны оказывать влияния на её результат. Изолированность требование дорогое, поэтому в реальных БД существуют режимы, не полностью изолирующие транзакцию.

5

Что такое долговечность?

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

6

Что такое Database Lock?
Какие есть типы database lock-ов?

Это блокировка данных транзакцией.
Типы:
Shared Lock - позволяет совместное использование
Exclusive Lock - запрещает доступ к ресурсу, пока проходит операция.

7

Что такое нормализация базы данных?

Процесс приведения базы данных к виду, в котором она будет соответствовать правилам нормальных форм.

8

Какие есть три нормальных формы базы данных?

1 NF - нет повторений элементов или груп элементов.
2 NF - 1 NF + все неключевые атрибуты полностью функционально зависят от первичного ключа.
3 NF - 2 NF + нет транзитивных функциональных зависимостей.

9

Что такое первичный ключ(primary key)

Это столбец или несколько столбцов, которые однозначно идентифицируют каждую запись в таблице.

10

Что такое внешний ключ (foreign key )

Это поле которое указывает на первичный ключ в другой таблице.

11

Что такое связь one-to-one?

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

12

Что такое связь one-to-many?

Когда одной строке таблицы А может сопоставляться несколько строк таблицы Б.

13

Связь many-to-many

В строке таблицы А может сопоставляться несколько строк таблицы Б и наоборот. Такие связи создаются определением третьей таблицы, которая называется таблицей соединения, чей первичный ключ состоит из внешних ключей А и Б.

14

Что такое self referencing?

Такой тип связи используется когда у таблицы должна быть связь с собой. Это можно представить как древовидную структуру.

15

Какой оператор в SQL используется для поиска по шаблону?

LIKE

16

Какие есть типы JOIN операторов?

LEFT JOIN все записи А и записи Б совпадающие с А
RIGHT JOIN все из Б
INNER JOIN пересечение А и Б
FULL OUTER JOIN и А и Б

17

Что такое CROSS JOIN?

Это оператор перекрестного соединения, или декартова произведения CROSS JOIN соединяет две таблицы.
Декартово произведение это "все со всеми"

18

Что такое представление в БД (view)

Это виртуальные таблицы, которые используют запросы чтобы динамически получить данные.

19

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

Это вспомогательная структура данных (хеш таблица или бинарное дерево), которая позволяет быстрее проводить поиск.

20

Что такое materialized view?

Это такое представление(view), которое сохраняется на диске, может обновляться и индексироваться.

21

Какие преимущества и недостатки использования представлений (view)?

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

22

Что такое хранимая процедура(stored procedure)?

Это функция, которая содержит набор SQL запросов, может принимать входные параметры и возвращать результат.

23

Как создать хранимую процедуру?

CREATE OR REPLACE
PROCEDURE procedure_name
....
END procedure_name;

24

Что такое триггер?

Это набор команд, которые выполняются на событие. Например, перед вставкой записи или после обновления.

25

Чем отличаются команды DELETE, TRUNCATE и DROP?

После DELETE данные можно восстановить, а после  TRUNCATE нет.
DROP удаляет таблицу или столбец.

26

Чем отличается WHERE от HAVING?

WHERE и HAVING работают как фильтры для записей.
HAVING для столбцов с агрегатными записями.
WHERE для статических столбцов.

27

Что такое schema в Oracle?

Коллекция объектов (таблицы, представления, индексы и т.д.) которые принадлежат пользователю.

28

Что такое Sequence?

Объект базы данных, который используется для генерации уникальных int значений.

29

Что такое курсор в SQL?

Курсор это именованный кусок информации, к которому можно доступиться. Курсоры используются для запросов, которые возвращают несколько строк.

30

Какие операторы работают с NULL значениями в Oracle?

NVL - конвертирует NULL в другое специфическое значение.
IS NULL и IS NOT NULL проверяют значения переменной.