powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / подскажите хорошую практику наименования связанных таблиц
7 сообщений из 132, страница 6 из 6
подскажите хорошую практику наименования связанных таблиц
    #40003732
zeon11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
graycode

.....
Вот вам конкретика, есть выборка записей из таблицы t по попаданию поля some_date в заданный интервал, вы утверждаете, что можете получить такой же результат в случае когда поле some_date находится в таблице t_log (лог для таблицы t), а в таблице t отсутствует, при этом стоить это будет не больше в любом разрезе, по ресурсам, по времени выполнения, по сложности поддержки и т.д.

Чтобы было еще больше конкретики, таблица t - 70 миллионов записей, таблица t_log - 700 миллионов записей.
запрос из t - (select * from t where some_date between d1 and d2), где d1 и d2 - параметры. В случае с таблицей t_log необходимо по максимальной дате some_date попадающей в интервал d1-d2 найти идентификаторы и по ним отобрать записи из таблицы t.

Продемонстрируйте свою компетенцию, докажите ваше утверждение.


Вот ваши условия:
В случае с таблицей t_log необходимо по максимальной дате some_date попадающей в интервал d1-d2 найти идентификаторы и по ним отобрать записи из таблицы t.
Вот мой ответ в 1 запрос:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
 
select T.* from t T
 where 1=1
   and exists (
         select L.* from t_Log L 
            where 1=1
           and L.ID_t=T.ID_t
           and L.some_date = (select LL.some_date from  t_Log LL
                                           where 1=1 
                                            and LL.some_date between :d1 and :d2 
                                           order by LL.ID_t_Log desc fetch FIRST 1 ROWS ONLY)
                    )



Как сформулировали, так и получили.

Есть вариант изменить запрос, более подходящий к контексту, но выходящий за пределы ваших условий:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
 
select T.* from t T
 where 1=1
   and exists (
         select L.* from t_Log L 
            where 1=1
           and L.ID_t=T.ID_t
           and L.some_date = (select LL.some_date from  t_Log LL
                                           where 1=1 
                                            and LL.ID_t=T.ID_t  //  добавил 
                                            and LL.some_date between :d1 and :d2 
                                           order by LL.ID_t_Log desc fetch FIRST 1 ROWS ONLY)
                    )



Итак, что в этих запросах вам не нравится? Давайте без воды, без общих фраз. Вот конкретные запросы. Естественно я их нигде не проверял, написал из общих соображений, и я не ораклист. Где, какая строчка неправильная? Я всегда учусь, мне самому интересно, где ошибка?
...
Рейтинг: 0 / 0
подскажите хорошую практику наименования связанных таблиц
    #40003978
graycode
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zeon11
Итак, что в этих запросах вам не нравится?

Они не решают поставленную задачу.

zeon11
Вот конкретные запросы. Естественно я их нигде не проверял

Что же помешало благородному дону за которого вписался hVostt, проверить логику своего творения?

Если сами не справитесь, накидаю вам тестовый пример ...

zeon11
и я не ораклист

Почему в таком случае вы позволили себе написать неквалифицированный и необоснованный 22203605 хэйт ораклисту?

Могли бы написать на MS SQL, тем более что ссылки на примеры таких запросов я вам уже дал на обоих диалектах.

zeon11
Где, какая строчка неправильная?

Код: sql
1.
and LL.some_date between :d1 and :d2 
...
Рейтинг: 0 / 0
подскажите хорошую практику наименования связанных таблиц
    #40004023
zeon11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
graycode

Почему в таком случае вы позволили себе написать неквалифицированный и необоснованный 22203605 хэйт ораклисту?

[/src]


А что там от оракла? Нормализация для всех одинакова, и для оракла, и для foxpro
...
Рейтинг: 0 / 0
подскажите хорошую практику наименования связанных таблиц
    #40004024
zeon11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
graycode

Код: sql
1.
and LL.some_date between :d1 and :d2 



Что концептуально не правильно?
...
Рейтинг: 0 / 0
подскажите хорошую практику наименования связанных таблиц
    #40004044
zeon11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot graycode#22206460]

И да, hVostt ни за кого не вписывался, он вполне аргументированно показал вашу профессиональную несостоятельность, может быть и достаточно импульсивно, но по сути всё было верно.
Вы дважды в последних постах ко мне упомянули, что hVostt "вписался" за меня, и это не может быть опечаткой, из чего я делаю вывод что он вас полностью жестоко "поломал", ваше эго, может быть подспудно ищет выход из сложившегося внутреннего дискомфорта, и ничего лучшего ваше подсознание не придумало, чем легенду, типа hVostt не со мной воевал, это он за zeona заступался. А вот я теперь zeona "поломаю", и как-бы одержу окончательную победу.
Я просмотрел ваши немногочисленные посты на этом форуме и по тому, как вы приклеиваете ярлыки совершенно незнакомым людям, уличая их якобы в некомпетентности, у меня сложилось о вас мнение как о глубоко закомплексованном человеке, не получившем реализации в жизни. Обратите внимание, здесь, на форуме в целом люди помогают друг другу профессионально расти. Помогают студентам, неофитам, и как правило оскорбления и советы заняться чем-нибудь другим, здесь на форуме вызывают ответную негативную реакцию.
На этом считаю наш диалог завершенным, свое мнение о вас как о человеке и профессионале у меня сформировалось. Если чем-то обидел, то извините.
...
Рейтинг: 0 / 0
подскажите хорошую практику наименования связанных таблиц
    #40004112
graycode
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zeon11
Что концептуально не правильно?

Вы подумали? Сделали тестовый пример и проверили? Нет, вы поступали и продолжаете поступать как самый настоящий воинствующий ламер, при том что и подсказок дали более чем, готовые шаблоны запросов дали, а толку никакого.

вот вам тестовый пример:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
with t (ID_t, name) as
 (
              select 1, 'Первая строка' from dual
    union all select 2, 'Вторая строка' from dual
    union all select 3, 'Третья строка' from dual
 ),
 t_Log(ID_t_Log, ID_t, some_date) as
 (
              select 1001, 1, to_date('01.01.2010', 'DD.MM.YYYY') from dual
    union all select 1002, 1, to_date('10.09.2020', 'DD.MM.YYYY') from dual
    union all select 1003, 1, to_date('30.11.2020', 'DD.MM.YYYY') from dual
    union all select 1004, 2, to_date('01.01.2010', 'DD.MM.YYYY') from dual
    union all select 1005, 2, to_date('09.09.2020', 'DD.MM.YYYY') from dual
    union all select 1006, 2, to_date('10.09.2020', 'DD.MM.YYYY') from dual
    union all select 1007, 3, to_date('01.01.2010', 'DD.MM.YYYY') from dual
    union all select 1008, 3, to_date('09.09.2020', 'DD.MM.YYYY') from dual
    union all select 1009, 3, to_date('01.11.2020', 'DD.MM.YYYY') from dual
 )


Интервал дат:
Код: sql
1.
to_date('07.09.2020', 'DD.MM.YYYY') and to_date('11.09.2020', 'DD.MM.YYYY')




zeon11
И да, hVostt ни за кого не вписывался

Да нет, в неадекват он ушел из за вас, он же не думал что защищает такого кадра, хотя это было видно невооруженным взглядом.

zeon11
у меня сложилось о вас мнение как о глубоко закомплексованном человеке, не получившем реализации в жизни

Ваше мнение очень важно для нас
...
Рейтинг: 0 / 0
подскажите хорошую практику наименования связанных таблиц
    #40004163
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
graycode
zeon11
Итак, что в этих запросах вам не нравится?

Они не решают поставленную задачу.


Напоминаю вам, что вы так и не озвучили, какую задачу решаете.
Теперь донимаете людей, как правильно ковыряться в носу.
...
Рейтинг: 0 / 0
7 сообщений из 132, страница 6 из 6
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / подскажите хорошую практику наименования связанных таблиц
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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