Database Relation은 내용이 길어 총 3편으로 연재합니다.
- 데이터베이스 생성, 개념 및 기본 Relation
- Rollup을 이용한 장부만들기
- 다중 Relation
데이터베이스 생성하기
노션
page
에서 /data
라고 입력하면 Database 블록으로 들어갈 수 있습니다. Inline은 현재 작업하고 있는 페이지에 테이블을 생성하며 Full page는 다른 페이지를 생성하고 전체 화면으로 테이블을 작업하게 됩니다.아래 그림처럼 Turn into Page를 통하여 Inline를 Full page로, Full page를 Inline로도 바꿀 수 있습니다.
오늘 주제는 Database 전체에 언급하는 것은 아니고 Relation에 대해서만 언급하는 것이므로 개념과 실전으로 들어가 볼까 합니다. 개념은 상세한 내용을 언급할 예정이니 혹시 실전으로 바로 가고 싶으신 분들은 이 부분을 스킵해주세요.
관계형 데이터베이스
데이터베이스의 종류는 아래와 같습니다. Notion에서 사용하는 데이터베이스는 관계형 데이터베이스입니다.
데이터베이스의 종류
- 계층형 데이터베이스(1:N)
- 망형 데이터베이스(N:M)
- 관계형 데이터베이스(단순한 표 형태의 상호 관계, 1:1, 1:N, N:M관계 표현)
- 객체 지향형 데이터베이스
관계형 데이터베이스의 구성 요소
- 튜플(Tuple)은 테이블의 행입니다.
- 속성(Attribute)은 HTML로 따지자면 Table Heading 입니다. 여기서는 학번, 이름, 주소, 전화번호가 속성이죠.
- 도메인(Domain)은 하나의 속성에서 취할 수 있는 값의 범위를 말합니다. 예를 들어 위에서는 신청 과목에서 전체 과목의 범위를 얘기합니다.
- 차수(Degree)는 속성의 개수입니다. 학생 릴레이션에서는 학번, 이름, 주소, 전화번호이니 총 4개가 될 것입니다.
- 기수(Cardinality)는 튜플의 개수입니다. 위에서는 어트리뷰트를 제외하고 총 5개의 튜플이 존재합니다.
키의 개념 및 종류
- 기본키는 메인으로 사용할 키를 말합니다. 고유한(유일한) 주민등록번호나, 계좌번호, 전화번호 등을 기본키로 사용할 수 있습니다. 기본키는 NULL을 사용할 수 없습니다.
- 후보키는 기본키를 제외하고 고유한 키들을 말합니다.
- 외래키는 관계되어 있는 테이블에서 참고하고 있는 키를 얘기합니다. 여기서 학생 릴레이션과 수강신청 과목 릴레이션은 서로 학번으로 연결되어 있죠.
실전! Database Relation!
우선 아래와 같은 2개의 테이블을 만들도록 하겠습니다. 여기서는 집필한 책 내용을 기반으로 작성하겠습니다.
여기서 고객정보는 특성상 상태분류대로 한눈에 봐야 하므로
add_a_View
로 Board를 추가하겠습니다.생성이 된 화면입니다. 빨간 네모 박스를 클릭하셔서 원래대로 돌아갈 수 있습니다.
다음은 고객정보에서 어트리뷰트 가장 오른쪽에 있는
+
버튼을 클릭합니다. 그럼 아래와 같이 Text 하위로 Relation을 선택하는 화면이 나옵니다.그럼 고객정보 테이블에는 화살표와 함께 Column 어트리뷰트가, 물품 목록에도 화살표와 함께 Related to 고객정보 어트리뷰트가 생긴 것을 볼 수 있습니다. 이제 고객정보에서 컬럼을 클릭해보도록 하겠습니다.
여기서
+
버튼을 누르면 컬럼에 자동으로 들어가게 됩니다.왼쪽은 고객정보, 오른쪽은 물품 목록입니다. 고객정보에 들어가면 자동으로 물품 목록에 고객 이름이 들어가는 것을 볼 수 있습니다.
다음 시간에는 Database를 좀 더 유용하게 다뤄보도록 하겠습니다.
Notion에 대해 더 알고싶으시다면? 현재 진행 중인 와디즈 펀딩에 참여해보시는건 어떨까요? 동영상 강좌와 함께 노션 굿즈까지 제공하는 흔치않은 기회입니다! 한 시간만에 150%를 달성하고 지금은 346%를 달성중에 있습니다!
자세한 내용은 아래 링크에서 확인해주세요 :)