로우 (데이터베이스)
1. 개요
로우(row)는 데이터베이스에서 속성들의 집합으로 구성된 데이터 구조를 의미하며, SQL에서는 레코드라고 불린다. 튜플은 속성과 도메인(정의역)의 이름 쌍으로 구성되며, 속성 값은 스칼라 값이나 복잡한 구조를 가질 수 있다. 튜플을 구성하는 속성의 수를 차수라고 하며, 관계형 데이터베이스에서 튜플을 구성하는 속성은 순서가 정해져 있지 않다. 관계는 0개 이상의 동일한 형식의 튜플 집합으로 구성된다.
-
관계형 모델 -
관계 논리
관계 논리는 관계 모델 기반 데이터베이스 언어로서 관계 대수와 논리적으로 동일하며, 튜플 관계 논리와 도메인 관계 논리로 나뉘어 쿼리 최적화에 사용된다. -
관계형 모델 -
관계형 데이터베이스
관계형 데이터베이스는 데이터를 테이블 형태로 구성하여 관리하며, 1970년 E.F. 코드에 의해 정의되었고, RDBMS를 통해 ACID 트랜잭션, 저장 프로시저, 정규화, 인덱스 등의 기술을 활용하여 다양한 분야에서 사용된다. -
데이터베이스 관리 시스템 -
트랜잭션 처리
트랜잭션 처리는 데이터베이스 시스템에서 데이터의 일관성과 무결성을 보장하기 위한 기술이며, ACID 속성을 통해 데이터 정확성을 유지하고 롤백, 데드락 처리 등의 기술을 활용한다. -
데이터베이스 관리 시스템 -
저장 프로시저
저장 프로시저는 데이터베이스 관리 시스템에서 SQL 문들을 미리 컴파일하여 저장하고, 모듈화, 보안성, 성능 향상, 유지보수 용이성과 같은 특징을 가지며, 데이터베이스 시스템마다 구현 방식과 지원하는 언어가 다를 수 있는 코드 묶음이다. -
데이터 모델링 -
빌딩 정보 모델링
빌딩 정보 모델링(BIM)은 건축물의 전 생애주기 동안 발생하는 정보를 디지털 모델로 통합 관리하는 프로세스이다. -
데이터 모델링 -
저장 프로시저
저장 프로시저는 데이터베이스 관리 시스템에서 SQL 문들을 미리 컴파일하여 저장하고, 모듈화, 보안성, 성능 향상, 유지보수 용이성과 같은 특징을 가지며, 데이터베이스 시스템마다 구현 방식과 지원하는 언어가 다를 수 있는 코드 묶음이다.
2. 예제
튜플은 여러 속성으로 구성될 수 있다. 예를 들어, 다음과 같은 속성들로 구성된 튜플 형식을 생각해 볼 수 있다.
| 속성명 : 도메인명 |
|---|
| ID : 정수형 |
| 성명 : 문자열형 |
| 주소 : 문자열형 |
위 형식에 따른 실제 튜플의 예시는 다음과 같다.
| ID : 정수형 | 성명 : 문자열형 | 주소 : 문자열형 |
|---|---|---|
| 101 | 휴 다윈 | 오키나와현 나하시 |
위 튜플은 ID(정수형, 101), 성명(문자열형, "휴 다윈"), 주소(문자열형, "오키나와현 나하시")의 세 가지 속성으로 구성되어 있다. 튜플의 차수는 3이다. 튜플을 구성하는 속성에는 순서가 없다.
3. 관계에서의 튜플
같은 형식의 튜플(組)의 특정 집합은 관계(릴레이션)을 구성한다. 관계를 구성하는 튜플의 수(농도)는 0 이상이다. 관계의 예는 다음과 같다.
| ID : 정수형 | 성명 : 문자열형 | 주소 : 문자열형 |
|---|---|---|
| 101 | 휴 다윈 | 오키나와현 나하시 |
| 202 | 에드거 F. 코드 | 미야기현 센다이시 |
| 104 | 크리스 데이트 | 구마모토현 구마모토시 |
| 152 | 마이클 스톤브레이커 | 오키나와현 오키나와시 |
이 예의 관계에는 같은 형식의 튜플이 4개 포함되어 있다.
관계형 데이터베이스의 데이터베이스 언어 SQL에서는 행 값 생성자를 사용하여 튜플을 생성할 수 있다. (예: (101, "휴 다윈", "오키나와현 나하시"))
4. 특징
로우(row)는 관계형 데이터베이스에서 튜플(tuple)이라고도 불리며, 테이블 내에서 가로로 나열된 데이터의 집합을 의미한다. 각 로우는 테이블의 컬럼(column)에 해당하는 데이터 값들을 포함하고 있으며, 각 컬럼은 특정한 데이터 타입(자료형)을 가진다.
튜플은 속성(Attribute)과 정의영역(도메인, 데이터 형식)의 쌍으로 구성된다. 속성 값은 스칼라 값, 또는 더 복잡한 구조를 가질 수 있다. 튜플을 구성하는 속성의 수를 차수(degree)라고 하며, 차수가 n인 튜플을 n-튜플이라고 한다. 관계 값(또는 관계)은 0개 이상의 동일한 형식의 튜플 집합으로 구성된다. 관계 모델에서 튜플을 구성하는 속성은 정렬되지 않는다.
예를 들어, 3개의 속성으로 구성된 튜플 형식은 다음과 같다.
| 속성명 : 도메인명 |
|---|
| ID : 정수형 |
| 이름 : text |
| 주소 : text |
이 형식에 따른 실제 튜플의 예는 다음과 같다.
| ID : integer | 이름 : varchar | 주소 : varchar |
|---|---|---|
| 101 | "홍길동" | "경기도 양주시" |
이 튜플은 ID 속성에 정수 값 101, 이름 속성에 문자열 "홍길동", 주소 속성에 문자열 "경기도 양주시"를 가진다. 이 튜플의 차수는 3이다. 튜플을 구성하는 속성은 정렬되지 않으므로, "이름 오른쪽에 주소가 있다"거나 "주소는 세 번째 속성이다"라고 말하는 것은 옳지 않다.
SQL에서 레코드는 행(row)라고 불린다.