Первичный ключ, внешний ключ, суррогатный ключ / Илья Хохлов
ฝัง
- เผยแพร่เมื่อ 11 พ.ค. 2021
- Первичный ключ - это столбец (или набор столбцов) в таблице, с помощью значения которого (которых) всегда можно сослаться, выйти только на одну строку в таблице. Значения этого столбца служат идентификатором каждой строки таблицы и поэтому не могут иметь пустые или повторяющиеся значение. Если в таблице данных нет столбца с данными, которые могли бы быть уникальны в пределах таблицы (а такой столбец нужен), то добавляется ещё один столбец к таблице, данные которого не имеют отношения к смыслу хранящихся сведений и почти всегда являются просто сквозной авто-нумерацией строк. Этот столбец и называется суррогатным ключом.
Вы так позитивно говорите, что аж прям настроение поднимается) Спасибо вам!
Благодарю, Илья, крайне доходчиво, просто и полезно! Действительно сокровище )
Здравствуйте, Михаил! Большое Вам спасибо за комментарий!
0:20 - Первичный ключ
6:19 - Внешний ключ
9:10 - Суррогатный ключ
Суррогатный он же потенциальный правильно?
Большое вам спасибо, всё по делу и голос у вас очень приятный и дружелюбный😊
Очень хорошее объяснение. Готовлюсь к собеседованию, и видео очень хорошо освежает в памяти то что уже знаешь.
очень понятно всё объясняет! приятно слушать!
Отличная информация. Большое спасибо!
Спасибо Вам за Ваше внимание! И комментарий!
Спасибо большое за видео) много посмотрел по этой теме видео и только твоё помогло мне понять что и как))
Спасибо большое! Очень нравится, что объясняете одну вещь и тут же раза 3-4 ее проговариваете, чтобы мозг зацепился
Здравствуйте, Андрей! Спасибо Вам за внимание и комментарий!
Спасибо за доступное объяснение
Спасибо Илья, я начал изучать SQL чтобы поступить на курсы тестировщиков, но меня не приняли. SQL мне понравился и я изучаю его дальше. Мне было все понятно в этом ролике, доходчиво объяснили, я пишу конспект по урокам
Ну что друг,как успехи,получилось?
А почему не приняли?
@@user-nv3ch5bd7g написали что конкурс у них, ограниченное колличество мест, и наверное опыт мой небольшой не устроил
Ну как дела ?
@@user-ug5gj1kz8x дела... Вообще никак, забил на обучение, работаю на той же работе.
Отлично объясняете! Спасибо!!
Спасибо Вам за внимание!
Внешний ключ это первичный ключ другой таблицы. Понятно, спасибо
Спасибо, отличное видео.
Доходчиво) Спасибо)
Было бы интересно посмотреть, как сделать логику сохранения данных в sql для статистики сайта, хосты, уники, созданные заказы, оплаченные заказы, сумма. После как правильно делать выборку данных из sql за определенный период, день, неделя, месяц.
Я уже 4 месяца никак не могу сделать по уму на своем сайте, вернее вроде сделал, а когда в сутки на мой сайт заходит больше 100к хостов, то выборка данных за 1 сутки занимает около 30 секунд, а месяц вообще не могу посмотреть, sql ложиться(((
СПАСИБО!
спасибо!
В чём состоит разница между ключами: первичным, потенциальным, альтернативным, суррогатным?
Спасибо
То что надо!)
Спасибо!
Илья, про суррогатный ключ примера таблички не хватает. Например, на последнем слайде Петрова Надежда Анатольевна имеет id = 2. Если предположить, что понадобится добавить ещё одну запись Петрова Надежда Анатольевна, то этой записи присвоится 3 или цифра, представляющая следующую цифру за последним существующим в таблице id? Т.е. согласно табличке на слайде новая запись Петрова Надежда Анатольевна будет иметь id = 6?
Если создать точно такую же запись с одинаковым именем, в нашем случае это Петрова Надежда Анатольевна, но у второй, новой, будет, к примеру, другая дата рождения, то айди присвоится 6, то есть следующий, по возрастанию. По крайней мере так работает в Postgre sql
UPD. Только что проверил, если создать две совершенно одинаковые записи, то айди всё равно будет 6, потому что это другая запись, хотя и данные одни и те же, но всё же другая со своим айди
для этого и существует суррогатный ключ - новый атрибут, который будет уникальным для двух и более одинаковых строк -
| surrogate_key_1 | Петрова Надежда Анатольевна | primary_key_1 | id_2
| surrogate_key_2 | Петрова Надежда Анатольевна | primary_key_1 | id_2
только у данных двух строк будет различен 1 атрибут - суррогатный ключ - то есть, суррогатный ключ - своего рода первичный ключ для таблиц, где необходимо дублирование строк, но т. к. всегда должна присутствовать возможность обращаться к отдельно взятой строке, появляется нужда в некотором атрибуте, по которому можно будет обращаться к отдельно взятой ранее дублированной строке
ахаха это офигенно))) по 15 раз одну и ту же фразу повторяете и мой мозг прям запоминает инфу))) аххах прям заедает, но это очень крутое качество для преподавателя
А как узнать, название внешнего ключа ?
Подскажите, а зачем используют несколько первичных ключей в одной таблице
Спасибо Вам за вопрос. Первичный ключ в таблице может быть только один. Но он может состоять из двух (и более) столбцов. Из комбинации значений в этих столбцах.
Хорошо разжевал, спасибо за теорию. Но пожалуйста, чуть чуть четче говори.
Здравствуйте! Спасибо! Буду стараться!
Как всё запутано вроде понимаю но не понимаю
Первичный главный айди
Внешний из другой таблицы
Суррогатный это первичный но не первичный(и всё уже не понимаю🥲)
Есть еще натуральный ключ! Интересно что это!
про суррогатный ключ совсем не понял
А суурогатный ключ тоже есть
Да. Это первичный. Это одно и то же. Только когда первичным ключом невозможно сделать какой либо из существующих смысловых столбцов в таблице, делают ещё один. Просто сквозную нумерацию. Это и есть суррогатный ключ.
Foreign значит иностранный
так же есть значения
такие как
- инородный
- чужой
- наружный
о чем это он...
о многом