F.9. 입방체

이 모듈은 데이터 유형을 구현합니다토토 사이트 추천다차원 토토 사이트 추천를 나타내는 것.

이 모듈이 고려됩니다신뢰할 수있는Create현재 데이터베이스의 권한.

F.9.1. 통사론

테이블 F.2에 대한 유효한 외부 표현을 보여줍니다토토 사이트 추천타입.x, y등. 부동 소수점 번호를 나타냅니다.

표 F.2. 토토 사이트 추천 외부 표현

외부 구문 의미
x 1 차원 지점 (또는 제로 길이의 1 차원 간격)
(x) 위와 동일
x1,x2,...,xn 내 차원 공간의 점, 내부적으로 제로 볼륨 토토 사이트 추천로 표현
(x1,x2,...,xn) 위와 동일
(x), (y) 1에서 시작하는 1 차원 간격xand aty또는 그 반대; 주문은 중요하지 않습니다
[(x), (y)] 위와 동일
(x1,...,xn), (Y1,...,yn) 대각선 반대쪽 코너 쌍으로 표현 된 N- 차원 토토 사이트 추천
[(x1,...,xn), (y1,...,yn)] 위와 동일

토토 사이트 추천의 반대쪽 모서리를 입력하는 것은 중요하지 않습니다.토토 사이트 추천함수는 균일을 생성하는 데 필요한 경우 값을 자동으로 교체합니다왼쪽 하단 - 오른쪽 상단내부 표현. 모서리가 일치 할 때토토 사이트 추천한쪽 코너 만is point공간 낭비를 피하기위한 깃발.

입력시 공백이 무시되므로[(x), (y)]|[(x), (y)].

F.9.2. 정도

값은 내부적으로 64 비트 플로팅 포인트 번호로 저장됩니다. 이것은 약 16 개의 중요한 숫자가있는 숫자가 잘릴 것임을 의미합니다.

F.9.3. 용법

테이블 F.3유형에 제공된 특수 연산자를 보여줍니다토토 사이트 추천.

표 F.3. 토토 사이트 추천 연산자

운영자

설명

토토 사이트 추천 && 토토 사이트 추천부울

토토 사이트 추천가 겹치는가?

토토 사이트 추천 @ 토토 사이트 추천부울

첫 번째 토토 사이트 추천에는 두 번째 토토 사이트 추천가 포함되어 있습니까?

토토 사이트 추천 <@ 토토 사이트 추천부울

두 번째 토토 사이트 추천가 포함되어 있습니까?

토토 사이트 추천 - 정수float8

추출n-토토 사이트 추천의 좌표 (1에서 카운트).

토토 사이트 추천 ~ Integerfloat8

추출n-TH 토토 사이트 추천 좌표, 다음과 같은 방법으로 계산합니다.n= 2 *K-1은 하한을 의미합니다K-th Dimension,n= 2 *K상한을 의미K-Thimension. 부정적인n해당 양의 좌표의 역 값을 나타냅니다. 이 연산자는 KNN-Gist 지원을 위해 설계되었습니다.

토토 사이트 추천 <-- 17999_18005float8

두 토토 사이트 추천 사이의 유클리드 거리를 계산합니다.

토토 사이트 추천 <# 토토 사이트 추천float8

두 토토 사이트 추천 사이의 택시 (L-1 메트릭) 거리를 계산합니다.

토토 사이트 추천 <= 토토 사이트 추천float8

두 토토 사이트 추천 사이의 Chebyshev (L-inf metric) 거리를 계산합니다.


(Postgresql 8.2 이전, 격리 연산자@and<@각각@and~. 이 이름은 여전히 ​​사용 가능하지만 감가 상각되며 결국 은퇴 할 것입니다. 이전 이름은 이전에 컨벤션에서 반전 된 후 핵심 기하학적 데이터 유형이 뒤 따릅니다!)

위의 연산자 외에도에 표시된 일반적인 비교 연산자가 있습니다.표 9.1유형에 사용할 수 있습니다토토 사이트 추천. 이 연산자는 먼저 첫 번째 좌표를 비교하고, 동일하면 두 번째 좌표 등을 비교합니다. 주로 B-Tree Index Operator Class for을 지원하기 위해 존재합니다.토토 사이트 추천, 예를 들어 A에서 고유 한 제약 조건을 원한다면 유용 할 수 있습니다토토 사이트 추천열. 그렇지 않으면이 주문은 실용적으로 사용되지 않습니다.

the토토 사이트 추천모듈은 또한 Gist Index Operator Class for를 제공합니다.토토 사이트 추천값. 에이토토 사이트 추천GIST 인덱스를 사용하여를 사용하여 값을 검색 할 수 있습니다.=, &&, @<@운영자여기서Clauses.

또한 A토토 사이트 추천Gist Index는 메트릭 연산자를 사용하여 가장 가까운 이웃을 찾는 데 사용될 수 있습니다<--, <#<=in주문 by조항. 예를 들어, 3D 포인트 (0.5, 0.5, 0.5)의 가장 가까운 이웃은 다음과 같이 효율적으로 찾을 수 있습니다.

C <- 토토 사이트 추천로 테스트 순서에서 C를 선택하십시오 (배열 [0.5,0.5,0.5]) 제한 1;

the~연산자는 이러한 방식으로 사용하여 선택한 좌표로 정렬 된 처음 몇 가지 값을 효율적으로 검색 할 수 있습니다. 예를 들어, 첫 번째 좌표 (왼쪽 하단)에서 순서대로 첫 몇 개의 토토 사이트 추천를 얻으려면 다음 쿼리를 사용할 수 있습니다.

C ~ 1 한계 5로 테스트 순서에서 C를 선택하십시오.

그리고 오른쪽 상단 코너 하강의 첫 번째 좌표에 의해 주문 된 2D 토토 사이트 추천를 얻으려면 :

C ~ 3 Desc Limit 5;의 테스트 순서에서 C를 선택하십시오.

표 F.4사용 가능한 함수를 보여줍니다.

표 F.4. 토토 사이트 추천 기능

기능

설명

example (s)

토토 사이트 추천(float8) →토토 사이트 추천

두 좌표로 1 차원 토토 사이트 추천를 만듭니다.

토토 사이트 추천 (1)(1)

토토 사이트 추천(float8, float8) →토토 사이트 추천

1 차원 토토 사이트 추천를 만듭니다.

토토 사이트 추천 (1,2)(1), (2)

토토 사이트 추천(float8 []) →토토 사이트 추천

배열에 정의 된 좌표를 사용하여 제로 볼륨 토토 사이트 추천를 만듭니다.

토토 사이트 추천 (배열 [1,2,3])(1, 2, 3)

토토 사이트 추천(float8 [], float8 []) →토토 사이트 추천

두 배열에 의해 정의 된대로 오른쪽 상단 및 하단 좌표가있는 토토 사이트 추천를 만듭니다.이 길이는 같은 길이입니다.

토토 사이트 추천 (배열 [1,2], 배열 [3,4])(1, 2), (3, 4)

토토 사이트 추천(토토 사이트 추천, float8) →토토 사이트 추천

새 좌표의 두 엔드 포인트에 대해 동일한 값을 가진 기존 토토 사이트 추천에 치수를 추가하여 새 토토 사이트 추천를 만듭니다. 이것은 계산 된 값에서 토토 사이트 추천를 조각으로 구축하는 데 유용합니다.

토토 사이트 추천 ( '(1,2), (3,4)':: Cube, 5)(1, 2, 5), (3, 4, 5)

토토 사이트 추천(토토 사이트 추천, float8, float8) →토토 사이트 추천

기존 토토 사이트 추천에 치수를 추가하여 새 토토 사이트 추천를 만듭니다. 이것은 계산 된 값에서 토토 사이트 추천를 조각으로 구축하는 데 유용합니다.

토토 사이트 추천 ( '(1,2), (3,4)':: Cube, 5, 6)(1, 2, 5), (3, 4, 6)

Cube_dim(토토 사이트 추천) →Integer

토토 사이트 추천의 치수 수를 반환합니다.

Cube_dim ( '(1,2), (3,4)')2

cube_ll_coord(토토 사이트 추천, Integer) →float8

반환n토토 사이트 추천의 왼쪽 하단 모서리에 대한 조정 값.

Cube_ll_Coord ( '(1,2), (3,4)', 2)2

Cube_ur_Coord(토토 사이트 추천, Integer) →float8

반환n토토 사이트 추천의 오른쪽 상단 모서리에 대한 조정 값.

Cube_ur_Coord ( '(1,2), (3,4)', 2)4

Cube_is_point(토토 사이트 추천) →부울

토토 사이트 추천가 포인트라면, 즉 두 정의 코너가 동일하다면 진실을 반환합니다.

Cube_is_point (Cube (1,1))t

Cube_distance(토토 사이트 추천, 토토 사이트 추천) →float8

두 토토 사이트 추천 사이의 거리를 반환합니다. 두 토토 사이트 추천가 포인트 인 경우 이것은 정상 거리 기능입니다.

Cube_distance ( '(1,2)', '(3,4)')2.8284271247461903

Cube_Subset(토토 사이트 추천, 정수 []) →토토 사이트 추천

배열의 치수 인덱스 목록을 사용하여 기존 토토 사이트 추천에서 새 토토 사이트 추천를 만듭니다. 단일 치수의 엔드 포인트를 추출하거나 치수를 삭제하거나 원하는대로 재정렬하는 데 사용할 수 있습니다.

Cube_Subset (Cube ( '(1,3,5), (6,7,8)'), 배열 [2])(3), (7)

cube_subset (토토 사이트 추천 ( '(1,3,5), (6,7,8)'), 배열 [3,2,1,1])(5, 3, 1, 1), (8, 7, 6, 6)

Cube_union(토토 사이트 추천, 토토 사이트 추천) →토토 사이트 추천

두 개의 토토 사이트 추천의 결합을 생산합니다.

Cube_union ( '(1,2)', '(3,4)')(1, 2), (3, 4)

Cube_inter(토토 사이트 추천, 토토 사이트 추천) →토토 사이트 추천

두 개의 토토 사이트 추천의 교차점을 생성합니다.

Cube_inter ( '(1,2)', '(3,4)')(3, 4), (1, 2)

Cube_enlarge(C 토토 사이트 추천, r 더블, n 정수) →토토 사이트 추천

지정된 반경만큼 토토 사이트 추천의 크기를 증가시킵니다r적어도n치수. 반경이 음수 인 경우 대신 토토 사이트 추천가 줄어 듭니다. 정의 된 모든 치수는 반경에 의해 변경됩니다r. 왼쪽 하위 좌표는에 의해 감소합니다.r그리고 오른쪽 상단 좌표는에 의해 증가합니다.r. 왼쪽 하단 좌표가 해당 상단 좌표보다 더 많이 증가한 경우 (이 경우에만 발생할 수 있습니다r<0) 두 좌표보다 평균으로 설정됩니다. 만약에n정의 된 치수 수보다 크고 토토 사이트 추천가 확대되고 있습니다 (r 0), 그런 다음 추가 치수가 추가됩니다n완전히; 0은 추가 좌표의 초기 값으로 사용됩니다. 이 기능은 근처 지점을 검색하기위한 한 지점 주위에 경계 상자를 만드는 데 유용합니다.

Cube_enlarge ( '(1,2), (3,4)', 0.5, 3)(0.5, 1.5, -0.5), (3.5, 4.5, 0.5)


F.9.4. 기본값

나는이 연합을 믿는다 :

cube_union을 선택하십시오 ( '(0,5,2), (2,3,1)', '0');
Cube_union
--------------------
(0, 0, 0), (2, 5, 2)
(1 행)

상식과 모순되지 않으며 교차로도 마찬가지입니다

Cube_inter ( '(0, -1), (1,1)', '(-2), (2)');
Cube_inter
-------------
(0, 0), (1, 0)
(1 행)

다르게 차원의 토토 사이트 추천의 모든 바이너리 작업에서, 나는 차원이 저 차원 토토 사이트 추천가 데카트 투영이라고 가정합니다. i. 예를 들어, 문자열 표현에서 좌표 대신 제로가 생략됩니다. 위의 예는 다음과 같습니다.

Cube_union ( '(0,5,2), (2,3,1)', '(0,0,0), (0,0,0)');
cube_inter ( '(0, -1), (1,1)', '(-2,0), (2,0)';

다음 격리 술어는 포인트 구문을 사용하는 반면, 실제로 두 번째 인수는 내부적으로 상자로 표시됩니다. 이 구문은 (박스, 포인트) Predicates에 대한 별도의 포인트 유형과 함수를 정의 할 필요가 없습니다.

Cube_Contains ( '(0,0), (1,1)', '0.5,0.5');
cube_contains
--------------
티
(1 행)

F.9.5. 노트

사용의 예는 회귀 테스트를 참조하십시오SQL/Cube.sql.

사람들이 물건을 깨기 어렵게 만들기 위해 토토 사이트 추천의 치수 수에는 100의 한계가 있습니다. 이것은에서 설정됩니다.Cubedata.h더 큰 것이 필요하다면.

F.9.6. 크레딧

원래 저자 : Gene Selkov, Jr., Argonne National Laboratory의 수학 및 컴퓨터 과학 부서.

주로 Joe Hellerstein 교수에게 감사드립니다 (https : //dsf.berkeley.edu/jmh/) 요점의 요점을 설명하기 위해 (http : //gist.cs.berkeley.edu/), 그리고 그의 전 학생 인 Andy Dong에게 그의 모범을 보여 주었다. 또한 현재와 과거의 모든 Postgres 개발자에게 내 자신의 세계를 만들고 방해받지 않은 살 수있게 해주셔서 감사합니다. 그리고 저는 데이터베이스 연구에 대한 수년간의 충실한 지원을 위해 Argonne Lab과 미국 에너지 부에 대한 감사를 인정하고 싶습니다.

이 패키지에 대한 사소한 업데이트는 Bruno Wolff III에 의해 만들어졌습니다2002 년 8 월/9 월. 여기에는 단일 정밀도에서 이중 정밀도로 정밀도를 변경하고 새로운 기능 추가가 포함됩니다.

추가 업데이트는 Joshua Reich에 의해 만들어졌습니다2006 년 7 월. 포함토토 사이트 추천 (float8 [], float8 [])감가 상각 된 V0 프로토콜 대신 V1 Call 프로토콜을 사용하기위한 코드 정리.

정정 제출

올바른 문서에 아무것도 표시되면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면