Tài liệu này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang choPostgreSQL : 문서 : 17 : F.37. 스포츠 토토 사이트 - 라인 세그먼트 또는 부동 소수점 간격에 대한 데이터 유형Phiên bản hoặc một trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

F.37. 토토 꽁 머니

Mô -đun này thực hiện kiểu dữ liệu토토 꽁 머니để biểu diễn các phân đoạn dòng hoặc khoảng thời gian nổi.토토 꽁 머니có thể thể hiện sự không chắc chắn trong các điểm cuối khoảng, làm cho nó đặc biệt hữu ích cho việc đại diện Đo lường phòng thí nghiệm.

F.37.1. Đặt vấn đề

Hình học của các phép đo thường phức tạp hơn đó là một điểm trong một liên tục số. Một phép đo là thường là một phân đoạn của sự liên tục đó với các giới hạn hơi mờ. Các phép đo được đưa ra như khoảng thời gian vì sự không chắc chắn và tính ngẫu nhiên, cũng như vì giá trị được đo lường có thể tự nhiên là một khoảng thời gian cho thấy một số điều kiện, chẳng hạn như Phạm vi nhiệt độ của sự ổn định của protein.

Chỉ sử dụng thông thường, có vẻ thuận tiện hơn để lưu trữ Dữ liệu như các khoảng, thay vì các cặp số. TRONG thực hành, nó thậm chí còn hóa ra hiệu quả hơn trong hầu hết Ứng dụng.

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

test = Chọn 6.50 :: float8 là "pH";
 PH
---
6.5
(1 hàng)

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. Các thí nghiệm Thường viết ra (và xuất bản) các chữ số mà họ tin tưởng. 6,50 là Trên thực tế, một khoảng mờ có chứa trong một lớn hơn và thậm chí khoảng thời gian mờ hơn, 6.5, với các điểm trung tâm của họ là (có lẽ) Tính năng phổ biến duy nhất họ chia sẻ. Chúng tôi chắc chắn làm không muốn các mục dữ liệu khác nhau xuất hiện giống 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 giới hạn của một khoảng thời gian với biến tùy ý Độ chính xác. Biến theo nghĩa là mỗi phần tử dữ liệu ghi lại độ chính xác của chính nó.

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

test = select '6.25 .. 6,50' :: 토토 꽁 머니 là "pH";
          PH
------------
6.25 .. 6,50
(1 hàng)

F.37.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 hoặc trừ đi một sai lệch. Các chỉ số chắc chắn tùy chọn (<, hoặc~) cũng có thể được lưu trữ. (Chắc chắn Tuy nhiên, các chỉ số bị bỏ qua bởi tất cả các toán tử tích hợp.)Bảng F-26đưa ra một Tổng quan về các biểu diễn được phép;Bảng F-27hiển thị một số Ví dụ.

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

Bảng F-26.토토 꽁 머니Bên ngoài Đại diện

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-27. Ví dụ về hợp lệ토토 꽁 머니đầ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 sẽ)
~ 5.0 Tạo một phân đoạn và bản ghi độ dài bằng không~Trong dữ liệu.~bị bỏ qua bởi토토 꽁 머니Hoạ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 khoảng thời gian4.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 khoảng thời 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)

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

như một kiểm tra tỉnh táo,토토 꽁 머니Từ chối khoảng thời gian với giới hạn dưới lớn hơn phần trên, cho ví dụ5 .. 2.

F.37.3. Độ chính xác

토토 꽁 머니Giá trị được lưu trữ bên trong dưới dạng Các cặp số điểm nổi 32 bit. Điều này có nghĩa là những con số với hơn 7 chữ số quan trọng sẽ bị cắt.

số có 7 chữ số đáng kể hoặc ít hơn Độ chính xác ban đầu. Nghĩa là, nếu truy vấn của bạn trả về 0,00, bạn sẽ chắc chắn rằng các 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. Số lượng số 0 hàng đầu không ảnh hưởng đến độ chính xác: Giá trị 0,0067 được coi là chỉ có 2 chữ số.

F.37.4. Cách sử dụng

The토토 꽁 머니Mô -đun bao gồm một ý chính Lớp toán tử chỉ mục cho토토 꽁 머니Giá trị. Các Các toán tử được hỗ trợ bởi lớp toán tử GIST được hiển thị trongBảng F-28.

Bảng F-28. Các toán tử seg gist

Nhà điều hành Mô tả
[A, B] << [C, D] [A, B] hoàn toàn ở bên trái của [C, D]. Đó là, [a, b] << [c, d] là đúng nếu b <c và sai nếu không thì.
[A, B] [C, D] [A, B] hoàn toàn ở bên phải của [C, D]. Đó là, [a, b] [c, d] là đúng nếu a d và sai nếu không thì.
[A, B] & <[C, D] sự chồng chéo hoặc còn lại của - điều này có thể được đọc tốt hơn BẰNG"Không mở rộng sang phải của". Nó đúng khi b <= d.
[A, B] & [C, D] chồng chéo hoặc đúng của - điều này có thể được đọc tốt hơn BẰNG"Không mở rộng sang trái của". Nó đúng khi a = c.
[a, b] = [c, d] giống như - các phân đoạn [a, b] và [c, d] là giống hệt nhau, nghĩa là a = c và b = d.
[A, B] && [C, D] các phân đoạn [a, b] và [c, d] chồng chéo.
[A, B] @ [C, D] Phân đoạn [A, B] chứa phân đoạn [C, D], nghĩa là, a <= c và b = d.
[a, b] <@ [c, d] Phân đoạn [A, B] được chứa trong [C, D], nghĩa là, a = c và b <= d.

(trước PostgreSQL 8.2, toán tử ngăn chặn@<@was tương ứng được gọi là@~. Những cái tên này vẫn có sẵn, nhưng là Khấu hao và cuối cùng sẽ được nghỉ hưu. Lưu ý rằng cái cũ Tên được đảo ngược từ hội nghị trước đây là Kiểu dữ liệu hình học lõi!)

Các toán tử B-cây tiêu chuẩn cũng được cung cấp, cho ví dụ

Nhà điều hành Mô tả
[A, B] <[C, D] ít hơn
[A, B] [C, D] lớn hơn
Những người vận hành này không có nhiều ý nghĩa đối với bất kỳ mục đích thực tế nhưng sắp xếp. Các nhà khai thác này so sánh đầu tiên (a) đến (c) và nếu chúng bằng nhau, so sánh (b) với (d). Cái đó kết quả trong việc sắp xếp hợp lý tốt trong hầu hết các trường hợp, đó là hữu ích nếu bạn muốn sử dụng đơn hàng theo loại này.

F.37.5. Ghi chú

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

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

postgres = select '10 (+-) 1 ':: seg as seg;
      Seg
---------
9.0 .. 11 - Nên là: 9 .. 11

Hiệu suất của chỉ mục r-cây có thể phụ thuộc phần lớn vào thứ tự ban đầu của các giá trị đầu vào. Nó có thể rất hữu ích để sắp xếp bảng đầu vào trên토토 꽁 머니Cột; nhìn thấy tập lệnhSắp xếp-토토 꽁 머니ments.plcho một ví dụ.

F.37.6. Tín dụng

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

Lời cảm ơn của tôi chủ yếu dành cho Giáo sư Joe Hellerstein (http: //db.cs.berkeley.edu/jmh/) để làm sáng tỏ ý chính của ý chính (http: //gist.cs.berkeley.edu/). Tôi cũng vậy biết ơn tất cả các 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 mình và sống không bị xáo trộn Nó. Và tôi muốn thừa nhận lòng biết ơn của mình với Argonne Lab và cho Bộ Năng lượng Hoa Kỳ trong những năm trung thành Hỗ trợ nghiên cứu cơ sở dữ liệu của tôi.