Основы баз данных
Основы баз данных
Основы баз данных
Основы баз данных: пользователи
Основы баз данных: пользователи
Основы баз данных: СУБД
Основы баз данных: СУБД
Основы баз данных: СУБД
Основы баз данных: БД и СУБД
Основы баз данных: БД и СУБД
Основы баз данных: БД и СУБД
Основы баз данных: БД и СУБД
Основы баз данных: БД и СУБД
Основы баз данных: БД и СУБД
Основы баз данных: БД и СУБД
Основы баз данных: БД и СУБД
Основы баз данных: БД и СУБД
Основы баз данных: БД и СУБД
Основы баз данных: БД и СУБД
Основы баз данных: Архитектуры ИС
Основы баз данных: Архитектуры ИС
Основы баз данных: Архитектуры ИС
Основы баз данных: Архитектуры ИС
Основы баз данных: Архитектуры ИС
Основы баз данных: Архитектуры ИС
Основы баз данных: Архитектуры ИС
Основы баз данных: Архитектуры ИС
Основы баз данных: Архитектуры ИС
Основы баз данных: Реляционные БД
Основы баз данных: Реляционные БД
Основы баз данных: Реляционные БД
Основы баз данных: Реляционные БД
Основы баз данных: Реляционные БД
Основы баз данных: Реляционные БД
Основы баз данных: Реляционные БД
Основы баз данных: Реляционные БД
Основы баз данных: Реляционные БД
Основы баз данных: Реляционные БД
Основы баз данных: Реляционные БД
Основы баз данных: Case-средства проектирования
Основы баз данных: Case-средства проектирования
Основы баз данных: Case-средства проектирования
Основы баз данных: Проектирование
Основы баз данных: Проектирование
Основы баз данных: Моделирование предметной области
Основы баз данных: Моделирование предметной области
Основы баз данных: Моделирование предметной области
Основы баз данных: Моделирование
Основы баз данных: Моделирование
Основы баз данных: Моделирование
Основы баз данных: Моделирование
Основы баз данных: Моделирование
Основы баз данных: Моделирование
Основы баз данных: Моделирование
Основы баз данных: Моделирование
Основы баз данных: Моделирование
Основы баз данных: Моделирование
Основы баз данных: Моделирование
Основы баз данных: Моделирование
Основы баз данных: Моделирование
Основы баз данных: Моделирование
Основы баз данных: Нормализация
Основы баз данных: Нормализация
Основы баз данных: Нормализация
Основы баз данных: Нормализация
Основы баз данных: Нормализация
Основы баз данных: SQL
Основы баз данных: SQL
Основы баз данных: SQL
Основы баз данных: SQL
Основы баз данных: SQL
Основы баз данных: SQL
Основы баз данных: SQL
Основы баз данных: SQL
Основы баз данных: SQL
Основы баз данных: SQL
Основы баз данных: SQL
Основы баз данных: SQL
Основы баз данных: SQL
Основы баз данных: SQL
Основы баз данных: SQL
5.29M
Category: databasedatabase

Основы баз данных

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
English     Русский Rules