
- •Введение в базы данных
- •Основные понятия и определения
- •Традиционные файловые системы
- •Системы с базами данных
- •История развития субд
- •Обзор современных субд
- •Основные термины:
- •Архитектура баз данных
- •Уровни представления баз данных
- •Схемы и подсхемы бд
- •Независимость от данных
- •Модели данных
- •Архитектура баз данных и субд
- •Функции и компоненты субд
- •Понятие целостности данных
- •Компоненты субд
- •Многопользовательские субд и языки баз данных
- •Архитектура многопользовательских субд
- •Языки баз данных
- •Реляционные базы данных
- •Используемая терминология
- •Структуры данных
- •Свойства отношений
- •Реляционные ключи
- •Манипулирование данными
- •5.5.1. Специальные реляционные операции
- •5.5.2. Традиционные операции над множествами
- •Пример манипулирования данными
- •Реляционная алгебра
- •Реляционное исчисление
- •Нормализация отношений в реляционных базах данных
- •Нормализация отношений
- •Аномалии вставки
- •Аномалии удаления
- •Аномалии обновления
- •Функциональные зависимости
- •Процесс нормализации
- •Первая нормальная форма (1нф)
- •Вторая нормальная форма (2нф)
- •Третья нормальная форма (3нф)
- •Нормальная форма Бойса-Кодда (нфбк)
- •Четвертая нормальная форма (4нф)
- •Пятая нормальная форма (5нф)
- •Проектирование реляционных баз данных
- •Подходы к проектированию бд
- •Понятия er- модели
- •Использование case-инструментов
- •Методология проектирования бд с помощью Case-инструментов silverrun
- •8.1.1. Использование silverrun-bpm
- •8.1.2. Контекстная диаграмма
- •Детализирующая диаграмма
- •8.1.4. Порядок работы с silverrun-врм
- •8.1.5. Использование silverrun-erx
- •8.1.6. Использование silverrun-rdm
- •Реляционные базы данных и субд InterBase
- •Субд InterBase, ее основные возможности и область применения
- •Типы данных
- •9.2.1. Целочисленные типы
- •9.2.2. Вещественные типы данных
- •Типы данных с фиксированной точкой
- •9.2.4. Типы данных для хранения текста
- •Типы для хранения даты и времени
- •Тип данных blob
- •Массивы
- •Язык реляционных баз данных sql
- •Sql и его история
- •Объекты реляционной базы данных
- •Операторы манипулирования данными
- •Агрегирование данных при выборке
- •Представления
- •Новые встроенные функции
- •Диалект базы данных
- •Типы с фиксированной точкой
- •Принципы физической организации баз данных
- •Безопасность данных и субд
- •Безопасность в операционной среде
- •Защита сервера
- •Безопасность на уровне базы данных
- •Файл конфигурации Firebird
- •Объектные субд
- •Сильные стороны реляционной модели субд
- •Недостатки реляционных субд
- •Недостатки оосубд
- •Заключение
- •Список литературы
Реляционное исчисление
Этот же запрос в терминах реляционного исчисления следует сформулировать так:
получить атрибуты “№ поставщика” и “Город” для таких поставщиков, у которых в отношении “Поставки” существует запрос о поставке с тем же значением атрибута “№ поставщика” и со значением атрибута “Номер детали”, равным P2.
Select P.”Номер поставки”, S.”Город”
From “Поставщики” S, “Поставки” P
Where P.“Номер поставщика” = S.” Номер поставщика ”
And P.” Номер поставки ”=P2
Нормализация отношений в реляционных базах данных
Нормализация отношений
При проектировании БД основной целью является выбор подходящей логической структуры для заданного массива данных, который требуется поместить в БД. Нужно решить, какие необходимы отношения и какой выбор атрибутов они должны включать. При этом такой процесс называется концептуальным проектированием БД (относится к внешнему уровню представления данных).
Для определения подходящего набора отношений используется метод, называемый нормализацией. Нормализация представляет собой один из вариантов восходящего подхода к проектированию БД, который начинается с установления связей между атрибутами и заканчивается созданием необходимых отношений, определяющих логическую структуру БД.
Нормализация – это метод создания набора отношения с заданными свойствами на основе требований к данным.
Нормализация часто выполняется в виде последовательности тестов, выполняемых над некоторым отношением и необходимых для проверки его соответствия требованиям заданной нормальной формы.
Основная цель нормализации заключается в минимизации избыточности данных и сокращений объема памяти, необходимого для физического хранения БД.
При наличии избыточности возникает ряд проблем, осложняющих процесс функционирования СУБД.
Рассмотрим пример (табл. 6,7):
Таблица 6 Отношение Служащий (Staff)
StaffNo |
SName |
SAddress |
Position |
Salary |
BrNo |
SL21 SG37 SG14 |
|
|
|
|
B5 B3 B7 |
Таблица 7 Отношение Отделение (Branch)
BrNo |
BAddress |
TellNo |
B5 B3 B7 |
|
|
Альтернативное представление данных с помощью одного отношения (табл.8):
Таблица 8 Отношение Служащий – Отделение (Staff - Branch)
StaffNo |
SName |
SAddress |
Position |
Salary |
BrNo |
BAddress |
TellNo |
SL21 SG37 SG14 CH2 |
|
|
|
|
B5 B3 B7 B5 |
|
|
Избыточные данные: сведения об отделении повторяются в кортежах, относящихся к каждому сотруднику.
Проблемы, возникающие при наличии избыточности в отношениях, называются аномалиями обновления и подразделяются на аномалии вставки, удаления и модификации.