관계형 데이터베이스(Relational Database)란 데이터를 테이블(Table)의 형태로 구조화 하여 관리하는 데이터베이스이다. 각각의 테이블은 특정 주제나 카테고리와 관련된 데이터를 저장하며, 여러 개의 테이블을 조합하여 하나의 데이터베이스를 구성한다.
데이터의 무결성은 데이터베이스 내의 데이터가 항상 정확하고 유효한 값을 가지는 것을 의미한다. 데이터의 무결성은 주로 데이터베이스의 제약조건을 통해 보장된다.
RDB의 단점을 보완하는 다양한 기술(샤딩, 레플리케이션)이나 NoSQL 데이터베이스가 존재한다. 따라서 상황에 맞는 기술을 사용하여 발생하는 문제를 해결하는 것이 중요하다.
데이터를 저장하는 데 사용되는 2차원 구조의 형식화된 데이터 모음이다. 테이블은 열(Column)과 행(Row)으로 구성되어 있으며, 열은 데이터의 속성을 정의하고, 행은 개별 데이터 레코드를 나타낸다.
테이블의 세로축으로, 테이블에 저장된 데이터의 특성을 나타내는데 사용된다. 열은 각기 고유한 데이터 유형을 가질 수 있다. 열은 필드(field), 속성(attribute)으로 불리기도 한다.
테이블의 가로축으로, 데이터 레코드를 나타낸다. 행은 각기 고유한 기본 키(primary key)를 가질 수 있다. 행은 튜플(tuple), 레코드(record)로 불리기도 한다.
일대일 관계(One-to-One Relationship)
두 개의 테이블 간의 일대일 관계는 하나의 테이블의 각 행이 다른 테이블의 한 개의 행과 대응하는 경우이다. 예를 들어, 인적 정보 테이블과 연락처 정보 테이블이 있을 때, 각 인적 정보 행은 연락처 정보 테이블의 한 개의 행과 일치해야 한다.
일대다 관계(One-to-Many Relationship)
일대다 관계는 한 테이블의 각 행이 다른 테이블에서 여러 개의 행과 대응되는 경우이다. 예를 들어, 부서 테이블과 직원 테이블이 있을 때, 한 부서에 여러 명의 직원이 속할 수 있다.
다대다 관계(Many-to-Many Relationship)
다대다 관계는 두 개 이상의 테이블 간의 관계로, 한 테이블의 각 행이 다른 테이블의 여러 행과 대응되는 경우이다. 예를 들어, 수강 테이블과 학생 테이블이 있을 때, 한 명의 학생이 여러 개의 과목을 수강할 수 있으며, 각 과목에 여러 명의 학생이 수강할 수 있다.
스키마는 데이터베이스에서 사용되는 테이블, 컬럼, 제약조건 등의 구조를 정의하는 개념이다. 즉, 스키마는 데이터베이스의 뼈대를 구성하며, 데이터베이스를 구성하는 테이블, 컬럼, 제약조건 등의 정보가 저장되어 있다.
스키마는 데이터베이스에서 정의되어야 하며, 데이터베이스를 생성할 때 스키마를 먼저 정의한 후, 그 안에 테이블을 생성하고 데이터를 저장한다. 스키마는 데이터베이스의 구조를 명확히 하기 위해 사용되며, 데이터베이스에 저장되는 데이터가 스키마에 정의된 구조에 맞게 저장되도록 보장한다.