관계형 데이터베이스
- 데이터(data): 각 항목에 저장되는 값
- 테이블(table; 또는 relation) : 사전에 정의된 열의 데이터 타입대로 작성된 데이터가 행으로 축적
- 칼럼(column; 또는 field) : 테이블의 한 열을 가리킴
- 레코드(record; 또는 tuple) : 테이블의 한 행에 저장된 데이터
- 키(key) : 테이블의 각 레코드를 구분할 수 있는 값입니다. 각 레코드마다 고유한 값을 가집니다. 기본키(primary key)와 외래키(foreign key) 등이 있음
1:1 관계
- 하나의 레코드가 다른 테이블의 레코드 한 개와 연결된 경우
- 각 전화번호가 단 한 명의 유저와 연결되어 있고, 그 반대도 동일하다면, User 테이블과 Phonebook 테이블은 1:1 관계
1:N 관계
하나의 레코드가 서로 다른 여러 개의 레코드와 연결된 경우
- 한 명의 유저가 여러 전화번호를 가질 수 있음, . 그러나 여러 명의 유저가 하나의 전화번호를 가질 수는 없음
N:N 관계
- 여러 개의 레코드가 다른 테이블의 여러 개의 레코드와 관계가 있는 경우
- N:N(다대다) 관계를 위해 스키마를 디자인할 때에는, Join 테이블을 만들어 관리합니다. 1:N(일대다) 관계와 비슷하지만, 양방향에서 다수의 레코드를 가질 수 있음
- customer_package 테이블에서는 고객 한 명이 여러 개의 여행 상품을 가질 수 있고, 여행 상품 하나를 여러 명의 고객이 가질 수 있음
자기참조 관계(Self Referencing Relationship)
- user_id는 기본 키(primary key), name은 사용자의 이름, 그리고 recommend_id는 추천인 아이디
- 한 명의 유저(user_id)는 한 명의 추천인(recommend_id)를 가질 수 있음
- 그러나 여러 명이 한 명의 유저를 추천인으로 등록할 수 있음
'DevOps BootCamp > Section 1 실습과제' 카테고리의 다른 글
Progect1 회고 (0) | 2023.04.05 |
---|