관계형 데이터베이스는현재 가장 많이 사용되는 데이터베이스의 한 종류이다.
관계형 데이터베이스는 테이블로 이루어져 있으며 이 테이블은 키와 밸류의 관계를 나타낸다.
이처럼 데이터의 종속성을 관계로 표현하는 것이 특징이다.
대표적인 예로 MS-SQL, MySQL, MariaDB, Oracle 등이 존재한다.
열(column)
각각의 열은 유일한 이름을 가지며, 자신만의 타입을 가진다. 이러한 열을 필드(field) 또는 속성(attribute)라고 부른다.
행(row)
행은 관계된 데이터의 묶음을 의미한다. 한 테이블의 모든 행은 같은 수의 열을 가진다.
이러한 행은 튜플(tuple) 혹은 레코드(record)라고 한다.
값(value)
테이블은 각각 행과 열에 대응하는 값을 가진다. 이러한 값은 열의 타입에 맞는 값이어야 한다.
키(key)
키는 하나의 테이블을 구성하는 여러 열 중에서 특별한 의미를 지닌 하나 또는 여러 열의 조합을 의미한다. 기본키(primary key), 후보키(candidate key), 외래키(foreign key), 복합키(composite key)등이 있다.
관계(relationship)
테이블 간의 관계는 관계를 맺는 테이블 수에 따라 나뉜다.관계형 데이터베이스에서는 이러한 관계를 나타내기 위해 외래키를 사용한다. 외래키 는 한 테이블의 키 중에서 다른 테이블의 행을 식별할 수 있는 키를 의미한다.
만약 테이블 하나에 모든 데이터항목을 저장한다면 데이터들이 중복해서 저장되는 상황이 발생할 수 있어 비효율적이다. 데이터가 수십만 수백만이라고 가정한다면 그 데이터의 변경이 일어날 시 처리하기에도 까다롭다.
위 그림처럼 테이블을 분리 시킨 후 각 테이블간 행과 행 사이에 관계를 형성하는 경우를 확인해 보면
각 테이블간의 관계는 기본키와 외래키라는 개념을 사용해 맺어질 수 있다. 기본키는 고유한 ID 필드로 선수번호 필드이다. 이 플드는 각 행이 중복된 값을 가질 수 있다. 외래키는 기본키를 참조하는 필드로 그림에서 팀 코트이며 각 테이블의 행을 연결시켜 준다.
이렇게 테이블을 분리한 후 관계를 형성해 데이터를 효율적으로 관리한다.
RDBMS는 Relational Database Management System의 약자로 관계형 데이터베이스의 관리 시스템을 의미한다. SQL은 Structured Query Language의 약자로 RDBMS에서 사용하는 프로그래밍 언어라고 볼 수 있다. SQL을 통해 RDBMS에서 데이터를 검색, 추가, 업데이트 및 삭제하는 등 데이터를 관리한다.