
- •2. Перечислите основные функции системы управления базами данных и охарактеризуйте их.
- •Управление данными во внешней памяти;
- •Управление буферами оперативной памяти;
- •Управление транзакциями;
- •Ведение журнала изменений в бд;
- •Поддержка языков бд.
- •Обеспечение целостности и безопасности бд.
- •3. Охарактеризуйте типовую организацию системы управления базами данных.
- •4. Раскройте сущность понятия «модель представления данных». Перечислите и опишите виды моделей данных.
- •6. Перечислите и охарактеризуйте основные виды связей реляционной базы данных. Приведите примеры. Перечислите достоинства связывания таблиц.
- •7. Напишите, как вы понимаете контроль целостности связей. Опишите действие контроля целостности при манипулировании данными в таблицах на примере связи 1:м.
- •Ввод новых записей.
- •16. Опишите функции преобразования символов в строке (lower, upper, initcap), строковые функции (lpad, ltrim, substr, instr, length и др.), функции работы с числами. Приведите примеры.
- •17. Опишите функции преобразования типов данных: cast, convert; и функции агрегирования. Приведите примеры.
- •18. Опишите назначение ключевых слов group by, having, order by оператора select. Приведите примеры использования указанных ключевых слов.
- •19. Вложенный подзапрос. Перечислите и дайте характеристику видам вложенных подзапросов. Приведите примеры. Опишите использование операторов any, all с операторами сравнения.
- •20. Перечислите и охарактеризуйте команды, предназначенные для модификации данных: вставка, обновление, удаление. Приведите примеры.
17. Опишите функции преобразования типов данных: cast, convert; и функции агрегирования. Приведите примеры.
Для явного преобразования данных из одного типа в другой в SQL используются функции CAST или CONVERT. Синтаксис этих функций:
CAST (Выражение AS Тип_данных[(Длина)])
CONVERT (Тип_данных[(Длина)], Выражение [, Стиль]), где
Выражение — любое SQL-выражение либо название столбца;
Тип_данных — тип данных, в формате которого представляется данное выражение. Может использоваться числовой, символьный тип или тип дата-время;
Длина — длина поля вывода для символьных типов данных;
Стиль — формат представления данных при конвертировании данных типа дата-время, или числовых типов в символьные типы.
Функции CAST и CONVERT используются при конвертировании символьного типа в числовой тип или тип дата-время и наоборот из числового типа или типа дата-время в символьный тип.
• Любое числовое выражение может быть явно преобразовано в любой другой числовой тип;
• В результате преобразования символьного выражения в числовой тип отсекаются начальные и конечные пробелы, а остальные символы преобразуются в числовое значение по правилам языка SQL;
• Если явно заданная длина символьного типа недостаточна и преобразованное значение не размещается в нем, то результативное значение усекается справа;
• Возможно явное преобразование символьного типа в символьный, но с другой длиной. Если длина результата больше длины аргумента, то значение дополняется пробелами; если меньше, то усекается;
• NULL-значение преобразуется в NULL-значение соответствующего типа.
Пример
SELECT CAST (STUDENT_ID AS CHAR(10))
FROM STUDENT;
Агрегирующие функции позволяют получать из таблицы сводную (агрегированную) информацию, выполняя операции над группой строк таблицы. Для задания в SELECT-запросе агрегирующих операций используются следующие ключевые слова:
• COUNT определяет количество строк или значений столбца, выбранных посредством запроса и не являющихся NULL-значениями;
• SUM вычисляет арифметическую сумму всех выбранных значений данного столбца;
• AVG вычисляет среднее значение для всех выбранных значений данного столбца;
• МАХ вычисляет наибольшее из всех выбранных значений данного столбца;
• MIN вычисляет наименьшее из всех выбранных значений данного столбца.
Для функций SUM и AVG рассматриваемый столбец обязательно должен содержать числовые значения.
В функциях под столбцом понимают, столбец виртуальной таблицы, в которой могут содержаться данные не только из столбца базовой таблицы, но и данные, полученные путем преобразования. При этом выражение, определяющее столбец такой таблицы, может быть сколь угодно сложным, но не должно содержать агрегирующие функций (вложенность агрегирующих функций не допускается). Однако из агрегирующих функций можно составлять любые выражения.
Аргументу всех функций, кроме COUNT(*), может предшествовать ключевое слово DISTINCT (различный), указывающее, что избыточные дублирующие значения должны быть исключены перед тем, как будет применяться функция. Специальная же функция COUNT(*) служит для подсчета всех без исключения строк в таблице (включая дубликаты).
Если в запросе, использующем агрегирующие функции, не используется фраза GROUP BY, то в перечень элементов оператора SELECT можно включать лишь агрегирующие функции или выражения, содержащие такие функции. Другими словами, нельзя иметь в списке столбцы, не являющихся аргументами агрегирующих функций.
Например, из таблицы книги, необходимо вывести максимальную сумму, которую можно получить при продаже всех одинаковых книг, среднюю цену продаваемых книг, количество авторов книг продаваемых в магазине
SELECT MAX(Кол_Кн*Цена), AVG(Цена), COUNT(DISTINCT Автор)
FROM КНИГИ;