Similar presentations:
Основы баз данных
1. Основы баз данных
Санкт-Петербургскийэлектротехнический
Университет «ЛЭТИ»
им. В.И. Ульянова (Ленина)
Основы баз данных
2024
2. Основы баз данных
База данныхупорядоченный набор структурированной информации или данных,
хранящийся в электронном виде
СУБД
это специализированное программное обеспечение, предоставляющее
пользователю базы данных возможность работать с ней, не вникая в
детали хранения информации на уровне программного обеспечения
База знаний
БД, содержащая правила вывода и информацию о человеческом опыте
и знаниях в некоторой предметной области
Проектирование
БД
процесс создания БД и определения необходимых ограничений
целостности
ИС / Основы баз данных
2
3. Основы баз данных
Преимущества БД1. Возможность сокращения избыточности.
2. Возможность устранения (до некоторой степени) противоречивости.
3. Возможность общего доступа к данным.
4. Возможность соблюдения стандартов.
5. Возможность введения ограничений
для обеспечения безопасности.
6. Возможность обеспечения целостности данных.
7. Возможность сбалансировать противоречивые
требования.
8. Возможность обеспечения независимости данных.
ИС / Основы баз данных
3
4. Основы баз данных: пользователи
Пользователи1. Программисты.
2. Администраторы базы данных.
3. Конечные пользователи.
Функции администратора БД
1. Установка и настройка.
2. Интеграция.
3. Безопасность.
4. Автоматизация.
5. Резервирование.
6. Интеграция.
ИС / Основы баз данных
4
5. Основы баз данных: пользователи
Функции администратора БДИС / Основы баз данных
5
6. Основы баз данных: СУБД
Основные задачи1. Управление данными.
2. Поддержка языков БД.
3. Журнализация изменений.
4. Резервное копирование и восстановление БД после сбоев.
5. Обеспечение безопасности и целостности данных.
6. Настройка и управление производительностью.
ИС / Основы баз данных
6
7. Основы баз данных: СУБД
Основные компоненты1. Язык запросов – используется для создания запросов к БД, например, SQL.
2. Ядро СУБД – основной компонент, который обеспечивает выполнение
запросов и доступ к данным.
3. Драйверы – программное обеспечение, необходимое для обеспечения
взаимодействия между СУБД и приложениями, например, ODBC.
4. Административная консоль – интерфейс для управления БД, включая
создание таблиц, пользователей и управление правами доступа.
5. Библиотеки – наборы программных модулей, которые можно использовать
для создания приложений, использующих базу данных.
6. Хранилище данных – физическое устройство или набор устройств, где
содержится вся информация, например, жесткий диск.
7. Сервисные программы – приложения, обеспечивающие ряд
дополнительных возможностей по обслуживанию.
ИС / Основы баз данных
7
8. Основы баз данных: СУБД
ВидыСУБД
Непосредственно
управляющие БД
(Interbase, Firebird,
MySQL)
ИС / Основы баз данных
Комплексные
(Access, Oracle, MS SQL Server)
Обслуживающие БД
(IBExpert, phpMyAdmin)
8
9. Основы баз данных: БД и СУБД
Классификация1. Иерархические.
2. Сетевые.
Преимущества:
• развитые средства управления данными во внешней памяти на низком уровне;
• возможность построения вручную эффективных прикладных систем;
• возможность экономии памяти за счет разделения подобъектов (в сетевых
системах).
Недостатки:
слишком сложно пользоваться;
фактически необходимы знания о физической организации;
прикладные системы зависят от этой организации;
их логика перегружена деталями организации доступа к БД.
ИС / Основы баз данных
9
10. Основы баз данных: БД и СУБД
Классификация1. Иерархические.
Кафедра
Преподаватель 1
Преподаватель 2
...
Дисциплина 1
Группа 1
ИС / Основы баз данных
Группа K
Преподаватель N
...
Группа 2
Дисциплина L
...
Группа M
10
11. Основы баз данных: БД и СУБД
Классификация2. Сетевые.
Кафедра
Преподаватель 1
Преподаватель 2
...
Дисциплина 1
ИС / Основы баз данных
Преподаватель N
Дисциплина L
11
12. Основы баз данных: БД и СУБД
Классификация1. Реляционные.
2. Объектно-ориентированные.
3. Объектно-реляционные.
4. Нереляционные (NoSQL).
ИС / Основы баз данных
12
13. Основы баз данных: БД и СУБД
Классификация1. Реляционные.
ИС / Основы баз данных
13
14. Основы баз данных: БД и СУБД
Классификация2. Объектно-ориентированные.
ИС / Основы баз данных
14
15. Основы баз данных: БД и СУБД
Классификация3. Объектно-реляционные.
ИС / Основы баз данных
15
16. Основы баз данных: БД и СУБД
Классификация4. Нереляционные (NoSQL).
ИС / Основы баз данных
16
17. Основы баз данных: БД и СУБД
Классификация4. Нереляционные (NoSQL): ключ - значение
ИС / Основы баз данных
17
18. Основы баз данных: БД и СУБД
Классификация4. Нереляционные (NoSQL): Документо-ориентированные
ИС / Основы баз данных
18
19. Основы баз данных: БД и СУБД
Классификация4. Нереляционные (NoSQL):
Графовые
ИС / Основы баз данных
19
20. Основы баз данных: Архитектуры ИС
Классификация1. Локальные.
2. Удаленные.
1) Файл-сервер.
2) Клиент-сервер.
a) Двухуровневая.
b) Многоуровневая.
3) Распределенная.
ИС / Основы баз данных
20
21. Основы баз данных: Архитектуры ИС
ЛокальнаяПриложение
ИС / Основы баз данных
СУБД
21
22. Основы баз данных: Архитектуры ИС
Файл-сервернаяПриложение
СУБД
Локальная
копия БД
Устройство пользователя
••
••
••
Приложение
База
данных
Сервер
СУБД
Локальная
копия БД
Устройство пользователя
ИС / Основы баз данных
22
23. Основы баз данных: Архитектуры ИС
Клиент-сервернаяДвухуровневая
архитектура
ИС / Основы баз данных
Трехуровневая
архитектура
23
24. Основы баз данных: Архитектуры ИС
Двухуровневая клиент-серверная архитектураИС / Основы баз данных
24
25. Основы баз данных: Архитектуры ИС
Трехуровневая клиент-серверная архитектураИС / Основы баз данных
25
26. Основы баз данных: Архитектуры ИС
Трехуровневая клиент-серверная архитектураИС / Основы баз данных
26
27. Основы баз данных: Архитектуры ИС
ДостоинстваДвухуровневой архитектуры
снижение нагрузки на сеть;
повышение безопасности информации;
уменьшение сложности клиентских
приложений.
Трехуровневой архитектуры
разгрузка сервера от выполнения части
операций, перенесенных на сервер
приложений;
уменьшение размера клиентских
приложений;
единое поведение всех клиентов;
упрощение настройки клиентов.
ИС / Основы баз данных
27
28. Основы баз данных: Архитектуры ИС
Распределенная архитектураИС / Основы баз данных
28
29. Основы баз данных: Реляционные БД
Структура таблиц• описание полей;
• ключ;
• индексы;
• ограничения на значения полей;
• ограничения ссылочной целостности между таблицами
ИС / Основы баз данных
29
30. Основы баз данных: Реляционные БД
ИС / Основы баз данных30
31. Основы баз данных: Реляционные БД
Ключ обеспечивает• однозначную идентификацию записей таблицы;
• ускорение выполнения запросов к БД;
• установление связей между отдельными таблицами БД;
• использование ограничений ссылочной целостности.
Индексы обеспечивают
• увеличение скорости доступа (поиска) к данным;
• сортировку записей.
ИС / Основы баз данных
31
32. Основы баз данных: Реляционные БД
Правила построения ключей• ключ должен быть уникальным. У составного ключа значение отдельных полей (но
не всех одновременно) могут повторяться;
• ключ должен быть достаточным и не избыточным, т.е. не содержать поля, которые
можно удалить без нарушения уникальности ключа;
• в состав ключа не могут входить поля некоторых типов, например графическое
поле или поле комментария.
ИС / Основы баз данных
32
33. Основы баз данных: Реляционные БД
Ключи и индексы позволяют• однозначно идентифицировать записи;
• избегать дублирования значений в ключевых полях;
• выполнять сортировку таблиц;
• ускорять операции поиска в таблицах;
• устанавливать связи между отдельными таблицами БД;
• использовать ограничение ссылочной целостности.
ИС / Основы баз данных
33
34. Основы баз данных: Реляционные БД
Виды связей:• отношение «один-к-одному»;
• отношение «один-ко-многим»;
• отношение «много-к-одному»;
• отношение «много-ко-многим».
Особенности:
• при изменении (редактировании) поля связи может нарушиться связь между
записями двух таблиц. Поэтому при редактировании поля связи записи главной
таблицы нужно соответственно изменять и значение поля связи всех подчиненных
таблиц;
• при удалении записи главной таблицы нужно удалять и соответствующие ей записи в
подчиненной таблице (каскадное удаление);
• при добавлении записи в подчиненную таблицу значение ее поля связи должно быть
установлено равным значению поля связи главной таблицы.
ИС / Основы баз данных
34
35. Основы баз данных: Реляционные БД
Отношение «один-к-одному»Связь предполагает, что в каждый момент времени каждому представителю
(экземпляру) сущности А соответствует 1 или 0 представителей сущности В.
Например, работник может получать зарплату, притом только одну или на
каждую букву может быть только одно изображение.
ИС / Основы баз данных
35
36. Основы баз данных: Реляционные БД
Отношение «один-ко-многим»Связь (1:М) состоит в том, что в каждый момент времени одному
представителю сущности А соответствуют 0, 1 или несколько представителей
сущности В.
Например, в доме приживает много жильцов. В частности, дом может быть
незаселенным или на одной выставке могут выступать много собак.
ИС / Основы баз данных
36
37. Основы баз данных: Реляционные БД
Отношение «много-к-одному»Связь (1:М) состоит в том, что в каждый момент времени одному
представителю сущности А соответствуют 0, 1 или несколько представителей
сущности В.
Например, в доме приживает много жильцов. В частности, дом может быть
незаселенным или на одной выставке могут выступать много собак.
ИС / Основы баз данных
37
38. Основы баз данных: Реляционные БД
Отношение «много-ко-многим»Связь состоит в том, что в каждый момент времени множеству элементов А
соответствует множество элементов В. Этот тип связи в реляционных БД
непосредственно не поддерживается.
Например, у студентов учебные занятия по дисциплинам ведет множество
преподавателей.
ИС / Основы баз данных
38
39. Основы баз данных: Реляционные БД
Бизнес-правиламеханизмы управления БД и поддержание ее в целостном состоянии.
Реализуют следующие ограничения:
• задание допустимого диапазона значений;
• задание значения по умолчанию;
• требование уникальности значений;
• запрет пустого значения;
• ограничения ссылочной целостности.
ИС / Основы баз данных
39
40. Основы баз данных: Case-средства проектирования
Особенности1. Единый графический язык.
2. Единая БД проекта.
3. Интеграция средств.
4. Поддержка коллективной разработки
и управления проектом.
5. Макетирование.
6. Генерация документации.
7. Верификация проекта.
8. Автоматическая генерация программного кода.
9. Сопровождение и реинжиниринг.
ИС / Основы баз данных
40
41. Основы баз данных: Case-средства проектирования
Поддерживаемые методологии1. Структурная (алгоритмическая).
2. Объектно-ориентированная.
ИС / Основы баз данных
41
42. Основы баз данных: Case-средства проектирования
Классификациясредства моделирования предметной области;
средства анализа и проектирования;
технологии проектирования схем баз данных;
средства разработки приложений;
технологии реинжиниринга программного кода и схем баз данных.
ИС / Основы баз данных
42
43. Основы баз данных: Проектирование
Уровни разработки▪ внутренний (физический) – как организовываем и
храним данные;
▪ внешний – как представляем данные;
▪ концептуальный – как описываем предметную область
(определяем данные и их связи).
ИС / Основы баз данных
43
44. Основы баз данных: Проектирование
Основные этапы1. Моделирование предметной области.
2. Выделение объектов (сущностей).
3. Определение атрибутов сущностей.
4. Нормализация.
5. Разработка бизнес-правил.
ИС / Основы баз данных
44
45. Основы баз данных: Моделирование предметной области
Требования к моделямформализация, обеспечивающая однозначное описание структуры
предметной области;
понятность для заказчиков и разработчиков на основе применения
графических средств отображения модели;
реализуемость, подразумевающая наличие средств физической реализации
модели предметной области в ИС;
обеспечение оценки эффективности
реализации модели предметной
области на основе определенных
методов и вычисляемых показателей.
ИС / Основы баз данных
45
46. Основы баз данных: Моделирование предметной области
Система моделейСтруктурный
аспект
Объектная
структура
Функциональная
структура
Организационная
структура
ИС / Основы баз данных
Оценочный
аспект
Время решения
задач
Структура
управления
Техническая
структура
Стоимостные
затраты
Надежность
процессов
Косвенные показатели
эффективности
46
47. Основы баз данных: Моделирование предметной области
Графические нотации1. Нотации семейства IDEF
(IDEF0 – IDEF14).
2. UML (унифицированный язык
моделирования).
3. Нотация BPMN (моделирование бизнеспроцессов).
4. Нотации DFD (диаграммы потоков
данных).
5. Нотация EPC (событийная цепочка
процессов)
6. Нотации семейства ARIS (моделирование
бизнес-процессов).
ИС / Основы баз данных
47
48. Основы баз данных: Моделирование
Диаграммы потоков данныхИС / Основы баз данных
48
49. Основы баз данных: Моделирование
Диаграммы потоков данныхПоток данных или материальных объектов ориентирован в пространстве и
времени.
Процесс обеспечивает переработку входа в выход. Имя процесса должно
содержать глагол в неопределенной форме с последующим дополнением.
Хранилище данных ― место накопления материальных объектов или данных.
Имя хранилища должно определять его содержимое и быть существительным.
Внешняя сущность ― материальный объект вне контекста системы, источник
или приемник данных либо материальных объектов. Имя должно содержать
существительное.
ИС / Основы баз данных
49
50. Основы баз данных: Моделирование
ДПД: процессыИС / Основы баз данных
50
51. Основы баз данных: Моделирование
ДПД: потоки данныхИС / Основы баз данных
51
52. Основы баз данных: Моделирование
ДПД: активные объектыИС / Основы баз данных
52
53. Основы баз данных: Моделирование
ДПД: хранилища данныхИС / Основы баз данных
53
54. Основы баз данных: Моделирование
ДПД: потоки управленияИС / Основы баз данных
54
55. Основы баз данных: Моделирование
ER-диаграммы (IDEF1x)Сущность – это реальный или виртуальный объект, имеющий существенное
значение для рассматриваемой предметной области, информацию о котором
необходимо хранить в БД
Связь – это соединение двух сущностей, как правило, каждый экземпляр
одной сущности ассоциирован с произвольным
(в частном случае с нулевым) количеством экземпляров второй сущности, а
каждый экземпляр сущности-потомка ассоциирован в точности с одним
экземпляром сущности-родителя
Атрибут – является характеристикой сущности, значимой для
рассматриваемой предметной области
ИС / Основы баз данных
55
56. Основы баз данных: Моделирование
IDEF1x: СущностиСущность – представление класса реальных или абстрактных вещей (людей,
предметов, мест, событий, идей, комбинаций вещей и т.д.)
Специальность/2
Эталон/3
ИС / Основы баз данных
56
57. Основы баз данных: Моделирование
IDEF1x: СвязиИдентифицирующая
связь
Мощность связи
Не идентифицирующая
связь
ИС / Основы баз данных
57
58. Основы баз данных: Моделирование
IDEF1x: СвязиИдентифицирующая связь
ИС / Основы баз данных
Не идентифицирующая связь
58
59. Основы баз данных: Моделирование
IDEF1x: АтрибутыАтрибуты и первичные ключи
ИС / Основы баз данных
Примеры внешних ключей
59
60. Основы баз данных: Моделирование
IDEF1x: ПримерИС / Основы баз данных
60
61. Основы баз данных: Моделирование
IDEF1x: ПримерЗаказ
Клиент
id_з аказ а: INTEGER
id_ту ра: INTEGER (FK)
id_клиента: INTEGER (FK)
id_клиента: INTEGER
Тип_виз ы
id_типа_виз ы: INTEGER
Тип_виз ы: TEXT
Рейс
id_рейса: INTEGER
Дата_отправления: DATE
Дата_прибытия: DATE
Стоимость: INTEGER
id_вида_транспорта: INTEGER (FK)
номер_места: CHAR(4)
Станция_отправления: INTEGER (FK)
Станция_наз начения: INTEGER (FK)
id_виз ы: CHAR(18)
id_клиента: INTEGER (FK)
id_типа_виз ы: INTEGER (FK)
id_стату са_виз ы: INTEGER (FK)
Страна
id_страны: INTEGER
Страна: TEXT
id_оплаты: INTEGER
Паспорт
id_паспорта: CHAR(18)
Номер_паспорта: INTEGER
Серия_паспорта: INTEGER
Когда_выдан: DATE
id_клиента: INTEGER (FK)
id_подраз деления: INTEGER (FK)
id_клиента: INTEGER (FK)
id_типа_оплаты: INTEGER (FK)
id_стату са_оплаты: INTEGER (FK)
Тип_оплаты
id_типа_оплаты: INTEGER
Стату с_виз ы
Город
Стату с_оплаты
Стату с_виз ы: TEXT
id_города: INTEGER
id_стату са_оплаты: INTEGER
Город: TEXT
id_страны: INTEGER (FK)
Стату с_оплаты: TEXT
id_билета: INTEGER
id_рейса: INTEGER (FK)
id_ту ра: INTEGER (FK)
id_станции: INTEGER
Станция: TEXT
Тип_оплаты: TEXT
id_стату са_виз ы: INTEGER
Билет_на_транспорт
Станция
ФИО: TEXT
Номер_телефона: INTEGER
Дата_рождения: DATE
Виз а
Оплата
Ту р
id_ту ра: INTEGER
Стоимость: INTEGER
id_города: INTEGER (FK)
Дата_приез да: DATE
Дата_отъез да: DATE
Наз вание_ту ра: TEXT
id_номера: INTEGER
Подраз деление: TEXT
id_типа_номера: INTEGER (FK)
id_типа_раз мещения: INTEGER (FK)
id_отеля: INTEGER (FK)
Тип_номера
id_типа_номера: INTEGER
id_отеля: INTEGER
id_вида_транспорта: INTEGER
Отель_для_ту ра
id_отеля_для_ту ра: INTEGER
id_отеля: INTEGER (FK)
id_ту ра: INTEGER (FK)
ИС / Основы баз данных
Номер_в_отеле
id_подраз деления: INTEGER
Отель
Вид_транспорта
Вид_транспорта: TEXT
Подраз деление_выдавшее_паспорт
Количество_з вёз д: INTEGER
id_питания: INTEGER (FK)
Наз вание_отеля: TEXT
id_города: INTEGER (FK)
Тип_номера: TEXT
Питание
id_питания: INTEGER
Тип_питания: TEXT
Тип_раз мещения
id_типа_раз мещения: INTEGER
Тип_раз мещения: TEXT
61
62. Основы баз данных: Нормализация
Задачи1. Минимизация избыточности данных.
2. Определение связей между сущностями.
3. Упорядочивание данных в логические группы или
наборы.
Правила выделения сущностей
1. Значение атрибута имеет конечное множество
значений и оно больше 3.
2. Атрибут может иметь сразу несколько значений.
ИС / Основы баз данных
62
63. Основы баз данных: Нормализация
Пример НЕ нормализованной таблицыId_books
Theme
Author
Title
Type
Age
1
Программирование
Джехани Н.
Язык АДА
Учебник
1988
2
Web-дизайн
Учебник
2003
3
Эргономика
Учебник
2005
5
Эргономика
7
ИС
10
Web-дизайн
ИС / Основы баз данных
Начала Webдизайна
ЧеловекоМагазанник В.Д.,
компьютерное
Львов В.М.
взаимодействие
Бурков Е.А.,
Эргономическое
Падерно П.И.
проектирование
Сети и БД
Назаренко Н.А.
Смирнова И.Е.
Пауэлл Т.А.
Web-дизайн
Учебное
пособие
Методические
указания
Книга
2014
2010
2005
63
64. Основы баз данных: Нормализация
Пример нормализованной таблицыId_books
Id_Theme
Title
Id_Type
Age
1
1
Язык АДА
1
1988
2
2
Начала Web-дизайна
1
2003
3
3
Человеко-компьютерное
взаимодействие
1
2005
5
3
Эргономическое проектирование
2
2014
7
10
4
2
Сети и БД
Web-дизайн
3
4
2010
2005
ИС / Основы баз данных
64
65. Основы баз данных: Нормализация
Пример нормализованной таблицыId_Theme
Theme
Id_Type
Type
1
Программирование
1
Учебник
2
Web-дизайн
2
Учебное пособие
3
Эргономика
3
Методические указания
4
ИС
4
Книга
ИС / Основы баз данных
65
66. Основы баз данных: Нормализация
Пример нормализованной таблицыId_Author
Author
Id_Author_book
Id_books
Id_Author
1
Джехани Н.
1
1
1
2
Смирнова И.Е.
2
2
2
3
Магазанник В.Д.
3
3
3
4
Львов В.М.
4
3
4
5
Бурков Е.А.
5
5
5
6
Падерно П.И.
6
5
6
7
Назаренко Н.А.
7
7
7
8
Пауэлл Т.А.
8
10
8
ИС / Основы баз данных
66
67. Основы баз данных: SQL
Достоинства1. Независимость от конкретных СУБД.
2. Реляционная основа.
3. SQL обладает высокоуровневой структурой.
4. SQL позволяет создавать различные представления
данных для различных пользователей.
5. SQL является полноценным языком для работы с БД.
6. Единый стандарт.
ИС / Основы баз данных
67
68. Основы баз данных: SQL
Основные типы SQL-запросов по их видамИС / Основы баз данных
68
69. Основы баз данных: SQL
Структура оператора SQL-запросаИмя таблицы
Глагол
SELECT * FROM Students
Ключевые
слова
Предложения
WHERE StNo = 2
Имя столбца
ИС / Основы баз данных
Константа
69
70. Основы баз данных: SQL
Оператор выбораSelect
столбец
Что выбрать?
From
таблица
Откуда (из каких
таблиц)?
Where
условие
По какому условию?
Group by
столбец
Как сгруппировать?
Order by
столбец
Как отсортировать?
ИС / Основы баз данных
70
71. Основы баз данных: SQL
Оператор выбораИС / Основы баз данных
71
72. Основы баз данных: SQL
Оператор выбораSELECT UName FROM Users WHERE (Id_User = 5)
SELECT UName, USurname
FROM Users
WHERE (Id_User = 5)
ORDER BY Usurname
SELECT distinct Client.Id_Client, Client.NameClient, Name_History.Short_name
FROM Client, Name_History
WHERE (Client. Id_Client = Name_History.Id_Client)and(Client.Del = 0)
and (Name_History.Fview = 1)
ORDER BY Name_History.Short_name
ИС / Основы баз данных
72
73. Основы баз данных: SQL
Оператор выбораВыдать список названий и цен деталей не из Парижа c весом более 10.
Select distinct P.Name
from P
where P.City<>'Париж' and P.Weight>10;
ИС / Основы баз данных
73
74. Основы баз данных: SQL
Оператор выбораПолучить имена поставщиков, поставляющих деталь P2.
Select distinct S.Name
From S, SP
Where S.SID=SP.SID and SP.PID='P2';
ИС / Основы баз данных
74
75. Основы баз данных: SQL
Оператор выбораВыдать список названий и цен деталей (без повторений) не из Парижа c весом более
10, упорядоченный по убыванию цены.
Select distinct P.Name, P.Price
from P
where P.City<>'Париж' and P.Weight>10 order by P.Price desc;
ИС / Основы баз данных
75
76. Основы баз данных: SQL
Оператор вставки (добавления) записиINSERT INTO
VALUES
таблица
Куда вставить
(в какую таблицу)?
(столбцы)
(в какие столбцы)?
(значения)
Какие значения?
INSERT INTO Clientesfreelist (id_clientesfreelist, id_freelist, id_client, users)
VALUES (NULL, 5, 4, 34);
ИС / Основы баз данных
76
77. Основы баз данных: SQL
Оператор редактирования записиUPDATE
таблица
Что редактируем?
SET
имя_столбца =
выражение
Что и на что
заменяем?
WHERE
условие
По какому
условию?
UPDATE Users SET UName = 'Иван' WHERE Id_User = 6
ИС / Основы баз данных
77
78. Основы баз данных: SQL
Оператор удаления записиDELETE FROM
(таблица)
Из какой таблицы
удаляем?
WHERE
(условие)
По какому
условию?
DELETE FROM Town WHERE id_town = 135
ИС / Основы баз данных
78
79. Основы баз данных: SQL
Агрегирующие функции языка SQLФункция
Описание
count
определяет количество записей данного поля в группе строк
sum
вычисляет арифметическую сумму всех выбранных значений
данного поля
avg
рассчитывает арифметическое среднее (усреднение) всех
выбранных значений данного поля
max
находит наибольшее из всех выбранных значений данного
поля
min
находит наименьшее из всех выбранных значений данного
поля
ИС / Основы баз данных
79
80. Основы баз данных: SQL
Агрегирующие функции языка SQLПолучить общее число поставщиков.
Select 'Общее число поставщиков' as Text,
count(*) as CountS from S;
ИС / Основы баз данных
80
81. Основы баз данных: SQL
Агрегирующие функции языка SQLПолучить минимальное, максимальное и среднее количество поставок для детали P1.
Select max(SP.Qty) as MaxQ, min(SP.Qty) as MinQ, avg(SP.Qty) as AvgQ
from SP
where SP.PID='P1';
ИС / Основы баз данных
81
database