Инструкция к лабораторной работе по информатике "Нормализация отношений" по курсу "Базы данных"
ДЕПАРТАМЕНТ ОБРАЗОВАНИЯ ГОРОДА МОСКВЫ
государственное бюджетное общеобразовательное учреждение
средняя общеобразовательная школа № 230
Инструкция к лабораторной работе №1
на тему: «Нормализация отношений»
по курсу «Базы данных»
составила преподаватель Соляникова Л. С.
2013 г.
Лабораторная работа №1.
«Нормализация отношений»
Цель работы: |
Закрепление навыков нормализации таблиц. |
Теоретические сведения
Если в реляционной таблице встречается избыточное дублирование данных, то от этой избыточности можно избавиться, разбив отношение на более мелкие. Этот процесс называется нормализацией.
Нормализация представляет собой процесс реорганизации данных путем ликвидации избыточных дублированных данных и иных противоречий в хранении данных с целью приведения таблиц к виду, позволяющее осуществить непротиворечивое и корректное редактирование данных.
Или другими словами:
Нормализация – это разбиение одного отношения на 2 и более в соответствии со специальной процедурой определения разбиений.
Существуют три нормальные формы.
Первая нормальная форма.
Чтобы таблица соответствовала I н.ф. все значения ее полей должны быть атомарными, а все записи уникальными.
Первая нормальная форма является основой реляционной модели данных. Любая таблица в реляционной базе данных автоматически находится в первой нормальной форме, иное просто невозможно по определению. В такой таблице не должно содержаться полей (атрибутов), которые можно было бы разделить на несколько полей (атрибутов).
Ненормализованными, как правило, бывают таблицы, изначально не предназначенные для компьютерной обработки содержащейся в них информации. Например, в табл. 1 показан фрагмент таблицы из справочника «Универсальные металлорежущие станки», изданного Экспериментальным научно-исследовательским институтом металлорежущих станков (ЭНИМС).
№ п/п |
Модель станка |
Наибольший диаметр обработки, мм |
Частота вращения шпинделя, об/мин |
Габаритные размеры (длина × ширина × высота), мм |
1 |
1Д12 |
12 (восьми — шестигранник) |
112...5000 (левое); 56...630 (правое) |
1630 x 740 x 1410 |
Данная таблица является ненормализованной по следующим причинам.
Она содержит строки, имеющие в одной ячейке несколько значений одного поля: «Наибольший диаметр обработки, мм» и «Частота вращения шпинделя, об/мин».
Одно поле — «Габаритные размеры (длина х ширина х высота), мм» может быть разделено на три поля: «Длина, мм», «Ширина, мм» и «Высота, мм». Целесообразность такого разделения может быть обоснована необходимостью последующих расчетов площадей или занимаемых объемов.
Вторая нормальная форма.
Таблица находится во II н. ф., если она находится в I н.ф., и ее неключевые поля полностью зависят от всего первичного ключа.
Чтобы перейти от I н.ф. ко II н.ф.:
Определить на какие части можно разбить ПК, так, чтобы некоторые из неключевых полей зависели только от одной из этих частей (эти части не обязательно состоят из одной колонки).
Создать новую таблицу для каждой такой части ключа и группы, зависящих от нее полей.
Удалить из исходной таблицы поля, перемещенные в другую таблицу, кроме тех, которые станут внешними ключами.
Третья нормальная форма.
Таблица находится в III н.ф., если она находится во II н.ф. и все ее неключевые поля зависят только от ПК.
Чтобы перейти от II к III н.ф. нужно выполнить следующие шаги:
Определить все поля (или группы полей) от которых зависят другие поля.
Создать новую таблицу для каждого такого поля (или группы полей) и группы, зависящих от него полей. Поле (или группа полей), от которого зависят все остальные перемещенные поля, станет теперь ПК новой таблицы.
Удалить из исходной таблицы поля, перемещенные в другую таблицу, кроме тех, которые станут внешними ключами.
Пример:
Привести к III нормальной форме следующую таблицу:
ПРЕПОДАВАТЕЛИ
Код |
ФИО |
Должн |
Оклад |
Стаж |
Д_Стаж |
Каф |
Нкаф |
Предм |
Группа |
ВидЗан |
1 |
Иванов И.М. |
преп |
500 |
5 |
100 |
25 |
Програм-мирования |
СУБД |
256 |
Практ |
1 |
Иванов И.М. |
преп |
500 |
5 |
100 |
25 |
Програм-мирования |
СУБД |
123 |
Практ |
1 |
Иванов И.М. |
преп |
500 |
5 |
100 |
25 |
Програм-мирования |
ПЛ/1 |
123 |
Лекция |
1 |
Иванов И.М. |
преп |
500 |
5 |
100 |
25 |
Програм-мирования |
ПЛ/1 |
123 |
Практ |
2 |
Петров М.И. |
ст. преп |
800 |
7 |
100 |
25 |
Програм-мирования |
СУБД |
256 |
Лекция |
2 |
Петров М.И. |
ст. преп |
800 |
7 |
100 |
25 |
Програм-мирования |
СУБД |
123 |
Лекция |
2 |
Петров М.И. |
ст. преп |
800 |
7 |
100 |
25 |
Програм-мирования |
Паскаль |
256 |
Практ |
3 |
Сидоров Н.Г. |
преп |
500 |
10 |
150 |
25 |
Програм-мирования |
Паскаль |
256 |
Лекция |
4 |
Егоров В. В. |
преп |
500 |
5 |
100 |
24 |
Высшая математика |
Алгебра |
256 |
Лекция |
4 |
Егоров В. В. |
преп |
500 |
5 |
100 |
24 |
Высшая математика |
Алгебра |
256 |
Практика |
Код – код преподавателя
ФИО - фамилия и инициалы преподавателя.
Должн - должность, занимаемая преподавателем.
Оклад - оклад преподавателя.
Стаж - преподавательский стаж.
Д_Стаж - надбавка за стаж.
Каф - номер кафедры, на которой числится преподаватель.
Нкаф – название кафедры
Предм - название предмета (дисциплины), читаемого преподавателем.
Группа - номер группы, в которой преподаватель проводит занятия.
ВидЗан - вид занятий, проводимых преподавателем в учебной группе.
Обратите внимание, что практику и лекции могут вести в одной и той же группе разные преподаватели, а может и один.
Эта таблица находится в I нормальной форме. Логическая структура таблицы:
Преподаватели
Код
Предм
Группа ПК
ВидЗан
ФИО
Должн
Оклад
Стаж
Д_стаж
Каф
Нкаф
Все неключевые поля зависят от части первичного ключа Код. Следовательно, эти поля необходимо оформить в виде отдельной таблицы. К тому же, для сокращения объемов таблицы введем поля Код предмета и Код занятия. Получим:
II н.ф.
П реподаватели Занятия 1 Предметы
1 N N
N Вид занятия
1
В таблице Преподаватели явно прослеживается зависимость неключевых полей от других неключевых полей:
Оклад зависит от должности (для должности введем поле Код должности)
Доплата за стаж зависит от стажа
Название кафедры зависит от номера кафедры
III н. ф.
Д
Код предм ПК
Предм
Код ПК
ФИО
Код долж ВК
Стаж ВК
Каф ВК
Код ВК
Код предм ВК
Группа
ПК
Код занятия ВК
Код занятия ПК
ВидЗан
Код долж ПК
Должн
Оклад
Каф ПК
Нкаф
N
N
Стаж ПК
Д_стаж
1
1 1
Доплаты Кафедры
Получили семь таблиц:
Преподаватели
Код |
ФИО |
Код долж |
Стаж |
Каф |
1 |
Иванов И.М. |
1 |
5 |
25 |
2 |
Петров М.И. |
2 |
7 |
25 |
3 |
Сидоров Н.Г. |
1 |
10 |
25 |
4 |
Егоров В. В. |
1 |
5 |
24 |
Занятия
Код |
Код предм |
Группа |
Код занятия |
1 |
1 |
256 |
2 |
1 |
1 |
123 |
2 |
1 |
2 |
123 |
1 |
1 |
2 |
123 |
2 |
2 |
1 |
256 |
1 |
2 |
1 |
123 |
1 |
2 |
3 |
256 |
2 |
3 |
3 |
256 |
1 |
4 |
4 |
256 |
1 |
4 |
4 |
256 |
2 |
Должности
Код долж |
Должн |
Оклад |
1 |
преп |
500 |
2 |
ст. преп |
800 |
Доплаты
Стаж |
Д_Стаж |
5 |
100 |
7 |
100 |
10 |
150 |
Кафедры
Каф |
Нкаф |
25 |
Программирования |
24 |
Высшая математика |
Предметы
Код предм |
Предм |
1 |
СУБД |
2 |
ПЛ/1 |
3 |
Паскаль |
4 |
Алгебра |
Вид занятия
Код занятия |
ВидЗан |
1 |
Лекция |
2 |
Практ |
Задание.
Приведите таблицы к III нормальной форме:
1. Шофера- Машины
нмаш |
нмар |
водит |
нвод |
механик |
нмех |
срок |
нгар |
301 |
12 |
Иванов |
105 |
Китов |
115 |
8 |
1 |
301 |
12 |
Петров |
110 |
Китов |
115 |
8 |
1 |
412 |
12 |
Соколов |
114 |
Листов |
106 |
2 |
1 |
412 |
12 |
Рогов |
113 |
Листов |
106 |
2 |
1 |
527 |
11 |
Власов |
109 |
Листов |
106 |
3 |
2 |
527 |
11 |
Мишин |
107 |
Листов |
106 |
3 |
2 |
513 |
6 |
Крылов |
103 |
Китов |
115 |
2 |
2 |
513 |
6 |
Семенов |
101 |
Китов |
115 |
2 |
2 |
621 |
6 |
Воронов |
104 |
Васин |
108 |
8 |
3 |
621 |
6 |
Яковлев |
117 |
Васин |
108 |
8 |
3 |
645 |
11 |
Егоров |
119 |
Васин |
108 |
7 |
3 |
645 |
11 |
Демин |
102 |
Васин |
108 |
7 |
3 |
Нмаш – номер машины
Нмар – номер маршрута
Нвод – номер водителя
Нмех – номер механика
Нгар – номер гаража
2. Библиотека
Нчит |
ФИО |
Адрес |
Тел |
Дата |
Срок |
Кном |
Автор |
Название |
Вид |
Изд |
Год |
Ком |
Цена |
1265 |
Иванов |
Зеленая 3-5 |
4-65-33 |
12/02 |
14 |
Т178 |
Толстой Л.Н. |
Анна Каренина |
Худ. литера-тура |
Гамма |
1987 |
1 |
125 |
1265 |
Иванов |
Зеленая 3-5 |
4-65-33 |
12/02 |
14 |
Т145 |
Турге-нев И.С. |
Му-му |
Худ. литера-тура |
Луч |
1968 |
1 |
131 |
1369 |
Петров |
Мира 5-3 |
6-44-22 |
12/02 |
18 |
Т178 |
Толстой Л.Н. |
Воскресе-нье |
Худ. литера-тура |
Мир |
1991 |
1 |
142 |
1265 |
Иванов |
Зеленая 3-5 |
4-65-33 |
26/02 |
10 |
В289 |
Венцель Е.В. |
Теория вероятно-сти |
учебник |
Наука |
1985 |
2 |
130 |
1369 |
Петров |
Мира 5-3 |
6-44-22 |
2/03 |
7 |
Д256 |
Дейт К. |
Реляцион-ные базы данных |
учебник |
Мир |
1988 |
2 |
206 |
1678 |
Гамов |
Мира 56-23 |
7-34-36 |
2/03 |
12 |
Б678 |
Бронш-тейн И.Н. |
Справоч-ник по математи-ке |
Справо-чник |
Наука |
1985 |
3 |
175 |
1369 |
Петров |
Мира 5-3 |
6-44-22 |
12/03 |
5 |
Д256 |
Дейт К. |
Реляцион-ные базы данных |
учебник |
Мир |
1988 |
2 |
206 |
Нчит – номер читателя
Срок – на сколько дней выдана книга
Изд – издательство
Ком – номер комнаты, в которой находится эта книга
3. Междугородние переговоры
Номер заказа |
Номер телефона |
ФИО |
Дата |
Код города |
Город |
Время |
Цена |
1 |
4-17-22 |
Иванова П.Р. |
2.01 |
495 |
Москва |
3 |
5,20 |
2 |
2-45-56 |
Смирнов А.А. |
2.01 |
4822 |
Тверь |
4 |
6,70 |
3 |
4-17-22 |
Иванова П.Р. |
2.01 |
8412 |
Пенза |
5 |
7,20 |
4 |
2-45-56 |
Смирнов А.А. |
5.01 |
495 |
Москва |
2 |
5,20 |
5 |
2-45-78 |
Ромов Р.Л. |
5.01 |
4822 |
Тверь |
3 |
6,70 |
4. Экзамены
Номер дисциплины |
Дисциплина |
Номер преподава-теля |
Преподаватель |
Специа-льность |
Расшифровка специальности |
Группа |
Номер студента по журналу |
ФИО студента |
Дата |
Оцен-ка |
1 |
Математика |
1 |
Иванов А.П. |
2202 |
Автоматизированные системы обработки информации и управления |
АС051 |
1 |
Воронков А. |
25.06.07 |
5 |
1 |
Математика |
1 |
Иванов А.П. |
2202 |
Автоматизированные системы обработки информации и управления |
АС051 |
2 |
Горлов Р. |
25.06.07 |
4 |
1 |
Математика |
1 |
Иванов А.П. |
2202 |
Автоматизированные системы обработки информации и управления |
АС051 |
3 |
Демин В. |
1.07.07 |
3 |
2 |
Основы алгоритмизации и программирования |
2 |
Смирнов Р.Л. |
2202 |
Автоматизированные системы обработки информации и управления |
АС051 |
1 |
Воронков А. |
28.06.07 |
4 |
2 |
Основы алгоритмизации и программирования |
2 |
Смирнов Р.Л. |
2202 |
Автоматизированные системы обработки информации и управления |
АС051 |
2 |
Горлов Р. |
28.06.07 |
5 |
2 |
Основы алгоритмизации и программирования |
2 |
Смирнов Р.Л. |
2202 |
Автоматизированные системы обработки информации и управления |
АС051 |
3 |
Демин В. |
28.06.07 |
3 |
1 |
Математика |
3 |
Орлов А.О. |
2202 |
Автоматизированные системы обработки информации и управления |
АС062 |
1 |
Агаров К. |
28.06.07 |
4 |
5. Преподаватели
Код преподавателя |
ФИО |
Разряд |
Оклад |
Адрес |
Код предмета |
Название предмета |
Объем часов |
Группа |
Курс |
Семестр |
1 |
Иванов А.П. |
13 |
3500 |
Садовского 5-6 |
П1 |
Математика |
80 |
Т061 |
1 |
1-2 |
1 |
Иванов А.П. |
13 |
3500 |
Садовского 5-6 |
П2 |
Алгебра |
60 |
Т051 |
2 |
1 |
1 |
Иванов А.П. |
13 |
3500 |
Садовского 5-6 |
П3 |
Геометрия |
30 |
Т051 |
2 |
2 |
2 |
Сидоров Н.А. |
12 |
3000 |
Зеленая 4-7 |
П1 |
Математика |
80 |
А061 |
1 |
1-2 |
2 |
Сидоров Н.А. |
12 |
3000 |
Зеленая 4-7 |
П2 |
Алгебра |
60 |
А051 |
2 |
1 |
2 |
Сидоров Н.А. |
12 |
3000 |
Зеленая 4-7 |
П4 |
Информатика |
90 |
Т061 |
1 |
1-2 |
2 |
Сидоров Н.А. |
12 |
3000 |
Зеленая 4-7 |
П4 |
Информатика |
90 |
А061 |
1 |
1-2 |
На странице приведен фрагмент.
Автор: Соляникова Людмила Семеновна
→ djeni 08.12.2013 0 4042 497 |
Спасибо за Вашу оценку. Если хотите, чтобы Ваше имя
стало известно автору, войдите на сайт как пользователь
и нажмите Спасибо еще раз. Ваше имя появится на этой стрнице.
Смотрите похожие материалы