Форум: "Прочее";
Текущий архив: 2006.06.11;
Скачать: [xml.tar.bz2];
ВнизНу кто так проектирует БД... Найти похожие ветки
← →
Petr V. Abramov © (2006-05-11 16:50) [40]> А с чего бы? Ну не изменятся данные или не сотрутся. Ну и что.
По сравнению с ужасной демографией - фигня :) А для человека - маленькая трагедия :)
← →
Sergey13 © (2006-05-11 16:54) [41]2[40] Petr V. Abramov © (11.05.06 16:50)
> По сравнению с ужасной демографией - фигня :) А для человека - маленькая трагедия :)
8-)
Трагедией бы было если бы стерлось или поменялось что-то отличное от нужного. А так - просто маленький облом. Можно списать на "глюкавость винды". 8-)
← →
Petr V. Abramov © (2006-05-11 16:56) [42]> Трагедией бы было если бы стерлось или поменялось что-то отличное от нужного.
Это уже пахнет трагедией разработчика с админом :)
← →
Desdechado © (2006-05-11 19:48) [43]kaif © (11.05.06 15:15) [23]
> Я считаю Вас хорошим специалистом в SQL
"А в сердце лесть всегда отыщет уголок" (с) Крылов
:))
> Приведите, пожалуйста, пример таблицы с внешним ключом,
> в которой не обязательно иметь первичный ключ или иную уникальность.
Например, таблица "показатели", на которую ссылается таблица "результаты измерений". Можно туда втулить уникальность на комбинацию полей "показатель - дата", но смысла нет, ибо даты до миллисекунд.
Собственно, выше похожий пример приводили. Если это накопительная таблица, в которой никогда не удаляются и не редактируются записи, то такое вполне оправдано. Однако можно удалять пачками по диапазону дат или по показателям.
> Хорошо бы такой пример, который оправдал бы большое количество
> таких таблиц в базе (половину).
Кстати, протоколы изменения данных в таблицах могут быть такими - тоже дата и состояние записи на момент изменения. И ссылка на ключ изменяемой таблицы. А если протоколируется много таблиц, то и протоколов много.
(кстати говоря, я предпочитаю протоколирование немного другим способом, но описанный выше - вполне естественный подход).
> поясните термин "всего лишь дополнение таблицы с первичным ключом"
Например, часть атрибутов некоторой сущности хранится не в основной таблице, а, в силу редкого использования, в отдельной со ссылкой на главную. Вот и получается дополнение. Причем часто без уникальных ключей в дополнительной таблице.
← →
kaif © (2006-05-11 20:59) [44]2 Desdechado © (11.05.06 19:48) [43]
:)
Ну что же. Вы меня убедили, пожалуй. По крайней мере в отношении логов.
Остается понять, что такого может быть в таблицах турагенства.
Но это вопрос уже к автору сабжа. Хотелось бы чтобы он прояснил.
Иначе у публики сложилось впечатление, что он поверхностно подошел к вопросу вникания в то, что сделано до него.
Однако мне интуиция подсказывает (да и опыт тоже), что если у турагенства имеется сотня таблиц без первичных или каких-либо альтернативных ключей, то вряд ли это показания каких-то датчиков, а уж тем более меню обедов.
:)
← →
VictorT © (2006-05-12 11:00) [45]Вот, имею сейчас дело с БД, в которой отсутствуют первичные ключи, и какие-либо индексы вообще, и практически все поля varchar :(
← →
REA (2006-05-12 11:07) [46]2Megabyte
Поздравляю: вы тот самый негр, который будет долго и неблагодарно разгребать чужое эээ творчество (а зачем платить зарплату? - оно же и раньше работало). Постарайся расслабиться и начинать подыскивать новую работу.
← →
REA (2006-05-12 11:10) [47]PS: хорошим туристическим движком + Web можно успешно торговать, если он у тебя получится. Их по пальцам пересчитать, а контор сотни, если не тысячи.
← →
Megabyte © (2006-05-12 12:31) [48]
> REA (12.05.06 11:07) [46]
> 2MegabyteПоздравляю: вы тот самый негр, который будет долго
> и неблагодарно разгребать чужое эээ творчество (а зачем
> платить зарплату? - оно же и раньше работало). Постарайся
> расслабиться и начинать подыскивать новую работу.
Не гони. %) Имхо, полезный опыт, тем более, если смогу разобраться. ;)
По поводу кол-ва таблиц: по ходу все таки там большая часть таблиц не юзается, для старых версий. Как кто-то тут сказал, банальное разгильдяйство.
По поводу вьюх: там несколько групп вьюх с одинаковым названием, но для разных юзеров! Т.е. создавали новую вьюху для каждого юзера. И, наверное, вьюхи для пользователей, кот. уже не работают, тоже ничего не удалили.
Насчет других ключей в таблицах: уникальных, внешних. Я мало работал с Enterprise Manager"ом(в IB_Experte нашел бы сразу). Где там посмотреть и как наличие суррогатных и уникальных ключей?
← →
Desdechado © (2006-05-12 12:51) [49]Megabyte © (12.05.06 12:31) [48]
> Долго выбивал наводящими вопросами, что за СУБД и на чем написан клиент
так поделись с нами, тогда можно будет сказать
> Где там посмотреть и как наличие суррогатных и уникальных ключей
← →
kaif © (2006-05-12 13:00) [50]Видно MS SQL, судя по тому, что говорит автор.
← →
Sergey13 © (2006-05-12 13:05) [51]2[50] kaif © (12.05.06 13:00)
А я про Оракл подумал. 8-)
← →
Desdechado © (2006-05-12 13:08) [52]Sergey13 © (12.05.06 13:05) [51]
и я, про OEMC
← →
kaif © (2006-05-12 13:13) [53]Ну в Oracle Enterprise Manager Console автор нашел бы все ключи довольно быстро.
← →
Megabyte © (2006-05-12 14:19) [54]
> Desdechado © (12.05.06 12:51) [49]
> Megabyte © (12.05.06 12:31) [48]> Долго выбивал наводящими
> вопросами, что за СУБД и на чем написан клиенттак поделись
> с нами, тогда можно будет сказать
Ой, простите. Забыл совсем. %)
Конечно MSSQL. Юзаю,соответственно, SQL Server Enterprise Manager.
Клиент написан, со слов начальника техотдела, где я работаю, на C#. Но мне с ним(с клиентом) работать не придется.
← →
kaif © (2006-05-12 14:33) [55]Иногда отвечая на вопросы в форуме "Базы данных" поневоле станешь телепатом :)
← →
Сергей М. © (2006-05-12 15:58) [56]
> Megabyte © (10.05.06 14:22)
> в тур.фирму
А контора SPOLINE при этом как-то фигурирует ?
← →
Megabyte © (2006-05-12 16:03) [57]Нет.
← →
Сергей М. © (2006-05-12 16:16) [58]Если будет фигурировать хоть как-то фигурировать (http://www.spoline.ru/) - беги от них как от прокаженных.
← →
AlexWlad © (2006-05-12 18:12) [59]
> Megabyte © (12.05.06 14:19) [54]
Запусти SQL Profiler в рабочее время на часок, запиши лог и проанализируй на использование таблиц/вьюх. Неиспользованные перегони в другую базу на всякий случай. Если чо - вернешь.
← →
Megabyte © (2006-05-15 18:40) [60]
> AlexWlad © (12.05.06 18:12) [59]
> > Megabyte © (12.05.06 14:19) [54]Запусти SQL Profiler
> в рабочее время на часок, запиши лог и проанализируй на
> использование таблиц/вьюх. Неиспользованные перегони в другую
> базу на всякий случай. Если чо - вернешь.
м.б. По крайней мере это я сделаю для того, чтобы понять, какие таблицы юзаются. :)
← →
MsGuns © (2006-05-16 09:32) [61]>БД большая - 276 таблиц.
Но нафига делать View 1515, в пять раз больше, чем таблиц???
Половина таблиц не нормализована: нет первичных ключей!!!
Еще изврат: два десятка таблиц с одним полем и одной записью: норер какого-то ключа.
Очень похоже на объектную БД
← →
paul_k © (2006-05-16 10:10) [62]> А претензии можно высказать, когда уже проблемы будут
Можно и сейчас. вида "отчет ХХХ строится полчаса вместо минуты, пользователю неудобно". А начальству - "Эти козлы налажали там то и там то. Если бы они сделали малость по правильному другому то скрорость работы приложения была бы выше в ХХХ раз следовательно скорость и качество обслуживания клиентов следовательно ты шеф бабла больше огребешь на УУУ р в месяц"
> [15] Игорь Шевченко © (10.05.06 21:46)
Давить таких в зародыше вообще-то
Игорь если крик на уровене "все козлы кроме я и вааще ваш софт ....(много нелицеприятных эпитетов)" то да
А если аргументировано и по полочкам - то совсем другой разговор. Чел за фирму свою переживаеть хочеть чтоб усе работало быстро и без сбоев.
← →
Sergey13 © (2006-05-16 10:26) [63]2[62] paul_k © (16.05.06 10:10)
Я бы поостерегся так говорить, особенно не зная ДОСКОНАЛЬНО что как и почему так работает. Иначе можно налететь на АРГУМЕНТИРОВАННЫЙ ответ, что "сам козел". 8-)
← →
MsGuns © (2006-05-16 10:34) [64]>Sergey13 © (16.05.06 10:26) [63]
>Иначе можно налететь на АРГУМЕНТИРОВАННЫЙ ответ, что "сам козел". 8-)
И не говори, кум ;)
Помню, как я плевался, впервые заглянув в "потроха" абсолютно незнакомой БД (акцес), оказавшейся объектной. И как потом восторгался людьми, ее разработавшими. После того, как съездил к ним и поговорил. Они оаказались куда "продвинутее" меня ;))
← →
Megabyte © (2006-05-16 11:25) [65]
> Sergey13 © (16.05.06 10:26) [63]
> 2[62] paul_k © (16.05.06 10:10)Я бы поостерегся так говорить,
> особенно не зная ДОСКОНАЛЬНО что как и почему так работает.
> Иначе можно налететь на АРГУМЕНТИРОВАННЫЙ ответ, что "сам
> козел". 8-)
Когда проанализирую все логи, то с удовольствием пообщаюсь с разработчиками. ;) Но ни на кого наезжать сразу не буду, что мне делать нечего. Только как мне сказал начальник нашего отдела, там с отдельмыми пользователями общаются неохотно.
> paul_k © (16.05.06 10:10) [62]
> Чел за фирму свою переживаеть хочеть чтоб усе работало
> быстро и без сбоев.
Ну да. :) Просто я хочу разобраться еще, если это сделано так, то почему!
з.ы. Во многих запросах встречаю такую конструкцию: select...from... where 1=2???
Это что, такая фишка в MSSQL? Как это вообще может быть верно?
← →
paul_k © (2006-05-16 11:36) [66]> [63] Sergey13 © (16.05.06 10:26)
> [64] MsGuns © (16.05.06 10:34)
Странно, но мы с вами об одном и томже, просто разными словами.
Я о том, что не разобравшись полностью в том как устроена программка не возможно аргументировать позицию ни относительно "наезда на разработчика" ни относительно "мотивации необходимости наезда шефу"
> [65] Megabyte © (16.05.06 11:25)
> Только как мне сказал начальник нашего отдела, там с отдельмыми
> пользователями общаются неохотно
Ну это зависит от суммы техподдержки в месяц. И риска потерять оную:)
> select...from... where 1=2???
Пустой запрос буде ибо условие 1=2 не выполнится никогда. Встречал подобные конструкции там где народ кодогенераторами и шаблонами различными пользуется. Скоропалительный вывод - у разработсика собственное средство разработки.
← →
Megabyte © (2006-05-16 12:43) [67]
> Пустой запрос буде ибо условие 1=2 не выполнится никогда.
> Встречал подобные конструкции там где народ кодогенераторами
> и шаблонами различными пользуется. Скоропалительный вывод
> - у разработсика собственное средство разработки.
Встречается уж слишком часто она.
← →
Sergey13 © (2006-05-16 12:49) [68]2[65] Megabyte © (16.05.06 11:25)
>з.ы. Во многих запросах встречаю такую конструкцию: select...from... where 1=2???
Возможно, таким образом запрашивают структуру полей таблицы (зпроса).
← →
Petr V. Abramov © (2006-05-16 14:31) [69]> Sergey13 © (16.05.06 12:49) [68]
Круто.
← →
Megabyte © (2006-05-16 15:08) [70]
> Возможно, таким образом запрашивают структуру полей таблицы
> (зпроса).
Хм. Интересно.
← →
Petr V. Abramov © (2006-05-16 15:33) [71]Скорее, на клиенте нужен пустой НД с заданной структурой
← →
Третий (2006-05-16 15:36) [72]Megabyte © (16.05.06 11:25) [65]
з.ы. Во многих запросах встречаю такую конструкцию: select...from... where 1=2???
Либо, для добавления новой записи в модальном окне. При открытии окна делается запрос и сразу DataSet.insert.
← →
Sergey13 © (2006-05-16 15:37) [73]2[71] Petr V. Abramov © (16.05.06 15:33)
Может и так. Просто я встречал в форумах рассказы про динамическое постоение интерфейса - там таким образом тягали болванку набора данных.
← →
Megabyte © (2006-05-16 16:31) [74]Обнаружил еще одну интересную вещь. Есть 10 таблиц-справочников.
Все 1500 вьюх - это точная(!) копия этих справочников, только сделанная для каждого пользователя.
Наверное, это у них таким образом организован совместный доступ к справочной информации. %)))
← →
Игорь Шевченко © (2006-05-16 16:35) [75]Megabyte © (16.05.06 16:31) [74]
Тебе не кажется, что твои повествования выглядят неэтично ? Просто интересно.
← →
Guest 111 (2006-05-16 16:41) [76]
> Megabyte © (16.05.06 16:31) [74]
where 1=2
один из вариантов - это фильтр. При динамическом формировании запросов вместо этого условия подставляется заданное пользователем.
Возможно - это достаточно гибкая система, где можно насоздавать кучу справочников, связать их друг с другом и при этом это будет делаться на уровне данных, а все формы редактирования будут автоматически формироваться программно на основании метаданных. Т.е. при добавлении новой таблички не надо перекомпилировать продукт для того, чтобы был ее редактор, а достаточно внести изменения в базу.
> Все 1500 вьюх - это точная(!) копия этих справочников, только
> сделанная для каждого пользователя.
> Наверное, это у них таким образом организован совместный
> доступ к справочной информации. %)))
А про ограничение прав ничего не слышали? :) Причем построчное. Возможно так реализовано то, что директор может видеть баланс, а рядовой сотрудник - нет.
Я не знаю этой системы, но ярлыки сразу вешать не стоит :)
← →
Megabyte © (2006-05-16 16:42) [77]
> Игорь Шевченко © (16.05.06 16:35) [75]
> Megabyte © (16.05.06 16:31) [74] Тебе не кажется, что
> твои повествования выглядят неэтично ? Просто интересно.
Неэтично по отношению к чему/кому? Это разве кого-то здесь должно задевать??? Решительно вас не понимаю...
Я только рассказываю, что вижу. М.б. кто-нибудь мне подскажет что из собственного опыта.
← →
Игорь Шевченко © (2006-05-16 16:44) [78]Megabyte © (16.05.06 16:42) [77]
> М.б. кто-нибудь мне подскажет что из собственного опыта
Из собственного опыта могу сказать, что такие рассказчики обычно долго не задерживаются.
← →
Megabyte © (2006-05-16 17:11) [79]
> Игорь Шевченко © (16.05.06 16:44) [78]
Спасибо за передачу ценнейшего опыта.;)
← →
Jeer © (2006-05-16 17:11) [80]Megabyte © (16.05.06 16:42) [77]
Успеешь вещички собрать ?
Присоединяюсь к мнению Шевченко, что обсуждение потрохов коммерческого продукта очень сильно напоминает публичный реинжиниринг.
Страницы: 1 2 вся ветка
Форум: "Прочее";
Текущий архив: 2006.06.11;
Скачать: [xml.tar.bz2];
Память: 0.62 MB
Время: 0.012 c