버추얼 컬럼

관계형 데이터베이스에서 버추얼 컬럼(virtual column) 또는 가상 열은 다른 컬럼 값이나 다른 결정식을 사용하여 자동으로 값이 계산되는 테이블 컬럼이다. 버추얼 컬럼은 "제네레이티드 컬럼"(Generated Column)이라는 이름으로 SQL:2003에 정의되어 있으며 MariaDB, SQL 서버, 오라클, PostgreSQL, SQLite, 파이어버드(COMPUTED BY 문법) 등 일부 DBMS에 의해서만 구현되어 있다.

구현체 
두 가지 종류가 있다:
 버추얼 컬럼(Virtual columns)
 퍼시스턴트 컬럼(Persistent columns)

버추얼 컬럼의 값은 필요하면 언제든지(예: SELECT 문에 의해 반환 시) 계산된다. 퍼시스턴트 컬럼의 값은 로우가 테이블에 삽입될 때 계산되며 다른 모든 값들처럼 기록된다. 이 값들은 다른 값이 변경되면 변경될 수 있다. 버추얼 컬럼과 퍼시스턴트 컬럼 모두 장단점이 있다. 버추얼 컬럼은 디스크에 공간을 소비하지는 않지만 쿼리가 이들을 참조할 때마다 계산해야 한다. 퍼시스턴트 컬럼은 어떠한 CPU 시간도 요구하지 않지만 디스크 공간을 소비한다. 그러나 일부 DBMS는 오직 하나의 컬럼 타입만을 지원하거나 이들 모두를 지원하는 것은 아니기 때문에 선택권이 존재하지는 않는다.

각주

외부 링크 
 Virtual Columns in MariaDB's documentation.
 MariaDB 5.2: What would you use virtual columns for?  on OpenLife.cc
 Virtual Columns in Oracle Database 11g Release 1
 Computed Columns in SQL Server 2008

데이터베이스 관리 시스템