Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

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

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



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

icq: 479068502
По умолчанию

Все правильно. Они разделили мух и котлеты.
Они разделили информацию касающуюся автомобиля и информацию касающуюся производителя. Путем создания справочника производителей.
А в плане сохранившейся зависимости так она присутствует в реальном мире.
Т.е. автомобиль произведенный компанией 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 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нормальная форма Бойса-Кодда papos Общие вопросы по программированию, компьютерным наукам 1 18.12.2010 23: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 14:20
Третья, Интернет программа «Время отвечать» Alar Свободное общение 1 21.11.2008 22:27


10:59.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru