개발/Database

관계형 데이터베이스란? 쉬운 설명! About Relational Database

냐냐_ 2021. 3. 23. 10:50

 

 

DB공부를 시작하자마자 "관계형 데이터베이스" 어쩌고 저쩌고 하면서

괜히 어려울 것 같은 말이 나오면 마음에 그늘이 진다.

더 어렵게 RDBMS(Relational DataBase Management System) 라고 부르기도 한다.

하지만 쉽게 이해할 수 있으니 주눅들 필요 1도 없다!

 

일단 "관계형 데이터베이스가 아니면 다른 데이터베이스는 뭔데?" 라고 생각이 들었는데,

계층형 / 네트워크형 / 객체지향형 등의 데이터베이스 종류가 있다

일단은 그런 애들이 있구나- 하고 넘어가고, 오늘은 관계형만 araboza.

 

 

 

 

 

관계형 데이터베이스의 개념 쉽게 보기

 

학교 시간표라던가, 동아리/회사의 연락망을 적어 둔 엑셀 파일을 떠올려보자.

예컨대 우리가 주소를 적을 때,

 

김남준 : 주소는 서울시 강남구, 김석진주소: 성남시(경기도) // 용산구(박지민 주소)

 

이렇게 마구잡이로 적지 않고,

 

번호 이름 주소1 (시) 주소2 (구/면)
1 김남준 서울시 강남구
2 김석진 경기도 성남시 분당구
3 박지민 서울시 용산구
4 김남준 제주도 서귀포시 안덕면
.
.
.
     

 

이렇게 표로 정리할 줄 안다면 이미 관계형 데이터베이스가 익숙한 것이다!

관계형 데이터베이스는 위 마구잡이 메모처럼 줄로 이루어진 것이 아니라

2차원 테이블로 이루어져 있다.

 

위 테이블의 경우, 인원이 추가될 때마다 1, 2, 3, 4... 이렇게 고유번호를 갖는다.

(아마도) 중복이 없을 것 같다.

이렇게 중복이 없이, 값들을 식별할 수 있는 고유값은 프라이머리 키(primary key)라 부른다.

기본 키라고도 부른다.

"번호", "이름", "주소1", "주소2"는 열, 혹은 칼럼이라고 한다. (세로줄)

각 행 (가로줄)에는 데이터의 묶음이 들어간다. (ex. 김남준 서울 강남 / 김석진 경기 성남 분당)

 

 

 

 

 

위에 잠시 언급한 프라이머리 키(이하 PK)에는 조건이 있는데

1) NOT NULL (null이면 안 됨 = 비워두면 안 됨 = 식별해야 하니까)

2) UNIQUE (중복이면 안 됨 = 식별해야 하니까) 여야 한다.

한 테이블당 하나를 부여하는 게 통상적이다. (아닌 경우도 있기는 있다.)

 

 

 

 

 

Q. 엇! 이름으로도 사람 식별이 되는데, 이름은 PK가 아닌가요?

A. 아님! 동명이인이 있을 수 있으니까. 김남준 찾아와! 하면, 1번과 4번을 데려올 테니-

 

 

 

 

 

오라클, MySQL 등은 가장 대표적인 관계형 데이터베이스 관리 시스템(RDBMS)이다.

 

 

 

 

 

 

관계형 데이터베이스의 장점

 

1) 단순하고 이해가 쉽다.

2) 효율적이다. (입력하는 값들이 주소인지, 번호인지 언급하지 않아도

그냥 칼럼에 맞춰 제자리에 순서대로 써 주면 주소겠거니, 번호겠거니 짐작할 수 있다.)

3) 데이터의 유지보수가 편리하다.

 

 

 

 

 

이 정도만 알아도 충분히 감을 잡을 수 있음 :-)