Слайд 2
БАЗЫ ДАННЫХ. ИНФОРМАЦИОННЫЕ СИСТЕМЫ
© К.Ю. Поляков, 2007
Тема 1.
Информационные системы
Слайд 3
Определения
База данных (БД) – это хранилище данных о
некоторой предметной области, организованное в виде специальной структуры.
Важно:
данные
о некоторой области (не обо всем)
упорядоченные
Система управления базой данных (СУБД) – это программное обеспечение для работы с БД.
Функции:
поиск информации в БД
выполнение несложных расчетов
вывод отчетов на печать
редактирование БД
Информационная система – это БД + СУБД.
Слайд 4
Типы информационных систем
локальные ИС
БД и
СУБД находятся на одном компьютере.
файл-серверные
БД находится
на сервере сети (файловом
сервере), а СУБД на компьютере
пользователя.
клиент-серверные
БД и основная СУБД находятся на сервере,
СУБД на рабочей станции посылает запрос
и выводит на экран результат.
Слайд 5
Локальные ИС
автономность (независимость)
с БД работает только один человек
сложно
обновлять при большом количестве пользователей
практически невозможно «стыковать» изменения, вносимые
несколькими пользователями
Слайд 6
Файл-серверные ИС
несколько человек работают с одной базой
основную работу
выполняют рабочие станции (РС), они должны быть мощными
для поиска
строки на РС копируется вся БД – нагрузка на сеть
слабая защита от взлома (только на РС)
проблемы при одновременном изменении с разных РС
Слайд 7
Клиент-серверные ИС
СУБД-клиент
СУБД-клиент
СУБД-клиент
основную работу выполняет сервер, рабочие станции могут
быть маломощными
проще модернизация (только сервер)
по сети идут только нужные
данные
защиту и права доступа ставят на сервере (сложнее взломать)
разделение доступа (очередь заданий)
запрос
на SQL
ответ
SQL (Structured Query Language) – язык структурных запросов
сложность настройки
высокая стоимость ПО (тысячи $)
Слайд 8
БАЗЫ ДАННЫХ. ИНФОРМАЦИОННЫЕ СИСТЕМЫ
© К.Ю. Поляков, 2007
Тема 2.
Базы данных
Слайд 9
Типы баз данных
табличные БД
данные в
виде одной таблицы
сетевые БД
набор узлов, в
которых каждый может быть
связан с каждым.
иерархические БД
в виде многоуровневой структуры
реляционные БД (99,9%)
набор взаимосвязанных таблиц
Слайд 10
Табличные БД
Модель – картотека
Примеры:
записная книжка
каталог в библиотеке
самая простая
структура
все другие типы БД используют таблицы
во многих случаях –
дублирование данных:
Слайд 11
Табличные БД
Количество полей определяется разработчиком и не может
изменяться пользователем.
Любое поле должно иметь уникальное имя.
Поля могут иметь
различный тип:
строка символов (длиной до 255 символов)
вещественное число (с дробной частью)
целое число
денежная сумма
дата, время, дата и время
логическое поле (истина или ложь, да или нет)
многострочный текст (МЕМО)
рисунок, звук или другой объект (объект OLE)
Поля могут быть обязательными для заполнения или нет.
Таблица может содержать сколько угодно записей (это количество ограничено только объемом диска); записи можно добавлять, удалять, редактировать, сортировать, искать.
Слайд 12
Ключевое поле (ключ таблицы)
Ключевое поле (ключ) – это
поле (или комбинация полей), которое однозначно определяет запись.
В таблице не может быть двух записей с одинаковым значением ключа.
Могут ли эти данные быть ключом?
фамилия
имя
номер паспорта
номер дома
регистрационный номер автомобиля
город проживания
дата выполнения работы
марка стиральной машины
?
Слайд 13
Сетевые БД
Сетевая БД - это набор узлов, в
которых каждый может быть связан с каждым.
наиболее полно отражает
структуру некоторых задач (например, сетевое планирование в экономике)
сложно хранить и искать информацию о всех связях
запутанность структуры
Слайд 14
Иерархическая БД
Иерархическая БД – это набор данных в
виде многоуровневой структуры.
Прайс-лист:
Продавец (уровень 1)
Товар (уровень 2)
Модель (уровень 4)
Цена
(уровень 5)
Изготовитель (уровень 3)
$306
$312
S93
X93B
Sony
Phillips
Samsung
Мониторы
Принтеры
Кей
Слайд 15
Иерархическая БД
Приведение к табличной форме:
дублирование данных
при изменении адреса
фирмы надо менять его во всех строках
нет защиты от
ошибок ввода оператора
(Кей – Key), лучше было бы выбирать из списка
Слайд 16
БАЗЫ ДАННЫХ. ИНФОРМАЦИОННЫЕ СИСТЕМЫ
© К.Ю. Поляков, 2007
Тема 3.
Реляционные базы данных
Слайд 17
Реляционные БД
1970-е гг. Э. Кодд, англ. relation –
отношение.
Реляционная база данных – это набор простых таблиц, между
которыми установлены связи (отношения) с помощью числовых кодов.
Слайд 18
Реляционные БД
нет дублирования информации;
при изменении адреса фирмы,
достаточно изменить его в только таблице Продавцы;
защита от неправильного
ввода: можно выбрать только фирму, которая заранее введена в таблицу Продавцы;
механизм транзакций: любые изменения вносятся в базу только тогда, когда они полностью завершены.
сложность структуры (не более 40-50 таблиц);
при поиске надо обращаться к нескольким таблицам;
нужно поддерживать целостность: при удалении фирмы продавца надо удалять все связанные записи из всех таблиц (в СУБД – автоматически, каскадное удаление).
Слайд 19
Связи между таблицами
Один к одному («1-1») – одной
записи в первой таблице соответствует ровно одна записи во
второй.
Применение: выделение часто используемых данных.
1
1
Один ко многим («1- ∞») – одной записи в первой таблице соответствует сколько угодно записей во второй.
1
∞
товары
прайс-лист
Слайд 20
Связи между таблицами
Многие ко многим («∞ - ∞»)
– одной записи в первой таблице соответствует сколько угодно
записей во второй, и наоборот.
Реализация – через третью таблицу и две связи «1-∞».
расписание
учителя
предметы
∞
∞
∞
∞
1
1
Слайд 21
Нормализация базы данных
Нормализация – это разработка такой структуры
БД, в которой нет избыточных данных и связей.
Основные принципы:
Любое
поле должно быть неделимым.
Не должно быть полей, которые обозначают различные виды одного и того же, например, товаров.
∞
1
Слайд 22
Нормализация базы данных
Основные принципы:
Любое поле должно зависеть только
от ключа (ключ – это поле или комбинация полей,
однозначно определяющая запись).
Не должно быть полей, которые могут быть найдены с помощью остальных.
товары
зависит не только от названия товара!
прайс-лист
Слайд 23
Поиск в базах данных
Линейный поиск – это перебор
всех записей до тех пор, пока не будет найдена
нужная.
Иванов?
1024 сравнения!
данные не надо предварительно готовить
низкая скорость поиска
Слайд 24
Двоичный поиск
Разделить область поиска на две равные части.
Определить,
в какой половине находится нужный объект.
Перейти к шагу
1 для этой половины.
Повторять шаги 1-3 пока объект не будет «пойман».
Слайд 25
Поиск в базах данных
Двоичный поиск в БД –
требует предварительной сортировки.
Иванов?
записи надо отсортировать по нужному полю;
можно использовать
только для одного поля.
быстрый поиск
11 сравнений!
Слайд 26
Поиск по индексам
Индекс – это вспомогательная таблица, которая
предназначена для быстрого поиска в основной таблице по выбранному
столбцу.
Таблица
Индексы:
по дате
по товару
по количеству
Слайд 27
Поиск по индексам
Алгоритм поиска:
двоичный поиск по индексу –
найти номера нужных записей;
выбрать эти записи по номерам из
основной таблицы.
индексы занимают место на диске;
при изменении таблицы надо перестраивать все индексы (в СУБД – автоматически).
двоичный поиск по всем столбцам, для которых построены индексы
Слайд 28
БАЗЫ ДАННЫХ. ИНФОРМАЦИОННЫЕ СИСТЕМЫ
© К.Ю. Поляков, 2007
Тема 4.
Базы данных Access.
Работа
с таблицами
Слайд 29
Базы данных Access (Microsoft Office)
Расширение: *.mdb, один файл
Состав:
таблицы;
формы
– диалоговые окна для ввода и редактирования данных;
запросы –
обращения к базе данных для выбора нужной информации или изменения базы;
отчеты – документы для вывода на печать;
макросы – средства автоматизации работы;
модули – дополнительные процедура на языке Visual Basic.
Слайд 30
Начало работы
Пуск – Программы – Microsoft Office –
Microsoft Access 2003
Слайд 31
Сервис – Схема данных
таблица
ключевое поле
связь «1-∞»
Удалить связь: ЛКМ
+ Delete.
Создать связь: перетащить нужное поле на соответствующее
поле второй таблицы.
Слайд 32
Работа с таблицами
Таблицы – Заказы –
Слайд 33
Работа с таблицами
поля
записи
текущая запись
область выделения
новая запись
на 1-ую запись
предыдущая
запись
номер текущей записи
следующая запись
последняя запись
перейти на новую запись
всего записей
текущее
поле
Слайд 34
Сортировка и поиск
Сортировка по текущему полю (столбцу):
по возрастанию
(в алфавитном порядке)
по убыванию (в обратном алфавитном порядке)
Поиск и
замена:
текущее поле или все поля
целиком,
с любой частью, с началом
всё, вверх, вниз
Слайд 35
Фильтрация
Фильтрация – это отбор записей, удовлетворяющих некоторому условию
(фильтру).
Остальные записи временно скрываются, пока фильтр не будет снят.
Фильтр
по выделенному
Щелкнуть в нужной ячейке или выделить часть текста.
Щелкнуть по кнопке .
Снятие фильтра .
Слайд 36
Фильтрация
Сложные условия
Одновременно
(операция И)
Начинается с ‘С’
новое условие, связанное через
ИЛИ
Записи – Фильтр – Изменить фильтр
Полный вариант:
Записи – Фильтр – Расширенный фильтр
можно переставлять столбцы
можно выводить не все столбцы
можно устанавливать порядок сортировки
Точное совпадение
Слайд 37
Служебные операции
Сервис – Служебные программы:
Преобразовать базу данных
в формат
Access-97
в формат Access-2000
Сжать и восстановить базу данных
(физически
удалить лишние записи)
Резервная копия базы данных
Установка пароля:
Сервис – Защита – Задать пароль базы данных
Слайд 38
БАЗЫ ДАННЫХ. ИНФОРМАЦИОННЫЕ СИСТЕМЫ
© К.Ю. Поляков, 2007
Тема 5.
Проектирование таблиц
Слайд 39
Создание таблиц
ввод данных и названий полей (режим таблицы);
конструктор
– ручная настройка;
мастер таблиц – создание таблиц стандартных типов
(Товары, Клиенты, Сотрудники, …);
импорт таблиц – загрузка данных из других источников (БД других форматов, Excel, текстовые файлы, …).
Слайд 40
Создание таблиц
Ввод данных
Мастер
Импорт
из других БД Access
из БД других
форматов (*.db, *.dbf)
из таблиц Excel
из документов XML
из текстовых БД
(CSV – comma separated values)
Слайд 41
Конструктор таблиц
перейти в
конструктор
перейти в
режим таблицы
Слайд 42
Конструктор таблиц
тип поля (выбор из списка)
свойства текущего поля
ключ
текущее
поле
Слайд 43
Свойства полей
Размер поля: байт, целое, вещественное, …
Формат поля:
как выводить на экран.
Маска ввода: шаблон (ввод телефона).
Подпись: как
называется столбец при выводе на экран (можно использовать скобки, знаки и т.д. («Население, млн. чел.»)
Значение по умолчанию (вписывается автоматически).
Условие на значение: защита от ошибок ввода («>18»).
Сообщение об ошибке («Возраст должен быть
больше 18 лет!»)
Обязательное поле (да/нет)
Индексированное поле (да/нет)
Слайд 44
Операции с полями
сделать поле ключевым (отменить…)
добавить поле
выше
текущего
удалить текущее поле (или все выделенные)
индексы
поле таблицы
(выбор из списка)
Primary
Key:
ключ таблицы
название индекса
Слайд 45
Подстановки
Цель: сделать защиту от ошибок ввода.
Решение: выбор из
списка = поле подстановки
Варианты:
заданный список («да» или «нет»,
«М» или «Ж»)
из другой таблицы (например, выбор названия фирмы)
Как сделать:
Слайд 47
БАЗЫ ДАННЫХ. ИНФОРМАЦИОННЫЕ СИСТЕМЫ
© К.Ю. Поляков, 2007
Тема 6.
Формы
Слайд 48
Формы
Форма – это диалоговое окно для
просмотра и редактирования
данных
ввода новых записей
управления ходом работы (кнопки)
вывода вспомогательной информации
Создание форм:
источник
данных
Слайд 49
Создание форм
Конструктор – полностью вручную.
Мастер форм – режим
«вопросы – ответы».
Автоформа в столбец:
Автоформа ленточная:
Автоформа табличная:
Диаграмма:
Слайд 50
Конструктор форм
перейти в
конструктор
перейти в
режим формы
область выделения
кнопки
перехода
Слайд 51
Конструктор форм
выбранный элемент
заголовок формы
область данных
примечание формы
Слайд 52
Свойства формы
Окно свойств
Правка – Выделить форму
область выделения
Макет
кнопки перехода
Данные
Источник
– таблица или запрос
Фильтр – условие отбора записей
Сортировка
События (назначение
макросов)
нажатие на клавиши, действия мышью, …
открытие, закрытие, изменение записи, …
Слайд 53
Связанные элементы
надпись (текст можно менять)
поле (название поля таблицы)
маркеры
(изменение размеров)
независимое перемещение
щелкнуть внутри, чтобы изменить текст
щелкнуть на рамке,
чтобы выделить элемент
Слайд 54
Свойства элементов
Панель форматирования
выбранный элемент
название шрифта
размер шрифта
жирный, курсив, подчеркивание
выравнивание
цвет
фона
цвет текста
цвет рамки
толщина рамки
стиль
Стиль оформления:
нормальный, приподнятый, утопленный, вдавленный,
с
тенью, рельефный
Выделение элементов:
ЛКМ на рамке элемента
+ Shift = выделить несколько элементов
Слайд 55
Свойства элементов
Окно свойств
Макет:
размеры
оформление
Данные:
Данные – название поля
Маска ввода –
шаблон (для телефона)
Значение по умолчанию
Условие на значение
Сообщение об ошибке
События
действия
пользователя (клавиатура, мышь)
изменения данных
ПКМ – Свойства
Слайд 56
Добавление новых элементов
Вывести (скрыть) панель элементов
выбор объектов
мастера
надпись
поле (информация
из базы данных
рисунок
независимый объект (например, диаграмма Excel)
элементы интерфейса
связанный
объект (хранящийся в БД)
разрыв страницы
подчиненная форма
другие элементы
Слайд 57
БАЗЫ ДАННЫХ. ИНФОРМАЦИОННЫЕ СИСТЕМЫ
© К.Ю. Поляков, 2007
Тема 7.
Макросы
Слайд 58
Макросы
Макрос – это набор макрокоманд.
Макрокоманда описывает действие,
которое надо выполнить:
открытие и закрытие таблиц, отчетов, форм
выполнение запроса
установка
значений полей
поиск данных
управление выводом на экран
печать данных
сообщения пользователю
запуск других программ
Событие (для запуска макроса)
действия пользователя (клавиатура, мышь)
внутреннее событие (открытие и закрытие формы изменение записи и т.д.)
Слайд 60
Макросы
Отладка макроса
перейти в конструктор
Запуск – По шагам
запустить на
выполнение
Использование макросов
AutoExec – выполняется автоматически при открытии базы
назначение событиям
выбрать имя макроса из списка
Слайд 61
Макросы
Группы макросов
Вид – Имена макросов
Запуск
Макрос1: QQQ
Макрос1: MMM
Макрос1
только первая группа
Условное выполнение
Вид
– Условия
или
Слайд 62
БАЗЫ ДАННЫХ. ИНФОРМАЦИОННЫЕ СИСТЕМЫ
© К.Ю. Поляков, 2007
Тема 8.
Запросы
Слайд 63
Запросы
«Ну и запросы у вас!» - сказала база
данных и «повисла».
(Фольклор)
Запрос – это обращение к СУБД для
выполнения каких-либо операций с данными.
Типы запросов:
выборка
создание таблицы
обновление (изменение данных)
добавление записей
удаление записей
…
Слайд 64
Запрос и фильтрация
В запросе можно:
отобрать информацию из нескольких
связанных таблиц
использовать сложные условия отбора
пользователь может сам ввести параметры
(сумму денег)
добавить вычисляемые поля
выполнить итоговые расчеты
Слайд 68
Конструктор
перейти в
конструктор
перейти в
режим таблицы
Слайд 69
Конструктор
таблица
(ПКМ – Добавить таблицу)
перетащить ЛКМ
все поля
по возрастанию
по убыванию
отсутствует
фильтр
Слайд 70
Работа со столбцами
выделить (ЛКМ)
ПКМ:
вырезать
копировать
вставить
свойства
перетащить (ЛКМ)
Слайд 71
Условия отбора
Совпадение
Неравенство
Шаблон
* любое количество любых символов
? один любой
символ # любая цифра
Слайд 72
Построитель выражений
Forms – формы
Reports – отчеты
Функции: 1) встроенные;
2) функции пользователя (VB)
Константы: пустая строка, Истина, Ложь
Операторы:
+ - * / < > <= >= = <> Not And Or Xor
Общие выражения – время, дата, нумерация страниц
ПКМ
Слайд 73
Вычисляемые поля
ввести Цена*Количество
Выражение1: [Цена]*[Количество]
заменить Выражение1
на Сумма
ввести Year(Дата)
Выражение1: Year([Дата])
заменить Выражение1 на Год
или ПКМ
- Построить
Слайд 74
Запросы с параметрами
Задача: вводить числовые данные для фильтра
не в конструкторе, а при выполнении запроса.
Пример: «Какой
суммой Вы располагаете?»
Любая неизвестная строка вызывает запрос
Слайд 75
Итоговый запрос
Конструктор
Таблица
Итоговый запрос
Групповые операции
Группировка
Группировка
Sum – сумма
Слайд 77
Перекрестный запрос
Таблицы
Перекрестный запрос
Слайд 78
Перекрестный запрос
Конструктор: Запрос – Перекрестный
Заголовки строк
Заголовки
столбцов
Значение
Мастер – не позволяет выбрать информацию из нескольких таблиц
(только через лишний запрос).
☹
Слайд 79
Запрос на обновление (изменение)
Задача: во всех записях, относящихся
к 2007 году, заменить дату в поле Дата на
сегодняшнее число.
Решение:
запрос, который отбирает все нужные записи
резервная копию таблицы (Копировать – Вставить)
меню Запрос – Обновление
в строке Обновление ввести новое значение поля:
выполнить запрос
Обновление
Слайд 80
Другие виды запросов
Удаление:
запрос на выборку нужных записей
резервная
копия таблицы
Запрос – Удаление
выполнить запрос
Создание таблицы:
Запрос – Создание
таблицы
Добавление данных в итоговую таблицу:
Запрос – Добавление
Повторяющиеся записи:
Запросы – Создать – Повторяющиеся записи
Записи без подчиненных:
Запросы – Создать – Записи без подчиненных
Слайд 81
БАЗЫ ДАННЫХ. ИНФОРМАЦИОННЫЕ СИСТЕМЫ
© К.Ю. Поляков, 2007
Тема 9.
Отчеты
Слайд 82
Создание отчетов
Отчет – это документ, содержащий информацию из
базы данных и предназначенный для вывода на печать.
Источник: таблица
или запрос
Слайд 83
Автоотчеты
Автоотчет в столбец
Автоотчет ленточный
Слайд 85
Режим просмотра отчета
– перейти в конструктор
– печать
– масштаб
(переключение режима)
– одна страница
– две страницы
– несколько страниц
– масштаб
в процентах
– закрыть окно просмотра
– настройка (поля, формат бумаги)
Слайд 86
Конструктор отчетов
Заголовок отчета – один раз в начале
отчета.
Верхний колонтитул – в начале каждой страницы.
Область данных –
информация из БД.
Нижний колонтитул – в конце каждой страницы.
Примечание отчета – один раз в конце отчета.
="Страница " & [Page] & " из " & [Pages]
=Now()
Слайд 87
Редактирование отчетов
– вывести (скрыть) панель элементов
– свойства выбранного
элемента
Так же, как в конструкторе форм:
ЛКМ – выделить элемент
Слайд 88
Отчеты с группировкой
группировка по должностям
общая зарплата
Слайд 89
Отчеты с группировкой (шаг I)
Создание запроса, включающего все
данные:
& - соединение символьных строк
поля таблиц
Слайд 90
Отчеты с группировкой (шаг 2)
Использование мастера отчетов:
Итоговые данные
Слайд 91
Отчеты с группировкой (конструктор)
Заголовок группы
Примечание группы
Слайд 92
Отчеты с группировкой (конструктор)
сортировка и группировка