Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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.63 MB
Время: 0.012 c
2-1148374554
Ironman83
2006-05-23 12:55
2006.06.11
Динамическое создание TEdit ов


15-1147289111
_silver
2006-05-10 23:25
2006.06.11
Belgorod Mastak Party


2-1148658284
cardexc
2006-05-26 19:44
2006.06.11
bpl файл компонента


2-1148815472
Ntea-pot
2006-05-28 15:24
2006.06.11
описание класса


2-1148571386
AlexanderMS
2006-05-25 19:36
2006.06.11
Проблема с отображением символа Unicode.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский