로우 (데이터베이스)
로우(row, 행, 行)는 관계형 데이터베이스에서 레코드(record) 또는 튜플(tuple)로 불리기도 하며, 어떤 테이블에서 단일 구조 데이터 항목을 가리킨다. 간단한 용어로, 데이터베이스 테이블은 로우와 컬럼 또는 필드로 구성되어 있다고 간주할 수 있다.[1] 각 테이블의 행은 일련의 관련 자료를 나타내며, 테이블에서 모든 로우는 동일한 구조를 가지고 있다.
개요
[편집]예를 들어, 회사를 나타내는 한 테이블 안에서 각 행은 하나의 회사를 나타낸다. 컬럼은 회사명, 회사 주소 등등의 것들을 나타낼 것이다. 부서 정보를 가진 사원의 조합을 나타내는 테이블에는 각 행에 1명의 사원이 1개의 부서와 연관되어 있을 것이다.
공식적으로 덜 이용되는 공식적으로 관계가 있지 않은 데이터베이스에서 레코드는 상기한 바와 같이 레코드와 같지만, 행으로 언급되지는 않는다.
행의 명백한 구조와 행에서의 데이터 값의 의미는 행의 연속적인 데이터 값과 테이블에서의 각 컬럼 중에 하나를 제공해야 하는 것으로 이해가 된다. 그러면 행은 각 튜플이 2개의 항목(적절한 컬럼명과 이 행이 컬럼에 제공하는 값)을 가지는 튜플의 세트로 구성된 관계변수로서 해석이 된다.
각 컬럼은 특정한 타입의 자료형을 가진 데이터 값을 기대한다. 예를 들어, 하나의 컬럼은 유니크한 식별자를 필요로 할 것이고, 다른 것은 그 사람의 이름을 가진 텍스트를, 그리고 시급을 나타내는 센트 단위의 급여(정수)를 필요로 할 것이다.
- | 컬럼1 | 컬럼2 |
---|---|---|
Row 1 | Row 1, Column 1 | Row 1, Column 2 |
Row 2 | Row 2, Column 1 | Row 2, Column 2 |
Row 3 | Row 3, Column 1 | Row 3, Column 2 |
예제
[편집]여러 개의 속성으로 구성되는 하나의 튜플 형식의 예를 나타낸다.
속성명 : 정의역명 |
---|
ID : integer |
이름 : text |
주소 : text |
이 형식의 실제 쌍의 예를 나타낸다. 이 예제에서는 편의상 쌍을 시각적 그림에서 보여주고 있다.
ID : integer | 이름 : varchar | 주소 : varchar |
---|---|---|
101 | "홍길동" | "경기도 양주시" |
이 예제 쌍은 ID라는 속성 이름으로 정수 101라는 속성 값을 갖는 속성과 이름이라는 속성 이름으로 문자열의 "홍길동"이라는 속성 값을 갖는 속성과 주소라는 속성 이름인 문자열의 "경기도 양주시"라는 속성 값을 갖는 속성의 세 가지 특성으로 구성되어 있다. 이 예제 쌍의 차수는 3이다. 앞서 언급했듯이, 쌍을 구성하는 속성은 정렬되지 않는다. 즉,이 예제의 조로 "이름 오른쪽에 주소가 있다"고 언급하는 것은 틀린 것이며, "주소는 세 번째 특성이다"라고 말하는 것도 잘못이다.
특징
[편집]- SQL에서 레코드는 행(row)라고 불린다.
- 속성은 속성명과 정의영역(도메인)의 이름 쌍이다.
- 정의영역(domain)은 데이터 형식과 같은 의미로 사용된다.
- 속성은 그 정의영역에 적용되는 하위 속성값을 가진다.
- 한 쌍 있어서는 그 세트에 포함되는 속성 각각 그 속성 정의 영역의 속성 값을 가진다.
- 속성 값은 스칼라 값 이나 더 복잡한 구조를 가지는 값이다.
- 수학의 쌍과 달리 관계 모델의 쌍을 구성하는 속성은 정렬되지 않는다.
- 쌍을 구성하는 속성의 수를 차수(degree)라고 한다.
- 쌍 차수는 0 또는 양의 정수이다.
- 차수가 n인 쌍을 n쌍(n -tuple)이라고 한다.
- 관계값 (또는 단순히 관계)는 0 이상 동일한 형식 쌍의 집합으로 구성된다.
같이 보기
[편집]각주
[편집]- ↑ "What is a database row?" Cory Janssen, Techopedia, retrieved 27 June 2014