Bài giảng Hệ quản trị cơ sở dữ liệu - Bài 3: Truy vấn cơ sở dữ liệu
Mục tiêu:
Các đặt điểm của mô hình client – server
Xác định dữ liệu vào của câu truy vấn
Lên kế hoạch và tạo định dạng cho kết quả của câu truy vấn
Dùng câu lệnh Select với tóan tử quan hệ
Dùng câu lệnh Select với tóan tử luận lý
Dùng câu lệnh Select với toán tử so sánh phần tử trong miền trị
Dùng câu lệnh Select với toán tử so sánh phần tử với danh sách
Dùng các hàm nhóm
Dùng mệnh đề group by
Bài 3: Truy vấn cơ sở dữ liệuMục tiêu: Các đặt điểm của mô hình client – server Xác định dữ liệu vào của câu truy vấn Lên kế hoạch và tạo định dạng cho kết quả của câu truy vấnDùng câu lệnh Select với tóan tử quan hệDùng câu lệnh Select với tóan tử luận lýDùng câu lệnh Select với toán tử so sánh phần tử trong miền trịDùng câu lệnh Select với toán tử so sánh phần tử với danh sáchDùng các hàm nhóm Dùng mệnh đề group by1 Truy vấn cơ sở dữ liệuĐặt điểm của mô hình client – serverTrong mô hình Client – Server (Mô hình khách – chủ) chức năng của ứng dụng được chia làm 2 quá trình: quá trình client và quá trình server.Quá trình client xử lý dữ liệu nhập và giao diện người dùng Quá trình server thực hiện tất cả những tác vụ liên quan về dữ liệu như lưu trữ, truy vấn dữ liệu.2 Truy vấn cơ sở dữ liệuƯu điểm của mô hình client – serverChia sẽ dữ liệu: Dữ liệu được lưu trữ tập trung tại một máy chủ và được dùng chung cho toàn bộ người dùng của hệ thống này.Giảm thiểu được sự dư thừa dữ liệu và thời gian bảo trì: Vì dữ liệu được lưu trữ tập trung nên việc bảo trì rất dễ dàng và không có dư thừa dữ liệu nên hạn chế tối đa việc không nhất quán của cơ sở dữ liệu được lưu trữ.3 Truy vấn cơ sở dữ liệuGiới thiệu Microsoft SQL ServerMS SQL Server được Microsoft hiện thực dựa trên mô hình client – server.MS SQL Server cung cấp rất nhiều đặt điểm cần thiết để quản lý dữ liệu. Các đặt điểm nổi bậc là:Hỗ trợ cơ chế truy xuất dữ liệu từ web.Dễ dàng mở rộng và nâng cấp khi dữ liệu cần lưu trữ lớn.Có độ tin cậy cao.Dễ dùng do đó thời gian phát triển ứng dụng sẽ được rút ngắn.4 Truy vấn cơ sở dữ liệuGiới thiệu về SQL Server (tiếp theo)SQL Server cung cấp ngôn ngữ để truy xuất và quản lý dữ liệu được lưu trữ trong SQL Server. Ngôn ngữ này được gọi là Ngôn Ngữ truy vấn có cấu trúc (Structured Query Language - SQL)MS SQL Server còn cung cấp thêm các chức năng mở rộng của ngôn ngữ SQL gọi là ngôn ngữ T-SQL (Transact SQL).Các kiểu dữ liệu trong SQL Server: SQL Server lưu giữ dữ liệu thuộc nhiều kiểu khác nhau: kiểu ký tự, kiểu số, kiểu tiền tệ, kiểu ngày tháng5 Truy vấn cơ sở dữ liệuTruy vấn dữ liệu hiển thị một số cột trong bảngVí dụ minh họa: Các thông tin chi tiết về tuyển dụng được lưu trữ trên cơ sở dữ liệu RECRUITMENT trong SQL Server. Các bảng chứa các thông tin về ứng viên, về bằng cấp, địa chỉ liên lạc, thông tin về vị trí công việc cần tuyển dụng, và các thông tin khác được yêu cầu bởi nhân viên tuyển dụng. Hãy tạo ra một báo cáo bao gồm tên, thành phố, và số điện thoại của các ứng viên bên ngòai công ty. Chú ý: cơ sở dữ liệu này có thể download trên trang www.niit-vn.com6 Truy vấn cơ sở dữ liệuCác bước để truy vấn dữ liệuXác định cấu trúc của kết quả câu lệnh truy vấnViết câu truy vấnThực thi câu truy vấnKiểm tra kết quả câu truy vấn 7 Truy vấn cơ sở dữ liệuCác bước để truy vấn dữ liệu (tiếp theo)Xác định cấu trúc của kết quả câu lệnh truy vấn8 Truy vấn cơ sở dữ liệuCác bước để truy vấn dữ liệu (tiếp theo)Viết câu truy vấn: Câu lệnh SQL để truy vấn dữ liệu có cú pháp như sau:SELECT [ALL | DISTINCT] select_column_list [INTO [new_table_name]] [FROM {table_name | view_name}[(optimizer_hints)] [[,{table_name2 | view_name2}[(optimizer_hints)][WHERE clause] [GROUP BY clause] [HAVING clause] [ORDER BY clause] [COMPUTE clause] 9 Truy vấn cơ sở dữ liệuCác bước để truy vấn dữ liệu (tiếp theo)Viết câu truy vấn:SELECT vFirstName, vLastName, cCity, cPhone FROM ExternalCandidateChạy câu lệnh truy vấn: demo trên SQL Server.Kiểm tra lại kết quả.10 Truy vấn cơ sở dữ liệuHiển thị tên cột thân thiệnVí dụ minh họa: Viết câu query hiển thị tên của nhà tuyển dụng và mức phí để thuê nhà tuyển dụng này làm việc.Kết quả của câu truy vấn này như sau:11 Truy vấn cơ sở dữ liệuHiển thị tên cột thân thiệnTrong yêu cầu trên, kết quả của câu truy vấn dữ liệu có hiển thị tên cột của bảng ở dạng thân thiện với người dùng.Có hai cách để hiển thị dữ liệu ở dạng thân thiện:Cách 1: SELECT column_heading=column_name[,column name] FROM table_nameMethod 2: SELECT column_name column_heading [,column_name] FROM table_name12 Truy vấn cơ sở dữ liệuHiển thị tên cột thân thiệnViết câu truy vấn yêu cầu theo hai cách đã học:Cách 1: SELECT 'Recruiter Name' = cName, 'Hire Charge' = siPercentageCharge FROM ContractRecruiterMethod 2: SELECT cName 'Recruiter Name', siPercentageCharge 'Hire Charge' FROM ContractRecruiterDemo câu truy vấn13 Truy vấn cơ sở dữ liệuHiển thị một số dòng trong bảngViết câu truy vấn hiển thị danh sách các trường Đại Học và Cao Đẳng trong bang California.Kết quả của câu truy dạng như sau:14 Truy vấn cơ sở dữ liệuHiển thị một số dòng trong bảngĐể giới hạn các dòng trả về trong SQL Server sử dụng câu lệnh Select From Where. Câu lệnh này có cấu trúc như sau:SELECT column_listFROM table_nameWHERE search_conditionTrong đó chỉ có những dòng thỏa mãn điều kiện search_condition thì mới được trả về.Câu truy vấn được viết:SELECT * FROM CollegeWHERE cState = 'California'Demo câu truy vấn15 Truy vấn cơ sở dữ liệuCác toán tử dùng trong mệnh đề WhereTrong SQL Server, điều kiện tìm kiếm trong mệnh đề WHERE có thể dùng các toán tử như sau:Toán tử quan hệ: >, =, =80 AND siTestScore 4000019 Truy vấn cơ sở dữ liệuToán tử trong so sánh trong miền trịToán tử so sánh trong miền trị có hai toán tử: BETWEEN và NOT BETWEEN.Toán tử trong so sánh trong miền trị được dùng trong mệnh đề Where theo cú pháp như sau:SELECT column_list FROM table_nameWHERE expression1 range_operator expression2 AND expression3Ví dụ hiển thị mã các nhân viên có thu nhập hàng năm trong khỏang 30.000 đến 40.000 select cEmployeeCode from AnnualSalary where mAnnualSalary between 30000 and 4000020 Truy vấn cơ sở dữ liệuToán tử trong so sánh phần tử với danh sáchToán tử so sánh phần tử với danh sách có hai toán tử: IN và NOT IN.Toán tử so sánh phần tử với danh sách có cú pháp như sau:SELECT column_list FROM table_nameWHERE expression list_operator (‘value_list‘)Ví dụ: Hãy hiển thị thông tin các trường Đại học thuộc 2 bang New York và Texas: select * from college where cState in ('New York', 'Texas')21 Truy vấn cơ sở dữ liệuSử dụng các hàm nhóm trong SQLYêu cầu: Viết câu truy vấn cho biết số lượng các báo đã từng quảng cáo tuyển dụng cho công ty.SQL hỗ trợ các hàm tương tác với một tập hợp các giá trị trả về của một cột. Các hàm này được gọi là hàm nhóm.Có một số các hàm nhóm như sau: AVG, SUM, COUNT, MAX, MIN.Câu truy vấn dùng hàm count:SELECT 'No.Of Newspapers' = COUNT (cNewspaperCode)FROM Newspaper22 Truy vấn cơ sở dữ liệuChia kết quả trả về thành nhómYêu cầu: Viết câu truy vấn cho biết số lần quảng cáo trên mỗi tờ báo?SQL hỗ trợ chia kết quả ra làm nhiều nhóm nhỏ bằng mệnh đề group by.Mệnh đề group by được sử dụng như sau:SELECT 'Newspaper Code' = cNewspaperCode,'No. Of Advts. Placed' = COUNT(cNewspaperCode)FROM NewsAdGROUP BY cNewspaperCode23 Truy vấn cơ sở dữ liệuTóm tắtTrong bài này bạn đã được học: Các đặt điểm của mô hình client – server Xác định dữ liệu vào của câu truy vấn Lên kế hoạch và tạo định dạng cho kết quả của câu truy vấnDùng câu lệnh Select với tóan tử quan hệDùng câu lệnh Select với tóan tử luận lýDùng câu lệnh Select với toán tử so sánh phần tử trong miền trịDùng câu lệnh Select với toán tử so sánh phần tử với danh sáchDùng các hàm nhómDùng mệnh đề group by24 Truy vấn cơ sở dữ liệuBài tậpKết nối vào database GlobalToyz.Hiển thị thông tin chi tiết của tất cả các đồ chơi trong bảng toys.Hiển thị thông tin chi tiết của tất cả những người mua hàng.Hiển thị tên, họ, và e-mail ID của tất cả người đi mua hàng.Hiển thị tên và giá của tất cả các đồ chơi.Hiển thị tên, địa chỉ, và mã vùng của tất cả những người nhận đồ chơiHiển thị họ và tên của những người mua hàng sống ở California.Hiển thị chi tiết các hóa đơn có giá trị lớn hơn 75$.Hiển thị tên của đồ chơi thuộc thể loại dolls và có giá < 20$ (HD: Dolls có mã là 002)25 Truy vấn cơ sở dữ liệu
File đính kèm:
- bai_giang_he_quan_tri_co_so_du_lieu_bai_3_truy_van_co_so_du.ppt