- •Общие сведения Сведения об эумк
- •Методические рекомендации по изучению дисциплины
- •Рабочая учебная программа
- •Учреждение образования
- •«Белорусский государственный университет
- •Информатики и радиоэлектроники»
- •Пояснительная записка
- •Содержание дисциплины
- •1. Название тем лекционных занятий, их содержание, объем в часах.
- •2 Перечень тем ипр их наименование и объем в часах
- •3 Перечень тем контрольных работ их наименование и объем в часах
- •4. Курсовая работа, ее характеристика
- •Перечень тем курсовых работ
- •5. Литература
- •5.1 Основная
- •5.2 Дополнительная
- •6. Перечень компьютерных программ, наглядных и других пособий, методических указаний и материалов и технических средств обучения
- •7. Учебно-методическая карта дисциплины
- •1.1.2. Классификация субд
- •1.2. Субд начального уровня – MySql
- •1.2.1. Введение в MySql
- •1.2.2. Подготовка к работе с MySql
- •1.2.3. Создание базы данных, основы работы с таблицами MySql
- •1.2.4. Типы данных столбцов MySql
- •1.2.5. Работа с таблицами MySql
- •1.2.6. Логические операторы MySql
- •1.2.7. Команды обработки данных MySql
- •1.2.8. Математические функции MySql
- •1.2.9. Работа с датой и временем в MySql
- •1.2.10. Работа со строками в MySql
- •1.2.11. Дополнительные функции MySql
- •1.3. Субд корпоративного уровня – ms sql Server
- •1.3.1. Общая теория запросов sql
- •1.3.2. Имена в sql
- •1.3.3. Типы данных
- •1.3.4. Константы
- •1.3.5. Выражения
- •1.3.6. Встроенные функции
- •1.3.7. Отсутствующие значения (значения null)
- •1.3.8. Простые запросы sql на выборку данных
- •1.3.9. Предложение select
- •1.3.10. Предложение from
- •1.3.11. Вычисляемые столбцы
- •1.3.12. Выборка всех столбцов (инструкция select *)
- •1.3.13. Повторяющиеся строки (предикат distinct)
- •1.3.14. Отбор строк (предложение where)
- •1.3.15. Условия отбора
- •1.3.16. Составные условия отбора (операторы and, or и not)
- •1.3.17. Сортировка результатов запроса (предложение order by)
- •1.3.18. Правила выполнения однотабличных запросов
- •1.3.19. Сложные запросы
- •1.3.20. Запросы на объединение и повторяющиеся строки
- •1.3.21. Запросы на объединение и сортировка
- •1.3.22. Вложенные запросы на объединение
- •1.3.23. Многотабличные запросы на выборку
- •1.3.24. Запросы с использованием отношения предок/потомок
- •1.3.25. Запросы на выборку к трём и более таблицам
- •1.3.26. Объединение таблиц по неравенству
- •1.3.27. Особенности многотабличных запросов
- •1.3.28. Самообъединения
- •1.3.29. Производительность при обработке многотабличных запросов
- •1.3.30. Умножение таблиц
- •1.3.31. Правила выполнения многотабличных запросов на выборку
- •1.3.32. Внешнее объединение таблиц
- •1.3.33. Левое и правое внешние объединения
- •1.4. Способы взаимодействия программных средств в субд
- •1.4.1. Доступ к базе данных на стороне сервера
- •1.4.2. Доступ к базе данных на стороне клиента
- •1.5. Современные тенденции развития субд
- •1.5.1. Введение
- •1.5.2. Как предсказать тенденции развития субд
- •1.5.3. Эволюционный подход
- •1.5.4. Тенденции развития
- •1. Виртуализация ресурсов и grid-технологии
- •2. Встраивание Information Life Cycle Management (ilm) в субд
- •3. Самоуправление, самодиагностика, самолечение
- •4. Real Application Testing – механизмы промышленного тестирования версий и изменений
- •5. Совершенствование архитектур максимальной доступности
- •6. Включение измерения времени в субд
- •7. Поддержка новых типов данных (xml, rfid, Semantic Web, геном, медицина, быстрые lob и т.Д.)
- •8. Умные механизмы сжатия и дедублирования
- •9. Совершенствование методов защиты данных
- •11. Облачные вычисления (Cloud computing)
- •12. Машины баз данных
- •2.1.2. Администрирование ms sql Server
- •2.2. Повышение надёжности баз данных
- •2.2.1. Обеспечение сохранности данных в MySql
- •2.2.2. Обеспечеие сохранности данных в ms sql Server
- •2.3. Повышение производительности баз данных
- •2.3.1. Повышение производительности MySql
- •2.3.2. Повышение производительности ms sql Server
- •2.4. Повышение безопасности бд
- •2.4.1. Безопасность MySql
- •2.4.2. Безопасность ms sql Server
- •2.5. Модернизация бд в процессе эксплуатации
- •2.5.1. Расширение возможностей MySql
- •2.5.2. Распределённые базы данных
- •Указания по выбору варианта
- •Курсовое проектирование Методические указания по выполнению
- •Цель проектирования
- •Теоретические положения Основные понятия баз данных
- •Этапы проектирования базы данных
- •Модели данных
- •Нормальные формы отношений
- •Задания к выполнению курсового проекта
- •Указания по выбору варианта
- •Правила оформления выполненных заданий
- •Пример проектирования базы данных
1.2.8. Математические функции MySql
Математические функции MySQL
Описанные ниже функции выполняют различные математические операции. В качестве аргументов большинство из них принимает числа с плавающей запятой и возвращает результат аналогичного типа.
ABS(число)
Эта функция возвращает модуль числа
На рисунках приведены примеры работы с функцией ABS.
Рисунок 1.2.8.1 – Модуль числа
Рисунок 1.2.8.2 – Модуль числа
ASIN(число)
Эта функция возвращает арксинус числа. Диапазон допустимых значений – от -1 до 1. Вне этого диапазона значение арксинуса не определено.
На рисунках приведены примеры работы с функцией ASIN.
Рисунок 1.2.8.3 – Арксинус числа
Рисунок 1.2.8.4 – Арксинус числа
Рисунок 1.2.8.5 – Арксинус числа
ACOS(число)
Эта функция возвращает арккосинус числа. Диапазон допустимых значений – от 1 до 1. Вне этого диапазона значение арккосинуса не определено.
На рисунках приведены примеры работы с функцией ACOS.
Рисунок 1.2.8.6 – Арккосинус числа
Рисунок 1.2.8.7 – Арккосинус числа
Рисунок 1.2.8.8 – Арккосинус числа
ATAN(число)
Эта функция возвращает арктангенс числа.
На рисунках приведены примеры работы с функцией ATAN.
Рисунок 1.2.8.9 – Арктангенс числа
Рисунок 1.2.8.10 – Арктангенс числа
Рисунок 1.2.8.11 – Арктангенс числа
ATAN2(число1, число2)
Эта функция возвращает угол в радианах точки с заданными координатами.
На рисунках приведены примеры работы с функцией ATAN2.
Рисунок 1.2.8.12 – Угол по координатам точки
Рисунок 1.2.8.13 – Угол по координатам точки
Рисунок 1.2.8.14 – Угол по координатам точки
CEILING(число)
CEIL(число)
Эта функция округляет число до ближайшего большего целого числа.
На рисунках приведены примеры работы с функцией CEIL.
Рисунок 1.2.8.15 – Функция CEIL
Рисунок 1.2.8.16 – Функция CEIL
Рисунок 1.2.8.17 – Функция CEIL
COS(число)
Возвращает косинус числа
На рисунке приведен пример работы с функцией COS.
Рисунок 1.2.8.18 – Косинус числа
COT(число)
Возвращает котангенс числа.
На рисунках приведены примеры работы с функцией COT.
Рисунок 1.2.8.19 – Котангенс числа
Рисунок 1.2.8.20 – Котангенс числа
CRC32(выражение)
Вычисляет проверочное значение в циклическом избыточном коде и возвращает 32-разрядное целое. Результат равен NULL, если передается аргумент NULL. Ожидается, что аргумент будет строкой, и будет рассматриваться в качестве таковой в противном случае.
На рисунке приведен пример работы с функцией CRC32.
Рисунок 1.2.8.21 – Циклический избыточный код
DEGREES(число)
Возвращает аргумент, преобразованный из радианов в градусы.
На рисунке приведен пример работы с функцией DEGREES.
Рисунок 1.2.8.22 – Преобразование из радианов в градусы
ЕХР(число)
Эта функция возводит число e (основание натурального логарифма) в заданную степень.
На рисунках приведены примеры работы с функцией EXP.
Рисунок 1.2.8.23 – Экспонента
Рисунок 1.2.8.24 – Экспонента
FLOOR(число)
Эта функция округляет число до ближайшего меньшего целого числа.
На рисунках приведены примеры работы с функцией FLOOR.
Рисунок 1.2.8.25 – Функция FLOOR
Рисунок 1.2.8.26 – Функция FLOOR
Рисунок 1.2.8.27 – Функция FLOOR
GREATEST(...)
Эта функция возвращает наибольшее значение из списка. Она может работать как с числами, так и со строками.
На рисунке приведен пример работы с функцией GREATEST.
Рисунок 1.2.8.28 – Наибольшее значение из списка
LEAST(...)
Функция возвращает наименьшее значение из списка.
На рисунке приведен пример работы с функцией LEAST.
Рисунок 1.2.8.29 – Наименьшее значение из списка
LN(число)
LOG(число)
Эта функция возвращает натуральный логарифм числа.
На рисунках приведены примеры работы с функцией LN.
Рисунок 1.2.8.30 – Натуральный логарифм числа
Рисунок 1.2.8.31 – Натуральный логарифм числа
LOG(число1, число2)
При вызове с одним параметром функция LOG возвращает натуральный логарифм числа, а при вызове с двумя параметрами - возвращает логарифм числа2 по основанию число1.
На рисунках приведены примеры работы с функцией LOG.
Рисунок 1.2.8.32 – Логарифм числа по основанию
Рисунок 1.2.8.33 – Логарифм числа по основанию
LOG(число1, число2) эквивалентна LOG(число2) / LOG(число1).
LOG2(число)
Возвращает логарифм числа по основанию 2.
На рисунках приведены примеры работы с функцией LOG.
Рисунок 1.2.8.34 – Логарифм числа по основанию 2
Рисунок 1.2.8.35 – Логарифм числа по основанию 2
Функция LOG2() удобна для того, чтобы определить, сколько бит потребуется для сохранения числа. Вместо нее можно использовать LOG(число) /LOG(2).
LOG10(число)
Возвращает логарифм числа по основанию 10.
На рисунках приведены примеры работы с функцией LOG10.
Рисунок 1.2.8.36 – Десятичный логарифм
Рисунок 1.2.8.37 – Десятичный логарифм
Рисунок 1.2.8.38 – Десятичный логарифм
MOD(число1, число2)
число1 % число2
число1 MOD число2
Эта функция возвращает остаток от деления первого числа на второе подобно оператору %.
На рисунках приведены примеры работы с функцией MOD.
Рисунок 1.2.8.39 – Остаток от деления
Рисунок 1.2.8.40 – Остаток от деления
Рисунок 1.2.8.41 – Остаток от деления
Рисунок 1.2.8.42 – Остаток от деления
PI()
Возвращает значение числа . По умолчанию отображается пять знаков после десятичной запятой, но внутренне MySQL использует полное представление действительного числа двойной точности.
На рисунках приведены примеры работы с функцией PI.
Рисунок 1.2.8.43 – Число Пи
Рисунок 1.2.8.44 – Число Пи
POW(число1, число2)
POWER(число1, число2)
Возвращает значение число1, возведенное в степень число2.
На рисунках приведены примеры работы с функцией POW.
Рисунок 1.2.8.45 – Возведение числа в степень
Рисунок 1.2.8.46 – Возведение числа в степень
Рисунок 1.2.8.47 – Возведение числа в степень
RADIANS(число)
Возвращает аргумент, преобразованный из градусов в радианы.
На рисунках приведены примеры работы с функцией RADIANS.
Рисунок 1.2.8.48 – Преобразование из градусов в радианы
Рисунок 1.2.8.49 – Преобразование из градусов в радианы
RAND([число])
Возвращает случайное число двойной точности в диапазоне от 0 до 1. Если указан целочисленный аргумент, он служит начальным числом для генератора случайных чисел (генерируя повторяющуюся последовательность). Если аргумент отсутствует, используется значение системных часов.
На рисунках приведены примеры работы с функцией RAND.
Рисунок 1.2.8.50 – Создание случайных чисел
Рисунок 1.2.8.51 – Создание случайных чисел
Функцию можно использовать для извлечения строк в случайном порядке.
mysql> SELECT * FROM имя_таблицы ORDER BY RAND();
ORDER BY RAND() в комбинации с LIMIT удобно для выбора случайного примера из набора строк:
mysql> SELECT * FROM tablel, table2 WHERE a=b AND c<d
-> ORDER BY RAND() LIMIT 1000;
Следует отметить, что RAND() в конструкции WHERE вычисляется заново при каждом выполнении WHERE.
ROUND(число [, точность])
Эта функция округляет число с плавающей запятой до целого числа или, если указан второй аргумент, до заданного количества цифр после запятой. Если точность отрицательная, обнуляется целая часть числа.
На рисунках приведены примеры работы с функцией ROUND.
Рисунок 1.2.8.52 – Округление числа
Рисунок 1.2.8.53 – Округление числа
Рисунок 1.2.8.54 – Округление числа
Рисунок 1.2.8.55 – Округление числа
Рисунок 1.2.8.56 – Округление числа
Рисунок 1.2.8.57 – Округление числа
Следует отметить, что поведение ROUND(), когда аргумент точно на середине отрезка между двумя целыми, зависит от реализации библиотеки С. Различные реализации округляют до ближайшего четного, либо всегда в большую сторону, либо всегда в меньшую сторону, либо в сторону ближайшего нуля. Если вам нужно иметь предсказуемое поведение в этом случае, применяйте вместо этой функции TRUNCATE() ИЛИ FLOOR().
SIGN(число)
Возвращает знак аргумента как -1, 0 или 1, в зависимости от того, число отрицательное, нуль или положительное.
На рисунках приведены примеры работы с функцией SIGN.
Рисунок 1.2.8.58 – Знак числа
Рисунок 1.2.8.59 – Знак числа
Рисунок 1.2.8.60 – Знак числа
SIN(число)
Эта функция возвращает синус числа в радианах.
На рисунках приведены примеры работы с функцией SIN.
Рисунок 1.2.8.61 – Синус числа
Рисунок 1.2.8.62 – Синус числа
SQRT(число)
Эта функция возвращает квадратный корень числа.
На рисунках приведены примеры работы с функцией SQRT.
Рисунок 1.2.8.63 – Квадратный корень
Рисунок 1.2.8.64 – Квадратный корень
Рисунок 1.2.8.65 – Квадратный корень
TAN(число)
Возвращает тангенс числа.
На рисунке приведен пример работы с функцией TAN.
Рисунок 1.2.8.66 – Тангенс числа
TRUNCATE(число1, число2)
Возвращает число1 с дробной частью, усеченной до число2 десятичных разрядов. Если число2 равно 0, результат не имеет точки и дробной части. Если число2 отрицательное, целая часть числа длиной число2 обнуляется.
На рисунках приведены примеры работы с функцией TRUNCATE.
Рисунок 1.2.8.67 – Усечение числа
Рисунок 1.2.8.68 – Усечение числа
Рисунок 1.2.8.69 – Усечение числа
Рисунок 1.2.8.70 – Усечение числа
Рисунок 1.2.8.71 – Усечение числа
Все числа округляются в сторону нуля. Следует отметить, что десятичные числа обычно не хранятся в компьютерах именно в виде чисел, а в виде двоичных значений двойной точности, поэтому иногда результат может вызвать удивление (см. рисунок)
Рисунок 1.2.8.72 – Усечение числа
Это происходит потому, что 10.28 на самом деле сохраняется как 10.27999999999999...