Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЗИПЕКТ 28.09.11 Лекция 2.docx
Скачиваний:
1
Добавлен:
15.11.2018
Размер:
61.83 Кб
Скачать

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

  • Обеспечение возможности хранения в БД всех необходимых данных.

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

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

Пример неудачно спроектированной бд с избыточностью:

PoorCourse

NC

Title

Hours

Exam

Name

Position

Seniority

1

Защита информационных процессов

64

+

10

2

Основы БД

48

+

Сидоров

Профессор

20

3

Параллельное и многопоточное программирование

80

+

Сидоров

Профессор

20

….

Основные понятия нормализации:

  • Возможный ключ таблицы - это атрибут или набор атрибутов, который может быть использован для данной таблицы в качестве первичного ключа.

  • Неключевой атрибут - любой атрибут таблицы, не входящий в состав ни одного возможного ключа таблицы.

  • Взаимно-независимые атрибуты - атрибуты таблицы, не зависящие друг от друга.

Неключевые атрибуты: Name, Position, Seniority

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

NP

Name

Position

Seniority

ChartNum

1

Иванов

Доцент

10

403

2

Петров

Ст. преп.

5

556

3

Сидоров

Профессор

20

212

Вторая нормальная форма

Таблица находится во второй нормальной форме, если:

  • Она находится в первой нормальной форме;

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

Пример таблицы, не соответствующей второй нормальной форме:

PoorCourse

NC

Title

Hours

Exam

Name

Position

Seniority

1

Защита информационных процессов

64

+

10

2

Основы БД

48

+

Сидоров

Профессор

20

3

Параллельное и многопоточное программирование

80

+

Сидоров

Профессор

20

Эти атрибуты зависят от атрибута Name, а не от первичного ключа NC

Пример бд, таблицы которой соответствуют второй нормальной форме:

Prep

NP

Name

Position

Seniority

1

Иванов

Доцент

10

2

Петров

Ст. преп.

5

3

Сидоров

Профессор

20

Course

NC

Title

Hours

Exam

1

Защита информационных процессов

64

+

2

Основы БД

48

+

3

Параллельное и многопоточное программирование

80

+

Lectures (связывает таблицы Prep и Course)

NP

NC

1

1

3

2

3

3

Тяжело удалить, зато легко обновить