Тут разные dbms ведут себя по разному. Вообще добавление столбца формализовано только на уровне SQL.
Реализация может быть любой. К примеру для Oracle (при отсутствии активных транзакций) добавление
столбца идет мгновенно. Это модификация словаря метаданных. Но учитывая DDL класс операций
- ее нельзя параллельно "подпихнуть" к действующим транзакциям.
Для графовых и всяких NoSQL систем где schema-less модель хранения данных - не требуется вообще ничего.
Столбец добавляется прозрачно как будто и всегда был. Вернее сказать таблице безразлично число столбцов
и их имена. Просто начинаешь вливать данные с новой колонкой и все ОК. Но там другая беда - нельзя сделать
desc. Впрочем - надо смотреть по каждой. NoSQL - это сильно широкая метафора.
Magachka1, я думаю что далее мои советы будут вредны в этом топике. Мне надо влезть в твою шкуру и понять чем ты отличаешся от 99.9% других школьников которые учатся как все и поступают как все. А это невозможно в рамках вопросов на QA.
Adamos, и кому она нужна такая? Она-же не замена десктопу. В этом вся суть. Другой класс оборудования. Понимаешь. А ты эти два класса хочешь взять руками и притянуть друг к другу. И еще доказать что это эквивалент.
Кстати да. Сейчас есть такие как Xubuntu (XFCE) которым надо 1Гб памяти и все. Ну тоесть реально на металоломе работают. А для изучения например сетей и протоколов этого более чем достаточно. Даже интересно. Вот щас есть целое комьюнити фриков которые покупают Raspberry, Arduino, и железки более мелкие вплоть до stm-32. И что-то там кодят. Это-ж мозохисты. Но они себе там то умный дом делают. Тоже тема.
oneLEAM, такого уровня изоляции не знаю. Ну вот выше по тексту тебе предложили виртуалку. Ну не знаю. Мне было-бы не интересно. Я люблю полный доступ к железу чтоб можно было педаль в землю втопить. Виртуалка - это ограничитель. Кроме того если ты начинающий пользователь то ты даже сходу доступа к этой виртуалке не откроешь. Понимаешь разницу между nat, brigde, host e.t.c? Это будет челледж еще тот. Замкнутый круг. Ты изучаешь линукс. Ставишь на виртуалку и доста к нему нету с других машин. А нету - потому что ты изучаешь линукс. А если ты что-то тыкнул или "оно заработало" - ты еще нихрена ни линуксоид. Надо чтоб оно упало в плинтус. И ты разобрался. Поднял. Поэтому я против виртуалки в данном учебном примере. Хотя во всех других отношения виртуалка удобна конечно.
Ты можешь на бумажке нарисовать график (линия) который пройдет через нужные тебе точки.
(1,1) и (8,100) и далее как делали в школе - придумать функцию которая пройдет через эти
две точки. Там легко. Найти коэффициент наклона и сдвиг по оси Y.
После этого у тебя - готовая функция вида y = f(x) и подставляй в нее вещественные числа и все будет ок.
Да можно имя сократить. Вот эта вся эстетика "Доступно_на_складе...." она ведь самой базе не нужна.
И программисту который делает отчеты - тоже не надо. Я в таких случаях детализацию скидываю в
комментарии к солонкам. Те кто не знают - посмотрят.
create table ostatki
(
toliatty_mag decimal
);
comment on column ostatki.toliatty_mag is 'Доступно_на_складе...';
Те кто знают - им пофиг. И приложению обычно пофиг т.к. маппинг является частью кода приложения почти всегда. Ну я не видел приложений которые всегда отображают поля 1:1. Всегда есть какие-то украшения.
Vitsliputsli, ну почему-же. Оптимальное хранение информации - это архиваторы. Это тоже тема. Только формулировка другая. И мои претензии - только к формулировке задачи.
Если действовать по аналогии с base85 то можно было получить 56 бит на один пароль.
Да и кто вообще хранит пароли на сайтах? Есть же хеши. Хоть бы речь шла о key-wallets.
Скорее всего в компилляторе есть некий хардкод который если видит знакомый шаблон - включается. Типа интризик.
Но я-бы на твоём месте собирал это в отдельных функциях и наблюдал-бы ассемблерный выхлоп. Хотя-бы на уровне - меняется код или не меняется для данной функции.
Кстати обидно что в топике ты не указал компиллер. Clang? Gcc? VisualC++?