Рубрики
Без рубрики

Actinaria sp.

Систематика актиний в последнее время меняется очень быстро. Немного контринтуитивно, но систематика в «листьях» таксономического дерева гораздо более ясная, чем в близких к корню узлах. Профессионалы стараются оперировать семействами, как самыми крупными группами. В отрядах происходят постоянные перетасовки. Иногда мне кажется, что учёные таким образом просто пытаются выбить гранты или получить очередную публикацию.

В любом случае, я не профессионал и даже семейство этой актинии не знаю. Когда я её покупал, её назвали Карибской, но я такой не нашёл, поэтому в своих фотографиях она помечена как Бермудская.

Рубрики
Без рубрики

Mycetophyllia sp.

Иногда в аквариумных поставках попадаются полипы, которые ранее не были замечены ни у аквариумистов, ни у продавцов. Вероятно, на фермах при отправках не особо обращают внимание на видовую принадлежность и выбирают что-то похожее внешне. Эта колония была обозначена как Mycetophyllia sp. по прайсу, но я сильно сомневаюсь, что это действительно Mycetophyllia.

В моём аквариуме коралл прожил совсем недолго. Через неделю после покупки появилась чёрная полоса, которая медленно распространилась и уничтожила всю колонию.

Рубрики
Без рубрики

2023-06-13

До сих пор удивляюсь, откуда это растение берёт воду.

Рубрики
Без рубрики

Leptoseris sp.

Недавно на аквариумном рынке появились кораллы рода Leptoseris. Это связано с тем, что лептосерисы являются глубоководными кораллами, и дайверы не могли доставить их на рынок в большом количестве. Однако, в последнее время аквариумисты научились успешно содержать эти кораллы, создавая для них подходящие условия (NO3 15 ppm, слабый свет и умеренное течение).

Большинство лептосерисов, которые сейчас продаются, поступают не из дикой природы, а со специализированных ферм. На фотографии представлен именной фраг — Jack-o-Lantern — это типичный пример коралла «с фермы».

Рубрики
Без рубрики

2023-06-10

Угадайте оперу по костюмам.

Рубрики
Без рубрики

Zoanthus sp.

Зоантусы очень популярны среди любителей аквариумистики. Их полипы имеют внешний вид, напоминающий цветы: на ножке расположен ротовой диск, по краю которого находятся тонкие щупальца, похожие на лепестки. Разнообразие зоантусов впечатляет. У многих моих знакомых в аквариуме содержится несколько десятков различных видов зоантусов.

Однако, при работе с зоантусами следует помнить, что некоторые виды содержат значительное количество палитоксина, который может вызвать серьёзные отравления даже у взрослых и здоровых людей. Чаще всего отравления происходят при попытках расфраговать колонию.

Рубрики
Без рубрики

Про суррогатные ключи

Если выполнить SQL-запрос:

  1. SELECT id FROM <таблица>

то весьма вероятно он не только выполнится без ошибок, но и вернёт множество (в самом хорошем, математическом, смысле этого слова) целых чисел.

Многие программисты, с которыми я знаком, добавляют во все создаваемые таблицы столбец с автоматически генерируемыми монотонно возрастающими целыми числами и делают его первичным ключом. Однако, когда я спрашиваю, зачем это нужно, я редко получаю разумные аргументы в ответ. Большинство отвечает просто «все так делают» или «просто привыкли». Как вы знаете, привычки бывают полезными и вредными. В этой записи я постараюсь показать, что привычка добавлять автоинкрементный столбец и делать его первичным ключом может быть весьма вредной.

Давайте вспомним, зачем вообще нужны первичные ключи. Распространённая, хоть и неправильная, точка зрения состоит в том, что первичный ключ позволяет однозначно идентифицировать строку в таблице. Это неправильное понимание причины и следствия. На самом деле первичные ключи необходимы для гарантированного отсутствия повторяющихся строк.

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

Однако, давайте вернемся к основной цели нашего разговора. Мы уже установили, что первичный ключ необходим для гарантии отсутствия повторяющихся строк и является способом «усиления семантики». Добавляя столбец с гарантированно уникальным значением, вы не вносите ничего нового с точки зрения данных, а лишь создаете иллюзию хорошо спроектированной таблицы. В действительности, вы можете создать любое количество записей, которые будут идентичны во всех столбцах, кроме столбца с суррогатным ключом. Я не буду описывать проблемы, к которым это может привести, так как уверен, что вы сами понимаете, почему такие таблицы являются очень плохой идеей.

На этом этапе многие могут возразить, утверждая, что использование «естественного» составного первичного ключа и передача его из родительской таблицы в дочернюю является плохой идеей. Это разумное замечание. Я сам являюсь не только теоретиком, а также практиком, и поэтому в таких ситуациях рекомендую использовать суррогатный ключ с обязательным наложением ограничения уникальности на потенциальный ключ. Таким образом, мы одновременно защищаемся от появления семантически идентичных строк в таблице и получаем возможность передавать в процедуры, запросы и дочерние таблицы короткое целочисленное значение. Кроме того, стоит помнить, что чем короче ключ, тем более эффективно работают ограничения FOREIGN KEY и операции соединения, а также требуется меньше места для хранения ключа в связанных таблицах.

Безусловно, существуют и другие ситуации, когда суррогатные ключи необходимы. Например, в организациях часто используются табельные номера сотрудников, что является идеальным примером для применения автоинкрементных уникальных значений. На самом деле, каждый из вас сможет придумать множество ситуаций, когда использование суррогатных ключей оправдано. Однако, прошу вас не применять их бездумно в каждой таблице! И если вам все же необходимы суррогатные ключи, то стоит задуматься, не будет ли лучшим решением использование GUID-ов вместо автоинкрементных значений.

Рубрики
Без рубрики

2023-06-07


Сначала я узнал, про замёрзший фонтан высотой несколько метров, и только потом про радиоактивное загрязнение.

Рубрики
Без рубрики

Montipora sp.

Монтипора — это жёсткий коралл, который в любительской классификации относится к SPS (мелкополипным кораллам).

В отличие от более требовательных Acropora, монтипоры могут выживать при меньшей освещенности и при более низком качестве воды. В природе монтипоры широко распространены и растут на множестве коралловых рифов, образуя огромные колонии. Внутри одной колонии можно встретить различные формы роста коралла: и листовые, и корковые, и даже ветвистые.

Рубрики
Без рубрики

2023-06-05

Когда-нибудь, у меня полноценный длиннофокусный объектив или даже телескоп. Пока так.