- •2. Лабораторная работа №2. Проектирование структуры базы данных 16
- •2.1. Общие сведения 16
- •3. Лабораторная работа №3. Сортировка, поиск и фильтрация записей в таблицах 37
- •3.1. Общие сведения 37
- •4. Лабораторная работа №4. Разработка запросов 47
- •4.1. Общие сведения 47
- •5. Лабораторная работа №5. Использование языка sql для создания запросов 61
- •5.1. Общие сведения 61
- •6. Лабораторная работа №6. Создание и использование форм 67
- •6.1. Общие сведения 67
- •7. Лабораторная работа №7. Разработка отчетов 80
- •7.1. Общие сведения 80
- •7.2. Порядок выполнения работы 83
- •8. Лабораторная работа №8. Разработка командного интерфейса приложения 85
- •8.1. Общие сведения 85
- •Введение
- •1. Лабораторная работа №1. Разработка таблиц баз данных
- •1.1. Общие сведения
- •1.1.1. Постановка задачи
- •1.1.2. Создание базы данных
- •1.1.3. Создание таблицы базы данных
- •1.1.4. Добавление, удаление, редактирование записей в таблице базы данных
- •1.1.5. Редактирование структуры таблицы базы данных
- •1.2. Порядок выполнения работы
- •2. Лабораторная работа №2. Проектирование структуры базы данных
- •2.1. Общие сведения
- •2.1.1. Постановка задачи №1
- •2.1.2. Проектирование структуры базы данных
- •2.1.2.1. Виды связи между таблицами
- •2.1.2.2. Виды зависимостей между атрибутами отношений
- •КодАбитуриента НазваниеФакультета КодФакультета
- •2.1.2.3. Процедура нормализации
- •КодАбитуриента КодСпециальности
- •2.1.3. Реализация структуры базы данных средствами субд Access
- •2.1.3.1. Определение связей между таблицами базы данных
- •2.1.3.2. Удаление и модификация связей между таблицами базы данных
- •2.1.3.3. Модификация структуры базы данных «Университет»
- •2.1.4. Постановка задачи №2
- •2.2. Порядок выполнения работы
- •3. Лабораторная работа №3. Сортировка, поиск и фильтрация записей в таблицах
- •3.1. Общие сведения
- •3.1.1. Сортировка записей в таблице базы данных
- •3.1.2. Поиск записей по значению поля
- •3.1.3. Отбор данных при помощи фильтров
- •3.1.3.1. Фильтр по выделенному фрагменту
- •3.1.3.2. Поле «Фильтр для»
- •3.1.3.3. Обычный фильтр.
- •3.1.3.4. Расширенный фильтр и расширенная сортировка.
- •3.1.3.5. Использование сложных критериев отбора.
- •3.1.3.6. Сохранение и загрузка фильтра в качестве запроса
- •3.1.3.7. Настройка режима таблицы
- •3.1.3.8. Копирование и экспорт отсортированных и отфильтрованных данных
- •3.2. Порядок выполнения работы
- •4. Лабораторная работа №4. Разработка запросов
- •4.1. Общие сведения
- •4.1.1. Создание простого запроса на выборку с помощью Мастера запросов
- •4.1.2. Создание простого запроса на выборку с помощью Конструктора запросов
- •4.1.3. Создание многотабличных запросов
- •4.1.3.1. Создание многотабличного запроса на выборку
- •4.1.3.1.1. Включение в бланк запроса вычисляемых полей
- •4.1.3.1.2. Включение в бланк запроса групповой операции
- •4.1.3.2. Создание перекрестного запроса
- •4.1.3.3. Создание параметрического запроса
- •4.1.3.4. Создание запросов на изменение
- •4.1.3.4.1. Запрос на создание таблицы
- •4.1.3.4.2. Запрос на обновление записей
- •4.1.3.4.3. Запрос на добавление записей
- •4.1.3.4.4. Запрос на удаление записей
- •4.2. Порядок выполнения работы
- •5. Лабораторная работа №5. Использование языка sql для создания запросов
- •5.1. Общие сведения
- •5.1.1. Структура запроса на выборку
- •5.1.2. Создание перекрестных запросов
- •5.1.3. Порядок создания собственного запроса на языке sql в среде субд Access
- •5.2. Порядок выполнения работы
- •6. Лабораторная работа №6. Создание и использование форм
- •6.1. Общие сведения
- •6.1.1. Создание формы средствами автоматического создания форм
- •6.1.2. Создание формы с помощью Мастера форм.
- •6.1.3. Редактирование макета формы в режиме Конструктора
- •6.1.4. Создание элемента управления «Поле со списком»
- •6.1.5. Создание многотабличных форм в режиме Конструктора.
- •6.1.6. Создание вычисляемых полей
- •6.2. Порядок выполнения работы
- •7. Лабораторная работа №7. Разработка отчетов
- •7.1. Общие сведения
- •7.1.1. Построение отчета с помощью средств автоматического создания отчетов и Мастера отчетов
- •7.1.2. Разработка простого отчета в режиме Конструктора отчетов
- •7.1.3. Создание составного отчета.
- •7.2. Порядок выполнения работы
- •8. Лабораторная работа №8. Разработка командного интерфейса приложения
- •8.1. Общие сведения
- •8.2. Порядок выполнения работы
- •Рекомендуемая литература
- •Статистические функции
- •Построитель выражений
- •Операторы для создания выражений
КодАбитуриента НазваниеФакультета КодФакультета
Многозначная зависимость. Атрибут В многозначно зависит от атрибута А в отношении R, если каждому значению А соответствует множество значений В, не связанных с другими атрибутами из R.
В общем случае, между двумя атрибутами одного отношения могут существовать зависимости вида 1:1, 1:М, М:1, М:М. Поскольку зависимость между атрибутами является причиной возникновения аномалий, стараются расчленить отношения с зависимостями атрибутов на несколько отношений. В результате образуется совокупность связанных отношений (таблиц) со связями вида1:1, 1:М, М:1, М:М. Таким образом, связи между таблицами отражают зависимости между атрибутами различных отношений.
2.1.2.3. Процедура нормализации
Произведем нормализацию отношения АБИТУРИЕНТЫ (табл. 2.2). Для этого запишем схему данного отношения. Схемой отношения называется поименованная совокупность его атрибутов. Схема отношения АБИТУРИЕНТЫ выглядит следующим образом:
АБИТУРИЕНТЫ (КодАбитуриента, ФИО, ДатаПодачиДокументов, КодФакультета, НазваниеФакультета, КодСпециальности, НазваниеСпециальности)
Отношение находится в первой нормальной форме (1НФ) тогда и только тогда, когда ни одна из его строк не содержит в любом своем поле более одного значения и ни одно из его ключевых полей не пусто. Отношение АБИТУРИЕНТЫ (табл. 2.2) приведено к первой нормальной форме.
Ключом данного отношения является атрибут КодАбитуриента, который выделен в схеме отношения жирным шрифтом. Значения этого атрибута являются уникальными в данном отношении, поэтому КодАбитуриента однозначно определяет любую запись отношения.
Отношение находится во второй нормальной форме, если оно находится в первой нормальной форме, и каждый неключевой атрибут функционально полно зависит от составного первичного ключа.
Следовательно, для приведения отношения ко второй нормальной форме необходимо устранить частичную функциональную зависимость его неключевых атрибутов от составного первичного ключа. Для этого выявляют все случаи частичной функциональной зависимости в отношении и разбивают исходное отношение следующим образом:
удаляют из исходного отношения все неключевые атрибуты, имеющие частичную функциональную зависимость;
помещают каждый такой атрибут в отдельное отношение вместе с той частью первичного составного ключа, от которой зависит данный атрибут.
Отношение АБИТУРИЕНТЫ уже находится во второй нормальной форме, поэтому для него не надо выполнять нормализацию.
Определение 1. Отношение находится в третьей нормальной форме, если оно находится во второй нормальной форме, и каждый неключевой атрибут нетранзитивно зависит от первичного ключа.
Существует и альтернативное определение.
Определение 2.
Отношение находится в третьей нормальной форме в том и только в том случае, если все неключевые атрибуты отношения взаимно независимы и полностью зависят от первичного ключа.
В отношении АБИТУРИЕНТЫ есть транзитивные зависимости, поэтому его надо привести к 3НФ путем нормализации.
Выявим эти транзитивные зависимости. Для этого определим все функциональные зависимости между атрибутами отношения АБИТУРИЕНТЫ.
Функциональные зависимости выявляются путем анализа смысла каждой из зависимостей. Например, каждому значению атрибута КодАбитуриента соответствует только одно значение атрибута ФИО, но не наоборот, поэтому между ними существует функциональная зависимость (но не взаимная):
КодАбитуриентаФИО
Другие функциональные зависимости определяются аналогично:
КодАбитуриента ДатаПодачиДокументов
КодАбитуриента НазваниеФакультета
КодАбитуриента КодФакультета
КодФакультетаНазваниеФакультета
КодАбитуриента НазваниеСпециальности