Введение в SQL

Введение в SQL

memorize.aimemorize.ai (lvl 286)
Section 1

Preview this deck

DELETE

Front

Star 0%
Star 0%
Star 0%
Star 0%
Star 0%

0.0

0 reviews

5
0
4
0
3
0
2
0
1
0

Active users

0

All-time users

0

Favorites

0

Last updated

6 years ago

Date created

Mar 1, 2020

Cards (65)

Section 1

(50 cards)

DELETE

Front

Команда DELETE используется для удаления одной или всех строк в таблице. Предложение WHERE используется для указания условия, по которому удалять строки. Если WHERE отсуствует, то удаляются все строки. После применения DELETE требуется выполнить COMMIT или ROLLBACK, для фиксации результатов транзакции или отката.

Back

Зачем нужен шаг анализа и перезаписи запроса?

Front

Если не вдаваться в подробности, процесс анализа и перезаписи применяет ряд сложных алгоритмов и эвристик в попытке оптимизировать и упростить ваш SQL запрос. Если вы выполнили сложный запрос select с вложенными запросами и множеством inner и outer join, то простор для оптимизации огромен.

Back

Является ли сессия бесплатной в качестве ресурсо затрат?

Front

Нет, БД выделяет память под каждое открытие сессии. Если подключений сессии становится слишком много, то требуемая память для них измеряется в ГБ. Поэтому СУБД ограничивает максимальное число максимальных сессий. В postgres - 100 сессий.

Back

Сколько строк получится в результате выполнения этого запроса, если в таблице Foo 100 строк, в таблице Bar 50 строк и в таблице Baz 30 строк?

Front

100. Потому что для каждой строчки в таблице А найдется соответствующая строчка в таблице В, при этом только 1. Если есть цепока таблиц, то получим в результате столько строчек, сколько было в самой первой.

Back

Существует ли порядок строк в БД?

Front

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

Back

Как добавить колонку в таблицу?

Front

ALTER TABLE mytable ADD column DataType OptionalTableConstraint DEFAULT default_value;

Back

Назовите минусы колоночных БД

Front

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

Back

Что такое сессия?

Front

Установление связи с СУБД по протоколу TCP. Во время сессии передается информации об имени пользователя, его пароль и пр. инофрмацию. Сессия является интерфейсом для общении с БД, в котором есть метод выполнения запроса, получение результата.

Back

Какова цель нормализации БД?

Front

Исключить избыточное дублирование данных, которое является причиной аномалий, возникших при добавлении, редактировании и удалении кортежей(строк таблицы).

Back

DML (Data Manipulation Language)

Front

DML statements affect records in a table. These are basic operations perform on data such as selecting a few records from a table, inserting new records, deleting unnecessary records, and updating/modifying existing records. DML statements include the following: SELECT - select records from a table INSERT - insert new records UPDATE - update/Modify existing records DELETE - delete existing records

Back

Почему вы не можете запрашивать для просмотра первые пять строк таблицы?

Front

Потому что строки, по определению, находятся без какого либо определенного упорядочения

Back

Что произойдет, если выбрать, например, только 3 поля из таблицы, в которой их всего 50?

Front

В силу построчного хранения данных в традиционных СУБД (необходимого, как мы помним, для частых операций добавления новых записей в учетных системах) будут прочитаны абсолютно все строки целиком со всеми полями. Это значит, что не важно, нужны ли нам только 3 поля или 50, с диска в любом случае они все будут прочитаны целиком и полностью, пропущены через контроллер дискового ввода-вывода и переданы процессору, который уже отберет только необходимые для запроса.

Back

DDL (Data Definition Language)

Front

DDL statements are used to alter/modify a database or table structure and schema. These statements handle the design and storage of database objects. CREATE - create a new Table, database, schema ALTER - alter existing table, column description DROP - delete existing objects from database

Back

Что такое колоночные БД?

Front

Основная идея колоночных СУБД — это хранение данных не по строкам, как это делают традиционные СУБД, а по колонкам. Такая организация данных приводит к тому, что при выполнении select в котором фигурируют только 3 поля из 50 полей таблицы, с диска физически будут прочитаны только 3 колонки.

Back

Как хранятся данные в колоночных БД?

Front

[GOOGLE, APPLE, UBER], [30.77, 32.66, 102.55], [1/17/08, 1/17/08, 1/17/08] Кроме того, при поколоночном хранении данных появляется замечательная возможность сильно компрессировать данные, так как в одной колонке таблицы данные как правило однотипные, чего не скажешь о строке.

Back

Каким свойством должен обладать потенциальный ключ?

Front

Потенциальный ключ должен обладать критерием неизбыточности. candidate key - UNIQUE

Back

Есть в ли в postgres понятие роли?

Front

Нет отдельного понятия роли, create user = create role

Back

Как удалить колонку из таблицы?

Front

ALTER TABLE links DROP COLUMN active;

Back

Почему нельзя удалить колонку с помощью DELETE?

Front

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

Back

Как конкатенировать строки?

Front

1. || оператор используется для объединения строк. mems.firstname || ' ' || mems.surname as member 2. SELECT CONCAT (first_name, ' ', last_name) AS "Full name" FROM customer;

Back

Чему равно выражение "Z" < "a"?

Front

True. все символы верхнего регистра — меньше чем все символы нижнего регистра

Back

Что такое NULL?

Front

Неопределенное значение. Любое сравнение произвольного значения с NULL возвращает NULL (неопределенное значение) В SQL трехзначная логика (True, False, NULL)

Back

Что такое потенциальный ключ?

Front

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

Back

TOAST

Front

The Oversized Attribute Storage Technique Из-за того, что postgres разрешает хранить в одной записи 8 килобайт, почему вы можете записывать данные, которые больше, чем 8 килобайт? - Потому что, postgres хранит ссылку на хранилище TOAST, в котором лежат скопресированные данные.

Back

Как по другому называется строка? Столбец?

Front

Другим словом для строки является запись. Другим словом для столбца является поле

Back

Что означает незбыточность ключа?

Front

Никакое подмножество атрибутов, входящих в ключ, не должно обладать свойством уникальности.

Back

Чему равно выражение "1" < "Z"?

Front

True все номера — меньше чем все символы

Back

Что гарантирует Первичный ключ?

Front

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

Back

Что возвращает sql-запрос?

Front

Любой sql-запрос возвращает таблицу.

Back

Что такое первичный ключ?

Front

Каждая строка (запись) БД должна быть уникальна. Именно первичный ключ в виде наборов определенных значений, максимально идентифицируют каждую запись. Можно определить по-другому. Первичный ключ: набор определенных признаков, уникальных для каждой записи. Обозначается первичный ключ, как primary key.

Back

Допустим, в Таблице 2 значения: 1 и 2. Что выведет запрос SELECT * FROM Table WHERE id=1 AND id>=2

Front

Выведет пустую строку, потому что то, что пишем после WHERE должно применятся к одной строчке. Для того, чтобы вывести 1 и 2, нужно использовать OR.

Back

Что такое нормализация БД?

Front

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

Back

Как проверить значение на NULL?

Front

С помощью IS

Back

Что такое кортеж?

Front

Строки таблицы

Back

Что такое атрибуты таблицы?

Front

Колонки таблицы

Back

Что такое избыточное дублирование?

Front

Это дубликаты. Избыточность данных приводит к непродуктивному расходованию свободного места на диске и затрудняет обслуживание баз данных. Например, если данные, хранящиеся в нескольких местах, потребуется изменить, в них придется внести одни и те же изменения во всех этих местах. Изменение адреса клиента гораздо легче реализовать, если в базе данных эти сведения хранятся только в таблице Customers и нигде больше.

Back

Как узнать студентов, которые посещали те же курсы, что и Алиса, если мы знаем список курсов?

Front

SELECT * FROM Students WHERE course = 'Python' or course = 'Networks'; SELECT * FROM Students WHERE course in ('Python', 'Networks');

Back

Какие кавычки используются для строк?

Front

Одинарные

Back

Назовите основные элементы реляционной БД

Front

1) таблица - основной элемент 2) имя и набор столбцов - схема таблицы 3) имя и тип данных - характеристики столбца При создании таблицы, мы определяем ее схему. Данные хранятся в строках таблицы.

Back

TRUNCATE

Front

TRUNCATE удаляет все строки из таблицы. Триггеры не сработают и операцию нельзя будет отменить. TRUNCATE работает быстрее, чем DELETE и не использует табличное пространство UNDO, как DELETE. Использование не совсем безопасно при любых обстоятельствах.

Back

Какие запросы используется в колоночных БД?

Front

Если транзакционным приложениям свойственны очень частые мелкие операции добавления или изменения одной или нескольких записей (insert/update), то в случае аналитических систем картина прямо противоположная - наибольшая нагрузка создается сравнительно редкими, но тяжелыми выборками (select) сотен тысяч и миллионов записей, часто с группировками и расчетом итоговых значений (так называемых агрегатов). Количество операций записи при этом невысоко, нередко менее 1% общего числа. Причем часто запись идет крупными блоками (bulk load).

Back

DCL (Data Control Language)

Front

Состоит из средств, которые определяют, разрешить ли пользователю выполнять определенные действия или нет.

Back

Как выбрать строку по дате?

Front

SELECT memid, surname, firstname, joindate FROM cd.members WHERE joindate > TO_TIMESTAMP('2012-09-01','YYYY-MM-DD'); select memid, surname, firstname, joindate from cd.members where joindate >= '2012-09-01';

Back

Что такое кластер?

Front

Совокупность БД под управлением сервера

Back

Что такое схема?

Front

Пространство имен

Back

Что такое SQL?

Front

SQL (ОБЫЧНО ПРОИЗНОСИМАЯ КАК "СЭКВЭЛ") символизирует собой Структурированный Язык Запросов. Это — язык который дает вам возможность создавать и работать в реляционных базах данных, которые являются наборами связанной информации, сохраняемой в таблицах

Back

DROP

Front

Команда DROP удаляет таблицу из базы данных. Все строки таблицы, индексы и привелегии удалаются. DML триггеры не вызываются. Операция не может быть отменена. DROP TABLE IF EXISTS mytable;

Back

Как узнать студентов, которые посещали те же курсы, что и Алиса, если мы не знаем список курсов?

Front

SELECT * FROM Students WHERE course IN (SELECT * FROM Students WHERE name='Aлиса');

Back

Что такое БД?

Front

Совокупность таблиц и схем

Back

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

Front

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

Back

Section 2

(15 cards)

Приведение типов в PostgreSQL

Front

Два двоеточия. SELECT 'Sep 12, 2016'::date; Или функция CAST SELECT CAST ('100' AS INTEGER);

Back

Предположим, что менеджер магазина просит вас найти покупателя, который не помнит точно имя. Он просто помнит, что имя клиента начинается с чего-то вроде Джен. Как вы найдете точного покупателя, о котором спрашивает менеджер магазина?

Front

С помощью оператора LIKE. SELECT first_name, last_name FROM customer WHERE first_name LIKE 'Jen%';

Back

С помощью какого оператора можно реализовать логику IF/ELSE?

Front

С помощью оператора CASE. CASE WHEN condition_1 THEN result_1 WHEN condition_2 THEN result_2 [WHEN ...] [ELSE result_n] END as smth

Back

Если вы хотите пропустить количество строк перед возвратом n строк?

Front

Вы используете предложение OFFSET, помещенное после предложения LIMIT, в качестве следующего оператора. SELECT * FROM table LIMIT n OFFSET m;

Back

Когда вы запрашиваете данные из таблицы, PostgreSQL возвращает строки в неуказанном порядке. Как отсортировать набор результатов?

Front

вы используете предложение ORDER BY в операторе SELECT. SELECT column_1, column_2 FROM table_name ORDER BY column_1 [ASC | DESC], column_2 [ASC | DESC];

Back

Как убрать дупликаты из набора результатов?

Front

Предложение DISTINCT используется в операторе SELECT для удаления повторяющихся строк из набора результатов. SELECT DISTINCT column_1 FROM table_name;

Back

Как вывести только определенное количество строк в результате?

Front

С помощью LIMIT. SELECT * FROM table_name LIMIT n;

Back

В каком порядке выполняются триггеры?

Front

Алфавитном

Back

Чем отличается оператор BETWEEN и IN?

Front

В отличии от определения по номерам из набора, как это делает IN, BETWEEN определяет диапазон, значения которого должны уменьшаться что делает предикат верным.

Back

С помощью какого оператора можно найти строки, которые входят в список допустимых значений?

Front

Вы используете оператор IN в предложении WHERE, чтобы проверить, соответствует ли значение какому-либо значению в списке значений. SELECT * FROM Salespeople WHERE city IN ( 'Barcelona', 'London' );

Back

Как в postgres хранить древовидные структуры?

Front

ltree

Back

ILIKE

Front

Ключевое слово ILIKE можно использовать вместо LIKE, чтобы сопоставить регистр без учета регистра в соответствии с активной локалью.

Back

С помощью какого оператора можно найти строки, которые входят в заданный диапазон?

Front

Вы используете оператор BETWEEN для сопоставления значения с диапазоном значений. value BETWEEN low AND high;

Back

Разница между % и _ в операторе LIKE

Front

Процент (%) для сопоставления любой последовательности символов. Подчеркивание (_) который соответствует в точности одному любому символу.

Back

Суррогатный ключ

Front

Это уникальный ключ, назначение которого — только идентифицировать строки в таблице. Например, id. Зачастую для него используются целочисленные значения. Такому ключу не соответствует никакое свойство никакой сущности реального мира.

Back