📖 데이터베이스란?
- 데이터베이스는 우리가 사용하는 정보의 총집합체이다.
📖 관계형 데이터베이스란?
- DB를 구성하고 있는 테이블들이 서로 상호관련성을 가지고 연결되어있는 것을 의미한다.
- 즉, 각각의 테이블들이 완전한 독립적이지 않고, 테이블 A와 테이블 B가 서로 연관된 사이라는 뜻이다.
✔️check
- DBMS(Database Management system)
- 데이터를 한곳에 모아 저장소를 만들고 그 저장소 안에서 데이터를 저장, 관리 등의 기능 수행 및 공유할 수 있도록 하는 데이터베이스 관리 시스템이다.
- RDB(Relational DataBase)
- 관계형 데이터 모델에 기초를 둔 데이터 베이스이다.
- 모든 데이터는 2차원의 테이블 형태로 표현된다.
- RDBMS(Relational DataBase Management System)
- RDB를 생성 및 수정하고 관리할 수 있는 관계형 모델을 기반으로 하는 DBMS 유형이다.
1. 데이터베이스를 사용하는 이유
- 데이터를 오랜기간 체계적으로 저장 및 보존하기 위해 사용된다고 볼 수 있다.
- 그 중 관계형 데이터베이스(RDBMS)는 테이블이 서로 연관되어 있어 일반 DBMS보다 효율적으로 데이터를 저장, 구성 및 관리할 수 있다.
2. 데이터베이스 & 데이터베이스 객체
- 데이터베이스(Schema): 데이터베이스 객체를 담는 컨테이너이다.
- 데이터베이스 객체: 데이터베이스 내의 실체를 가지는 어떤 것이다.
👉 즉, 데이터베이스라는 컨테이너가 존재하고, 그 컨테이너 안에 2차원 테이블 객체가 존재하게 된다고 볼 수 있다.
3. 데이터베이스 구축 과정
4. 관계형 데이터베이스 특징
- 관계형 데이터베이스에서 모든데이터는 2차원 테이블로 표현 가능하다.
- 각 로우는 저만의 고유 키(Primary Key)가 있다.
- Primary Key를 통해 특정 로우를 찾거나, 인용(reference)할 수 있다.
마지막, 테이블끼리의 관계 종류
-
일대일 관계
- 하나의 A테이블 데이터가 오로지 하나의 B 테이블 데이터와 연결될 수 있다.
ex. 사용자의 이름이 담긴 테이블과 주민등록번호가 담긴 테이블이 나뉘어져 있다고 가정할 때, 주민등록번호는 한 사람당 하나만 가지고 있을 수 있으니 이를 연결할 때 1:1 연결만 가능하다.
즉, 이를 일대일 관계라고 볼 수 있다.
-
일대다 관계
- 하나의 A테이블 데이터는 B테이블의 여러 데이터와 연결될 수 있다.
ex. 동물병원에서 반려견의 주인 이름 테이블과 반려견 이름 테이블이 나뉘어져 있고, 한명의 주인이 여러마리의 반려견을 키우고 있다고 가정할 때, 두개의 테이블 내 데이터들을 Primary Key와 Foreign Key로 연결시킬 수 있다.
-
다대다 관계
- A 테이블의 여러 데이터와 B 테이블의 여러 데이터를 연결시킬 수 있다.
- 서로 각자 다른 테이블의 여러 데이터와 연결 될 때에는 두 테이블에 속한 데이터의 조합을 입력하기 위한 중간테이블이 생성된다.
ex. 작가이름 테이블과 책정보 테이블이 나뉘어져 있고, 한명의 작가가 여러 책을 냈다고 가정할 때, 중간테이블을 만들고 그 안에 Foreign Key들로 연결시킬 수 있다.
👉 다시한번 짚고 넘어가기!
- 정규화 제 1법칙
데이터베이스 테이블에는 두개의 데이터가 한 칸에 들어갈 수 없다.
- 1:1은 두 테이블이 서로가 서로의 오로지 한 로우에만 연결되어야 한다.
- 1:N은 하나의 다른 테이블의 로우 여러개가 연결될 수 있다.
- 관계성을 항상 먼저 생각해야한다! (과연 추후에도 1to1관계인가 아니면 1toN관계인가)