- •Оглавление
- •Часть I создание баз данных в среде microsoft access. Теория 10
- •Часть II создание баз данных в среде microsoft access. Практикум 52
- •Часть III самостоятельная работа 127
- •Предисловие
- •Часть I создание баз данных в среде microsoft access. Теория
- •Субд ms access
- •Контрольные вопросы
- •Объекты Access
- •Контрольные вопросы
- •Виды моделей баз данных
- •3.1. Реляционная модель
- •Задания для самостоятельной работы
- •3.2. Иерархическая модель
- •Задание для самостоятельной работы
- •3.3. Сетевая модель
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Режимы работы с Access
- •Контрольные вопросы
- •Структура базы данных
- •Контрольные вопросы
- •Контрольные вопросы
- •Совместное использование данных
- •Контрольные вопросы
- •Приемы работы с таблицами баз данных
- •Контрольные вопросы
- •Приемы работы с таблицами баз данных.
- •Создание связей между таблицами
- •1.Отношения между таблицами
- •2.Ключи и индексы
- •Контрольные вопросы
- •Создание связей между таблицами.
- •Отношения между таблицами.
- •Ключи и индексы.
- •Запросы
- •3.Запросы на выборку
- •4.Запросы с параметром
- •5.Вычисления в запросах
- •6.Итоговые запросы
- •7.Запросы на изменение
- •Контрольные вопросы
- •8.Разделы формы
- •9.Создание надписей
- •10.Создание и редактирование связанных полей
- •11.Прочие элементы управления формы
- •Контрольные вопросы
- •Разделы формы.
- •Создание надписей.
- •Создание и редактирование связанных полей.
- •12.Автоотчеты
- •13.Структура отчета
- •Контрольные вопросы
- •Структура отчета.
- •Нормализация баз данных
- •Контрольные вопросы
- •Часть II создание баз данных в среде microsoft access. Практикум Работа 1. Создание базы данных, состоящей из одной таблицы
- •Этапы работы
- •Ход работы
- •Работа 2. Создание базы данных, состоящей из двух таблиц
- •Этапы работы
- •Проектирование структуры базы данных.
- •2. Конструирование пустых таблиц базы данных.
- •3. Создание схемы базы данных.
- •4. Ввод данных в таблицы.
- •Ход работы
- •Работа 3. Создание базы данных, состоящей из трех таблиц
- •Этапы работы
- •Ход работы
- •Работа 4. Применение форм
- •Ход работы
- •База данных «Компьютерная школа»
- •Работа 5. Создание и использование запросов
- •Ход работы
- •Работа 6. Создание и использование запросов (продолжение)
- •Ход работы
- •Работа 7. Создание отчетов
- •Ход работы
- •Работа 8. Создание отчетов (продолжение)
- •Часть III самостоятельная работа Работа 9. Создание и использование базы данных «Фонотека»
- •Этапы работы
- •Ход работы
- •Работа 10. Создание и применение базы данных «Видеотека»
- •Этапы работы
- •Ход работы
- •Работа 11. Создание и применение базы данных «Лесничество»
- •Этапы работы
- •Ход работы
- •Работа 12. Создание и использование базы данных «Библиотека»
- •Этапы работы
- •1. Проектирование структуры базы данных.
- •2. Построение пустых таблиц базы данных.
- •3. Создание схемы базы данных.
- •4. Заполните таблицы исходными данными.
- •5. Использование базы данных.
- •Ход работы
- •Заключение
- •Библиографический список
- •Приложение 2 основные алгоритмы
- •Приложение 1 настройка запуска базы данных
1.Отношения между таблицами
Отношения между таблицами устанавливают связь между данными находящимися в разных таблицах базы данных.
Отношения между таблицами определяются отношением между группами объектов соответствующего типа. Например, один автор может написать несколько книг и издать их в разных издательствах. Или издательство может опубликовать несколько книг разных авторов. Таким образом, между авторами и названиями книг существует отношение один-ко-многим, а между издательствами и авторами существует отношение много-ко-многим.
Отношение один-к-одному
Если между двумя таблицами существует отношение один-к-одному, то это означает, что каждая запись в одной таблице соответствует только одной записи в другой таблице. Примером такого отношения может служить отношение между таблицами. Таблица Авторы содержит краткую информацию о авторах, таблица Личность содержит персональную информацию о авторах (домашний адрес, телефон, образование и др.). Между этими таблицами существует отношение один-к-одному, так как одна запись, идентифицирующая автора, однозначно соответствует только одной записи в таблице Личность, содержащей персональные данные об авторе. Связь между таблицами определяется с помощью совпадающих полей: Au_ID в таблице Авторы и в таблице Личность.
Отношение один-ко-многим
Хорошим примером отношения между таблицами один-ко-многим является отношение между авторами и названиями книг (таблицы AUTHORS и TITLES), так как каждый автор может иметь отношение к созданию нескольких книг. Связь между таблицами AUTHORS и TITLES осуществляется с помощью совпадающих полей Au_ID в обеих таблицах.
Отношение много-к-одному
Отношение много-к-одному полностью аналогично рассмотренному выше отношению один-ко-многим.
Отношение много-ко-многим
При отношении между двумя таблицами много-ко-многим каждая запись в одной таблице связана с несколькими записями в другой таблице и наоборот. Иллюстрацией такого отношения может служить отношение между таблицами PUBLISHERS и AUTHORS. С одной стороны, каждое издательство может публиковать книги разных авторов и с другой стороны - каждый автор может публиковаться в разных издательствах.
Для удобства работы с таблицами, имеющими отношение много-ко-многим, обычно в базу данных добавляют еще одну таблицу, которая находится в отношении один-ко-многим и много-к-одному к соответствующим таблицам.
2.Ключи и индексы
В реляционных базах данных таблицы связываются друг с другом посредством совпадающих значений ключевых полей. Ключевым полем может быть практически любое поле в таблице. Ключ может быть первичным (primary) или внешним (foreign).
Первичный ключ однозначно определяет запись в таблице, в то время как внешний ключ используется для связи с первичным ключом другой таблицы.
Очень часто ключевое поле не несет никакой смысловой нагрузки и является просто идентификатором объекта в таблице. Во многих случаях удобно использовать в качестве ключа поле счетчика (Counter field). При этом вся ответственность по поддержанию уникальности ключевого поля снимается с пользователя и перекладывается на процессор баз данных. Поле счетчика представляет собой четырехбайтовое целое число (Long) и автоматически увеличивается на единицу при добавлении пользователем новой записи в таблицу.
Данные запоминаются в таблице в том порядке, в котором они вводятся пользователем. Это, так называемый, физический порядок следования записей. Однако, часто требуется представить данные в другом, отличном от физического, порядке. Например, может потребоваться просмотреть данные об авторах книг, упорядоченные по алфавиту. Кроме того, часто необходимо найти в большом объеме информации запись, удовлетворяющую определенному критерию. Простой перебор записей при поиске в большой таблице может потребовать достаточно много времени и поэтому будет неэффективным.
Одними из основных требований, предъявляемым к системам управления базами данных, являются возможность представления данных в определенном, отличном от физического, порядке и возможность быстрого поиска определенной записи. Эффективным средством решения этих задач является использование индексов.
Индекс представляет собой таблицу, которая содержит ключевые значения для каждой записи в таблице данных и записанные в порядке, требуемом для пользователя. Ключевые значения определяются на основе одного или нескольких полей таблицы. Кроме того, индекс содержит уникальные ссылки на соответствующие записи в таблице
Каждая таблица может иметь несколько различных индексов, каждый из которых определяет свой собственный порядок следования записей. Например, таблица AUTHORS может иметь индексы для представления данных об авторах, упорядоченные по дате рождения или по алфавиту. Таким образом, каждый индекс используется для представления одних и тех же данных, но упорядоченных различным образом.
Вообще говоря, таблицы в базе данных могут и не иметь индексов. В этом случае для большой таблицы время поиска определенной записи может быть весьма значительным и использование индекса становиться необходимым. С другой стороны, не следует увлекаться созданием слишком большого количества индексов, так как это может заметно увеличить время необходимое для обновления базы данных и значительно увеличить размер файла базы данных.
При разработке приложений, работающих с базами данных, наиболее широко используются простые индексы. Простые индексы используют значения одного поля таблицы. Хотя в большинстве случаев для представления данных в определенном порядке достаточно использовать простой индекс, часто возникают ситуации, где не обойтись без использования составных индексов. Составной индекс строится на основе значений двух или более полей таблицы. Хорошей иллюстрацией использования составных индексов может служить база данных родственников при генеалогических исследованиях какой-либо фамилии. Понятно, что использование в качестве простого индекса фамилии человека в данном случае недопустимо. Даже использование составного индекса, основанного на полях имени, фамилии и отчества может быть неэффективным, так как и в этом случае, все равно возможно существование достаточно большого числа однофамильцев. Выходом из положения может быть использование составного индекса, основанного, например, на следующих полях таблицы: имя, фамилия, отчество, город и номер телефона.
