@pgsql

Страница 1052 из 1062
Fike
23.10.2018
17:32:24
вы точно хотите бизнес-логику в базу положить?

Yaroslav
23.10.2018
17:33:28
что бы одним селектом получать слоты
Послушайте совета, пока не поздно: не пользуйтесь наследованием вообще. (Не считая использования для партиционирования в старых версиях, и для всяких hacks.)

pew
23.10.2018
17:35:08
вы точно хотите бизнес-логику в базу положить?
это не бизнеслогика, это ток инициализаия таблиц

Google
pew
23.10.2018
17:35:11
и записей

один селект и обращение к куче таблиц, общим списком вывод

Fike
23.10.2018
17:35:42
это не бизнеслогика, это ток инициализаия таблиц
что и является бизнес-логикой, пушо вы производите расчеты на лету

pew
23.10.2018
17:37:02
что и является бизнес-логикой, пушо вы производите расчеты на лету
в данном случае я добавляю таблицы в имеющийся проект и попутно их заполняю что бы обеспечить консистентность — они в дальнейшейм создаются при создании персонажа

и не может быть варианта что они будут не нужны

Yaroslav
23.10.2018
17:37:16
почему? наследование очень крутая вещь
Не для реляционной СУБД. И это ещё не считая многих связанных с ним технических ограничений PostgreSQL.

pew
23.10.2018
17:37:27
тут мне надо как noSQL

Fike
23.10.2018
17:37:43
и не может быть варианта что они будут не нужны
это никак не противоречит и не относится к вышесказанному

Yaroslav
23.10.2018
17:38:20
а мне и не надо как реляционная всюду
А зачем Вы тогда микроскопом (PostgreSQL) гвозди забиваете? Так и возьмите какую-нибудь NoSQL базу, если она Вам и нужна...

Google
Yaroslav
23.10.2018
17:39:59
почему именно 008
У Вас вообще плохой стиль написания кода на plpgsql. Но перепечатывать его с картинки ради примеров как-то не тянет...

pew
23.10.2018
17:40:47
У Вас вообще плохой стиль написания кода на plpgsql. Но перепечатывать его с картинки ради примеров как-то не тянет...
я в курсе что плохой, потому что я не сильно в этом разбираюсь сейчас, и нет времени до конца разобраться, как и что конкатенировать, какие нюансы синтаксиса и так далее

что и является бизнес-логикой, пушо вы производите расчеты на лету
не с клиентского же кода каждый раз писать какие-то тулзы что бы каждый раз добавляя очередную таблицу или таблицы их догонять до текущего индекса

блин, почему именно 8, не 7, не 9, не 5

Fike
23.10.2018
17:46:50
с клиентского

догонять до текущего индекса?

pew
23.10.2018
17:47:06
добавляю таблицу

для каждого перса нужна запись в новой таблице

Yaroslav
23.10.2018
17:52:23
для каждого перса нужна запись в новой таблице
Make me unsee it. :( Знаете, у меня такое впечатление, как если бы Вы пытались быстро написать финансовое приложение, положив в его основу, например, то, что 2*2=5, потому что "нет времени". Конец немного предсказуем, мне кажется.

pew
23.10.2018
17:52:58
селект делается быстро, одним запросом, что еще надо?

при наследовании

если консистентность обеспечивает сам клиент, и базе только надо записи во всех таблицах для каждого перса

что тут плохого

данные разбиты по таблицам не исходя из того что какие-то запросы с джоинами делаться будут, нет

в приложении загрузка идет сразу со всех таблиц, а апдейтятся отдельные записи в отдельных таблицах, когда надо

Yaroslav
23.10.2018
17:55:22
при наследовании
Давайте-давайте. Удачи с наследованием. Главное, не слушайте никого — что там их всякая теория, или опыт, или документация — фигня всё это, когда надо "быстро написать", верно?

pew
23.10.2018
17:55:34
да, типа того

Google
pew
23.10.2018
18:04:29
хехе кажется кто-то обижается что кто-то не следует некоторым канонам

такс, я выснил что может только семерка быть в SELECT E'\\327'::bytea; таком запросе

8ки не может быть

« вводимое значение оно преобразуется в трёхциферное восьмеричное значение» ясно, кажется разобрался) спс

Alexey
23.10.2018
18:37:05
Послушайте совета, пока не поздно: не пользуйтесь наследованием вообще. (Не считая использования для партиционирования в старых версиях, и для всяких hacks.)
В доке по postgresql есть туториал (я так понимаю, что это вводный раздел для новичков) и там про наследование расказывается. https://www.postgresql.org/docs/11/static/tutorial-inheritance.html Вопросы: 1. Зачем в доке в туториале про это рассказывается? чтобы не пользоваться этим никогда? ? 2. Какие есть hacks с наследованием?

pew
23.10.2018
18:38:39
тоже давно читал всю доку постгреса, оттуда и узнал про наследование, погуглил крутая вещь, хз чего так челики его боятся, хорошая фича

Yaroslav
23.10.2018
18:39:50
pew
23.10.2018
18:41:51
зачем хранить всю инфу в одной таблице, если можно разбивать по таблицам и старые вообще не дергать

Yaroslav
23.10.2018
18:42:14
Там пример с городами и столицами. Вы бы так не стали делать?)
Конечно, не стал бы. И даже в конце tutorial есть предупреждение, а уж по ссылкам их куда больше.

pew
23.10.2018
18:42:17
но у меня другой случа, конечно

pew
23.10.2018
18:42:35
это же в том числе наследованием можно делать, не описывать же кучу одинаковых таблиц

Yaroslav
23.10.2018
18:43:44
зачем хранить всю инфу в одной таблице, если можно разбивать по таблицам и старые вообще не дергать
Для этого можно просто пользоваться индексами. Т.к. обычно старые данные всё равно нужны, только реже. И про партиционирование я писал, кстати.

Alexey
23.10.2018
18:43:47
pew
23.10.2018
18:43:50
колонка одним альтом добавляется в таком случае

Google
pew
23.10.2018
18:47:16
Vladimir
23.10.2018
18:47:17
просто я понял, что вы против, но не очень понял, почему:( какие подводные камни?

Alexey
23.10.2018
18:47:54
Although inheritance is frequently useful, it has not been integrated with unique constraints or foreign keys, which limits its usefulness. See Section 5.9 for more detail.

Ярослав выше про это сказал

pew
23.10.2018
18:48:28
мне как раз и круто что ключи одинаковые могут быть

Yaroslav
23.10.2018
18:49:47
а какие аргументы против наследования в пг?
Технические: https://www.postgresql.org/docs/current/static/ddl-inherit.html#DDL-INHERIT-CAVEATS (и походите по ссылкам) Теоретические: в реляционной теории более-менне аналогичные цели достигаются другими средствами. Поэтому одно с другим вообще плохо скрещивается.

Vladimir
23.10.2018
18:50:46
ну меня интересует в первую очередь Ваш опыт. Вы когда-нибудь использовали?

pew
23.10.2018
18:54:15
я думаю что они не могут объяснить нормально, потмоу что не сталкивались с проблемами, и не пробовали «не верный» путь, могу предположить что евангелисты или кто там кто придумал говорить что это не верный путь сталкивался с проблемой, что когда ты наследуешься от таблицы в начале, при разработке свежинькой базы — ты видишь текущую картину, но потом может понадобиться расшрять базовую, но это расширение не всюду надо, а по скольку с базами это не отрефакторишь легко как с кодом, то предпочитают вообще не использовать

Zheka_13
23.10.2018
18:58:38
Наследование это хорошо, особенно для логов, в других случаях - не знаю что сказать.

Zheka_13
23.10.2018
18:59:53
Тут даже не наследование, а партиционирование, если быть точным

Само наследование, как таковое, ни разу не видел нигде чтоб применялось

pew
23.10.2018
19:01:08
Само наследование, как таковое, ни разу не видел нигде чтоб применялось
ну вот у меня применяется, получаю 60 записей, по одному селекту по айди

Yaroslav
23.10.2018
19:01:19
то есть по каким-то причинам очевидно что использование наследование на столько же не верно как 2+2 = 5?
А разве я уже об этом не писал? Вы где-то в реляционной теории наследование такого вида видели?

Zheka_13
23.10.2018
19:02:17
По одному селекту по айди можно и без наследования получить гораздо больше )

pew
23.10.2018
19:02:39
А разве я уже об этом не писал? Вы где-то в реляционной теории наследование такого вида видели?
давай на ты, зачем такие фамильярности, в общем в программировании наследование есть, что бы не писать лишний код, ладно, таблицы создаются один раз, но какой смысл создавать допустим 10 похожих таблиц? а не просто унаследоваться?

Google
Zheka_13
23.10.2018
19:03:38
Угу, вопрос ещё глубже, зачем вообще 10 таблиц?

Yaroslav
23.10.2018
19:03:38
я там json-полей с инндексами тоже не видел
А что бы им там делать? Первое — yet another domain, второе — вообще понятие уровня физической реализации.

pew
23.10.2018
19:03:49
нету в подходе каком-то там чего-то там, ну вот я новый подход изобрел, норм подход

я евангилист, ставьте лайк что бы я написал книжку

будет еще подход, через десятки лет васяны будут говорить, в подходе трайба такого не было, ты еретик

пока что твои аргументы именно так и выглядят, «такого нет в теории»

Yaroslav
23.10.2018
19:06:35
давай на ты, зачем такие фамильярности, в общем в программировании наследование есть, что бы не писать лишний код, ладно, таблицы создаются один раз, но какой смысл создавать допустим 10 похожих таблиц? а не просто унаследоваться?
А ведь в реляционной теории / принципах нормализации есть ответ(ы) на это. И "нету в подходе каком-то там чего-то там" тоже неспроста. Вообще, в SQL СУБД технически возможно делать нереляционные модели. Только вот это почему-то быстро приводит к страданиям... прямо мистика какая-то. ;)

vlade11115
23.10.2018
19:06:51
будет еще подход, через десятки лет васяны будут говорить, в подходе трайба такого не было, ты еретик
Это не так работает. Ты или берёшь инструмент и следуешь налагаемым его теоретической основой ограничениям или костылишь.

pew
23.10.2018
19:07:45
vlade11115
23.10.2018
19:08:11
Ко мне не прислушивайся, а вот теорию изучи.

pew
23.10.2018
19:08:26
Yaroslav
23.10.2018
19:08:34
пока что твои аргументы именно так и выглядят, «такого нет в теории»
2+2=5 тоже нет в теории алгебры. Я бы в самом деле хотел послушать связное обоснование (а не "да это же бред!") почему этим нельзя пользоваться. Или прекратите требовать того же от тех, кто хоть как-то разбирается в реляционной теории, ok?

vlade11115
23.10.2018
19:08:37
да она мне не надо)
Огромное заблуждение.

pew
23.10.2018
19:09:16
пора вызывать полицию SQL

ладн, сорри) всем спасибо за общение, но надо еще много чего сделать

vlade11115
23.10.2018
19:12:08
Для начала советую почитать зачем реляционные бд вообще нужны.

pew
23.10.2018
19:12:37
Для начала советую почитать зачем реляционные бд вообще нужны.
да мне пофигу, у меня есть потребности, мне их сейчас надо закрыть, вот сейчас, не еще месяц, а вот сейчас

Yaroslav
23.10.2018
19:12:42
звучит так как будто уже я с угрозами заставляю тебя куда-нибудь применить наследование
Нет, не звучит. Просто требование обосновать неприменение наследования в RDBMS примерно также "нормально", как требование обосновать неприменение 2+2=5 в алгебре. Мне почему-то трудно это обосновывать. Может, кто-нибудь другой попробует...

pew
23.10.2018
19:13:38
ну полюбому я делаю что-то не так

Страница 1052 из 1062