관계형 데이터베이스(關係形 Database, Relational Database, 문화어: 관계자료기지, 관계형자료기지, RDB)는 키(key)와 값(value)들의 간단한 관계를 테이블화 시킨 매우 간단한 원칙의 전산정보 데이터베이스이다. 1970년 에드거 F. 커드가 제안한 데이터 관계형 모델에 기초하는 디지털 데이터베이스이다.
관계형 모델
이 모델은 데이터를 컬럼(column)과 로우(row)를 이루는 하나 이상의 테이블(또는 관계)로 정리하며, 고유 키(Primary key)가 각 로우를 식별한다. 로우는 레코드나 튜플로 부른다. 일반적으로 각 테이블/관계는 하나의 엔티티 타입(고객이나 제품과 같은)을 대표한다. 로우는 그 엔티티 종류의 인스턴스(예: "Lee" 등)를 대표하며 컬럼은 그 인스턴스의 속성이 되는 값들(예: 주소나 가격)을 대표한다.
키 (Key)
테이블의 각 로우에는 저만의 고유 키(key)가 있다. 한 테이블 안의 로우는 다른 테이블들의 로우로 연결이 가능한데, 이는 연결된 로우의 고유 키를 위한 컬럼을 추가함으로써 이루어진다. (이러한 컬럼들은 외래 키로 부른다)
관계 (Relationships)
관계는 테이블 간에 둘 다 존재한다. 이 관계들은 일대일, 일대다, 다대다, 이렇게 세 가지 형태로 이루어진다. 대부분의 관계형 데이터베이스들은 각 로우의 각 컬럼이 하나의 값만을 보유할 수 있도록 설계되어 있다. (값은 원자적이다)
트랜잭션 (Transaction)
데이터베이스 관리 시스템(DBMS)이 효율적이고 정확하게 운용되기 위해서는 ACID 트랜잭션을 갖추고 있어야 한다.
저장 프로시저
RDBMS 내의 대부분의 프로그래밍은 저장 프로시저(SP)를 이용하여 이루어진다. 가끔 프로시저들은 시스템 안팎으로 전송되는 정보의 양을 줄이는데 큰 기여를 한다. 보안을 위해 시스템 디자인은 저장 프로시저에만 접근 권한을 주고 테이블에 직접 주지 않을 수도 있다.
출처