관계형 데이터베이스(relational database)개념과 relation, primary key(기본키), foreign key(외래키), constraints를 알아봅시다
Ғылым және технология
#relationaldatabase #관계형디비 #relationaldatamodel #relation #domain #attribute #tuple #key #superkey #primarykey #candidatekey #foreignkey #constraints
오늘날 개발에서 가장 많이 사용되는 DB는 관계형 데이터베이스(relational database) 입니다.
그래서 관계형 데이터베이스의 기본 개념을 잘 알고 있는 것이 중요한데요,
관계형 DB는 relational data model을 통해 구조화된 DB이기 때문에
relational data model의 주요 개념부터 차근차근 설명합니다.
그리고 relational data model에서 중요한 개념인 key도 설명을 하는데요,
primary key(기본키), foreign key(외래키)를 포함해서
각종 다양한 key들을 쉽게 설명합니다.
끝으로 relational model에서 constraints(제약 사항)에 대한 부분도 설명하니까요
끝까지 유익하게 봐주세요 :)
그럼 오늘도 고고씽!!
00:00 인트로
00:10 relational data model
00:23 수학에서 relation
03:42 relational model에서 relation
09:13 relation schema, .. etc
10:56 relational database(관계형 디비)
11:40 relation의 특징들
14:03 NULL의 의미
15:13 key 설명 (기본키, 외래키 등등)
18:57 constraints 설명
Пікірлер: 69
정말 이 채널 왜 더 안뜨는지 이해가 안가네요... 개발자로 일하고 있는데 다시 개념 정립이 필요할것 같아서 찾던중 이런 좋은 채널을 발견해서 너무 도움 많이 되고 있습니다!!! 앞으로도 영상 잘 부탁드릴게요!!
@ez.
2 жыл бұрын
우와 극찬 정말 감사합니다 ㅠㅠ 도움이 된다고 말씀주실 때 제일 뿌듯하고 힘이 나는 것 같아요 :) 앞으로도 계속해서 좋은 영상으로 찾아뵐게요 다시 한번 귀한 댓글 감사합니다 !!
진짜 퀄리티 오지네요 현업으로 복귀하신다고 들었는데 돈 내서라도 더 듣고 싶네요
이분영상몇개봣는데 깊이가 다르네여
우리나라 채널중에 cs 기본 개념 정리가 제일 잘된 채널 같네요
@ez.
Жыл бұрын
와우 이건 정말 어마어마한 극찬인데요?ㅠㅠ 너무 너무 감사합니다 ㅠㅠ!! 👍👍👍
최곱니다 최고
이렇게 좋은 강의를 무료로 봐도 되는 건지... 정말 감사합니다 최고에요 진짜
당연할 수도 있지만 가면 갈수록 강의력이 좋아지는게 체감이 되네요 ㅎㅎ 오늘도 좋은 영상 감사합니다
@ez.
2 жыл бұрын
크으.. 열심히 찍고 또 열심히 편집하면서 최대한 보시는 분들이 매끄럽게 보실 수 있도록 노력하다 보니 조금씩 저도 성장하는 것 같아요 :) 귀한 댓글 감사합니다 !
고퀄리티의 좋은 강의 영상 감사합니다 ! :)
맛있게 잘 이해했습니다. 감사합니다
감사합니다
빛이다 빛... 님덕에 디비 시험은 칠 수 있겠어요..
학교 수업이랑 같이 따라가고 있는데 볼때마다 감탄이 나오네요 .. 항상 감사드립니다 !.
좋은 영상 감사합니다!! 매우 기본적인 수학적 접근부터 설명해주셔서 기초를 매우 견고하게 쌓을 수 있을 것 같습니다.
수업 몰입도 있어서 좋아요!!
강의가 좋네요,,.
귀한영상 감사합니다. 도움이 많이 되었습니다.
@ez.
2 жыл бұрын
귀한 댓글 항상 감사합니다 :)
와..엑셀 개념이 이거군요.. 익숙하게 이해가 잘 되네요..너무 감사합니다.
좋은 강의 감사합니다 !!!
@ez.
Жыл бұрын
좋은 댓글 감사합니다 👍👍👍
취업준비하면서 이론이 많이 부족하다고 생각했는데 이런 좋은 채널을 발견해서 다행이네요 좋은강의 감사합니다!
@ez.
Жыл бұрын
좋게 봐주셔서 감사합니다 :) 좋은 영상으로 계속해서 꾸준히 응원할게요 :) 원하는 곳에 꼭 취직하시길요~!!
와 진짜... 미쳤습니다... 너무 감사합니다. 영상보고 감동이 몰려오네요...ㅠㅠ
와... 너무 잘보고 갑니다
디비를 잘 이해하지 않은채로 하니 뭐든게 너무 어려워서 하기 싫어지더라구요.. 가뭄에 단비같은 강의네요 정말 감사합니다!!
@ez.
Жыл бұрын
그렇죠ㅠ 아무래도 잘 모르는 상태에서 하려면 답답하고 어렵고 그러면서 자연스럽게 하기 싫어지고요 ㅠㅠ 도움을 드릴 수 있어서 저도 많이 뿌듯합니다 👍
와 진짜 주옥같은 채널 오늘 알아갑니다. 다른사람이 질문해서 그걸 설명하려고 할 때 정리가 잘 안되는데, 여기와서 정리하고 갑니다
@ez.
Жыл бұрын
좋게 봐주셔서 감사합니다 :) 칭찬의 말씀 덕분에 저도 많이 뿌듯하네요 👍
잘 봤습니다.
뭔가 구독 버튼을 누르게되는 영상이 하나씩있는데 그게 이 영상이다
와 정말 너무 좋습니다
@ez.
Жыл бұрын
와우 영상 쭉 봐주셔서 감사해요 👍
우와 알고리즘수업에서 해시 코드 때문에 찾은 채널인데 데이터베이스로 또 유튜브 검색하던 차에 구독한 채널에서 이리 귀한 영상이 있ㄴ요!' 완전 우연!! 열심히 공부하겠습니다😊
@ez.
2 жыл бұрын
오! 나이스 타이밍이었네요😉 현재 백엔드 개발에 필요한 중요 지식 100개를 골라서 시리즈로 영상을 올리고 있는데요, 이제 DB를 다룰 순서였어서 차근차근 관련 영상을 만들어서 올리던 중이였죠~ 타이밍이 매우 좋았네요 ㅎㅎ (참고로 DB 끝나면 네트워크 다룰 예정이에요👍) 컴공 지식 중에 개발에 필요한 내용들 위주로 정리해서 올리고 있으니 많이 애용해주세요 :) 응원합니다 화이팅이에요!!
좋은 영상 감사합니다 :)
@ez.
Жыл бұрын
저도 유익하게 봐주셔서 감사합니다 :)
오 감사합니다
@ez.
2 жыл бұрын
히트택님 저도 댓글 항상 감사합니다 :)
백엔드에서 가장 중요하다시피 하는게 DB라고 하는데, 좋은강의만들어 주셔서 감사합니다! 잘 따라가고 학습해보겠습니다!!
@ez.
Жыл бұрын
크~! 댓글 달아주시고 열심히 봐주셔서 너무 너무 감사합니다 :) 👍 응원합니다!!
운영체제 강의 다 듣고 오랜만에 데이버베이스 강의 들으러 왔습니다. 데이터베이스 강의도 잘 들어보겠습니다~
@ez.
Жыл бұрын
오 세승님 오랜만이에요~!ㅎ 잘 지내셨죠? DB 시리즈도 재밌게 봐주세요 :)
후보키랑 슈퍼키 쪽 개념이 모호했었는 데 덕분에 잘 정리했습니다!
와 설명 진짜 미쳤다
개쩐다 징짜
항상 감사합니다. DB수업 듣기 전에 이 강의가 있었다면 A+을 쉽게 받았을거 같네요 ㅠ.ㅠ 지금 취준 중이라 CS복습할겸 정리중인데 혹시 내용들 정리해서 블로그에 포스팅해도 될까요? 당연히 출처는 표시하겠습니다..!(홍보도 할겸 동영상으로 달아서 표시하겠습니다..! ㅎㅎ)
@ez.
Жыл бұрын
영상을 좋게 봐주셔서 감사합니다 :) 그럼요~!! 홍보도 되고 저는 너무 좋죠~ 편하게 포스팅할 때 사용해주세요 👍
오늘도 잘보고 갑니다. 헌데 예시에서 홍진호 grade가 4인 이유는 2*2로 이해하면 될까요~?
@ez.
Жыл бұрын
ㅋㅋㅋㅋ 그렇게 이해하셔도 전혀 무리 없습니다
안녕하세요 영상 잘 봤습니다! referential integrity constraint 에서 fk와 pk의 도메인이 같아야 한다는게 이해가 잘 안가서 질문드립니다.! PLAYER 의 team_id value와 TEAM의 id value 가 같아야 된다는건 알겠는데.. 도메인이 같아야한다는게 FK와 PK 가 같은 테이블 내에 있어야한다는 뜻인가요??
@ez.
Жыл бұрын
영상 봐주셔서 감사합니다 :) 질문에 답을 드리자면,, >> 도메인이 같아야한다는게 FK와 PK 가 같은 테이블 내에 있어야한다는 뜻인가요?? 아니요, 그런 의미는 아닙니다 도메인은, 이해하기 쉽게 설명하면, type을 떠올리시면 됩니다 물론 도메인과 type은 다르지만 직관적으로 이해하기에는 type이라고 생각하시면 이해하시기 편할거에요 도메인에 대한 부분은 (이미 보셨지만) 04:39에 있으니까요, 이 부분을 참고하시면 조금 더 도움이 될 것 같습니다
@ddddsdasdas
Жыл бұрын
@@ez. 해당 부분의 설명에서 fk와 pk의 도메인이 같아야한다고 말씀하셨는데, fk의 attribute는 null이 허용되는데, fk와 pk가 같은 도메인을 가진다고 할 수 있나요?, 그렇다면 null은 도메인에 포함이 안되는 값인가요?
Domain은 그럼 테이블의 컬럼을 뜻하나요?
오
@ez.
Жыл бұрын
호
다 보고 정리하는데 2시간 정도 걸렸습니다 ㅜㅜ .. 20분짜리 영상이 너무 기네요...ㅎㅎ
@ez.
Жыл бұрын
흐억 고생하셨습니다 ㅠㅠ 영상 내용들이 진짜 엑기스만 알차게 꾹꾹 눌러 담은 거라서 앞으로도 계속 비슷할거 같아요 ㅠㅠ 제 개인적인 추천은, 정리하시다가 지치시면 안되니까 자세하게 보다는 키워드 위주로 정리하고 이어지는 영상들의 키워드들이 어떻게 연결되는지 점과 점을 연결하는 느낌으로 정리하는 것도 좋지 않을까 싶습니다 여하튼 항상 응원합니다!! 화이팅!!!
이전 DB영상에서 말씀하셨던 Entity 와 이번 영상의 Domain이 혹시 차이점이 있을까요??
@ez.
2 жыл бұрын
넵~ 설명드리자면 entity는 개체라는 뜻을 가지는 개념인데요, 유형 혹은 무형의 구별되는 정보 단위라고 이해하시면 될 것 같아요 이번 영상에서 다룬 relational data model에서 entity에 대응되는 개념은 relation이라고 보시면 될 것 같고요, 그럼 domain은 무엇이냐면 값들의 집합입니다. 그리고 domain이 relation에서 어떤 역할로 혹은 어떤 목적으로 쓰이는지를 나타내는 것이 attribute죠. 참고로, "attribute는 relation의 속성을 의미하고, attribute는 이 attirbute가 가질 수 있는 값들의 집합(즉, domain)과 짝을 이룬다"라고도 정의할 수도 있는데요, 이렇게 정의하면 어쩌면 attribute가 domain과 1대1로 매칭되는 것처럼 잘못 인식될 수도 있겠더라구요. 그래서 5:42 부분에, 핸드폰 번호 집합을 나타내는 phone_numbers라는 domain이 서로 다른 목적으로(혹은 역할로) 사용되는 예를 넣어둔 것이기도 합니다. 그래서 하나의 domain이 서로 다른 목적을 가지는 여러 attributes와 연결될 수 있다는 것을 보여드리고 싶었죠 relational data model이 수학 이론을 기반하고 있고 여러 유사한 개념이 관점에 따라 다르게 존재하다 보니 개념을 설명할 때 쉽게 설명하기가 난이도가 좀 있네요ㅠㅠ 저도 영상찍고 나서도 제 설명에 아쉬움이 남았는데 다음 번엔 좀 더 명확히 잘 이해되실 수 있게 설명해 볼게요 :)
@turtlered9966
2 жыл бұрын
@@ez. 아하 그렇다면 학생의 정보를 담은 relation이 있다고 가정했을때 "학생"은 Entity, 학생의 이름를 "영어 이름"과 "한자이름"으로 나누어 기록한다고 가정했을때 각각 Attributes가 될수 있고, 이 Attributes의 공통된 집합인 "학생의 이름"을 Domain이라고 이해하면 되겠군요 언제나 좋은 설명 감사합니다
@ez.
2 жыл бұрын
@@turtlered9966 네 정확하십니다~👍 여기에 좀 더 덧붙여 보자면, domain도 정의하기 나름이라서 만약에 domain을 영어 이름 집합과 한자 이름 집합으로 따로따로 정의했다면, Student relation의 "영어_이름" attribute와 "한자 이름" attribute는 각각 "영어 이름 집합" domain과 "한자 이름 집합" domain으로 짝지어질 수 있겠죠~ 그리고 "영어 이름 집합" domain과 "한자 이름 집합" domain은 다른 relation의 attribute와도 연결될 수 있겠죠. 가령 Professor relation에도 필요할테니까요 그래서 domain을 절 정의하는 것도 중요하다고 볼 수 있겠습니다 :) 열심히 공부하시는 모습 너무 멋지십니다! 항상 응원할게요~!
면접대비 1일차..
수학 용어가 나오니까 어려워요..
영어를 한국어로 명확히 표현할 수 없다면, 개념을 모른다는 건데.. 릴레이션, 릴레이셔널, 인테그리티, 콘스트레인, 스키마.. 유노와람셍?
@ez.
Жыл бұрын
안녕하세요 :) 기본적으로 개념 용어들은 영어 단어 그대로를 살려주는 것을 원칙으로 하고 있습니다 (그게 더 장점이 많다는 게 개인적인 생각이라서요) 그래서 이 부분은 양해를 부탁드릴게요~ 😉
감사합니다