Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.11;
Скачать: CL | DM;

Вниз

Ну кто так проектирует БД...   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.65 MB
Время: 0.053 c
2-1148290948
WebSqlNeederr
2006-05-22 13:42
2006.06.11
У меня есть поиск логинов по memo как это сделать через БД?


3-1145275914
Сергей И
2006-04-17 16:11
2006.06.11
запись из БД в EXEL


9-1131353827
Med
2005-11-07 11:57
2006.06.11
ошибка компиляции проги с компонентами GLScene


15-1148037263
koval.
2006-05-19 15:14
2006.06.11
Помогите выбрать модуль памяти DDR SDRAM


2-1148232794
Userrrr
2006-05-21 21:33
2006.06.11
можно ли управлять консольным приложением через сеть?