СУБД. Базы данных MS Access. Формирование и обработка БД. 1. Базы данных (БД)Базы данных (БД) 2. Реляционные БДРеляционные БД
2 Определения База данных (БД) – это хранилище данных о некоторой предметной области, организованное в виде специальной структуры. Важно: данные о некоторой области (не обо всем) упорядоченные Система управления базой данных (СУБД) – это программное обеспечение для работы с БД. Функции: поиск информации в БД выполнение несложных расчетов вывод отчетов на печать редактирование БД Информационная система = БД + СУБД! ! !
БД классифицируются: по характеру хранимой информации фактографические (краткая информация в одном формате: картотека) документальные (всевозможные документы – тексты, графика, видео, звук и т. д.: архив) по способу хранения данных централизованные (вся информация хранится на одном компьютере – на сервере) распределенные (информация хранится в локальной или глобальной сети)
4 Типы информационных систем локальные ИС БД и СУБД находятся на одном компьютере. файл-серверные БД находится на сервере сети (файловом сервере), а СУБД на компьютере пользователя. клиент-серверные БД и основная СУБД находятся на сервере, СУБД на рабочей станции посылает запрос и выводит на экран результат.
5 Типы баз данных табличные БД данные в виде одной таблицы сетевые БД набор узлов, в котором каждый может быть связан с каждым. иерархические БД в виде многоуровневой структуры реляционные БД (99,9%) набор взаимосвязанных таблиц
6 Табличные БД Фамилия ИмяАдрес Телефон Арабаджи ИванСуворовский пр., д. 32, Тукан ДимаКирочная ул., д.25, кв Модель – картотека Примеры: записная книжка Телефонный справочник записи 1)самая простая структура 2)все другие типы БД используют таблицы во многих случаях – дублирование данных: поля
7 Табличные БД 1. Количество полей определяется разработчиком и не может изменяться пользователем. 2. Любое поле должно иметь уникальное имя. 3. Поля могут иметь различный тип: строка символов (длиной до 255 символов) вещественное число (с дробной частью) целое число денежная сумма дата, время, дата и время логическое поле (истина или ложь, да или нет) многострочный текст (МЕМО) рисунок, звук или другой объект (объект OLE) 4. Поля могут быть обязательными для заполнения или нет. 5. Таблица может содержать сколько угодно записей (это количество ограничено только объемом диска); записи можно добавлять, удалять, редактировать, сортировать, искать.
8 Ключевое поле (ключ таблицы) однозначно Ключевое поле (ключ) – это поле (или комбинация полей), которое однозначно определяет запись. В таблице не может быть двух записей с одинаковым значением ключа. однозначно Ключевое поле (ключ) – это поле (или комбинация полей), которое однозначно определяет запись. В таблице не может быть двух записей с одинаковым значением ключа. Могут ли эти данные быть ключом? фамилия имя номер паспорта номер дома регистрационный номер автомобиля регистрационный номер автомобиля город проживания дата выполнения работы марка стиральной машины ?
9 Сетевые БД Сетевая БД – это набор узлов, в которых каждый может быть связан с каждым (схема дорог). БГ А В лучше всего отражает структуру некоторых задач (сетевое планирование в экономике) сложно хранить информацию о всех связях запутанность структуры
10 Иерархические БД Иерархическая БД – это набор данных в виде многоуровневой структуры (дерева). Мои документы Мой компьютер Сетевое окружение Фото Диплом БД Видео свадьба С:С: A: D: Учебники Задания Рабочий стол Рисунки
11 Иерархические БД Прайс-лист: Продавец (уровень 1) Товар (уровень 2) Модель (уровень 4) Цена (уровень 5) Изготовитель (уровень 3) $306 $312 S93 X93B Sony Phillips Samsung Мониторы Принтеры Кей
12 Иерархические БД Приведение к табличной форме: Продавец ТоварИзготовитель МодельЦена Кей МониторSonyS93$306 Кей МониторSonyX93B$312 Key МониторPhillips190 B5 CG$318 Кей МониторSamsungSyncMaster 193P$452 … дублирование данных при изменении адреса фирмы надо менять его во всех строках нет защиты от ошибок ввода оператора (Кей – Key), лучше было бы выбирать из списка
Реляционные базы данных Реляционная база данных Реляционная база данных – это набор простых таблиц, между которыми установлены связи (отношения) с помощью числовых кодов.
Реляционная база данных – это набор простых таблиц, между которыми установлены связи (отношения) с помощью числовых кодов. таблица ключевое поле связь «1- »
15 Реляционные БД нет дублирования информации; при изменении адреса фирмы достаточно изменить его только в таблице Продавцы; защита от неправильного ввода: можно выбрать только фирму, которая есть в таблице Продавцы; механизм транзакций: любые изменения вносятся в базу только тогда, когда они полностью завершены. сложность структуры (не более таблиц); при поиске надо обращаться к нескольким таблицам; нужно поддерживать целостность: при удалении фирмы-продавца надо удалять все связанные записи (автоматически, каскадное удаление).
16 Связи между таблицами Один к одному («1-1») – одной записи в первой таблице соответствует ровно одна запись во второй. Применение: выделение часто используемых данных. Код Фамилия Имя 1Иванов Кузьма 2Петров Василий … Код Год рожд.Адрес 11992Суворовский, д.20, кв Кирочная, д. 30, кв 18 … 1 1 Один ко многим («1- ») – одной записи в первой таблице соответствует сколько угодно записей во второй. Код Название 1Монитор 2Винчестер … Код Код товара Цена … 1 товары прайс-лист
17 Связи между таблицами Многие ко многим (« - ») – одной записи в первой таблице соответствует сколько угодно записей во второй, и наоборот. Код Фамилия 1Иванов 2Петров … Код Название 1История 2География 3Биология … Реализация – через третью таблицу и две связи «1- ». Код Фамилия 1Иванов 2Петров … Код Название 1История 2География 3Биология … Код Код учителя Код предмета Класс 1119-А 2128-Б 3237-В … расписание учителя предметы 1 1
БАЗЫ ДАННЫХ. ACCESS Работа с таблицами Формы Запросы Отчеты
БАЗЫ ДАННЫХ. ACCESS Работа с таблицами
20 Базы данных Access (Microsoft Office) Расширение: *.mdb, один файл ОБЪЕКТЫ БД: таблицы; формы – диалоговые окна для ввода и редактирования данных; запросы – обращения к базе данных для выбора нужной информации или изменения базы; отчеты – документы для вывода на печать; макросы – средства автоматизации работы; модули – дополнительные процедура на языке Visual Basic.
21 Начало работы Пуск – Программы – Microsoft Office – Microsoft Access 2007
Окно программы 22
23 Сервис – Схема данных таблица ключевое поле связь «1- » Удалить связь: ЛКМ + Delete. Создать связь: перетащить нужное поле на соответствующее поле второй таблицы.
24 Объекты БД
25 Работа с таблицами поля записи текущая запись область выделения новая запись на 1-ую запись предыдущая запись номер текущей записи следующая запись последняя запись перейти на новую запись всего записей текущее поле
26 Сортировка и поиск Сортировка по текущему полю (столбцу): по возрастанию (в алфавитном порядке) по убыванию (в обратном алфавитном порядке) Поиск и замена: текущее поле или все поля целиком, с любой частью, с началом всё, вверх, вниз
27 Фильтрация Фильтрация – это отбор записей, удовлетворяющих некоторому условию (фильтру). Остальные записи временно скрываются, пока фильтр не будет снят. Фильтр по выделенному 1. Щелкнуть в нужной ячейке или выделить часть текста. 2. Щелкнуть по кнопке. 3. Снятие фильтра.
28 Фильтрация Сложные условия Одновременно (операция И) Одновременно (операция И) Начинается G новое условие, связанное через ИЛИ Записи – Фильтр – Изменить фильтр Полный вариант: Записи – Фильтр – Расширенный фильтр можно переставлять столбцы можно выводить не все столбцы можно устанавливать порядок сортировки Точное совпадение
29 Служебные операции Сервис – Служебные программы: Преобразовать базу данных в формат Access-2007 Сжать и восстановить базу данных (физически удалить лишние записи) Резервная копия базы данных Установка пароля: Сервис – Защита – Задать пароль базы данных
Проектирование таблиц
31 Создание таблиц ввод данных и названий полей (режим таблицы); конструктор – ручная настройка; мастер таблиц – создание таблиц стандартных типов (Товары, Клиенты, Сотрудники, …); импорт таблиц – загрузка данных из других источников (БД других форматов, Excel, текстовые файлы, …).
32 Создание таблиц Ввод данных Мастер Импорт из других БД Access из БД других форматов (*.db, *.dbf) из таблиц Excel из документов XML из текстовых БД (CSV – comma separated values)
33 Конструктор таблиц перейти в конструктор перейти в режим таблицы
34 Конструктор таблиц тип поля (выбор из списка) свойства текущего поля ключ текущее поле
35 Свойства полей Размер поля: байт, целое, вещественное, … Формат поля: как выводить на экран. Маска ввода: шаблон (ввод телефона). Подпись: как называется столбец при выводе на экран (можно использовать скобки, знаки и т.д. («Население, млн. чел.») Значение по умолчанию (вписывается автоматически). Условие на значение: защита от ошибок ввода («>18»). Сообщение об ошибке («Возраст должен быть больше 18 лет!») Обязательное поле (да/нет) Индексированное поле (да/нет)
БАЗЫ ДАННЫХ. ACCESS Формы
37 Формы Форма – это диалоговое окно для просмотра и редактирования данных ввода новых записей управления ходом работы (кнопки) вывода вспомогательной информации Создание форм: источник данных
38 Создание форм Конструктор – полностью вручную. Мастер форм – режим «вопросы – ответы». Автоформа в столбец: Автоформа ленточная: Автоформа табличная: Диаграмма:
39 Конструктор форм перейти в конструктор перейти в режим формы область выделения кнопки перехода
40 Конструктор форм заголовок формы область данных примечание формы изменение размеров
41 Свойства формы Окно свойств Правка – Выделить форму область выделения Макет кнопки перехода Данные Источник – таблица или запрос Фильтр – условие отбора записей Сортировка События (назначение макросов) нажатие на клавиши, действия мышью, … открытие, закрытие, изменение записи, …
42 Свойства элементов Панель форматирования выбранный элемент название шрифта размер шрифта жирный, курсив, подчеркивание выравнивание цвет фона цвет текста цвет рамки толщина рамки стиль Стиль оформления: нормальный, приподнятый, утопленный, вдавленный, с тенью, рельефный Выделение элементов: ЛКМ на рамке элемента + Shift = выделить несколько элементов
43 Свойства элементов Окно свойств Макет: размеры оформление Данные: Данные – название поля Маска ввода – шаблон (для телефона) Значение по умолчанию Условие на значение Сообщение об ошибке События действия пользователя (клавиатура, мышь) изменения данных ПКМ – Свойства
44 Добавление новых элементов Вывести (скрыть) панель элементов выбор объектов мастера надпись поле (информация из базы данных рисунок независимый объект (например, диаграмма Excel) элементы интерфейса связанный объект (хранящийся в БД) разрыв страницы подчиненная форма другие элементы
БАЗЫ ДАННЫХ. ACCESS Запросы
46 Запросы «Ну и запросы у вас!» - сказала база данных и «повисла». (Фольклор) Запрос – это обращение к СУБД для выполнения каких-либо операций с данными. Типы запросов: выборка создание таблицы обновление (изменение данных) добавление записей удаление записей …
47 Запрос и фильтрация Дополнительные возможности запросов: отбор информации из нескольких связанных таблиц вывести не все столбцы вычисляемые поля (общая стоимость) итоговые расчеты (сумма, среднее) можно сохранить в базе много разных запросов служат основой для других запросов и отчетов
48 Создание запросов
49 Мастер запросов
50 Запуск запроса
51 Конструктор таблица (ПКМ – Добавить таблицу) таблица (ПКМ – Добавить таблицу) перетащить ЛКМ все поля по возрастанию по убыванию отсутствует по возрастанию по убыванию отсутствует фильтр
52 Конструктор перейти в конструктор перейти в режим таблицы
53 Построитель выражений Forms – формы Reports – отчеты Функции: 1) встроенные; 2) функции пользователя (VB) Константы: пустая строка, Истина, Ложь Операторы: + - * / = = <> Not And Or Xor Общие выражения – время, дата, нумерация страниц ПКМ
Запрос на добавление таблиц
Запрос на выражение
Запрос на обновление
57 Все данные, которые можно вычислить, не должны храниться в таблицах! ! ! Вычисляемые поля ввести Цена*Количество Выражение 1: [Цена]*[Количество] заменить Выражение 1 на Сумма ввести Цена*Количество Выражение 1: [Цена]*[Количество] заменить Выражение 1 на Сумма ввести Year(Дата) Выражение 1: Year([Дата]) заменить Выражение 1 на Год ввести Year(Дата) Выражение 1: Year([Дата]) заменить Выражение 1 на Год или ПКМ - Построить
Запрос на создание таблиц
59 Запросы с параметрами Задача: вводить числовые данные для фильтра не в конструкторе, а при выполнении запроса. Пример: «Какой суммой Вы располагаете?» Любая неизвестная строка вызывает запрос
60 Итоговый запрос Конструктор Таблица Итоговый запрос Групповые операции Группировка Sum – сумма
61 Итоговый запрос (мастер) ЛКМ
62 Перекрестный запрос Таблицы Перекрестный запрос
63 Запрос на обновление (изменение) Задача: во всех записях, относящихся к 2007 году, заменить дату в поле Дата на сегодняшнее число. Решение: запрос, который отбирает все нужные записи резервная копию таблицы (Копировать – Вставить) меню Запрос – Обновление в строке Обновление ввести новое значение поля: выполнить запрос Обновление
64 Другие виды запросов Удаление: запрос на выборку нужных записей резервная копия таблицы Запрос – Удаление выполнить запрос Создание таблицы: Запрос – Создание таблицы Добавление данных в итоговую таблицу: Запрос – Добавление Повторяющиеся записи: Запросы – Создать – Повторяющиеся записи Записи без подчиненных: Запросы – Создать – Записи без подчиненных