reforef.ru 1


Лабораторная работа №7
«Пример проектирования БД методом НФ»

Задание: Спроектировать БД по теме «Учет книг в библиотеке».

Исходная информация: Регистрационный № книги, Наименование книги, Авторы, Число экземпляров, Код тематики, Наименование тематики, Код издательства, Наименование издательства, Адрес издательства, Телефон издательства, Код отдела библиотеки, Наименование отдела библиотеки.
Ход работы:


  1. Составляем универсальное отношение:

Рег.№ книги

Наименование книги

Авторы

Число экземпляров

Код тематики

Наименование тематики

Код издательства

Наименование издательства

Адрес издательства

Телефон издательства

Код отдела библиотеки

Наименование отдела библиотеки

1

Delphi 7

Архангельский

10

1

Программирование

1

Питер

Санкт-Петербург, пр. Ленина, 78

777-2344

1

Научная литература

2

Delphi 7

Гофман


11

1

Программирование

1

Питер

Санкт-Петербург, пр. Ленина, 78

777-2344

1

Научная литература

3

Windows 95

Microsoft

5

2

Операционные системы

2

Microsoft Publishing

Москва, пр. Мира, 25

555-1234

1

Научная литература

4

Война и Мир

Толстов

6

3

Художественная литература

1

Питер

Санкт-Петербург, пр. Ленина, 78

777-2344

2

Художественная литература



  1. Определяем функциональные зависимости:



Отношение Учет книг не находится в НФБК, разбиваем
Учет книг (Рег.№ книги, наим.книги, авторы, число экземл., код тематики, наим.тематики, код изд-ва, наим. изд-ва, адрес изд-ва, телефон изд-ва, код отдела, название отдела библиотеки)

Детерминанты:

  1. Рег. № книги

  2. код отдела

  3. код тематики

  4. код изд-ва


Возможные ключи:


  1. Рег. № книги

Рег. № книги

наим-е книги

авторы

число экземпл.

адрес изд-ва

код отдела

код изд-ва

наим. изд-ва

код тематики

наим. тематики

телефон изд-ва

назв.отд. библиот.


  1. Выделяем самую крайнюю связь: Код тематики -> Наименование тематики

Тематика (код тематики, наим.тематики)

код тематики

наим. тематики

Детерминант: 1. код тематики

Возм. ключи: 1. код тематики
Отношение Тематика находится

в НФБК


  1. Остается следующее:


Детерминанты:

  1. Рег. № книги

  2. код отдела

  3. код изд-ва


Возможные ключи:

  1. Рег.№ книги

Рег. № книги

наим-е книги

авторы

число экземпл.

адрес изд-ва

код отдела

код изд-ва

наим. изд-ва

код тематики

телефон изд-ва

назв.отд. библиот.

Учет книг (Рег.№ книги, наим.книги, авторы, число экземл., код изд-ва, наим. изд-ва, адрес изд-ва, телефон изд-ва, код отдела, название отдела библиотеки, код тематики)

Отношение Учет книг не находится в НФБК, разбиваем



  1. Выделяем самую крайнюю связь: Код отдела -> Наименование отдела

код отдела

наим. отдела

Отдел (Код отдела, наим. отдела)

Детерминант: 1. Код отдела

Возм.ключи: 1. Код отдела
Отношение Отделы находится в НФБК

Детерминанты:

  1. Рег.№ книги

  2. код изд-ва


Возможные ключи:


  1. Рег.№ книги

Рег. № книги

наим-е книги

авторы

число экземпл.

адрес изд-ва

код отдела

код изд-ва

наим. изд-ва

код тематики

телефон изд-ва

Учет книг (Рег.№ книги, наим.книги, авторы, число экземл., код изд-ва, код тематики, код отдела, наим. изд-ва, адрес изд-ва, телефон изд-ва)

Отношение Учет книг не находится в НФБК, разбиваем



  1. Выделяем самую крайнюю связь: Код издательства -> Наименование издательства, адрес издательства, телефон издательства:

код изд-ва

Изд-во (Код изд-ва, наим. изд-ва, адрес изд-ва, телефон изд-ва)

Детерминант:1. Код изд-ва

Возм.ключи: 1. Код изд-ва
Отношение Издательство находится в НФБК

адрес изд-ва

наим. изд-ва

телефон изд-ва


Отношение Учет книг находится в НФБК

Детерминанты:

  1. Рег.№ книги


Возможные ключи:

  1. Рег.№ книги

Рег.№ книги

наим-е книги

авторы

число экземпл.

код отдела

код изд-ва

код тематики

Учет книг (Рег.№ книги, наим.книги, авторы, число экземл., код изд-ва, код тематики, код отдела)

Полученные проектные отношения:
Тематика (код тематики, наим.тематики)

Отдел (код отдела, наим. отдела)

Издательство (код изд-ва, наим. изд-ва, адрес изд-ва, телефон изд-ва)

Учет книг (Рег.№ книги, наим.книги, авторы, число экземл., код изд-ва, код тематики, код отдела)
Индивидуальное задание

Спроектировать БД для своего варианта задачи.