Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Нормализация таблиц при проектировании базы данных




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

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

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

Одной из таких формализаций является требование, согласно которому реляционная база данных должна быть нормализована (то есть подвергнута процедуре нормализации).

Процесс нормализации имеет своей целью устранение избыточности данных и заключается в приведении БД к третьей нормальной форме (ЗНФ).

Существует несколько нормальных форм – 1НФ, 2НФ, ЗНФ, 4НФ, 5НФ, нормальная форма Бойса-Кодда (БКНФ).

При практической разработке баз данных важны первые три – 1НФ, 2 НФ, ЗНФ.

Первая нормальная форма (1НФ) требует, чтобы каждое поле таблицы БД:

- было неделимым;

- не содержало повторяющихся групп.

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

Повторяющимися являются поля, содержащие одинаковые по смыслу значения.

Вторая нормальная форма (2НФ) требует, чтобы все поля таблицы зависели от первичного ключа, то есть, чтобы первичный ключ однозначно определял запись и не был избыточен. Те поля, которые зависят только от части первичного ключа, должны быть выделены в составе отдельных таблиц.

Третья нормальная форма (ЗНФ) требует, чтобы в таблице не имелось транзитивных зависимостей между неключевыми полями, то есть, чтобы значение любого поля таблицы, не входящего в первичный ключ, не зависело от значения другого поля, не входящего в первичный ключ.

СУБД Microsoft Access

Access – это реляционная система управления базами данных (СУБД), входящая в пакет MS Office.

Все составляющие базы данных, такие, как таблицы, отчеты, запросы, формы и объекты, в Access хранятся в едином дисковом файле, который имеет расширение.mdb.

Основным структурным компонентом базы данных является таблица. В таблицах хранятся вводимые данные. Каждая таблица состоит из столбцов, называемых полями, и строк, называемых записями. Каждая запись таблицы содержит всю необходимую информацию об отдельном элементе базы данных.

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

Свойства полей базы данных Access

Свойство Его назначение
Имя поля Определяет, как следует обращаться к данным этого поля. Должно быть уникальным, желательно таким, чтобы функция поля узнавалась по его имени.
Тип поля Определяет тип данных, которые содержаться в данном поле.
Размер поля Определяет предельную длину (в символах) данных, которые могут размещаться в данном поле.
Формат поля Определяет способ форматирования данных в ячейках, принадлежащих полю.
Маска ввода Определяет форму, в которой вводятся данные в поле.
Подпись Определяет заголовок столбца таблицы для данного поля. Если не указана, то в качестве заголовка используется имя поля.
Значение по умолчанию Значение, которое вводится в ячейки поля автоматически.
Условие на значение Ограничение, используемое для проверки правильности ввода данных
Сообщение об ошибке Текстовое сообщение, которое выдается автоматически при попытке ввода в поле ошибочных данных.
Обязательное поле Определяет обязательность заполнения поля данными.
Пустые строки Разрешает ввод пустых строковых данных
Индексированное поле Позволяет ускорять все операции, связанные с поиском или сортировкой данных этого поля. Можно также задать проверку на наличие повторов для этого поля, чтобы исключить дублирование данных.

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

Типы данных Access

Тип данных Описание
Текстовый (Значение по умолчанию) Текст или числа, не требующие проведения расчетов, например номера телефонов (до 255 знаков)
Числовой Числовые данные различных форматов, используемые для проведения расчетов
Дата/время Для хранения календарных дат и текущего времени
Денежный Для хранения денежных сумм
Поле MEMO Для хранения больших объемов текста (до 65535 символов)
Счетчик Специальное числовое поле, в котором Access автоматически присваивает уникальный порядковый номер каждой записи. Значения полей типа счетчика обновлять нельзя
Логический Может иметь только одно из двух возможных значений (True/False, Да/Нет)
Поле объекта OLE Объект (например, электронная таблица Microsoft Excel, документ Microsoft Word, рисунок, звукозапись или другие данные в двоичном формате), связанный или внедренный в таблицу Access
Гиперссылка Для хранения адресов URL Web-объектов Интернета.
Мастер подстановок Создает поле, в котором предлагается выбор значений из списка или из поля со списком, содержащего набор постоянных значений или значений из другой таблицы. Это в действительности не тип поля, а способ хранения поля

 


Объекты базы данных

СУБД MS Access 2000 позволяет создавать и использовать объекты семи различных типов.

Таблицы. Это основные объекты любой базы данных. Именно в них хранятся, во-первых, все данные, имеющиеся в базе, а, во-вторых, структура самой базы (поля, их типы и свойства).

 

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

 

Формы. Это средства для ввода и просмотра данных. С помощью форм можно закрыть некоторые поля для несанкционированного ввода, можно разместить специальные элементы управления (счетчики, раскрывающиеся списки, переключатели, флажки и пр.) для автоматизации ввода. Можно представить форму с помощью графических средств, в виде бланка, если ввод производится со специальных бланков.

С помощью формы можно не только вводить данные, но и отображать, применяя специальные средства.

 

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

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

Макросы и модули. Эти объекты предназначены как для автоматизации повторяющихся операций при работе с СУБД, так и для создания новых функций путем программирования. Макросы состоят из последовательности внутренних команд СУБД Access и являются одним из средств автоматизации работы с базой. Модули создаются средствами внешнего языка программирования Visual Basic for Applications.

СУБД представляет несколько средств создания каждого из основных объектов базы. Их можно классифицировать как:

· ручные (разработка объектов в режиме Конструктора);

· автоматизированные (разработка с помощью программ-мастеров);

· автоматические – средства ускоренной разработки простейших объектов.

При разработке таблиц и запросов лучше использовать ручные средства – работать в режиме Конструктора.

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

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...