powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Вопрос по нормальным формам
9 сообщений из 9, страница 1 из 1
Вопрос по нормальным формам
    #37273314
Dark Neo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

В процессе проектирования БД для курсовой возникло несколько вопросов. Подскажите, пожалуйста:

1. Правильно ли я думаю, что, зачастую, информационная модель БД и физическая ее реализация имеют мало общего, т.е. информационная модель показывает структуру данных, физическая - их размещение и реализацию в реальной СУБД. Например, БД может быть спроектирована по всем правилам, но реализована совсем по-другому.

2. Первичные и суррогатные ключи. Всего ли обосновано использование суррогатных ключей? Да, автоинкрементные поля использовать гораздо проще, чем ключ из трех-четырех атрибутов, но есть ли случаи, когда от них следует отказаться?

Спасибо за комментарии
...
Рейтинг: 0 / 0
Вопрос по нормальным формам
    #37273322
Dark Neo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
3. По нормальным формам. Использование идентифицирующих связей приводит к переносу внешних ключей в качестве частей составного ключа. Играет ли какую-нибудь роль тот факт, что ключ составной, пусть даже и состоит из других суррогатных ключей?
...
Рейтинг: 0 / 0
Вопрос по нормальным формам
    #37273520
iljy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dark NeoДобрый день.

В процессе проектирования БД для курсовой возникло несколько вопросов. Подскажите, пожалуйста:

1. Правильно ли я думаю, что, зачастую, информационная модель БД и физическая ее реализация имеют мало общего, т.е. информационная модель показывает структуру данных, физическая - их размещение и реализацию в реальной СУБД. Например, БД может быть спроектирована по всем правилам, но реализована совсем по-другому.

2. Первичные и суррогатные ключи. Всего ли обосновано использование суррогатных ключей? Да, автоинкрементные поля использовать гораздо проще, чем ключ из трех-четырех атрибутов, но есть ли случаи, когда от них следует отказаться?

Спасибо за комментарии
1. А что вы понимаете под "реализацией в реальной СУБД"? Постраничное размещение данных чтоли?
2. Не всегда. Суррогатные ключи могут например вызывать проблемы при переносе данных из одной БД в другую - надо следить, чтобы они не дублировались, возможно поддерживать ссылочную целостность. Если имеется естественный уникальный, неизменный и достаточно компактный ключ (например какой-нибудь номер социального страхования, или код аэропорта, или например данные, привязанные к одному источнику, но с разными датами - тут идеально подходит составной ключ ИД_Источника + Дата) - зачем плодить сущности?
Dark Neo3. По нормальным формам. Использование идентифицирующих связей приводит к переносу внешних ключей в качестве частей составного ключа. Играет ли какую-нибудь роль тот факт, что ключ составной, пусть даже и состоит из других суррогатных ключей?
Вот сейчас не понял - о чем вопрос-то? Какую роль в чем должен играть сей факт?
...
Рейтинг: 0 / 0
Вопрос по нормальным формам
    #37273765
Dark Neo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автор1. А что вы понимаете под "реализацией в реальной СУБД"? Постраничное размещение данных чтоли?

Имею в виду реализацию ее в виде таблиц. Не всегда же сущности из информационной модели становятся таблицами. Возьмем, к примеру, отношение категоризации, которое хорошо описывать в модели, но можно реализовать как одной большой таблицей, так и совокупностью нескольких таблиц.

автор2. Не всегда. Суррогатные ключи могут например вызывать проблемы при переносе данных из одной БД в другую - надо следить, чтобы они не дублировались, возможно поддерживать ссылочную целостность. Если имеется естественный уникальный, неизменный и достаточно компактный ключ (например какой-нибудь номер социального страхования, или код аэропорта, или например данные, привязанные к одному источнику, но с разными датами - тут идеально подходит составной ключ ИД_Источника + Дата) - зачем плодить сущности?

А если естественный ключ не компактный? В реальных сущностях сложно выделить уникальный числовой ключ, чаще это несколько текстовых полей, которые, конечно, идентифицируют уникально, но в использовании неудобны.

3. По нормальным формам. Использование идентифицирующих связей приводит к переносу внешних ключей в качестве частей составного ключа. Играет ли какую-нибудь роль тот факт, что ключ составной, пусть даже и состоит из других суррогатных ключей?
Вот сейчас не понял - о чем вопрос-то? Какую роль в чем должен играть сей факт?

Меня научрук уже третий день донимает тем, что если есть неидентифицирующие связи, то это ниразу не третья нормальная форма. Попытки прибегнуть к разуму и литературе успеха не возымели, так как связи в данном случае к нормальной форме никакого отношения не имеют.
...
Рейтинг: 0 / 0
Вопрос по нормальным формам
    #37273830
iljy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dark Neoавтор1. А что вы понимаете под "реализацией в реальной СУБД"? Постраничное размещение данных чтоли?

Имею в виду реализацию ее в виде таблиц. Не всегда же сущности из информационной модели становятся таблицами. Возьмем, к примеру, отношение категоризации, которое хорошо описывать в модели, но можно реализовать как одной большой таблицей, так и совокупностью нескольких таблиц.
Вообще понятие нормализации относится именно к воплощению предметной области в качестве схемы БД. В вашем понимании - "физической реализации".
Dark Neoавтор2. Не всегда. Суррогатные ключи могут например вызывать проблемы при переносе данных из одной БД в другую - надо следить, чтобы они не дублировались, возможно поддерживать ссылочную целостность. Если имеется естественный уникальный, неизменный и достаточно компактный ключ (например какой-нибудь номер социального страхования, или код аэропорта, или например данные, привязанные к одному источнику, но с разными датами - тут идеально подходит составной ключ ИД_Источника + Дата) - зачем плодить сущности?

А если естественный ключ не компактный? В реальных сущностях сложно выделить уникальный числовой ключ, чаще это несколько текстовых полей, которые, конечно, идентифицируют уникально, но в использовании неудобны.
Вы просили пример, когда использование суррогатного ключа нецелесообразно, я его привел. Естественно, бывают ситуации, когда оно целесообразно, вы что еще хотите услышать?
Dark Neo3. По нормальным формам. Использование идентифицирующих связей приводит к переносу внешних ключей в качестве частей составного ключа. Играет ли какую-нибудь роль тот факт, что ключ составной, пусть даже и состоит из других суррогатных ключей?
Вот сейчас не понял - о чем вопрос-то? Какую роль в чем должен играть сей факт?

Меня научрук уже третий день донимает тем, что если есть неидентифицирующие связи, то это ниразу не третья нормальная форма. Попытки прибегнуть к разуму и литературе успеха не возымели, так как связи в данном случае к нормальной форме никакого отношения не имеют.
Есть четкое формальное определение 3 НФ, а также НФ Бойса-Кодда. Проверьте выполнение требований - и будет ясно, 3НФ это или нет. О чем собственно спор-то??
...
Рейтинг: 0 / 0
Вопрос по нормальным формам
    #37273843
Dark Neo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторВообще понятие нормализации относится именно к воплощению предметной области в качестве схемы БД. В вашем понимании - "физической реализации".

Т.е. информационная модель может быть и ненормализованной?

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

Примером доволен, спасибо)

авторЕсть четкое формальное определение 3 НФ, а также НФ Бойса-Кодда. Проверьте выполнение требований - и будет ясно, 3НФ это или нет. О чем собственно спор-то??

Не желает признать неправоту. Я уж тоже засомневался, вдруг я сам где-то очень сильно ошибся.
...
Рейтинг: 0 / 0
Вопрос по нормальным формам
    #37273873
iljy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dark NeoавторВообще понятие нормализации относится именно к воплощению предметной области в качестве схемы БД. В вашем понимании - "физической реализации".

Т.е. информационная модель может быть и ненормализованной?
Еще раз - понятие нормализации относится к структуре данных, а не к информационной модели. Почитайте наконец теорию.


Dark NeoавторЕсть четкое формальное определение 3 НФ, а также НФ Бойса-Кодда. Проверьте выполнение требований - и будет ясно, 3НФ это или нет. О чем собственно спор-то??

Не желает признать неправоту. Я уж тоже засомневался, вдруг я сам где-то очень сильно ошибся.
Возьмите формальное определение и проверьте выполнение формальных требований.
...
Рейтинг: 0 / 0
Вопрос по нормальным формам
    #37274232
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dark NeoДобрый день.

В процессе проектирования БД для курсовой возникло несколько вопросов. Подскажите, пожалуйста:

1. Правильно ли я думаю, что, зачастую, информационная модель БД и физическая ее реализация имеют мало общего, т.е. информационная модель показывает структуру данных, физическая - их размещение и реализацию в реальной СУБД. Например, БД может быть спроектирована по всем правилам, но реализована совсем по-другому.

Точнее так:
1) БД спроектирована в рамках естественной объектной модели данных.
2) БД перепроектируется в рамках используемой Вами (здесь Вы находитесь, теоретически, в безвыхордной ситуации) реляционной модели данных.
3) Реализация РМД не имеет существенного значения.

Если же под "проектированием по всем правилам" Вы подразумеваете проектирование РМД, то речь идет сразу о п. 2)

Dark Neo2. Первичные и суррогатные ключи. Всего ли обосновано использование суррогатных ключей? Да, автоинкрементные поля использовать гораздо проще, чем ключ из трех-четырех атрибутов, но есть ли случаи, когда от них следует отказаться?
Спасибо за комментарии

Ключи - это один из фундаментов Вашей безвыходной ситуации:) Они все запутывают. В нормальной модели данных используются идентификаторы экземпляров объектов, которые НЕ ЯВЛЯЮТСЯ ПРОСТО ОДНОЙ ИЗ ХАРАКТЕРИСТИК объекта, как ключи (пусть и суррогатные) в РМД. И от идентификаторов просто нельзя отказаться:) А использование уникальных характеристик (или сочетаний характеристик) определяется потребностями приложений.
...
Рейтинг: 0 / 0
Вопрос по нормальным формам
    #37274244
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dark Neo3. По нормальным формам. Использование идентифицирующих связей приводит к переносу внешних ключей в качестве частей составного ключа. Играет ли какую-нибудь роль тот факт, что ключ составной, пусть даже и состоит из других суррогатных ключей?
В нормальной объектной модели данных есть просто связи. Никаких "идентифицирующих" или "не идентифицирующих" связей нет.
В РМД, напротив, принципиально НЕ ПОДДЕРЖИВАЮТСЯ НИКАКИЕ СВЯЗИ между объектами. Похоже (по Вашим следующим сообщениям), что Ваш научрук этого не понимает:)
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Вопрос по нормальным формам
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]