관계형 모델의 신조 중 하나는 열이라는 것입니다. 테이블의 원자가입니다.Postgres이 제한이 없습니다. 열에는 자체가 포함될 수 있습니다 쿼리 언어에서 액세스 할 수있는 하위 값. 을 위한 예를 들어,베이스 토토 커뮤니티 인 열을 만들 수 있습니다. 유형.
Postgres열을 허용합니다 고정 길이 또는 가변 길이로 정의되는 행입니다 다차원 토토 커뮤니티. 모든 기본 유형의 토토 커뮤니티 또는 사용자 정의 유형을 만들 수 있습니다. 그들의 사용을 설명하기 위해, 우리 먼저 기본 유형의 토토 커뮤니티로 테이블을 만듭니다.
테이블 생성 sal_emp ( 이름 텍스트, pay_by_quarter 정수 [], 일정 텍스트 [] [] );
위의 쿼리는 a와 함께 sal_emp라는 테이블을 만듭니다.텍스트String (이름), 1 차원 토토 커뮤니티정수(pay_by_quarter), 이는 분기 별 직원의 급여를 나타냅니다 2 차원 토토 커뮤니티텍스트(일정)는 직원의 주간 일정을 나타냅니다. 이제 우리는 몇 가지를합니다삽입s; 언제 토토 커뮤니티에 추가하면 브레이스 내의 값을 동봉하고 쉼표로 분리하십시오. 당신이 알고 있다면C, 이것은 구문과 다릅니다 구조 초기화.
sal_emp에 삽입하십시오 값 ( 'Bill', '10000, 10000, 10000, 10000', ' "meeting", "lunch", '); sal_emp에 삽입하십시오 값 ( '캐롤', '20000, 25000, 25000, 25000', ' "talk", "consult", "meeting"');기본적으로Postgres용도 토토 커뮤니티에 대한 "일원 기반"번호 컨벤션, 즉 N 요소의 토토 커뮤니티은 토토 커뮤니티 [1]으로 시작하여 토토 커뮤니티 [n]으로 끝납니다. 이제 sal_emp에서 몇 가지 쿼리를 실행할 수 있습니다. 먼저, 우리는 방법을 보여줍니다 한 번에 토토 커뮤니티의 단일 요소에 액세스하십시오. 이 쿼리가 검색됩니다 2 분기에 급여가 바뀌는 직원의 이름 :
이름을 선택하십시오 sal_emp에서 여기서 sal_emp.pay_by_quarter [1] < sal_emp.pay_by_quarter [2]; +------+ | 이름 | +------+ | 캐롤 | +------+
이 쿼리는 모두의 3 분기 급여를 검색합니다 직원:
sal_emp에서 sal_emp.pay_by_quarter [3]를 선택하십시오. +---------------+ | pay_by_quarter | +---------------+ | 10000 | +---------------+ | 25000 | +--------------+
우리는 또한 토토 커뮤니티의 임의의 슬라이스에 액세스 할 수 있습니다 (서브 어레이) 각 첨자에 대한 하부 및 상한을 모두 지정합니다. 이 쿼리는 Bill의 일정에 따라 첫 번째 항목을 검색합니다. 주 1 주일.
sal_emp.schedule을 선택하십시오 [1 : 2] [1 : 1] sal_emp에서 여기서 sal_emp.name = 'Bill'; +-------------------+ | 일정 | +-------------------+ | "meeting", "" | +-------------------+