sql Внешние ключи: преимущества, недостатки, альтернативы

Forums:

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

sql Что такое первичный ключ, зачем он нужен

Forums:

Первичный ключ — уникальный атрибут, который служит для однозначной идентификации каждой записи в таблице.
Преимущества первичного ключа:

  1. Повышение эффективности поиска и обновления данных

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

Сильное зацепление и слабая связность микросервисов - что это такое (Саэ Ньюман)

Сэм НЬюман пишет о двух свойствах полезных для микросервисах:

  • Слабая связаность
  • Сильное зацепление

ssh Туннель -L -R Где какой порт: локальный и удаленный - Туннелирование

Собственно:

  • Если у вас флаг -L:
     ssh -L

    то первым указываются локальный адрес (если нужно) локальный порт, как в этой заметке про туннель

  • Если флаг -R:
     ssh -R

    то первыми идет адрес (если требуется) и порт удаленного узал

Источник цитаты далее: https://linuxcommand.org/lc3_man_pages/s...

Ниже цитаты с описаниями:

git scripts Команды для работы с Гит-ом и разными ветками в нем

В эту сборку входят в т.ч. команды:

Подключение

nano ~/.bashrc

И далее куда-то в конец:

if [ -f ~/.git-scripts.sh ]; then
    . ~/.git-scripts.sh
fi

далее правим файл (копируем нужные функции из кода ниже) и вызываем:

. ~/.bashrc

-- чтобы новые функции были доступны

Скрипты

Для копирования:

sql Выбираем нужное количество элементов, в ситуцаии, когда id прорежены - Задачи с собеседований

Forums:

Задача

У вас есть таблица, в которой прорежены id-шники (главные ключи), например, они идут в таком порядке (начало ряда):

5, 7, 21, 35, 41, 42, 43, 56.....и т.д.

Вопрос: как выбрать первые 70 элементов.
(задача простая)

sql Многие ко многим, условия на группировку - Задачи с собеседований

Forums:

Задача

Есть книги и авторы, одну книгу могут писать несколько авторов и, конечно же, один автор может написать много книг (промежуточный вопрос по sql: как организовать такую связь? вы тут же отвечаете: ""это "многие ко многим", потому через 3 таблицы"").

И далее уже непосредственно задача: напишите запрос, который выведет названия книг написанных ровно двумя авторами.

sql Определение максимума в группа и условия на количество элементов в группах - Задачи с собеседований

Forums:

Задача

В некоторой СУБД есть таблица persons, в которой есть поля:

  1. id
  2. name -- имя сотрудника
  3. salary -- его зарплата
  4. department_id --id отдела, в котором работает данный сотрудник.

Напишите SQL запросы:

  1. Который выведет список людей, которые получают максимальную зарплату в своём отделе.
  2. Который выведет список отделов (их id), в которых работают больше чем 5 человек.

sql Что такое индексы? Для чего они вообще нужны и как устроены, за счет чего достигается "ускорение"

Forums:

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

Команды создания индексов

Пример создания индекса для одного столбца:

CREATE INDEX idx_email ON users (email);

Индекс для нескольких столбцов:

Задача 13 Урок 15

Задача 13 Урок 15

Пусть есть процедура, которая умеет сдвигать массив влево на 1 элемент, начиная с указанного символа (устанавливая последний элемент равным нулю):

type newArr = array [1..5] of integer;
procedure shiftArr(var promArr: newArr; k:integer);
var j:integer;
begin
for j:=k to 4 do
promArr[j]:=promArr[j+1];
promArr[high(promArr)]:=0;
end;

Pages

Subscribe to fkn+antitotal RSS