DB, Oracle, SQL Flashcards

1
Q

Что такое DDL, DML, DCL?

A

DDL - Data Definition Language (Create, Alter, Drop and Truncate)
DML - Data Manipulation Language(Insert, Delete, Update)
DCL - Data Control Language (REVOKE, GRANT)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

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

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

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

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

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

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

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

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Что такое Database Lock?

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

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

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

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

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

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

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

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

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

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

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

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

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

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Связь many-to-many

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Что такое self referencing?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

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

A

LIKE

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

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

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Что такое CROSS JOIN?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

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

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

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

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Что такое materialized view?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

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

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

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

A

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

23
Q

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

A

CREATE OR REPLACE
PROCEDURE procedure_name
….
END procedure_name;

24
Q

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

A

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

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 проверяют значения переменной.
31
Какие есть уровни изоляции транзакций в Oracle?
Read committed(default) Serializable transaction Read only
32
Как в Oracle начать и закончить транзакцию?
Нет SQL выражения для начала транзакции, закончить - COMMIT/ROLLBACK Начинается автоматически с первого запроса.
33
Что такое DUAL таблица и для чего используется.
В большинстве запросов должна быть ссылка на таблицу или представление. Как правило, для таких запросов используется таблица DUAL. Таблица DUAL - это реальная таблица схеме SYS, содержащая только одну запись.
34
Как превратить дату в строку?
Использовать функцию TO_CHAR.
35
Какие вызнаете агрегатные функции?
``` AVG COUNT FIRST LAX MAX MEDIAN MIN SUM ```
36
Что такое подзапрос?
Подзапросы, внутренние или вложенные запросы - это запрос внутри запроса. Обычно, подзапрос используется в конструкции WHERE.
37
Что такое настройка запроса?
Это оптимизация проблемных запросов. Использование подсказок(hint), что бы перехитрить оптимизатор. Эффективное использование объединений. Использование опции Pфrallel Query,для разделения запроса. Использование простых математичских методов для предвидения производительности запроса.
38
Что такое data block в Oracle?
Блок данных соответствует числу байт физического пространства базы данных.
39
Что такое data extends в Oracle?
Это определенное количество смежных блоков данных, выделенных для хранения конкретного типа информации.
40
Что такое разделение(partitioning) в Oracle?
Это разделение таблицы или индекса на несколько логически связанных частей, фрагментов, секций с неким общим признаком. Допустим, у нас есть таблица начислений, мы разбиваем эту таблицу на множество секций, например по начислениям за каждый месяц.
41
Какие типы таблиц есть в Oracle?
``` Таблицы, организованные в виде кучи. Таблицы в кластере. Таблицы в хеш-кластере. Вложенные таблицы. Временные таблицы. Объектные таблицы. ```
42
Какие типы индексов есть в Oracle?
``` B-Tree index - наиболее часто используемый тип индексов, организованных как сбалансированное дерево ключей. Function based index Inverted index Reversed index Bitmap index Spatial index ```
43
Какие символьные типы данных есть в Oracle?
CHAR NCHAR NVARCHAR2 VARCHAR2
44
Чем отличаются CHAR и NCHAR
CHAR размер определяется в байтах по умолчанию (1-4 байт) | NCHAR размер задается в символах по умолчанию. Храниться d Unicode
45
Какие числовые типы данных в Oracle?
NUMBER BINARY_FLOAT BINARY_DOUBLE
46
Какие типы дат есть в Oracle??
DATE TIMESTAMP INTERVAL YEAR TO MONTH INTERVAL DAY TO SECOND
47
Что такое TableSpace?
Это логическое пространство, которое СУБД использует для хранения объектов базы данных, таких как индексы, таблицы и т.п. Эти объекты хранятся в виде сегментов. При создании табличного пространства определяется его имя, которое используется для указания на пространство в запросах СУБД
48
Что такое NoSQL?
Ряд подходов, направленных на реализацию хранилищ баз данных, имеющих существенные отличия от моделей используемых в традиционных реляционных базах данных. NoSQL стал общим термином для различных баз данных и хранилищ, но он не обозначает какую-либо одну конкретную технологию или продукт.
49
Какие основные характеристики NoSQL баз данных?
Не использует SQL. Неструктурированные(schemaless) Представление в виде агрегатов(aggregates) Слабые ACID свойства Распределенные системы, без совместно используемых ресурсов (share nothing)
50
Какие есть типы хранилищ баз данных NoSQL
Хранилище "ключ-значчение Хранилище семейств колонок (или Bigtable-подобные базы данных) Документо-ориентированная СУБД Базы данных на основе графов
51
Что такое MapReduce, для каких данных используется?
MapReduce - модель распределенных вычислений представленная компанией Google, используемая для параллельных вычислений на очень большими, несколько петабайт, наборами данных в компьютерных кластерах.
52
Какой принцип работы MapReduce?
Работа MapReduce состоит из двух шагов: Map и Reduce Map предварительная обработка входных данных. Reduce свертка предварительно обработанных данных. Главный узел получает ответы от рабочих узлов и на их основе формирует результат.
53
Какое преимущество MapReduce?
Преимущество MapReduce заключается в том, что он позволяет распределено производить операции предварительной обработки и свертки. Операции предварительной обработки работают независимо друг от друга и могут производиться параллельно (хотя на практике это ограничено источником входных данных и/или количеством используемых процессоров)