Смекни!
smekni.com

Методические указания к курсовому проектированию по курсу базы данных для студентов дневной и заочной форм обучения специальностей (стр. 2 из 14)

Нормализация – позволяет организовать поля данных в группы таблиц. Лежащая в основе нормализации математическая теория довольно сложна, но для практического применения ее можно сформулировать в виде довольно простых правил.

Четыре правила нормализации таблицы.

1. Каждое поле любой таблицы должно быть уникальным.

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

3. Для каждого значения первичного ключа значения в столбцах данных должны относится к объекту и полностью его описывать.

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

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

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

Правило 3. Функциональная зависимость. Это правило используется двояко. Во-первых, в таблице не должно быть данных, не относящихся к объекту, определяемому первичным ключом. Во-вторых, данные в таблице должны полностью описывать объект.

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

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

Последний этап проектирования базы данных заключается в создании связей между таблицами. Для каждого объекта вы должны рассмотреть столбец «связь» в рабочем бланке и обратить внимание на случаи, когда связь помечена как «многие». Проверьте, чтобы у соответствующего объекта была указана связь со стороны «один». Если вы обнаружите «многие» с обеих сторон отношения, то вам придется создать дополнительную таблицу пересечения, с помощью которой одна связь «многие-ко-многим» будет сведена к двум связям типа «один-ко-многим» Access не позволяет определять прямую связь «многие-ко-многим» между двумя таблицами. Покончив со связями «многие-ко-многим», нужно создать связи между таблицами базы данных. Для этого поместите копии первичных ключей из таблиц со стороны «один» в таблицы со стороны «многие».

ПОСТРОЕНИЕ ФОРМ ПОЛЬЗОВАТЕЛЯ

С точки зрения удобства и частоты применения, формы являются наиболее важными объектами в приложениях Access. Именно с формами пользователи работают при каждом запуске приложения.

Формы и объектно-ориентированное программирование

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

Объектно-ориентированное программирование основано на понятиях объектов и действий над ними. Объекты могут содержать другие подчиненные им объекты. Когда объект определяет новое действие над другим объектом, то наследуются все атрибуты и свойства другого объекта и тем самым расширяет его определение. В Access запросы определяют действия над таблицами, а результаты запросов становятся новыми логическими таблицами, называемыми наборами записей. Запросы наследуют правила форматирования и обеспечения целостности данных, определяемые для базовых таблиц. Далее формы определяют действия над таблицами или запросами, и поля, включаемые в формы, изначально наследуют такие свойства базовых таблиц или запросов, как правила форматирования и условия на значения.

Внутри БД Access вы можете задавать взаимосвязь данных и объектов. Например, вы можете создать макрос, который подготавливает приложение к выполнению. Этот макрос (называемый Autoexec) обычно открывает форму, с которой начинается работа в приложении. Эта форма может воздействовать на некоторые данные или содержать элементы управления, открывающие другие формы, печатающие отчеты или закрывающие приложение.

В дополнение к тому, что формы используют базовые таблицы и запросы, они могут содержать другие формы. Подчиненные формы в свою очередь определяют действия над другими таблицами, запросами или формами и могут запускать другие макрокоманды или процедуры Visual Basic для приложений. Наиболее очевидный способ запуска – нажатие командной кнопки. Но вы можете также определить макросы или процедуры VBA, которые будут выполняться при определенных событиях, например щелчке по полю, изменении значения поля, нажатии клавиши, добавлении или удалении строки или просто при перемещении к новой строке базовой таблицы или запроса.

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

Создание простой формы для ввода данных

Чтобы начать создание формы, откройте БД и выберите в окне БД таблицу или запрос, которые вы хотите использовать для создания формы. Выполните команду Вставка->Форма или выберите Новая форма в раскрывающемся списке Новый объект на панели инструментов. Access откроет окно диалога Новая форма. В поле со списком, расположенном в нижней части окна диалога, Access выводит имя таблицы или запроса, выбранного в окне БД. Если вы хотите выбрать другую таблицу или запрос, раскройте список этого поля, содержащий перечень всех таблиц и запросов в текущей БД.

Выберите Конструктор в окне диалога и нажмите кнопку ОК. Access окно формы в режиме конструктора и выведет на экран несколько инструментов конструктора форм. В новой форме будет только область данных с серой сеткой. Вы можете установить указатель мыши на краю этой области и перетащить его, уменьшая или увеличивая его. Вы можете удалить сетку с точками, выполнив команду Вид->Сетка. Если вы хотите добавить в форму заголовки и примечания, выберите команду Формат->Заголовок/примечание формы.

Панель элементов

Панель элементов – это своеобразный «командный центр» создания формы. Вы можете переместить панель элементов, перетащив заголовок ее окна в нужное место на экране, или изменить ее форму, перетащив края или углы панели. Чтобы закрыть панель элементов нужно выбрать команду Вид->Панель элементов или нажать кнопку Панель элементов на панели инструментов.

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

Ниже перечислены кнопки панели элементов слева направо и сверху вниз.

· Кнопка Выбор объектов. По умолчанию эта кнопка нажата. Она используется для выделения, изменения размера, перемещения и редактирования элементов управления.

· Кнопка Мастера элементов. Нажмите эту кнопку, чтобы активизировать мастера по созданию элементов управления. Если кнопка выглядит «нажатой», то мастер поможет вам ввести свойства элемента управления при создании группы, поля со списком, списка или командной кнопки.

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

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

· Кнопка Группа используется для создания группы элементов управления, содержащей несколько выключателей, переключателей или флажков. Вы можете присвоить отдельное числовое значение каждому элементу управления, входящему в группу. Один из элементов группы может устанавливаться по умолчанию. Если вы свяжете группу с полем базового объекта, то при выборе элемента группы будет устанавливаться новое значение поля.