Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Споры о первичном ключе / 25 сообщений из 165, страница 1 из 7
19.04.2005, 10:47
    #33022555
Frankie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Споры о первичном ключе
В последнее время обострился спор с начальником насчёт следующего вопроса.

Он считает, что первичным ключом таблицы (естественно речь идёт только о суррогатном ключе) должно быть поле, в идеале integer, auto_increment, не использующееся иначе как для связей таблиц.

Я считаю, что допустимо строить первичный ключ с возможностью хранения какой-то ещё характерной информации. Так я делал БД по хранению результатов автогонок. Первичный ключ был столбцом, содержащим год, номер этапа, строку результата. Например 19780603 говорил о третьем результате на шестом этапе сезона 1978 года. Таким образом, как мне кажется, я повышаю целостность таблицы и экономлю место.

Более общие разногласия сводятся к использованию LIKE. Я не вижу в этом чего-то предосудительного, тогда как мой начальник считает, что это не только отрицательно отражается на производительности но и содержит опасность потенциальной ошибки. Возможно дело в том, что он работает с известным своей убогостью MySQL, а я "вырос" на MSSQLServer2000. Я привык использовать язык SQL широко: вводить переменные, строить условия, возможно циклы. Не представляю себе жизнь без представлений и хранимых процедур. Мне интересно ваше мнение по этой проблеме.

Если этот вопрос уже где-то обсуждался, дайте ссылочку.
С Уважением.
...
Рейтинг: 0 / 0
19.04.2005, 10:56
    #33022589
Серега
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Споры о первичном ключе
FrankieВ последнее время обострился спор с начальником насчёт следующего вопроса.
Это весеннее обострение. Пройдет. До осени.

FrankieБолее общие разногласия сводятся к использованию LIKE. Я не вижу в этом чего-то предосудительного, тогда как мой начальник считает, что это не только отрицательно отражается на производительности но и содержит опасность потенциальной ошибки.
Я тут скорее на стороне начальника. Не то что бы совсем нельзя, но только в том случае, когда без него никак.
...
Рейтинг: 0 / 0
19.04.2005, 11:22
    #33022649
Never
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Споры о первичном ключе
Твой начальник прав.
...
Рейтинг: 0 / 0
19.04.2005, 11:22
    #33022650
Shtock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Споры о первичном ключе
Предлагаю не использовать в таблицах столбцов больше одного строкового типа и в нем хранить сразу же всю информацию.Пример таблицы:
create table SqlRuTopic
(
Topic varchar2(4000);
)
Само собой Topic- первичный ключ.
Значения:
Все форумы/Проектирование БДShtockRe:Споры о первичном ключе<далее текст сообщения>

Места сэкономили, блин, и работу облегчили. А производительность - на высоте.......
...
Рейтинг: 0 / 0
19.04.2005, 11:26
    #33022658
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Споры о первичном ключе
FrankieОн считает, что первичным ключом таблицы (естественно речь идёт только о суррогатном ключе)

Я считаю, что допустимо строить первичный ключ с возможностью хранения какой-то ещё характерной информации.
Для начала стоит таки решить - ключ суррогатный или хранение еще какой-то информации. Берете любую ссылку "естественные и суррогатные ключи" и находите полный спектр мнений по этому поводу. Лично мое:

- Во-первых, бездумное нарушение первой нормальной формы (которое Вы предлагаете) - не лучшая мысль. Тем более что вычисляемые поля MSSQL, вроде бы позволяющие цивильно работать с такими данными, на самом деле этого не позволяют (они позволяют только получать цивильные данные, но не записывать их обратно). Если идти этим путем - надо делать updateable view. Но для начала надо иметь хороший ответ на вопрос - зачем этот геморрой.

- Во-вторых, естественные ключи оправданы только в отдельных случаях при соблюдении достаточно жестких требований. У Вас наблюдается несколько легкомысленный подход.

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

P.S. Самое интересное, что только вчера объяснял это же довольно опытному MSSQL-щику. Может, конечно, он решил со мной не спорить, но почти сразу согласился.
...
Рейтинг: 0 / 0
19.04.2005, 11:32
    #33022671
Витал
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Споры о первичном ключе
softwarerP.S. Самое интересное, что только вчера объяснял это же довольно опытному MSSQL-щику. Может, конечно, он решил со мной не спорить, но почти сразу согласился.

Дык! Небось это Фрэнки (нштейн) и есть! ;)
...
Рейтинг: 0 / 0
19.04.2005, 11:43
    #33022700
Frankie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Споры о первичном ключе
ShtockПредлагаю не использовать в таблицах столбцов больше одного строкового типа и в нем хранить сразу же всю информацию........
Он тоже вчера это мне говорил. Я же не анархист. Просто считаю возможность использовать технологии шире, чем это предполагается.

softwarerДля начала стоит таки решить - ключ суррогатный или хранение еще какой-то информации
И то и другое. Он, безусловно, остаётся целочисленным, однако строится по некоторым правилам, позволяющим хранить ещё какую-то информацию.

softwarerбездумное нарушение первой нормальной формы (которое Вы предлагаете) - не лучшая мысль
С точки зрения сервера никакого нарушения нет. Я же не предлагаю делать как говорил Shtock.

softwarerНо для начала надо иметь хороший ответ на вопрос - зачем этот геморрой.
Говоря о примере с результатами гонок - ответ очевиден! Если использовать обыкновенный ключ, придётся добавить ещё два столбца, причём столбец 'year' будет иметь всего-то около 50 различных значений на 15000 записей. А столбец 'round' (1978 06 03) вообще меньше 20! В процессе разработки приложения по генерации статистики на основе такой таблицы я был очень доволен тем, что нужно гнать только один столбец, к тому же элементарно расщепляемый, вместо трёх.
...
Рейтинг: 0 / 0
19.04.2005, 11:45
    #33022707
Frankie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Споры о первичном ключе
Витал softwarerP.S. Самое интересное, что только вчера объяснял это же довольно опытному MSSQL-щику. Может, конечно, он решил со мной не спорить, но почти сразу согласился.

Дык! Небось это Фрэнки (нштейн) и есть! ;)

Я не "опытный MSSQL-щик" а всего лишь самоучка. У меня нечаяно оказалась отличная книга... так всё и началось.
...
Рейтинг: 0 / 0
19.04.2005, 12:13
    #33022730
9
9
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Споры о первичном ключе
автор
Таким образом, как мне кажется, я повышаю целостность таблицы и экономлю место.


Можно узнать сколько места ты сэкономил? Сколько стоит это сэкономленное место?
...
Рейтинг: 0 / 0
19.04.2005, 12:20
    #33022741
Frankie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Споры о первичном ключе
9Можно узнать сколько места ты сэкономил? Сколько стоит это сэкономленное место?
Сколько в байтах сказать не могу - надо пробовать на конкретных mdf-фалйах. Вот прям на 100% сказать что занимает больше: 2 стобца int(2) или 1 int(4) не могу, но думаю, что первое. Тем более с кучей записей. А насчёт стоимости - да так намного легче работать с данными. Поэтому оно не "стоит", а "даёт".
...
Рейтинг: 0 / 0
19.04.2005, 12:33
    #33022778
9
9
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Споры о первичном ключе
я к тому, что сейчас 80 Гиг стоит примерно 80$. т.е 1Гиг стоит 1 доллар!

Сегодня разговоры о экономии места потеряли свою прежнюю актуальность.
...
Рейтинг: 0 / 0
19.04.2005, 12:36
    #33022787
Shtock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Споры о первичном ключе
Вы используете не технологию "шире", а ищете себе геморой. Подумайте о редактировании и о том, как будете парсить Ваш ключ для составления отчетности.
...
Рейтинг: 0 / 0
19.04.2005, 12:41
    #33022807
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Споры о первичном ключе
FrankieОн тоже вчера это мне говорил. Я же не анархист. Просто считаю возможность использовать технологии шире, чем это предполагается.
:) Как Вам сказать... "использовать технологию шире, чем предполагается" можно в двух случаях: либо благодаря врожденной гениальности, либо благодаря недостатку знаний. Обычно с ростом знаний понимаешь, как мало знал про возможности использования технологии.

Frankie softwarerДля начала стоит таки решить - ключ суррогатный или хранение еще какой-то информации
И то и другое. Он, безусловно, остаётся целочисленным, однако строится по некоторым правилам, позволяющим хранить ещё какую-то информацию.
Это, простите, в музей юмора. Сходите в гугль и почитайте, что такое суррогатный ключ.

Frankie softwarerбездумное нарушение первой нормальной формы (которое Вы предлагаете) - не лучшая мысль
С точки зрения сервера никакого нарушения нет. Я же не предлагаю делать как говорил Shtock.
Это, простите, также в музей юмора. Во-первых, точка зрения сервера не имеет ни малейшего отношения к 1НФ. А во-вторых, Вы именно это и предлагаете - Shtock только проиллюстрировал подход более ярким примером.

Frankie softwarerНо для начала надо иметь хороший ответ на вопрос - зачем этот геморрой.
Говоря о примере с результатами гонок - ответ очевиден!
Одна из моих любимых цитат, принадлежит моему другу: "Если попробовать доказать очевидный факт - он часто оказывается вовсе не очевидным. А иногда - вовсе не фактом".

Frankie Если использовать обыкновенный ключ, придётся добавить ещё два столбца,
Это, безусловно, страшно. Теоретикам нормализации, построенной на добавлении столбцов, уготовано место в геенне огненной, не иначе :)

Опять-таки один из моих любимых авторов написал по подобному поводу примерно так: "некоторые программисты считают, что мировой запас скобок жестко ограничен, и применять их следует только если без них совсем нельзя обойтись".

Frankie причём столбец 'year' будет иметь всего-то около 50 различных значений на 15000 записей.
И чем это страшно? Неселективностью индекса по этому полю? В первую очередь стоит отметить, что про селективность на 15.000 записей вообще вряд ли стоит говорить; во-вторых - те же самые числа, упакованные а-ля селедка в бочке, безусловно, станут куда селективнее.

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

Код: plaintext
1.
select year, round from table

вместо

Код: plaintext
1.
2.
3.
4.
5.
select 
  cast (substr (somehorrorvalue,  15 ,  4 ) as integer) year,
  cast (substr (somehorrorvalue,  22 ,  2 ) as integer) round
from
  table

Более того, я совершенно уверен, что когда Вы перейдете от 15.000 записей к 15.000.000 - сервер также будет крайне доволен возможностью сосредоточиться на эффективности (например, использовании bitmap index), а не на идиотских операциях выковыривания данных, ранее вковырнутых в категорически не приспособленную для использования структуру.
...
Рейтинг: 0 / 0
19.04.2005, 12:43
    #33022814
prof79
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Споры о первичном ключе
Frankie
softwarerДля начала стоит таки решить - ключ суррогатный или хранение еще какой-то информации
И то и другое. Он, безусловно, остаётся целочисленным, однако строится по некоторым правилам, позволяющим хранить ещё какую-то информацию.
А если вдруг правила хранения информации изменятся? Возьмем пример: допустим есть некая БД учета продажи/покупки билетов. В ней есть "центровая" таблица "билеты" с первичным ключем по номеру билета(int), на который ссылается полбазы. А через 5 лет после внедрения БД какой-то умник решил что неплохо было бы к номеру билета добавлят еще и букву - например первубю букву фамилии кассира, продавшего билет.
Вопрос на засыпку: сколько времени потребуется на переделку базы? Вы конечно можете считать этот пример надуманным... но я думаю "атцы" могут привести множество реальных примеров на эту тему.
Frankie
softwarerбездумное нарушение первой нормальной формы (которое Вы предлагаете) - не лучшая мысль
С точки зрения сервера никакого нарушения нет. Я же не предлагаю делать как говорил Shtock.
Если мне не изменяет память 1 НФ утверждает приблизительно следующее:
"Схема отношений R находится в первой нормальной форме. Тогда и только тогда, когда все входящие атрибуты являются атомарными." А Вы предлагаете хранить несколько атомарных значений(год, результат, этап) в одном поле. Что противоречит 1НФ.
Frankie
softwarerНо для начала надо иметь хороший ответ на вопрос - зачем этот геморрой.
Говоря о примере с результатами гонок - ответ очевиден! Если использовать обыкновенный ключ, придётся добавить ещё два столбца, причём столбец 'year' будет иметь всего-то около 50 различных значений на 15000 записей. А столбец 'round' (1978 06 03) вообще меньше 20! В процессе разработки приложения по генерации статистики на основе такой таблицы я был очень доволен тем, что нужно гнать только один столбец, к тому же элементарно расщепляемый, вместо трёх.
1. Не экономтьте на спичках. Пусть введение суррогатного ключа заберет у вас пару мегабайт на диске. Это сколько-нибудь значимая цифра? По поводу разбиения столбца на атомарные: разбивать необходимо. Кол-во байт переданных по сети останется приблизительно тем же. А запросы типа "сколько было этапов в 1850 году, каковы средние х-ки 5-го этапа в годах с 1920 по 1990" будут работать гораздо быстрее (никаких like-ов).
...
Рейтинг: 0 / 0
19.04.2005, 12:54
    #33022873
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Споры о первичном ключе
FrankieСколько в байтах сказать не могу - надо пробовать на конкретных mdf-фалйах. Вот прям на 100% сказать что занимает больше: 2 стобца int(2) или 1 int(4) не могу,
Кстати, очень несложно проверить.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
SQL> create table num4 (f1 number( 4 )) storage (initial 8K next 8K);

Table created.

SQL> create table num2x2 (f1 number( 2 ), f2 number( 2 )) storage (initial 8K next 8K);

Table created.

SQL> insert into num4 select  9999  from dba_objects where rownum<= 50000 ;

 50000  rows created.

SQL> insert into num2x2 select  99 ,  99  from dba_objects where rownum<= 50000 ;

 50000  rows created.

SQL> column segment_name format a15
SQL> select segment_name, bytes from dba_segments where segment_name in ('NUM4', 'NUM2X2');

SEGMENT_NAME         BYTES                                                      
--------------- ----------                                                      
NUM4                 720896                                                       
NUM2X2               720896                                                       
...
Рейтинг: 0 / 0
19.04.2005, 13:45
    #33023057
Bol
Bol
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Споры о первичном ключе
Голосуем!
№1 Начальник всегда прав...
№2 Если он не прав, см. п.№1.
...
Рейтинг: 0 / 0
19.04.2005, 13:46
    #33023062
Frankie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Споры о первичном ключе
ShtockВы используете не технологию "шире", а ищете себе геморой. Подумайте о редактировании и о том, как будете парсить Ваш ключ для составления отчетности.
О какой именно отчётности идёт речь?

softwarerЭто, простите, в музей юмора. Сходите в гугль и почитайте, что такое суррогатный ключ.
Я знаю, что это такое. Если бы я говорил о естественном, то сразу бы сделал 3 столбца и определил их ключевыми.

softwarerЭто, простите, также в музей юмора. Во-первых, точка зрения сервера не имеет ни малейшего отношения к 1НФ. А во-вторых, Вы именно это и предлагаете - Shtock только проиллюстрировал подход более ярким примером.
"точка зрения сервера" означает сохраность уникальности значений столбца. Данное поле анализируется только когда это необходимо. Shtock привёл крайность, я же прекрасно понимаю, что стоит за таким применением. Объединение столбцов в моём примере как нельзя логично. Возможно кончено что это "единичный случай", но он имеет место.

softwarerЭто, безусловно, страшно. Теоретикам нормализации, построенной на добавлении столбцов, уготовано место в геенне огненной, не иначе :)
Не надо путать добавление столбцов в таблицу с заменой значений столбца на ключ и создания связанной таблицы 5НФ. Я говорю о том, что бывают случаи, когда бессмысленно расщеплять стобцы. Кстати будет ответить Shtock'у следующим: "давайте сразу создавать таблицы с огромным числом столбцов длины, скажем, 3. Конкатенация это же так просто!"

softwarerОпять-таки один из моих любимых авторов написал по подобному поводу примерно так: "некоторые программисты считают, что мировой запас скобок жестко ограничен, и применять их следует только если без них совсем нельзя обойтись".
Пример хороший, но он скорее к аккуратности кода, повышению его читаемости. Я напрмер ставлю скобки (тут же, полагаю, будут и begin...end;) именно если без них нельзя обойтись.

По поводу "выковыривания данных". Во-первых, на основе такой таблицы создаётся представление, в котором ключ расщеплён. Во-вторых, "выковыриванием" занимается чаще всего приложение, где это сделать совсем уж не проблема.

И ещё. 15,000 записей - это вся Формула-1 за 55 полных сезонов. Так что 15,000,000 даже для чемпионата NASCAR, где проводилось в среднем по 40 этапов с 40 участниками на каждом, 1 миллион, не то что 15 - это за гранью разумного.

prof79А если вдруг правила хранения информации изменятся?
Не изменятся. Пока проводится чемпионат, он всегда будет проводится раз в год, в пределах этого года будут этапы (число которых уж точно не перевалит за 99), на которых будут показаны результаты (их число равно числу участников, которых также не бывает и близко к 99. По поводу предметной области можете мне поверить :) ). Если предполагается возможность изменения хранения конечно так делать нельзя!

prof79Если мне не изменяет память 1 НФ утверждает приблизительно следующее:
"Схема отношений R находится в первой нормальной форме. Тогда и только тогда, когда все входящие атрибуты являются атомарными." А Вы предлагаете хранить несколько атомарных значений(год, результат, этап) в одном поле. Что противоречит 1НФ.

Понимаете ли в чём тут дело... Отойдём от первичного ключа. Я долго размышлял над вопросом: вот есть гонщик - "имя фамилия". Но ведь можно расщепить на имя+фамилия? Что это даст? Я пришёл к выводу, что это усложнит выборку, т.к. на каждом шагу придётся соединять эти два столбца. Кроме того, имя и фамилия совершенно очевидно (и это во всех записях) разделены пробелом, поэтому достать при необходимости что-либо проблем не составит. Так и с ключом - где-то расщепляется, а где-то и нет. Есть ведь представления...

2 softwarer, О размере - Спасибо, буду знать...

Скажу ещё кое-что. Раз для всех вас мой спобос - грубая, явная ошибка, то остаётся ещё раз удивится недалёкости наших преподавателей. Ведь эта система является, ни много ни мало, моим бакалаврским дипломом, на отлично защищённым ;)
...
Рейтинг: 0 / 0
19.04.2005, 13:47
    #33023071
Frankie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Споры о первичном ключе
BolГолосуем!
№1 Начальник всегда прав...
№2 Если он не прав, см. п.№1.
У меня нормальный начальник. С ним можно и нужно вести здоровые дискуссии.
...
Рейтинг: 0 / 0
19.04.2005, 13:57
    #33023106
funikovyuri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Споры о первичном ключе
Ваш начальник прав
...
Рейтинг: 0 / 0
19.04.2005, 14:10
    #33023162
Shtock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Споры о первичном ключе
Пример отчетности: да самое простое - Выбрать какие были результаты у команды А в 1997 году. Будете туеву хучу преобразований делать со всеми вытекающими.
По поводу преподавателей и бакалавриата - imho российкие бакалавры - очередная пофанация в целях закоса под запад.У нас еще была возможность выбрать между инженером и бакалавром. Я выбрал инженера, а бакалавры дурью под названием научная работа маялись еще полгода, но знаний больше не получили.Теперь говорят, что инженеров переименуют в прикладных бакалавров.
P.S. softwarer уже показал пример запроса.
...
Рейтинг: 0 / 0
19.04.2005, 14:27
    #33023221
Frankie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Споры о первичном ключе
ShtockПример отчетности: да самое простое - Выбрать какие были результаты у команды А в 1997 году.
Эх, не хотел углубляться в предметную область.... видимо придётся. Понимаете ли, что такое "результаты?" В гонках, как пожалуй ни в каком другом виде спорта, можно строить отчёты по таким мудрёным показателям, что даже в голове не укладывается. Так что без разъяснения "результатов" ничего, ровным счётом, сказать нельзя.

ShtockПо поводу преподавателей и бакалавриата....У нас еще была возможность выбрать между инженером и бакалавром.
Не, мы выбирали между инженером и магистром, а бакалавриат - это первые 4 года обучения. Все вместе. А дальше уже либо инженер - полгода учиться + полгода диплом писать (что вообще смешно с нашим уровнем дипломов, подавляющее большинство которых какие-то жалкие системы документооборота в Access, где даже VBA мининум), либо магистр - 2 года обучения (правда только 2-3 дня в институт ходишь), параллельно пишешь диссертацию. Ну я вот пошёл в магистратуру. Хотя основное время уделяю работе.
...
Рейтинг: 0 / 0
19.04.2005, 14:29
    #33023233
CruelGenius
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Споры о первичном ключе
Если не ошибаюсь , многие SQL серверы очень рады когда им подсовывают ID integer not null primary key и сразу автоматически строют по нему индекс. Так что в первую очередь надо спросить у сервера, и соответствие 1нф, а потом уже спорить с начальником. А вдруг он в натуре прав?
Глядишь премию выпишет....
...
Рейтинг: 0 / 0
19.04.2005, 15:14
    #33023425
mir
mir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Споры о первичном ключе
FrankieЯ долго размышлял над вопросом: вот есть гонщик - "имя фамилия". Но ведь можно расщепить на имя+фамилия? Что это даст?Вопросо, безусловно, интересный, но подошли вы к ответу неверно. Атомарнось атрибутов - понятие не абсолютное, а относительное. То есть для одной системы ФИО атомарен, для другой нет. Для одной системы понятие "адрес" атомарно, для другой нет. Критерий состоит в том, какие операции предполагается выполнять над данными. Если система заведомо выполняет над атрибутом только операции типа сравнения (= <> < > <= >=), он может быть атомарным. Если хотя бы в потенциале возможны операции над частью атрибута, он не атомарен.

В вашем случае критерий срабатывает четко. Вы заведомо будуте выполнять операции над частью значения атрибута. Значит, вы неверно спроектировали БД. У вас нарушение 1НФ.

Вообще, если в запросах часто встречается LIKE, причем это предопределенные запросы , почти 100% - БД спроектирована неверно.
...
Рейтинг: 0 / 0
19.04.2005, 15:17
    #33023431
VoDA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Споры о первичном ключе
Читаем по НФ!!!
Вникаем...
Читем почему НФ лучше не НФ (для РСУБД конечно).
Вникаем...
Оцениваем аргументы свои и начальства с новых позиций.

ЗЫ 2 Frankie
Frankie
Я не "опытный MSSQL-щик" а всего лишь самоучка. У меня нечаяно оказалась отличная книга... так всё и началось.Главное теперь найти другую ОТЛИЧНУЮ КНИГУ и продолжать изучать ТЕОРИЮ и практику.

ЗЗЫ все ИМХО.
...
Рейтинг: 0 / 0
19.04.2005, 15:26
    #33023463
Frankie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Споры о первичном ключе
mir Если хотя бы в потенциале возможны операции над частью атрибута, он не атомарен.
Даже если всего 1-2 раза? Вы утверждаете, что необходимо расщеплять, если есть вероятность использования части значения столбца?

mirВообще, если в запросах часто встречается LIKE, причем это предопределенные запросы , почти 100% - БД спроектирована неверно.
Что такое предопределенные запросы? Те, которые очевидны на этапе проектирования? И почему LIKE это неверно? Не согласен, LIKE - мощная штука, глупо её игнорировать.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Споры о первичном ключе / 25 сообщений из 165, страница 1 из 7
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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