흔히 DB라고 불리며, 여러 사용자들과 정보를 공유하기 위해 통합하여 관리하는 데이터의 집합이다.
사용자와 데이터베이스 사이에서 사용자가 요구하는 목적에 따라 정보를 생성 및 관리해주는 소프트웨어이다.
관계형 데이터베이스에서 데이터를 관리하기 위해 설계된 프로그래밍 언어이다.
'데이터베이스의 구조와 제약조건에 관한 전반적인 명세를 기술한 메타데이터의 집합'이라고 하는데, 이 정의가 어렵다면 일단 다음과 같이 이해하자.
수많은 데이터 테이블 중에서 서로 연관된 데이터 테이블을 grouping하는 목적으로 사용하는 일종의 directory.
DBMS 앞에 R(Relational)이 붙은 것으로 관계형 데이터베이스 관리 시스템이라고 한다.
RDB(관계형 데이터베이스)를 관리하기 위한 시스템이며 RDB의 의미는 다음과 같다.
RDB: 관계형 데이터 모델을 기초로 두고 모든 데이터를 2차원 형태로 표현하는 DB
RDBMS는 아래와 같은 테이블이 다른 테이블과 관계를 맺고 모여 있는 집합체로 볼 수 있으며, 이러한 관계에서 외래 키(foreign key)를 이용해 테이블 간 join을 할 수 있다.
학년(Primary Key) | 학번 | 학생 이름 |
---|---|---|
4 | 2018**** | 김진수 |
4 | 2018**** | 조성훈 |
3 | 2019**** | 최수진 |
학과(Primary Key) | 학번(foreign key) | 학적 상태 |
---|---|---|
전자공학과 | 2018**** | 재학 |
컴퓨터공학과 | 2018**** | 휴학 |
경제학과 | 2019**** | 재학 |
Not Only SQL의 약자로 RDB형태가 아닌 다른 다른 형태의 데이터를 저장하는 기술이다.
RDBMS와 달리 테이블 간의 관계를 정의하지 않아서 테이블 간 join도 불가능하다.
이러한 관계를 정의하지 않는다는 특성때문에 RDBMS에서 관리할 수 없을 정도의 복잡하고 용량이 큰 데이터를 관리할 수 있다.