Бывает ли что БД не проектируется по законам нормализации?

Модераторы: kdv, CyberMax

Ответить
dragon_art
Сообщения: 18
Зарегистрирован: 20 сен 2006, 09:18

Бывает ли что БД не проектируется по законам нормализации?

Сообщение dragon_art » 20 сен 2006, 10:38

Работаю в большом предприятии. есть парк авто различных марок, типов(самосвалы, погрузчики и т.д.), категорий(технологический, вспомогательный транспорт...), назначений, участков...

У каждого авто есть гаражный № по которому строю ключ в основной таблице. С точки зрения нормализации всё удовлетворительно, проблема в том, что как оказывается в парке гар.№№ могут меняться! А в зависимых таблицах этого не должно происходить. Т.е. если диспетчер внес рейс с путевого листа с каким-то номером, то он должен сохраниться для истории.
Другой момент: мы получаем данные о ездках авто с другой организации (ACCESS :evil: ), где часто не обновляются гар.№№.

Размер БД очень крупный (50-60 таблиц, до 100 тыс. записей). Проектировали её предшественники (INTERBASE 6.5). Когда я усторился мне было плохо! :shock: Никаких ключей! Никаких зависимостей! Что-то отдалённо напоминающее на них, были реализованы в одной единственной проге (BDE) юзаемой диспетчерами. Я по-счёту уже 5-й пограммер!

За 1,5 года работы ничего не могу поделать. Мульон заплат наштряпал. База летит по-тихоньку к чертям. Написать новое - текучка не позволяет. Как шефство требует, надо так чтобы ЭТО... работало и ещё в сети, но конфетка та совсем не получится.

Вопрос: Много ли таких несчастных, кто ковыряется в чужом... и ещё должен поддерживать в рабочем состоянии?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 20 сен 2006, 10:40

Размер БД очень крупный (50-60 таблиц, до 100 тыс. записей)
по нынешним меркам это микроскопические размеры. тем не менее, сочувствую по поводу структуры БД. бывает.

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 20 сен 2006, 13:56

Из тех что я видел - ни одна не спроектирована полностью по законам нормализации.
С твоей базой конечно "Ж". Поди все связки построены на этом самом гаражном номере? Т.е. он заместо PK?
Последний вопрос - полно. У нас таких целый отдел. Нам ещё повезло, кроме BDE и связанных заморочек ещё более-менее неплохая система. Зато без исходных кодов. Пишем библиотеками и внешними модулями. В базе уже пруд пруди структур про которые изначальная программа даже не знает.

Ответить