TCVN11167-7:2015

Tiêu chuẩn quốc gia TCVN 11167-7:2015 (ISO/IEC 7816-7:1999) về Thẻ định danh - Thẻ mạch tích hợp - Phần 7: Lệnh liên ngành đối với ngôn ngữ truy vấn thẻ có cấu trúc (SCQL) TIÊU CHUẨN QUỐC GIA TCVN 11167-7:2015 ISO/IEC 7816-7:1999 THẺ DANH ĐỊNH - THẺ MẠCH TÍCH HỢP - PHẦN 7: LỆNH LIÊN NGÀNH ĐỐI VỚI NGÔN NGỮ TRUY VẤN THẺ CÓ CẤU TRÚC (SCQL) Identi f ication cards - Integrated circuit cards - Part 7: Interindustry commands for S tructured Card Query Language (SCQL) Lời nói đầu TCVN 11167-7:2015 hoàn toàn tương đương với ISO/IEC 7816-7:1999. TCVN 11167-7:2015 do Tiểu Ban kỹ thuật tiêu chuẩn quốc gia TCVN/JTC 1/SC 17 “Thẻ nhận dạng” biên soạn, T ổ ng cục Tiêu chuẩn Đo lường Chất lượng đề nghị, Bộ Khoa học và Công nghệ công bố. Bộ tiêu chuẩn TCVN 11167 (ISO/IEC 7816) Thẻ định danh - Thẻ mạch tích hợp gồm các t iêu chuẩn sau: - Phần 1: Thẻ tiếp xúc - Đặc t í nh vật lý; - Phần 2: Thẻ tiếp xúc - Kích thước và vị trí tiếp xúc; - Phần 3: Thẻ tiếp xúc - Giao diện điện và giao thức truyền; - Phần 4: Tổ chức, an ninh và lệnh trao đ ổ i; - Phần 5: Đăng ký của b ê n cung cấp ứng dụng; - Phần 6: Phần tử dữ liệu liên ngành trong trao đổi; - Phần 7: Lệnh liên ngành đối với ngôn ngữ truy vấn thẻ có cấu trúc; - Phần 8: Lệnh đối với hoạt động an ninh; - Phần 9: Lệnh đối với quản lý thẻ; - Phần 10: T í n hiệu điện và trả lời đ ể thiết lập lại cho thẻ đồng bộ; - Phần 11: Xác minh cá nhân bằng phương pháp sinh trắc học; - Phần 12: Th ẻ ti ế p xúc - Thủ tục vận hành và giao d iện điện tử USB; - Phần 13: Lệnh đối với quản lý ứng dụng trong môi trường đa ứng dụng; - Phần 15: Ứ ng dụng th ô ng tin mã hóa. THẺ ĐỊNH DANH - THẺ MẠCH TÍCH HỢP - PH Ầ N 7: LỆNH LIÊN NGÀNH ĐỐI VỚI NGÔN NGỮ TRUY V Ấ N THẺ CÓ C Ấ U TRÚC Identi f ication cards - Integrated circuit cards with contacts - Part 7: Interindustry commands for s tructured card query language (SCQL) 1. Phạm vi áp dụng Tiêu chuẩn này quy định: - Khái niệm cơ sở dữ liệu SCQL (SCQL = Ngôn ngữ truy vấn thẻ có cấu trúc dựa tr ê n SQL, xem ISO 9075) - Lệnh liên ngành mở rộng liên quan. 2. Tài liệu viện dẫn Các tài liệu viện dẫn sau r ấ t cần thiết cho việc áp dụng tiêu chuẩn này. Đối với các tài liệu viện dẫn ghi năm công bố thì áp dụng phiên bản được nêu. Đối với các tài liệu viện d ẫn không ghi năm công bố thì áp d ụng phiên bản mới nhất, bao gồm cả các sửa đổi, bổ sung (nếu có). TCVN 11.167-4 (ISO/IEC 7816-4) Th ẻ định danh - Thẻ mạch tích hợp - Phần 4: T ổ chức, an ninh và lệnh trao đổi, TCVN 11167-6 (ISO/IEC 7816-6) Thẻ định danh - Thẻ mạch t í ch hợp - Phần 6: Phần tử dữ liệu li ê n ngành trong trao đổi, ISO/IEC 9075:1992, In f ormation technology - Database languages - SQL2 ( Công nghệ thông tin - Ngôn ngữ cơ sở dữ liệu - SQL2 ). 3. Thuật ngữ và định nghĩa Tiêu chuẩn này áp dụng các định nghĩa sau. 3.1. Người sử dụng cơ sở dữ liệu (database basic user) Người sử dụng SCQL mà không có các quyền đi kèm. 3.2. Tệp cơ sở dữ liệu (database file) Tập đối tượng cơ sở dữ liệu c ó cấu trúc (bảng, hiển thị, từ điển) biểu diễn nội dung của cơ sở dữ liệu. 3.3 . Ch ủ đố i tượng cơ sở dữ liệu ( d atabase object owner) Người sử dụng SCQL với quyền: tạo, bỏ bớt các đối tượng và quản lý các đặc quy ề n về các đối tượng này. 3.4. Ch ủ cơ sở dữ liệu (database owner) Người sử dụng SCQL ban đầu quản lý các đối tượng và người sử dụng cơ sở dữ liệu. 3.5. Từ điển (dictionary) Hiển thị trên bảng hệ thống. 3.6. B ả ng hệ thống (system table) Bảng được duy tr ì b ở i thẻ nhằm quản lý cấu trúc cơ sở dữ liệu và truy cập cơ sở dữ liệu. 3.7. Bảng (table) Đối tượng cơ s ở dữ liệu với t ên duy nh ấ t và định rõ trong các cột và các hàng. 3.8. Hi ể n thị (view) Tập con có logic của bảng. 4. Thuật ngữ viết tắt và ký hiệu Ti ê u chuẩn này áp dụng các thuật ngữ viết tắt sau. Thuật ngữ Tiếng Anh Tiếng Việt APDU Application protocol data unit Đơn vị dữ liệu giao thức ứng dụng API Application programming inter f ace Giao diện lập tr ì nh ứng d ụng DB Database Cơ sở dữ liệu DB_O Database o w ner Ch ủ cơ sở dữ liệu DBBU Database basic user Người sử dụng cơ s ở dữ liệu cơ sở DBF Database f i le Tệp cơ sở dữ liệu DBOO Database object owner Chủ đối tượng cơ sở dữ liệu DF Dedicated file Tệp dành riêng DO Data object Đối tượng dữ liệu ICC Integrated circuit(s) card Thẻ mạch tích hợp IFD Inter f ace device Thi ế t bị giao diện MF Master f i le Tệp chủ SCQL S tructured card query language Ng ô n ngữ truy vấn thẻ có cấu trúc SQL S tructured query languag e Ngôn ngữ truy v ấ n có cấu trúc TLV Tag, length, value Thẻ, độ dài, giá trị 5. Khái niệm cơ sở dữ liệu SCQL 5.1. Cơ sở dữ liệu SCQL Cơ sở dữ liệu theo tiêu chuẩn này được gọi là cơ sở dữ liệu SCQL (SCQL = Ngôn ngữ truy vấn thẻ có cấu trúc), các lệnh truy cập dựa trên chức năng SQL (xem ISO 9075) và được mã hóa theo các nguyên tắc của các lệnh liên ngành được quy định trong TCVN 11167-4 (ISO/IEC 7816-4). Bản thân cơ sở dữ liệu là tập đối tượng dữ liệu có cấu trúc được gọi là tệp cơ sở dữ liệu DBF. Theo DF phải có nhiều hơn một DBF có thể được truy cập sau khi lựa chọn DF tương ứng. Cơ sở dữ liệu cũng có th ể được đ í nh kèm trực tiếp với MF. H ì nh 1 trình bày một v í dụ về việc gắn cơ sở dữ liệu trong thẻ. H ì nh 1 - Ứ ng dụng với cơ sở dữ liệu trong th ẻ đang làm việc (ví dụ) Hệ thống ứng dụng có thể ph ố i hợp hoạt động với cơ sở dữ liệu SQL cũng như với cơ sở dữ liệu SCQL sử dụng cùng SQL-API (API = Giao diện lập trình ứng dụng). Do đó, thẻ chứa cơ sở dữ liệu SCQL có thể xuất hiện là một phần của môi trường cơ sở dữ liệu SQL phân tán. Hình 2 trình bày cấu hình SQL điển hình với thẻ tích hợp trong thiết kế hệ thống. Hình 2 - Cơ sở dữ liệu SCQL là một phần của m ô i trường cơ sở dữ liệu SQL phân tán (ví dụ) 5.2. Bảng SCQL Cơ sở dữ liệu SCQL chứa các đối tượng đư ợ c gọi là: bảng, hiển thị và từ điển. Mỗi đối tượng có thể được tham chiếu bởi mã định danh duy nhất. Bảng là đối tượng dữ liệu có cấu trúc với tên duy nhất trong cơ sở dữ liệu, bao gồm các cột có tên và chuỗi các hàng . Số hàng có thể không giới hạn (tức là chỉ hạn chế bởi không gian nhớ có sẵn trong thẻ) hoặc có giới hạn. Bảng v à các đặc tính ch í nh được thể hiện trong H ì nh 3. H ì nh 3 - Bảng SCQL (ví dụ) và các đặc tính chính của nó Sau khi liên tục tạo c ấ u tr ú c bảng, tức là cột hiện có không thể được hủy b ỏ hoặc cột mới không được thêm vào. Các hoạt động sau đây có thể được biểu diễn trên bảng: - Đọc (lựa chọn) - Chèn - Cập nhật - Xóa 5.3. Hiển thị SCQL Hiển thị là tập con của bảng, quy định phần b ả ng có thể truy cập. Có hai loại hiển thị sau được phân biệt: - Hiển thị (xem H ì nh 4) gắn các cột truy cập được gọi là hiển thị tĩnh trong ngữ cảnh này và - Hiển th ị (xem Hình 5) hạn chế truy cập đến các hàng mà nội dung của chúng phù hợp với các điều kiện (ví dụ: đến các hàng c ó c ó giá t r ị lớn hơn ‘20’) được gọi là hiển th ị động trong ngữ c ả nh này. H ì nh 4 - Hiển th ị tĩnh SCQL (ví dụ) H ì nh 5 - Hiển th ị động SCQL (ví dụ) Sự kết hợp của hiển thị tĩnh và hiển thị động trong cùng định nghĩa hiển thị cũng có thể xảy ra. Hiển thị gi ố ng như một bảng có tên duy nhất trong cơ sở dữ liệu SCQL. Một vài hiển thị có thể được xác định trên cùng một bảng. Các hoạt động sau đây có thể được trình bày trên một hiển thị: - Đọc (lựa chọn) - Cập nhật. 5.4. Bảng và từ điển hệ thống SCQL Bảng hệ thống được duy trì bởi thẻ và chứa thông tin cần thiết để quản lý cấu trúc và truy cập cơ sở dữ liệu. Có ba bảng hệ thống: - Bảng mô tả đối tượng (t ê n ‘O’) - Bảng mô tả người sử dụng (tên ‘U’) - Bảng mô tả đặc quyền (tên ‘P’) Bảng mô tả đối tượng chứa thông tin về các bảng và hiển thị lưu trữ trong cơ sở dữ liệu. Bảng mô tả người sử dụng chứa thông tin về người sử dụng truy cập đến cơ sở d ữ liệu. Bảng mô tả đặc quyền chứa thông tin v ề đặc quyền theo các b ả ng và hiển thị trên cơ sở dữ liệu. Đặc quyền mô tả các bảng và hiển thị được người sử dụng truy cập và các hoạt động được người sử dụng thực hiện trên bảng hay hiển thị tương ứng. Các H ì nh từ 6 đến 8 chỉ ra các bảng hệ thống với các cột bắt buộc. Hình 6 - Bảng mô tả đối t ượ ng Hình 7 - Bảng mô tả người sử dụng Hình 8 - Bảng mô tả đặc quyền Đối với việc truy cập thông tin có trong bảng hệ thống, các hiển thị trên bảng hệ thống này có thể được tạo ra. Hiển thị trên bảng hệ thống được gọi là từ đi ể n SCQL. Hoạt động mà người sử dụng ch ỉ có thể thực hiện trên từ điển là đọc (lựa chọn). 5.5. Hồ sơ người sử dụng SCQL Hồ sơ người sử dụng SCQL được miêu tả bởi các quyền hạn đặc biệt. Hồ sơ người sử dụng được đính kèm với mã định danh người sử dụng được lưu trữ trong bảng mô tả người sử dụng. Bảng 1 trình bày các hồ sơ và quyền hạn đính kèm. Bảng 1 - H ồ sơ người sử dụng SCQL và các quy ề n hạn Hồ sơ Người sử dụng Quy ề n hạn DB_ O Chủ của cơ sở dữ liệu - Thêm/b ỏ bớt người sử dụng với h ồ sơ DBOO hoặc DBBU - Tạo/xóa các đối tượng (bảng/hi ể n th ị ) - Cấ p/thu hồi các đặc quyền về đối tượng sở hữu - Tạo/xóa các từ điển truy cập đến t ấ t cả các hàng trong bảng hệ thống - Truy cập đến các đối tượng không sở h ữ u theo các đặc quyền được c ấ p DBOO Ch ủ của đối tượng cơ sở dữ liệu - Thêm/bỏ bớt người sử dụng với hồ sơ DBBU - Tạo/xóa các đối tượng (bảng/hi ể n thị) - Cấ p/thu hồi các đặc quyền v ề đối tượng s ở hữu - Tạo/xóa các từ điển truy cập đến các hàng ở đó DBOO được đăng ký l à OBJOWN trong * O , USRO W N trong * U hoặc OBJOWN t rong * P - Truy cập đến các đối tượng không s ở h ữ u theo các đặc quyền được c ấ p DBBU Ng ườ i sử dụng cơ sở dữ liệu với id người sử dụng cụ th ể hoặc id người sử dụng chung - Truy cập đến các đối tượng theo các đặc quyền được c ấ p CHÚ THÍCH Người sử dụng hồ sơ DB_ O ch ỉ được chèn vào bảng mô tả người sử dụng trong quá tr ì nh cài đặt cơ s ở dữ liệu SCQL. 6. Lệnh liên quan đến SCQL 6.1. Khía cạnh chung Ngôn ngữ truy vấn thẻ có cấu trúc (SCQL) được dựa trên chức năng của Ngôn ngữ truy vấn có cấu trúc (SQL) được chuẩn hóa. Câu lệnh SQL được ánh xạ đến thao tác SCQL với lệnh PERFORM SCQL O PERATION (thực hiện thao tác SCQL) (xem H ì nh 9 và Bảng 2). Hình 9 - Nguyên tắc ánh xạ của lệnh SQL đến thao tác SCQL Các thông số bắt buộc của một lệnh luôn xảy ra trong chuỗi được quy định trong bảng lệnh liên quan. Do đó thẻ lệnh không có mặt trong thao tác SCQL . Thông số tùy chọn có mặt trong định dạng TLV nếu không được biểu thị. Cũng như lệnh FERFORM SCQL OPERATION, hai lệnh khác thuộc về môi trư ờ ng SCQL, nhưng có thể được sử dụng bên ngoài môi trường SCQL: - Lệnh PERFORM TRANSACTION OPERATION (xem Hình 10) và - Lệnh PERFORM USER OPERATION (xem H ì nh 10). 6.2. Nhóm và mã hóa lệnh Các lệnh liên quan đến SCQL có thể được nhóm như trong H ì nh 10. H ì nh 10 - Các lệnh liên quan đến SCQL Đối với các lệnh được quy định trong tiêu chuẩn này, mã lệnh và việc mã h ó a các thao tác tương ứng được trình bày trong Bảng 2. Bảng 2 - M ã lệnh v à các thao tác Mã INS Ý nghĩa ‘ 10’ Thực hiện thao tác SCQL Mã hóa và ý nghĩa của P2: ‘80’ = CREATE TABLE (tạo bảng) ‘ 81’ = CREATE VIE W (tạo hiển thị) ‘82’ = CREATE DICTIONARY (tạo từ điển) ‘ 83’ = DROP TABLE (bỏ bớt bảng) ‘ 84’ = DROP VIEW (bỏ b ớ t hiển thị) ‘85’ = GRANT (cấp) ‘86’ = REVOKE (thu hồi) ‘87’ = DECLARE CURSOR (khai báo con trỏ) ‘88’ = OPEN (m ở ) ‘89’ = NEXT (k ế tiếp) ‘ 8A’ = FETCH (t ì m nạp) ‘8B’ = FETCH NEXT (t ì m nạp k ế ti ế p) ‘8C’ = INSERT (ch è n) ‘8D’ = UPDATE (cập nhật) ‘ 8E’ = DELETE (xóa) ‘ 12’ T hực hi ệ n thao tác trao đổi M ã hóa và ý nghĩa của P2: ‘ 80’ = BEGIN (bắt đầu) ‘ 81’ = COMMIT (thỏa hiệp) ‘82’ = ROLLBACK (hủy thỏa hiệp) ‘ 14’ T hực hiện thao tác người dùng Mã hóa và ý nghĩa của P2: ‘ 80’ = PRESENT USER (thể hiện người sử dụng) ‘ 81’ = CREATE USER (tạo người sử dụng) ‘ 82’ = DELETE USER (xóa người sử dụng) Việc sử dụng các ví dụ về lệnh và mã hóa này được trình bày trong Phụ lục A. 6.3. Ký hiệu và mã hóa đặc biệt Trong các điều tiếp theo, ký hiệu sau được sử dụng để mô tả câu lệnh SQL: - Các chữ cái in hoa trong biểu thức SQL (biểu thức cố định của ngôn ngữ SQL) - [ ] có nghĩa là tùy chọn - <...> có nghĩa là chuỗi thuộc tính - ::= có nghĩa là bao gồm - ï có nghĩa là hoặc - * có nghĩa là tất cả Đối với việc mã hóa các thông số, ký hiệu sau được sử dụng: - Lp = độ dài (mã hóa trong một byte) của thông số tiếp theo - <…> = chuỗi thông số của các byte với độ dài Lp và ý nghĩa đ ư a ra trong <...> Đối với việc mã hóa k í ch thư ớ c D (v í dụ: số các cột hoặc số các điều kiện), quy tắc sau đây áp dụng: - D::=N với N = S ố các mục tiếp theo, mã hóa trong một byte Hoặc - D::=Ln =‘ 01’ (N mã hóa trong một byte) Một mục bao gồm một hoặc một vài thông số liên tiếp. Kích thước Rỗng được mã hóa trên tập một byte tại ‘00’. Ý nghĩa của thông số Rỗng là “tất cả các cột” hoặc “không có điều kiện” theo lệnh. Đối với các toán tử so sánh xảy ra trong các điều kiện tìm kiếm, thì sẽ sử dụng mã hóa theo Bảng 3. Bảng 3 - M ã hóa các toán tử so sánh Toán t ử so sánh M ã hóa Ý nghĩa = <> > ≤ ≥ ≠ ‘3D’ ‘3C’ ‘3E’ ‘ 4C’ ‘ 47’ ‘ 23’ Bằng Nhỏ hơn L ớ n hơn Nhỏ hơn hoặc bằng Lớn hơn hoặc b ằ ng Kh ô ng b ằ ng v ớ i 6.4. Byte trạng thái Các byte trạng thái SW1-SW2 của một hồi đáp bi ể u thị t ì nh trạng xử l ý trong thẻ. Bảng 4 chỉ ra ý nghĩa chung của giá trị SW1-SW2 được quy định trong tiêu chuẩn này. Đối với mỗi lệnh hoặc thao tác được thực hiện th ị ở mỗi đi ề u phù hợp sẽ cung cấp các ý nghĩa chi tiết hơn. So với ý nghĩa của byte trạng thái đ ược quy định trong TCVN 11167-4 (ISO/IEC 7816), tiêu chuẩn n à y quy định việc sử dụng chúng một cách chính xác hơn. Bảng 4 - Byte trạng thái SW1-SW2 Quy định trong TCVN 11167-4 (ISO/IEC 781 6 ) Ý nghĩa ‘9000’ ‘61 xx ’ Phần 4 Ph ầ n 4 Xử lý thường Lệnh thành công Lệnh th à nh công, xx m ã hóa số byte dữ liệu được tìm nạp bởi GET RESPONSE ‘ 6282’ Phần 4 Xử lý cảnh báo Kết thúc bảng ‘ 6500’ ‘ 6581’ Phần 4 Phần 4 Lỗi thực thi Kh ô ng có thông tin Bộ nhớ h ỏ ng (ví dụ: thông tin sai) ‘6700’ Phần 4 Kiểm tra lỗi Độ d à i sai ‘6900’ ‘6982’ ‘6985’ Phần 4 Ph ầ n 4 Phần 4 Lệnh không được phép Không có thông tin Trạng th á i an ninh không thỏa m ã n Lệnh hoặc thao tác cần thiết không được thực hiện trước đó ‘6A00’ ‘6A80’ ‘6A81’ ‘6A84’ ‘6A88’ ‘6A89’ Phần 4 Ph ầ n 4 Ph ầ n 4 Phần 4 Phần 4 Phần 4 Thông số sai Không có thông tin Thông số không chính xác trong trư ờ ng dữ liệu Thao tác không được hỗ trợ Kh ô ng đủ không gian bộ nh ớ K hông tìm thấy đối tượng tham chiếu Đối tượng đã tồn tại ‘6Cxx’ Phần 4 Đ ộ d à i sai L e : SW2 cho biết đ ộ dài chính xác ‘6D00’ Phần 4 Mã l ệ nh kh ô ng được hỗ trợ 6.5. Mã hóa mã định danh Các quy ước về mã định danh sau được quy định: O |P|Q|R|S|T|U|V|W|X| Y |Z ><> |U|P> < phần="" định="" rõ="" của="" tên="" từ="" điển=""> ::= < mã="" định="" danh,="" tối="" đa="" 6="" byte=""> | SYSTAB ờ i sử dụng> ::= ấ u phân cách> < id="" cá="" nhân=""> | ó m> á nhân> | < id=""> ó m> <> ấ u phân cách > < id="" nhóm=""> < dấu="" phân="" cách=""> < id=""> ó m con> < dấu="" phân="" cách=""> <> d ấu hoa thị > | < id="" nhóm=""> <> ấ u phân cách > <> ấ u hoa thị > <> d ấu phân cách > < dấu="" hoa="" thị=""> < id="" nhóm=""> ::= < mã="" định="" danh,="" tối="" đa="" 8="" byte=""> < id="" nhóm="" con=""> ::= < mã="" định="" danh,="" tối="" đa="" 8="" byte=""> < id="" cá="" nhân=""> ::= < mã="" định="" danh,="" tối="" đa="" 8="" byte=""> | < id="" người="" sử="" dụng="" đặc="" biệt=""> ::=. <> d người sử dụng đặc biệt > ::= ẻ > | CHOLDER là id người sử dụng chung cho chủ thẻ, PUBLIC là id người sử dụng chung cho người sử dụng cơ sở dữ liệu, xem Bảng 1. Ý nghĩa của dấu hoa thị l à ‘không quan tâm’, nghĩa là việc mã hóa của phần này không được so sánh. Đối với việc kiểm tra id người sử dụng, các trường hợp sau đây phải được phân biệt: Nếu id người sử dụng là id cá nhân th ì i d ngư ờ i sử dụng phải giống hệt với id người sử dụng đã đăng ký. Nếu id người sử dụng bao gồm id nhóm kết hợp với id cá nhân th ì các bước sau đây phải được thực hiện: 1) Kiểm tra xem liệu id đầy đủ của người sử dụng c ó được đăng ký hay không. 2) Nếu không thì ki ể m tra xem liệu Nếu id người sử dụng bao gồm: i d nhóm kết hợp với id nhóm con và id cá nhân th ì các bước sau phải được thực hiện: a) Kiểm tra xem liệu id đầy đủ của người sử dụng có được đăng ký hay không b) Nếu không thì ki ể m tra xem liệu ó đ ược đăng ký hay không c) Nếu không th ì kiểm tra xem liệu *.* có được đ ă ng ký hay không Việc xác nhận id người sử dụng được thực hiện nếu thao tác PRESENT USER được thực hiện trong các t ì nh huống mà điều khiển truy cập đến các bảng, hiển thị và các từ điển được yêu cầu (xem DECLARE USER và INSERT) CHÚ TH Í CH Cơ c hế xây d ựng nhóm người sử dụng không phải một ph ầ n của SQL. 6.6. Thuộc tính an ninh của bảng, hiển thị và người sử dụng Các quy ước về thuộc t í nh an ninh sau đây được quy định: ã quy định trong các phần khác của bộ ti ê u chuẩn n à y, ví dụ: đối với việc xác thực hoặc điều khiển truy cập> Các thuộc tính an ninh kết hợp với các bảng và các hiển thị có thể liên quan đến các thủ tục xác thực được thực hiện tr ướ c khi truy cập hoặc mô tả cơ chế thông điệp an toàn được áp dụng, nếu các hoạt động thao tác dữ liệu được thực hiện (ví dụ: đ ọc và ghi ở chế độ tin cậy) 6.7. Kết nối id người sử dụng với thao tác INSERT và UPDATE Nếu cột cuối cùng của bảng có tên USER thì th ẻ sẽ duy trì một bản ghi của người sử dụng tạo sửa đổi cuối cùng cho bảng. Thao t ác kết nối bao gồm việc chèn id người sử dụng hiện hành, thiết lập với thao tác PRESENT USER trong cột USER khi thực hiện thao tác INSERT. Khi thực hiện thao tác UPDATE th ì thẻ sẽ ghi đ è id người sử dụng hiện có trong cột USER với id người sử dụng hiện hành. 7. Hoạt động của cơ sở dữ liệu 7.1. Lệnh CREATE TABLE 7.1.1. Định nghĩa và phạm vi áp dụng Thao tác CREATE TABLE quy định bảng với các cột và các thuộc tính an ninh. Việc quy định bảng được thêm vào trong bảng mô tả đối tượng. 7.1.2. Sử dụng có điều kiện và an toàn Bảng chỉ có thể đ ư ợc tạo bởi người sử dụng với hồ sơ DB_ O và DBOO. 7.1.3. Thông điệp lệnh Thao tác SCQL liên quan đến câu lệnh SQL sau đây: CREATE TABLE ầ n tử b ả ng> [ á c định cột> [, ê n cột> [<> ấ u phân cách ><> ác định ràng buộc duy nh ấ t>] [<> ấ u phân cách > kiểu dữ liệu>] ề u 6.7> ::= USER < xác="" định="" ràng="" buộc="" duy="" nhất=""> ::= U í tự biến (độ dài)> < kí="" tự="" biến="" (độ=""> à i) > ::= V <độ dài=""> <độ dài=""> ::= <độ dài="" mã="" hóa="" nhị="" phân="" trên="" 1="" byte=""> Nếu việc quy định ràng buộc duy nhất được sử dụng và hỗ trợ thì thẻ phải đảm bảo rằng tất cả các giá trị trong cột liên quan là duy nhất. N ế u ch ỉ báo độ d ài biến (nghĩa là: độ dài tối đa) có mặt và được hỗ trợ thì th ẻ phải kiểm tra độ dài hiện tại của cột sao cho không vượt qu á độ dài tối đa đã quy định. Bảng 5 - Thực hiện thao tác SCQL của APDU lệnh cho CREATE TABLE CLA Quy định trong TCVN 11167-4 (ISO/IEC 7816-4) INS ‘10’(=PERFORM SCQL OPERATION) P1 ‘00’, các giá tr ị RFU khác P2 ‘80’=CREATE TABLE Trường L c Độ dài của trư ờ ng dữ liệu tiếp theo Trường d ữ liệu Lp D, định vị N (các cột) Các mục N: Lp đị nh cột> Các thông số tùy chọn: Lp <> ố hàng tối đa, nhị phân mã hóa 1 byte> Lp Trường L e Trống 7.1.4. Th ô ng điệp hồi đáp Bảng 6 - APDU hồi đáp thực hiện thao tác SCQL cho CREATE TABLE Trường dữ liệu S W 1-S W 2 Trống C á c byte trạng thái 7.1 . 5 . Điều kiện trạng thái Các điều kiện về lỗi cụ thể sau đây có thể xảy ra: - SW1 = ‘69’ với SW2= • ‘82’: Trạng thái an ninh không thỏa mãn - SW1 = ‘6A’ với SW2= • ‘80’: Các thông số không chính xác trong trường dữ liệu • ‘84’: Không đ ủ không gian • ‘89’: Đối tượng đã tồn tại 7.2. Lệnh CREATE VIEW 7.2.1. Đ ị nh nghĩa và phạm vi áp dụng Hoạt động CREATE VIEW quy định một hiển thị tr ê n bảng. Việc quy định hiển thị được thêm vào trong bảng mô tả đối tượng. 7.2.2. Sử dụng có điều kiện và an toàn Hiển thị chỉ có thể được tạo bởi chủ bảng tham chiếu. 7.2.3. Thông điệp lệnh Thao tác SCQL liên quan đến câu lệnh SQL sau đây: CREATE VIEW <> ê n hiển thị> AS ...] <> ê n hiển thị> = ì m điều kiện>, ...]] ï ï <> ï > ï ≤ ï ≥ ï ≠ ’ * = tất cả các cột B ả ng 7 - APDU lệnh thực hiện thao tác SCQL cho CREATE VIEW CLA Quy định trong TCVN 11165-4 (ISO/IEC 7816-4) INS ‘10 (=PERFORM SCQL OPERATON) P1 ‘00’, các giá trị RFU khác P2 ‘81’ = CREATE VIEW Trường Lc Độ dài của trường dữ liệu tiếp theo Trường dữ liệu Lp ể n thị, xem điều 6.5> Lp D, đ ị nh v ị N (các cột) Các mục N: Lp D, N cố định (các điều kiện) Các mục N bao gồm 3 thông số: Lp Lp Lp Các thông số tùy chọn: Lp i nh >[ Trường Le Rỗng CH Ú THÍCH Nếu có mặt một và i điều kiện th ì ch ú ng được k ế t hợp với AND. 7.2.4 . Thông đ iệp hồi đáp Bảng 8 - APDU hồi đáp th ự c hiện thao tác SCQL cho CREATE VIEW Trường dữ liệu SW1 - SW2 Rỗng Các byte trạng thái 7.2.5. Điều kiện trạng thái Các điều kiện v ề lỗi cụ thể sau đây có thể xảy ra: - SW1 = ‘69’ với SW2 = • ‘82’: Trạng thái an ninh không thỏa m ã n - SW1 =‘6A’ với SW2= • ‘80’: Các thông số không chính xác trong trường d ữ liệu • ‘84’: Không đủ không gian bộ nhớ • ‘88’: Không t ì m thấy đối tượng • ‘89’: Đối tượng đã tồn tại 7.3. Lệnh CREATE DICTIONARY 7.3.1. Định nghĩa và phạm vi áp dụng Thao tác CREATE DICTIONARY quy định một hiển thị trên các bảng hệ thống * O , * U và * P . Việc quy định hiển thị cố định được bổ sung bởi thẻ trong bảng mô tả đối tượng, xem Bảng 11 và 12. Các hàng của bảng hệ thống có thể được đọc là độc lập với hồ sơ của người sử dụng. CH Ú TH Í CH Lệnh n à y không c ó t í nh tương đương trong SQL. 7.3.2. Sử dụng có điều kiện và an toàn Từ điển chỉ có th ể được tạo bởi DB_ O hoặc DBOO. 7.3.3. Thông điệp lệnh Thao tác SCQL liên quan đến câu lệnh m ở rộng SQL sau đây: CREATE DICTIONARY ê n từ đ iển>:: CHÚ THÍCH Phần định r õ của t ê n từ đi ể n được hoàn thiện bởi th ẻ bằng cách thêm v à o _ O cho việc hiển thị bảng mô tả đối tượng, _ U cho việc hiển thị bảng mô tả người sử dụng và _ P cho việc hiển thị b ả ng mô tả đặc quyền. SYSTAB được sử dụng n ế u c ầ n như mộ t tên từ điển chung. B ả ng 9 - APDU lệnh thực hiện thao tác SCQL cho CREATE DICTIONARY CLA INS P1 P2 Trường Lc Trường dữ liệu Trường Le Quy định trong TCVN 11165-4 (ISO/IEC 7816-4) ‘ 10 ’ (=PERFORM SCQL OPERATON) ‘00’, các giá trị RFU khác ‘ 82’ = CREATE DICTIONARY Độ dài của trường dữ liệu tiếp theo Lp Rỗng Bảng 10 - Các hàng được ch è n vào nếu người sử dụng là DB_ O *O (Bảng mô tả đối tư ợ ng) OBJNAM OBJOWN OBJTYP OPJDES _O V Tất cả hoặc tên của các cột <> ê n từ điển định rõ> _U V Tất cả hoặc tên của các cột õ > _P V Tát cả hoặc tên của các cột CHÚ TH Í CH Trong B ả ng 10 cột OBJOPT là Rỗng và kh ô ng được ch ỉ ra ở đây. Bảng 11 - Các hàng đ ược ch è n vào n ế u người sử dụng là DBOO *O (Bảng mô tả đố i tượng) OBJNAM OBJOWN OBJTYP OPJDES õ >_ O V Tất cả hoặc t ê n của các cột; điều kiện: OBJOWN = õ >_ U > V Tất cả hoặc t ê n của các cột điều kiện: OBJOWN = <> ê n t ừ điển định rõ>_ P > V Tất cả hoặc t ê n của các cột; điều kiện: OBJ O WN = > CHÚ THÍCH Trong Bảng 11 cột OBJOPT là Rỗng và không được ch ỉ ra ở đây. 7.3.4. Thông điệp hồi đáp Bảng 12 - APDU hồi đáp thực hiện thao tác SCQL cho CREATE DICTIONARY Trường dữ liệu SW1 - SW2 Rỗng Các byte trạng thái 7.3.5. Điều kiện trạng thái Các điều kiện về lỗi cụ thể sau đây có thể xảy ra: - SW1 = ‘69’ với SW2 = • ‘82’: Trạng thái an ninh không thỏa m ã n - SW 1 =‘6A’ với SW2= • ‘80’: Các thông số không chính xác trong trường dữ liệu • ‘84’: Không đủ không gian bộ nhớ • ‘89’: Đối tượng đã tồn tại 7.4. Lệnh DROP TABLE 7.4.1. Định nghĩa và phạm v i áp dụng Với thao tác DROP TABLE, một bảng có thể bị bỏ bớt. 7.4.2. Sử dụng có điều kiện và an toàn Một bảng ch ỉ có thể b ị bớt bởi chủ của nó. Các đặc quyền kết hợp với bảng nên tự động b ị bỏ bớt. 7.4.3. Thông điệp lệnh Thao tác SCQL liên quan đến câu lệnh SQL sau đây: DROP TABLE <> ê n bảng> Bảng 13 - APDU lệnh thực hiện thao tác SCQL cho DROP TABLE CLA INS P1 P2 Trường Lc Trường dữ liệu Trư ờ ng Le Quy định trong TCVN 11165-4 (ISO/IEC 7816-4) ‘ 10’ (=PERFORM SCQL OPERATON) ‘00’, các giá trị RFU khác ‘ 83’ = DROP TABLE Độ dài của trường dữ liệu ti ế p theo Lp Rỗng 7.4.4. Thông điệp h ồ i đáp Bảng 14 - APDU hồi đáp thực hiện thao tác SCQL cho DROP TABLE Trường dữ liệu SW1 - SW2 Rỗng Các byte trạng thái 7.4.5. Điều kiện trạng thái Các điều kiện về lỗi cụ th ể sau đây có thể xảy ra: - SW1 = ‘69’ với SW2 = • ‘82’: Trạng thái an ninh không thỏa mãn - SW 1 = ‘6A’ với SW2 = • ‘80’: Các thông số không chính xác trong trường dữ liệu • ‘88’: Không t ì m thấy đối tượng tham chiếu 7.5. Lệnh DROP VIEW 7.5.1. Đ ị nh nghĩa và phạm vi áp dụng Với thao tác DROP VIEW, một bảng có thể bị b ỏ bớt. 7.5.2. Sử dụng c ó điều kiện và an toàn Một hiển thị chỉ có thể bị bớt bởi chủ của nó. Các đặc quyền kết hợp với bảng n ê n tự động bị b ỏ b ớ t. 7.5.3. Thông điệp lệnh Thao tác SCQL liên quan đến câu lệnh SQL sau đây: DROP VIEW Bảng 15 - APDU lệnh thực hiện thao tác SCQL cho DROP VIEW CLA INS P1 P2 Trư ờ ng Lc Trư ờ ng dữ liệu Trường Le Quy định trong TCVN 11165-4 (ISO/IEC 7816-4) ‘10’ (=PERFORM SCQL OPERATON) ‘00’, các giá trị RFU khác ‘84’ = DROP VIEW Độ dài của trường dữ liệu ti ế p theo Lp Rỗng 7.5.4. Thông điệp hồi đáp Bảng 16 - APDU hồi đáp thực hiện thao tác SCQL cho DROP VIEW Trường dữ liệu SW1 - SW2 Rỗng Các byte trạng thái 7.5.5. Điều kiện trạng thái Các điều kiện về lỗi cụ thể sau đây có thể xảy ra: - SW1 = ‘69’ với SW2 = • ‘82’: Trạng thái an ninh không thỏa mãn - SW 1 =‘6A’ với SW2= • ‘80’: Các thông số không chính xác trong trường dữ liệu • ‘88’: Không tìm thấy đối tượng tham chiếu 7.6. Lệnh GRANT 7.6.1. Định nghĩa và phạm vi áp dụng Thao tác GRANT cho phép cấp các đặc quyền cho người sử dụng đơn lẻ, cho nhóm người sử dụng hoặc cho t ấ t cả người sử dụng. Các đặc quyền sau có th ể được cấp: a) Đặc quyền đối với truy cập bảng: - SELECT (lựa chọn) - INSERT (chèn) - UPDATE (cập nhật) - DELETE (xóa) b) Đặc quyền đối với truy cập hiển thị: - SELECT (lựa chọn) - UPDATE (cập nhật) c) Đặc quyền đối với truy cập từ điển: - SELECT (lựa chọn) CHÚ THÍCH N ế u ngoài đặc quyền cho phép truy c ấ p được yêu c ầ u ( tức là th ể hiện bằng mật kh ẩ u) trư ớ c khi thao tác tương ứng được thực hiện th ì đi ề u này phải đ ư ợc quy định trong các thuộc tính an ninh quy định cho bảng hoặc hi ể n thị tương ứng. 7.6.2. Sử dụng có điều kiện và an toàn Chỉ có chủ của bảng hoặc hiển thị mới có thể cấp hoặc thu hồi các đặc quyền. 7.6.3. Thông điệp lệnh Thao tác SCQL liên quan đến câu lệnh SQL sau đây: GRANT ư ời được cấp> ư ợng>::= *= t ấ t cả người sử dụng Bảng 17 - APDU lệnh thực hiện thao tác SCQL cho GRANT CLA INS P1 P2 Trường Lc Trường dữ liệu Trư ờ ng Le Quy định trong TCVN 11165-4 (ISO/IEC 7816-4) ‘ 10’ (=PERFORM SCQL OPERATON) ‘00’, các giá trị RFU khác ‘85’ = GRANT Độ dài của trường dữ liệu ti ế p theo Lp Lp Lp * > Rỗng Bảng 18 - Mã hóa các đặc quyền Đặc quyền Mã hóa trong SCQL INSERT SELECT UPDATE DELETE T ấ t cả ‘41’ ‘ 42’ ‘ 44’ ‘ 48’ ‘4F’ 7.6.4. Thông điệp hồi đáp Bảng 19 - APDU hồi đáp thực hiện thao tác SCQL cho GRANT Trường dữ liệu SW1 - SW2 Rỗng Các byte trạng thái 7.6.5. Điều kiện trạng thái Các điều kiện về lỗi cụ thể sau đây có thể xảy ra: - SW1 = ‘69’ với SW2 = • ‘82’: Trạng thái an ninh không thỏa mãn - SW 1 =‘6A’ với SW2= • ‘80’: Các thông số kh ô ng chính xác trong trường dữ liệu • ‘84’: Không đ ủ không gian bộ nhớ • ‘88’: Không tìm thấy đối tượng tham chiếu 7.7. Lệnh REVOKE 7.7.1. Định nghĩa và phạm vi áp dụng Thao tác REVOKE cho phép thu hồi các đặc quyền đã cấp trước đó (xem Điều 7.6). 7.7.2. Sử dụng có điều kiện và an toàn Ch ỉ có chủ của bảng hoặc hiển thị mới có thể thu hồi các đặc quyền. 7.7.3. Thông điệp lệnh Thao tác SCQL liên quan đến câu lệnh SQL sau đây: REVOKE ờ i được cấp> <> động>::=SELECT|INSERT|UPDATE|DELETE ê n bảng>| ê n từ điển> *= tất cả người sử dụng Bảng 17 - APDU lệnh thực hiện thao tác SCQL cho REVOKE CLA INS P1 P2 Trường Lc Trường dữ liệu Trường Le Quy định trong TCVN 11165-4 (ISO/IEC 7816-4) ‘ 10’ ( =PERFORM SCQL OPERATON) ‘00’, các giá trị RFU khác ‘ 86’ = REVOKE Độ dà i của trường dữ liệu tiếp theo Lp Lp Lp Rỗng 7.7.4. Thông điệp hồi đáp Bảng 21 - APDU hồi đáp thực hiện thao tác SCQL cho REVOKE Trường dữ liệu SW1 - SW2 Trố ng Các byte trạng thái 7.7.5. Điều kiện trạng thái Các đi ề u kiện về lỗi cụ thể sau đây có thể xảy ra: - SW1 = ‘69’ với SW2 = • ‘82’: Trạng thái an ninh không thỏa mãn - SW 1 =‘6A’ với SW2= • ‘80’: Các thông số không chính xác trong trường dữ liệu • ‘88’: Không tìm thấy đối tượng tham chiếu 7.8. Lệnh DECLARE CURSOR 7.8.1. Định nghĩa và phạm vi áp dụng Con trỏ được sử dụng để chỉ tới một cột trong bảng, hiển thị hoặc từ điển. Thao tác DECLARE CURSOR được sử dụng để khai báo một con tr ỏ . 7.8.2. Sử dụng có điều kiện và an toàn Việc khai báo một con trỏ ch ỉ được chấp nhận nếu người sử d ụng thực tế được phép truy cập bảng, hiển thị hoặc từ đi ể n tham chiếu. Ngư ờ i sử dụng phải là ch ủ của đối tượng tham chiếu hoặc có ít nhất một đặc quyền truy cập đến đối tượng tham chiếu (để so sánh id người sử dụng hiện hành với id người sử dụng lưu trữ trong bảng hệ thống * P , xem Điều 6.5). Chỉ có một con tr ỏ t ồ n tại ở thời gian cho trước, tức là nếu một con trỏ mới được khai báo th ì con trỏ trước đó không còn hiệu lực nữa. 7.8.3. Thông điệp lệnh Thao tác SCQL liên quan đến câu lệnh SQL sau đây: DECLARE CURSOR FOR ê n cột>[, á nh>::== | < |=""> | ≤ | ≥ | ≠ ỗ i các byte> ’ *= tất cả các cột CHÚ THÍCH V ì ch ỉ có một con trỏ tại thời điểm có th ể xảy ra nên không c ó lên con tr ỏ được sử dụng Bảng 22 - APDU lệnh thực hiện thao tác SCQL cho DECLARE CURSOR CLA INS P1 P2 Trường Lc Trường dữ liệu Quy định trong TCVN 11165-4 (ISO/IEC 7816-4) ‘ 10’ (=PERFORM SCQL OPERATON) ‘00’, các giá trị RFU khác ‘87’ = DECLARE CURSOR Độ dài của t rư ờng dữ liệu ti ế p theo Lp <> ê n bảng, tên hiển thị hoặc tên từ điển> D , định vị N (các cột) Các mục N: Lp Nếu các điều kiện có mặt: D, N cố định (các điều kiện) Các mục N bao gồm 3 thông số: Lp<> ê n cột> Lp Lp Trường Le Trống CH Ú THÍCH Nếu có mặt một vài điều kiện th ì ch ú ng sẽ đ ượ c kết hợp với AND. 7.8.4. Thông điệp hồi đáp Bảng 23 - APDU hồi đáp thực hiện thao tác SCQL cho DECLARE CURSOR Trường dữ liệu SW1 - SW2 Trố ng Các byte trạng thái 7.8.5. Điều kiện trạng thái Các điều kiện về lỗi cụ thể sau đây có thể xảy ra: - SW1 = ‘69’ với SW2 = • ‘82’: Trạng thái an ninh không th ỏ a mãn - SW 1 =‘6A’ với SW2= • ‘80’: Các thông số không chính xác trong trường dữ liệu 7.9. Lệnh OPEN 7.9.1. Định nghĩa và phạm vi áp dụng Thao tác OPEN mở một con tr ỏ , tức là con tr ỏ được đặt trên hàng đầu tiên đáp ứng lựa chọn được quy định trước với thao tác DECLARE CURSOR. 7.9.2. Sử dụng có điều kiện và an toàn Con trỏ phải được khai báo trước đó. 7.9.3. Thông điệp lệnh Thao tác SCQL liên quan đến câu lệnh SQL sau đây: OPEN Bảng 24 - APDU lệnh thực hiện thao tác SCQL cho OPEN CLA INS P1 P2 Trường Lc Trường dữ liệu Trư ờ ng Le Quy định trong TCVN 11165-4 (ISO/IEC 7816-4) ‘10’ (=PERFORM SCQL OPERATON) ‘00’, các giá trị RFU khác ‘88’ = OPEN Trống Trống Trống 7.9.4. Thông điệp hồi đáp Bảng 25 - APDU hồi đáp thực hiện thao tác SCQL cho OPEN Trường dữ liệu SW1 - SW2 Trố ng Các byte trạng thái 7.9.5. Điều kiện trạng thái Các điều kiện về lỗi cụ thể sau đây có thể xảy ra: - SW1 =‘62’ với SW2 = • ‘82’: Kết thúc bảng - SW 1 = ‘69’ với SW2= • ‘85’: Các lệnh hoặc thao tác cần thiết không được thực hiện trước đó (không có con trỏ nào được xác định) 7.10. Lệnh NEXT 7.10.1. Định nghĩa và phạm vi áp dụng Thao tác NEXT thiết lập con trỏ ở hàng tiếp theo đáp ứng đặc tả của con tr ỏ . 7.10.2. Sử dụng có điều kiện và an toàn Con trỏ phải được m ở trước đó. 7.10.3. Thông điệp lệnh Thao tác SCQL liên quan đế câu lệnh SQL sau đây: NEXT B ả ng 26 - APDU lệnh thực hiện thao tác SCQL cho NEXT CLA INS P1 P2 Trường Lc Trường dữ liệu Trường Le Quy định trong TCVN 11165-4 (ISO/IEC 7816-4) ‘ 10’ (=PERFORM SCQL OPERATON) ‘00’, các giá trị RFU khác ‘89’ = NEXT Trống Trống Trống 7.10.4. Thông điệp hồi đáp B ả ng 27 - APDU hồi đáp thực hiện thao tác SCQL cho NEXT Trường dữ liệu SW1 - SW2 Trố ng Các byte trạng thái 7.10.5. Điều kiện trạng thái C á c điều kiện về lỗi cụ thể sa u đây có thể xảy ra: - SW1 = ‘62’ với SW2 = • ‘82’: Kết thúc bảng - SW 1 =‘69’ v ới SW2= • ‘85’: Các lệnh hoặc thao t á c c ầ n thiết không được thực hiện trước đó (không có con trỏ nào được xác định) 7.11. Lệnh FETCH 7.11.1. Định nghĩa và phạm vi áp dụng Thao tác FETCH cho phép tìm nạp một hàng hoặc một phần của nó. Con trỏ phải ch ỉ đến hàng được t ì m nạp. 7.11.2. Sử dụng có điều kiện và an toàn Thao tác ch ỉ c ó thể được thực hiện bởi chủ của đối tượng hoặc người sử dụng với đặc quyền SELECT. Con trỏ phải được mở trước đó. 7.11.3. Th ô ng điệp lệnh Thao tác SCQL liên quan đến câu lệnh SQL sau đây: FETCH Bảng 28 - APDU lệnh thực hiện thao tác SCQL cho FETCH CLA INS P1 P2 Trường Lc Trường dữ liệu Trường Le Quy định trong TCVN 11165-4 (ISO/IEC 7816-4) ‘10’ (=PERFORM SCQL OPERATON) ‘00’, các giá trị RFU khác ‘8A’ = FETCH Rỗng Rỗng Độ dài lớn nh ấ t của dữ liệu mong muốn 7.11.4. Thông điệp hồi đáp Bảng 29 - APDU h ồ i đáp thực hiện thao tác SCQL cho FETCH Trường dữ liệu SW1 - SW2 D, định vị N (các cột) Các mục N: Lp Các byte trạng thái CHÚ TH Í CH Trong trường hợp T=0 giao th ứ c truyền được sử dụng, độ d à i của dữ liệu đ ã chọn đ ư ợc ch ỉ ra trong các byte trạng thái (SW1-SW2=‘6Cxx ’, trong đ ó xx cho biết số byte dữ liệu có s ẵ n). Dữ l iệ u phải được l ấ y lại bằng cách ph á t hành lại cùng một lệnh với giá tr ị Le trong SW2. Trong trư ờ ng hợp T =1 giao thức truyền được sử dụng, dữ li ệ u được truy ề n trong APDU hồi đáp lệnh FETCH. 7.11.5. Điều kiện trạng thái Các điều kiện về lỗi cụ th ể sau đây có thể xảy ra: - SW1 = ‘69’ với SW2 = • ‘82’: Trạng thái an ninh không thỏa mãn • ‘85’: Các lệnh hoặc hoạt động cần thiết không được thực hiện trước đ ó (không có con trỏ nào được xác định) 7.12. Lệnh FETCH NEXT 7.12.1. Đ ị nh nghĩa và phạm vi áp dụng Thao tác FETCH NEXT phải được sử dụng để đọc hàng tiếp theo từ v ị tr í con trỏ. Con trỏ được thiết lập đến hàng đã tìm nạp. 7.12.2. Sử dụng có đ iề u kiện và an toàn Thao tác chỉ có th ể được thực hiện bởi chủ của đối tượng hoặc người sử dụng với đặc quyền SECLECT. Con trỏ p h ải được mở trước đó. 7.12.3. Thông điệp lệnh Thao tác SCQL liên quan câu lệnh SQL sau đây: FETCH NEXT Bảng 30 - APDU l ệ nh thực hiện thao tác SCQL cho FETCH NEXT CLA INS P1 P2 Trường Lc Trường dữ liệu Trường Le Quy định trong TCVN 11165-4 (ISO/IEC 7816-4) ‘ 10’ (=PERFORM SCQL OPERATON) ‘00’, các giá tr ị RFU khác ‘8B’ = FETCH NEXT Rỗng Rỗng Độ dài lớn nh ấ t của dữ liệu mong muốn 7.12.4. Thông điệp hồ i đáp Bảng 31 - APDU hồi đáp thực hiện thao tác SCQL cho FETCH NEXT Trường dữ liệu SW1 - SW2 D, định vị N (các cột) Các mục N: Lp Các byte trạng thái Xem CHÚ THÍCH bên dưới Bảng 29. 7.12.5. Điều kiện trạng thái Các điều kiện về lỗi cụ thể sau đây có thể xảy ra: - SW1 = ‘ 69’ với SW2 = • ‘82’: Kết thúc bảng - SW 1 = ‘62’ với SW2= • ‘82’: Trạng thái an ninh không thỏa mãn • ‘85’: Các lệnh hoặc thao tác cần thiết không được thực hiện trước đó (không có con trỏ nào được xác định) 7.13. Lệnh INSERT 7.13.1. Định nghĩa và phạm vi áp dụng Thao tác INSERT được sử dụng đ ể chèn một hàng vào bảng. Hàng mới luôn luôn được thêm vào ở cuối bảng. Con trỏ vẫn ở vị tr í của nó. 7.13.2. Sử dụng có điều kiện và an toàn Lệnh chỉ có th ể được thực hiện bởi chủ của bảng hoặc người sử dụng đặc quyền INSERT. Giá trị cho cột USER - nếu có sẽ được chèn bởi người sử dụng, xem điều 6.7. 7.13.3. Thông điệp lệnh Hoạt đông SCQL liên quan đến câu lệnh SQL sau đây: INSERT [INTO] ’ Bảng 32 - APDU lệnh thực hiện thao tác SCQL cho INSERT CLA INS P1 P2 Trường L c Trư ờ ng dữ liệu Trường L e Xác định trong TCVN 11165-4 (ISO/IEC 7816-4) ‘ 10’ (=PERFORM SCQL OPERATON) ‘00’, các giá trị RFU khác ‘8C’ = INSERT Độ d à i của trư ờ ng dữ liệu tiếp theo Lp ả ng> D, N cố định (các cột) Các mục N: Lp Rỗng 7.13.4. Thông điệp hồi đáp Bảng 33 - APDU hồi đáp thực hiện thao tác SCQL cho INSERT Trường dữ liệu SW1 - SW2 Rỗng Các byte trạng thái 7.13.5. Điều kiện trạng thái Các điều kiện về lỗi cụ thể sau đây có thể xảy ra: - SW1 =‘62’với SW2 = • ‘82’: Kết thúc bảng - SW 1 = ‘67’ với SW2 • ‘00’: Độ dài sai - SW1 = ‘69’ với SW2 = • ‘82’: Trạng thái an ninh không thỏa mãn - SW1 = ‘6A’ với SW2 = • ‘80’: Các thông số không chính xác trong trường dữ liệ u • ‘84’: Không đủ không gian bộ nhớ • ‘88’: Không t ì m thấy đối tượng tham chiếu • ‘89’: Đối tượng tồn tại (giá trị cột không phải duy nhất) 7.14. Lệnh UPDATE 7.14.1. Định nghĩa và phạm vi áp dụng Thao tác UPDATE cập nhật một hay nhiều trường của hàng trong bảng hoặc hiển thị mà con trỏ hướng tới. 7.14.2. Sử dụng có đi ề u kiện và an toàn Lệnh ch ỉ có thể được thực hiện bởi chủ của bảng hoặc người sử dụng đặc quyền UPDATE. Con trỏ phải được mở trước đó. Giá trị cho cột USER - nếu có sẽ được s ử a đổi bằng thẻ, xem Điều 6.7. 7.4.13 . Thông điệp lệnh Thao tá c SCQL liên quan đến câu lệnh SQL sau đây: UPDATE SET ’ Bảng 34 - APDU lệnh thực hiện thao tác SCQL cho UPDATE CLA INS P1 P2 Trường Lc Trường dữ liệu Trường Le Quy định trong TCVN 11165-4 (ISO/IEC 7816-4) ‘10’ (=PERFORM SCQL OPERATON) ‘00’, các giá trị RFU khác ‘ 8D’ = UPDATE Độ dài của trường dữ liệu tiếp theo D, N cố định (các cột) Các mục N bao gồm 2 thông số: Lp (tên cột) Lp Rỗng 7.12.4. Thông điệp hồi đáp Bảng 35 - APDU hồi đáp thực hiện thao tác SCQL cho UPDATE Trường dữ liệu SW1 - SW2 Rỗng Các byte trạng thái 7.14.5. Điều kiện trạng thái Các điều kiện về lỗi cụ thể sau đ â y c ó thể xảy ra: - SW 1 =‘67’ với SW2= • ‘00’: Độ dài sai - SW1 = ‘ 69’ với SW2 = • ‘82’: Trạng thái an ninh không thỏa mãn • ‘85’: Các lệnh và hoạt động cần thiết không được thực hiện trước đó (không có con trỏ được xác định) - SW1 = ‘6A’ với SW2 = • ‘80’: Các thông số không chính xác trong trường dữ liệu • ‘84’: Không đủ không gian bộ nhớ • ‘89’: Đối tượng tồn tại (giá trị cột không phải duy nhất) 7.15. Lệnh DELETE 7.15.1. Định nghĩa và phạm vi áp dụng Với thao tác DELETE, một hàng trong bảng mà con trỏ hướng tới c ó thể bị xóa. Con trỏ được di chuyển đến hàng tiếp theo. 7.15.2. Sử dụng có điều kiện và an toàn Lệnh chỉ có thể được thực hiện bởi chủ của bảng hoặc người sử dụng với đặc quyền DELETE đối với bảng tham chiếu. 7.15.3. Thông điệp lệnh DELETE Bảng 36 - APDU lệnh thực hiện thao tác SCQL cho DELETE CLA INS P1 P2 Trường Lc Trường dữ liệu Trường Le Quy định trong TCVN 11165-4 (ISO/IEC 7816-4) ‘10’ (=PERFORM SCQL OPERATON) ‘00’, các giá trị RFU khác ‘8E’ = DELETE Rỗng Rỗng Rỗng 7.15.4. Thông điệp hồi đáp Bảng 37 - APDU hồi đáp thực hiện thao tác SCQL cho DELETE Trường dữ liệu SW1 - SW2 Rỗng Các byte trạng thái 7.15.5. Điều kiện trạng thái Các điều kiện về lỗi cụ thể sau đây có thể xảy ra: - SW1 = ‘62’ với SW2 = • ‘82’: kết thúc bảng - SW 1 =‘69’ với SW2= • ‘82’: Trạng thái an ninh không thỏa mãn • ‘85’: Các lệnh hoặc hoạt động cần thiết không được thực hiện trước đó (không có con trỏ nào được xác định) 8. Quản lý giao dịch 8.1. Khái niệm chung Trong ngữ cảnh này, giao dịch là quá trình sửa đổi trong cơ sở dữ liệu. Việc sửa đ ổ i có thể là một cập nhật hoặc việc chèn một hoặc nhiều h à ng. Lệnh PERFORM TRANSACTION OPERATION đưa ra các thao tác cần để xác nhận hoặc xóa các giao dịch. Nếu lệnh này không được sử dụng hoặc không được hỗ trợ th ì thao tác SCQL luôn được thực hiện theo nghĩa cam kết, tức là một sửa đổi tr ở thành có hiệu lực tức th ì . 8.2. Thao tác giao d ị ch 8.2.1. Lệnh BEGIN 8.2.1.1. Đ ị nh nghĩa và phạm vi áp d ụ ng Thao tác giao d ịch BEGIN định vị không gian cho h ì nh ảnh bộ nhớ, ví dụ: một hàng. 8.2.1.2. Sử dụng có điều kiện và an toàn Không gian bộ nhớ được cung cấp là một phụ thuộc thực thi. Khuyến cáo rằng đủ không gian bộ nhớ cho phương pháp đệm của ít nhất một hàng được đ ị nh vị. 8.2.1.3. Thông đ iệp lệnh Bảng 38 - AP D U lệnh thực hiện thao tác giao d ị ch cho BEGIN CLA INS P1 P2 Trường L c Trường dữ liệu Trư ờ ng L e Quy định trong TCVN 11165-4 (ISO/IEC 7816-4) ‘12’ (=PERFORM TRANSACTION) ‘00’, các giá trị RFU khác ‘80’ = BEGIN Rỗng Rỗng Rỗng 8.2.1.4. Thông điệp hồ i đáp Bảng 39 - APDU hồi đáp thực hiện thao tác g i ao d ị ch cho cho BEGIN Trường dữ liệu SW1 - SW2 Rỗng Các byte trạng thái 8.2.1.5. Điều kiện trạng thái Các điều kiện về lỗi cụ thể sau đây có thể xảy ra: - SW1 = ‘6A’ với SW2 = • ‘84’: không đủ không gian bộ nhớ 8.2.2. Lệnh COMMIT 8.2.2.1. Định nghĩa và phạm vi áp dụng Thao tác giao dịch COMMIT kiểm tra tính hợp lệ tất cả các sửa đ ổ i đã tạo từ khi Thao tác giao dịch BEGIN được thực hiện. 8.2.2.2. Sử dụng có điều kiện và an toàn Thao tác giao dịch BEGIN phải được thực hiện trước. 8.2.2.3. Thông điệp lệnh Bảng 40 - APDU lệnh thực hiện thao tác giao d ị ch cho COMMIT CLA INS P1 P2 Trường Lc Trường dữ liệu Trường Le Quy định trong TCVN 11165-4 (ISO/IEC 7816-4) ‘12’ (=PERFORM TRANSACTION) ‘00’, các giá trị RFU khác ‘ 81 ’ = COMMIT Rỗng Rỗng Rỗng 8.2.2.4. Thông điệp hồi đáp Bảng 41 - APDU hồi đáp thực hiện thao tác giao d ị ch cho cho COMMIT Trường dữ liệu SW1 - SW2 Rỗng Các byte trạng thái 8.2.2.5. Điều kiện trạng thái Các điều kiện về lỗi cụ thể sau đây có thể xảy ra: - SW1 = ‘69’ với SW2 = • ‘85’: các lệnh hoặc các hoạt động cần thiết không được thực hiện trước đó (không có giao dịch BEGIN) 8.2.3. Lệnh ROLLBACK 8.2.3.1. Định nghĩa và phạm vi áp dụng Thao tác giao dịch ROLLBACK khôi phục ngữ cảnh theo cách trước khi thao tác giao dịch BEGIN được th ự c hiện. 8.2.3.2. Sử dụng có điều kiện và an toàn Thao tác giao dịch BEGIN ph ả i được thực hiện trước. 8.2.3.3. Thông điệp lệnh Bảng 42 - APDU lệnh thực hiện thao tác giao dịch cho ROLLBACK CLA INS P1 P2 Trư ờ ng Lc Trường dữ liệu Trường Le Quy định trong TCVN 11165-4 (ISO/IEC 7816-4) ‘ 12’ (=PERFORM TRANSACTION) ‘00 ’, các giá trị RFU khác ‘82’ = ROLLBACK Rỗng Rỗng Rỗng 8.2.3.4. Thông điệp hồi đáp Bảng 43 - APDU hồi đáp thực hiện thao tác giao dịch cho cho ROLLBACK Trường dữ liệu SW1 - SW2 Rỗng Các byte trạng thái 8.2.3.5. Điều kiện trạng thái Các điều kiện về lỗi cụ th ể sau đây có thể xảy ra: - SW1 = ‘69’ với SW2 = • ‘85’: Các l ệnh hoặc thao tác cần thiết không được thực hiện trước đó (không có giao dịch BEGIN) 9. Quản lý người sử dụng 9.1. Khái niệm chung Quản lý người sử dụng liên quan đến: - Định danh người sử dụng - Chứng thực người sử dụng - Th ẩ m quyền người sử dụng - Đăng ký/xóa đăng ký người sử dụng Đối với việc định danh người sử dụng, một id người sử dụng được dùng có thể có cấu trúc như trong Điều 6.5. Nếu có yêu cầu cho một dẫn chứng rằng id người sử dụng được gắn với người sử dụng thì thủ tục xác nhận phải được thực hiện. Các cơ chế thích hợp cho việc xác nhận người sử dụng là: - Cơ ch ế xác minh mật khẩu - Cơ chế xác minh sinh trắc học - Cơ chế mật mã dựa tr ê n thuật toán đối xứng hoặc hệ thống khóa công khai k ế t h ợ p với giấy chứng nhận. Trong giấy chứng nhận id người sử dụng phù hợp với mã định danh người sử dụng. Giấy phép của người sử dụng đề cập đến các quyền của người sử dụng để thực hiện các thao tác. Trong môi trường SCQL, giấy phép của người sử dụng được kết nối với: - Hồ sơ người sử dụng (DB_O, DBOO hoặc DBBU), - Các đặc quyền người sử dụng (xem bảng 18) và - Vai trò người sử dụng, nhóm người sử dụng (xem điều 6.5, 7.6, 7.7 và 9.2.1). Đăng ký người sử dụng bao trùm việc đăng ký người sử dụng với id người sử dụng, hồ sơ người sử dụng với các thuộc tính an ninh (xem Điều 6.6). Việc xóa đăng ký người sử dụng được thực hiện bằng cách xóa đ ă ng k ý . Trong điều này, các thao tác về định danh người sử dụng sau dựa trên lệnh PERFORM USER OPERATION được quy định là: - PRESENT USER - CREATE USER - DELETE USER. Các lệnh và thao tác liên quan đến th ủ tục xác nhận không được quy định trong tiêu chuẩn này. Tuy nhiên, khi tạo một người sử dụng với id người sử dụng và hồ sơ người sử dụng, các thuộc tính an ninh có thể được thi ế t lập bao gồm các DO liên quan đến an ninh thích hợp xác định trong các phần khác của bộ ti ê u chuẩn. Các lệnh và thao tác đặc biệt liên quan đến việc xác nhận có thể được tìm thấy trong Điều 7 (xem CREATE VIE W , GRANT và REVOKE). 9.2. Hoạt động liên quan đến người sử dụng 9.2.1. Lệnh PRESENT USER 9.2.1.1. Định nghĩa và phạm vi áp dụng Thao tác PRESENT USER sẽ kiểm tra việc đăng k ý id người sử dụng đã giới thiệu. Id người sử dụng phải được giới thiệu theo các quy ước quy định trong Điều 6.5 hoặc trong DO t ê n ch ủ thẻ trong giấy chứng nhận của chủ thẻ. Nếu id người sử dụng được đăng ký trong bảng hệ thống * U , người sử dụng mô tả bởi id người sử dụng được thiết lập như người sử dụng hiện hành. CH Ú THÍCH Gi ấ y chứng nhận chứa DO tên ch ủ thẻ có thể thuộc v ề một chuyên gia hoặc bên cung c ấ p dịch vụ. 9.2.1.2. Sử dụng có điều kiện và an toàn Có thể chỉ có một người sử dụng hiện hành tại thời điểm mỗi kênh. Giống như các lệnh tiếp theo, các lệnh xác nhận có thể theo sau: - VERI F Y hoặc - GET CHALLENGE và EXTERNAL AUTHENTICATE , xem TCVN 11165-4 (ISO/IEC 7816-4). 9.2.1.3. Thông điệp lệnh Thao tác PRESENT USER liên quan đến câu lệnh m ở rộng của SQL sau đây: PRESENT USER < do="" chứng="" nhận=""> ủ thẻ>::= ‘ 7F21’><độ> > DO tên chủ thẻ > DOs bổ sung> ủ thẻ>::= <độ> > id người sử dụng, xem điều 6.5> Bảng 44 - APDU lệnh PERFORM USER OPERATION cho PRESENT USER CLA INS P1 P2 Trường Lc Trường dữ liệu Trường Le Quy định trong TCVN 11165-4 (ISO/IEC 7816-4) ‘14’ (=PERFORM USER OPERATION) ‘00’, các giá tr ị RFU khác ‘ 80’ = PRESENT USER Độ dài của trường dữ liệu tiếp theo ẻ , thẻ ghi 7F21, xem TCVN 11167-6 (ISO/IEC 7816-6)> Rỗng 9.2.1.4. Thông đ iệp hồi đáp Bảng 45 - APDU hồ i đáp PERFORM USER OPERATION cho PRESENT USER Trường dữ liệu SW1 - SW2 Rỗng Các byte trạng thái 9.2.1.5. Điều kiện trạng thái Các điều kiện v ề lỗi cụ thể sau đây có thể xảy ra: - SW1 = ‘6A’ với SW2 = • ‘80’: Các thông số không chính xác trong trường d ữ liệu • ‘88’: Không t ì m thấy đối tượng tham chiếu (id người sử dụng) 9.2.2. Lệnh CREATE USER 9.2.2.1. Định nghĩa và phạm vi áp dụng Thao tác CREATE USER kh ở i tạo việc đăng ký người sử dụng, Trong môi trư ờ ng SCQL một hàng trong bảng mô tả người sử dụng được chèn bằng thẻ. Nếu việc xác nhận được yêu cầu, khi ng ư ời sử dụng muốn truy cập cơ sở dữ liệu hoặc các bảng hoặc các hiển thị được bảo vệ th ì thông tin liên quan đến việc xác nhận phải được thêm vào (xem 6.6). Trong trường hợp này, thao tác CREATE USER có thể theo sau bởi một lệnh, ví dụ: đối với việc cài đặt một mật kh ẩ u. Đặc tả các lệnh đó nằm ngoài phạm vi của tiêu chuẩn này. 9.2.2.2. Sử dụng có đ iều kiện và an toàn Lệnh CREATE USER chỉ có thể được thực hiện bởi người sử dụng với hồ sơ DB_O hoặc DBOO với các quyền hạn mô tả trong Bảng 1. Id người sử dụng phải là duy nhất. 9.2.2.3. Th ô ng điệp lệnh Thao tác CREATE USER liên quan đến câu lệnh m ở rộng của SQL sau đây: CREATE USER ½ Bảng 4 6 - APDU lệnh PERFORM USER OPERATION cho CREATE USER CLA INS P1 P2 Trường Lc Trường dữ liệu Trường Le Quy định trong TCVN 11165-4 (ISO/IEC 7816-4) ‘14’ (=PERFORM USER OPERATION) ‘00’, các giá trị RFU khác ‘ 81’ = CREATE USER Độ dài của trường d ữ liệu tiếp theo Lp Lp Các thông số tùy chọn: Lp thuộc tính an ninh, xem điều 6.6> Rỗng CHÚ THÍCH Người sử dụng với h ồ sơ D B _ O ch ỉ có th ể được chèn trong bảng mô tả ngư ời sử dụng trong suốt giai đoạn cài đặt cơ sở dữ liệu SCQL. 9.2.2.4. Thông điệp hồi đáp Bảng 47 - APDU hồi đáp PERFORM USER OPERATION cho CREATE USER Trường dữ liệu SW1 - SW2 Rỗng Các byte trạng thái 9.2.2.5. Điều kiện trạng thái Các điều kiện về lỗi cụ thể sau đây có thể xảy ra: - SW1 = ‘69’ với SW2 = • ‘82’: Trạng thái an ninh không thỏa mãn - SW1 = ‘6A’ với SW2 = • ‘80’: Các thông số không chính xác trong trường dữ liệu • ‘89’: Đối tượng (id người sử dụng) tồn tại. 9.2.3. Lệnh DELETE USER 9.2.3.1. Định nghĩa và phạm vi áp dụng Với thao tác DELETE USER, id người sử dụng có thể bị xóa. H à ng tương ứng trong bảng mô tả người sử dụng bị xóa bỏ. 9.2.3.2. Sử dụng có điều kiện và an toàn Thao tác DELETE USER chỉ có thể được thực hiện bởi chủ nhân người sử dụng. Để đảm bảo các đặc quyền về t í nh nguyên vẹn của cơ sở dữ liệu kết hợp với người sử d ụ ng này được tự động xóa. CH Ú TH Í CH D ấ u hoa th ị t rong id người sử dụng với thao tác DELETE USER (xem đi ề u 6.5) có trong trường hợp n à y không c ó ý nghĩa đặc biệt, tức là ch ỉ có hàng trong * U b ị xóa ở đ ó id người sử dụng giống hệt với id người sử dụng đ ã đăng ký. 9.2.3.3. Thông điệp lệnh Hoạt động DELETE USER liên quan đến câu lệnh mở rộng SQL sau đây: DELETE USER (id người sử dụng) B ả ng 48 - APDU lệnh PERFORM USER OPERATION cho DELETE USER CLA INS P1 P2 Trường Lc Trường dữ liệu Trường Le Quy định trong TCVN 11165-4 (ISO/IEC 7816-4) ‘14’ (=PERFORM USER OPERATION) ‘00’, các giá trị RFU khác ‘82’ = DELETE USER Độ dài của trường dữ liệu tiếp theo Lp Rỗng CH Ú THÍCH Người sử dụng với hồ sơ DB _O chỉ có thể được chèn trong bảng mô tả người s ử dụng trong su ố t giai đoạn cài đặt cơ s ở dữ liệu SCQL. 9.2.2.4. Thông đ iệp hồi đáp Bảng 49 - APDU hồi đáp PERFORM USER OPERATION cho DELETE USER Trường dữ liệu SW1 - SW2 Rỗng Các byte trạng thái 9.2.3.5. Điều kiện trạng thái Các điều kiện về lỗi cụ thể sau đây có thể xảy ra: - SW1 = ‘69’ với S W 2 = • ‘82’: trạng thái an ninh không thỏa mãn - SW1 = ‘6A’ với SW2 = • ‘80’: các thông số không chính xác trong trường dữ liệu • ‘88’: không tìm thấy đối tượng tham chiếu (id người sử dụng). PHỤ LỤC A (tham khảo) Sử dụng các thao tác SQCL Ví dụ tiếp theo ch ỉ ra việc sử dụng và mã hóa thao t á c PRESENT USER và một số thao tác SCQL khi mã hóa kích thước D trên một byte. Các thuật ngữ viết tắt sau đây được sử dụng: CH = command header ti ê u đề lệnh (=CLA INS P1. P2) Col = column name tên cột Colde f = column de f inition định nghĩa cột Comp = comparison operator toán tử so sánh Tab = table name tên bảng View = view name tên hiển thị X = hexadecimal cơ số thập lục phân PRESENT USER ‘COMPANY.DIV.SMITH’ Tiêu đ ề lệnh Lc id người sử dụng x00140080 x11 COMPANY.DIV.SMITH CREATE TABLE FLY (‘DEP ’, ‘ARR’ , ‘F_NO.U’ , ‘TIME ’ , ‘PRICE’) Tiêu đề lệnh Lc Lp T ê n bảng N Lp Tên cột Lp T ê n cột Định nghĩa cột Lp T ê n cột Lp T ê n cột x 00140080 x 11 x03 FLY x 05 x03 DEP x03 ARR F_NO .U x 04 TIME x05 PRICE CHÚ TH Í CH F_NO.U có nghĩa là giá tr ị trong cột F_NO là duy nhất. CREATE VIEW FLY_A AS SELECT (‘ DEP’, ‘ARR’, ‘F_NO’, ‘TIME’) FROM FLY Ti ê u đ ề lệnh Lc Lp T ê n hi ể n th ị Lp Tên bảng N Lp T ê n cột Lp T ê n cột Lp T ê n cột Lp T ê n cột x0 0100081 x 1D x 05 FLY _ A x 03 FLY x04 x 03 DEP x03 ARR x04 F _ NO x04 TIME GRANT SELECT ON ‘FLY_A’ TO * Ti ê u đ ề lệnh Lc Lp Priv Lp Tên hiển thị Lp id người sử dụng x0 010008 5 x0A x 01 x42 x 05 FLY _A 01 * INSERT INTO ‘FLY’ VALUES ( ‘ FRA’, ‘ CDG ’,‘ LH471 ’,‘0115_10:20’,‘540 DM’) Ti ê u đ ề lệnh Lc Lp T ê n bảng N Lp DEP Lp ARR Lp F_NO Lp TIME Lp PRICE x0 010008 C x25 x 03 FLY x 05 x03 FRA x 03 CDG x0 6 LH4711 x0 A 0115_10:20 x0 5 540DM DECLARE CURSOR FOR SELECT * FROM ‘FLY’ WHERE ‘ARR’ = ‘CDG’ Ti ê u đ ề lệnh Lc Lp T ê n bảng N N Lp Tên cột Lp Tên cột Toán tử so sánh Lp chuỗi x0 010008 7 x10 x 03 FLY x 00 x0 1 x03 ARR x01 ARR x3D x0 3 CDG CHÚ THÍCH Toán tử so sánh ‘3D’ c ó nghĩa là ‘bằng với’ MỤC LỤC Lời nói đầu 1. Phạm vi áp dụng 2. Tài liệu viện dẫn 3. Thuật ngữ và định nghĩa 4. Thuật ngữ viết tắt và ký hiệu 5. Khái niệm cơ sở dữ liệu SCQL 6. Lệnh liên quan đến SCQL 7. Hoạt động của cơ sở dữ liệu 8. Quản lý giao dịch 9. Quản lý người sử dụng Phụ lục A (tham khảo) S ử dụng các thao tác SQCL