Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УДьт.doc
Скачиваний:
60
Добавлен:
27.03.2015
Размер:
1.08 Mб
Скачать

6… Цели проектирования баз данных

Наиболее важными целями проектирования являются:

  • Хранение всех необходимых данных в БД, т.е. централизация данных;

  • Исключение избыточности данных;

  • Уменьшение количества отношений в БД;

  • Нормализация отношений для решения проблем, связанных с обновлением или удалением данных.

Первым шагом в процессе проектирования является определение перечня атрибутов (столбцов), которые должны храниться в БД.

На втором шаге принимается решение о том, сколько будет отношений и какие атрибуты будут храниться в каких отношениях.

Необходимо различать дублирование данных и дублирование с избыточностью:

Таблица 6.7 Пример дублирования данных.

Табельный номер

Номер лаборатории

В таблице 6.7 Числа 12 и 17

дублируются, но не избыточны.

287

12

314

17

07

12

354

17

Таблица 6.8 Пример избыточного дублирования данных.

Табельный номер

Номер лаборатории

Телефон лаборатории

В таблице 6.8 телефон лаборатории, как видно, дублируется, и это уже избыточное дублирование.

287

12

2-17

314

17

4-41

007

12

354

17

Третий шаг – устранение избыточности. Полученный файл после устранения избыточности следует считать неудовлетворительным. Во-первых, пустых полей в файле следует избегать, в такой структуре хранения для записей необходимо иметь процедуру поиска. Во-вторых, могут возникнуть серьезные проблемы с удалением информации. Если удалить работника 287, то исчезнет и соответствующий номер лаборатории.

Лучший способ устранения – разбиение отношения

“Служащий – лаборатория – телефон” (таблица 6.8) на два:

“Лаборатория – телефон” (таблица 6.9)

“Служащий – лаборатория” (таблица 6.10)

Таблица 6.9 “Лаборатория-телефон”.

Таблица 6.10 “Служащий-лаборатория”.

Номер лаборатории

Телефон лаборатории

Табельный номер

Номер лаборатории

12

2-17

287

12

17

4-41

314

17

007

12

354

17

Разбиение отношений на два или несколько – рабочая процедура проектирования.

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

Некоторые отношения порождают серьезные проблемы по удалению и обновлению информации. Проектировщик БД должен уметь находить такие отношения и “нормализовать” их. Нормализация осуществляется путем разбиения отношения на два или более мелких отношения по определенным правилам.

Универсальные отношения

Отношение, которое включает в себя все атрибуты и содержащее все данные, предполагаемые хранить в БД, называется универсальным отношением.

Для небольших БД универсальное отношение может использоваться в качестве основного пункта при проектировании БД.

Предположим, что требуется разработать БД для начальника отдела.

Первый шаг проектирования – состоит в определении всех атрибутов, значения которых требуется хранить в БД. Эта информация берется у начальника отдела в процессе обсуждения будущей БД. В результате обсуждения выяснилось, что БД предназначена для подведения результатов работы каждого сотрудника отдела. Определился следующий набор атрибутов:

Сном

номер сотрудника (целое значение, уникальное),

Сфам

фамилия сотрудника (строковое значение),

Лном

номер лаборатории, в которой трудится данный сотрудник,

Тном

рабочий телефон сотрудника,

Проект

номер проекта, в разработке которого участвует сотрудник,

Квартал

период времени, в течение которого сотрудник участвовал в разработке проекта,

Вклад

численная характеристика, отражающая количество и качество работы с сотрудника в данном проекте и в данном квартале.

Второй шаг – составление таблицы по предварительно записанному набору атрибутов.

Таблица 6.11 Информация выбранная для хранения в базе данных

Сном

Сфам

Тном

Лном

Проект

Квартал

Вклад

289

Иванов

5-17

25АП

РКТ14

1990.3

3

Зенит

1990.3

5

ВКТ14

1990.4

2

ВТА2

1990.4

4

315

Николаев

8-29

4КТ

ВКТ14

1990.3

6

ВТА8

1990.4

7

ВКТ14

1990.4

8

429

Андреев

5-17

25АМ

Зенит

1990.3

2

ОТР6

1990.4

7

ВКТ14

1990.4

4

559

Зайцев

4-85

14ММ

ОВ77

1990.3

6

Хотя данные связаны в таблицу 6.11, она не может быть использована в реляционных базах данных, т.к. строки её содержат вектора значений атрибутов, что недопустимо для отношений. Такую таблицу, однако, очень легко преобразовать в отношение путем декомпозиции.

Таблица 6.12 Универсальное отношение базы данных “Начальник отдела”

Сном

Сфам

Тном

Лном

Проект

Квартал

Вклад

289

Иванов

5-17

25АП

РКТ14

1990.3

3

289

Иванов

5-17

25АП

Зенит

1990.3

5

289

Иванов

5-17

25АП

ВКТ14

1990.4

2

289

Иванов

5-17

25АП

ВТА2

1990.4

4

315

Николаев

8-29

4КТ

ВКТ14

1990.3

6

315

Николаев

8-29

4КТ

ВТА8

1990.4

7

315

Николаев

8-29

4КТ

ВКТ14

1990.4

8

429

Андреев

5-17

25АП

Зенит

1990.3

2

429

Андреев

5-17

25АП

ОТР6

1990.4

7

429

Андреев

5-17

25АП

ВКТ14

1990.4

4

559

Зайцев

4-85

14ММ

ОВ77

1990.3

6

В таблице 6.12 первичным ключом является значение трех полей Сном-Проект-Квартал. Полученная таблица – экземпляр правильного отношения.

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