Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Pract2011_BD_KT_7 до 13 работы.docx
Скачиваний:
26
Добавлен:
17.11.2018
Размер:
173.27 Кб
Скачать

Лабораторная работа № 1

ПРОЕКТИРОВАНИЕ РЕЛЯЦИОННОЙ БАЗЫ ДАННЫХ.

ДЕКОМПОЗИЦИЯ ПЛОСКОЙ ТАБЛИЦЫ

Порядок выполнения:

  1. Выполните декомпозицию приведенной ниже плоской таблицы (или иной таблицы, предложенной преподавателем):

ФИО студента

Группа

Дата экзамена

ФИО преподавателя

Предмет

Оценка

Иванов И.И.

Кт-102

12.12.98

Пушкин А.С.

Математика

5

Иванов И.И.

Кт-102

16.12.98

Ломов А.П.

Физика

4

Кочкин И.И.

Кт-102

20.12.98

Саахов Ш.С.

Химия

4

Петров П.П.

Ио-101

12.12.98

Пушкин А.С.

Математика

3

Павлов С.П.

Кт-104

16.12.98

Ломов А.П.

Физика

5

Жуков А.П.

Кт-104

20.12.98

Саахов Ш.С.

Химия

5

Черняк Д.И.

Ио-101

16.12.98

Пушкин А.С.

Математика

4

Кочев Р.В.

Кт-102

12.10.99

Ломов А.П.

Физика

3

Антонов В.И.

Кт-104

12.10.99

Саахов Ш.С.

Химия

Для этого необходимо:

  • разбить поля, содержащие группы значений, на атомарные (не составные поля), по которым в дальнейшем возможно выполнение поисковых операций,

  • ввести справочники для повторяющихся данных,

  • выделить самостоятельные объекты в плоской таблице,

  • разделить таблицу на части, соответствующие таким объектам,

  • определить первичные и/или внешние ключи таблиц,

  • убедиться на пробной модели в отсутствии чрезмерной повторяемости данных,

  • убедиться, что любые данные исходной плоской таблицы могут быть определены по данным реляционной модели.

  1. Создайте шапку плоской таблицы с полями:

- дата занесения строки (записи) в таблицу,

- таб_номер,

- фамилия,

- имя,

- отчество,

- дата_рождения,

- должность,

- оклад,

- дата_назначения_оклада,

- имя_ребенка,

- домашний_адрес (3-5 полей),

- дата_рождения_ребенка,

- дата_начала_больничного,

- дата_окончания_больничного,

- воинское_звание,

- дата_присвоения_воинского_звания,

- номер_страхового_свидетельства,

- ИНН.

  1. Заполните таблицу на 8 человек. При заполнении таблицы имейте в виду, что:

  • дата занесения строки (записи) в таблицу должна соответствовать хронологии работы воображаемого оператора,

  • люди из списка могут иметь одну из 5 специальностей (номенклатура специальностей - по Вашему усмотрению),

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

  • номер страхового свидетельства и ИНН – это 10-разрядные последовательности цифр.

  1. Добавьте записи, с помощью которых вводится дополнительно следующая информация:

- для одного-двух человек отражается изменение оклада (в историческом аспекте, т.е. с учетом дат),

- у двух человек имеется по два ребенка, у одного – три ребенка (учесть даты рождения детей и возраст родителей),

- три человека из списка были на больничном листе по одному разу, один – два раза в разные периоды (дата выхода с больничного должна быть позднее даты выхода на больничный лист). Больничные у одного и того же человека не должны перекрываться по датам,

- один человек, находясь в запасе, должен изменить воинское звание с сержанта на старшего сержанта, а затем на старшину (с учетом дат), два человека должны получить очередное воинское звание в пределах указанной номенклатуры званий.

Обратите внимание на существенное увеличение размеров плоской таблицы.

  1. В получившейся плоской таблице выявите группы полей (столбцов), которые могут быть выделены в отдельные таблицы, поскольку относятся к отдельным объектам, и данные, которые имеют тенденцию к повторению от записи к записи.

  2. Составьте шапки таблиц, на которые предполагается разбить созданную плоскую таблицу.

  3. Заполните таблицы с этими шапками, используя данные плоской таблицы.

Помните!

Совокупность таблиц реляционной базы должна полностью заменять плоскую таблицу.

  1. Дополните полученный набор таблиц справочниками для должностей и воинских званий (можно создать справочники для фамилий, имен).

  2. Выполните декомпозицию плоской таблицы по варианту, выданному преподавателем или методистом (может быть использована [1]), не допуская повторения одних и тех же данных.

  3. Определите количество элементов данных для плоских таблиц и их реляционных моделей (для п. 1 и п. 9). Сравните результаты. Приведите выводы из сравнения, имея в виду, что количество записей в таблицах для современных баз данных может достигать сотен тысяч.

  4. Определите количество ячеек таблиц, несущих полезную информацию об объектах, и количество ячеек, используемых в качестве индексов для организации связи. Результаты привести в отчете.

  5. Предъявите преподавателю отчет, включающий все плоские исходные таблицы, таблицы реляционных базы данных, а также результаты расчетов по элементам данных и выводы о сравнении исходных таблиц и реляционных баз данных.

Контрольные вопросы

  1. Что такое плоская таблица?

  2. Опишите алгоритм декомпозиции плоской таблицы.

  3. Как выполняется соединение таблиц друг с другом?

  4. Что такое первичный ключ? Внешний ключ?

  5. По каким признакам можно догадаться, что декомпозиция не удалась?

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]