first Flashcards

1
Q

Что такое СУБД?

A

Специальное программное обеспечение для управления БД

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

Какие типы СУБД в соответствии с моделями данных вы знаете?

A

Реляционные, которые поддерживают установку связей между таблицами с помощью первичных и внешних ключей. Пример — MySQL, Postgres
Flat File — базы данных с двумерными файлами, в которых содержатся записи одного типа и отсутствует связь с другими файлами, как в реляционных. Пример — Excel.
Иерархические подразумевают наличие записей, связанных друг с другом по принципу отношений один-к-одному или один-ко-многим. А вот для отношений многие-ко-многим следует использовать реляционную модель. Пример — Adabas.
Сетевые похожи на иерархические, но в этом случае «ребёнок» может иметь несколько «родителей» и наоборот. Примеры — IDS и IDMS.
Объектно-ориентированные СУБД работают с базами данных, которые состоят из объектов, используемых в ООП. Объекты группируются в классы и называются экземплярами, а классы в свою очередь взаимодействуют через методы. Пример — Versant.
Объектно-реляционные обладают преимуществами реляционной и объектно-ориентированной моделей. Пример — IBM Db2.
Многомерная модель является разновидностью реляционной и использует многомерные структуры. Часто представляется в виде кубов данных. Пример — Oracle Essbase.
Гибридные состоят из двух и более типов баз данных. Используются в том случае, если одного типа недостаточно для обработки всех запросов. Пример — Altibase HDВ.

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

Реляционные бд это?

A

Реляционные, которые поддерживают установку связей между таблицами с помощью первичных и внешних ключей. Пример — MySQL, Postgres

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

Flat File — базы данных

A

Flat File — базы данных с двумерными файлами, в которых содержатся записи одного типа и отсутствует связь с другими файлами, как в реляционных. Пример — Excel.

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

Иерархические бд

A

Иерархические подразумевают наличие записей, связанных друг с другом по принципу отношений один-к-одному или один-ко-многим. А вот для отношений многие-ко-многим следует использовать реляционную модель. Пример — Adabas.

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

Сетевые бд

A

Сетевые похожи на иерархические, но в этом случае «ребёнок» может иметь несколько «родителей» и наоборот. Примеры — IDS и IDMS.

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

Объектно-ориентированные бд

A

Объектно-ориентированные СУБД работают с базами данных, которые состоят из объектов, используемых в ООП. Объекты группируются в классы и называются экземплярами, а классы в свою очередь взаимодействуют через методы. Пример — Versant.

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

Объектно-реляционные бд

A

Объектно-реляционные обладают преимуществами реляционной и объектно-ориентированной моделей. Пример — IBM Db2.

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

Многомерные бд

A

Многомерная модель является разновидностью реляционной и использует многомерные структуры. Часто представляется в виде кубов данных. Пример — Oracle Essbase.

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

Гибридные бд

A

Гибридные состоят из двух и более типов баз данных. Используются в том случае, если одного типа недостаточно для обработки всех запросов. Пример — Altibase HDВ.

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

Первичный ключ

A

Первичный ключ или PRIMARY KEY предназначен для однозначной идентификации каждой записи в таблице и является строго уникальным (UNIQUE): две записи таблицы не могут иметь одинаковые значения первичного ключа. Нулевые значения (NULL) в PRIMARY KEY не допускаются. Если в качестве PRIMARY KEY используется несколько полей, их называют составным ключом
PRIMARY KEY — это первичный ключ, который используется в качестве основного ключа и может быть использован для связи с дочерней таблицей, содержащей внешний ключ.

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

Внешний ключ

A

Внешний ключ или FOREIGN KEY также является атрибутом ограничения и обеспечивает связь двух таблиц. По сути, это поле или несколько полей, которые ссылаются на PRIMARY KEY в родительской таблице.Пример использования:

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

Какие ещё ограничения вы знаете, как они работают и указываются?

A

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

UNIQUE — гарантирует уникальность значений в столбце;
NOT NULL — значение не может быть NULL;
INDEX — создаёт индексы в таблице для быстрого поиска/запросов;
CHECK — значения столбца должны соответствовать заданным условиям;
DEFAULT — предоставляет столбцу значения по умолчанию&
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Для чего используется ключевое слово ORDER BY?

A

Для сортировки данных в порядке возрастания (ASC) или убывания (DESC).Пример использования:

SELECT * FROM user ORDER BY name DESC;

Выбираются пользователи, которые будут отсортированы по имени в порядке убывания. без указания DESC данные были бы отсортированы по умолчанию — в порядке возрастания:

SELECT * FROM user ORDER BY name;

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

Назовите четыре основных типа соединения в SQL

A

Чтобы объединить две таблицы в одну, следует использовать оператор JOIN. Соединение таблиц может быть внутренним (INNER) или внешним (OUTER), причём внешнее соединение может быть левым (LEFT), правым (RIGHT) или полным (FULL).

INNER JOIN — получение записей с одинаковыми значениями в обеих таблицах, т.е. получение пересечения таблиц.
FULL OUTER JOIN — объединяет записи из обеих таблиц (если условие объединения равно true) и дополняет их всеми записями из обеих таблиц, которые не имеют совпадений. Для записей, которые не имеют совпадений из другой таблицы, недостающее поле будет иметь значение NULL.
LEFT JOIN — возвращает все записи, удовлетворяющие условию объединения, плюс все оставшиеся записи из внешней (левой) таблицы, которые не удовлетворяют условию объединения.
RIGHT JOIN — работает точно так же, как и левое объединение, только в качестве внешней таблицы будет использоваться правая.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

А что такое Self JOIN?

A

Это выражение используется для того, чтобы таблица объединилась сама с собой, словно это две разные таблицы. Чтобы такое реализовать, одна из таких «таблиц» временно переименовывается.

17
Q

Для чего нужен оператор UNION?

A

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

SELECT column(s) FROM first_tableUNIONSELECT column(s) FROM second_table;

18
Q

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

A

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

% — заменить ноль или более символов;
_ — заменить один символ.

Примеры:

SELECT * FROM user WHERE name LIKE ‘%test%’;

Данный запрос позволяет найти данные всех пользователей, имена которых содержат в себе «test».

SELECT * FROM user WHERE name LIKE ‘t_est’;

А в этом случае имена искомых пользователей начинаются на «t», после содержат какой-либо символ и «est» в конце.

19
Q

Что делают псевдонимы Aliases?

A

SQL-псевдонимы нужны для того, чтобы дать временное имя таблице или столбцу. Это нужно, когда в запросе есть таблицы или столбцы с неоднозначными именами. В этом случае для удобства в составлении запроса используются псевдонимы. SQL-псевдоним существует только на время запроса.Пример:

SELECT very_long_column_name AS alias_nameFROM table;

20
Q

Для чего нужен оператор INSERT INTO SELECT?

A

Данный оператор копирует данные из одной таблицы и вставляет их в другую, при этом типы данных в обеих таблицах должны соответствовать.Пример использования:

INSERT INTO second_tableSELECT * FROM first_tableWHERE condition;

21
Q

Объясните разницу между командами DELETE и TRUNCATE

A

Команда DELETE — это DML-операция, которая удаляет записи из таблицы, соответствующие заданному условию:

DELETE FROM table_name WHERE condition;

При этом создаются логи удаления, то есть операцию можно отменить.А вот команда TRUNCATE — это DDL-операция, которая полностью пересоздаёт таблицу, и отменить такое удаление невозможно:

TRUNCATE TABLE table_name;

22
Q

DML?

A

DML, или Data Manipulation Language — это группа операторов, которые позволяют получать и изменять записи, присутствующие в таблице.

23
Q

DDL?

A

Data Definition Language (DDL) (язык описания данных) — это семейство компьютерных языков, используемых в компьютерных программах для описания структуры баз данных.
Язык DDL служит для создания и модификации структуры БД, т. е. для создания/изменения/удаления таблиц и связей.

24
Q

Чем VARCHAR отличается от NVARCHAR?

A

Главное отличие в том, что VARCHAR хранит значения в формате ASCII, где символ занимает один байт, а NVARCHAR хранит значения в формате Unicode, где символ «весит» 2 байта. Тип VARCHAR следует использовать, если вы уверены, что в значениях не будет Unicode-символов. Например, VARCHAR можно применить к адресам электронной почты, состоящих из ASCII-символов.

25
Q

ACID

A

набор требований к транзакции , обеспечивающий наиболее надежную и предсказуемую ее работу
Atomicity, Consistency, Isolation, Durability ( Атомарность, Согласованность, Изоляция, Устойчивость)

26
Q

Атомарность в ACID

A

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

27
Q

Согласованность в ACID

A

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

28
Q

Изолированность в ACID

A

Во время выполнения транзакции, параллельные транзакции не должны оказывать влияния на ее результат

29
Q

Надежность в ACID

A

Если пользователь получил подтверждение о выполнении транзакции, она точно выполнена и никакие сбои не откатят ее

30
Q

Транзакция

A

Некоторое количество связанных действий, Которые либо должны быть выполнены все, либо не выполнено не одно