SQL Урок 7 | Создание отношений (связей) между таблицами | Для Начинающих

Поділитися
Вставка
  • Опубліковано 9 бер 2017
  • В этом видео уроке мы будем создавать отношения между таблицами. Вы узнаете, что существуют такие связи, как многие к одному, многие ко многим и один к одному. Я постепенно на протяжении двух уроков буду объяснять для чего нужны такие связи и наглядно покажу на примере наших таблиц, как просто строить связанный sql запрос.
    Также, если Вы никогда не умели программировать ни на каком языке и хотите научиться, тогда Вам тоже к нам.
    Мои видеокурсы:
    Программирование для Начинающих - robotobor.pro/programming-for-...
    Видеокурс "Погружение в язык VBA" - course.robotobor.pro/vba/dippi... - Профессиональное программирование на VBA
    Наш официальный Сайт: robotobor.pro
    Наша Группа ВКонтакте: robotobor_pro
    Наш Инстаграм: / robotobor_pro
    Мой C#.NET Инстаграм: / csharp_dotnet

КОМЕНТАРІ • 100

  • @bekat2265
    @bekat2265 2 роки тому +24

    20:00 таймкод. С этого момента начинается тема "связи"

  • @aizendark1054
    @aizendark1054 4 роки тому +37

    привет с 2020 года спасибо большое за ценный урок

  • @vasilich_bear
    @vasilich_bear 3 роки тому +12

    Спасибо за информацию, все понятно и доступно рассказано простым языком. Пысы 2020 год.

    • @RobotoborPro
      @RobotoborPro  3 роки тому

      Основной стандарт и основы SQL на протяжении многих лет не меняются, фундамент. Только фичи добавляются к конкретным СУБД.

  • @daimex1794
    @daimex1794 3 роки тому +11

    И из апреля 2021 тоже привет!) Спасибо, благодаря вашим урокам стал разбираться в sql

  • @babunv2
    @babunv2 2 роки тому +1

    "Об этом лучше почитать, но принцип вам понятен!" Супер

  • @empty9228
    @empty9228 4 роки тому +7

    Очень круто объясняешь, простым понятным языком и не куда не спешишь! Большое спасибо!

    • @RobotoborPro
      @RobotoborPro  4 роки тому +3

      Спасибо. Да, цель курса - это донести до любого по-настоящему заинтересованного человека: что такое SQL и реляционные БД, и с чем их едят )

  • @Пестик
    @Пестик 4 роки тому +45

    Спасибо ютубу за ускорение в 1.5 :)

    • @another_china
      @another_china 4 роки тому +3

      Павел Павел 1,75 минимум)

    • @_dyats
      @_dyats 4 роки тому +8

      @@another_china Да тут 2 мало ;)

    • @user-vj7cz8ey5v
      @user-vj7cz8ey5v 4 роки тому +3

      Блин, я чуть не уснул когда смотрел, концентрация теряется, но врубаешь 1.5 и внимание повышается.

    • @user-kc7kg9uk4k
      @user-kc7kg9uk4k 4 роки тому

      я на 2 :)()()000)

    • @user-kc7kg9uk4k
      @user-kc7kg9uk4k 4 роки тому

      @@_dyats кста да

  • @kslmPtr
    @kslmPtr 7 років тому +20

    По вашим видео делаю курсовой проект, спасибо =)

    • @RobotoborPro
      @RobotoborPro  7 років тому +3

      +KotaNchiKProduction Ого, здорово!

  • @ste1vy415
    @ste1vy415 8 днів тому

    На дворе 2024 год, а видео до сих пор полезно, спасибо!

  • @akfalet
    @akfalet 3 роки тому

    Спасибо большое за урок.

  • @dsmenov
    @dsmenov 3 роки тому +1

    Спасибо.
    Такой вопрос - почему мы не можем в таблицу Lessons добавить колонку, где будем ставить айдишник учителя напротив каждого урока

  • @user-yo7mw6oj4p
    @user-yo7mw6oj4p Рік тому +1

    Конец 2022 все актуально. Спасибо.

  • @nikvand
    @nikvand 7 років тому +8

    Круто! Пили еще =)

    • @RobotoborPro
      @RobotoborPro  7 років тому +6

      Скоро на ваших экранах :)

  • @sergeys4503
    @sergeys4503 7 років тому +1

    Лайк, очень помог

  • @couch_coach
    @couch_coach 3 роки тому

    версия SSMS 18,6 - диаграммы просто не создаются, но можно на открытой таблице: щелк правой кнопкой мыши - отношения - и то же окошко "добавить связь" появляется

  • @galaint3124
    @galaint3124 5 років тому +10

    Спасибо за урок. Правда, пока искала имена режиссеров, чуть не ушла смотреть "Игры разума" с Расселом Кроу)

  • @user-xg4pd7en9d
    @user-xg4pd7en9d 3 роки тому

    Отличное видел, всё понятно и быстро запоминаю. Но по 25-й минуте вопрос: получается, внешний ключ это тот, который к себе присоединяет (к которому присоединяем), первичный ключ - тот, который присоединятся. Так?

  • @akireev123
    @akireev123 7 років тому

    использую DataGrip
    к сожалению не нашел как там графически связать таблицы, буду гуглить сейчас как это сделать в коде

  • @overjoyed1515
    @overjoyed1515 Рік тому

    Здравствуйте! Как убрать это всплывающее окно?
    ЗАГОЛОВОК: Microsoft SQL Server Management Studio
    Невозможно применить настройки соединения. Подробное сообщение об ошибке: Неправильный синтаксис около ключевого слова "SET".

  • @TriPPer12YO
    @TriPPer12YO 2 роки тому

    Классный ролик, жалко про каскадное обновление не упомянул в нём, очень полезная штука

  • @brokert3163
    @brokert3163 Рік тому

    Столбы в таблице Lessons не совпадают с существующим первичным ключом или ограничением UNIQUE. Как это исправить. Делал вроде в точь в точь

  • @Kirill-medvedev168
    @Kirill-medvedev168 4 роки тому +2

    у меня ошибка Конфликт инструкции ALTER TABLE с ограничением FOREIGN KEY, что делать?

    • @romex44
      @romex44 4 роки тому

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

  • @progtechno3173
    @progtechno3173 4 роки тому

    Спасибо, могли бы также показать и отношения 1:1, N:M и сам к себе

  • @user-jj8tg5vd7u
    @user-jj8tg5vd7u 4 роки тому +6

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

    • @yakut54
      @yakut54 8 місяців тому

      я уснул

  • @ivanweber5125
    @ivanweber5125 4 роки тому +1

    Столбцы в таблице Teachers не совпадают с существующим первичным ключом или ограничением UNIQUE. В чем может быть проблема? Делал все строго по уроку

    • @RobotoborPro
      @RobotoborPro  4 роки тому

      Проверьте, все ли id есть в таблице Teachers. Должны быть все, которые есть в таблице TeachersAndLessons по полю TeachId.
      Id не должны повторяться в таблице Teachers.

  • @AleksandrMaltsev-jm8ph
    @AleksandrMaltsev-jm8ph 3 роки тому

    2021 Спасибо!!!

  • @user-th7rl3lx7z
    @user-th7rl3lx7z 4 роки тому

    Привет,подскажи пожалуйста почему у меня два жёлтых ключа идут в обе стороны?

  • @oxanaandrushuk1902
    @oxanaandrushuk1902 4 роки тому

    Вопрос а как вы делаете чтобы сразу 2 строчки отметились у меня не получается

  • @user-cw9ev9dq4v
    @user-cw9ev9dq4v 5 років тому +1

    7:30 У меня нельзя изменить индентификатор с нет на да. Просто серым подсвечивается надпись.

    • @user-cw9ev9dq4v
      @user-cw9ev9dq4v 5 років тому

      А всё, я ограниченный id поставил ( nchar). Надо поменять на другой тип данных

    • @daniilzhmak5084
      @daniilzhmak5084 4 роки тому

      @@user-cw9ev9dq4v разве не increment должен быть?)

  • @arsadaul9910
    @arsadaul9910 4 роки тому

    почему всё таки произошла ошибка вставки и сбив идентификаторов примерно на 12 минуте? как избежать такой ошибки?

    • @RobotoborPro
      @RobotoborPro  4 роки тому

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

  • @yuraburanov4517
    @yuraburanov4517 6 років тому

    Спасибо больше за видеоуроки! По ним делаю курсовой проект :)
    У меня проблема возникла. Когда я пытаюсь связать две таблицы, возникает ошибка:
    The column it table do not match an existing primary key or UNIQUE constraint.
    Вопрос: Как исправить эту ошибку? Я и гуглить пытался и видеоуроки искал - не помогло. Объясните кто-нибудь недалёкому - что делать?))

    • @mishadizel7820
      @mishadizel7820 4 роки тому +1

      Была такая же проблема. Проверь обе таблицы чтобы у полей были назначены первичные ключи. У меня не был назначен первичный ключ для таблицы Teachers (Поле ID), после добавления связь успешно создалась

  • @0suffix0
    @0suffix0 3 роки тому +1

    Если смотреть на x1.75, то очень даже хорошо

  • @alfiyas.4651
    @alfiyas.4651 4 роки тому +2

    В lessons забыли про любимую информатику:))

  • @user-os8ks9ms1y
    @user-os8ks9ms1y 5 років тому

    Как ты создал два первичных ключа в таблице?

    • @RobotoborPro
      @RobotoborPro  5 років тому

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

    • @starchess6137
      @starchess6137 5 років тому

      Выдели 2 строки

    • @RobotoborPro
      @RobotoborPro  5 років тому

      Если Вы про первичный ключ с несколькими полями, то он называется составной первичный ключ. Просто, выделяете два поля (две строки) и создаете.

  • @user-ou8ir7zg3l
    @user-ou8ir7zg3l 3 роки тому

    Почему в Lessons в качестве первичного ключа задали Name? В послудающих уроках вам очень трудно ведь указывать Name в запросах JOIN. Постоянные ошибки в написании и тд..

  • @mirlan19
    @mirlan19 3 роки тому

    👍

  • @user-br8yt5kl5b
    @user-br8yt5kl5b 3 роки тому

    Скажите пожалуйста, почему у меня ID выводятся -1,-2,-3, и т.д.?

    • @RobotoborPro
      @RobotoborPro  3 роки тому

      Скорее всего Вы поставили шаг приращения равным -1, а не 1

    • @user-br8yt5kl5b
      @user-br8yt5kl5b 3 роки тому

      @@RobotoborPro ставил 1, гуглил ни где ответа не могу найти( и занова все с нуля пробовал

  • @KryTwo
    @KryTwo 2 роки тому

    только на 23й минуте начал по делу говорить

  • @user-xx6pj8xv8b
    @user-xx6pj8xv8b 5 років тому +1

    диаграммы база данных не вижу, не выходит где ее найти?

    • @RobotoborPro
      @RobotoborPro  5 років тому

      Попробуйте обновить папку с диаграммами в менеджмент студии.

    • @user-xx6pj8xv8b
      @user-xx6pj8xv8b 5 років тому

      а как обновить не смон найти((
      @@RobotoborPro

    • @RobotoborPro
      @RobotoborPro  5 років тому

      Для начала ее нужно создать. Вы ее создавали?

    • @Fordf730
      @Fordf730 5 років тому

      @@RobotoborPro как ее создать, тоже не могу найти застопорился на этом уроки!

    • @RobotoborPro
      @RobotoborPro  5 років тому

      На папке Диаграммы, щелкаете правой клавишей мыши, и выбираете Создать диаграмму.

  • @lexlotar4847
    @lexlotar4847 4 роки тому

    Вроде все понятно, но я не очень понимаю зачем большую часть видео нужно смотреть на то как автор заполняет таблицы. Видео можно было бы укоротить в раза 3 и приходится перематывать до нужных моментов. Но все равно спасибо.

  • @couch_coach
    @couch_coach 3 роки тому

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

    • @RobotoborPro
      @RobotoborPro  3 роки тому

      Это одно и тоже. Согласен, что более устоявшееся выражение: один ко многим. Но от этого смысл абсолютно не меняется. Так как это отношение можно рассматривать с двух сторон, либо от одного ко многим, либо от многих к одному, кому как нравится. Вообще, есть также отношение от многих ко многим, и уж тут-то нужно уметь думать в отношениях от многих к одному и от одного ко многим.

  • @predel3561
    @predel3561 3 роки тому

    Эх, преподает SQL, а в уроках Информатику не вспомнил...

  • @lonelypaul69
    @lonelypaul69 Рік тому +1

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

  • @MrMegaEge
    @MrMegaEge 2 роки тому

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

    • @Ersa556
      @Ersa556 2 роки тому

      действительно, так более погрузишься в код и будет больше пониманий, по моему наблюдению

  • @user-nr3pm2hy3l
    @user-nr3pm2hy3l Рік тому

    я царь кстати

  • @ARLIAMANJHO
    @ARLIAMANJHO Рік тому

    КАААААК????? А где Информатика??????

  • @TinTaBraSS777
    @TinTaBraSS777 4 роки тому

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

  • @TinTaBraSS777
    @TinTaBraSS777 4 роки тому

    чувак весь эс кью эл можно изложить в одном уроке на полчаса сука как можно по нему было сделать десять уроков !? ) по полчаса пустословия в каждом

    • @RobotoborPro
      @RobotoborPro  4 роки тому +2

      За пол часа, тем, кто впервые, вообще, т.е. совсем не знаком с БДых, ты не расскажешь. Если так судишь об этом, значит опыта у тебя маловато совсем, а максимализма дофига.

  • @Jesus_Christ_is_LORD
    @Jesus_Christ_is_LORD 5 років тому +1

    Дизлайк, у меня от TeacherAndLessons к Teachers идет "один к одному", с этим ты вообще ничего не разъяснил.))
    Лучше проектирование не рассказывай, у тебя поверхностно все получается :)

    • @TinTaBraSS777
      @TinTaBraSS777 4 роки тому

      Christian Karapetyan он просто открыл чужую книгу прочитал и перенес в урок )

    • @RobotoborPro
      @RobotoborPro  4 роки тому

      Какую книгу? Ты о чем, вообще... Каждый урок мой абсолютно весь. А если ты не смог или кто-то не смог или не понял, хотя уж я то разжевал, что тошнить должно, это не говорит, что другие не могут. Люди пишут благодарности и переходят на другие мои курсы.

  • @gametrust4876
    @gametrust4876 3 роки тому

    23:40 А если принцы не понятен и нет желания дальше слушать воду? На хрен нужны эти связи нельзя было сказать в уроке? Что бл** за магию ты тут объясняешь людям? Потом... когда... А если ни х.. не будет понятно? А если ещё больше вопросов будет? Щёлкаешь сюда... в 90% случаях людям придётся вообще работать через другие программы, что за оленизм. Можно было бы в 5 минутах всё объяснить, но вы же растянули это на пол года...

    • @RobotoborPro
      @RobotoborPro  3 роки тому

      Смотри другие каналы или читай документацию и книги.

  • @axsuam
    @axsuam 5 років тому +12

    20 минут, 20 МИНУТ КАРЛ ты создавал и заполнял таблицы. Урок называется СОЗДАНИЕ СВЯЗЕЙ. Начинаться он должен так - вот парни у меня есть 3 таблицы, сейчас я их свяжу, это просто: вот так и вот так.

    • @RobotoborPro
      @RobotoborPro  5 років тому +21

      Конечно, можно так. Но это для 5-минутных видосиков релевантных к поисковым запросам на ютубе. Захотел узнать, вбил в поиск, получил 3ех или 5-минутное обьяснение. Я же жую и пережевываю весь курс с 1ого по последний урок, как ВИДЕОКУРС, КАРЛ, ВИДЕОКУРС от начала и до конца.

    • @user-pp1is6ns6k
      @user-pp1is6ns6k 5 років тому +4

      @@RobotoborPro Карл, все отлично, не слушайте пожалуйста никогда таких умников!

  • @timkaa330
    @timkaa330 2 місяці тому

    кто с 2024?

  • @axsuam
    @axsuam 5 років тому +2

    Очень много пустого текста. "Реляционные базы данных это мммм ммммм мммм, в процессе вы поймете, что такое реляционные базы данных. Таблица не появилась, но на самом деле на сервере она появилась, надо просто нажать правую кнопку и нажать обновить." Кому это мычание надо? Неужели нельзя сказать - "обновляем базу". Бесит.

    • @RobotoborPro
      @RobotoborPro  5 років тому +3

      Таблица создается на сервере. Студия ее НЕ подтягивает автоматически, но запросы к таблице можно делать. Никакая база не обновляется. Обновляется состояние студии, когда нажимаешь обновить по таблицам. Гворить, что ты этим нажатием обновляешь базу - неккоректно.

    • @user-mw3jc6pk2i
      @user-mw3jc6pk2i 5 років тому +3

      И отчего нервозность такая? Автор даёт доступные объяснения, без которых порой трудно понять что не так

  • @gametrust4876
    @gametrust4876 3 роки тому

    Досмотрел от начала к концу... Видео полная вода... автор ничего так толком и не рассказал. Смотреть не рекомендую, ставлю дизлайк! От себя скажу, чтобы вы долго не мучилась[ [Связи между таблицами необходимы для более быстрого доступа к данным.]

    • @RobotoborPro
      @RobotoborPro  3 роки тому +1

      Ты не прав. Связи нужны для консистентности и согласованности данных. Не сбивай с толку людей. А побочные индексы созданные при отношениях, это уже для более глубокого понимания производительности, не в этом курсе.

    • @gametrust4876
      @gametrust4876 3 роки тому

      @@RobotoborPro 1. консистентность и согласованность это слова синонимы. 2. Про побочные индексы я слова ни сказал, так как первичный ключ очень важен, так как только по нему можно обращаться к данным. Ваше более глубокое понимание обосновано чем? У компьютера есть ОЗУ, ПЗУ и ЦП и больше нет ничего, всё что нам нужно это найти баланс между тем и другим (Чтоб вы понимали у меня возможность тут писать ограничена символами). В данном подходе мы должны уменьшить нагрузку на ОЗУ и тем самым увеличить скорость обработки информации, так как устанавливаем явные связи, что сокращает количество обращений к ОЗУ, НО! Это работает когда это самое ОЗУ есть, если же его не станет поток умрёт и информация начнёт грузить буфер ЦП... (Сложно конечно вышло) Но однако [Связи между таблицами необходимы для более быстрого доступа к данным.]! В вашем случаи данные будут согласованы только по ключам, что вообще никак не мешает сделать это программным кодом. Так, что цель создания связей никак не может быть согласования данных!

    • @RobotoborPro
      @RobotoborPro  3 роки тому

      Что-то здесь все нагородили. Цель явных отношений в реляционной БД, как раз по ключам, первичным и внешним, - есть согласованность данных, ещё её называют схемой. Если мы в запросах будем соединять таблицы по другим отношениям, БД в этом случае не гарантирует программисту, что он не допустит логической ошибки. Если программист делает sql-запррсы по другим отношениям, не как в схеме, здесь ему поможет построение индексов, чтобы ядро сервера не делало полный скан таблиц, как раз это про производительность. То, что касается Ваших знаний на низком уровне работы железа, то поток не умирает от нехватки ОЗУ, ОС сбрасывает на диск не используемые страницы памяти, потом подгружает их обратно. Кэш ЦП используется в основном, для работы со стеком потока, наверное, это Вы имели ввиду, когда говорили про буфер. Чтобы меньше производить работы с i/o, а, именно, с диском и полным сканом таблиц нужны индексы. Но индексы они вторичны, как я уже писал, их может настроить программист позже, главное в схеме, т.е. в отношениях м/у таблицами - это согласованность данных.

  • @user-vq5yl7jz6f
    @user-vq5yl7jz6f 8 місяців тому

    ээээээ ыыыыы эээээ ыыыы вода вода ээээээ ыыыыыы куууудааатооо ножать ыыыыы нопесеать тут вода вода эээээээыыыыыыыы. - Это весь видео ролик. я пришел для того чтобы разобраться в теме . а тут какая то невнятная дичь которую душно смотреть. чтобы не тупить пишут сценарии и выделяют главные аспекты на которые надо обратить внимание