##본 포스팅은 "SQL 첫걸음 - 아사이 아츠시" 책을 보고 요약한 것입니다.
데이터베이스란
- 데이터의 집합
- 정리된 데이터
- 특정 데이터를 확인하고 싶을 떄 간단하게 찾아낼 수 있도록 정리된 형태
데이터베이스의 데이터는 하드디스크나 플래시메모리 등 비휘발성 저장장치에 저장된다.
> 종류
데이터베이스의 사용 용도나 이를 제어하는 프로그래밍 환경 등 각각의 조건에 들어맞는 다양한 DBMS가 고안되었다.
1) 계층형 데이터베이스
폴더와 파일 등의 계층 구조로 데이터를 저장하는 방식
2) 관계형 데이터베이스(RDBMS)
'관계 대수'에 착안하여 고안한 데이터베이스
행과 열을 가지는 "표 형식 데이터(2차원 데이터)를 저장하는 형태의 데이터베이스"
관계형 데이터베이스에는 이러한 표를 잔뜩 저장해두고, 각각의 표에 이름을 붙여 관리한다.
3) 객체지향 데이터베이스
객체지향 언어인 java, C++을 사용하여 가능하면 객체 그대로 데이터베이스의 데이터로 저장하는 방식
4) XML 데이터베이스
*XML : 태그를 이용해 마크업 문서를 작성할 수 있는 자료 형식
XML 형식으로 기록된 데이터를 저장하는 데이터베이스
5) 키-밸류 스토어
키와 그에 대응하는 값이라는 단순한 형태의 데이터를 저장하는 데이터베이스
NoSQL(Not Only SQL)이라는 슬로건으로부터 생겨난 데이터베이스로, 열 지향 데이터베이스
RDBMS는 비교적 오래된 축에 속하는 데이터베이스이지만, 변화가 빠른 시스템 업계에서도 여전히 주류를 이룬다.
이러한 데이터베이스들을 효율적으로 관리하는 소프트웨어를 "데이터베이스 관리 시스템(DBMS)"이라 한다.
데이터베이스 관리 시스템
> 필요한 이유?
어떤 시스템에서든 데이터 검색, 추가, 삭제 와 같은 처리가 이루어지며, 이를 DBMS가 제공한다.
확장성과 부하 분산(load balancing)을 구현할 수 있으며, 간단히 백업을 하는 등 신뢰성을 높이며 여러 기능을 제공한다.
> RDBMS의 종류
RDBMS : 관계형 데이터베이스를 관리하는 소프트웨어
1) Oracle : 사실상 표준
2) PostgreSQL : 오픈소스 커뮤니티가 개발한 RDBMS, 실험적인 기능과 독특한 구조가 특징
3) MySQL : 오픈소스 커뮤니티에서 태어난 경량 데이터베이스, 최근 기능이 확장되었음
4) SQLite : 임베디드 시스템에 자주 쓰이는 작은 RDBMS
SQL
- 관계형 데이터베이스 관리 시스템을 조작하는 표준 언어
> 명령의 종류
1) DML
Data Manipulation Language
데이터를 조작할 때 사용하는 기본이 되는 명령셋
2) DDL
Data Definition Language
데이터를 정의하는 명령어
데이터베이스과 관리하는 단위인 '데이터베이스 객체'를 만들거나 삭제하는 명령어
3) DCL
Data Control Language
데이터를 제어하는 명령어
트랜젝션을 제어하거나 데이터 접근권한을 제어하는 명령어
'Database' 카테고리의 다른 글
데이터베이스 첫걸음 3강] 데이터베이스 비용 (0) | 2021.09.26 |
---|---|
SQL 첫걸음 5장~6장] 테이블 구조 참조와 검색 조건 (0) | 2021.09.26 |
데이터베이스 첫걸음 2장] 관계형 데이터베이스 (0) | 2021.09.19 |
SQL 첫걸음 3강~4강] 데이터베이스 서버, Hello World (0) | 2021.09.19 |
데이터베이스 첫 걸음 1장] 데이터베이스 (0) | 2021.09.12 |