
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* ... Вот этоинтересно. Если бы был пример нормальный заценить было бы понятно

Al
01.07.2018
12:05:45
вот у тебя одна строка в ней и куча столбцов

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

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 до этого ещ не дошёл

Al
01.07.2018
12:10:33

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

Al
01.07.2018
12:11:52

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

Fike
01.07.2018
12:17:17

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

Fike
01.07.2018
12:18:31

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

Al
01.07.2018
12:18:48
база на листах до слез просто

Ilia
01.07.2018
12:19:33

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

Al
01.07.2018
12:25:24

Ilia
01.07.2018
12:27:56

Victor
01.07.2018
12:56:39

Ilia
01.07.2018
14:56:31

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 ( ?, ?, ...)
Знаки вопроса - параметры...

Al
01.07.2018
15:03:01

Fike
01.07.2018
15:03:33

Ilia
01.07.2018
15:03:52

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
То сова лопнет. То глобус слишком большой ?

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
Читаю я ваши размышления. И понимаю, что между собой даже чутка спорите. Где же новичку в базах это понять всё))

Fike
01.07.2018
17:36:24

Google

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

Fike
01.07.2018
17:38:25

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

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-параметры используются более чем единожды, второе и последующие вхождения имеют тот же индекс, как и в первом вхождении.
Но понимаю, что с чего бы то вдруг параметры будут одинаково называться