powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / эти кривые базы данных...
49 сообщений из 49, показаны все 2 страниц
эти кривые базы данных...
    #32351758
Злой Хорёк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочу открыть новую тему о сравнении баз, но в необычных условиях т.е. когда у разработчика были кривые руки. Приведу пример всем известной компании или предприятия, для живущих в Москве, интенсивно использующего Оракл и жутко ругающегося на эту систему. Опишу несколько стандартных ситуаций.
1. Система непрерывно имеет проблемы с rollback сегментами. Транзакций много, пиковая нагрузка может достигать нескольких тысяч в секунду. Транзакции небольшие. Но ребята используют около 10 роллбеков. Поэтому имеют непрерывные на snapshot too old когда пытаются делать отчеты. Всю жизнь знал, что больше 4 транзакций на rollback низьзя. Ну, Оракл так рекомендует.
2. Другой цирк, проверка на уникальность там поддерживается на уровне приложения. Делаем запрос на таблицу о существовании подобной записи. Это их начальник где-то прочитал, что PK значительно замедляет работу приложения. Честно говоря не знал
3. Жуткие жалобы на тормознутость Оракла. Когда я спросил их админа - сисадмина (DBA не держат по причине ненадобности, зряплату ему надо платить), который устанавливал Ораклы о настройке производительности. Он мне ответил весьма круто, а что там настраивать? Прочитал документацию за 2-3 часа, выставил параметры для Shared Pool и все. О как!!!
4. Система жутко ненадежная абзац какой-то. У них грохнулся винт. Ну а так как они держали все control file на этом винте то база работать дальше не захотела. Поэтому пришлось поднять архив двухнедельной давности. Ну естественно, жуткие вопли о невозможности восстановления базы. База то не в ARCHIVE режиме. Как я помню во всех книгах по Oracle черным по белому сказано о том, что control file надо хранить на разных дисках. Наверно чукча не читатель, чукча - писатель.
5. И они не используют индексы на основные таблицы. Жутко геморойно, объединять таблицы без индексов наверное.

Сразу прошу - ногами не пинать и на мышиные коврики меня не пускать. Я ничего не придумал. У меня там знакомые работают. Все сущая правда. Если что-то еще о них вспомню - добавлю. Ах да, совсем забыл, они планируют переходить с Oracle на MS SQL, говорят он лучше и быстрее работает.
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32351791
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хех...\r
/topic/37290\r
/topic/37733\r
/topic/34688\r
\r
Кривые руки разработчика в наше время - отнюдь не необычные условия, к сожалению.
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32351967
Злой Хорёк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прочитал последний пост и жутко прикололся с использованием DDL в триггерах и обновлением sys.source$. Спросил сегодня ребят из самого Оракла о таких извратах, ответили что таких программеров надо не лечить а отстреливать, чтоб не размножались :))
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32351980
Фотография brahew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, про альфу писали много интересного....
Тут у нас в команде ярый фоксовик есть, всмысле не клиентов на фоксе лепить, а фокс - рулез и как СУБД для него. Мечтает об одном, когда появятся изменяемые отчеты и фокс будет лучшим на все времена, ну не в этом суть.
У нас развивается(ну или по крайней мере пытаемся это делать) две версии ЗП. На дбф и на скуль, так вот, сколько с ним не бодались по поводу его ненормальности, когда он объясняет как он круто меняет ширину таблиц, всмысле колонок и говорит что скуль говно и тп, потому что повторить весь гемор в нем нельзя и приходится писать заново, хотя как расчетчик - он действительно классный специалист, но то, как он пишет код и проектирует базу, это полнейший п...(по названию топика)
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32352374
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я тут ещё один пример вспомнил - трёхзвенка, простейшей аутентификацией занимается middle-tier, используя пару логин-пароль. Интересная особенность заключалась в том, что в отличие от стандартной схемы с уникальным логином и любым (задаваемым пользователем) паролем, использовалась система неуникального логина и уникального в пределах приложения пароля. О как!
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32352834
Фотография Yet another cat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот так крутые мужики пишут запросы.\r
\r
Я плакаль.\r
=====\r
Не дождетесь!
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32372429
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а как вам справочник в таблице

fieldid
key01
key02
key03
...
key20
val01
val02
val03
...
val20

изготовитель - крутая фирма банковского ПО, Соединённое Королевство Великобритании и Северной Ирландии.
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32372535
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К этой теме возникает еще один закономерный вопрос - насколько СУБД должна быть устойчива к кривым рукам разработчиков. Например я на личном опыте убедился, что MSSQL к сожалению в случае "дикой" проектировки БД валиться и довольно неплохо. История простая - меня попросили в качестве эксперта посмотреть и оценить, каковы шансы перевести БД MSSQL на другую платформу, мотивируя это нестабильной и тормознутой работой MSSQL. Посмотрев на это "чудо", я порекомендовал прекратить обвинять MSSQL во всех смертных грехах и пересмотреть свои взгляды на проектирование БД и реализацию логики ее работы. Сейчас вот пишу документ-обоснование, доказывающий, что MSSQL тут совсем не причем и смена платформы кроме затраты времени и финансов ни чего больше не принесет.

P.S. А вообще то конечно в этом плане MSSQL немного меня удивил - какие бы не были в БД применены некорректные решения и пусть все бы тормозило, но вот валиться СУБД не должно ни в коем случае, в любом случае надежность работы и хранения данных в таких системах должна быть превыше всего.
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32372577
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
к вопросу о стабильности базы :)
Я пару раз наблюдал ситуацию, когда клиентское приложение на VB умудрялось записать в таблице БД некое значение, после которого все становилось раком - ни один селект, затрагивающий определенную странцу данных не выполнялся - сервер "отстреливал" соединение. Лечилось только DBCC CHECKDB.
Насчет кривых рук - согласен.

Пример.
Таблица сделок разных типов (Forex, Fixed Income и т.п.) - ширина 220 полей, из них - порядка 40 полей обозначены как UDF_001 - UDF_040, в которых хранится всякая фигня (поля типа varchar) и мало кто знает, что это за информация.

PS. Сервер 7.0 :)
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32372737
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтобы Oracle валился от кривого приложения - я такого не встречал. А проблемы с производительностью практически гарантированы.
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32372818
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давайте еще посоревнуемся у кого больше индексов на одну таблицу...)
у меня - 20 (двадцать)...(но автор не я...)))
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32372823
andsm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если в эту таблицу редко пишут но часто читают, то 20 индексов может быть нормальным - все зависит от ее использования.
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32372839
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как раз нет...и пишут хорошо, и читают замечательно...
6 индексов - вообще не используется...
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32372906
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подумаешь 20 индексов :) В вышеописанной БД в одной таблице было 23 индекса и 12 foreign key, причем из индексов было 4 одинаковых и из foreign key - 7 связей на одну и ту же таблицу по одному и тому же полю :) Я когда эту БД в ASA перегнал, чтобы погонять ее профайлером и дебагером, она бедная устала ругаться в своем окне лога на дублирующие индексы и связи. А еще вчера там смотрел на запрос в ХП, обьединяющий в себя наверное с 30-ник таблиц, по непонятным мне принципам, многие из которых были по обьему с миллионами записей. Запрос тормозил со страшной дурью, Table Scan мелькала тут и там. Я обнаружил, что в запросе некоторые не кислые по обьему таблицы используются по несколько раз, однако не какой смысловой нагрузки не несут, соединяясь между собой один к одному (ID=ID). Убрал ради интереса лишние таблицы из запроса, все стало работать быстро, возвращается вроде все тоже самое. Еще меня порадовали многочисленные NULL поля на Foreign Key, подкидывающие оптимизатору запросов лишнюю работу по их сравнению с NULL. Так же впечатлили скалярные UDF, которые используются в JOIN для связи, получают некий ID, много и муторно делают какие то SELECT в переменные и в итоге на выходе выдают нужный ID :) Если БД переложить на фильм, то уверяю, получился бы просто прекрасный ужастик. "Звонок" и близко бы не стоял. Хотя думаю, если наверное спросить админов, которые сейчас с этой БД работают, думаю им и на фильм ничего перекладывать не надо - скорее всего от этого ужаса они уже давно сошли с ума. Для полного счастья сюда же можно приплюсовать супер-клиента, сделанного в том же ключе ...
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32372982
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а еще меня прикалывает когда справочник содержит в качестве ключевого поля значение NULL, очень прикалывает, когда имена таблиц : TABLE1, TABLE2 ... TABLE153...)
Прикалывает, когда на поля, в которых 1-2 допустимых значения (пол-мужской-женский) заводится отдельная таблица:
select * from TABLES123
INDEXMAINS123 SEX
--------------- ---------------
NULL Не определено
1 M
2 Ж
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32373044
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пол = NULL - это сильно :)
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32373145
Фотография Ptitzz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конечно отдельная таблица для пола это изврат, но ПОЛ=NULL вполне реально. писал БД для судебно-медицинских лабораторий, так так это вполне вероятно когда заносят информацию об останках и определить пол не возможно - тогда он действительно NULL :(
Главное, чтобы в ДНК ошибки не было
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32373207
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NULL<> NULL - вот в чем вопрос...
По NULL таблицы не объеинить...
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32373231
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А почему кстати отдельная таблица для пола изврат ? Во первых клиентское приложение в виде DBLookup может спрашивать пол без его жесткого вшития в код, во вторых если БД интернациональная, то м/ж не очень катит с точки зрения других языков. Плюс возможны варианты хранения краткого/полного наименования, падежей и т.д.

Опять же я считаю смотря для каких задач это изврат/не изврат. Но вот в Primary Key делать NULL - это однозначный изврат. Слава богу, такое только на Access возможно, обломали радость велосипедистам горе-проектировщикам :)
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32373431
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно придумать кучу таблиц, где имеется все одно-два допустимых значения.
примеры: Муж/Жен, Резидент/нерезидент,Да/Нет,Физ.лицо/Юр.лицо...
Короче все это перечислять можно долго. Для таких вещей проще прменять
chech constraint AtField (field in 'Yes','No'). ИМХО нефиг тратить ресурсы на foreign key и его поддержку. Ей богу так - эффективней.
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32373473
Alexander_Chepack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
Короче все это перечислять можно долго.
Для таких вещей проще прменять
chech constraint AtField (field in 'Yes','No').
ИМХО нефиг тратить ресурсы на foreign key и его поддержку.
Ей богу так - эффективней.

Эффективней (и правильней) в таких случаях применять Rules.
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32373494
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а где хранить языковые варианты?
правда, справочник полов и их названий на разных языках просто может быть не привязан форин кеем? все равно их только два.

//а кстати, жизнь прекатсна и отвратительна, полов теперь больше чем два!
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32373528
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Языковые варианты....))
Давайте будет так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
code lang  value
 ----  ---- -----
 
 1       1251  M
 2       1251  Ж
 1       437   M
 2       437   F
....



нравицца?

Честно говоря мне такой гемор не нужен.
Если приспичит, но в приложении обработаю...
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32373544
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
gender
======
genderid lang caseid val
 -------- ---- ------ ---
 
    1       ru   1       мужской
    2       ru   1       женский
    1       ru   2       мужского
    2       ru   2       женского
    1       en   1       male
    2       en   1       female


case
====
caseid lang name
 ------ ---- ----
 
 1        ru  именительный
 2        ru  родительный
 1        en  именительный
 2        en  притяжательный
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32373548
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Угу, можно и падежи, и сокращения, и языки... и довести все до абсурда...))
Еще и нормализовать все до опуперия, построить индексы по всем полям на все случаи жизни... А потом думать, а чего так все медленно ворочаецца?...
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32373563
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор нефиг тратить ресурсы на foreign key и его поддержку. Ей богу так - эффективней.

Еще и нормализовать все до опуперия, построить индексы по всем полям на все случаи жизни... А потом думать, а чего так все медленно ворочаецца?...
А что - табличка с записями < 10 так уж сильно будет медленно ворочаться ? :)
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32374145
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
честно говоря при каждом селекте джойнить эту чушь - влом...Чисто по нажатию клавиш - эффективнее .. это раз...
2) предположим что у нас табличка содержит Yes/No, то затраты на хранение такой фигни соизмеримы с тем, еслибы они хранились в таблице по месту назначения.
3) при провере всекий раз дергать foreign key - хм... не думаю что это эффективнее чем constraint или rules
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32374774
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gardenman

зато сурогатный ключ
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32374822
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> зато сурогатный ключ
причем глобальный уникальный идентификатор.
вот заведу справочник полов - всем сообщу гуид всех полов - и пользоваться только ими!
глобальная целостность
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32374824
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fedd

А то! ПожготовЪ свою БД к репликации!
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32375173
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
Таблица: (вообще-то акцессная, я не знаю как из него ddl выдрать - по-этому через ервин попытался это сделать)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
CREATE TABLE Abiturients(
    AbitID         NUMBER( 38 ,  0 )       NOT NULL,
    IndNum         NUMBER( 38 ,  0 )        DEFAULT  0  NOT NULL,
    EduProg        NUMBER( 38 ,  0 )        DEFAULT  0 ,
    EnterDate      DATE,
    FirstName      VARCHAR2( 30 )        NOT NULL,
    MidName        VARCHAR2( 30 ),
    LastName       VARCHAR2( 30 )        NOT NULL,
    LivePlaceID    NUMBER( 38 ,  0 )        DEFAULT  0 ,
    BirthDay       DATE,
    Sex            NUMBER( 38 ,  0 )        DEFAULT  0 ,
    SocialID       NUMBER( 38 ,  0 )        DEFAULT  0 ,
    DirectID       NUMBER( 38 ,  0 )        DEFAULT  0  NOT NULL,
    EducationID    NUMBER( 38 ,  0 )        DEFAULT  0 ,
    ShoolNum       NUMBER( 38 ,  0 )        DEFAULT  0 ,
    Region         NUMBER( 3 ,  0 )         DEFAULT  0 ,
    Privilege      NUMBER( 38 ,  0 )        DEFAULT  0 ,
    EndDate        NUMBER( 38 ,  0 )        DEFAULT  0 ,
    MedalID        NUMBER( 38 ,  0 )        DEFAULT  0 ,
    LanguageID     NUMBER( 38 ,  0 )        DEFAULT  0 ,
    Victor         NUMBER( 3 ,  0 )         DEFAULT  0 ,
    ArmyID         NUMBER( 38 ,  0 )        DEFAULT  0 ,
    ServiceID      NUMBER( 38 ,  0 )        DEFAULT  0 ,
    Contract       NUMBER( 38 ,  0 )        DEFAULT  0 ,
    CoursesID      NUMBER( 38 ,  0 )        DEFAULT  0 ,
    PreTermID      NUMBER( 38 ,  0 )        DEFAULT  0 ,
    Certificate    NUMBER( 38 ,  0 )        DEFAULT  0 ,
    Average        DOUBLE PRECISION     DEFAULT  0 ,
    Copy           NUMBER( 38 ,  0 )        DEFAULT  0 ,
    Room           NUMBER( 38 ,  0 )        DEFAULT  0 ,
    LevelID        NUMBER( 38 ,  0 )        DEFAULT  0 ,
    GroupID        NUMBER( 38 ,  0 )        DEFAULT  0 ,
    Father         VARCHAR2( 150 ),
    Mather         VARCHAR2( 150 ),
    Address        VARCHAR2( 150 ),
    AddReal        VARCHAR2( 150 ),
    Passport       VARCHAR2( 150 ),
    Status         NUMBER( 5 ,  0 )         DEFAULT  1 ,
    Exam1          NUMBER( 38 ,  0 )        DEFAULT  0 ,
    Exam2          NUMBER( 38 ,  0 )        DEFAULT  0 ,
    Exam3          NUMBER( 38 ,  0 )        DEFAULT  0 ,
    Ball1          NUMBER( 5 ,  0 )         DEFAULT - 1 ,
    Ball2          NUMBER( 5 ,  0 )         DEFAULT - 1 ,
    Ball3          NUMBER( 5 ,  0 )         DEFAULT - 1 ,
    Exams1         NUMBER( 38 ,  0 )        DEFAULT  1 ,
    Exams2         NUMBER( 38 ,  0 )        DEFAULT  1 ,
    Exams3         NUMBER( 38 ,  0 )        DEFAULT  1 ,
    Source1        VARCHAR2( 1 )          DEFAULT  "Э" ,
    Source2        VARCHAR2( 1 )          DEFAULT  "Э" ,
    Source3        VARCHAR2( 1 )          DEFAULT  "Э" ,
    ExApp1         NUMBER( 38 ,  0 )        DEFAULT  1 ,
    Exapp2         NUMBER( 38 ,  0 )        DEFAULT  1 ,
    ExApp3         NUMBER( 38 ,  0 )        DEFAULT  1 ,
    Enter          NUMBER( 5 ,  0 )         DEFAULT  0 ,
    Shifr1         VARCHAR2( 10 ),
    Shifr2         VARCHAR2( 10 ),
    Shifr3         VARCHAR2( 10 ),
    PRIMARY KEY (AbitID)
);


Мне такую замечательную mdb базу (там еще несколько таблиц было - помельче) прислали, чтобы я конвертатор сделал из своей (оракул) в их (акцесс) базу.




eNose
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32375412
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
радует это:
Код: plaintext
BirthDay       DATE,

а то могло бы быть тоже типа
Код: plaintext
Sex            NUMBER( 38 ,  0 )        DEFAULT  0 ,
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32375471
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще что касается подобных баз где прописываюцца люди.
Почему-то я практически ни у кого не видел, чтоб модель позволяла
создавать псевдонимы customer-ам... А вель смена фамилии или имени - не такое уж редкое явление.
Например: Девушка замуж вышла...или фирма поменяла Устав и стала называться по-другому...
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32375524
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2eNose
э-э-э.... а в чем проблема то с таблицей?
Ну, широкая, странная... немного...
С другой стороны достаточно удобно из такой вот таблицы выкачивать данные в свою систему.
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32375605
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
>> а в чем проблема то с таблицей?
Ну, широкая, странная... немного...
С другой стороны достаточно удобно из такой вот таблицы выкачивать данные в свою систему.

В том то все и дело, что мне очень неудобно с такой структурой работать.
Вернее, не столько неудобно, сколько медленно.
У меня люди - это кучка (21) таблиц, с сохранением истории по всем меняющимся данным (фио, паспорт, пол, прописка, место жительства, ...).
Отдельно к людям идит добавочные таблицы в зависимости от того, кто он: студент, абитуриетн, преподаватель, ...
Вот мне и приходится при конвертации почти для каждой таблицы делать ...where :date beetwen datefrom and dateto (упрощенно). И указывать дату конвертации (мало ли что, вдруг им понадобятся данные месячной давности).




eNose
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32375609
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 locky
В такой широкой таблице, сразу видно - слилось несколько сущностей.
Чтобы строить относительно быстро разные отчеты придется иметь много
индексов, что замедлит операции изменения. Более того, по мере
роста требований к системе придется добавлять новые поля, а => и новые индексы. Короче - чем дальше, тем хуже будет вести себя система.
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32375801
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а я хотел ответить локи, да потом подумал что он шутит....

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
    Exam1          NUMBER( 38 ,  0 )        DEFAULT  0 ,
    Exam2          NUMBER( 38 ,  0 )        DEFAULT  0 ,
    Exam3          NUMBER( 38 ,  0 )        DEFAULT  0 ,
    Ball1          NUMBER( 5 ,  0 )         DEFAULT - 1 ,
    Ball2          NUMBER( 5 ,  0 )         DEFAULT - 1 ,
    Ball3          NUMBER( 5 ,  0 )         DEFAULT - 1 ,
    Exams1         NUMBER( 38 ,  0 )        DEFAULT  1 ,
    Exams2         NUMBER( 38 ,  0 )        DEFAULT  1 ,
    Exams3         NUMBER( 38 ,  0 )        DEFAULT  1 ,
    Source1        VARCHAR2( 1 )          DEFAULT  "Э" ,
    Source2        VARCHAR2( 1 )          DEFAULT  "Э" ,
    Source3        VARCHAR2( 1 )          DEFAULT  "Э" ,


это не странная таблица, это повод для драки
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32376143
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не шутю я.
Может, я неправильно понял и эта таблица - рабочая в какой-то базе?
Потому что если это - таблица для пердачи данных из одной системы в другую, то поверьте, тому человеку который принимает эти данные, глубоко фиолетово, насколько просто или тяжело ВАМ эти данные предоставить. Еще я думаю, что предоставь Вы ему все свои 21 таблицу - он может начать ругаться словами разными и кричать "Разбирайся сам со своими структурами! И дай мне то, что я попросил" (тем более, что на Оракуле это побыстрее будет, чем на Access)
По поводу постоорения отчетов:

Код: plaintext
1.
select Date,Sum(F1),Sum(F2),Sum(F3) from WideTable group by date

куда как проще чем
Код: plaintext
1.
2.
3.
4.
select T.Date,Sum(T1.F),Sum(T2.F),Sum(T3.F)
from ShortTable T join Tbl1 T1 on T.date = T1.date
.....
group by T.Date
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32376285
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 locky
Оправданья не приняты... не жди от меня прощения, не жди от меня суда..
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32376529
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
2 locky:

Эта таблица - рабочая.
Как с ней работают - не знаю :-(
Знаю только, что раза два в месяц в нее добавляются / убираются некоторые поля




eNose
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32376937
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2eNose
ну... ежели рабочая.... и, особенно, постоянно меняется структура....тады не знаю.... хотя, как правило, все можно объяснить. К примеру, постоянно изменять структуру данных может оказаться дешевле, чем переделывать более-менее работающий комплекс. К тому-же, если нет человека, который данную задачу знает глубоко....
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32409376
Denis A.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати о поле "Пол". У медиков есть типы М; Ж; мужской, бывший женский; женский, бывший мужской; не определен. Так что значений целых 5! :-)

а по поводу кривых БД... Смотрел я как-то БД (Interbase) одной софтины бухгалтерской. 500 таблиц с именами ZPL_032 и типа того. Поля аналогичного наименования. DDL-операторы при самых невинных операциях. Ни одного триггера. Ни одной Stored proc. Ни одного FK между таблицами. Всё на честном слове =)
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32410528
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
Один мой знакомый делал БД в Interbase для каких-то торговцев недвижимостью и чтобы в форме отображать схему метро завел в одной таблице флаги для каждой станции (150 или 250 штук - не помню точно).
И IB стал валиться. Когда я его спросил, что будет, если не дай бог построят новую станцию, он сказал, что завел пять запасных флагов...
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32412715
zayac
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
/topic/21581&hl=gather_schema_stats#118784\r
\r
У меня было такое: у администратора была возможность писать отчетные формы для пользователей на псевдо-языке, внутри которых можно было использовать блоки PL/SQL.\r
Администратор в этой фирме уволился и я, как представитель разработчика решаю их проблемы, но что и как - выяснить не у кого. \r
Главбух: Мы часто "зависаем" и тогда нам приходится делать COMMIT.\r
Я: Какой еще COMMIT? (Человек в принциипе слов таких знать не должен)\r
Главбух: Ну форма отчетная, наш старый администратор написал. У нас когда кто-то зависает, то говорит - сделайте COMMIT, и все кто может - запускают эту отчетную форму. Как правило помогает.\r
\r
С плохим предчуствием лезу смотреть эту отчетную форму. Так и есть. Форма состоит из одной фразы\r
PL(\'COMMIT\')\r
Вот и нашелся барабашка который паскудит данные. Пользователь А ставит блокировку; пользователь В натыкается на нее и "зависает"; А "делает COMMIT", а потом решает отменить операцию, откатиться -- и все, данные в ауте.
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32412719
Фотография www.fun4me.narod.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, какой может быть вызов отчётной формы, пока у вас транзакция не закончилась?

А если вообще, человек чай пойдёт пить. Или у него с сердцем плохо станет? Так и будут блокировки висеть?
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32414507
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--А если вообще, человек чай пойдёт пить. Или у него с сердцем плохо станет? Так и будут блокировки висеть?

Именно так работает Framemaker. По громкоговорящей связи в компании раздается - всем закрыть Framemaker. Потом через несколько минут маты и опять просьба закрыть. Потом идет поиск по кабинетам - кто ушел в отпуск и не закрыл приложение.
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32414617
Фотография FM32YO aka KID
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что то до меня не доходит....
Begin Transaction стоит в методе загрузки формы, а END Transaction - в методе выгрузки-закрытия формы что ли?

Очень интересно.. иначе как это "у человека с сердцем плохо", а он транзакцию не завершил...
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32414755
AlTk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Именно так работает Framemaker"
ничё не понял. Framemaker - это же для того, чтобы тексты набирать, да книжки делать.
...
Рейтинг: 0 / 0
эти кривые базы данных...
    #32414829
Фотография Рыжий Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторкстати о поле "Пол". У медиков есть типы М; Ж; мужской, бывший женский; женский, бывший мужской; не определен. Так что значений целых 5! :-)
:)) тогда здесь надо log пола в отдлеьную таблицу выносить, можно еще и поле "reason" добавить

...
Рейтинг: 0 / 0
49 сообщений из 49, показаны все 2 страниц
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / эти кривые базы данных...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]