PostgreSQL: soi kèo bóng đá | |||
---|---|---|---|
prev | UP | Chương 8. Kiểu dữ liệu | Tiếp theo |
Định soi kèo bóng đá truoctran (OID) được sử dụng bên trong bởiPostgreSQLlàm khóa chính cho soi kèo bóng đá truoctran bảng hệ thống khác nhau. OIDS không được thêm vào soi kèo bóng đá truoctran bảng do người dùng tạo, trừ khivới oidsđược chỉ định khi bảng được tạo hoặcdefault_with_oidsBiến cấu hình được bật. Kiểuoidđại diện cho một định danh đối tượng. Ngoài ra còn có một số soi kèo bóng đá truoctran bí danh chooid: RegProc, RegProcedure, Regoper, RegOperator, RegClass, regtype, Revole, Regnamespace, RegconfigvàRegdictionary. Bảng 8-24Hiển thị tổng quan.
Theoidsoi kèo bóng đá truoctran hiện được triển khai dưới dạng số nguyên bốn byte không dấu. Do đó, nó không đủ lớn để cung cấp tính duy nhất toàn cơ sở dữ liệu trong cơ sở dữ liệu lớn, hoặc thậm chí trong các bảng cá nhân lớn.
TheOIDBản thân soi kèo bóng đá truoctran có một vài hoạt động ngoài so sánh. Tuy nhiên, nó có thể được chuyển đến số nguyên, và sau đó thao tác bằng các toán tử số nguyên tiêu chuẩn.
Các soi kèo bóng đá truoctran bí danh OID không có hoạt động của riêng chúng ngoại trừ các thói quen đầu vào và đầu ra chuyên dụng. Các thói quen này có thể chấp nhận và hiển thị tên biểu tượng cho các đối tượng hệ thống, thay vì giá trị số thô soi kèo bóng đá truoctranoidSẽ sử dụng. Các soi kèo bóng đá truoctran bí danh cho phép tra cứu đơn giản các giá trị OID cho các đối tượng.PG_Attributionhàng liên quan đến bảngMyTable, người ta có thể viết:
Chọn * từ pg_attribut
thay vì:
Chọn * từ PG_Attribution
Trong khi điều đó không có vẻ gì là quá tệ, nó vẫn bị đơn giản hóa. Một lựa chọn phụ phức tạp hơn nhiều sẽ là cần thiết để chọn đúng oid nếu có nhiều bảng có tênMyTableTrong soi kèo bóng đá truoctran lược đồ khác nhau. TheRegClassBộ chuyển đổi đầu vào xử lý việc tra cứu bảng theo cài đặt đường dẫn lược đồ và do đó nó thực hiện"Đúng vậy"Tự động. Tương tự, việc đúc một bảng OID thànhRegClassCó tiện dụng cho màn hình biểu tượng của OID số.
Bảng 8-24. soi kèo bóng đá truoctran
tên | Tài liệu tham khảo | Mô tả | Ví dụ về giá trị |
---|---|---|---|
oid | Any | Định soi kèo bóng đá truoctran số | 564182 |
RegProc | PG_PROC | tên chức năng | Sum |
RegProcedure | PG_PROC | Hàm với các soi kèo bóng đá truoctran đối số | sum (int4) |
Regoper | pg_operator | tên người vận hành | + |
Regoperator | pg_operator | toán tử với các soi kèo bóng đá truoctran đối số | *(số nguyên, số nguyên)hoặc-(không, số nguyên) |
RegClass | pg_ class | Tên quan hệ | pg_type |
regtype | pg_type | Tên soi kèo bóng đá truoctran dữ liệu | Số nguyên |
reprole | pg_authid | Tên vai | Smithee |
Regnamespace | PG_Namespace | Tên không gian tên | pg_catalog |
Regconfig | PG_TS_CONFIG | Cấu hình tìm kiếm văn bản | tiếng Anh |
Regdictionary | PG_TS_DICT | Từ điển tìm kiếm văn bản | đơn giản |
Tất cả các soi kèo bóng đá truoctran bí danh OID cho các đối tượng được nhóm theo tên không gian tên chấp nhận tên đủ điều kiện lược đồ và sẽ hiển thị tên đủ điều kiện lược đồ trên đầu ra nếu đối tượng không được tìm thấy trong đường dẫn tìm kiếm hiện tại mà không đủ điều kiện. TheRegProcvàRegoperCác soi kèo bóng đá truoctran bí danh sẽ chỉ chấp nhận các tên đầu vào duy nhất (không quá tải), vì vậy chúng được sử dụng hạn chế; cho hầu hết các mục đích sử dụngRegProcedurehoặcRegOperatorphù hợp hơn. VìRegOperator, toán tử Unary được xác định bằng cách viếtKhôngĐối với toán hạng không sử dụng.
Một thuộc tính bổ sung của hầu hết các soi kèo bóng đá truoctran bí danh OID là tạo ra các phụ thuộc. Nếu một hằng số của một trong các soi kèo bóng đá truoctran này xuất hiện trong một biểu thức được lưu trữ (chẳng hạn như biểu thức hoặc chế độ xem mặc định cột), nó sẽ tạo ra một sự phụ thuộc vào đối tượng được tham chiếu.nextVal ('my_seq' :: regClass), PostgreSQLHiểu rằng biểu thức mặc định phụ thuộc vào chuỗimy_seq; Hệ thống sẽ không để chuỗi bị hủy mà không xóa biểu thức mặc định.Revolelà ngoại lệ duy nhất cho tài sản. Hằng số soi kèo bóng đá truoctran này không được phép trong các biểu thức như vậy.
Lưu ý:Các soi kèo bóng đá truoctran bí danh OID không hoàn toàn tuân theo các quy tắc cách ly giao dịch. Người lập kế hoạch cũng coi chúng là hằng số đơn giản, có thể dẫn đến lập kế hoạch tối ưu phụ.
Một soi kèo bóng đá truoctran khác được sử dụng bởi hệ thống làXIDhoặc giao dịch (viết tắtXACT) Định danh. Đây là soi kèo bóng đá truoctran dữ liệu của các cột hệ thốngxminvàxmax. Định soi kèo bóng đá truoctran giao dịch là số lượng 32 bit.
Một soi kèo bóng đá truoctran thứ ba được sử dụng bởi hệ thống làCIDhoặc định danh lệnh. Đây là soi kèo bóng đá truoctran dữ liệu của các cột hệ thốngcminvàCMAX. Số nhận dạng lệnh cũng là số lượng 32 bit.
Một soi kèo bóng đá truoctran cuối cùng được sử dụng bởi hệ thống làTIDhoặc định soi kèo bóng đá truoctran tuple (định soi kèo bóng đá truoctran hàng). Đây là kiểu dữ liệu của cột hệ thốngCTID. ID tuple là một cặp (số khối, chỉ mục tple trong khối) xác định vị trí vật lý của hàng trong bảng của nó.
(soi kèo bóng đá truoctran cột hệ thống được giải thích thêm trongPhần 5.4.)