- •Оглавление
- •Предисловие
- •Основные понятия
- •1.1. База данных
- •Классификация баз данных
- •1.1.2. Структурные элементы базы данных
- •1.2. Виды моделей данных
- •1.2.1. Иерархическая модель данных
- •111Петрова и.Т. 112Никулин с.Л.
- •1.2.2. Сетевая модель данных
- •1.2.3. Реляционная модель данных
- •Студент
- •СессияНомерРезультат
- •Функциональные возможности субд
- •2.1. Общие сведения
- •Производительность субд
- •Обеспечение целостности данных на уровне базы данных
- •2.4. Обеспечение безопасности
- •Работа в многопользовательских средах
- •2.6. Импорт-экспорт
- •Доступ к данным посредством языка sql
- •2.7. Возможности запросов и инструментальные средства разработки прикладных программ
- •3. Основы технологии работы в субд
- •3.1. Команды для выполнения типовых операций
- •3.1.1. Типовая структура интерфейса
- •3.1.2. Команды для работы с файлами
- •3.1.3. Команды редактирования
- •3.1.4. Команды форматирования
- •3.1.5. Команды для работы с окнами
- •3.1.6. Система получения справочной информации
- •3.2. Обобщенная технология работы
- •3.2.1. Общее представление об этапах технологии
- •Создание структуры таблиц базы данных
- •Ввод и редактирование данных
- •Обработка данных, содержащихся в таблицах
- •3.2.5. Вывод информации из базы данных
- •Разработка инфологической модели и создание структуры реляционной базы данных
- •4.1. Организация данных
- •Целостность данных
- •Проектирование реляционной базы данных с использованием нормализации
- •Создание информационно-логической и логической моделей базы данных
- •Примеры решения задач средствами субд access
- •5.1. Проектирование и создание новой базы данных. Создание таблиц. Ввод записей и работа с данными таблицы. Создание межтабличных связей
- •5.2. Создание и открытие запросов
- •5.3. Создание форм и отчетов
- •5.4. Создание макросов. Обмен данными
- •6. Требования, предьявляемые к курсовой работе
- •6.1. Общие сведения
- •6.2. Содержание пояснительной записки к курсовой работе
- •6.3. Требования к оформлению пояснительной записки
- •7. Пример создания программы для курсовой работы
- •7.1. Постановка задачи
- •7.2. Создание er-модели
- •Арендатор
- •7.4. Описание технологии создания запросов
- •7.5. Создание форм
- •7.6. Создание отчетов
- •7.7. Создание кнопочной формы
- •Список рекомендуемой литературы
- •Варианты заданий
Обработка данных, содержащихся в таблицах
Обрабатывать информацию, содержащуюся в таблицах БД, можно путем использования запросов или в процессе выполнения специально разработанной программы.
Конечный пользователь получает при работе с СУБД такое удобное средство обработки информации, как запросы. Запрос представляет собой инструкцию на отбор записей.
Большинство СУБД разрешают использовать запросы следующих типов:
запрос-выборка, предназначенный для отбора данных, хранящихся в таблицах, и не изменяющий эти данные;
запрос-изменение, предназначенный для изменения или перемещения данных; к этому типу запросов относятся: запрос на добавление записей, запрос на удаление записей, запрос на создание таблицы, запрос на обновление;
запрос с параметром, позволяющий определить одно или несколько условий отбора во время выполнения запроса.
Самым распространенным типом запроса является запрос на выборку. Результатом выполнения запроса является таблица с временным набором данных (динамический набор). Записи динамического набора могут включать поля из одной или нескольких таблиц БД. На основе запроса можно построить отчет или форму.
3.2.5. Вывод информации из базы данных
Практически любая СУБД позволяет вывести на экран и принтер информацию, содержащуюся в базе данных, из режимов таблицы или формы. Такой порядок вывода данных может использоваться только как черновой вариант, так как позволяет выводить данные только точно в таком же виде, в каком они содержатся в таблице или форме.
Каждый пользователь, работающий с СУБД, имеет возможность использования специальных средств построения отчетов для вывода данных. Используя специальные средства создания отчетов, пользователь получает следующие дополнительные возможности вывода данных:
включать в отчет выборочную информацию из таблиц БД;
добавлять информацию, не содержащуюся в БД;
при необходимости выводить итоговые данные на основе информации базы данных;
располагать выводимую в отчете информацию в любом, удобном для пользователя виде (вертикальное или горизонтальное расположение полей);
включать в отчет информацию из разных связанных таблиц БД.
Разработка инфологической модели и создание структуры реляционной базы данных
4.1. Организация данных
Как уже было отмечено выше, слово "реляционная" происходит от английского relation─ отношение. Отношение─ математическое понятие, но в терминологии моделей данных отношения удобно изображать в виде таблицы. При этом строки таблицы соответствуюткортежамотношения, а столбцы ─атрибутам.Ключомназывают любую функцию от атрибутов кортежа, которая может быть использована для идентификации кортежа. Такая функция может быть значением одного из атрибутов (простой ключ), задаваться алгебраическим выражением, включающим значения нескольких атрибутов (составной ключ). Это означает, что данные в строках каждого из столбцов составного ключа могут повторяться, но комбинация данных каждой строки этих столбцов является уникальной. Например, в рассмотренной выше таблице Студенты (см. рис.1.9) есть столбцы Фамилия и Дата рождения.В каждом из столбцов есть некоторые повторяющиеся данные, т.е. одинаковые фамилии и одинаковые даты рождения. Но если студенты, имеющие одинаковые фамилии, имеют разные даты рождения, то эти столбцы можно использовать в качестве составного ключа. Как правило, ключ является уникальным, т.е. каждый кортеж определяется значением ключа однозначно, но иногда используют и неуникальные ключи (ключи с повторениями). В локализованной (русифицированной) версииAccessвводится терминключевое поле,которое можно трактовать как первичный ключ.
В Accessможно выделитьтри типа ключевых полей:простой ключ, составной ключ и внешний ключ.
Одно из важнейших достоинств реляционных БД состоит в том, что можно хранить логически сгруппированные данные в разных таблицах и задавать связи между ними, объединяя их в единую базу. Для задания связи таблицы должны иметь поля с одинаковыми именами или хотя бы с одинаковыми форматами данных. Связь между таблицами устанавливает отношения между совпадающими значениями в этих полях. Такая организация данных позволяет уменьшить избыточность хранимых данных, упрощает их ввод и организацию запросов и отчетов. Поясним это на примере. Допустим, в базе надо хранить данные о студентах (фамилия, изучаемая дисциплина) и преподавателях (фамилия, название кафедры, ученая степень, преподаваемая дисциплина). Если хранить данные в одной таблице, то в строке с фамилией студента, изучающего конкретную дисциплину, будут храниться все атрибуты преподавателя, читающего эту дисциплину. Это же огромная избыточность данных. А если хранить данные о студенте в одной таблице, о преподавателе ─ в другой и установить связь между полями Читаемая дисциплина ─ Изучаемая дисциплина (фактически это одинаковые поля), то избыточность хранимых данных много- кратно уменьшится без ущерба для логической организации информации.
В Accessможно задатьтри вида связей между таблицами: Один-ко-многим, Многие-ко-многим и Один-к-одному.
Связь Один-ко-многим ─ наиболее часто используемый тип связи между таблицами. В такой связи каждой записи в таблице А может соответствовать несколько записей в таблице В (поля с этими записями называют внешними ключами), а запись в таблице В не может иметь более одной соответствующей ей записи в таблице А.
При связи Многие-ко-многим одной записи в таблице Аможет соответствовать несколько записей в таблице В, а одной записи в таблице В ─ несколько записей в таблице А. Такая схема реализуется только с помощью третьей (связующей) таблицы, ключ которой состоит по крайней мере из двух полей, одно из которых является общим с таблицей А, а другое — общим с таблицей В.
При связи Один-к-одномузапись в таблице А может иметь не более одной связанной записи в таблице В, и наоборот. Этот тип связи используют не очень часто, поскольку такие данные могут быть помещены в одну таблицу. Связь с отношением Один-к-одномуприменяют для разделения очень широких таблиц, для отделения части таблицы в целях ее защиты, а также для сохранения сведений, относящихся к подмножеству записей в главной таблице.
Тип создаваемой связи зависит от полей, для которых определяется связь:
связь Один-ко-многимсоздается в том случае, когда только одно из полей является ключевым или имеет уникальный индекс, т.е. значения в нем не повторяются;
связь Один-к-одномусоздается в том случае, когда оба связываемых поля являются ключевыми или имеют уникальные индексы;
связь Многие-ко-многимфактически представляет две связи типа Один-ко-многим через третью таблицу, ключ которой состоит, по крайней мере, из двух полей, общих для двух других таблиц.