# [노션 데이터베이스 부수기]4강: 🔗관계형 속성 마스터 - 데이터베이스 연결의 모든 것

https://www.youtube.com/watch?v=g_zHKMwhb0U

[00:00] 이런 식으로 가능해집니다.
[00:02] 김철수 학생과 관련된 작업을 하다가 김철수 학생 학교 우리 중학교 시험 기간이 언제지?
[00:07] 이런게 궁금해지면 우리 중학교를 클릭해 보면 이곳에 우리 중학교와 관련된 정보들이 나오는 것을 볼 수가 있을 거고요.
[00:13] 그럼에는 다시 돌아가서 김철수 학생과 관련된 작업을 할 수 있을 거고요.
[00:20] 그리고 우리 중학교와 관련된 작업을 하다가 우리 중학교 학생이 누가 있지?
[00:24] 아, 홍길동 친구가 있지.
[00:27] 홍길동과 관련된 작업을 하다가 그리고 이제는 김철수로 넘어가서 김철수 학생과 관련된 작업을 하고 이런 식으로 페이지를 넘나다니는게 훨씬 더 쉬워집니다.
[00:37] 저 같은 경우는 이런 이유로 관계 데이터베이스를 사용하는 거 같아요.
[00:55] 네. 네, 안녕하세요. 반갑습니다.
[00:56] 하나입니다. 이번 시간은 데이터베이스 부수기네 번째 시간이고요. 오늘 배워
[01:02] 볼 주제는 관계형 속성입니다.
[01:04] 노션에서 데이터베이스의 관계형 속성을 사용하지 않는다면 노션의 전체 기능 중에 10%밖에 사용하지 않는 거라고 생각합니다.
[01:12] 그만큼 노션에서 관계 속성은 매우 중요하고요.
[01:15] 노션 관계형 속성에서 파생되는 기능들이 정말 무궁무지네요.
[01:21] 이것을 통해서 만들 수 있는 것들인 정말 많습니다.
[01:23] 지금부터 본격적으로 노션을 배우는 거라고 생각해도 과언이 아니에요.
[01:28] 그렇듯 속성은 매우 중요하고요.
[01:31] 이 개념을 이해하지 못해서 노션을 포기하시는 분들이 많아요.
[01:35] 하지만 여러분들이이 관계 속성을 이해하신다면 이제부터 로션 어려울 거 하나도 없어요.
[01:41] 그래서 지금부터 관계 속성 시작해 보도록 하겠습니다.
[01:47] 우선 기본 속성과 관계 속성의 차이점에 대해서 간단하게 살펴보고 넘어가도록 할게요.
[01:52] 기본 속성은 해당 페이지 안에서만 작동하는 정보들입니다.
[01:57] 그에 비해서 관계 속성은 다른 데이터베이스들과
[02:02] 연결시켜서 작동이 돼요.
[02:04] 그러다 보니까 기본 속성들은 정보의 성격이 독립적일 수밖에 없고요.
[02:09] 그리고 관경 속성은 기본적으로 연결을 기반으로 해서 시작이 됩니다.
[02:14] 기본 속성들은 연결되어 있지 않기 때문에 하나의 정보를 수정한다 하더라도 같은 정보들을 여러 곳에 입력을 해야 됩니다.
[02:24] 그에 비해서 관경 속성 데이터들은 서로서로 연결되어 있기 때문에 한 번의 입력으로 여러 곳에 연동이 되어 동기화를 시킬 수가 있어요.
[02:32] 그래서 기본 속성들은 뭐가 바뀔 때마다 수동으로 업데이트를 해줘야 되지만 관형 속성은 원본을 변경하는 것으로 자동으로 묻는 것에 반영이 되게 됩니다.
[02:45] 이러니 관계형 속성을 안 쓸 수가 없죠.
[02:49] 관계 속성을 맺는 두 가지 방법이 있습니다.
[02:52] 첫 번째는 양방향 관계고요.
[02:56] 두 번째는 단방향 관계입니다.
[03:00] 양방향 관계는 두 개의 데이터베이스가 서로 연결이 되는 관계예요.
[03:02] 그렇기 때문에 A에서 B로
[03:05] 정보를 보낼 수 있고 B에서 A로 정보를 보낼 수 있습니다.
[03:10] 상호 참조가 필요한 경우에 사용하면 좋아요.
[03:11] 그에 비해서 단방향 관계는 한쪽에서만 데이터를 보낼 수가 있습니다.
[03:19] A에서 B를 선택하면 B가 보이겠지만 B에서 A는 보이지 않습니다.
[03:26] 역 방향이 불필요한 경우에 단방향으로 설정을 해 주고요.
[03:29] 양 방향으로 할지 단방향으로 할지에 대한 판단은 여러분들이이 워크 플로우의 흐름을 잘 이해하셔야지 결정하실 수가 있어요.
[03:41] 데 지금 이렇게 들어보면 복잡한 내용 같아 보이는데 실습을 해 보면 생각보다 그렇게 어려운 내용이 아니니까요.
[03:48] 실습을 통해서 데이터베이스 관계 속성에 대해 더 알아보도록 하겠습니다.
[03:53] 데이터베이스를 두 개 만들어 줄 건데요.
[03:58] 첫 번째 데이터베이스를 만들 때 1라인으로 만들어 주시고요.
[04:04] 데이터베이스의 이름은 학생 DB
[04:07] 이렇게 만들도록 하겠습니다.
[04:10] 여기 D라고 붙이는 거는 이게 일반 페이지가 아니라 데이터베이스라고 구분을 지어 주기 위해서 붙여 주는 거예요.
[04:15] 그리고 아래에 데이터베이스를 하나 더 만들 건데요.
[04:18] 이번에도 똑같이 슬래시 데이터베이스 입력해 주시고요.
[04:24] 이번에도 라인으로 만들어 주시고 이번에 데이터베이스 이름은 학교 DV 이렇게 만들어 주도록 하겠습니다.
[04:32] 네.
[04:34] 이렇게 두 개의 데이터베이스를 생성하고 나서요.
[04:36] 학생 DB에 학생을 입력해 주도록 하겠습니다.
[04:39] 학생 이름은 임의로 홍길동, 김철수, 김영희
[04:47] 학교 DV에도 이름을 만들어 줄게요.
[04:53] 대한중학교, 마라, 우리 중학교.
[04:57] 네.
[05:00] 이렇게 학생의 데이터가 만들어졌고요.
[05:03] 그리고 학교의 데이터가 만들어졌어요.
[05:05] 그런데 아직 두 개가 연결되어 있지 않죠.
[05:05] 그래서
[05:08] 여기 학생 DB에서 속성 추가를 누르고 관계형 속성을 선택해 주도록 할게요.
[05:13] 자, 우리는 학생에다가 학교를 연결시켜 줄 거기 때문에 학교 DB를 선택할 거고요.
[05:22] 지금 아까 설명드린 것처럼 양방향 관계형을 설정하라는 옵션이 나왔는데 우선 양방향이 안 된 상태에서 관계를 만들어 보도록 하겠습니다.
[05:32] 자, 이렇게 만들었더니 학생 DV에서는 학교라고 하는 하나의 속성이 만들어졌지만 학교 DV에서는 아직 아무 일도 일어나지 않은 것을 볼 수가 있어요.
[05:43] 자, 그럼 여기서 저는이 학교를 가지고 와 보도록 하겠습니다.
[05:48] 네, 길동이는 우리 중학교에 다니고요.
[05:50] 철수는 나라중학교에 다니고 영인는 대한중학교에 다닌다고 해 볼게요.
[05:57] 두 데이터베이스가 연결이 됐습니다.
[05:59] 하지만 A 데이터베이스 학생 데이터베이스에는 B 데이터값
[06:08] 학교 데이터베이스 값이 보여요.
[06:11] 지금 저희는 단방향으로 했고요.
[06:14] A에서는 B를 선택했습니다.
[06:17] 하지만 B에서는 아무 일도 일어나지 않았죠.
[06:19] 네.
[06:19] 이번에는 양 방향으로 다시 한번 설정을 바꿔 보도록 할게요.
[06:24] 자,이 설정에서 양 방향이 꺼져 있는데이 설정을 활성화시켜 보도록 할게요.
[06:31] 자, 이렇게 활성화를 시키면 네,
[06:33] 아까 비어 있던 내용이 채워졌습니다.
[06:37] 처음에 단방향으로 했을 때는 네,
[06:39] 컨트롤 Z로 돌렸고요.
[06:41] 처음에 단 방향으로 했을 때는 A에서는 B가 보이지만 B에서는 A가 보이지 않았어요.
[06:49] 하지만 다시 되돌리기 했을 때 지금 양방향이 된 상태에서는 A에서도 B가 보이고요.
[06:58] 그리고 B에서도 A가 보이게 되었습니다.
[07:00] 어때요?
[07:00] 단방향과 양 방향이 조금 이해가 되시나요?
[07:05] 자, 그리고 나서 여기 학생들을 조금 더 입력해 보도록 할게요.
[07:11] 이로 이렇게 학생들을 지정을 했고요.
[07:12] 이 학교에 다니는 학생들에서 추가하고 싶어요.
[07:14] 대한중학교에 김영희 학생만 다니는게 아니라 박세영 학생도 다녀요.
[07:19] 이렇게 표시를 해 주고 싶고요.
[07:21] 나라중학교에는 김철수 학생뿐만 아니라 이하나 학생도 다닌다라고 설정을 해 주고 싶고요.
[07:29] 우리중학교에는 홍길동 학생뿐만 아니라 학생 학생도 다닌다라고 입력을 해 주고 싶어요.
[07:37] 네.
[07:37] 한 학생이 두 개의 학교를 다니면 안 되겠죠?
[07:39] 우리 중학교를 빼 주고.
[07:41] 자, 그러면은 김두리 학생에게 우리 중학교를 넣어 주도록 할게요.
[07:47] 네.
[07:47] 그래서 이걸 통해서 제가 여러분들께 보여 드리고 싶은 부분은 관계형 속성의 데이터를 선택할 때 하나만 선택할 수도 있고요.
[07:54] 여러 개를 선택할 수 있다는 점을 보여 드리고 싶었어요.
[07:58] 자, 이런 식으로 학생 한 명은 하나의 학교를 다닐 수 있습니다.
[08:05] 하지만 하나의 학교에는 여러 명의 학생이 입학할 수가 있겠죠.
[08:11] 그리고 관계 속성도 다른 속성들과 마찬가지로 필터나 정렬을 통해서 데이터를 쉽고 빠르게 찾을 수 있는데요.
[08:18] 자, 만약에 여러 학생들이 있어요.
[08:20] 여러 학생들이 있는데이 중에서 저는 우리 중학교를 다니는 학생만 찾고 싶어요.
[08:25] 그럴 경우에 학교에서 필터를 걸어 주고 우리 중학교로 필터를 세팅해 주면 이렇게 우리 중학교에 다니는 학생들만 찾을 수 있고요.
[08:35] 네. 그리고 정렬을 통해서 우리 중학교가 여기 있기도 하고요. 그리고 여기 있기도 하죠.
[08:41] 이런 식으로 학교를 좀 정렬해서 순서대로 보고 싶다. 그럴 때 여기 학교 속성에 정렬을 걸어 줘서 오른차순.
[08:48] 자, 이렇게 해주면은 네, 가나다라 순서대로 학교가 예쁘게 배치된 것을 확인할 수가 있습니다.
[08:58] 네. 그리고 참고로 수식에서 데이터베이스는 페이지 목록이라는 데이터 타입으로 변환이 돼요.
[09:04] 이 부분은 데이터베이스 강의가 아니라 수식 강의 리스트 계열 함수에서 보다
[09:12] 심층적으로 다르도록 하겠습니다.
[09:12] 네.
[09:14] 그리고 관계 속성을 맺을 때 이름을 설정할 수가 있어요.
[09:17] 그 부분을 한번 보고 넘어갈 건데요.
[09:19] 일단이 관계 속성을 삭제하도록 하겠습니다.
[09:21] 자, 여기서 삭제할 때 관련 속성도 함께 삭제가 있고요.
[09:27] 이 속성만 삭제가 있어요.
[09:29] 이 속성만 삭제하게 되면 단방향으로 남게 됩니다.
[09:31] 삭제를 한번 해 볼게요.
[09:33] 자, 여기서 네, A에서 B는 참조가 되고 있지 않지만 B에서 A는 참조가 되는 형태인 단방 방향으로 남게 됐어요.
[09:47] 자, 이번에는 관련 속성도 함께 삭제를 눌러 볼게요.
[09:49] 자, 이렇게 삭제를 하면은 네, 양방향이 사라지는 것을 볼 수가 있습니다.
[09:55] 삭제하는 방법에서도 양 방향에서 단방향으로 바꾸는 방식에 삭제가 있고요.
[09:58] 양 방향을 모두 삭제하는 방식이 있다는 거 참고하시면 되겠습니다.
[10:06] 네.
[10:08] 그리고 다시 한번 관계 속성을 만들어 볼게요.
[10:10] 관계형 속성을 만들고
[10:13] 학교를 연결시켜 준 다음에 양방향 관계형을 만들었고요.
[10:18] 여기서 바로 양쪽에 이름을 정해 줄 수 있어요.
[10:22] 학교 학생 이렇게 만들어서 관계형을 추가해 보도록 할게요.
[10:35] 자, 이렇게 했더니 아까 전에랑 이름이 다르게 만들어진 것을 볼 수가 있죠.
[10:39] 이런 식으로 양방향 관계형을 만들 때 반대편에 있는 데이터베이스의 이름까지 수정할 수 있다는 점 알고 계시면 데이터베이스를 보다 예쁘고 또 가독성이 좋게 만드실 수 있을 거예요.
[10:52] 자, 지금 여기 아무 학생도 들어가 있지 않으니까 한 번 더 추가를 해 볼게요.
[10:56] 자, 여기 학생은 우리 중학교를 할 거고요.
[10:58] 그리고 관계 데이터베이스를 입력할 때 편하게 입력하는 방법 중에 하나가 여기에 있는이 점을 드래그하는 방식으로 데이터를 복사할 수도 있고요.
[11:09] 또는 데이터를 찾을 때 검색할 수도 있어요.
[11:14] 중 이렇게 검색을 하면네 검색어와 일치하는 데이터를 가장 위에 보여주고요.
[11:19] 이것을 클릭해도 되고 아니면 엔터로 지정할 수도 있습니다.
[11:24] 그리고 컨트롤 C 컨트롤 V 방식으로도 붙여 놓을 수가 있어요.
[11:30] 이런 팁들을 참고하시면 데이터베이스의 값들을 입력하는데 보다 쉽게 데이터를 입력하실 수 있을 거예요.
[11:37] 네, 지금 제가이 데이터를 입력하는 동안 실시간으로 여기 아래 데이터베이스에도 데이터가 입력되는 것을 보셨나요?
[11:46] 그리고 관계으로 데이터를 만들었을 때 장점은 자, 지금 여기 홍길동을 눌러서가 보면 우리 중학교라는 페이지가 뜨고요.
[11:57] 그리고 우리 중학교를 누르면 바로 우리 중학교라는 페이지로 이동할 수 있어요.
[12:02] 어, 홍길동 학생이 우리 중학교지.
[12:04] 어, 우리 중학교 시험 기간이 어떻게 되지?
[12:07] 그럼 이것을 확인하기 위해서 여러 페이지를 나갔다가 다시 들어올 필요가 없이 바로 우리 중학교를 누름으로써 우리 중학교를 이동할 수 있어요.
[12:14] 그럼 여기서 우리 중학교에 관련된 뭐 공지 사항 같은 거를 따로 기록을 한다거나 아니면 우리 중학교와 관련된 뭐 시험 기간 일정을 기록한다거나 페이지를 독립적으로 보관할 수 있겠죠.
[12:27] 그럼에는 김철수 학생을 관리하다가도 우리 중학교와 관련된 사항이 궁금하면 확인하고 다시 돌아올 수 있겠죠.
[12:35] 이런 식으로 가능해집니다.
[12:36] 김철수 학생과 관련된 작업을 하다가 김철수 학생 학교 우리 중학교 시험 기간이 언제지?
[12:44] 이런게 궁금해지면 우리 중학교를 클릭해 보면 이곳에 우리 중학교와 관련된 정보들이 나오는 것을 볼 수가 있을 거고요.
[12:50] 그럼에는 다시 돌아가서 김철수 학생과 관련된 작업을 할 수 있을 거고요.
[12:55] 그리고 우리 중학교와 관련된 작업을 하다가 우리 중학교 학생이 누가 있지?
[12:59] 아, 홍길동 친구가 있지.
[13:01] 홍길동과 관련된 작업을 하다가 그리고 이제는 김철수로 넘어가서 김철수 학생과 관련된 작업을 하고 이런 식으로 페이지를 넘나다니는게 훨씬 더 쉬워집니다.
[13:11] 저 같은 경우는 이런 이유로 관계
[13:16] 데이터베이스를 사용하는 거 같아요.
[13:18] 수정이 쉬운 부분도 있지만 페이지를
[13:21] 넘어다니는게 작업의 효율을 극대화시켜
[13:24] 주는데 큰 도움이 된다고 생각해요.
[13:27] 네, 지금까지 관계형 속성에 대해서
[13:29] 알아봤습니다.
[13:32] 그리고 실습을 통해서
[13:34] 관경 속성이 어떻게 작동하는지까지
[13:36] 확인을 해 봤어요.
[13:39] 그리고 이제 강의를 정리해 보려고 하는데요.
[13:41] 양 방향이 필요한 경우는 상호 참조가
[13:44] 필요한 경우 그리고 관계의 대칭성이
[13:46] 필요한 경우 사용합니다.
[13:49] 그리고 아까 실습에서 보여 드렸듯이 페이지를 타고
[13:52] 넘어다녀야 할 경우에도 관계 속성이
[13:54] 유용하게 작동한다는 것을
[13:56] 확인했습니다.
[13:59] 그리고 단방향을 선택하는 경우는 한쪽만 참조해도
[14:01] 괜찮은 경우에는 단방향을 쓰는 것을
[14:04] 추천드려요.
[14:06] 양 방향이 너무 많아지면 속도가 느려진다거나 아니면 복잡성이
[14:08] 증가해서 오히려 사용하는데 불편할
[14:11] 수가 있습니다.
[14:13] 네.
[14:16] 그리고 관계 속성을 사용했을 때 편리할 경우도
[14:19] 있지만 불편할 경우도 있어요.
[14:21] 어떤 경우가 불편하냐면 우선 단순한 텍스트
[14:19] 정보일 경우에 관계형으로 하면 괜히 복잡해지기만 하고 불편할 수가 있습니다.
[14:27] 또 어떤 데이터는 독립적인 정보여야 할 경우가 있어요.
[14:29] 예를 들면 반복적인 체크리스트 같은 경우에 어제의 체크 내용과 오늘의 체크 내용이 연동이 되면 안 되겠죠.
[14:36] 어제는 했다라고 5를 체크를 했고 오늘은이 할 일을 하지 않아서 X 표시를 한다면 어제 체크 표시한게 오늘 X 표시로 연동이 될 수 있어요.
[14:46] 이런 경우에는 관계형으로 설정하는게 불편할 수가 있겠죠.
[14:52] 자, 이런 식으로 독립적이거나 일회성의 임시 데이터인 경우에는 관계을 설정하지 않는 것이 더 좋습니다.
[15:00] 네, 오늘 이렇게 관계형 속성이 일반 속성과 어떻게 다른지 그리고 양방향과 단방향의 차이점 그리고 관계 속성을 사용했을 때 불편한 경우까지 같이 알아봤습니다.
[15:13] 관계형 속성을 배우고 나면 반드시 따라나오는 친구가 있어요.
[15:15] 그건 바로 롤업 속성이고요.
[15:18] 다음 시간에는 롤업
[15:21] 속성에 대해서 알아보도록 하겠습니다.
[15:24] 오늘 제가 준비한 강의는 여기까지고요.
