
- •Введение Тема 1.1. Понятие и классификация автоматизированных информационных систем
- •Тема 1.2 Жизненный цикл аис и модели жизненного цикла аис Жизненный цикл аис
- •Модели жизненного цикла аис
- •Тема 1.3. Методология и технология проектирования аис. Типовое проектирование аис
- •Тема 2.1.Этапы анализа предметной области
- •Тема 2.2 Методологии описания предметной области
- •Тема 2.3 Системы автоматизированного проектирования аис
- •I Этапы развития саsе-систем
- •II Классификация саsе-средств
- •Тема 3.1 Основы современных систем управления базами данных. Критерии выбора субд при создании аис
- •Основные технические характеристики субд
- •Тема 3.2 Базовые понятия реляционных баз данных. Проектирование реляционных баз данных с использованием нормализации
- •Тема 3.4. Язык структурных запросов MySql. Установка MySql 5
- •Тема 3.5. Создание данных и таблиц. Типы данных. Удаление баз и таблиц. Редактирование структуры таблиц.
- •10.4. Преобразование таблицы
- •Тема 3.6. Добавление данных. Удаление данных. Обновление данных.
- •Тема 3.7. Выборка данных. Однотабличные запросы.
- •Тема 3.8 MySql. Выборка данных. Многотабличные запросы
- •Тема 3.9 MySql. Работа с функциями. Поиск данных.
- •Возможные решения
- •Тип столбца Null
- •Задания
- •Возможные решения
- •Строковые функции
- •Ascii(строка) ord(строка)
- •Concat(строка1, строка2, ...)
- •Concat_ws(разделитель, строка1, строка2, ...)
- •Conv(n, основание_начальное, основание_конечное)
- •Elt(n, строка1, строка2, строкаЗ, ...)
- •Field(строка, строка1, строка2, строка3, ...)
- •Find_in_set(строка, список_строк)
- •Substring_index(строка, разделитель, количество)
- •Trim([[both | leading | trailing] [удаляемая_строка] from] строка)
- •Uncompress(строка_для_распаковки)
- •Unhex(строка)
- •Архитектура odbc
- •Функции odbc api
- •Соотношение стандарта odbc и стандарта интерфейса уровня вызовов (cli)
- •Создание источника данных
- •Утилита odbc
- •Создание источника данных с использованием odbc api
- •Коды возврата
- •Тема 4.3 Разработка клиентского программного обеспечения Тема 4.5 Основные элементы клиентских программ (интерфейс пользователя, справочная система, инсталляционный пакет и т.Д.)
- •Разработка функциональных требований к проекту программного продукта
- •Разработка внешнего дизайна
- •Основные свойства пользовательского интерфейса
- •Естественность интерфейса
- •Согласованность интерфейса
- •Дружественность интерфейса (принцип «прощения» пользователя)
- •Принцип «обратной связи»
- •Простота интерфейса
- •Гибкость интерфейса
- •1. Фиксированная
- •Косметическая.
- •Тема 5.1 Этапы и виды технологических процнссов обработки информации. Тех.Процесс преобразования информации
- •Понятие информационной технологии
- •Технологический процесс преобразования информации
- •Тема 5.4 Методы и средства сбора и передачи данных
- •Тема 5.5 Резервное копирование базы данных и последующее восстановление Резервное копирование базы данных и последующее восстановление
- •Модели восстановления базы данных
- •Тема 5.6 Типы методов резервирования Типы методов резервирования
- •Тема 5.7 Планирование стратегии резервирования
- •Тема 5.8 Экспортирование структур баз данных
- •Тема 5.9 Восстановление информации в базах данных
Возможные решения
mysql> select e_id, birth_date, p_email
-> from employee_per
-> where month(birth_date) = 4;
Результат запроса представлен на рис. 9.12.
Рис. 9.12. Сотрудники, родившиеся в апреле
или
mysql> select e_id, birth_date, p_email
-> from employee_per
-> where MONTHNAME(birth_date) = 'April';
Результат аналогичен рис. 9.12.
mysql> select e_id, birth_date, s_name
-> from employee_per where
-> YEAR(birth_date) = 1968
-> ORDER BY s_name;
Результат запроса представлен на рис. 9.13.
Рис. 9.13. Сотрудники 1968 года рождения, с сортировкой по именам
Примечание: Значение NULL показано в самом верху. Более подробно значение NULL будет рассмотрено ниже.
mysql> select e_id from employee_per
-> where month(birth_date) = month(current_date);
Результат запроса представлен на рис. 9.14.
Рис. 9.14. Сотрудники родившиеся в этом месяце
mysql> select distinct year(birth_date) from employee_per;
Результат запроса представлен на рис. 9.15.
Рис. 9.15. Уникальные годы рождения
mysql> select year(birth_date) as Year,
-> count(*) from employee_per
-> GROUP BY Year;
Результат запроса представлен на рис. 9.16.
Рис. 9.16. Количество сотрудников, родившихся в каждом году
mysql> select MONTHNAME(birth_date) AS Month,
-> count(*) AS Number
-> from employee_per
-> GROUP BY Month
-> ORDER BY Number DESC;
Результат запроса представлен на рис. 9.17.
Рис. 9.17. Количество сотрудников, родившихся в каждом месяце
Тип столбца Null
В этой лекции мы уже встречались с типом NULL. Теперь рассмотрим его подробнее.
Тип столбца NULL является специальным значением. Чтобы вставить значение NULL, удалите просто имя столбца из оператора INSERT. Столбцы содержат NULL по умолчанию, если только не определены как NOT NULL. Значение null может использоваться для целочисленных, а также текстовых или двоичных данных.
NULL нельзя сравнивать с помощью арифметических операторов. Сравнение для NULL можно делать с помощью IS NULL или IS NOT NULL.
select e_id, children
from employee_per
where children IS NOT NULL;
Результат запроса представлен на рис. 9.18.
Рис. 9.18. Сотрудники, имеющие детей
Приведенная выше команда выводит идентификаторы и количество детей сотрудников, у которых есть дети.
Задания
Найти и вывести идентификаторы и имена супругов всех сотрудников, которые состоят в браке.
Изменить предыдущее задание так, чтобы вывод был отсортирован по именам супругов.
Сколько имеется сотрудников каждого пола (мужчин и женщин)?
Сколько сотрудников состоят в браке, и сколько холостых?
Найдите общее число детей.
Сделайте уникальные группы по количеству детей и определите число детей каждой группы. Отсортируйте вывод групп по убыванию по количеству детей.
Возможные решения
mysql> select e_id, s_name
-> from employee_per
-> where m_status = 'Y';
или
mysql> select e_id, s_name
-> from employee_per
-> where s_name IS NOT NULL;
mysql> select e_id, s_name
-> from employee_per
-> where m_status = 'Y'
-> ORDER BY s_name;
mysql> select e_id, s_name
-> from employee_per
-> where s_name IS NOT NULL
-> ORDER BY s_name;
mysql> select sex, count(*)
-> from employee_per
-> GROUP BY sex;
mysql> select m_status, count(*)
-> from employee_per
-> GROUP BY m_status;
mysql> select sum(children) from employee_per;
mysql> select children, count(*) AS
-> число from employee_per
-> GROUP BY children
-> ORDER BY number DESC;