@dba_ru

Страница 560 из 718
Victor
01.07.2018
12:02:01
Да, зависят. Ну и что с того? Пишутся то они точенчно

Shaz
01.07.2018
12:02:25
видимо не дошло и врятли дойдет в процессе чтения книг
Ты не думал запустить авторский курс "введение в базы данных" ?)

Victor
01.07.2018
12:02:49
в программе всё уже просчитывается как я понимаю ( у меня так ) и пишутся данные.

Al
01.07.2018
12:03:27
Да, зависят. Ну и что с того? Пишутся то они точенчно
давай еще раз. это НАБОР ЗАВИСЯЩИХ ДРУГ ОТ ДРУГА ДАННЫХ. то есть елси изменилась одна, то изменится весь набор... ты можешь делать выборку из БД по изменившейся переменной. а можешь просто забиндить весь набор.

Google
Al
01.07.2018
12:04:25
Ты не думал запустить авторский курс "введение в базы данных" ?)
да кому это нафиг нужно то. мой курс закидают тухлыми помидорами. из за двух вагонов сарказма

Victor
01.07.2018
12:04:49
а зависимости в БД самой уже можно и триггерами реализовать, как я понимаю. Не дошёл ещё до них. И ещё ка-то. Я раньше это иначе делал в Java. Когда работал в проекте , была база на ArrayList'ах. Логику я понимаю. Но нафига вместо того, что бы сформировать SQL-инструкцию сразу, использовать некоего чудесного посредника bind* ... Вот этоинтересно. Если бы был пример нормальный заценить было бы понятно

Victor
01.07.2018
12:06:17
Да. Даже знаю что их называют Отношения в SQL

Al
01.07.2018
12:06:39
каждая строка это набор переменных зависящих друг от друга

Victor
01.07.2018
12:06:43
В них есть поля (сами данные). Записи - строки, и аттрибуты (колонки)

теорию базовую я понимаю чётко

Al
01.07.2018
12:06:58
не понимаешь

оттого тупые вопросы

Shaz
01.07.2018
12:07:04
да кому это нафиг нужно то. мой курс закидают тухлыми помидорами. из за двух вагонов сарказма
Just for fun. А иногда сарказм заходит оч неплохо, и понимание приходит быстрее.

Al
01.07.2018
12:08:52
теорию базовую я понимаю чётко
ты не понимаешь. ты думаешь что прочитав книгу как будто понимаешь. но на практике если я тебя попрошу нормализовать данные и организовать их хранение. то получим шиш

Victor
01.07.2018
12:09:54
@AlexCAD ну а что невозможно записать нужные данные без bind* ? То что поля зависят друг от друга это понятно. Но в программе до записи в БД все данные для записи то вычисляются. Или пользователь вносит и, опять-таки, они уже готовы

Google
Victor
01.07.2018
12:10:24
@AlexCAD до этого ещ не дошёл

Victor
01.07.2018
12:11:42
Для хранения есс-но. Ведь данные хранящиеся читаются перманентыми, т.е. постоянными за исключением каких-то исключений

Al
01.07.2018
12:11:52
@AlexCAD до этого ещ не дошёл
ну значит иди читай дальше. как начнешь составлять структуры и организовывать хранения то может и поймешь

Victor
01.07.2018
12:12:49
Так там про это ни слова нет (про связку)

Нашёл я курс. https://openedu.ru/course/spbu/DTBS/?session=self_paced_2018

через неделю стартует. Думаю пойти туда

Al
01.07.2018
12:14:54
Так там про это ни слова нет (про связку)
потому что это и так подразумевается. как ты себе видишь одну строку с кучей полей в экселе? просто набор случайных переменных которые потом не понятно как искать?

Victor
01.07.2018
12:16:19
ну а что делать, что бы толк был? Я же не спорю, а хочу понять. Сказал, что прочитал в книге "К.Дж.Дейт. Введение в системы баз данных. (8-е издание)"

Shaz
01.07.2018
12:16:27
Так там про это ни слова нет (про связку)
Про что и где? По твоей схеме - вроде всё ясно, что bind выполняет приведение типов. Если ты писал на java и не разу с этим не столкнулся - ну я хз

Shaz
01.07.2018
12:17:24
Выкини тогда sql и бери монгу.

Victor
01.07.2018
12:18:40
Shaz структура была дргуая Подготовка запроса на запись была в самой программе. А писали уже линейно как есть

Al
01.07.2018
12:18:48
Выкини тогда sql и бери монгу.
да пусть в текстовый файл просто пишет и парсит с него сам

база на листах до слез просто

Al
01.07.2018
12:20:20
я представляю если у тебя там пару гигов данных и ты при каждом старте прогружаешь их в память. а перед выключением выгружаешь на диск

Victor
01.07.2018
12:20:23
легко.. параметр будет (double doubleValue)

Google
Victor
01.07.2018
12:23:32
СУБД же не будет угадывать какой тип данных пишется. Он же по ходу приходит фиксированных. Но как я понял из книги, есть прослойка "концептуальный уровень, вроде как", который может реализовывать запись-чтения данных как-то иначе. Например, double записать в двоичных формат или чар для хранения. Т.к. разные клиенты могут хотеть получить данные по-своему

Ilia
01.07.2018
12:25:05
@AlexCAD ну а что невозможно записать нужные данные без bind* ? То что поля зависят друг от друга это понятно. Но в программе до записи в БД все данные для записи то вычисляются. Или пользователь вносит и, опять-таки, они уже готовы
Без BIND тебе придётся формировать вручную правильный SQL, в котором все входные данные (которые должны были бы быть представлены в виде параметров) представлены в виде языковых литералов SQL. 0) мало того, что это прямой путь к SQL injection преславутому, ну да фиг с ним... 1) Не все данные можно так уж легко представить в виде языковых литералов SQL 2) Даже если можно, это преобразование тебе придётся сделать руками, очень аккуратно и правильно. А _bind ДЕЛАЕТ ЭТО ЗА ТЕБЯ, ГАРАНТИРОВАНО ПРАВИЛЬНО!

Ilia
01.07.2018
12:27:56
легко.. параметр будет (double doubleValue)
Ну а параметр-то ты как без _bind передашь?

легко.. параметр будет (double doubleValue)
Я тебе как бы намекаю, что без _bind или аналогов double без потери данных вообще на сервер не передать...

Victor
01.07.2018
12:56:39
Я тебе как бы намекаю, что без _bind или аналогов double без потери данных вообще на сервер не передать...
Это нужно обмозговать. Не передавал я ещё параметры. Поэтому сложно что-то сказать с ходу. Писал просто простые вещи в базу и всё

Fike
01.07.2018
14:57:23
INSERT INTO abyss (anything) VALUES ('nothing')?

Ilia
01.07.2018
14:58:43
Любая вставка - Insert into mytable (field1, field2,...) Values ( ?, ?, ...)

Знаки вопроса - параметры...

INSERT INTO abyss (anything) VALUES ('nothing')?
Блин же ну для кого распинался я, что так не всегда можно...

Al
01.07.2018
15:03:01
Блин же ну для кого распинался я, что так не всегда можно...
У меня впечатление что ты застрял в каком то дремучем прошлом. И помнишь еще Ленина живым.

Fike
01.07.2018
15:04:31
Так это невозможно без указания параметров

я вот это вот опротестовал

Al
01.07.2018
15:04:57
Очень может быть
Ты вылазий с него. Ибо нынче много всякой фигни переложили либо на драйвер либо на саму базу.

Ilia
01.07.2018
15:05:08
Ну и я написал, при преобразовании в текст может нарушаться доменная целостность данных

Google
Al
01.07.2018
15:06:22
Те базы что я последнее время ковырял. Все работают с обьектами. Пхаешь обьект в базу и оно там само разгребает и возращает обьект

И не нужно ничего биндить

Fike
01.07.2018
15:07:03
эт драйвер разбирает

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

Al
01.07.2018
15:09:32
там все равно в любом случае есть явный или невяный протокол работы с данными, к которому надо преобразовывать входящие вещи
Там база при первой записи создает соотвествующие колонки. И потом при запросе возращает тот же тип. И не получится налету сменить тип. Нужно сбросить базу на ноль.

Admin
ERROR: S client not available

Fike
01.07.2018
15:10:40
Ну я про то, что объект все равно разбирается на составляющие и сериализуется. Даже если там документоориентированное хранилище, JSON от объекта != объект

Al
01.07.2018
15:10:49
Но с позиции приложения ты оперируешь обьектами. И можешь добавлять в обьект суцности налету. Но не можешь изменять тип данных

Fike
01.07.2018
15:17:47
Да я не про sql. В кассандре кстати очень забавно нескалярные типы хранятся.

Там-то как раз вот этого разбора на составляющие сколько хочешь

Al
01.07.2018
15:19:25
Там-то как раз вот этого разбора на составляющие сколько хочешь
Но оно все внутри и ты его по сути не видишь и не трогаешь

Да я не про sql. В кассандре кстати очень забавно нескалярные типы хранятся.
Забавно когда sqlщики берут в руки nosql базу. Пытаются натянуть сову на глобус ( сделать как в sql) . А потом бегают с матами и расказывают как все плохо

То сова лопнет. То глобус слишком большой ?

Max
01.07.2018
16:46:21
пасаны через схему в постгресе кто-нибудь реализовывал multi-tenancy? два вопроса: 1. можно ли наследовать схему? 2. можно ли наследовать таблицу между схемами?

Fike
01.07.2018
16:50:40
Лучше сразу в @pgsql

Max
01.07.2018
16:50:55
спасибо

Victor
01.07.2018
17:34:15
Читаю я ваши размышления. И понимаю, что между собой даже чутка спорите. Где же новичку в базах это понять всё))

Google
Victor
01.07.2018
17:37:27
@etkee а как были сразу?

Fike
01.07.2018
17:38:25
@etkee а как были сразу?
Тот момент, когда тебе не надо объяснять сарказм, потому что его объяснили за тебя

Victor
01.07.2018
17:41:33
Я по ходу начинаю догонять уже с большего. Как я понял, в SQL-инструкции просто когда передаю параметры. Каждый параметр который нужно будет связать заменяю на шаблон, который нужен: ? ?NNN :VVV @VVV $VVV А дальше уже параметр на ссответствующем индексе привязываю к нужному значению и всё. Так?

Тока вот ип то мы не передаём. Получается тип с передаваемой переменной берётся как я понимаю

Я даже нашёл отличный пример: sqlite3_stmt *stmt=nil; sqlite3 *cruddb; //insert const char *sql = "UPDATE Peaks SET notes=? where ID=?"; //Open db sqlite3_open([path UTF8String], &cruddb); sqlite3_prepare_v2(cruddb, sql, -1, &stmt, NULL); sqlite3_bind_text(stmt, 1, [self.viewNotes.text UTF8String], -1, SQLITE_TRANSIENT); sqlite3_bind_int(stmt, 2, [self.detailItem ID]); sqlite3_step(stmt); sqlite3_finalize(stmt); sqlite3_close(cruddb);

Al
01.07.2018
18:00:22
Тот момент, когда тебе не надо объяснять сарказм, потому что его объяснили за тебя
Ты табличку поднимай. А то некоторые видимо не понимают.

Victor
01.07.2018
18:08:57
@AlexCAD Всмысле?

код не понимают?

Ilia
01.07.2018
18:10:25
Тока вот ип то мы не передаём. Получается тип с передаваемой переменной берётся как я понимаю
Тип в _bind как раз указывается. Значение и тип, и некоторые другие параметры

Victor
01.07.2018
18:11:58
Здесь присутствуют выше несколько сарказистов. У них это слово в каждом сообщении..))

просто иногда странные вещи пишут в документации

Читаю: "When the same named SQL parameter is used more than once, second and subsequent occurrences have the same index as the first occurrence." Перевёл так: Когда одинаково-названные SQL-параметры используются более чем единожды, второе и последующие вхождения имеют тот же индекс, как и в первом вхождении.

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

Страница 560 из 718