Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.06.2011, 02:53   #1
lovetolaugh
Пользователь
 
Регистрация: 12.04.2011
Сообщений: 28
По умолчанию Третья нормальная форма.

Доброго времени суток.
Со второй нормальной формой более-менее разобрался. Про 3-ю читал пот эту статью:



Но ведь в таблице Manufacturers получается опять зависимость 2х атрибутов друг от друга, т.е. непонятен смысл того что они сделали... (Нет, ну понятно конечно, что они вынесли зависимые поля в отдельную таблицу, но непонятно зачем///).
Может кто-нибудь объяснит эту ересь с нормализацией?
lovetolaugh вне форума Ответить с цитированием
Старый 16.06.2011, 03:59   #2
rdama
Форумчанин
 
Аватар для rdama
 
Регистрация: 25.07.2009
Сообщений: 533
По умолчанию

Все правильно. Они разделили мух и котлеты.
Они разделили информацию касающуюся автомобиля и информацию касающуюся производителя. Путем создания справочника производителей.
А в плане сохранившейся зависимости так она присутствует в реальном мире.
Т.е. автомобиль произведенный компанией General Motors мы не можем назвать BMW это естественное ограничение.
А ты посмотри на эту задачу немного иначе.
Просто пример не совсем удачен. Все равно здесь основная задача это избавиться от дублирования информации.
Если рассмотреть вариант такого рода:
Первичная таблица Cars имеет вид:

1| General Motors | GMC | 150000
2| Bayerische Motoren Werke AG | BMW | 130000
3| General Motors | GMC | 250000
4| General Motors | GMC | 140000
5| Bayerische Motoren Werke AG | BMW | 100000
6| Bayerische Motoren Werke AG | BMW | 130000

И как видно из этого у нас происходит дублирование информации.
После выделения таблицы Manufacturers мы получим последнюю таблицу вида:

1| 1 | 150000
2| 2 | 130000
3| 1 | 250000
4| 1 | 140000
5| 2 | 100000
6| 2 | 130000

И как ты видишь в данном случае дублирование отсутствует.
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA)
rdama вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нормальная форма Бойса-Кодда papos Общие вопросы по программированию, компьютерный форум 1 18.12.2010 22:03
Третья усиленная нормальная форма. sergei64_89 Помощь студентам 38 21.06.2010 22:17
3 нормальная форма БД isida_ Microsoft Office Access 0 10.06.2010 20:27
обновление в блоге - Хуки в Windows. Часть третья. Оконные функции Pblog Обсуждение статей 1 04.01.2010 13:20
Третья, Интернет программа «Время отвечать» Alar Свободное общение 1 21.11.2008 21:27