База данных (БД) – совокупность взаимосвязанных данных о некоторой предметной области, организованная по определённым правилам, хранящаяся в памяти ЭВМ.
Для создания, использования и поддержки БД используются специальные пакеты прикладных программ, называемые системами управления базами данных – СУБД.
Примечание: Поддержкой (ведением, сопровождением) БД называют операции добавления, удаления, изменения данных в базе.
В КИС используются такие СУБД как Oracle, Informix, используется архитектура клиент - сервер.
Сервером определенного ресурса вычислительной сети называется компьютер или программа, управляющая этим ресурсом, а клиентом – компьютер или программа, использующая этот ресурс. Ресурсом может быть БД, файловая система, служба печати. Тип сервера определяется ресурсом, которым он управляет (сервер БД, печати, файловый и т.д.).
Архитектура клиент-сервер имеет следующие преимущества:
· Оптимальное сочетание централизованного хранения, обслуживания и коллективного доступа к общим данным с индивидуальной обработкой определенных данных.
· Возможность постепенного создания ИС по мере развития организации и самой ИС.
· Упрощается проектирование и создание БД путём её декомпозиции (разделения с сохранением целостности) на корпоративную БД и множество мелких персональных БД.
Для создания и использования базы данных небольшого объёма (например, персональных баз данных) используются СУБД Access (входит в состав Microsoft Office Professional), MySQL, Dbase.
Основные понятия баз данных.
Структура данных в БД должна быть организована в соответствии с выбранной моделью данных.
Применяются следующие основные модели.
1. Иерархическая модель имеет древовидную структуру:
|
Группа | ||||||||
Шифр | Кол-во студентов | Стипендиальный фонд | Предок | |||||
Староста | Студент | |||||||
Фамилия ИО | Телефон | № ст | Фамилия ИО | Стипендия | Потомок |
Модель громоздкая при наличии сложных связей.
Эффективна по требуемой памяти и быстродействию.
2. Сетевая модель имеет вид произвольного графа
Учится в группе | ||||||||||||
Группа | Студент | Староста | ||||||||||
| ||||||||||||
| ||||||||||||
Эффективна по требуемой памяти и быстродействию.
Высокая сложность и жесткость схемы БД.
3. Объектная, объектно-ориентированная - это модель работы с объектными данными. Считается перспективной. Создание новых объектных типов данных позволяет визуально и проще воспринимать и работать с информацией.
4. Реляционная модель получила самое широкое применение. Данные организованы в виде совокупности взаимосвязанных двумерных таблиц, привычных человеку (рассмотрим позднее на примерах).
Достоинства: простота, удобно реализовать на ЭВМ, наличие теоретического обоснования.
|
Недостатки: низкая скорость работы при большом объёме данных и сложной структуре.
Реляционная модель данных – это совокупность отношений (Relations) между сущностями (Entities), изменяющаяся во времени.
Элементы реляционной модели
Название элемента (синонимы) | Форма представления |
Отношение | Двумерная таблица |
Информационный объект (Схема отношения) | Строка заголовков столбцов таблицы (имён реквизитов или их обозначений) |
Экземпляр объекта (Запись, кортеж) | Строка таблицы |
Атрибут (поле, реквизит) | Заголовок столбца |
Тип данных | Тип значений элементов таблицы (ячеек, полей) |
Ключ (Первичный ключ) | Минимальное число атрибутов, однозначно определяющих (идентифицирующих) экземпляр объекта. |
Пример: Отношение СТУДЕНТ
Схема отношения | Шифр группы | № студента | Фамилия Имя Отчество | Проходной балл | Названия реквизитов |
ШГ | НС | ФИО | ПБАЛЛ | Обозначения реквизитов (идентификаторы) | |
ПО-00-01 | Флинт Г.Г. | ||||
Экземпляр ИО | БУС-00-02 | Берг И.И. | |||
… | … | … | .. |
Центральное понятие реляционной БД:
Информационный объект (ИО) – это информационное описание некоторой сущности (реального объекта, процесса, события и пр).
ИО описывается уникальным именем и совокупность реквизитов.
Реквизиты бывают ключевые и описательные.
Ключевые реквизиты должны однозначно идентифицировать экземпляр ИО (строку таблицы).
Например ИО СТУДЕНТ(ШГ, НС, ФИО, ПБАЛЛ)
Имя ключевые описательные
Реквизиты
В примере ФИО не может использоваться в качестве ключевого реквизита, так как возможны совпадения (Берг Иван Иванович или Берг Изольда Иосифовна).
|
Описательные реквизиты должны функционально зависеть от ключевых.
Реквизит В функционально зависит от реквизита А, если каждому значению А соответствует точно одно значение В.
Записывается А=>В (читается В зависит от А). А и В могут быть простыми или составными (например ЩГ+НС).
Кроме функциональной, между реквизитами могут быть транзитивные или многозначные зависимости.
Реквизит С зависит от реквизита А транзитивно, если А=>В, В=>С, но обратная зависимость отсутствует.
Реквизит В многозначно зависит от реквизита А, если каждому значению А соответствует множество значений В, не связанных с другими реквизитами.
Бывают многозначные зависимости:
“один ко многим” (1:М) А=>>B
“многие к одному” (М:1) A<<=B
“многие ко многим”(М:М)A<<=>>B
Реквизиты каждого ИО должны удовлетворять требованиям нормализации:
1. ИО должен содержать уникальный ключ (простой или составной).
2. Все описательные реквизиты должны быть взаимно независимы, т.е между ними не может быть функциональной связи.
3. Все реквизиты в составном ключе также должны быть взаимно независимы.
4. Каждый описательный реквизит должен функционально зависеть от ключа.
5. Описательный реквизит не может зависеть от ключа транзитивно. В случае транзитивной зависимости рекомендуется разделить реквизиты, образовав два ИО вместо одного.
Соблюдение данных требований позволяет избежать дублирования данных в базе, обеспечивает её целостность при внесении изменений.
Этапы (фазы) жизненного цикла ПО, в том числе БД.
Анализ. Нужно собрать все интересующие данные предметной области, определит задачи и цели. В качестве исходных данных используются отчётные и нормативные документы, справочные данные, приказы, должностные инструкции и др. Проводится опрос служащих.
Проектирование. Можно выделить две основный стадии проектирования:
· Построение инфологической модели (ИЛМ) данных предметной области. Нужно выделить информационные объекты, установить связи между ними.
· Определение структуры реляционной БД. Каждый ИО отображается таблицей, связи между таблицами должны соответствовать связям между ИО.
Реализация. Выполняется в конкретной СУБД на ЭВМ. Включает:
· Конструирование таблиц.
· Создание схемы данных (связь таблиц).
· Ввод данных в таблицы (заполнение БД).
· Разработка экранных форм ввода, просмотра и корректировки данных.
· Разработка запросов.
· Разработка отчётов.
Внедрение. Тестирование. Обучение персонала, интеграция БД в ИС.
Сопровождение. Исправление ошибок, внесение изменений в структуру БД, совершенствование.
Лабораторная работа № 1
Знакомство с Access. Создание таблиц
База данных (БД) - упорядоченная совокупность данных, организованная по определенным правилам, хранящаяся в памяти ЭВМ. Для создания и ведения баз данных (их обновления, обеспечения доступа по запросам и выдачи данных по ним пользователю) используется набор языковых и программных средств, называемых системой управления базами данных (СУБД).
Объектам базы данных Access являются:
1. Таблицы - предназначены для упорядоченного хранения данных.
2. Запросы - предназначены для поиска, извлечения и обработки данных.
3. Формы - предназначены для удобного просмотра, изменения и добавления данных в таблицах.
4. Отчеты - используются для анализа и печати данных.
5. Страницы доступа к данным - предназначены для просмотра, ввода, обновления и анализа данных через компьютерную сеть.
6. Макросы - используются для выполнения часто встречающегося набора макрокоманд, осуществляющих обработку данных.
7. Модули - содержат макросы на языке VBA для автоматизации операций.
Основным объектом базы данных является таблица, которая состоит из записей (строк) и полей (столбцов). На пересечении записи и поля образуется ячейка, в которой содержатся данные.
Каждому полю таблицы присваивается уникальное имя, которое не может содержать более 64 символов. В каждом поле содержатся данные одного типа, определение которых представлены в табл.1.1.
Таблица 1.1. Типы данных
Тип | Описание |
Текстовый | Используется для хранения символьных или числовых данных, не требующих вычислений. В свойстве Размер поля задается максимальное количество символов, которые могут быть введены в данное поле. По умолчанию размер устанавливается в 50 знаков. Максимальное количество символов, которые могут содержаться в текстовом поле, - 255 |
Поле МЕМО | Предназначено для ввода текстовой информации, по объему превышающей 255 символов; может содержать до 65 536 символов |
Числовой | Предназначен для хранения числовых данных, используемых в математических расчетах. На вкладках Общие и Подстановка можно установить свойства числового поля, среди которых Размер поля, Формат поля, Число десятичных знаков |
Дата/Время | Используется для представления даты и времени. Выбор конкретного формата даты или времени устанавливается в свойстве Формат даты |
Денежный | Предназначен для хранения данных, точность представления которых колеблется от 1 до 4 знаков после запятой. Целая часть может содержать до 15 десятичных знаков |
Счетчик | Предназначен для автоматической вставки уникальных последовательных (увеличивающихся на 1) или случайных чисел в качестве номера новой записи. Номер, присвоенный записи, не может быть удален или изменен. Поля с этим типом данных используются в качестве ключевых полей таблицы |
Логический | Предназначен для хранения одного из двух значений, интерпретируемых как «Да / Нет», «Истина / Ложь», «Вкл. / Выкл.» |
Поле объекта OLE | Содержит данные, созданные в других программах, которые используют протокол OLE. Это могут быть, например, документы Word, электронные таблицы Excel, рисунки, звуковые и видеозаписи и др. Объекты OLE связываются с базой данных Access или внедряются в нее. Сортировать, группировать и индексировать поля объектов OLE нельзя |
Гиперссыл-ка | Специальный тип, предназначенный для хранения гиперссылок |
Мастер подстановок | Предназначен для автоматического определения поля. С его помощью будет создано поле со списком, из которого можно выбирать данные, содержащиеся в другой таблице или в наборе постоянных значений |
Задание 1.1 Создание однотабличной базы данных
1. Запустите Microsoft Access 2007.
2. Нажмите на кнопку Новая база данных.
3. Задайте имя базы данных - Записная книжка.
4. База будет содержать одну таблицу, структура которой представлена в табл.1.2. Для создания структуры таблицы на вкладке Создание в группе Таблицы перечислены режимы создания таблиц:
Ø Таблица;
Ø Шаблон таблиц;
Ø Конструктор таблиц.
5. выберите режим Конструктор таблиц.
6. Введите имена полей и укажите типы данных этих полей:
Таблиц. 1.2. Структура таблицы Друзья
Имя поля | Тип данных |
№ п/п | Счетчик |
Фамилия | Текстовый |
Имя | Текстовый |
Адрес | Текстовый |
Индекс | Числовой |
Телефон | Текстовый |
Хобби | Текстовый |
Эл_почта | Гиперссылка |
7. Выйдите из режима Конструктор, предварительно сохранив таблицу под именем Друзья. От задания Ключевого поля откажитесь.
8. Откройте таблицу Друзья двойным щелчком мыши на ее имя в области Перехода. Введите в таблицу не менее 10 записей (строк).
Задание 1.2. Изменение структуры таблицы в режиме Таблица
1. В таблицу добавьте поля Отчество и Дата рождения, для этого:
Ø установите курсор на поле, перед которым нужно вставить новый столбец;
Ø выполнить действия Режим таблицы => Поля и столбцы => Вставить;
Ø щелкнув дважды на Поле1, переименуйте его подпись в «Отчество», а подпись второго вставленного Поле2 - Дата рождения.
2. Перейдите в режим Конструктор по схеме Главная => Режимы => Конструктор.
3. Для поля Дата рождения установите тип данных Дата / время, а в свойствах поля укажите формат поля - Краткий формат даты ( это можно сделать и в Режиме таблицав группеФорматирование и тип данных ). При вводе даты в столбец из раскрывающегося при нажатии кнопки календаря выбирают необходимую дату (можно и не пользоваться календарем).
Задание 1.3. Форматирование таблиц
1. Выполните форматирование таблицы следующим образом:
Ø В режиме Таблица на вкладке Главная в группе Шрифт кнопкой Сетка выберите тип (все линии или горизонтальная, цвет сетки - темно-красный);
Ø цвет фона – любой светлых тонов;
Ø изменить цвет заливки/фона- выбрать иной чем цвет фона;
Ø цвет текста – любой темных тонов, размер - 12 пт, курсив.
2. Переименуйте поле Хобби в Увлечения.
3. Измените, размер столбца так, чтобы были видны все данные в ячейках этого столбца. Для этого достаточно два раза щелкнуть левой кнопкой мыши на границе полей.
4. Расположите поля в следующем порядке: № п/п, Фамилия, Имя, Отчество, Телефон, Дата рождения, Увлечения, Адрес, Индекс, Фото, Эл_почта.
5. Заполните данными пустые ячейки в записях таблицы.
Задание 1.4. Создание фиксированного списка значений для ввода повторяющейся информации в таблицу
1. В режиме Конструктор добавьте поле Семейное положение, в котором будет содержаться фиксированный набор значений - замужем, не замужем, женат, не женат. Для создания раскрывающегося списка будем использовать Мастер подстановок:
Ø установите тип данных поля Семейное положение - Мастер подстановок;
Ø в появившемся диалоговом окне выберите строку Будет введен фиксированный набор значений, нажмите кнопку Далее=>Число столбцов введите 1;
Ø введите следующие постоянные элементы списка - замужем, не замужем, женат, не женат;
Ø нажмите кнопку Готово.
2. В таблицу Друзья в столбец Семейное положение введите определенные данные из списка. Поскольку таблица получилась широкая, то при заполнении данного столбца возникают некоторые неудобства (не видно фамилии человека, для которого заполняется поле Семейное положение). Чтобы фамилия была постоянно видна при заполнении таблицы, необходимо воспользоваться командой Закрепить столбцы из контекстного меню поля Фамилия.
Лабораторная работа № 2
Создание базы данных ФИРМА
Рассмотрим технологию создание базы данных, которая будет содержать несколько таблиц.
Создадим информационную систему с именем ФИРМА, в которой сотрудники фирмы работают с клиентами-компаниями и выполняют их заказы. Для хранения, обработки информации воспользуемся Microsoft Office Access 2007.
Если все сведения о сотрудниках, клиентах, заказах разместить в одной таблице, то она станет достаточно большой и неудобной для работы. В ней будут повторы данных. Всякий раз, когда сотрудник Иванов будет работать с какой-либо фирмой, придется прописывать данные о нем и клиенте заново, в результате чего может быть допущено множество ошибок. В этом случае, рационально исходную таблицу разбить на несколько таблиц и установить связи между ними. Для сложных информационных систем эта проблема решается на этапе проектировании базы данных.
Из анализа задачи следует: для хранения информации необходимо создать три таблицы:
Ø Сотрудники, в которой будут храниться все сведения о сотрудниках фирмы, работающих с клиентами-компаниями.
Ø Клиенты – компании заключающие договора с ФИРМОЙ.
Ø Заказы – список заключенных договоров компаний с фирмой на оказание услуг.
Структуры таблиц базы данных системы приведены в таблицах 2.1-2.3.
Таблица 2.1. Структура таблицы Сотрудники
Имя поля | Тип данных |
Код сотрудника | Счетчик |
Фамилия | Текстовый |
Имя | Текстовый |
Отчество | Текстовый |
Должность | Текстовый |
Телефон | Текстовый |
Адрес | Текстовый |
Дата рождения | Дата/Время |
Заработная плата | Денежный |
Фото | Объект OLE |
Эл_почта | Гиперссылка |
Таблица 2.2. Структура таблицы Клиенты
Имя поля | Тип данных |
Код клиента | Счетчик |
Название компании | Текстовый |
Адрес | Текстовый |
Номер телефона | Текстовый |
Факс | Числовой |
Адрес электронной почты | Гиперссылка |
Заметки | Поле МЕМО |
Таблица 2.3. Структура таблицы Заказы
Имя поля | Тип данных |
Код заказа | Счетчик |
Вид заказа | Текстовый |
Код клиента | Числовой |
Код сотрудника | Числовой |
Дата размещения | Дата/Время |
Дата исполнения | Дата/Время |
Сумма | Денежный |
Отметка о выполнении | Логический |
Задание 2.1. Создание таблиц базы данных системы
Выберите любой из доступных способов и самостоятельно создайте таблицы Сотрудники, Клиенты и Заказы.
Задание 2.2. Установление ключевых полей в таблицах
Отдельные таблицы, содержащие информацию по определенной теме, необходимо связать в единую структуру базы данных. Для этого следует задать в таблицах ключевые поля. Ключ может состоять из одного или нескольких полей, значения которых в совокупности однозначно определяют каждую запись в таблице. Наиболее подходящим в качестве ключевого поля нашей базы данных является « Счетчик », так как значения данных в этом поле являются уникальными (т. е. исключаются повторы).
Для задания ключевых полей в таблицах необходимо:
1. Открыть таблицу Сотрудники в режиме Конструктор.
2. Из контекстного меню поля Код сотрудника выбрать команду Ключевое поле. Если ключ составной (состоит из нескольких полей) то поля включают в группу при нажатой клавишу Ctrl а затем задают команду Ключевое поле.
3. Аналогично для таблицы Клиенты установите ключевое поле Код клиента, а для таблицы Заказы - Код заказа
Задание 2.3. Создание списков для ввода информации
1. Таблица Заказы содержит поля Код сотрудника и Код клиента. При их заполнении могут возникнуть некоторые трудности, так как не всегда удается запомнить все предприятия, с которыми работает фирма, и всех сотрудников по номеру кода. Для удобства необходимо создать раскрывающиеся списки с помощью Мастера подстановок. Для этого необходимо выполнить следующее:
Ø Откройте таблицу Заказы в режиме Конструктор.
Ø Для поля Код сотрудника выберите тип данных Мастер подстановок.
Ø В появившемся окне выберите команду Объект «столбец подстановки» будет использовать значения из таблицы или запроса и щелкните на кнопке Далее.
Ø Из списка таблиц выберите Сотрудники и щелкните на кнопке Далее.
Ø В списке Доступные поля выберите поле Код сотрудника и щелкните на кнопке со стрелкой, чтобы ввести поле в список Выбранные поля. Таким же образом добавьте поля Фамилия и Имя и щелкните на кнопке Далее.
Ø Выберите порядок сортировки списка по полю Фамилия.
Ø В следующем диалоговом окне задайте необходимую ширину столбцов раскрывающегося списка.
Ø Установите флажок Скрыть ключевой столбец и нажмите кнопку Далее (можно и не устанавливать флажок Скрыть ключевой столбец).
Ø На последнем шаге Мастера подстановок замените при необходимости надпись для поля подстановок (если вы установили флажок Скрыть ключевой столбец) и щелкните на кнопке Готово.
2. Аналогичным образом самостоятельно создайте раскрывающийся список для поля Код клиента.
Задание 2.4. Установление связей между таблицами
После задания ключевых полей можно приступить к созданию связей. Существует несколько типов отношений между таблицами:
Ø при отношении «один-к-одному» каждой записи ключевого поля в первой таблице соответствует только одна запись в связанном поле другой таблицы, и наоборот. Отношения такого типа используются не очень часто. Иногда их можно использовать для разделения таблиц, содержащих много полей, для отделения части таблицы по соображениям безопасности;
Ø при отношении «один-ко-многим» каждой записи в первой таблице соответствует несколько записей во второй, но запись во второй таблице не может иметь более одной связанной записи в первой таблице;
Ø при отношении «многие-ко-многим» одной записи в первой таблице могут соответствовать несколько записей во второй таблице, а одной записи во второй таблице могут соответствовать несколько записей в первой. Это случай не допустим для реляционных баз данных.
Для задания связей между таблицами выполнить:
1. Закрыть все таблицы, так как создавать или изменять связи между открытыми таблицами нельзя.
2. Выполнить команду Работа с базами данных =>кнопка Схема данных.
3. Если ранее никаких связей между таблицами базы не было, то при открытии окна Схема данных одновременно открывается окно Добавление таблицы, в котором необходимо выбрать таблицы Сотрудники, Клиенты и Заказы.
4. Если связи между таблицами уже были заданы, то для добавления в схему данных новой таблицы щелкните правой кнопкой мыши на область окна схемы данных и в контекстном меню выберите пункт Добавить таблицу.
5. Установить связь между таблицами Сотрудники и Заказы. Для этого необходимо:
Ø выбрать поле Код сотрудника в таблице Сотрудники и перенести (отбуксировать) его на соответствующее поле в таблице Заказы (Код сотрудника);
Ø откроется диалоговое окно Изменение связей (рис. 1), в котором включите флажок Обеспечение условия целостности. Это сделает невозможным удаление записей из главной таблицы, если в подчиненных есть записи связанные с удаляемой;
Ø включить флажки Каскадное обновление связанных полей и Каскадное удаление связанных записей, чтобы обеспечить одновременное обновление или удаление данных во всех подчиненных таблицах при их изменениях в главной таблице;
Ø параметры связи можно изменить, нажав на кнопку Объединение (этого делать не нужно);
Ø после установления всех необходимых параметров нажмите кнопку ОК.
Окончательно окно Изменение связей будет иметь вид представленный на рисунке 1.
Рисунок 1. Создание связи между таблицами
6. Связь между таблицами Клиенты и Заказы установите самостоятельно.
7. В результате должна получиться схема данных, представленная на рисунке 2.
Рисунок 2. Схема данных
В приведенном примере используются связи «один-ко-многим». На схеме данных они отображаются в виде соединительных линий со специальными значками около таблиц. Неопределенная связь не имеет никаких знаков, она установилась в нашей работе, когда были созданы списки Мастером подстановки для двух полей таблицы Заказы. Если установлено объединение, то его направление отмечается стрелкой на конце соединительной линии (ни одно из объединенных полей не является ключевым и не имеет уникального индекса).
Задание 2.5. Порядок заполнения таблиц данными, после установления связей между таблицами.
Ввод данных в таблицы начинают с главных, а затем заполняют подчиненные. Самостоятельно введите в поля таблиц информацию (записи). В список сотрудников включите своих родственников, соседей.
8. В таблицу Сотрудники введите данные о семи сотрудниках.
9. В таблицу Клиенты внесите данные о восьми предприятий, с которыми работает данная фирма.
10. В таблицу Заказы введите десять заявок на оказание услуг, поступивших на фирму.
Просмотрите таблицы, выполните форматирование данных. Ваши таблицы должны быть легко читаемы, аккуратны, полностью отображать информацию в ячейках. Для просмотра удаленных столбцов необходимое количество первых столбцов необходимо закрепить, вид должен быть не хуже чем представлен на рисунке 3.
Рисунок 3. Вид таблицы Заказы
Лабораторная работа № 3
Отбор данных с помощью запросов
Запросы являются основным средством отбора данных из базы и их просмотра, изменения и анализа информации, которая содержится в одной или нескольких таблицах базы данных.
Допускается создание запросов двумя способами: с помощью Мастера запросов и Конструктора запросов, которые находятся в группе Другие вкладки Создания ленты.
Используя Мастер запросов можно создать следующие виды запросов:
Ø Простой – запрос на выборку;
Ø Перекрестный;
Ø Повторяющиеся записи;
Ø Записи без подчиненных. Смотрите рисунок 4.
Рисунок 4. Вид окна Мастер запросов
Наиболее распространенными являются запросы на выборку.
При создании запроса в режиме Конструктор можно мгновенно просмотреть таблицу результата запроса, выбрав команду Выполнить в группе Результаты, а затем вновь вернуться в режим Конструктор и продолжить работу создания запроса.