Giáo trình hệ thống thông tin kế toán phần 2 hệ quản trị cơ sở dữ liệu phần mềm kế toán p6

Giáo trình Hệ thống Thông tin Kế toán phần 2: Hệ quản trị CSDL & phần mềm kế toán. Tìm hiểu kiến thức chuyên sâu về quản lý dữ liệu kế toán (P6).

Người đăng

Ẩn danh

Thể loại

Giáo trình
58
1
0

Phí lưu trữ

30 Point

Tóm tắt

I. Tổng quan hệ quản trị CSDL trong phần mềm kế toán hiện đại

Trong kỷ nguyên số, hệ quản trị cơ sở dữ liệu (CSDL) đóng vai trò xương sống của mọi hệ thống thông tin kế toán (HTTTKT). Đây là công cụ cho phép tổ chức, lưu trữ, quản lý và truy xuất dữ liệu tài chính một cách có hệ thống và an toàn. Ngôn ngữ truy vấn có cấu trúc (SQL) là phương tiện chính để tương tác với các CSDL này. Theo tài liệu, SQL không chỉ giúp định nghĩa cấu trúc dữ liệu mà còn cho phép truy xuất, thao tác, điều khiển truy cập và đảm bảo tính toàn vẹn của dữ liệu kế toán. Việc nắm vững các khái niệm nền tảng về hệ quản trị CSDL như Microsoft Access và ngôn ngữ SQL cho kế toán là yêu cầu bắt buộc đối với các chuyên gia kế toán-kiểm toán. Các phần mềm kế toán phổ biến như phần mềm kế toán MISA hay phần mềm kế toán FAST đều được xây dựng trên nền tảng CSDL quan hệ, sử dụng SQL để xử lý hàng triệu giao dịch mỗi ngày. Hiểu rõ cách thức hoạt động của CSDL giúp kế toán viên không chỉ sử dụng phần mềm hiệu quả hơn mà còn có khả năng tùy chỉnh báo cáo, phát hiện sai sót và hỗ trợ quá trình ra quyết định của doanh nghiệp.

1.1. Giới thiệu Ngôn ngữ Truy vấn có Cấu trúc SQL và T SQL

SQL (Structured Query Language) là ngôn ngữ tiêu chuẩn để tương tác với cơ sở dữ liệu quan hệ. Nó bao gồm một tập hợp các câu lệnh cho phép thực hiện mọi chức năng mà một hệ quản trị CSDL cung cấp, từ định nghĩa dữ liệu, truy xuất, thao tác đến điều khiển truy cập và đảm bảo toàn vẹn. Transact-SQL (T-SQL) là phiên bản mở rộng của SQL được Microsoft phát triển riêng cho SQL Server. T-SQL bổ sung thêm các tính năng lập trình như biến, câu lệnh điều khiển luồng (IF...ELSE, WHILE) và xử lý lỗi, làm cho nó mạnh mẽ hơn SQL chuẩn. T-SQL được chia thành ba nhóm ngôn ngữ chính: Ngôn ngữ Định nghĩa Dữ liệu (DDL), Ngôn ngữ Điều khiển Dữ liệu (DCL) và Ngôn ngữ Thao tác Dữ liệu (DML). Đây là những công cụ không thể thiếu trong việc thiết kế cơ sở dữ liệu kế toán và quản lý dữ liệu tài chính.

1.2. Vai trò của hệ quản trị CSDL đối với chu trình kinh doanh

Một hệ quản trị CSDL hiệu quả là nền tảng để tự động hóa và quản lý các chu trình kinh doanh cốt lõi của doanh nghiệp. Trong chu trình doanh thu, CSDL lưu trữ thông tin khách hàng, đơn đặt hàng, hóa đơn và các khoản phải thu. Trong chu trình chi phí, nó quản lý dữ liệu về nhà cung cấp, đơn mua hàng, phiếu nhập kho và các khoản phải trả. Bằng cách sử dụng các câu lệnh SQL, kế toán viên có thể dễ dàng truy xuất dữ liệu để lập báo cáo bán hàng, theo dõi công nợ, quản lý hàng tồn kho và phân tích hiệu quả hoạt động. Việc tích hợp dữ liệu từ các chu trình khác nhau vào một CSDL duy nhất giúp cung cấp một cái nhìn toàn diện về tình hình tài chính của doanh nghiệp, là cơ sở cho các quyết định quản trị chính xác.

II. Thách thức trong thiết kế cơ sở dữ liệu kế toán chuyên sâu

Việc thiết kế cơ sở dữ liệu kế toán không chỉ đơn thuần là tạo ra các bảng để lưu trữ dữ liệu. Thách thức lớn nhất nằm ở việc xây dựng một cấu trúc logic, chặt chẽ, đảm bảo tính toàn vẹn, chính xác và bảo mật hệ thống thông tin kế toán. Một thiết kế yếu kém có thể dẫn đến dữ liệu trùng lặp, không nhất quán, khó khăn trong việc truy xuất và tạo ra các báo cáo tài chính sai lệch. Các vấn đề như xác định đúng các thực thể, thuộc tính và mối quan hệ giữa các bảng là cực kỳ quan trọng. Ví dụ, việc thiết lập mối quan hệ giữa bảng Khách Hàng và bảng Hóa Đơn thông qua khóa chính (primary key)khóa ngoại (foreign key) phải được thực hiện chính xác để đảm bảo mọi hóa đơn đều gắn với một khách hàng hợp lệ. Hơn nữa, quá trình chuẩn hóa dữ liệu cần được áp dụng để loại bỏ các bất thường khi thêm, xóa, sửa dữ liệu, giúp CSDL trở nên linh hoạt và dễ bảo trì hơn. Đây là những kiến thức nền tảng thường được đề cập trong các slide bài giảng HTTTKTtài liệu ôn tập HTTTKT 2.

2.1. Vấn đề về chuẩn hóa và toàn vẹn dữ liệu kế toán

Chuẩn hóa dữ liệu là quá trình tổ chức các cột và bảng trong một CSDL quan hệ để giảm thiểu sự dư thừa dữ liệu. Mục tiêu là đảm bảo dữ liệu được lưu trữ một cách logic và nhất quán. Nếu không chuẩn hóa, một CSDL có thể gặp phải các dị thường cập nhật, chẳng hạn như khi thay đổi địa chỉ của một khách hàng, kế toán viên phải cập nhật ở nhiều nơi khác nhau, dễ dẫn đến sai sót. Các dạng chuẩn (1NF, 2NF, 3NF) cung cấp một bộ quy tắc để phân rã các bảng lớn thành các bảng nhỏ hơn, có cấu trúc tốt hơn. Bên cạnh đó, việc đảm bảo toàn vẹn dữ liệu thông qua các ràng buộc (constraints) như khóa chính, khóa ngoại, NOT NULL là rất cần thiết để duy trì tính chính xác của thông tin tài chính.

2.2. Tầm quan trọng của sơ đồ quan hệ thực thể ERD

Sơ đồ quan hệ thực thể (ERD) là một công cụ trực quan hóa, được sử dụng trong giai đoạn đầu của việc thiết kế cơ sở dữ liệu kế toán. ERD giúp mô tả các thực thể (ví dụ: Khách hàng, Sản phẩm, Hóa đơn), các thuộc tính của chúng (ví dụ: Tên khách hàng, Mã sản phẩm) và các mối quan hệ giữa các bảng (ví dụ: một Khách hàng có thể có nhiều Hóa đơn). Việc xây dựng một ERD chi tiết giúp xác định rõ ràng các yêu cầu dữ liệu, làm cơ sở để tạo ra các cấu trúc bảng (table), trường (field), và thiết lập các khóa chínhkhóa ngoại một cách chính xác. Một sơ đồ ERD tốt sẽ giúp hệ thống dễ hiểu, dễ mở rộng và giảm thiểu rủi ro sai sót trong quá trình phát triển và vận hành hệ thống thông tin kế toán.

III. Hướng dẫn định nghĩa và điều khiển dữ liệu kế toán DDL DCL

Ngôn ngữ Định nghĩa Dữ liệu (DDL) và Ngôn ngữ Điều khiển Dữ liệu (DCL) là hai thành phần quan trọng của SQL, cho phép quản trị viên CSDL tạo và quản lý cấu trúc cũng như quyền truy cập vào dữ liệu kế toán. Các lệnh DDL như CREATE, ALTER, DROP được sử dụng để định nghĩa các đối tượng CSDL. Ví dụ, câu lệnh CREATE TABLE dùng để tạo ra một bảng (table) mới, xác định các trường (field) và kiểu dữ liệu của chúng, đồng thời chỉ định khóa chính (primary key) để đảm bảo mỗi bản ghi (record) là duy nhất. Theo tài liệu tham khảo, câu lệnh CREATE TABLE Nhanvien (manv int primary key, tennv nvarchar(50), diachi nvarchar(50)) là một ví dụ điển hình về việc tạo bảng Nhân viên. Trong khi đó, các lệnh DCL như GRANT, REVOKE, DENY đóng vai trò thiết yếu trong việc bảo mật hệ thống thông tin kế toán bằng cách cấp hoặc thu hồi quyền truy cập của người dùng trên các đối tượng dữ liệu, đảm bảo rằng chỉ những người có thẩm quyền mới có thể xem hoặc sửa đổi thông tin tài chính nhạy cảm.

3.1. Kỹ thuật tạo và chỉnh sửa cấu trúc bảng với DDL

Các lệnh DDL là công cụ nền tảng để xây dựng nên cấu trúc của một cơ sở dữ liệu kế toán. Lệnh CREATE TABLE cho phép định nghĩa một bảng mới với các cột, kiểu dữ liệu và các ràng buộc. Lệnh ALTER TABLE cung cấp sự linh hoạt để sửa đổi cấu trúc của một bảng đã tồn tại, ví dụ như thêm một cột mới (ALTER TABLE Nhanvien ADD ghichu nvarchar(50)), thay đổi kiểu dữ liệu của một cột hoặc thêm/xóa các ràng buộc. Cuối cùng, lệnh DROP TABLE được dùng để xóa hoàn toàn một bảng và toàn bộ dữ liệu bên trong nó. Cần lưu ý rằng lệnh DROP khác với lệnh DELETE; DELETE chỉ xóa các bản ghi trong khi DROP xóa cả cấu trúc bảng. Nắm vững các lệnh này là bước đầu tiên trong việc làm chủ hệ quản trị CSDL.

3.2. Phương pháp kiểm soát nội bộ trong HTTTKT qua DCL

Kiểm soát nội bộ trong HTTTKT một phần được thực thi thông qua việc quản lý quyền truy cập dữ liệu. Các lệnh DCL trong SQL là công cụ hữu hiệu cho việc này. Lệnh GRANT được sử dụng để cấp các quyền cụ thể (ví dụ: SELECT, INSERT, UPDATE) trên một đối tượng (như một bảng) cho một người dùng hoặc một nhóm người dùng. Ví dụ, GRANT SELECT ON Nhanvien TO public cho phép mọi người dùng xem dữ liệu trong bảng Nhanvien. Ngược lại, lệnh DENY tường minh từ chối một quyền, trong khi REVOKE xóa bỏ một quyền đã được cấp hoặc từ chối trước đó. Việc phân quyền một cách chặt chẽ giúp ngăn chặn các truy cập trái phép, giảm thiểu rủi ro gian lận và sai sót, đảm bảo dữ liệu kế toán luôn được an toàn và đáng tin cậy.

IV. Bí quyết thao tác và truy vấn dữ liệu kế toán với DML

Ngôn ngữ Thao tác Dữ liệu (DML) là tập hợp các lệnh SQL được sử dụng thường xuyên nhất trong công việc hàng ngày của kế toán viên, giúp tương tác trực tiếp với dữ liệu. Các lệnh DML cốt lõi bao gồm SELECT, INSERT, UPDATE, và DELETE. Trong đó, SELECT là lệnh phức tạp và mạnh mẽ nhất, được dùng để thực hiện truy vấn dữ liệu (query) từ một hoặc nhiều bảng. Nó không chỉ cho phép lấy dữ liệu thô mà còn có thể thực hiện các phép tính, thống kê, gom nhóm và sắp xếp kết quả. Ví dụ, một kế toán viên có thể dùng SELECT để liệt kê tất cả các hóa đơn quá hạn hoặc tính tổng doanh thu theo từng sản phẩm. Các lệnh INSERT, UPDATE, và DELETE lần lượt được sử dụng để thêm mới một giao dịch, cập nhật thông tin khách hàng, hoặc xóa một bút toán sai. Việc thành thạo các lệnh này là chìa khóa để khai thác tối đa sức mạnh của hệ quản trị cơ sở dữ liệu phần mềm kế toán, biến dữ liệu thô thành thông tin hữu ích cho việc quản lý.

4.1. Hướng dẫn sử dụng câu lệnh SELECT để trích xuất thông tin

Câu lệnh SELECT là công cụ cơ bản để truy xuất dữ liệu. Cú pháp cơ bản của nó là SELECT danh_sách_cột FROM tên_bảng. Để lọc dữ liệu theo một điều kiện cụ thể, mệnh đề WHERE được sử dụng. Ví dụ, SELECT * FROM DanhMucHangHoa WHERE SLTonDK > 1000 sẽ lấy tất cả thông tin các mặt hàng có số lượng tồn đầu kỳ lớn hơn 1000. Mệnh đề ORDER BY dùng để sắp xếp kết quả, GROUP BY để nhóm các hàng có cùng giá trị lại với nhau, thường được sử dụng kết hợp với các hàm gộp như SUM(), AVG(), COUNT() để thực hiện các phép tính thống kê. Ngoài ra, SQL còn cung cấp các toán tử như LIKE để tìm kiếm theo mẫu, BETWEEN để kiểm tra khoảng giá trị, và IN để so sánh với một danh sách giá trị.

4.2. Cách thêm sửa xóa bản ghi kế toán INSERT UPDATE DELETE

Lệnh INSERT được dùng để thêm một hoặc nhiều bản ghi (record) mới vào một bảng (table). Cú pháp cơ bản là INSERT INTO tên_bảng (cột1, cột2) VALUES (giá_trị1, giá_trị2). Lệnh UPDATE dùng để sửa đổi dữ liệu của các bản ghi hiện có. Ví dụ, UPDATE DanhMucHangHoa SET TenHang = 'Ti vi 32 inch' WHERE MaHang = 'SP_C' sẽ cập nhật tên của một mặt hàng cụ thể. Lệnh DELETE dùng để xóa các bản ghi khỏi bảng. Ví dụ: DELETE FROM DanhMucHangHoa WHERE MaHang = 'SP_D'. Điều quan trọng cần lưu ý là các lệnh UPDATEDELETE nếu không có mệnh đề WHERE sẽ tác động lên toàn bộ bảng, có thể gây mất mát dữ liệu nghiêm trọng. Do đó, việc sử dụng mệnh đề WHERE để chỉ định chính xác các bản ghi cần thao tác là cực kỳ quan trọng.

4.3. Tìm hiểu về các hàm xử lý chuỗi số và ngày tháng trong SQL

SQL Server cung cấp một thư viện hàm phong phú để xử lý các loại dữ liệu khác nhau, giúp việc truy vấn dữ liệu trở nên linh hoạt hơn. Đối với dữ liệu chuỗi, các hàm như LEFT(), RIGHT(), SUBSTRING(), LEN(), UPPER(), LOWER() rất hữu ích trong việc trích xuất và định dạng văn bản. Với dữ liệu số, các hàm toán học như SUM(), AVG(), ROUND(), ABS() cho phép thực hiện các phép tính phức tạp. Đối với dữ liệu ngày tháng, các hàm như GETDATE(), DATEADD(), DATEDIFF(), YEAR(), MONTH(), DAY() là công cụ không thể thiếu để phân tích dữ liệu theo thời gian, ví dụ như tính tuổi nợ của các khoản phải thu hoặc lập báo cáo doanh thu theo tháng. Hiểu và vận dụng các hàm này giúp tối ưu hóa các câu truy vấn và khai thác thông tin sâu hơn từ CSDL kế toán.

V. Top ứng dụng thực tiễn SQL trong bài tập lớn HTTTKT

Lý thuyết về hệ quản trị CSDL và SQL sẽ trở nên ý nghĩa hơn khi được áp dụng vào giải quyết các vấn đề thực tiễn. Trong các bài tập lớn hệ thống thông tin kế toán, sinh viên thường được yêu cầu xây dựng một CSDL hoàn chỉnh cho một công ty giả định và thực hiện các truy vấn phức tạp để tạo ra các báo cáo quản trị. Ví dụ, một yêu cầu phổ biến là "Thống kê tổng số lượng nhập và trị giá nhập theo từng mã hàng", đòi hỏi phải sử dụng lệnh SELECT kết hợp với mệnh đề GROUP BY và hàm SUM(). Một ví dụ khác là "Hiển thị danh sách khách hàng không mua hàng trong kỳ", yêu cầu sử dụng phép nối ngoài (LEFT JOIN) để so sánh dữ liệu giữa bảng khách hàng và bảng hóa đơn. Thông qua việc giải quyết các bài tập này, người học có thể củng cố kiến thức về thiết kế cơ sở dữ liệu kế toán, các loại phép nối (JOIN), truy vấn con (subquery) và cách thức các phần mềm kế toán MISA hay FAST xử lý dữ liệu ngầm.

5.1. Kỹ thuật nối bảng JOIN để tổng hợp dữ liệu đa chiều

Trong một cơ sở dữ liệu kế toán được thiết kế tốt, dữ liệu thường được lưu trữ trong nhiều bảng khác nhau. Để tạo ra một báo cáo có ý nghĩa, việc kết hợp thông tin từ các bảng này là cần thiết. Phép nối (JOIN) trong SQL cho phép làm điều này. INNER JOIN trả về các bản ghi có giá trị khớp ở cả hai bảng, ví dụ như lấy danh sách hóa đơn cùng với tên khách hàng tương ứng. LEFT JOIN (hoặc LEFT OUTER JOIN) trả về tất cả các bản ghi từ bảng bên trái và các bản ghi khớp từ bảng bên phải. LEFT JOIN rất hữu ích để tìm các thực thể không có mối quan hệ, chẳng hạn như tìm những khách hàng chưa từng phát sinh giao dịch. RIGHT JOINFULL OUTER JOIN là các biến thể khác với chức năng tương tự. Nắm vững các loại JOIN là kỹ năng quan trọng để truy vấn thông tin phức hợp từ nhiều nguồn dữ liệu.

5.2. Tạo báo cáo động với biểu mẫu form và báo cáo report

Mặc dù SQL là công cụ mạnh mẽ để truy vấn dữ liệu, kết quả trả về thường ở dạng bảng văn bản thô. Trong các ứng dụng thực tế như Microsoft Access, dữ liệu thường được trình bày thông qua các biểu mẫu (form)báo cáo (report). Biểu mẫu cung cấp một giao diện thân thiện để người dùng nhập và xem dữ liệu cho từng bản ghi cụ thể. Báo cáo được thiết kế để trình bày, định dạng, và tóm tắt thông tin từ các câu truy vấn dữ liệu (query) phức tạp một cách chuyên nghiệp, sẵn sàng để in ấn hoặc trình chiếu. Cả biểu mẫu và báo cáo đều có thể được liên kết với các câu truy vấn SQL, cho phép tạo ra các giao diện và báo cáo động, cập nhật thông tin theo thời gian thực từ CSDL. Đây là cầu nối giữa kỹ thuật CSDL và người dùng cuối trong môi trường kế toán.

VI. Kết luận và tài liệu ôn tập hệ thống thông tin kế toán 2

Việc làm chủ hệ quản trị cơ sở dữ liệu và ngôn ngữ SQL không còn là một kỹ năng tùy chọn mà đã trở thành yêu cầu cơ bản đối với ngành kế toán trong bối cảnh chuyển đổi số. Từ việc thiết kế cơ sở dữ liệu kế toán ban đầu, chuẩn hóa dữ liệu, cho đến việc thực hiện các truy vấn dữ liệu phức tạp để phục vụ cho việc lập báo cáo và phân tích, tất cả đều đòi hỏi một sự hiểu biết sâu sắc về SQL. Chương này đã cung cấp một cái nhìn tổng quan về các nhóm lệnh DDL, DCL, và DML, đặc biệt là cú pháp và ứng dụng của câu lệnh SELECT trong việc khai thác dữ liệu. Để củng cố kiến thức, người học nên tích cực tham khảo các tài liệu ôn tập HTTTKT 2, xem lại các slide bài giảng HTTTKT và hoàn thành các bài tập lớn hệ thống thông tin kế toán. Sự thành thạo trong lĩnh vực này sẽ mở ra nhiều cơ hội phát triển nghề nghiệp, từ kế toán viên, kiểm toán viên đến chuyên gia phân tích dữ liệu tài chính.

6.1. Tóm tắt các khái niệm SQL cốt lõi cho kế toán viên

Để ứng dụng hiệu quả trong công việc, kế toán viên cần nắm vững các khái niệm SQL cốt lõi. Thứ nhất là cấu trúc CSDL quan hệ, bao gồm bảng (table), trường (field), bản ghi (record), khóa chính (primary key)khóa ngoại (foreign key). Thứ hai là ba nhóm lệnh chính: DDL để tạo và quản lý cấu trúc, DCL để quản lý bảo mật và DML để thao tác dữ liệu. Đặc biệt, câu lệnh SELECT với các mệnh đề FROM, WHERE, GROUP BY, HAVING, ORDER BY và các phép JOIN là công cụ quan trọng nhất để trích xuất thông tin. Cuối cùng, việc hiểu biết về các hàm tính toán, xử lý chuỗi và ngày tháng sẽ giúp tối ưu hóa quá trình phân tích dữ liệu tài chính.

6.2. Hướng phát triển tương lai của CSDL trong ngành kế toán

Tương lai của CSDL trong ngành kế toán đang hướng tới các hệ thống thông minh hơn, tích hợp sâu hơn với trí tuệ nhân tạo (AI) và học máy (Machine Learning). Các CSDL trên nền tảng đám mây (Cloud Databases) đang trở nên phổ biến, cho phép truy cập dữ liệu mọi lúc mọi nơi và khả năng mở rộng linh hoạt. Các công nghệ như NoSQL và cơ sở dữ liệu đồ thị (Graph Databases) cũng bắt đầu được khám phá để phân tích các mối quan hệ tài chính phức tạp, chẳng hạn như phát hiện gian lận. Kế toán viên trong tương lai không chỉ cần biết SQL cho kế toán mà còn cần có kiến thức về khoa học dữ liệu để có thể khai thác và diễn giải những thông tin giá trị từ các tập dữ liệu ngày càng lớn và phức tạp.

19/08/2025

Trích đoạn nội dung tài liệu

Chương 1. create TABLE Nhanuien ( manv int primary key, tennv nvarchar(50) not null, diachi nvarchar(50) not null ) Để chạy câu lệnh SQL trên, mở một Query Editor, copy câu lệnh vào Query Editor, bôi đen toàn bộ câu lệnh và bấm F5. Tiếp theo, dùng lệnh alter để thay đổi cấu trúc bảng Nhanvien.Cụ thể là một thêm một cột mới có tên ghichu vào bảng Nhanvien. alter TABLE Nhanvien add ghichu nvarchar(50) not null Cuối cùng, dùng lệnh drop để xóa hoàn toàn bảng Nhanvien ra khỏi CSDL, nghĩa là toàn bộ định nghĩa bảng và các dữ liệu bên trong đều bị xóa.

Chương 6: Truy vấn xử lý dữ liệu drop TABLE Nhanvien Lưu ý: Lệnh drop khác với lénh delete. Lệnh delete chỉ xóa các dòng dữ liệu có trong bảng.6 Ngôn ngữ điều khiển dữ liệu (tham khảo) Đây là các lệnh quản lý quyền truy cập lên các đối tượng (TABLE, view, storedprocedure. Bao gồm: Grant Deny Revoke Vi du: Lệnh grant sẽ cấp quyền Select trên bảng Nhanvien trong CSDL Test cho các Users thuộc Role public grant select on nhanvien to public Sau khi thực hiên lệnh này, có Users trong Role public cd thể thực hiện câu lệnh Select trên bảng Nhanvien trong CSDL Test. Dung lénh deny dé tir chdi quyền select trên bang Nhanvien trong CSDL Test của các Users thuộc Role public deny select on nhanvien to public Sau khi thực hiện lệnh nay, cé Users trong Role public sé khong thể thực hiện câu lệnh Select trên bảng Nhanvien trong CSDL Test.

Dùng lệnh revoke để xóa bỏ các quyền được cấp hay từ chối trước đó. revoke select on nhanvien to public 3 „ Pháo trình bệ thông thông tỉn kế toáu:— PhẩnJT Sau khi thực hiện lệnh này, các quyền được gán hay từ chối của Users trong Role public trên bảng Nhanvien trong CSDL Test sẽ được “xóa” hoàn toàn.7 Ngôn ngữ thao tác dữ liệu SQL được xem như là công cụ hữu hiệu để thực hiện các yêu cầu truy vấn và thao tác trên dữ liệu. Trong chương này, ta sẽ bàn luận đến nhóm các câu lệnh trong SQL được sử dụng cho mục đích này. Nhóm các câu lệnh này được gọi chung là ngôn ngữ thao tác dữ liệu (DML: Data Manipulation Language) bao gồm các câu lệnh sau: SELECT: Sử dụng để truy xuất dữ liệu từ một hoặc nhiều bảng.

INSERT: Thêm dữ liệu. UPDATE: Cập nhật dữ liệu DELETE: Xóa dữ liệu Trong số các câu lệnh này, có thể nói SELECT là câu lệnh tương đối phức tạp vàđược sử dụng nhiều trong cơ sở dữ liệu. Với câu lệnh này, ta không chỉ thực hiện các yêu cầu truy xuất đữ liệu đơn thuần mà còn có thể thực hiện được các yêu cầu thống kê đữ liệu phức tạp. Ví dụ: Câu lệnh sau sẽ lọc ra các nhân viên có tên bắt đầu bằng chữ A trong bảng Nhanvien.

select * from Nhanvien as nv where nv.tennv like A%” Dấu * hàm ý là lựa chọn tất cả các cột của bang Nhanvien.1 Cú pháp câu lệnh SELECT Câu lệnh SELECT được sử dụng để truy xuất dữ liệu từ các đòng và các cột của một hay nhiều bảng, khung nhìn (view). Câu lệnh này có thể dùng để thực hiện phép chọn (tức là truy xuất một tập con các dòng trong một hay nhiều bảng), phép chiếu (tức là truy xuất một tập con các cột trong một hay nhiều bảng) và phép nối (tức là liên kết các dòng trong hai hay nhiều bảng để truy xuất dữ liệu). Ngoài ra, câu lệnh này còn cung cấp khả năng thực hiện các thao tác truy vấn và thống kê dữ liệu phức tạp khác. Chương6: Truy vấn xử lý dữ liệu Cú pháp chung của câu lệnh SELECT có dạng: SELECT [ALL | DISTINCT]ITOP n] danh_sách_chọn [INTO tên_bảng_ mới] FROM danh_sdch_bang/khung_nhin [WHERE diéu_kién] [GROUP BY danh_sdch_cét] [HAVING điều_kiện] [ORDER BY c6t_sitp_xép] [COMPUTE danh_sdch_ham_gé6p [BY danh_sách_cột]] * Lưu ý: Các thành phần trong câu lệnh SELECT nếu được sử dụng phải tuân theo đúng thứ tự như trong cú pháp.

Nếu không, câu lệnh sẽ được xem là không hợp lệ. Nhấn F5 hoặc uào Query!Execute để chạu câu truy uấn. * Danh_sách_chọn: Danh sách chọn trong câu lệnh SELECT được sử dụng để chỉ định các trường, các biểu thức cần hiển thị trong các cột của kết quả truy vấn. Các trường, các biểu thức được chỉ định ngay sau từ khóa SELECT và phân cách nhau bởi dấu phẩy.

Nếu chọn tất cả các trường thì dùng dấu *. Ví dụ 1: Lấy tất cả thông tin của khách hàng Select * from DanhMucKhachHang Vi du 2: Chi lay ho tén va dia chỉ khách hàng Select hoten, diachi from DanhMucKhachHang e Thay đổi tiêu đề các cột: Trong kết quả truy vấn, tiêu đề của các cột mặc định sẽ là tên của các trường tương ứng trong bảng. Tuy nhiên, để các tiêu đề trở nên thân thiện hơn, ta có thể đổi tên các tiêu đề của các cột. Để đặt tiêu đề cho một cột nào đó, ta sử dụng cách viết: 336 _ _Giéo trinh hé théng théng tin ké toan - Phan IT [tiêu_đề_ cột] = tên_trường hoặc tên_trường AS [tiêu_đề _cột] Ví dụ: Select [Ma hang] = MaHang, TenHangAS [Tén hang] from DanhMucHangHoa e Loại bỏ các dòng dữ liệu trùng nhau: Từ khóa DISTINCT sẽ loại bỏ các dòng dữ liệu giống nhau.

Vi du: Có hai khách hàng có tên Công ty ABC. Nếu ta chỉ truy vấn tên khách hàng, để loại bỏ sự trùng lắp ta dùng từ khóa DISTINCT. select distinctTenKH from DanhMucKH_NCC * Mệnh dé FROM (bat buộc phải có): trong câu lệnh SELECT được sử dụng nhằm chỉ định các bảng và khung nhìn cần truy xuất dữ liệu. Sau FROM là danh sách tên của các bảng và khung nhìn tham gia vào truy vấn, tên của các bảng và khung nhìn được phân cách nhau bởi dấu phẩy.

Ví dụ: Câu lệnh sau hiển thị toàn bộ thông tin hàng hóa có trong bảng DanhMucHangHoa. Select * from DanhMucHangHoa .* Mệnh đề WHERE (có thể không có): trong câu lệnh select được sử dụng, nhằm xác định các điều kiện đối với việc truy xuất dữ liệu. Sau mệnh đề WHERE là một biểu thức logic và chỉ những dòng dữ liệu nào thỏa mãn điều kiện được chỉ định mới được hiển thị trong kết quả truy vấn. Vi du: Lọc ra thông tin các mặt hàng có số lượng tồn đầu kỳ > 1000 Select * From DanhMucHangHoa Where SLTonDK>1000 Trong mệnh đề WHERE thường sử dụng: ~ Các toán tử kết hợp điều kiện (AND, OR) ¬ Các toán tử so sánh Chương G Truy vấn xử lý dữ.

337 Toán tử Ý nghĩa = Bằng > Lớn hơn < Nhỏ hơn >= _ |Lớnhơn hoặc bằng <= Nhỏ hơn hoặc bằng > Khác > Không lớn hơn I< Không nhỏ hơn — Kiểm tra giới hạn của dữ liệu (BETWEEN/ NOT BETWEEN) Để kiểm tra xem giá trị dữ liệu nằm trong (ngoài) một khoảng nào đó, ta sử dụng toán tử BETWEEN/ NOT BETWEEN như sau: Mệnh đề Ý nghĩa xBETWEEN aANDb a<=x<=b x NOT BETWEEN a AND b x<a hoặc x>b Vi du: Lọc lấy danh sách các mặt hàng có số lượng tồn đầu kỳ trong khoảng 1000 — 5000. Select MaHang, TenHang, DVT, SLTonDK, TienTonDK From DanhMucHangHoa Where SLTonDK BETWEEN 1000 and 5000 ~ Toán tử làm việc trên tập hợp (IN/ NOT IN) Từ khóa IN/NOTN được sử dụng khi ta cần chỉ định điều kiện tìm kiếm dữ liệu cho câu lệnh SELECT là một danh sách các giá tri. Sau IN/ NOT IN cé thé 1a một danh sách các giá trị hoặc là một câu lệnh SELECT khác. 338 Giáo trình hệ thống thông tin kế toán - Phần II Vi du: Cau lệnh dưới đây lấy ra các thông tin của khách hàng có mã là KHOI, KH02 hoặc KH04.

Select * From DanhMucKH_NCC Where MaKH in (‘KHO1’, ‘KH02’, ‘KH04’) — Toan tir LIKE/ NOT LIKE và ký tự đại diện Từ khóa LIKE (NOT LIKE) sử dụng trong câu lệnh SELECT nhằm mô tả khuôn dạng của dữ liệu cần tìm kiếm. Chúng thường được kết hợp với các ký tự đại diện sau đây. Ký tự đại diện Ý nghĩa % Chuỗi ký tự bất kỳ có chiều dài bất kỳ “ Một ký tự bất kỳ 0 Một ký tự nằm trong giới hạn đượcchỉ định. Ví dụ: [a-f] ham ý chỉ một trong các ký tự: a, b, c, d, e, f.

f1 Một ký tự không nằm trong giới hạn được chỉ định. Ví dụ: [ˆ^a-f] hàm ý chỉ một ký tự khác tất cả các ký tự: a, b, c, d, e, £. Vi dụ: Lọc lấy ra các mặt hàng có tên bắt đầu bằng “Sách” Select * From DanhMucHangHoa Where TenHang like ‘Sdch%’ Thứ tự ưu tiên của các toán tử từ cao xuống thấp sẽ là: + (Dương), - (âm), ~ V * (Nhân), ! (Chia), % (Lấy phần du) VV + (Cộng), + (Nối chuỗi), - (Trừ) Các toán tử so sánh VV Các toán tử đảo bit (nhị phân) NOT VV AND Chương 6: Truy vấn xử lý dữ liệu _339 > ALL, ANY, BETWEEN, IN, LIKE, OR, SOME > = (Phép gan) * Cac ham trong SQL Server 2008 CAC HAM XU LY CHUOI Tén ham Tac dung CHARINDEX | Xác định vị trí bắt đầu của 1 nhóm chuỗi trong một chuỗi LEFT Lấy bên trái của 1 chuỗi n ký tự LEN Lấy độ dài của 1 chuỗi LOWER Chuyển từ chữ hoa sang chữ thường LTRIM Bỏ khoảng trống đầu chuỗi RTRIM Bỏ khoảng trống cuối chuỗi REPLACE Thay thế ký tự trong chuỗi bằng ký tự khác REVERSE Đảo chuỗi ký tự RIGHT Lấy bên phải một chuỗi ký tự SUBSTRING | Lấy một số ký tự trong chuỗi UPPER Chuyển từ chữ thường sang chữ hoa * HÀM CHARINDEX: Trả về vị trí bắt đầu của một chuỗi ký tự trong một chuỗi ký tự cho trước. CÚ PHÁP: CHARINDEX (chuỗi cần xác định vị trí, chuỗi cho trước, vị trí bắt đầu tìm) Ví dụ: tìm vị trí bắt đầu của chuỗi DH trong chuỗi “Lớp DHKT3TC’ SELECT CHARINDEX (‘DH’, N'Lớp DHKT3TC') * HAM LEFT | RIGHT: Lay n ky tur bat dau tir dau bén trail phai cia chudi.

Sido trinh hé théng thong tin ké toan ~ PhanIT CU PHAP: LEFT | RIGHT (chudi can lấy, số ký tự cần lấy) Vi du: Lấy chữ Lớp trong chudi ‘Lép DHKT3TC’ SELECT LEFT (N’Lop DHKT3TC’,3) Lấy chữ TC trong chuỗi ‘Lop DHKT3TC’ SELECT RIGHT (N'Lớp DHKT3TC’,2) * HÀM SUBSTRING: Lấy n ký tự bắt đầu từ vị trí bất kỳ của chuỗi. CÚ PHÁP: SUBSTRING (chuỗi cần lấy, vị trí ký tự đầu tiên, số ký tự cần lấy) Vi du: Lấy chữ DH trong chuỗi “Lớp DHKT3TC' SELECT SUBSTRING (N'Lớp DHKT3TC 5,2) * HÀM LEN: Trả về độ dài của chuỗi CÚ PHÁP: LEN(chuỗi cần tìm độ dài) Ví dụ: Tìm độ dài của chuỗi ‘Lop DHKT3TC’ SELECT LEN (N’L6p DHKT3TC’) * HAM UPPER! LOWER: déi mét chuỗi từ chữ thường | hoa sang chữ hoa | thường CÚ PHÁP: UPPERI LOWER (chuỗi cần đổi) Vi dụ: đổi chuỗi Lớp DHKT3TC' sang chữ hoa SELECT UPPER (N'Lớp DHKT3TC') đổi chuỗi Lớp DHKT3TC: sang chữ thường SELECT LOWER(N'Lớp DHKT3TC’) * HÀM REPLACE: thay thế các ký tự cũ bằng các ký tự mới trong một chuỗi ký tự.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ