Информатика БНТУ

1 сообщение / 0 новое
admin
Аватар пользователя admin
Информатика БНТУ

ЗАДАНИЕ НА КОНТРОЛЬНУЮ РАБОТУ

1.Тема работы:.“Создание базы данных в предметной области ……..»”

2.Срок сдачи расчетно-графической работы: 1 июня 2015 г.

3.Необходимо создать БД, содержащую сведения из предметной области (номер варианта соответствует номеру в списке группы):

агентство недвижимости;
магазин стройматериалов;
автомастерская;
автосалон;
магазин аудиопродукции;
магазин видеопродукции;
магазин компьютерной техники;
аптека;
магазин спортивного оборудования;
учет успеваемости студентов;
фотосервис;
банковские вклады;
коммунальные услуги;
прокат товаров;
служба занятости;
заказ авиабилетов;
государства Европы;
государства СНГ;
хоккей;
футбол
заказ билетов на междугородние автобусные рейсы;
биатлон;
швейная мастерская;
строительство дачных домиков;
цветочный магазин;
гостиничное хозяйство;
зоопарк;
склад;
кубок мира по горным лыжам;
заказ железнодорожных билетов в пределах РБ.

5.Работа состоит из выполнения следующих заданий:

спроектировать БД, содержащую не менее трех таблиц.
создать и занести в БД данные (не менее 15 записей в родительских таблицах). Использовать свойства полей. Положительно оценивается многообразие типов полей.
Организовать связи между таблицами. Убедиться, что: данные, внесенные в таблицы непротиворечивы; система поддержки целостности БД функционирует  при: изменении записей, добавлении записей, удалении записей.
Создать следующие типы запросов к БД:

выборки  (использовать не менее чем две таблицы);
итоговый;
с параметром;
перекрестный;
сводную таблицу;
запросы действия.

Создать все виды экранных форм. В режиме конструктора по запросу; с помощью мастера – с подчиненной формой, связанные таблицы, диаграмму по ранее созданному запросу, сводную диаграмму.
Оформить отчеты, используя Конструктор отчетов, мастер отчетов по данным двух, трех таблиц. Создать вычисляемые поля. Использовать операцию группировки. Отчеты должны иметь заголовок, заголовок группы, расчетную строку по группе, итоговую строку по отчету.  Использовать вложенные группы. Построить все виды отчетов.
Создать кнопочную форму, выводящую на экран рисунок-эмблему предприятия. Рисунок-эмблема должен быть  подготовлен в графическом редакторе Paint. Выводить на форму одно из следующих значений: число дней до дня Независимости РБ, дня рождения А.С.Пушкина, дня рождения Я.Коласа, дня рождения Я.Купала, М.Богдановича, В.Быкова, 1–го сентября, Нового года. Выводить день недели заданной даты.
Использовать в работе макросы.

6.Работа должна содержать:

Титульный лист
Оглавление
Постановку задачи.
Описание заданной предметной области (ПО).
Описание информационно–логической модели данных.
Назначение таблиц, способы, какими созданы таблицы.
Назначение запросов, типы запросов, какие типы запросов созданы в работе.
Назначение форм, какие формы созданы, какие оригинальные решения использованы.
Назначение отчетов, какие отчеты созданы, какие специальные операции были использованы при создании отчетов.
Назначение макросов, цель использования созданных макросов.
Список литературы.

ЛИТЕРАТУРА

Бекаревич Ю.Б., Пушкина Н.В. MS Access 2002. — СПб.: БХВ-Санкт-Петербург, 2002.
Вейскас Дж. Эффективная работа с Microsoft Access 2000. — СПб: Издательство «Питер», 2000.
Экономическая информатика: Учеб./Под ред. П.В. Конюховского, Д.Н. Колесова. СПб.: Питер, 2000
Гончаров А. Access 97 в примерах. СПб.: Питер, 1997
Оскерко В.С. Технологии организации, хранения и обработки данных. –– Мн.: БГЭУ, 2002

 

 

 

 

 

Пример создания Базы данных

Постановка задания

Задание предусматривает создание объектов базы данных - таблиц, запросов, форм, отчетов в СУБД Access с использованием разных режимов.

Требуется создать БД "Библиотека", состоящую из 3-х таблиц: "Книги", "Читатели", "Заказы". В каждую из таблиц включить 10 записей.

Таблицу "Книги" создать, используя режим "Создание таблицы с помощью мастера". Таблицу "Читатели" - в режиме конструктора, таблицу "Заказы" - в режиме конструктора. Ввести данные в таблицы, сохранить их и распечатать.

Объединить таблицы по соответствующим ключевым полям.

На основе объединенных таблиц создать запросы в режиме конструктора:

запросы на выборку;
итоговый запрос;
запрос с параметром;

Создать формы:

в режиме мастера по таблицам "Читатели" и "Книги" создать форму с подчиненной формой;
диаграмму по запросу;
в режиме мастера форму с расположением полей в один столбец.

Формы сохранить и распечатать.

Создать отчет по таблице "Книги" с группировкой по издательству, с подведением итогов по полю Стоимость.

МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ К ВЫПОЛНЕНИЮ ЗАДАНИЯ.

Создание базы данных.

Запустить СУБД MS Access. В окне MS Access установить переключатель в положение Новая база данных и нажать кнопку [ОК].

В окне Файл новой базы данных указать, где создать файл базы данных (на диске С: в папке Мои документы или на своем диске А:) и с каким именем (возможно Библиотека), нажать кнопку [Создать].

Создать таблицу Книги с использованием мастера. Для этого:

кнопка Таблицы (панель Объекты)/кнопка Создать (панель инструментов окна БД)/в диалоговом окне (ДО) Новая таблица выбрать Мастер Таблиц/[ОК].
выбрать образец таблицы для создания собственной: в диалоговом окне Создание таблиц установить переключатель Личные/в списке Образцы таблиц выбрать Книги;
ключить в новую таблицу поле КодКниги, поле Переводчик (переименовать его в Автор), Местопубликации (переименовать его в Город), Издательство, ГодИздания, ЦенаПокупки (переименовать его в Стоимость), ЧислоСтраниц/кнопка [Далее];
в качестве имени таблицы оставить имя Книги/в разделе Выберите способ определения ключа установить переключатель Microsoft Access автоматически определяет ключ/кнопка [Далее];
ввести две записи в таблицу Книги;
ввести в структуру таблицы Книги следующие изменения: переименовать поле ЧислоСтраниц в Кол_стр; добавить новое поле Название (текстовый, размер 50), вставив его перед полем Город; поменять местами поля Стоимость и Кол_стр; для поля Стоимость изменить значение свойства Число десятичных знаков на 0.

перейти в режим таблицы;
заполнить таблицу данными;

В режиме конструктора создать таблицу "Читатели":

кнопка Создать на панели инструментов окна базы данных/в ДО Новая таблица выбрать Конструктор/[ОК];
определить поле КодЧитателя (указать имя поля, тип данных -Счетчик);
определить поля Фамилия, Имя, Отчество, Должность (указать имя поля, тип данных - текстовый, размер поля - по умолчанию);
определить поле Место работы (указать имя поля, тип данных - текстовый, размер поля - 100);
определить поле Индекс (указать имя поля, тип данных - текстовый, размер поля - 10, , задать маску ввода на вкладке Общие свойства поля в нижней части окна в строке Маска ввода для этого ввести: 000000;;_).
определить поле Город, (указать имя поля, тип данных - текстовый, размер поля - 50, определить значение, автоматически добавляемое в поле для новой записи: щелчок мыши в строке Значения по умолчанию/ввести "Минск");
определить поле Домашний адрес как поле Место работы;
определить поле Домашний телефон. Для этого указать имя поля, тип данных - текстовый, размер поля - 15, задать маску ввода:
!\(999") "999\-99\-99;;_;
создать копию поля Домашний телефон и поместить ее перед полем Город, используя команду Правка/Копировать и Правка/Вставить, переименовать копию в Рабочий телефон;
задать первичный ключ таблицы: выделить поле КодЧитателя, меню Правка/Ключевое поле или соответствующая пиктограмма на панели инструментов. Обратить внимание, что ключевое поле автоматически индексируется. Ознакомится с назначением индекса и способами его создания в Справке. Для этого выполнить Справка/Справка по MS Access/вкладка Содержание/пункт Создание и разработка таблиц/ Работа с первичными ключами и индексами/Создание индекса для ускорения поиска и сортировки записей;
перейти в режим таблицы;
заполнить таблицу данными;
завершить работу с таблицей Читатели.

Создать таблицу Заказы в режиме конструктора:

определить поле КодЗаказа (указать имя поля, тип данных -счетчик);
определить поле КодЧитателя (указать имя поля, тип данных -числовой, размер поля - Длинное целое, удалить значение 0, автоматически добавляемое в поле для новой записи, клавишей Delete или Backspace, создать индекс по этому полю - Совпадения допускаются);
определить поле КодКниги (указать имя поля, тип данных -числовой, размер поля - Длинное целое, удалить значение 0, автоматически добавляемое в поле для новой записи, клавишей Delete или Backspace);
определить поле Дата заказа (указать имя поля, тип данных -Дата/время, формат вывода значений даты на экран и на печать - Краткий формат даты, маску ввода с использованием мастера по созданию масок ввода -Краткий формат даты);
определить поле Отметка о возврате (указать имя поля, тип данных -логический, формат вывода значений - Да/Нет, значение, автоматически добавляемое в поле для новой записи - Нет, тип элемента управления для вывода поля - Флажок);
определить первичный ключ - КодЗаказа;

перейти в режим таблицы;
заполнить таблицу данными;

завершить работу с таблицей Заказы.

Определить связи между таблицами БД;

открыть окно Схема данных по команде Сервис/Схема данных;
определить таблицы, между которыми необходимо создать связи; в ДО Добавление таблицы протяжкой мыши выделить все связываемые таблицы или щелчком мыши выделить первую таблицу, нажать клавишу Shift и, не отпуская, щелчком мыши выделить последнюю таблицу;
нажать кнопки Добавить и Закрыть;
установить связи между таблицами по одноименным полям,
установить флажок Обеспечение целостности данных;
нажать кнопку Создать;
сохранить изменения схемы данных и закрыть окно Схема данных.

Создание запросов

В окне База данных на вкладке Запросы нажать кнопку [Создать]. В окне Новый запрос выбрать режим Конструктор и нажать кнопку [ОК].

Создать в режиме конструктора запросы со следующими условиями отбора:

динамическая таблица должна содержать поля Автор, Название, Город, Издательство, Год издания, Кол_стр и Стоимость. Записи отсортировать по полю Автор в алфавитном порядке. Переименовать поле Кол_стр в Объем (в результирующей динамической таблице: щелчком мыши установить текстовый курсор перед именем поля Кол_стр/ввести Объем: (в результате получится Объем:Кол_стр). Отбор записей о книгах изданных в Петербурге;
на основании предыдущего запроса создать запрос для отбора записей о книгах, изданных в Петербурге с учетом того, что стоимость этих книг выросла на 10%. Вычисляемому полю присвоить имя Новая цена;

записи динамической таблицы должны содержать поля Фамилия, Имя, Должность, МестоРаботы, Индекс, Город, ДомашнийАдрес, Автор, Название, Отметка о возврате. Условием выбора являются читатели, не вернувшие книги в библиотеку;
записи динамической таблицы должны содержать поля Фамилия, Имя, Должность, МестоРаботы Условием выбора являются читатели, первая буква фамилии которых находится в диапазоне от "А" до "К".
Создать итоговый запрос, содержащий список фамилий читателей библиотеки и общее количество книг, заказанных за весь период пользования услугами библиотеки. Поля необходимые для создания итогового запроса: поле Фамилия и поле КодКниги из таблицы Заказы. Включить отображение строки Групповая операция в бланке запроса: Вид/Групповая операция или соответствующая пиктограмма на панели инструментов. Указать, что для каждого читателя библиотеки должно быть вычислено общее количество книг, заказанных за весь период пользования услугами библиотеки. Для этого в строке Групповая операция бланка запроса для поля КодКниги выбрать из списка функцию Count(). Задать сортировку по убыванию по итоговому полю, выполнить запрос, в режиме конструктора изменить имя вычисляемого поля, присвоив ему имя Количество заказанных книг.
Создать параметрический запрос в режиме конструктора для отбора записей о читателях, заказывавших книги в определенный интервал времени. Динамическая таблица должна содержать поля Фамилия, Имя, Отчество, Должность, Место работы и ДатаЗаказа. Отсортировать записи по полю Фамилия. Для этого в режиме конструктора создать новый запрос, перенести в бланк запроса указанные поля, задать сортировку, для поля ДатаЗаказа в строку условие отбора ввести выражение Between [начальная дата] And [конечная дата]/Enter. Определить тип данных для каждого параметра с помощью команды Запрос/Параметры… как Дата/время.

Создание формы

В окне База данных на вкладке Формы нажать кнопку [Создать].
В окне Новая форма задать режим Мастер форм, в раскрывающемся списке задать в качестве источника данных заданную таблицу и нажать кнопку [ОК].
В окне Создание форм выбрать поля для формы, в раскрывающемся списке выбрать имя подчиненной таблицы и для нее отобрать поля для формы, нажать кнопку [Далее] и в последующих ДО мастера задавать параметры по своему усмотрению. Распечатать форму.
Построить диаграмму на основе итогового запроса. Диаграмму отформатировать и распечатать.
Создать автоформу по своему усмотрению. В режиме конструктора добавить в автоформу объект WordArt. Автоформу распечатать.

Создание отчета

В окне База данных на вкладке Отчеты нажать кнопку [Создать].

В окне Новый отчет задать режим Мастер отчетов, выбрать из раскрывающегося списка в качестве источника данных для отчета имя заданной таблицы и нажать кнопку [ОК].

В окне Создание отчетов выбрать поля для отчета и нажать кнопку [Далее].

Указать поле, по которому должна осуществляться группировка записей в отчете и нажать кнопку [Далее].

Задать поле, по которому  должна выполняться сортировка записей в группах, порядок сортировки задан по умолчанию. Нажать кнопку [Итоги…].

В окне Итого для поля, по которому должны подводиться итоги задать операцию SUM и нажать кнопку [ОК], кнопку [Далее], выбрать макет отчета и нажать кнопку [Далее], выбрать стиль для отчета, нажать кнопку [Далее], задать имя отчета и нажать кнопку [Готово].

 

КРАТКАЯ ТЕОРИЯ

СУБД MS Access 2000 является реляционной базой данных (БД). Реляционная база данных представляет собой множество взаимосвязанных двумерных таблиц –– реляционных таблиц, называемых отношениями, в каждой их которых содержатся сведения об одной сущности автоматизируемой предметной области. Логическую структуру реляционной базы данных образует совокупность реляционных таблиц, между которыми установлены логические связи. В MS Access 2000 реализованы все основные функциональные возможности СУБД:

определение данных — можно определить, какая именно информация будет храниться в базе данных, задать структуру данных, их тип, а также указать, как эти данные связаны между собой;

обработка данных — можно выбирать любые характеристики объектов, фильтровать и сортировать данные, можно объединять данные с другой связанной с ними информацией и вычислять итоговые значения;

управление данными — можно указать, кому разрешено знакомиться с данными, изменять их или добавлять новую информацию, можно определить правила коллективного использования данных.

MS Access — типичная настольная СУБД. На небольшом предприятии или фирме ресурсов MS Access вместе с ресурсами остальных программных продуктов Microsoft Office достаточно для обслуживания всего делопроизводства. Простые и в тоже время мощные средства MS Access могут использоваться для:

бухгалтерского учета;
ввода заказов;
ведения информации о клиентах;
ведения информации о деловых контактах.

Поскольку СУБД MS Access может работать в режиме коллективного доступа к базам данных, она является хорошим средством разработки приложений для рабочих групп, которые хранят данные на серверах локальных сетей своих подразделений и в то же время периодически пользуются приложениями других подразделений и сохраняют свои данные на серверах учреждения или предприятия. Если речь идет о небольших рабочих группах, то хранение и коллективный доступ к данным могут осуществляться только при помощи MS Access. Большие приложения для хранения данных используют специальный сервер (например, SQL Server), а MS Access на рабочей станции выступает в этом случае в роли клиента. Кроме того, в крупных учреждениях MS Access может использоваться как пользовательская среда для обработки данных: создания собственных запросов на поиск нужной информации, построения диаграмм, отчетов и т.д.

Для автоматизации проектирования объектов БД MS ACCESS 2000 имеет специализированные программы –– конструкторы и мастера. Конструктор предоставляет пользователю ряд инструментальных средств, с помощью которых можно быстро и просто создавать и модифицировать объекты БД. Мастер делает это по-другому. Задает пользователю ряд вопросов и на основе его ответов вполне законченный объект БД.

Объекты БД и их размещение

СУБД Access 2000 ориентирована на работу с объектами БД. Основными объектами MS Access являются таблицы, запросы, формы, отчеты, страницы доступа к данным, макросы и модули.

Таблица — это основная структура, предназначенная для хранения информации в БД. В таблицах БД хранятся все данные, необходимые для решения задач предметной области. Каждый элемент данных должен храниться в базе только в одном экземпляре. Минимальное дублирование данных в реляционной БД обеспечивает высокую эффективность поддержания БД в актуальном  и непротиворечивом состоянии, однократный ввод и корректировку данных.

Запрос — это требование на: отбор данных, хранящихся в таблицах; выполнение вычислений над данными; изменения в БД.

Форма — созданный на экране шаблон, используемый для ввода, просмотра и редактирования записей БД.

Отчет — отображение на принтере или на экране информации из БД в виде, удобном для ее восприятия и анализа пользователем.

Страница доступа к данным — диалоговая Web-страница, которая поддерживает динамическую связь с БД и позволяет просматривать, редактировать и вводить данные в базу, работая в окне браузера Internet Explorer.

Макрос — последовательность макрокоманд для автоматизации выполнения операций в среде Access без программирования.

Модуль — это программа для работы с БД, написанная на языке Visual Basic for Applications (VBA).

Объекты БД могут быть объединены в именованные группы объектов по функциональному или иному признаку.

Все объекты, за исключением страниц доступа к данным, можно хранить в одном файле — файле БД с расширением. Mdb. Страницы доступа сохраняются как самостоятельные файлы с расширением .html отдельно от БД, с которой они связаны, а в файле базы данных размещаются только ярлыки на них. Отчеты можно сохранять в файле с расширением .snp (формат снимка отчета) и распространять среди пользователей по электронной почте. С целью защиты форм, отчетов и модулей VBA БД может быть сохранена в файле приложения с расширением .mde. При этом БД сжимается, оптимизируется использование памяти и повышается быстродействие БД. Проект размещается в файле с расширением .adp на компьютере пользователя.

Основные термины и определения

Таблица — объект базы данных, который используется для хранения данных. Каждая таблица состоит из строк и столбцов, которые принято называть записями и полями соответственно.

Запись — строка таблицы базы данных, в которой собрана вся информация о конкретном предмете. Например, в таблице «Студенты» базы данных «Кафедра» — это информация о конкретном студенте –– его фамилию, год его рождения, средний балл при поступлении в ВУЗ и т.д.

Поле — столбец таблицы базы данных, составляющий часть записи, которая отводится для отдельной характеристики предмета. Возвращаясь к предыдущему примеру, полями являются фамилия студента, год его рождения, средний балл при поступлении в ВУЗ и т.д. Порядок расположения полей с указанием имен полей, тип хранимых в полях данных, размер этих данных определяют структуру таблицы.

Первичный ключ (ключевое поле) — поле (или совокупность полей), значения которого позволяют однозначно определить (идентифицировать) каждую запись таблицы. Например, в таблице «Сотрудники» значения поля Табельный номер являются уникальными, и поэтому это поле может быть ключом для данной таблицы.

Для повышения эффективности поиска требуемых данных используются индексы.

Индекс — это внутренняя таблица приложения Access, имеющая два столбца. В первом столбце находятся значения выражения, содержащего все поля, включенные в индекс, во втором столбце –– местоположение каждой записи таблицы с данным значением индексного выражения. Таким образом, Access сначала осуществляет поиск данных именно в индексе. Если же индекс отсутствует, то Access просматривает все записи таблицы.

После определения таблиц необходимо указать Access, какие действия надо предпринимать для объединения содержимого различных таблиц, т.е. установить связи между таблицами. Межтабличная связь — отношение, устанавливаемое между полями двух таблиц. Связь между таблицами может быть установлена при наличии в них полей, которые содержат совпадающие данные. Эти поля не обязательно должны иметь одинаковые имена, но необходимо, чтобы совпадали типы данных и размеры связующих полей.

В нормализованной реляционной БД связь двух таблиц характеризуется отношениями записей типа один-к-одному (1:1) или один-ко-многим (1:N). Отношение 1:1 предполагает, что каждой записи одной таблицы соответствует одна запись к другой. Отношение 1:N предполагает, что каждой записи первой таблицы соответствует много записей во второй, но каждой записи второй таблицы соответствует только одна запись в первой. Например, связь между таблицами «Читатели» и «Заказы» в базе данных «Библиотека» — связь типа один-ко-многим, т.к. один читатель может сделать много заказов, но любой заказ относится только к одному читателю. Если при этом связующее поле в одной из таблиц является ключевым, то такая таблица называется главной или родительской. Вторая таблица, участвующая в связи, называется подчиненной. При этом связующее поле подчиненной таблицы обычно называют внешним ключом. Внешний ключ — одно или несколько полей в таблице, содержащих ссылку на поле (или поля) первичного ключа в другой таблице. Для ускорения поиска информации рекомендуется создавать индексы по внешним ключам.

Связь типа многие-ко-многим (N:M)— межтабличное отношение, при котором каждой записи в первой таблице могут соответствовать несколько записей во второй таблице, и каждой записи во второй таблице — несколько записей в первой таблице. При наличии подобной связи лучше разбить ее на две связи типа один-ко-многим с помощью дополнительной таблицы.

Access 2000 поддерживает три типа связей (или отношений): один-ко- многим, один-к-одному, многие-ко-многим. При определении связей между таблицами в Access 2000 можно установить следующие параметры:

обеспечение целостности данных;
каскадное обновление связанных полей;
каскадное удаление связанных записей.

При этом Access автоматически будет отслеживать целостность данных, при которой не допускается наличия в базе данных подчиненной записи, без связанной с ней главной. Второй параметр означает, что при изменении значения связующего поля в главной таблице соответствующие поля подчиненной таблицы будут автоматически обновлены. Третья опция означает, что в случае удаления записи из главной таблицы все связанные с ней записи из подчиненной таблицы будут удалены автоматически.

. ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ

При создании БД необходимо решить вопрос о наиболее эффективной структуре БД. Правильно спроектированная БД позволяет:

обеспечить быстрый доступ к данным;
исключить ненужное повторение данных, которое приводит к нерациональному использованию дискового пространства компьютера, и которое может явиться причиной ошибок при вводе;
обеспечить целостность данных таким образом, чтобы при изменениях в одном объекте автоматически происходили соответствующие изменения в связанных с ним объектах.

К основным принципам проектирования БД можно отнести:

отсутствие в таблице повторяющихся групп полей;
отсутствие в таблице повторяющихся записей.

Проектирование БД начинается с определения всех объектов, сведения о которых будут включены в базу, и определения их атрибутов. Затем атрибуты сводятся в одну таблицу –– исходное отношение. Например, надо создать БД для учета заказов в библиотеке. Вся информация для этой задачи может быть размещена в исходное отношение –– таблицу «Заказы». Это могут быть следующие данные:

номер заказа по порядку;

фамилия, имя, отчество читателя, сделавшего заказ;

его должность;

место работы;

рабочий телефон;

домашний адрес;

домашний телефон;

название книги;

автор;

год издания;

стоимость;

дата заказа.

Информацию в полях рекомендуется хранить в атомарном виде, т.е. в виде минимально возможных элементов, так как наличие в одном поле нескольких элементов затрудняет извлечение отдельного элемента из этого поля.

Исходное отношение, построенное по перечисленным данным, содержит избыточное дублирование данных. Явная избыточность заключается в том, что строки с данными о читателе, берущем разные книги, повторяется соответствующее число раз. То же можно сказать о повторении данных о книге, взятой разными читателями. Избыточность данных приводит к значительным затратам на время ввода повторяющихся данных, к росту числа ошибок при их вводе, к росту времени изменения какого–либо данного, так как придется корректировать все записи, содержащие это данное. Кроме того, избыточность данных приведет к увеличению размера БД.

Средством исключения избыточности в таблицах является их нормализация. Первое правило при проектировании БД: в таблицах должны отсутствовать повторяющиеся группы полей. Этого можно добиться, поместив поля с повторяющейся информацией о читателях в отдельную таблицу, присвоив каждому читателю уникальный код, записываемый в новое поле КодЧитателя. В исходном отношении в таблице «Заказы» останется информация о заказах и о книгах, а информация о читателе будет заменена полем КодЧитателя. В результате будут получены две таблицы: «Читатели» и «Заказы». Таблица «Читатели» будет иметь атрибуты: КодЧитателя, фамилия, имя, отчество читателя; его должность; место работы; рабочий телефон; домашний адрес; домашний телефон. Исходная таблица «Заказы» будет иметь атрибуты: номер заказа; КодЧитателя, название книги; автор; год издания; стоимость; дата заказа.

Информацию о книге также необходимо выделить в отдельную таблицу «Книги», добавив в нее дополнительное поле, однозначно идентифицирующее книгу –– поле КодКниги. При этом информацию о книге надо исключить из исходной таблицы, заменив ее одним атрибутом –– КодКниги. В результате в исходной таблице «Заказы» останутся четыре атрибута: номер заказа, КодЧитателя, КодКниги, дата заказа.

Поскольку в отдельный заказ может быть включено несколько книг, то имеет смысл информацию о заказанных книгах выделить в отдельную таблицу и фиксировать в ней код заказа. В результате новая таблица «Заказанные книги» будет содержать поля КодЗаказа, КодКниги. Таблица «Заказы» будет содержать поля КодЗаказа, Дата заказа, КодЧитателя.

Второе правило при проектировании БД: таблица не должна иметь повторяющихся записей. Для выполнения этого правила таблица должна иметь уникальный идентификатор (первичный ключ). В рассматриваемом примере атрибут КодЧитателя является уникальным в таблице «Читатели» и может быть первичным ключом. Первичным ключом может быть КодКниги в таблице «Книги»и КодЗаказа в таблице «Заказы». В таблице «Заказанные книги» уникальной является комбинация ключей КодЗаказа и КодКниги. Поэтому в таблице «Заказанные книги» первичный ключ –– составной и включает в себя поля КодЗаказа и КодКниги. В результате описанных операций окончательный проект БД включает в себя четыре таблицы.

Процесс разработки конкретного программного приложения в среде Access в первую очередь определяется спецификой автоматизируемой предметной области. Но для большинства из них можно выделить ряд типичных этапов. Это:

разработка и описание структур таблиц данных;
разработка схемы данных и задание системы взаимосвязей между таблицами;
разработка системы запросов к таблицам БД и их интеграция в схему данных;
разработка экранных форм ввода/вывода данных;
разработка системы отчетов по данным;
разработка программных расширений для базы данных, решающих специфические задачи по обработке содержащейся в ней информации, с помощью инструментов макросов и модулей;
разработка системы защиты данных, прав, ограничений по доступу.

Между этими этапами существует большое количество обратных связей.

Категории: