
- •Оглавление
- •1. Цель работы 23
- •2. Основы теории 23
- •1. Введение
- •2. Общие требования и методические указания к подготовке и выполнению лабораторных работ
- •3. Правила техники безопасности при выполнении лабораторных работ
- •4. Правила оформления и сдачи отчётов по лабораторным работам
- •Построение логической модели
- •3. Объекты и средства исследования
- •4. Подготовка к работе
- •Варианты заданий
- •6. Контрольные вопросы
- •Модификация структуры таблицы
- •Создание индекса для одного поля
- •Установка первичного ключа
- •Окно диалога «Схема данных»
- •Связывание двух полей одной таблицы
- •Создание между таблицами отношения «многие-ко-многим»
- •Изменение структуры таблицы в окне диалога «Схема данных»
- •Изменение существующей связи
- •Удаление таблицы из макета схемы данных
- •Определение условий целостности данных
- •Простейший способ создания формы
- •Создание кнопок управления
- •Использование линий и прямоугольников
- •3. Объекты и средства исследования
- •4. Подготовка к работе
- •Использование в запросах вычислимых полей
- •Объединение критериев нескольких полей
- •Объединение двух таблиц
- •Условие отбора в многотабличных запросах
- •Итоговые запросы
- •Группировка по нескольким полям
- •Включение в запрос выражений
- •Изменение наименований итоговых полей
- •3. Объекты и средства исследования
- •4. Подготовка к работе
- •1. Цель работы
- •2. Основы теории
- •6. Контрольные вопросы
- •Лабораторная работа №5 построение запросов в access с помощью sql
- •1. Цель работы
- •2. Основы теории
- •1. Инструкция select
- •2. Инструкция select...Into
- •3. Инструкция insert into
- •9. Статистические функции sql
- •6. Контрольные вопросы
- •Лабораторная работа № 6 разработка интерфейса прикладных программ с базами данных на основе технологии ado
- •Цель работы
- •Основы теории
- •Обзор компонент
- •Пример работы с отложенными изменениями
- •События ado
- •События выполнения команд
- •События выборки данных
- •Уведомления об изменении положения текущей записи в наборе.
- •Уведомления об изменении набора данных
- •Асинхронная работа с сервером
- •Асинхронное соединение
- •Асинхронное выполнение команды
- •Асинхронная выборка данных
- •Библиографический список рекомендуемой литературы
- •Приложение варианты примерных предметных областей для выдачи заданий лабораторных работ по бд
Построение логической модели
Концептуальная инфологическая модель данных может быть отображена на логическую модель данных, поддерживаемую конкретной СУБД.
Современные системы управления базами данных наиболее часто поддерживают следующие логические модели: реляционные, сетевые и иерархические. Рассмотрим процесс отображения концептуальной модели на реляционную модель данных.
При проектировании реляционной базы данных необходимо решить вопрос о наиболее эффективной структуре данных. Основные цели, которые при этом преследуются:
- Обеспечить быстрый доступ к данным в таблицах.
- Исключить ненужное повторение данных, которое может являться причиной ошибок при вводе и нерационального использования дискового пространства вашего компьютера.
- Обеспечить целостность данных таким образом, чтобы при изменении одних объектов автоматически происходило соответствующее изменение связанных с ними объектов.
Процесс уменьшения избыточности информации в базе данных называется нормализацией. В теории нормализации баз данных разработаны достаточно формализованные подходы по разбиению данных, обладающих сложной структурой, среди нескольких таблиц. Эти вопросы детально освещаются в специальной литературе. Мы остановимся на некоторых практических аспектах нормализации таблиц, не вдаваясь в их теоретическое обоснование.
Теория нормализации оперирует с пятью нормальными формами таблиц (от первой до пятой включительно). Эти формы предназначены для уменьшения избыточной информации от первой до пятой нормальной формы. Поэтому каждая последующая нормальная форма должна удовлетворять требованиям предыдущей формы и некоторым дополнительным условиям. При практическом проектировании баз данных четвертая и пятая формы, как правило, не используются, поэтому мы ограничимся рассмотрением первых трех нормальных форм. Воспользуемся результатами теории при проектировании многотабличной базы данных с эффективной структурой.
При создании базы данных следует иметь ввиду, что
- наличие повторяющейся информации приведет к неоправданному увеличению размера базы данных. В результате снизится скорость выполнения запросов. Кроме того, повторяющиеся данные нерационально используют дисковое пространство вашего компьютера.
- Любые внештатные ситуации потребуют от вас значительного времени для получения требуемой информации. Например, при многократном вводе повторяющихся данных возрастает вероятность ошибки. При больших размерах таблиц поиск ошибок будет занимать значительное время
Основным этапом логического проектирования концептуальной модели в реляционную является нормализация полученных на этапе инфологического проектирования отношений.
Процесс нормализации отношений состоит из следующих этапов:
- преобразование отношений в первую нормальную форму (1НФ );
- преобразование отношений во вторую нормальную форму (2НФ),
- преобразование отношений в третью нормальную форму (3НФ).
Первая нормальная форма таблицы
Таблица в первой нормальной форме должна удовлетворять следующим требованиям:
1. Таблица не должна иметь повторяющихся записей.
2. В таблице должны отсутствовать повторяющиеся группы полей.
3. Строки должны быть не упорядочены.
4. Столбцы должны быть не упорядочены.
Для удовлетворения условия 1 каждая таблицы должна иметь уникальный индекс.
Для исключения повторяющихся записей можно воспользоваться одним из следующих способов.
1. Добавьте в таблицу новое уникальное ключевое поле Идентификатор, что позволит исключить многозначность. Однако это — далеко не лучший метод. При разработке многотабличных форм и отчетов связь между таблицами часто осуществляется посредством индексов. Ввод нового ключевого поля в таблицу не позволит связать таблицы по значениям совпадающих полей при создании многотабличных форм и отчетов.
2. Второй способ исключения повторяющихся записей состоит в использовании уникального составного индекса, состоящего из соответствующих полей.
После того, как мы разделили повторяющиеся объекты и определили поля, которые образуют уникальный индекс в каждой таблице, считается, что таблица находится в первой нормальной форме.
Т.о. первый шаг при нормализации заключается в образовании двумерных таблиц, содержащих элементы данных в качестве атрибутов (доменов). Повторяющиеся группы элементов данных выделяются в отдельный вид отношения. Это и является 1НФ данного отношения.
Вторая нормальная форма таблицы
О таблице говорят, что она находится во второй нормальной форме, если:
1. Она удовлетворяет условиям первой нормальной формы.
2. Любое неключевое поле однозначно идентифицируется полным набором ключевых полей.
Из приведенного выше определения следует, что понятие второй нормальной формы применимо только к таблицам, имеющим составной индекс.
Т.о. второй шаг нормализации состоит в том, чтобы выделить ключи и зависящие от них атрибуты. Для отношения, находящегося в первой нормальной форме для приведения ко второй нормальной форме необходимо выделить группы неключевых атрибутов, зависящие от части составного ключа. Эти группы могут образовать отдельные отношения, в которых неключевые атрибуты будут зависеть только от определенной части составного ключа.
Третья нормальная форма таблицы
О таблице говорят, что она находится в третьей нормальной форме, если:
1 Она удовлетворяет условиям второй нормальной формы.
2. Ни одно из неключевых полей таблицы не идентифицируется с помощь другого неключевого поля.
Сведение таблицы к третьей нормальной форме предполагает разделение таблицы с целью помещения в отдельную таблицу (или несколько таблиц) столбцов, которые не зависят от полного ключа. В результате такого разбиения каждое из неключевых полей должно оказаться независимым от какого-либо другого неключевого поля.
Т.о., третий шаг нормализации состоит в выявлении возможных транзитивных зависимостей и выделения отдельных отношений для исключения таких зависимостей.
Технологию преобразования инфологической модели в реляционную модель рассмотрим на предыдущем примере «Сессия».
На основе анализа каждой сущности, выявленных на этапе концептуального проектирования производим формирование нормализованных отношений по каждой из сущностей с выделением, в случае необходимости, отношений связи или объектных отношений.
Сущность ФАКУЛЬТЕТ представлена следующим набором реквизитов: ФАКУЛЬТЕТ : <К_ФАК>, Н_ФАК, К_КАФ. Это отношение в 1НФ, однако целесообразно для исключения повторяющихся групп (К_ФАК,Н_ФАК) к каждому коду кафедры разбить это отношение на два:
1) объектное отношение словарь: С_ФАКУЛЬТЕТ(К_ФАК,Н_ФАК).
2) отношение связи: ФАКУЛЬТЕТ_КАФЕДРА(К_ФАК,К_КАФ).
Сущность КАФЕДРА представлена в концептуальной модели набором реквизитов
КАФЕДРА : <К_КАФ>, Н_КАФ, К_ПРЕПД, N_ГРУП, К_ПРЕДМ.
В наборе реквизитов сущности КАФЕДРА фактически присутствуют четыре сущности три из которых: N_ГРУПП, К_ПРЕДМ, К_ПРЕПОД функционально зависят от К_КАФ и не связаны между собой.
Целесообразно сущность КАФЕДРА представить в виде следующего перечня отношений:
объектное отношение словарь - С_КАФЕДРА(К_КАФ,Н_КАФ) и три отношения связи:
КАФЕДРА_ГРУППА(К_КАФ,N_ГРУП),
КАФЕДРА_ПРЕПОДАВАТЕЛЬ(К_КАФ,К_ПРЕПОДАВАТЕЛЯ),
КАФЕДРА_ПРЕДМЕТ(К_КАФ,К_ПРЕДМ).
Сущность ПРЕПОДАВАТЕЛЬ в концептуальной модели представлена набором реквизитов ПРЕПОДАВАТЕЛЬ:
<К_ПРЕПД>,<К_ПРЕДМ>,<ДОЛЖ>, ФИО_ПРЕПД,ДАТА_Р, ОКЛАД, К_ЧАС.
Этот набор реквизитов можно рассматривать как отношение в 1НФ.
Для приведения ко 2НФ и 3НФ необходимо преобразовать это отношение, исключив не полную функциональную зависимость неключевых реквизитов от составного ключа. Результатом нормализации отношения ПРЕПОДАВАТЕЛЬ будет следующий перечень отношений:
1)ПРЕПОДАВАТЕЛЬ(<К_ПРЕПОД>, ФИО_ПРЕПОД, ДАТА_Р, ДОЛЖ)
2) ДОЛЖНОСТЬ(<ДОЛЖ>, оклад),
3)ПРЕПОДАВАТЕЛЬ_ПРЕДМЕТ(<К_ПРЕПОД>,<К_ПРЕДМ>, К_ЧАС).
Сущность ПРЕДМЕТ можно рассматривать как нормализованное отношение словарь:
C_ПРЕДМЕТ(К_ПРЕДМ,Н_ПРЕДМ).
Сущность ЭКЗАМЕН также можно рассматривать как нормализованное отношение с составным ключом:
ЭКЗАМЕН(<К_ПРЕДМ>,<К_ПРКПОД>, <N_ГРУП>, ДАТА, АУД).
Сущности ГРУППА, СТУДЕНТ, ОЦЕНКА с их набором реквизитов в концептуальной модели можно рассматривать как отношения в 3НФ с составным ключом для отношения ОЦЕНКА, являющегося отношением связкой и объектными отношениями ГРУППА, СТУДЕНТ.
Окончательный перечень нормализованных отношений для реляционной модель по предметной области "СЕССИЯ":
Таблица 1
№ пп |
Имя Отношения |
Ключевые атрибуты |
Неключевые атрибуты |
1 |
С-ФАКУЛЬТЕТ |
К_ФАК |
Н_ФАК |
2 |
С-КАФЕДРА |
К_КАФ |
Н_КАФ |
3 |
С-ПРЕДМЕТ |
К_ПРЕДМ |
Н_ПРЕДМ |
4 |
С-ПРЕПОДАВАТЕЛЬ |
К_ПРЕПД |
ФИО_ПРЕПД |
5 |
С-СТУДЕНТ |
N_ЗАЧЕТ |
ФИО_СТУД |
6 |
ФАКУЛЬТЕТ -КАФЕДРА |
К-ФАК |
К-КАФ |
7 |
КАФЕДРА_ГРУППА |
N_ГРУП |
К_КАФ |
8 |
КАФЕДРА_ПРЕПОДАВАТЕЛЬ |
К_ПРЕПОДАВАТЕЛЯ |
К_КАФ |
9 |
КАФЕДРА_ПРЕДМЕТ |
К_ПРЕДМ |
К_КАФ |
10 |
ПРЕПОДАВАТЕЛЬ |
К_ПРЕПД |
ДАТА_Р, ДОЛЖ |
11 |
ПРЕПОДАВАТЕЛЬ- ПРЕДМЕТ |
К_ПРЕПД, К_ПРЕДМ |
К_ЧАС |
12 |
ДОЛЖНОСТЬ |
К_ДОЛЖ |
ОКЛАД |
13 |
ГРУППА |
N_ЗАЧЕТ |
N_ГРУП |
14 |
ЭКЗАМЕН |
К-ПРЕДМ, К-ПРЕПД |
N_ГРУП ДАТА, АУД |
15 |
ОЦЕНКА |
К_ПРЕДМ,К_ПРЕПД |
N_ЗАЧЕТ ОЦЕНКА |