Phiên bản được hỗ trợ:hiện tại(17)16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3

F.39. SEG - Kiểu dữ liệu cho kèo bóng đá pháp phân đoạn dòng hoặc khoảng thời gian nổi#

Mô -đun này thực hiện kiểu dữ kèo bóng đá phápSEGđể biểu diễn kèo bóng đá pháp phân đoạn dòng hoặc khoảng thời gian nổi.SEGCó thể thể hiện sự không chắc chắn trong kèo bóng đá pháp điểm cuối khoảng thời gian, làm cho nó đặc biệt hữu ích để thể hiện kèo bóng đá pháp phép đo phòng thí nghiệm.

Mô -đun này được coi làTrusted, nghĩa là, nó có thể được cài đặt bởi những người không phải là người giám sát cóTạoĐặc quyền trên cơ sở dữ kèo bóng đá pháp hiện tại.

F.39.1. Đặt vấn đề#

Hình học của kèo bóng đá pháp phép đo thường phức tạp hơn so với điểm trong một liên tục số. Một phép đo thường là một phân đoạn của sự liên tục đó với kèo bóng đá pháp giới hạn hơi mờ.

Sử dụng thông thường, có vẻ thuận tiện hơn để lưu trữ dữ liệu như kèo bóng đá pháp khoảng, thay vì kèo bóng đá pháp cặp số. Trong thực tế, nó thậm chí còn hóa ra hiệu quả hơn trong hầu hết kèo bóng đá pháp ứng dụng.

Xa hơn dọc theo dòng thông thường, độ mờ của kèo bóng đá pháp giới hạn cho thấy rằng việc sử dụng kèo bóng đá pháp loại dữ liệu số truyền thống dẫn đến mất thông tin nhất định. Hãy xem xét điều này: Công cụ của bạn đọc 6.50 và bạn nhập bài đọc này vào cơ sở dữ liệu.

test = Chọn 6.50 :: float8 là "pH";

Trong thế giới đo lường, 6,50 không giống với 6.5. Nó đôi khi có thể rất khác nhau.

Kết luận? Thật tuyệt khi có một loại dữ liệu đặc biệt có thể ghi lại kèo bóng đá pháp giới hạn của một khoảng thời gian với độ chính xác biến đổi tùy ý.

Kiểm tra điều này:

test = select '6.25 .. 6,50' :: seg là "pH";

F.39.2. Cú pháp#

Biểu diễn bên ngoài của một khoảng được hình thành bằng cách sử dụng một hoặc hai số điểm nổi được nối bởi toán tử phạm vi (..hoặc...). Ngoài ra, nó có thể được chỉ định là một điểm trung tâm cộng với hoặc trừ đi độ lệch.<, hoặc~) cũng có thể được lưu trữ. (Tuy nhiên, kèo bóng đá pháp chỉ số chắc chắn bị bỏ qua bởi tất cả kèo bóng đá pháp toán tử tích hợp.)Bảng F.28đưa ra một cái nhìn tổng quan về kèo bóng đá pháp biểu diễn được phép;Bảng F.29Hiển thị một số ví dụ.

inBảng F.28, x, yDeltabiểu thị số điểm nổi.xY, nhưng khôngDelta, có thể được đi trước bởi một chỉ báo chắc chắn.

Bảng F.28.SEGBiểu diễn bên ngoài

x Giá trị đơn (khoảng không độ dài)
x..y Khoảng từxđếny
x(+-)Delta Khoảng từx - Deltađếnx+Delta
x.. Khoảng mở với giới hạn dướix
..x Khoảng mở với giới hạn trênx

Bảng F.29. Ví dụ về hợp lệSEGĐầu vào

5.0 Tạo một phân đoạn độ dài không (một điểm, nếu bạn muốn)
~ 5.0 Tạo một phân đoạn và bản ghi độ dài bằng không~Trong dữ kèo bóng đá pháp.~bị bỏ qua bởiSEGHoạt động, nhưng được bảo tồn dưới dạng bình luận.
<5.0 Tạo một điểm ở 5.0.<bị bỏ qua nhưng được bảo tồn dưới dạng bình luận.
5.0 Tạo một điểm ở 5.0.bị bỏ qua nhưng được bảo tồn dưới dạng bình luận.
5 (+-) 0,3 Tạo một khoảng4.7 .. 5.3. Lưu ý rằng(+-)Ký hiệu không được bảo quản.
50 .. Mọi thứ lớn hơn hoặc bằng 50
.. 0 Mọi thứ đều nhỏ hơn hoặc bằng 0
1.5E-2 .. 2E-2 Tạo kèo bóng đá pháp gian0.015 .. 0.02
1 ... 2 giống như1...2hoặc1 .. 2hoặc1..2(không gian xung quanh toán tử phạm vi bị bỏ qua)

...Toán tử được sử dụng rộng rãi trong kèo bóng đá pháp nguồn dữ liệu, nó được phép làm cách chính tả thay thế của..Nhà điều hành. Thật không may, điều này tạo ra sự mơ hồ phân tích cú pháp: Không rõ kèo bóng đá pháp giới hạn trên trong0...23có nghĩa là23hoặc0.23. Điều này được giải quyết bằng cách yêu cầu ít nhất một chữ số trước điểm thập phân trong tất cả kèo bóng đá pháp số trongSEGđầu vào.

như một kiểm tra tỉnh táo,SEGTừ chối kèo bóng đá pháp khoảng thời gian với giới hạn dưới lớn hơn phần trên, ví dụ5 .. 2.

F.39.3. Độ chính xác#

SEGGiá trị được lưu trữ bên trong dưới dạng kèo bóng đá pháp cặp số điểm nổi 32 bit. Điều này có nghĩa là kèo bóng đá pháp số có hơn 7 chữ số quan trọng sẽ bị cắt.

Số có 7 hoặc ít hơn kèo bóng đá pháp chữ số đáng kể giữ lại độ chính xác ban đầu của chúng. Đó là, nếu truy vấn của bạn trả về 0,00, bạn sẽ chắc chắn rằng kèo bóng đá pháp số 0 không phải là tạo tác của định dạng: chúng phản ánh độ chính xác của dữ liệu gốc.

F.39.4. Cách sử dụng#

TheSEGMô -đun bao gồm lớp toán tử chỉ mục GIST choSEGGiá trị. kèo bóng đá pháp toán tử được hỗ trợ bởi lớp toán tử GIST được hiển thị trongBảng F.30.

Bảng F.30. kèo bóng đá pháp toán tử seg gist

Nhà điều hành

Mô tả

SEG << SEGBoolean

là lần đầu tiênSEGHoàn toàn ở bên trái của thứ hai? [a, b] << [c, d] là đúng nếu b <c.

SEG SEGBoolean

là lần đầu tiênSEGHoàn toàn ở bên phải của thứ hai? [a, b] [c, d] là đúng nếu a d.

SEG &< SEGBoolean

đầu tiênSEGKhông mở rộng sang phải của thứ hai? [a, b] & <[c, d] là đúng nếu b <= d.

SEG & SEGBoolean

đầu tiênSEGKhông mở rộng sang bên trái của thứ hai? [a, b] & [c, d] là đúng nếu a = c.

SEG = SEGBoolean

là haiSEGS bằng?

SEG && SEGBoolean

làm haiSEGS chồng chéo?

SEG @ SEGBoolean

đầu tiênSEGchứa thứ hai?

SEG <@ SEGBoolean

là lần đầu tiênSEGchứa trong lần thứ hai?


Ngoài kèo bóng đá pháp toán tử trên, kèo bóng đá pháp toán tử so sánh thông thường được hiển thị trongBảng 9.1Có sẵn cho loạiSEG. kèo bóng đá pháp toán tử này trước tiên so sánh (a) với (c) và nếu chúng bằng nhau, so sánh (b) với (d).

F.39.5. Ghi chú#

Để biết ví dụ về việc sử dụng, hãy xem bài kiểm tra hồi quySQL/SEG.SQL.

Cơ chế chuyển đổi(+-)kèo bóng đá pháp phạm vi thông thường không hoàn toàn chính xác trong việc xác định số lượng chữ số quan trọng cho kèo bóng đá pháp ranh giới. Ví dụ: nó thêm một chữ số bổ sung vào ranh giới dưới nếu khoảng thời gian kết quả bao gồm sức mạnh của mười:

postgres = select '10 (+-) 1 ':: seg as seg;

Hiệu suất của chỉ số r-cây có thể phụ thuộc phần lớn vào thứ tự ban đầu của kèo bóng đá pháp giá trị đầu vào. Có thể rất hữu ích để sắp xếp bảng đầu vào trênSEGCột; Xem tập lệnhSắp xếp-Segments.plVí dụ.

F.39.6. Tín dụng#

Tác giả gốc: Gene Selkov, Jr., Phòng Toán học và Khoa học Máy tính, Phòng thí nghiệm quốc gia Argonne.

Lời cảm ơn của tôi chủ yếu dành cho Giáo sư Joe Hellerstein (https: //dsf.berkeley.edu/jmh/) để làm sáng tỏ ý chính của ý chính (http: //gist.cs.berkeley.edu/). Tôi cũng biết ơn tất cả kèo bóng đá pháp nhà phát triển Postgres, hiện tại và quá khứ, vì đã cho phép bản thân tạo ra thế giới của riêng tôi và sống không bị xáo trộn trong đó.

Gửi hiệu chỉnh

Nếu bạn thấy bất cứ điều gì trong tài kèo bóng đá pháp không chính xác, không khớpMẫu nàyĐể báo cáo vấn đề tài kèo bóng đá pháp.