- •Семинар 1. Основы реляционных бд. Нормализация. 11.03.2005
- •Данные хранятся в двухмерной таблице без повторяющихся групп.
- •Отношение соответствует первой нормальной форме, и все неключевые атрибуты функционально зависят от полного первичного ключа.
- •3. Третья нормальная форма
- •4. Нормальная форма Бойса-Кодда
- •5. Четвертая нормальная форма
- •Отношение соответствует нормальной форме Бойса-Кодда, и многозначных зависимостей нет.
- •6. Нормализованные отношения и производительность базы данных
- •Заключение
Данные хранятся в двухмерной таблице без повторяющихся групп.
Недостатки первой нормальной формы
orders (customer number, first name, last name, street, city, state, zip, phone, order date, item number, title, price, has shipped)
Мораль: наличие в таблице более одной сущности — это очень плохо.
Компания Bank Corporation хранит информацию о своих счетах, причем для каждого счета указывается следующее: Customer (данные о клиенте в формате Reference_Number, Name, Address, Status), Account_Number (номер счета), Balance (баланс). Счета могут быть двух типов: депозитные и текущие. Клиенты могут иметь произвольное число счетов. Номер счета (Account_Number) уникальным образом определяет счет. Несколько клиентов могут совместно использовать общий счет. Каждый клиент имеет уникальный номер (Reference_Number). Каждый счет обрабатывается одним филиалом банка. Для каждого филиала банка указывается Branch_Name (название филиала), Address (адрес), Manager (менеджер). Разные филиалы имеют различные названия.
Таблица 1. Ненормализованная база данных
Рис.4 . Сущности и их атрибуты
BRANCH
BRANCHNAME |
ADDRESS |
MANAGER_NO |
ACCNO |
BALANCE |
TYPE |
Кимры Дубна |
Осенняя, 1 Весенняя, 8 |
1768 9823 |
{120768, 678453, 348973} {987654, 745363} |
{234.56, -456.78, 12567.56} {789.65, -23.67} |
{'D’ ‘'C’’ ‘C’’} {'C’ ‘'D'} |
CUSTOMER
REFNO |
NAME |
ADDRESS |
STATUS |
ACCNO |
2345
7654 8764 |
В. Рогов
Н. Петров С. Козлов |
Катукова, 2
Конева, 4 Дубова, 6 |
Business
Domestic Business |
{120768, 348973} {987654} {745363, 678453, 348973} |
Таблица 2. Нормализованная база данных в 1NF
BRANCH
BRANCHNAME |
ADDRESS |
MANAGER_NO| |
ACCNO |
BALANCE |
TYPE |
Кимры Кимры Кимры Дубна Дубна |
Осенняя, 1 Осенняя, 1 Осенняя, 1 Весенняя, 8 Весенняя, 8
|
1768 1768 1768 9823 9823 |
120768 678453 348973 987654 745363 |
234.56 -456.78 12567.56 789.65 -23.67 |
’D’ ‘C’ ‘C’ ‘C’ ‘D' |
CUSTOMER
REFNO |
NAME |
ADDRESS |
STATUS |
ACCNO |
2345 |
В. Рогов |
Катукова,2 |
Business |
120768 |
2345 |
В. Рогов |
Катукова,2 |
Business |
348973 |
7654 |
Н. Петров |
Конева, 4 |
Domestic |
987654 |
8764 |
С. Козлов |
Дубова, 6 |
Business |
745363 |
8764 |
С. Козлов |
Дубова, 6 |
Business |
678453 |
8764 |
С. Козлов |
Дубова, 6 |
Business |
348973 |
Для устранения аномалий отношения первой нормальной формы можно разбить его так, чтобы каждой сущности отношения 1NF соответствовало одно отношение.
