Mục lục:
- Xác minh cấu trúc cơ sở dữ liệu
- Tạo một cơ sở dữ liệu thử nghiệm có cùng cấu trúc với cơ sở dữ liệu sản xuất của bạn, nhưng chỉ với một vài hàng đại diện trong các bảng. Chọn dữ liệu để bạn biết trước những gì các kết quả của các truy vấn của bạn nên được.
- Sự liên kết là nổi tiếng là phản trực giác. Nếu truy vấn của bạn có chứa một, hãy đảm bảo rằng nó đang làm những gì bạn mong đợi trước khi bạn thêm mệnh đề WHERE hoặc các yếu tố phức tạp khác.
- Nói rằng bạn có một bảng (quốc gia) có chứa tên (Người chơi), Đội (Đội) và Số lần chạy nhà của người chơi bóng chày ở Liên đoàn Quốc gia (Homers) . Bạn có thể lấy lại tổng số các đội cho tất cả các đội với một câu hỏi như sau:
- Truy vấn này liệt kê từng đội, tiếp theo là tổng số cú đánh của nhà do tất cả cầu thủ của đội đó đánh.
- Trong hầu hết các triển khai, truy vấn này trả về một lỗi. Nói chung, chỉ các cột được sử dụng cho nhóm hoặc cột được sử dụng trong một chức năng được đặt có thể xuất hiện trong danh sách lựa chọn. Tuy nhiên, nếu bạn muốn xem dữ liệu này, các công thức sau đây:
- Kiểm soát quyền truy xuất
- Cảnh báo understatement: Dữ liệu khó lấy lại sau khi điện tăng, lửa, động đất hoặc một số thiên tai khác phá hủy ổ cứng của bạn. (Hãy nhớ, đôi khi máy tính chỉ chết vì không có lý do chính đáng.) Thực hiện sao lưu thường xuyên và đặt các phương tiện sao lưu vào một nơi an toàn.
- Xử lý các điều kiện lỗi một cách duyên dáng
Video: [Khóa học sử dụng SQL server] - Bài 10: Tìm kiếm gần đúng| HowKteam 2025
Câu lệnh SQL SELECT là công cụ của bạn để khai thác thông tin ẩn trong cơ sở dữ liệu. Ngay cả khi bạn có một ý tưởng rõ ràng về những gì bạn muốn truy xuất, việc dịch ý tưởng đó sang SQL có thể là một thách thức. Nếu công thức của bạn chỉ là một chút đi, bạn có thể kết thúc với những kết quả sai. Để giảm nguy cơ bị lừa, hãy sử dụng mười nguyên tắc sau đây
Xác minh cấu trúc cơ sở dữ liệu
Nếu bạn lấy dữ liệu từ cơ sở dữ liệu và kết quả của bạn không hợp lý, hãy kiểm tra thiết kế cơ sở dữ liệu. Nhiều cơ sở dữ liệu được thiết kế kém được sử dụng và nếu bạn đang làm việc với một thiết bị, hãy sửa thiết kế trước khi bạn thử bất kỳ biện pháp khắc phục nào khác. Hãy nhớ rằng - thiết kế tốt là một điều kiện tiên quyết của tính toàn vẹn dữ liệu.
Tạo một cơ sở dữ liệu thử nghiệm có cùng cấu trúc với cơ sở dữ liệu sản xuất của bạn, nhưng chỉ với một vài hàng đại diện trong các bảng. Chọn dữ liệu để bạn biết trước những gì các kết quả của các truy vấn của bạn nên được.
Chạy từng truy vấn kiểm tra trên dữ liệu thử nghiệm và xem kết quả có phù hợp với mong đợi của bạn hay không. Nếu không, bạn có thể cần phải định hình lại các truy vấn của mình. Nếu truy vấn được xây dựng đúng nhưng bạn kết thúc với kết quả tồi tệ như nhau, bạn có thể cần phải cơ cấu lại cơ sở dữ liệu của mình.
Kiểm tra lại các truy vấn bao gồm các liên kết
Sự liên kết là nổi tiếng là phản trực giác. Nếu truy vấn của bạn có chứa một, hãy đảm bảo rằng nó đang làm những gì bạn mong đợi trước khi bạn thêm mệnh đề WHERE hoặc các yếu tố phức tạp khác.
Nói rằng bạn có một bảng (quốc gia) có chứa tên (Người chơi), Đội (Đội) và Số lần chạy nhà của người chơi bóng chày ở Liên đoàn Quốc gia (Homers). Bạn có thể lấy lại tổng số các đội cho tất cả các đội với một câu hỏi như sau:
SELECT Team, SUM (Homers) T FROM NHÓM THEO NHÓM;
Truy vấn này liệt kê từng đội, tiếp theo là tổng số cú đánh của nhà do tất cả cầu thủ của đội đó đánh.
Hạn ngạch theo mệnh đề GROUP BY
Giả sử bạn muốn có một danh sách các nhà sản xuất điện của National League. Hãy xem xét truy vấn sau:
SELECT Player, Team, Homers T FROM T FROM QUỐC GÌ Ở ĐÂU> Homers> = 20 GROUP BY Team;
Trong hầu hết các triển khai, truy vấn này trả về một lỗi. Nói chung, chỉ các cột được sử dụng cho nhóm hoặc cột được sử dụng trong một chức năng được đặt có thể xuất hiện trong danh sách lựa chọn. Tuy nhiên, nếu bạn muốn xem dữ liệu này, các công thức sau đây:
SELECT Player, Team, Homers T FROM T FROM QUỐC GIA Ở ĐÂU Homers> = 20 GROUP BY Team, Player, Homers;
Vì tất cả các cột bạn muốn hiển thị xuất hiện trong mệnh đề GROUP BY, truy vấn thành công và mang lại kết quả mong muốn. Công thức này sắp xếp danh sách kết quả đầu tiên bởi Team, sau đó là Player, và cuối cùng là của Homers.
Sử dụng dấu ngoặc đơn với AND, OR, và NOT
Đôi khi khi bạn kết hợp AND và OR, SQL không xử lý biểu thức theo thứ tự bạn mong đợi. Sử dụng dấu ngoặc đơn trong các biểu thức phức tạp để đảm bảo rằng bạn nhận được kết quả mong muốn. Gõ một vài cú nhấn phím là một mức giá nhỏ để trả cho kết quả tốt hơn.
Dấu ngoặc cũng giúp đảm bảo rằng từ NOT được áp dụng cho thuật ngữ hoặc biểu thức mà bạn muốn nó được áp dụng.
Kiểm soát quyền truy xuất
Nhiều người không sử dụng các tính năng bảo mật có sẵn trong DBMS của họ. Họ không muốn bận tâm với họ vì họ nghĩ rằng lạm dụng và chiếm dụng dữ liệu là những điều chỉ xảy ra với người khác. Đừng chờ đợi để có được đốt cháy. Thiết lập và duy trì bảo mật cho tất cả các cơ sở dữ liệu có giá trị.
Sao lưu cơ sở dữ liệu của bạn thường xuyên
Cảnh báo understatement: Dữ liệu khó lấy lại sau khi điện tăng, lửa, động đất hoặc một số thiên tai khác phá hủy ổ cứng của bạn. (Hãy nhớ, đôi khi máy tính chỉ chết vì không có lý do chính đáng.) Thực hiện sao lưu thường xuyên và đặt các phương tiện sao lưu vào một nơi an toàn.
Những gì tạo thành một nơi an toàn phụ thuộc vào mức độ quan trọng của dữ liệu. Nó có thể là một két an toàn không cháy trong cùng một phòng với máy tính của bạn. Nó có thể ở một tòa nhà khác. Nó có thể là trong đám mây. Nó có thể nằm trong một cái hầm bê tông dưới một ngọn núi đã bị cứng lại để chống được một cuộc tấn công hạt nhân. Quyết định mức độ an toàn nào phù hợp với dữ liệu của bạn.
Xử lý các điều kiện lỗi một cách duyên dáng
Cho dù bạn đang tạo các truy vấn ngẫu nhiên từ máy trạm hoặc nhúng các truy vấn trong một ứng dụng, đôi khi SQL trả về thông báo lỗi hơn là kết quả mong muốn. Tại một trạm làm việc, bạn có thể quyết định làm gì tiếp theo, dựa vào thông điệp trả về.
Trong một ứng dụng, tình huống là khác nhau. Người sử dụng ứng dụng có thể không biết hành động nào là thích hợp. Lỗi xử lý lỗi rộng rãi trong các ứng dụng của bạn để bao gồm mọi lỗi có thể xảy ra. Tạo mã xử lý lỗi cần rất nhiều nỗ lực, nhưng tốt hơn là người dùng nhìn chầm chọc vào màn hình bị đông cứng.