1. 데이터베이스란? 그리고 DBMS
흔히 디비(DB)라고 부르는 데이터베이스는 컴퓨터 시스템에 전자적으로 저장되는 정보, 또는 관련성을 가진 데이터들의 집합이라고 합니다. 우리가 프로그래밍을 하면서 데이터를 저장하는 변수는 프로그램을 종료하면 저장한 데이터도 사라지게 됩니다. 그래서 이것을 따로 시스템에 공간을 마련해서 저장해두고 프로그램 전반에 걸쳐 두고두고 사용되도록 만든 것이 데이터베이스입니다.
그리고 이런 DB들은 데이터베이스 관리 시스템(DBMS)로 관리됩니다. DBMS는 사용자와의 인터페이스 역할을 해서 사용자가 DB들을 편리하게 관리할 수 있게 만들어 주는 시스템 소프트웨어입니다. 우리가 흔히 DB하면 떠올리는 MySQL이 대표적인 DBMS입니다. MySQL은 관계형 DBMS, RDBMS, 라고 하는 것의 일종이기도 하며 보통 관계형 DBMS를 많이 사용하게 됩니다.
2. 관계형 데이터베이스 테이블과 SQL
관계형 데이터베이스는 현재 가장 많이 사용되고 있는 데이터베이스의 형태이며, 역사도 깁니다. 그만큼 다양한 편리성 등을 제공하기도 합니다. 관계형 데이터베이스는 테이블이라는 표 형태의 자료구조로 row와 column을 이용해서 구성됩니다. 관계형 데이터베이스에선 주로 데이터베이스 접근을 위해 SQL이라는 것을 이용합니다.SQL은 Structured Query Language의 준말입니다. 데이터를 정의하거나 조작하기 위해 관계형 데이터베이스에서 주로 사용되기 때문에 한 번 배워두면 대부분의 (NoSQL 계열은 제외) RDBMS에서 사용할 수 있다는 점이 있습니다.나중에 SQL문법은 따로 카테고리 파서 소개해드릴까 합니다.
3. 데이터베이스의 특징
- 자기기술성: DBMS로부터 데이터의 삽입과 삭제를 어떤 종속적 사항 없이 가능하게 만들어준다.
- 프로그램-데이터 격리: 단일 프로그램에서는 데이터 구조를 바꾸면 프로그램 수정도 필요하지만, 데이터베이스를 이용하면 자기기술성 덕분에 수정사항 서로 영향을 주지 않게 된다.
- 추상화: 복잡한 데이터베이스 구조를 숨기며, 사용자에게는 보기 편하게 만들어준다.
- 동시성 제어: 다수의 사용자로부터 동시에 접근을 허용한다.
- 데이터의 특성, 데이터간 의미/형식 관계를 기술한 개념적 구조에 따라 편성된 데이터 집합이다.
- 데이터가 중복되지 않는다.
- 다양하게 접근할 수 있어야하며, 검색, 추가 등이 효율적으로 이루어지도록 구성된다.
- 컴퓨터 구조적으로 보조기억장치이다.
4. 데이터베이스의 유형
앞서 말씀드린 관계형 데이터베이스 외에도 몇 가지 유형들이 있습니다.
- 관계형 데이터베이스
- 객체지향 데이터베이스: 데이터를 객체형으로 표현한 DB
- 분산 데이터베이스: 서로 다른 위치의 둘 이상의 파일로 구성된 DB
- Key-Value 데이터베이스: Key-Value쌍으로 데이터를 매핑하는 DB
- JSON 데이터베이스: 웹에서 많이 사용되는 JSON문서 형으로 데이터를 저장한 DB
- NoSQL: 비관계형 데이터베이스라고 하며, 비정형/반정형 데이터를 저장하는 DB입니다. 데이터 구성방식을 따로 정의하지 않아도 된다는 장점덕에 최근 인기가 생기고 있다고 합니다.
참조
'Programming > 데이터베이스' 카테고리의 다른 글
[MySQL] 데이터 정의문 DDL (0) | 2022.01.20 |
---|---|
[MySQL] MySQL (0) | 2022.01.19 |
관계형 데이터베이스 용어 정리 (0) | 2022.01.15 |
데이터 모델 (1) | 2022.01.13 |
스키마 Schema (0) | 2022.01.12 |
댓글