Collation collation có nghĩa là gì?


15

Tôi đang học sqlite từ một cuốn sách đã đề cập đến trình tự đối chiếu và đối chiếu nhiều lần. Nó có nghĩa chính xác trong thế giới cơ sở dữ liệu?

Câu trả lời:


15

Về cơ bản, làm thế nào để sắp xếp và so sánh các chuỗi.

Ví dụ:

So sánh:

  • Giọng: à vs ä vs a
  • Trường hợp: A vs a

Sắp xếp

  • Tiếng Thụy Điển: z -> å -> ä -> ö
  • Tiếng Đan Mạch: z -> æ -> ø -> å

Tương đương ký tự đặc biệt

  • Tiếng Đức ß = ss

Wikipedia

Một số SQL (SQL Server 2008+)

DECLARE @foo TABLE (bar varchar(2))
INSERT @foo VALUES ('z'), ('æ'), ('ø'), ('å'), ('ss'), ('ß'), ('a'), ('ä')

SELECT * FROM @foo ORDER BY bar COLLATE Finnish_Swedish_100_CI_AS
SELECT * FROM @foo ORDER BY bar COLLATE Norwegian_100_CI_AS
SELECT * FROM @foo ORDER BY bar COLLATE Latin1_General_100_CS_AS --german (western europe) and default
SELECT * FROM @foo ORDER BY bar COLLATE German_PhoneBook_100_CS_AS

1

Từ nguyên

"Đối chiếu" có thể được xác định tốt nhất trên etymology.com,

cuối 14c., "hành động mang lại và so sánh,"

Nó đã không thay đổi chút nào trong 600 năm qua. "Đối chiếu" có nghĩa là "mang lại cùng nhau" và cho dù đó là thứ tự của một cuốn sách, theo trình tự thời gian hay cách khác trong cơ sở dữ liệu, tất cả đều giống nhau.

Khoa học máy tính

Vì nó áp dụng cho Khoa học Máy tính, những gì chúng tôi đang làm là tách cơ chế lưu trữ khỏi đơn đặt hàng . Bạn có thể đã nghe nói về ASCII-betical . Điều đó đề cập đến một so sánh dựa trên mã hóa nhị phân của các ký tự ASCII. Trong hệ thống đó, lưu trữ và đối chiếu là hai trong cùng một. Nếu "mã hóa" theo tiêu chuẩn ASCII từng thay đổi thì "đối chiếu" (thứ tự) cũng sẽ thay đổi.

POSIX bắt đầu phá vỡ điều đó với LC_COLLATE. Nhưng khi chúng tôi chuyển sang Unicode, một tập đoàn đã xuất hiện để chuẩn hóa các bộ sưu tập: ICU.

SQL

Trong đặc tả SQL, có hai phần mở rộng để cung cấp đối chiếu,

  • F690: Hỗ trợ Collation:

    Bao gồm collation name, collation clause, collation definitiondrop collation.

  • F692: Hỗ trợ đối chiếu mở rộng,

    Bao gồm đính kèm một đối chiếu mặc định khác nhau vào một cột trong lược đồ.

Về cơ bản, chúng cung cấp khả năng CREATEDROPđối chiếu, để chỉ định chúng cho các toán tử và sắp xếp và để xác định mặc định cho các cột.

Để biết thêm thông tin về những gì SQL cung cấp, hãy xem,

Ví dụ

Thay vì dán một ví dụ hạn chế, đây là bộ thử nghiệm PostgreSQL, nó khá rộng rãi. Kiểm tra ít nhất là liên kết đầu tiên và tìm kiếm'Türkiye' COLLATE "tr-x-icu" ILIKE '%KI%' AS "false"


-2

Thứ tự sắp xếp. Thẻ đục lỗ được đối chiếu. Hồ sơ tập tin phẳng được đối chiếu. Điều này không phải là duy nhất cho cơ sở dữ liệu.

Nó là tự giải thích cho văn bản, nhưng đối với dữ liệu nhị phân được lưu trữ dưới dạng ký tự, nó có thể phức tạp hơn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.