|
|
|
Вопрос по нормальным формам
|
|||
|---|---|---|---|
|
#18+
Добрый день. В процессе проектирования БД для курсовой возникло несколько вопросов. Подскажите, пожалуйста: 1. Правильно ли я думаю, что, зачастую, информационная модель БД и физическая ее реализация имеют мало общего, т.е. информационная модель показывает структуру данных, физическая - их размещение и реализацию в реальной СУБД. Например, БД может быть спроектирована по всем правилам, но реализована совсем по-другому. 2. Первичные и суррогатные ключи. Всего ли обосновано использование суррогатных ключей? Да, автоинкрементные поля использовать гораздо проще, чем ключ из трех-четырех атрибутов, но есть ли случаи, когда от них следует отказаться? Спасибо за комментарии ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2011, 16:46 |
|
||
|
Вопрос по нормальным формам
|
|||
|---|---|---|---|
|
#18+
3. По нормальным формам. Использование идентифицирующих связей приводит к переносу внешних ключей в качестве частей составного ключа. Играет ли какую-нибудь роль тот факт, что ключ составной, пусть даже и состоит из других суррогатных ключей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2011, 16:56 |
|
||
|
Вопрос по нормальным формам
|
|||
|---|---|---|---|
|
#18+
Dark NeoДобрый день. В процессе проектирования БД для курсовой возникло несколько вопросов. Подскажите, пожалуйста: 1. Правильно ли я думаю, что, зачастую, информационная модель БД и физическая ее реализация имеют мало общего, т.е. информационная модель показывает структуру данных, физическая - их размещение и реализацию в реальной СУБД. Например, БД может быть спроектирована по всем правилам, но реализована совсем по-другому. 2. Первичные и суррогатные ключи. Всего ли обосновано использование суррогатных ключей? Да, автоинкрементные поля использовать гораздо проще, чем ключ из трех-четырех атрибутов, но есть ли случаи, когда от них следует отказаться? Спасибо за комментарии 1. А что вы понимаете под "реализацией в реальной СУБД"? Постраничное размещение данных чтоли? 2. Не всегда. Суррогатные ключи могут например вызывать проблемы при переносе данных из одной БД в другую - надо следить, чтобы они не дублировались, возможно поддерживать ссылочную целостность. Если имеется естественный уникальный, неизменный и достаточно компактный ключ (например какой-нибудь номер социального страхования, или код аэропорта, или например данные, привязанные к одному источнику, но с разными датами - тут идеально подходит составной ключ ИД_Источника + Дата) - зачем плодить сущности? Dark Neo3. По нормальным формам. Использование идентифицирующих связей приводит к переносу внешних ключей в качестве частей составного ключа. Играет ли какую-нибудь роль тот факт, что ключ составной, пусть даже и состоит из других суррогатных ключей? Вот сейчас не понял - о чем вопрос-то? Какую роль в чем должен играть сей факт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2011, 21:15 |
|
||
|
Вопрос по нормальным формам
|
|||
|---|---|---|---|
|
#18+
автор1. А что вы понимаете под "реализацией в реальной СУБД"? Постраничное размещение данных чтоли? Имею в виду реализацию ее в виде таблиц. Не всегда же сущности из информационной модели становятся таблицами. Возьмем, к примеру, отношение категоризации, которое хорошо описывать в модели, но можно реализовать как одной большой таблицей, так и совокупностью нескольких таблиц. автор2. Не всегда. Суррогатные ключи могут например вызывать проблемы при переносе данных из одной БД в другую - надо следить, чтобы они не дублировались, возможно поддерживать ссылочную целостность. Если имеется естественный уникальный, неизменный и достаточно компактный ключ (например какой-нибудь номер социального страхования, или код аэропорта, или например данные, привязанные к одному источнику, но с разными датами - тут идеально подходит составной ключ ИД_Источника + Дата) - зачем плодить сущности? А если естественный ключ не компактный? В реальных сущностях сложно выделить уникальный числовой ключ, чаще это несколько текстовых полей, которые, конечно, идентифицируют уникально, но в использовании неудобны. 3. По нормальным формам. Использование идентифицирующих связей приводит к переносу внешних ключей в качестве частей составного ключа. Играет ли какую-нибудь роль тот факт, что ключ составной, пусть даже и состоит из других суррогатных ключей? Вот сейчас не понял - о чем вопрос-то? Какую роль в чем должен играть сей факт? Меня научрук уже третий день донимает тем, что если есть неидентифицирующие связи, то это ниразу не третья нормальная форма. Попытки прибегнуть к разуму и литературе успеха не возымели, так как связи в данном случае к нормальной форме никакого отношения не имеют. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2011, 08:06 |
|
||
|
Вопрос по нормальным формам
|
|||
|---|---|---|---|
|
#18+
Dark Neoавтор1. А что вы понимаете под "реализацией в реальной СУБД"? Постраничное размещение данных чтоли? Имею в виду реализацию ее в виде таблиц. Не всегда же сущности из информационной модели становятся таблицами. Возьмем, к примеру, отношение категоризации, которое хорошо описывать в модели, но можно реализовать как одной большой таблицей, так и совокупностью нескольких таблиц. Вообще понятие нормализации относится именно к воплощению предметной области в качестве схемы БД. В вашем понимании - "физической реализации". Dark Neoавтор2. Не всегда. Суррогатные ключи могут например вызывать проблемы при переносе данных из одной БД в другую - надо следить, чтобы они не дублировались, возможно поддерживать ссылочную целостность. Если имеется естественный уникальный, неизменный и достаточно компактный ключ (например какой-нибудь номер социального страхования, или код аэропорта, или например данные, привязанные к одному источнику, но с разными датами - тут идеально подходит составной ключ ИД_Источника + Дата) - зачем плодить сущности? А если естественный ключ не компактный? В реальных сущностях сложно выделить уникальный числовой ключ, чаще это несколько текстовых полей, которые, конечно, идентифицируют уникально, но в использовании неудобны. Вы просили пример, когда использование суррогатного ключа нецелесообразно, я его привел. Естественно, бывают ситуации, когда оно целесообразно, вы что еще хотите услышать? Dark Neo3. По нормальным формам. Использование идентифицирующих связей приводит к переносу внешних ключей в качестве частей составного ключа. Играет ли какую-нибудь роль тот факт, что ключ составной, пусть даже и состоит из других суррогатных ключей? Вот сейчас не понял - о чем вопрос-то? Какую роль в чем должен играть сей факт? Меня научрук уже третий день донимает тем, что если есть неидентифицирующие связи, то это ниразу не третья нормальная форма. Попытки прибегнуть к разуму и литературе успеха не возымели, так как связи в данном случае к нормальной форме никакого отношения не имеют. Есть четкое формальное определение 3 НФ, а также НФ Бойса-Кодда. Проверьте выполнение требований - и будет ясно, 3НФ это или нет. О чем собственно спор-то?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2011, 09:21 |
|
||
|
Вопрос по нормальным формам
|
|||
|---|---|---|---|
|
#18+
авторВообще понятие нормализации относится именно к воплощению предметной области в качестве схемы БД. В вашем понимании - "физической реализации". Т.е. информационная модель может быть и ненормализованной? авторВы просили пример, когда использование суррогатного ключа нецелесообразно, я его привел. Естественно, бывают ситуации, когда оно целесообразно, вы что еще хотите услышать? Примером доволен, спасибо) авторЕсть четкое формальное определение 3 НФ, а также НФ Бойса-Кодда. Проверьте выполнение требований - и будет ясно, 3НФ это или нет. О чем собственно спор-то?? Не желает признать неправоту. Я уж тоже засомневался, вдруг я сам где-то очень сильно ошибся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2011, 09:30 |
|
||
|
Вопрос по нормальным формам
|
|||
|---|---|---|---|
|
#18+
Dark NeoавторВообще понятие нормализации относится именно к воплощению предметной области в качестве схемы БД. В вашем понимании - "физической реализации". Т.е. информационная модель может быть и ненормализованной? Еще раз - понятие нормализации относится к структуре данных, а не к информационной модели. Почитайте наконец теорию. Dark NeoавторЕсть четкое формальное определение 3 НФ, а также НФ Бойса-Кодда. Проверьте выполнение требований - и будет ясно, 3НФ это или нет. О чем собственно спор-то?? Не желает признать неправоту. Я уж тоже засомневался, вдруг я сам где-то очень сильно ошибся. Возьмите формальное определение и проверьте выполнение формальных требований. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2011, 09:57 |
|
||
|
Вопрос по нормальным формам
|
|||
|---|---|---|---|
|
#18+
Dark NeoДобрый день. В процессе проектирования БД для курсовой возникло несколько вопросов. Подскажите, пожалуйста: 1. Правильно ли я думаю, что, зачастую, информационная модель БД и физическая ее реализация имеют мало общего, т.е. информационная модель показывает структуру данных, физическая - их размещение и реализацию в реальной СУБД. Например, БД может быть спроектирована по всем правилам, но реализована совсем по-другому. Точнее так: 1) БД спроектирована в рамках естественной объектной модели данных. 2) БД перепроектируется в рамках используемой Вами (здесь Вы находитесь, теоретически, в безвыхордной ситуации) реляционной модели данных. 3) Реализация РМД не имеет существенного значения. Если же под "проектированием по всем правилам" Вы подразумеваете проектирование РМД, то речь идет сразу о п. 2) Dark Neo2. Первичные и суррогатные ключи. Всего ли обосновано использование суррогатных ключей? Да, автоинкрементные поля использовать гораздо проще, чем ключ из трех-четырех атрибутов, но есть ли случаи, когда от них следует отказаться? Спасибо за комментарии Ключи - это один из фундаментов Вашей безвыходной ситуации:) Они все запутывают. В нормальной модели данных используются идентификаторы экземпляров объектов, которые НЕ ЯВЛЯЮТСЯ ПРОСТО ОДНОЙ ИЗ ХАРАКТЕРИСТИК объекта, как ключи (пусть и суррогатные) в РМД. И от идентификаторов просто нельзя отказаться:) А использование уникальных характеристик (или сочетаний характеристик) определяется потребностями приложений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2011, 12:39 |
|
||
|
Вопрос по нормальным формам
|
|||
|---|---|---|---|
|
#18+
Dark Neo3. По нормальным формам. Использование идентифицирующих связей приводит к переносу внешних ключей в качестве частей составного ключа. Играет ли какую-нибудь роль тот факт, что ключ составной, пусть даже и состоит из других суррогатных ключей? В нормальной объектной модели данных есть просто связи. Никаких "идентифицирующих" или "не идентифицирующих" связей нет. В РМД, напротив, принципиально НЕ ПОДДЕРЖИВАЮТСЯ НИКАКИЕ СВЯЗИ между объектами. Похоже (по Вашим следующим сообщениям), что Ваш научрук этого не понимает:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2011, 12:42 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=61&tid=1542156]: |
0ms |
get settings: |
7ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
70ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
| others: | 230ms |
| total: | 407ms |

| 0 / 0 |
