Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Рабочие книги и рабочие листы Excel.docx
Скачиваний:
11
Добавлен:
23.09.2019
Размер:
177.4 Кб
Скачать

25 Нормализации таблиц: первая, вторая и третья нормальные формы. Примеры,

Одни и те же данные могут быть размещены в таблицах различными способами. Группировка полей в таблицах должна быть рациональной, что означает сведение к минимуму дублирования данных и упрощение проце­дуры их обработки и обновления. Для выполнения этих требований необходимо, чтобы таблицы удовлетворяли требованиям нормализации. Нормализация таблиц - это формаль­ный аппарат ограничений на формирование таблиц, который позволяет устранить дублирование данных, обеспечивает непротиворечивость хранимых в базе данных, уменьшает трудозатраты на ведение БД (ввод и корректировку данных). При практическом проектировании баз данных обычно выделяют три нормальные формы таблиц.

Таблица находится в первой нормальной форме (1НФ), если все ее поля простые (неделимы). 1НФ устанавливает, что в каждой позиции (клетке таблицы), определяемой строкой и столбцом, должна быть только одна величина, но не массив или список величин. Преобразование таблицы к первой нормальной форме может привести к увеличению количества полей таб­лицы и изменению ключа. Таблица в первой нормальной форме не должна иметь повторяющихся записей. Например, таблица Студенты с полями Номер зачетки*, Фамилия, Имя, Отчество, Дата рождения, Группа, находится в первой нормальной форме.

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

Таблица находится в третьей нормальной форме, если она находится во второй нормальной форме, и каждое описательное поле зависит только от ключа и не зависит от других описательных полей (нетранзитивная зависимость). Это означает, что все описательные поля должны быть взаимно независимы. Например, таблица Студенты1 = (Номер зачетки*, Фамилия, Имя, Отчество, Дата рождения, Группа, Староста) не находится в третьей нормальной форме, так как описательное поле Староста зависит от описательного поля Группа. Поэтому таблица Студенты1 должна быть разделена на две связанные таблицы (по полю Группа), каждая из которых находится в третьей нормальной форме:

Студенты2= (Номер зачетки*, Фамилия, Имя, Отчество, Дата рождения, Группа),

Группы = (Группа*, Староста).

26.Способы создания таблиц.

Режимы создания таблиц:

  1. Конструктор – основной, в нем создается и изменяется структура таблицы, только в этом режиме необходимо сохранять таблицу;

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

  1. Мастер таблиц – режим автоматического создания таблицы с помощью мастера;

  1. Импорт таблиц – режим создания таблицы путем ее извлечения из другой базы данных, которая может быть создана не только в Access, но и в других СУБД

Для перехода из режима Конструктор в режим Таблица и обратно используется команда меню Вид или кнопка Вид на ПИ.

Для создания таблицы в режиме Конструктора:

 определить поля таблицы, задать их имена и типы данных;

 задать свойства полей на вкладке Общие;

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

 установить ключевое поле;

 сохранить таблицу под некоторым именем;

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

Основные типы данных:

Тип данных

Содержимое поля

1. Текстовый

Значение по умолчанию. Обычный текст до 255 символов

3. Числовой

Числовые данные, используемые для про­ведения расчетов

4. Дата / время

Даты и время, относящиеся к годам с 100 по 9999, включительно

5. Денежный

Числа в денежном формате

6. Счетчик

Уникальные, последовательно возраста­ющие на 1 числа, автома­тически вводятся при добавлении каждой новой записи в таблицу. Используется для ключевых полей.

7. Логический

данные, кото­рые могут содержать одно из двух возмо­жных значений (Да / Нет)

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

Свойства полей:

  • Размер поля – ограничивает текстовые поля указанным количеством символов, по умолчанию 50;

  • Формат – указывает формат для даты и чисел, по умолчанию длинное целое для чисел и краткий формат даты для даты/время;

  • Число десятичных знаков – устанавливает число десятичных знаков, выводимых для денежных и числовых полей;

  • Маска ввода – определяет форму ввода данных в поле, например для даты 99.99.9999;

  • Значение по умолчанию – указывает значение по умолчанию, которое будет автоматически вводиться в новые записи, например Date() – текущая дата;

  • Условие на значение – задается условие, которое при вводе или редактировании данных всегда должно выполняться, например <100; >Date(), ГЭФ;

  • Индексированное поле

Для ускорения доступа к данным может задаваться построение специальной служебной таблицы – индекса для полей с типами Текстовый, Числовой, Денежный, Дата / Время.

Можно установить следующие свойства для индексов:

  1. Да (совпадения допускаются). Значения в индексируемом поле могут повторяться.

  1. Да (совпадения не допускаются). Значения в индексируемом поле не могут повторяться. Это значение свойства позволяет защитить поле с неповторяющимися данными от ошибок ввода.

  1. Нет. Индекс не создается.