데이터베이스 기본개념
데이터베이스(DB; DataBase)는 데이터를 모아 일정한 형태로 저장한 것이다.
쉽게 말해서 흩어져 있는 데이터들을 모아서 예쁘게 담을 수 있는 통이라는 것이다.
데이터베이스는 ISOS로 정의되고, 데이터베이스 시스템의 특징은 R1C3로 설명된다.
ISOS
Integrated data (통합 데이터)
Stored data (저장 데이터)
Operational data (운영 데이터)
Shared data (공용 데이터)
R1C3
Real time accessibility (실시간 접근성)
Continuous evolution (지속적인 변화)
Concurrent sharing (동시 공유)
Content reference (내용에 의한 참조)
데이터베이스 관리 시스템(DBMS; DataBase Management System)은 말 그대로 데이터베이스를 관리하는 시스템으로, 데이터를 입력/수정/삭제하는 등 여러 기능을 수행하는 소프트웨어이다.
데이터베이스 종류
저장 방법에 따라 다음과 같이 분류된다.
계층형 데이터베이스
부모-자식 관계의 계층을 이루는 트리 구조이다.
데이터 중복이 발생하기 쉽고, 이후 프로세스 변경이 어렵다는 단점에 요새는 거의 사용되지 않는다.
키-값 데이터베이스
일대일로 키(key)-값(value)을 대응하여 데이터를 저장하고, 비정형 데이터 저장에 유리하다.
NoSQL의 한 종류이며, 비관계형 데이터베이스 유형이다.
데이터 중복이 발생하지만, 미리 데이터 구조를 정의할 필요가 없어 변경이 쉽다.
네트워크형 데이터베이스
데이터를 노드(node)로 표현하는 구조로, 계층형 데이터베이스의 단점인 데이터 중복과 상하 종속 관계를 보완했다.
그러나 데이터베이스 구조를 변경하기 어렵다.
관계형 데이터베이스
가장 많이 사용되고, 친숙한 데이터베이스 종류라 생각한다.
행(row)과 열(column)로 구성된 테이블 형태로 데이터를 정리한다.
행(row)은 observation, 열(column)은 특성(attribute, variable)로 접근해서 생각하면 좀더 만만해진다.
관계형 데이터베이스는 앞서 다른 데이터베이스 종류에서 언급된 데이터 중복과 관리의 효율성을 추구한다.
참고: Do it! SQL 입문 by 강성욱, 이지스퍼블리싱.