như trongBảng 38.3, Lớp kèo bóng đá euro tử Btree phải cung cấp năm kèo bóng đá euro tử so sánh,<
, <=
, =
, =
và. Người ta có thể mong đợi rằng
<
cũng nên là một phần kèo bóng đá euro lớp toán tử, nhưng không phải vậy, vì nó gần như sẽ không bao giờ hữu ích khi sử dụng<
trong đó mệnh đề trong tìm kiếm chỉ mục. (Đối với một số mục đích, người lập kế hoạch xử lý<
được liên kết với lớp kèo bóng đá euro tử Btree; Nhưng nó tìm thấy kèo bóng đá euro tử đó thông qua=
Liên kết tiêu cực kèo bóng đá euro nhà điều hành, thay vì từpg_amop
.)
Khi một số loại dữ liệu chia sẻ ngữ nghĩa phân loại gần như giống hệt nhau, kèo bóng đá euro lớp toán tử của họ có thể được nhóm thành một họ vận hành. Làm như vậy là thuận lợi vì nó cho phép người lập kế hoạch thực hiện kèo bóng đá euro khoản khấu trừ về so sánh loại chéo.HồiLooseHồiTrong gia đình. Bạn nên đưa vào một tập hợp kèo bóng đá euro toán tử loại chéo hoàn chỉnh trong gia đình, do đó đảm bảo rằng người lập kế hoạch có thể đại diện cho bất kỳ điều kiện so sánh nào mà nó suy ra từ tính chuyển tiếp.
Có một số giả định cơ bản rằng một gia đình vận hành Btree phải thỏa mãn:
AN=
Nhà điều hành phải là mối quan hệ tương đương; nghĩa là, đối với tất cả kèo bóng đá euro giá trị không nullA
, B
, C
kèo bóng đá euro loại dữ liệu:
A
=
A
là đúng (Luật phản xạ)
nếuA
=
B
, sau đóB
=
A
(Luật đối xứng)
nếuA
=
B
vàB
=
C
, sau đóA
=
C
(Luật chuyển tiếp)
A<
Nhà điều hành phải là mối quan hệ đặt hàng mạnh mẽ; nghĩa là, đối với tất cả kèo bóng đá euro giá trị không nullA
, B
, C
:
A
<
A
là sai (Luật không phản ứng)
nếuA
<
B
vàB
<
C
, sau đóA
<
C
(Luật chuyển tiếp)
Hơn nữa, đặt hàng là tổng số; nghĩa là, đối với tất cả kèo bóng đá euro giá trị không nullA
, B
:
Chính xác là một trongA
<
B
, A
=
B
vàB
<
A
là đúng (Luật trichotomy)
(Luật trichotomy biện minh cho định nghĩa kèo bóng đá euro hàm hỗ trợ so sánh, tất nhiên.)
Ba kèo bóng đá euro tử khác được xác định theo nghĩa=
và<
Theo cách rõ ràng và phải hành động nhất quán với họ.
Đối với gia đình người vận hành hỗ trợ nhiều loại dữ liệu, kèo bóng đá euro luật trên phải được giữ khiA
, B
, C
được lấy từ bất kỳ loại dữ liệu nào trong gia đình. kèo bóng đá euro luật chuyển tiếp là khó nhất để đảm bảo, vì trong kèo bóng đá euro tình huống loại chéo, chúng đại diện cho kèo bóng đá euro tuyên bố rằng hành vi của hai hoặc ba toán tử khác nhau là nhất quán.float8
vàSố
Vào cùng một họ kèo bóng đá euro tử, ít nhất là không phải với ngữ nghĩa hiện tạiSố
Giá trị được chuyển đổi thànhfloat8
để so sánh với Afloat8
. Vì độ chính xác hạn chế kèo bóng đá eurofloat8
, Điều này có nghĩa là có sự khác biệtSố
kèo bóng đá euro giá trị sẽ so sánh bằng cùngfloat8
Giá trị, và do đó luật chuyển tiếp sẽ thất bại.
13553_13766
Cần phải khá rõ ràng lý do tại sao một chỉ mục Btree yêu cầu kèo bóng đá euro luật này phải giữ trong một loại dữ liệu duy nhất: không có chúng, không có lệnh nào để sắp xếp kèo bóng đá euro khóa với. Ngoài ra, kèo bóng đá euro tìm kiếm chỉ mục bằng cách sử dụng khóa so sánh của một loại dữ liệu khác nhau yêu cầu so sánh để hành xử một cách khéo léo trên hai loại dữ liệu.
Nếu bạn thấy bất cứ điều gì trong tài liệu không chính xác, không khớpMẫu nàyĐể báo cáo vấn đề tài liệu.