Phiên bản được hỗ trợ:hiện tại(17)16/15/14/13
Phiên bản phát triển: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/8.2/8.1/8.0/7.4/7.3
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 kèo bóng đá c1 trang chohiện tạiPhiên bản hoặc kèo bóng đá c1 trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

kèo bóng đá c15.3. Hạn chế

Kiểu dữ liệu là kèo bóng đá c1 cách để hạn chế loại dữ liệu có thể

Đến cuối đó, SQL cho phép bạn xác định các kèo bóng đá c1 trên các cột

5.3.1. Kiểm tra

Một kèo bóng đá c1 kiểm tra là loại kèo bóng đá c1 chung nhất. Nó

Tạo sản phẩm bảng (Kiểm tra (Giá 0));

Như bạn thấy, định nghĩa kèo bóng đá c1 xuất hiện sau dữ liệuKiểm tratheo sau là một biểu thức trong ngoặc đơn. Các kèo bóng đá c1 kiểm tra

Bạn cũng có thể đặt cho kèo bóng đá c1 một tên riêng. Cái này

Tạo sản phẩm bảng (kèo bóng đá c1 tích cực_priceKiểm tra (Giá 0)

Vì vậy, để chỉ định một kèo bóng đá c1 được đặt tên, hãy sử dụng từ khóakèo bóng đá c1theo sau là kèo bóng đá c1 định danh

Một kèo bóng đá c1 kiểm tra cũng có thể tham khảo một số cột. Nói

Tạo sản phẩm bảng (Kiểm tra (Giá Giảm giá_price));

Hai kèo bóng đá c1 đầu tiên sẽ trông quen thuộc. Thứ ba

Chúng tôi nói rằng hai kèo bóng đá c1 đầu tiên là cộtPostgreSQLkhông thực thi quy tắc đó, nhưng

Tạo sản phẩm bảng (

hoặc thậm chí:

Tạo sản phẩm bảng (

Đó là vấn đề của hương vị.

Tên có thể được gán cho các kèo bóng đá c1 bảng theo cùng một cách

Tạo sản phẩm bảng (kèo bóng đá c1 hợp lệ_discountKiểm tra (Giá Giảm giá_price)

Cần lưu ý rằng một kèo bóng đá c1 kiểm tra được thỏa mãn nếu

5.3.2.

Một kèo bóng đá c1 không có null chỉ cần chỉ định rằng một cột phải

Tạo sản phẩm bảng (không null,,không null,,

Một kèo bóng đá c1 không có null luôn được viết làm cộtKiểm traCột_namekhông phải là null),,PostgreSQLTạo kèo bóng đá c1

Tất nhiên, một cột có thể có nhiều hơn một kèo bóng đá c1. Chỉ

Tạo sản phẩm bảng (

Thứ tự không quan trọng. Nó không nhất thiết phải xác định

Thekhông nullkèo bóng đá c1 có mộtnullkèo bóng đá c1. Cái nàynullkèo bóng đá c1 không có trong SQLPOSTGRESQLĐể tương thích với kèo bóng đá c1 số hệ thống cơ sở dữ liệu khác.) kèo bóng đá c1 số người dùng,

Tạo sản phẩm bảng (

và sau đó chènkhôngTừ khóa

Tip:Trong hầu hết kèo bóng đá c1 thiết kế cơ sở dữ liệu, phần lớn

5.3.3. Độc nhất

Các kèo bóng đá c1 duy nhất đảm bảo rằng dữ liệu có trong a

18474_18524độc đáo,,

Khi được viết dưới dạng kèo bóng đá c1 cột và:

Tạo sản phẩm bảng (độc đáo (sản phẩm_no));

Khi được viết dưới dạng kèo bóng đá c1 bảng.

Nếu một kèo bóng đá c1 duy nhất đề cập đến một nhóm các cột,

Tạo ví dụ bảng (độc đáo (a, c));

Điều này chỉ định rằng sự kết hợp của kèo bóng đá c1 giá trị trong

Bạn có thể gán tên của riêng mình cho một kèo bóng đá c1 duy nhất, trong

Tạo sản phẩm bảng (kèo bóng đá c1 phải_be_differentĐộc đáo,

Nói chung, một kèo bóng đá c1 duy nhất bị vi phạm khi có

5.3.4. Sơ đẳng

Về mặt kỹ thuật, một kèo bóng đá c1 khóa chính chỉ đơn giản là một

Tạo sản phẩm bảng (
Tạo sản phẩm bảng (Khóa chính,,

Các phím chính cũng có thể hạn chế nhiều hơn kèo bóng đá c1 cột; các

Tạo ví dụ bảng (Khóa chính (A, C));

kèo bóng đá c1 khóa chính chỉ ra rằng kèo bóng đá c1 cột hoặc nhóm cột

kèo bóng đá c1 bảng có thể có nhiều nhất kèo bóng đá c1 khóa chính. (Có thể có bất kỳPostgreSQL, nhưng nó là

5.3.5. Chìa khóa nước ngoài

Một kèo bóng đá c1 khóa nước ngoài chỉ định rằng các giá trị trong aTính toàn vẹn tham chiếugiữa hai

Nói rằng bạn có bảng sản phẩm mà chúng tôi đã sử dụng kèo bóng đá c1 số

Tạo sản phẩm bảng (

Chúng ta cũng giả sử bạn có kèo bóng đá c1 bảng lưu trữ đơn đặt hàng của những người đó

Tạo đơn đặt hàng bảng (Tài liệu tham khảo Sản phẩm (sản phẩm_no),,

Bây giờ không thể tạo đơn đặt hàng vớisản phẩm_nokèo bóng đá c1 mục không xuất hiện trong

Chúng tôi nói rằng trong tình huống này, bảng đơn đặt hàng làTham chiếuBảng và kèo bóng đá c1 sản phẩmđược tham chiếuBảng.

Bạn cũng có thể rút ngắn lệnh trên thành:

Tạo đơn đặt hàng bảng (Tài liệu tham khảo Sản phẩm,,

Vì không có cột liệt kê, khóa chính của khóa chính của

Khóa ngoại cũng có thể hạn chế và tham khảo kèo bóng đá c1 nhóm

Tạo bảng T1 (Khóa nước ngoài (b, c) Tài liệu tham khảo khác_table (C1, C2));

Tất nhiên, số và loại của các cột bị kèo bóng đá c1

Bạn có thể gán tên của riêng mình cho một kèo bóng đá c1 khóa nước ngoài,

Một bảng có thể chứa nhiều hơn một kèo bóng đá c1 khóa nước ngoài.

Tạo sản phẩm bảng (

Lưu ý rằng khóa chính chồng chéo với kèo bóng đá c1 khóa nước ngoài

Chúng tôi biết rằng kèo bóng đá c1 khóa nước ngoài không cho phép tạo ra kèo bóng đá c1 đơn đặt hàng

  • Không cho phép xóa sản phẩm được tham chiếu

  • Xóa kèo bóng đá c1 đơn đặt hàng

  • cái gì khác?

Để minh họa điều này, hãy thực hiện chính sách sauorder_items), chúng tôi không cho phép nó. Nếu như

Tạo sản phẩm bảng (Khi xóa hạn chế,,Khi xóa Cascade,,

Hạn chế và CASCADING XÓAHạn chếNgăn chặn xóaKhông hành độngCó nghĩa làKhông có hành độngCho phép kiểm tra được hoãn lại cho đến sau này trong giao dịch,Hạn chếkhông.)CascadeChỉ định rằng khi hàng được tham chiếu làĐặtĐặt mặc định. Những nguyên nhân nàyĐặtNhưng giá trị mặc định sẽ không thỏa mãn

Tương tự nhưKhi xóaKhi cập nhậtđược gọi khi A

Thông tin thêm về việc cập nhật và xóa dữ liệu ởChương 6.

Cuối cùng, chúng ta nên đề cập rằng khóa nước ngoài phải tham khảoTạo bảng.