|
Наверное вопрос для FAQ
|
|||
---|---|---|---|
#18+
Есть 2 таблицы : заказы и предложения. Обе кроме спец характеристик заказа и предложения там хранятся даные о клиентах. Создатель этого чуда упорно доказывает что так и должно быть. Я же убежден что необходимо вынести эти данные в таблицу клиенты как это делается во всех примерах и делать связки клиент-заказы/клиент-предложения один-ко-многим. Мне упорнейше объясняют что я лаймер и ни чего не понимаю в постороении СУБД и такая связка будет страшно _тормозить_. Не спорю - в проектировании я пока профан - но книжки читаю и уверен что в ФАК-е например по "Проектированию БД" этот вопрос попал бы в раздел "Для тех кому влом читать книжки". Далее Идиотическая проблема номер 2. Тут у меня сомнений поболе - как хранить телефоны. Их много и это поле - ключевое в отличии от имени клиента. И делать его стринговым ну никак не охота. Мне рассказывают как удобно писать в этом поле "8021178344 спросить Любу говорить что От Жени" но опять таки IMHO проще приучить оператора писать телефон в поле телефон а все остальное в поле примечания!!! Или я и тут неправ? 8( Просто зло берет - поселок у нас мелкий пиво поставить и спросить совета особо не у кого, да и инет живет вместе с телефоном только поночам 8)) Пособите плиз. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2003, 18:44 |
|
Наверное вопрос для FAQ
|
|||
---|---|---|---|
#18+
Несмотря на то, что я такой же "лаймер" только из Андреевки, мне интересно поразмышлять о структурах...Вот только сначало хотелось бы иметь краткую формулировку задачи - что там у Вас за "заказы" и "предложения" - не таблицы, а по смыслу. Хотя бы по типу того, как это сделано в Приложении к этой статье или в свободной форме. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2003, 19:17 |
|
Наверное вопрос для FAQ
|
|||
---|---|---|---|
#18+
Какие формулировки? Тут и думать нечего - клиенты всегда отдельно от всего остального. Скорость будет только больше. Поменял клиента в одном месте - везде видишь измененные данные. А создателя чуда надо за это самое чудо повесить. :) А потом утопить - он сам явно: 1. Либо только за компьютер сел 2. Либо сидит так давно и ему лет 45-55 уже, что никак не может отвыкнуть от файлсерверных технологий FoxPro 2.5 for DOS По поводу телефонов - смотря чего нужно по ним делать. Если для просто информации - пофиг как хранить. Если для чего другого - тогда стоит отдельно. Но! Все-равно поле то текстовое. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2003, 19:27 |
|
Наверное вопрос для FAQ
|
|||
---|---|---|---|
#18+
Путем дедуктивной индукции проникающего типа делаю вывод что все это безобразие происходит на новой СУБД "Космопупер-42". (неужели так сложно указать платформу разработки-то, а???...) Мне упорнейше объясняют что я лаймер и ни чего не понимаю в постороении СУБД и такая связка будет страшно _тормозить_. Это - правда. Ваша проблема №1 - проблема выбора между нормализованной моделью и ненормализованой. Нормализованные данные легче поддерживать в целостном состоянии - если данные о клиенте хранятся в ОДНОМ месте, то и менять их тоже приходится в ОДНОМ. Это плюс. Однако. Для выполнения запроса приходится делать джойны таблиц. Вообще говоря эта операция требует больше времени, чем простая выборка данных. Если джойн реализован неэффективно (что возможно), будем наблюдать тормоза. Это минус. Имхо, в вашем конкретном случае все-таки стоит сделать нормализованную модель. Небольшие тормоза как правило с лихвой компенсируются простотой и удобством работы. Проблема№2: Мне рассказывают как удобно писать в этом поле "8021178344 спросить Любу говорить что От Жени" но опять таки IMHO проще приучить оператора писать телефон в поле телефон а все остальное в поле примечания!!! Верю. Оператору - удобно. Заметьте, писать ... А не хранить . Хранить следует - телефон - отдельно, комментарий - отдельно. Если упорно хочется вводить так: "8021178344 спросить Любу говорить что От Жени", х.. с ним, считываем строку, парсим, выделяем из нее телефон, дальше - цифири - отдельно, коммент - отдельно. Ну при отображении можно поизвращаться, выводить, скажем, отформатировнный текст: "(8)-021-178-344, ПРИМ: спросить Любу говорить что От Жени" ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2003, 19:27 |
|
Наверное вопрос для FAQ
|
|||
---|---|---|---|
#18+
Опыт обостряет интуицию. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2003, 20:10 |
|
Наверное вопрос для FAQ
|
|||
---|---|---|---|
#18+
Циничный Кот Спорный вопрос, что Join будет замедлять. При увеличении длины записи в ненормализованой таблице тормоза по физическому перемещению тоже будут. tygra Таких "спецов" надо изолировать от общества и сажать на написание записных книжек. Лаймер из Чумаков Далее Идиотическая проблема номер 2. Хоть первую нормальную форму-то надо соблюдать. Данные должны быть атомарны. Телефон Предмет переговоров Содержание переговоров Кого вызвать Как представится Конечный срок исполнения Ответственный за исполнение Это не для факи вопрос. Это вопрос минимального образования. Дай-ка своим опонентам почитать Кодда и Дейту. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.06.2003, 12:51 |
|
Наверное вопрос для FAQ
|
|||
---|---|---|---|
#18+
Лаймер - то оказывается не ламер вовсе. А кое-что в разработке БД петрит. Только вот вопросы хорошо бы формулировать получше. Я с утра фраз вроде "Обе кроме спец характеристик заказа и предложения там хранятся даные о клиентах" просто не поимаю.... По сути проблемы : согласен с тигрой. Это называется нормализация-денормализация. Несмотря на то, что при определенных обстоятельствах вроде файл-серверной СУБД на 286й машине, денормализованная версия будет быстрее при чтении, она всегда будет медленнее при записи. Ибо клиента придется апдейтить ДВА раза. Возможна и другая ситуация - сущности Клиент вообще нету. Есть только набор атрибутов : адрес, телефон, итд итп. Но даже если все эти атрибуты у двух записей совпадают, мы все равно можем считать, что это два разных клиента. В таком случае вынесение клиента в отдельную таблицу в данном конкретном случае, т.е. если нет других связанных таблиц - нецелесообразно. О телефонах. Использование строки это неплохо, и даже (на MSSQL, например), ненамного медленнее, чем числа, до тех пор, пока какой-нибудь юзер не введет : "Точно не знаю, но вроде бы 555-44-22 или 21" и весь поиск протухнет. Здесь вопрос "число-не число" второстепенный. Важнее вопрос представления информации. Хорошо, конечно, в адресе иметь возможность писать "на деревню дедушке", только письмо не дойдет. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2003, 09:56 |
|
Наверное вопрос для FAQ
|
|||
---|---|---|---|
#18+
Вот, сам толком не читал, но может быть сойдет в качестве некоей квинтессенции аргументов нормализации : 13 reasons why normalized tables help your business . ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2003, 12:27 |
|
|
start [/forum/topic.php?fid=32&msg=32181713&tid=1546939]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
160ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 275ms |
0 / 0 |