- •Курс «Базы данных»
- •Глава 6. Разработка пользовательских приложений в среде субд ms Access 28
- •Глава 1. Базы данных. Системы управления базами данных (субд)
- •Обзор субд
- •Основные функции субд
- •Управление данными во внешней памяти
- •Управление буферами оперативной памяти
- •Управление транзакциями
- •Журнализация и восстановление базы данных после сбоев
- •Поддержка языков баз данных
- •Контрольные вопросы
- •Глава 2. Модели данных
- •Иерархическая модель данных
- •Сетевая модель данных
- •Достоинства и недостатки ранних моделей
- •Объектная модель
- •Контрольные вопросы
- •Глава 3. Реляционная модель Основные понятия и ограничения реляционной модели
- •Математическое определение отношения. Реляционная алгебра
- •1.Объединение (r u s).
- •2.Разность (r - s).
- •3.Декартово произведение (RxS)
- •4. Проекция
- •5. Селекция
- •Контрольные вопросы
- •Глава 4. Вопросы проектирования реляционных баз данных Цели проектирования базы данных. Этапы проектирования
- •Вопросы и задания
- •Нормализация. 1,2,3 нормальные формы
- •1 Нормальная форма.
- •2 Нормальная форма.
- •3 Нормальная форма.
- •Вопросы и задания
- •Глава 5. Семантическая модель данных
- •Читатель
- •Операции над сущностями
- •Порядок построения er-модели и построение реляционной схемы базы данных из er-модели
- •Пример построения er- модели
- •Глава 6. Разработка пользовательских приложений в среде субд ms Access Объекты базы данных
- •Вопросы и задания
- •Ввод данных в таблицу
- •Вопросы и задания
- •Формы. Типы форм. Элементы управления
- •Создание формы с помощью Конструктора
- •Вопросы и задания
- •Запросы. Макросы. Отчеты Основы sql
- •Создание вложенных (подчиненных) запросов
- •Обновление записей
- •Вопросы и задания
- •Запросы qbe. Мастер запросов
- •Вопросы и задания
- •Вопросы и задания
- •Итоговый запрос
- •Перекрестный запрос
- •Вопросы и задания
- •Построение форм на основе запроса
- •Макросы
- •Разработка приложения
Вопросы и задания
Почему важно учитывать требования реляционной модели при проектировании структур данных?
Что такое операции манипулирования данными?
Что такое аномалии манипулирования данными?
Какие данные являются избыточными?
Почему нельзя хранить в таблицах избыточные данные?
Каким образом можно исключить избыточные данные из таблиц?
Что такое первичный ключ отношения?
Что такое внешний ключ отношения?
Что такое уникальный идентификатор записи?
Для чего нужно однозначно идентифицировать каждую запись?
Может ли атрибут первичного ключа отношения иметь одинаковые значения в разных записях?
Что такое «нормализация»?
Для чего нужно нормализовать отношения?
Нормализация. 1,2,3 нормальные формы
Процесс декомпозиции отношений с целью исключения избыточных данных называется нормализацией. В процессе нормализации таблицы последовательно приводятся сначала к первой, затем ко второй, затем к третьей нормальной форме.
Всего известны 5 нормальных форм. Для того чтобы процесс нормализации считать достаточным необходимо привести таблицы к 3-й нормальной форме.
1 Нормальная форма.
Отношение (таблица) находится в первой нормальной форме, если значение каждого атрибута в каждом поле имеет атомарное значение, то есть оно неделимо, не список, нет вложенности значений.
2 Нормальная форма.
Отношение находится во второй нормальной форме, если оно уже находится в первой нормальной форме и все не ключевые атрибуты функционально полно зависят от первичного ключа, То есть полностью им определяются. От всего ключа, если ключ составной. Если в отношении есть атрибуты, которые зависят от части первичного ключа, то они выносятся в отдельную таблицу и им сопоставляется часть ключа, от которой они зависят.
Например.
Номер класса |
Номер машины |
ФИО администра-тора класса |
Телефон администра-тора класса |
Тип процессора |
Наличие жесткого диска |
|
|
|
|
|
|
Таблица находится в 1 НФ, так как значение каждого атрибута в каждом поле атомарно. В данной таблице первичный ключ составной. Это совокупность атрибутов Номер машины+Номер класса. Атрибуты ФИО администратора класса и Телефон администра-тора класса зависят только от части ключа - от атрибута Номер класса. Поэтому для приведения таблицы ко 2-й нормальной форме ее надо декомпозировать следующим образом:
Номер класса |
Номер машины |
Тип процессора |
Наличие жесткого диска |
Номер класса |
ФИО администра-тора класса |
Телефон администра-тора класса |
Полученные в результате декомпозиции таблицы можно связать по атрибуту Номер класса.
3 Нормальная форма.
Отношение находится в третьей нормальной форме, если оно уже находится во второй, и в нем отсутствуют транзитивные зависимости между атрибутами. Поясним, что такое транзитивная зависимость между атрибутами. Если А зависит от В (В->А), а С зависит от А (А->C), то С зависит от В транзитивно (В->А->C). Для исключения транзитивной зависимости атрибуты, которые зависят от первичного ключа транзитивно нужно вынести в отдельную таблицу и сопоставить им атрибут, через который они зависят.
Например.
Номер класса |
Номер машины |
Тип процессора |
Фирма-произ-водитель процессора |
Телефон фирмы-произ-водителя Процессора |
Наличие жесткого диска |
В данной таблице атрибуты Фирма-производитель процессора и Телефон фирмы-произ-водителя Процессора зависят от первичного ключа транзитивно через атрибут Тип процессора. Для приведения таблицы к 3 НФ декомпозируем следующим образом:
Номер класса |
Номер машины |
Тип процессора |
Наличие жесткого диска |
Тип процессора |
Фирма-произ-водитель процессора |
Телефон фирмы- произ-водителя Процессора |
После того, как процесс проектирования концептуальной модели данных завершен, можно приступать к использованию конкретной реляционной СУБД для создания базы данных.
Выводы:
В целом процесс проектирования концептуальной модели данных можно представить в виде последовательности действий:
В исследуемой предметной области определяются информационные объекты, значимые с точки зрения поставленных задач.
Каждый информационный объект описывается набором атрибутов и данные о нем помещаются в отдельную таблицу. При этом каждому экземпляру объекта соответствует запись в таблице, а каждому атрибуту – поле в записи. В каждом поле таблицы должно храниться конкретное атомарное значение. Для каждой таблицы определяется атрибут или набор атрибутов первичного ключа. Такая таблица (отношение) находится в 1-й нормальной форме.
Из каждого отношения в новое отношение удаляются элементы данных (атрибуты), зависящие от отдельных компонентов первичного ключа, и в новом отношении им сопоставляется компонент ключа исходного отношения, от которого они зависят. Таким образом отношения приводятся ко второй нормальной форме.
Из каждого отношения в новое отношение выносятся атрибуты, которые в исходном отношении зависят от первичного ключа транзитивно, через какой-то атрибут. Таким образом отношения приводятся к третьей нормальной форме.
Каждое из полученных отношений описывается по форме:
<Мнемоничное имя>(<атрибут, являющийся первичным
ключом>,<атрибут>,....<атрибут>)
при этом первичный ключ идет в списке атрибутов первым и подчеркивается.
Полученные в результате нормализации отношения связываются по общим атрибутам.
Основные понятия и ключевые слова: первичный ключ, внешний ключ, избыточные данные, нормализация, нормальная форма, аномалии.
