Xem mẫu

  1. Tập bài giảng SQL Server MỤC LỤC LỜI NÓI ĐẦU ...............................................................................................................xi Chƣơng 1. TỔNG QUAN VỀ SQL SERVER ............................................................. 1 1.1. Giới thiệu về SQL Server .................................................................................... 1 1.2. Các mô hình sử dụng trong SQL Server ........................................................... 2 1.2.1. Mô hình Client/Server ..................................................................................... 2 1.2.2. Mô hình Desktop ............................................................................................. 3 1.2.3. Mô hình SOA .................................................................................................. 4 1.3. Các tính năng mới của SQL Server 2008 .......................................................... 4 1.4. Các phiên bản của SQL Server 2008: ................................................................ 5 1.5. Cài đặt SQL Server .............................................................................................. 7 1.6. Các thành phần SQL Server ............................................................................. 14 1.6.1. Thành phần Server ........................................................................................ 14 1.6.2. Thành phần Client ......................................................................................... 15 1.6.3. Các công cụ đồ họa ....................................................................................... 15 1.7. Quản lý các dịch vụ SQL server ....................................................................... 16 1.7.1. Dịch vụ SQL Server Configuration Manager .............................................. 16 1.7.2. Sử dụng SQL Server Management Studio .................................................... 16 1.8. Giới thiệu về SQL server 2012 .......................................................................... 18 Chƣơng 2. NGÔN NGỮ TRANSACTION SQL (T-SQL)....................................... 23 2.1. Ngôn ngữ T-SQL ................................................................................................ 23 2.1.1. Giới thiệu phát biểu T-SQL........................................................................... 23 2.1.2. Cú pháp của T-SQL....................................................................................... 24 2.1.3. Lập trình T-SQL ............................................................................................ 25 2.2. Ngôn ngữ định nghĩa dữ liệu............................................................................. 46 2.2.1. Tạo đối tượng ................................................................................................ 46 2.2.2. Sửa đối tượng ................................................................................................ 50 2.2.3. Xóa đối tượng ................................................................................................ 52 2.2.4. Các loại ràng buộc dữ liệu............................................................................ 53 2.3. Ngôn ngữ thao tác dữ liệu ................................................................................. 58 2.3.1. Câu lệnh SELECT ......................................................................................... 58 2.3.2. Câu lệnh INSERT.......................................................................................... 67 2.3.3. Câu lệnh UPDATE ........................................................................................ 67 2.3.4. Câu lệnh DELETE ........................................................................................ 68 2.4. Ngôn ngữ điều khiển dữ liệu ............................................................................. 69 2.4.1. Câu lệnh GRANT .......................................................................................... 69 2.4.2. Câu lệnh REVOKE ....................................................................................... 69 i
  2. Tập bài giảng SQL Server 2.4.3. Câu lệnh DENY ............................................................................................ 70 2.5. Thực thi T-SQL.................................................................................................. 70 Chƣơng 3. QUẢN LÝ CƠ SỞ DỮ LIỆU .................................................................. 72 3.1. Cơ sở dữ liệu ....................................................................................................... 72 3.1.1. Các hệ thống cơ sở dữ liệu ............................................................................ 72 3.1.2. Tạo cơ sở dữ liệu ........................................................................................... 74 3.1.3. Cấu trúc cơ sở dữ liệu ................................................................................... 79 3.1.4. Sửa tên cơ sở dữ liệu ..................................................................................... 80 3.1.5. Xoá cơ sở dữ liệu .......................................................................................... 80 3.1.6. Quản lý dung lượng cơ sở dữ liệu ................................................................. 81 3.2. Bảng dữ liệu ........................................................................................................ 82 3.2.1. Tạo cấu trúc bảng .......................................................................................... 82 3.2.2. Thao tác với các ràng buộc dữ liệu ............................................................... 84 3.2.3. Thao tác với bảng dữ liệu.............................................................................. 90 3.3. Chỉ mục ............................................................................................................. 108 3.3.1. Các khái niệm.............................................................................................. 108 3.3.2. Tạo chỉ mục ................................................................................................. 110 3.3.3. Loại bỏ chỉ mục........................................................................................... 112 3.4. View ................................................................................................................... 112 3.4.1. Khái niệm view ........................................................................................... 112 3.4.2. Các thao tác với View ................................................................................. 112 Chƣơng 4. THỦ TỤC LƢU TRỮ VÀ HÀM NGƢỜI DÙNG .............................. 115 4.1. Thủ tục lƣu trữ (Stored Procedure) ............................................................... 115 4.1.1. Khái niệm .................................................................................................... 115 4.1.2. Các loại thủ tục lưu trữ................................................................................ 116 4.1.3. Ngôn ngữ DLL của thủ tục lưu trữ ............................................................. 118 4.1.4. Tham số trong thủ tục lưu trữ ..................................................................... 120 4.1.5. Giá trị trả về trong thủ tục lưu trữ ............................................................... 122 4.1.6. Thao tác với thủ tục lưu trữ ......................................................................... 123 4.2. Hàm ngƣời dùng (User Defined Functions) ................................................... 126 4.2.1. Khái niệm .................................................................................................... 126 4.2.2. Các loại hàm người dùng và ngôn ngữ DLL cho hàm người dùng ............ 127 4.2.3. Thao tác với hàm người dùng ..................................................................... 136 Chƣơng 5. QUẢN LÝ TRIGGER ............................................................................ 142 5.1. Giới thiệu .......................................................................................................... 142 5.1.1. Khái niệm .................................................................................................... 142 5.1.2. Các ứng dụng của Trigger ........................................................................... 142 ii
  3. Tập bài giảng SQL Server 5.1.3. Các khả năng của Trigger............................................................................144 5.1.4. Cơ chế hoạt động của Trigger .....................................................................144 5.1.5. Các loại Trigger ........................................................................................... 145 5.1.6. Các đặc trưng và hạn chế của Trigger ......................................................... 145 5.2. Ngôn ngữ DLL của Trigger ............................................................................146 5.3. Lập trình với Trigger....................................................................................... 148 5.3.1. Bảng trung gian ........................................................................................... 148 5.3.2. Các lệnh hệ thống và các hàm sử dụng trong trigger ..................................151 5.3.3. Các thao tác lập trình trigger .......................................................................160 5.4. Thao tác với Trigger ........................................................................................ 178 Chƣơng 6. SAO LƢU VÀ PHỤC HỒI DỮ LIỆU ..................................................181 6.1. Khái niệm sao lƣu cơ sở dữ liệu ......................................................................181 6.1.1.Các loại bản sao lưu cơ sở dữ liệu ............................................................... 181 6.1.2. Thực hiện sao lưu ........................................................................................ 182 6.2. Phục hồi cơ sở dữ liệu ...................................................................................... 185 6.2.1. Khái niệm ....................................................................................................185 6.2.2. Thực hiện phục hồi ...................................................................................... 186 6.3. Xây dựng kế hoạch sao lƣu cơ sở dữ liệu....................................................... 188 6.3.1. Tạo kế hoạch chi tiết ...................................................................................188 6.3.2. Tạo nghiệp vụ sao lưu chi tiết .....................................................................193 6.4. Sao chép dữ liệu ............................................................................................... 195 Chƣơng 7. QUẢN LÝ BẢO MẬT VÀ NGƢỜI DÙNG .........................................202 7.1. Các chế độ xác thực của SQL SERVER ........................................................ 202 7.1.1 Chế độ xác thực thông qua hệ điều hành .....................................................202 7.1.2. Chế độ xác thực bằng SQL Server .............................................................. 203 7.2. Các nhóm quyền trên SQL Server .................................................................204 7.3.Quản lý tài khoản cho ngƣời sử dụng ............................................................. 205 7.3.1. Tạo tài khoản mới........................................................................................ 205 7.3.2. Khai báo nhóm quyền cho tài khoản ........................................................... 210 7.3.3.Tài khoản của người dùng trên cơ sở dữ liệu ...............................................211 Chƣơng 8. SQL SERVER VÀ LẬP TRÌNH ỨNG DỤNG ....................................217 8.1. Các mô hình kết nối ứng dụng đến SQL Server ...........................................217 8.1.1. Mô hình ADO.............................................................................................. 217 8.1.2. Mô hình ADO.NET .....................................................................................218 8.2. Ví dụ minh họa .................................................................................................232 BÀI TẬP .....................................................................................................................249 TÀI LIỆU THAM KHẢO.......................................................................................... xii iii
  4. Tập bài giảng SQL Server CÁC DANH MỤC HÌNH Hình 1.1. Mô hình Client/Server ..................................................................................... 2 Hình 1.2. Mô hình Desktop ............................................................................................. 3 Hình 1.3. Mô hình OSA .................................................................................................. 4 Hình 1.4. Đặc tính mới của SQL Server ......................................................................... 5 Hình 1.5. Một số phiên bản của SQL Server .................................................................. 5 Hình 1.6. Phiên bản Web ................................................................................................ 6 Hình 1.7. Phiên bản Compact.......................................................................................... 7 Hình 1.8. Xác định bản quyền cài đặt ............................................................................. 7 Hình 1.9. Kiểm tra trước khi cài đặt ................................................................................ 8 Hình 1.10. Các lựa chọn khi cài đặt ................................................................................ 8 Hình 1.11. Kiểm tra các yêu cầu của máy tính trước khi cài đặt .................................... 9 Hình 1.12. Các tính năng cài đặt ..................................................................................... 9 Hình 1.13. Cấu hình cài đặt ........................................................................................... 10 Hình 1.14. Cấu hình Server ........................................................................................... 11 Hình 1.15. Cấu hình Database Engine .......................................................................... 12 Hình 1.16. Cấu hình dịch vụ Report.............................................................................. 12 Hình 1.17. Xác định phản hồi ....................................................................................... 13 Hình 1.18. Các thông số lựa chọn khi cài đặt. .............................................................. 13 Hình 1.19. Thực hiện cài đặt ......................................................................................... 14 Hình 1.20. Các công cụ đồ họa ..................................................................................... 15 Hình 1.21. Cửa sổ Configuration Manager ................................................................... 16 Hình 1.22. Đăng nhập vào SQL Server Management Studio ....................................... 17 Hình 1.23. Cửa sổ đăng nhập ........................................................................................ 18 Hình 1.24. Cửa sổ SQL Server Management Studio. ................................................... 18 Hình 2.1. Tạo kiểu dữ liệu người dùng ......................................................................... 30 Hình 2.2. Thiết lập các thông số cho kiểu dữ liệu người dùng ..................................... 30 Hình 2.3. Kết quả khi xác định tiêu đề trường .............................................................. 59 Hình 2.4. Tạo một script................................................................................................ 71 Hình 3.1. Cơ sở dữ liệu hệ thống .................................................................................. 72 Hình 3.2. Thay đổi dữ liệu hệ thống ............................................................................. 73 Hình 3.3. Xem dữ liệu hệ thống .................................................................................... 73 Hình 3.4. Cơ sở dữ liệu do người dùng tạo ra ............................................................... 74 Hình 3.5. Tạo cơ sở dữ liệu ........................................................................................... 75 Hình 3.6. Nhập tên cơ sở dữ liệu ................................................................................... 75 Hình 3.7. Chọn tài khoản .............................................................................................. 76 iv
  5. Tập bài giảng SQL Server Hình 3.8. Thay đổi vị trí lưu tập tin ............................................................................... 76 Hình 3.9. Chọn thư mục chứa tập tin ............................................................................ 77 Hình 3.10. Nhập tên tập tin thứ cấp ............................................................................... 77 Hình 3.11. Khai báo dung lượng ban đầu...................................................................... 78 Hình 3.12. Khai báo tự động tăng dung lượng .............................................................. 78 Hình 3.13. Cơ sở dữ liệu mới tạo .................................................................................. 78 Hình 3.14. Cửa sổ New Query ...................................................................................... 79 Hình 3.15. Khai báo câu lệnh ........................................................................................ 79 Hình 3.16. Thực thi câu lệnh T-SQL ............................................................................. 79 Hình 3.17. Cấu trúc cơ sở dữ liệu .................................................................................. 80 Hình 3.18. Xóa cơ sở dữ liệu ......................................................................................... 80 Hình 3.19. Xác nhận xóa cơ sở dữ liệu ......................................................................... 81 Hình 3.20. Loại bỏ dung lượng cơ sở dữ liệu dư thừa .................................................. 81 Hình 3.21. Thiết lập thông số cho chức năng Shink ..................................................... 82 Hình 3.22. Bảng trong cơ sở dữ liệu ............................................................................. 82 Hình 3.23. Tạo bảng dữ liệu .......................................................................................... 83 Hình 3.24. Thiết kế bảng dữ liệu ................................................................................... 83 Hình 3.25. Đặt tên bảng dữ liệu .................................................................................... 83 Hình 3.26. Mở bảng ở chế độ Design ............................................................................ 84 Hình 3.27. Tạo ràng buộc khóa chính ........................................................................... 84 Hình 3.28. Tạo ràng buộc khóa ngoại ........................................................................... 85 Hình 3.29. Nhập tên cho ràng buộc khóa ngoại ............................................................ 85 Hình 3.30. Chọn trường cho khóa chính-khóa ngoại .................................................... 85 Hình 3.31. Chọn chế độ Delete và Update ................................................................... 86 Hình 3.32. Kết quả sau tạo ràng buộc khóa ngoại và khóa ngoại ................................ 86 Hình 3.33. Tạo ràng buộc duy nhất ............................................................................... 86 Hình 3.34. Nhập tên cho ràng buộc duy nhất ................................................................ 87 Hình 3.35. Chọn trường cần tạo ràng buộc duy nhất .................................................... 87 Hình 3.36. Kết quả tạo ràng buộc duy nhất .................................................................. 87 Hình 3.37. Tạo ràng buộc kiểm tra ................................................................................ 88 Hình 3.38. Nhập tên cho ràng buộc kiểm tra ................................................................. 88 Hình 3.39. Nhập điều kiện cho ràng buộc kiểm tra ....................................................... 88 Hình 3.40. Kết quả tạo ràng buộc kiểm tra.................................................................... 89 Hình 3.41. Tạo ràng buộc mặc định .............................................................................. 89 Hình 3.42. Kết quả tạo ràng buộc mặc định .................................................................. 89 Hình 3.43. Tạo kết nối giữa các bảng ............................................................................ 90 Hình 3.44. Chọn các bảng dữ liệu ................................................................................. 90 v
  6. Tập bài giảng SQL Server Hình 3.45. Tạo kết nối ................................................................................................... 91 Hình 3.46. Kiểm tra trường kết nối ............................................................................... 91 Hình 3.47. Xác nhận mối kết nối .................................................................................. 91 Hình 3.48. Mối kết nối được tạo ra ............................................................................... 92 Hình 3.49. Lưu mối kết nối ........................................................................................... 92 Hình 3.50. Thay đổi cấu trúc bảng dữ liệu .................................................................... 92 Hình 3.51. Thiết kế lại bảng dữ liệu .............................................................................. 92 Hình 3.52. Xác nhận việc thiết kế lại bảng dữ liệu ....................................................... 93 Hình 3.53. Xóa bảng dữ liệu ......................................................................................... 93 Hình 3.54. Xác nhận việc xóa bảng dữ liệu .................................................................. 94 Hình 3.55. Nhập dữ liệu cho bảng ................................................................................ 94 Hình 3.56. Nhập dữ liệu cho các trường ....................................................................... 95 Hình 3.57. Chọn chức năng Import ............................................................................... 95 Hình 3.58. Chọn dữ liệu nguồn ..................................................................................... 96 Hình 3.59. Chọn dữ liệu đích ........................................................................................ 96 Hình 3.60. Chọn phương thức Import .......................................................................... 97 Hình 3.61. Chọn các Sheet chứa dữ liệu ....................................................................... 97 Hình 3.62. Thực thi và lưu trữ file đóng gói ................................................................. 98 Hình 3.63. Thực hiện Import ......................................................................................... 98 Hình 3.64. Kết quả Import ............................................................................................ 99 Hình 3.65. Chọn chức năng Export ............................................................................... 99 Hình 3.66. Chọn dữ liệu nguồn ................................................................................... 100 Hình 3.67. Chọn dữ liệu đích ...................................................................................... 100 Hình 3.68. Chọn phương thức Export ......................................................................... 101 Hình 3.69. Chọn dữ liệu cần xuất ................................................................................ 101 Hình 3.70. Kiểm tra kiểu dữ liệu ................................................................................. 102 Hình 3.71. Thực thi và lưu trữ file đóng gói ............................................................... 102 Hình 3.72. Thực hiện Export ....................................................................................... 103 Hình 3.73. Cập nhật dữ liệu cho các trường ............................................................... 103 Hình 3.74. Xóa bản ghi ............................................................................................... 104 Hình 3.75. Xác nhận việc xóa bản ghi ........................................................................ 104 Hình 3.76. Chọn chức năng Detach ............................................................................ 105 Hình 3.77. Thực hiện Detach ...................................................................................... 105 Hình 3.78. Chọn chức năng Attach ............................................................................. 106 Hình 3.79. Cửa sổ Attach ............................................................................................ 106 Hình 3.80. Chọn tên tệp tin ......................................................................................... 107 Hình 3.81. Cửa sổ Attach sau khi đã chọn tệp tin ....................................................... 107 vi
  7. Tập bài giảng SQL Server Hình 3.82. Truy vấn thông tin trong bảng ................................................................... 108 Hình 3.83. Tạo chỉ mục ............................................................................................... 110 Hình 3.84. Chọn các thông số cho chỉ mục ................................................................. 111 Hình 3.85. Chọn trường làm chỉ mục .......................................................................... 111 Hình 3.86. Kết quả tạo chỉ mục liên cung ................................................................... 112 Hình 3.87. Tạo view .................................................................................................... 112 Hình 3.88. Chọn dữ liệu nguồn cho view .................................................................... 113 Hình 3.89. Thiết kế View ............................................................................................ 113 Hình 3.90. Tạo nhóm mới ........................................................................................... 114 Hình 3.91. Thiết kế nhóm ............................................................................................ 114 Hình 4.1. Thông tin về bảng trong cơ sở dữ liệu Master ............................................ 117 Hình 4.2. Kết quả thêm một người dùng mới.............................................................. 117 Hình 4.3. Tạo thủ tục lưu trữ ....................................................................................... 123 Hình 4.4. Viết mã lệnh tạo thủ tục lưu trữ bằng MS ................................................... 123 Hình 4.5. Viết mã lệnh tạo thủ tục lưu trữ bằng T-SQL ............................................. 124 Hình 4.6. Kết quả tạo thủ tục lưu trữ ........................................................................... 124 Hình 4.7. Thực thi thủ tục lưu trữ bằng công cụ MS .................................................. 125 Hình 4.8. Nhập giá trị cho tham số nhập ..................................................................... 125 Hình 4.9. Xây dựng hàm vô hướng ............................................................................. 137 Hình 4.10. Xây dựng hàm trực tuyến .......................................................................... 137 Hình 4.11. Xây dựng hàm đa lệnh ............................................................................... 138 Hình 4.12. Kết quả tạo các hàm người dùng ............................................................... 139 Hình 5.1. Kết quả thực hiện hành động Insert ............................................................. 149 Hình 5.2. Kết quả thực hiện hành động Delete ........................................................... 150 Hình 5.3. Kết quả thực hiện hành động Update .......................................................... 151 Hình 5.4. Thứ tự các trường trong bảng Muaban ........................................................ 156 Hình 5.5. Thứ tự các trường trong bảng Thisinh ......................................................... 156 Hình 5.6. Tạo Trigger .................................................................................................. 179 Hình 5.7. Kết quả tạo Trigger ...................................................................................... 179 Hình 6.1. Sao lưu cơ sở dữ liệu ................................................................................... 183 Hình 6.2. Loại sao lưu cơ sở dữ liệu ........................................................................... 183 Hình 6.3. File sao lưu .................................................................................................. 184 Hình 6.4. Chọn đường dẫn lưu trữ file backup............................................................ 185 Hình 6.5. Chọn thư mục lưu file backup ..................................................................... 185 Hình 6.6. Thao tác phục hồi dữ liệu ............................................................................ 186 Hình 6.7. Chọn cơ sở dữ liệu nguồn cần khôi phục .................................................... 186 Hình 6.8. Khôi phục dữ liệu từ thiết bị lưu trữ ............................................................ 187 vii
  8. Tập bài giảng SQL Server Hình 6.9. Bổ sung file backup ..................................................................................... 187 Hình 6.10. Chọn file backup để khôi phục .................................................................. 187 Hình 6.11. Chọn file backup ....................................................................................... 188 Hình 6.12. Thông báo khôi phục thành công ............................................................. 188 Hình 6.13. Chọn chức năng New Mainternance Plan ................................................. 189 Hình 6.13. Đặt tên kế hoạch ........................................................................................ 190 Hình 6.14. Khai báo cấu hình kế hoạch tạo bản sao ................................................... 190 Hình 6.15. Khai báo kế hoạch chi tiết ......................................................................... 190 Hình 6.16. Khai báo lịch trình thực hiện ..................................................................... 191 Hình 6.17. Chọn lịch trình sao lưu theo ngày ............................................................. 191 Hình 6.18. Chọn lịch trình sao lưu theo tuần .............................................................. 191 Hình 6.19. Chọn lịch trình sao lưu theo tháng ............................................................ 192 Hình 6.20. Giao diện kế hoạch thứ nhất ...................................................................... 192 Hình 6.21. Kết thúc khai báo chi tiết cho kế hoạch thứ nhất. ..................................... 192 Hình 6.22. Thêm nghiệp vụ vào kế hoạch sao lưu ...................................................... 193 Hình 6.23. Danh sách cơ sở dữ liệu ............................................................................ 194 Hình 6.24.Cấu hình tạo bản sao .................................................................................. 194 Hình 6.25. Lưu kế hoạch chi tiết ................................................................................. 194 Hình 6.26. Kế hoạch chi tiết ........................................................................................ 195 Hình 6.27. Thao tác sao chép cơ sở dữ liệu ................................................................ 195 Hình 6.28. Sao chép cơ sở dữ liệu ............................................................................... 196 Hình 6.29. Khai báo cơ sở dữ liệu nguồn.................................................................... 196 Hình 6.30. Khai báo cơ sở dữ liệu đích ....................................................................... 197 Hình 6.31. Phương pháp sao chép ............................................................................... 197 Hình 6.32. Chọn cơ sở dữ liệu sao chép...................................................................... 198 Hình 6.33. Cấu hình cơ sở dữ liệu đích ....................................................................... 198 Hình 6.34. Cấu hình cho gói sao chép......................................................................... 199 Hình 6.35. Chọn chế độ thực thi ................................................................................. 199 Hình 6.36. Màn hình tóm tắt quá trình sao chép ......................................................... 200 Hình 6.37. Thông báo sao chép không thành công ..................................................... 200 Hình 6.38. Khởi động dịch vụ Agent .......................................................................... 201 Hình 7.1. Mô hình chế độ bảo mật trong SQL Server ................................................ 202 Hình 7.2. Đăng nhập bằng tài khoản hệ điều hành ..................................................... 203 Hình 7.3. Tài khoản người sử dụng trong SQL Server ............................................... 203 Hình 7.4. Đăng nhập bằng tài khoản SQL Server ....................................................... 204 Hình 7.5. Màn hình tạo tài khoản trong windows ....................................................... 205 Hình 7.6. Tạo tài khoản mới trong Windows .............................................................. 205 viii
  9. Tập bài giảng SQL Server Hình 7.7. Nhập thông số cho tài khoản trong Windows ............................................. 206 Hình 7.8. Kết quả tạo tài khoản trong Windows thành công ...................................... 206 Hình 7.9. Tạo login mới .............................................................................................. 207 Hình 7.10. Khai báo tên tài khoản trong Window....................................................... 207 Hình 7.11. Danh sách login trong hệ thống ................................................................. 207 Hình 7.12. Chọn tài khoản của hệ điều hành ............................................................... 208 Hình 7.13. Tìm kiếm tài khoản .................................................................................... 208 Hình 7.14. Danh sách tài khoản của hệ điều hành ...................................................... 208 Hình 7.15. Màn hình nhập tên tài khoản .................................................................... 209 Hình 7.16. Khai báo tên tài khoản trong SQL Server ................................................. 209 Hình 7.17. Thay đổi thông số cho tài khoản ............................................................... 210 Hình 7.18. Chọn vai trò máy chủ ................................................................................ 210 Hình 7.19. Chọn cơ sở dữ liệu cho tài khoản .............................................................. 212 Hình 7.20. Tạo user mới cho cơ sở dữ liệu ................................................................. 213 Hình 7.21. Khai báo tài khoản cơ sở dữ liệu ............................................................... 213 Hình 7.22. Tìm tài khoản người dùng ......................................................................... 214 Hình 7.23. Chọn tên người dùng ................................................................................. 214 Hình 7.24. Tìm loại giản đồ......................................................................................... 214 Hình 7.25. Chọn loại giản đồ....................................................................................... 215 Hình 7.26. Gán quyền thao tác dữ liệu ........................................................................ 215 Hình 7.27. Chọn chế độ Login .................................................................................... 216 Hình 8.1. Mô hình ADO .............................................................................................. 218 Hình 8.2. Mô hình ADO.NET ..................................................................................... 219 Hình 8.3. Các lớp OleDb và SqlClient ........................................................................ 220 Hình 8.4. Mối liên hệ giữa lớp Command và các lớp khác ......................................... 223 Hình 8.5. Lớp SqlDataAdapter .................................................................................... 226 Hình 8.6. Form quản lý thông tin sinh viên ................................................................. 232 Hình 8.7. Cửa sổ tạo dự án .......................................................................................... 232 Hình 8.8. Form sắp xếp và tìm kiếm sinh viên ............................................................ 243 Hình 8.9. Tạo một form mới........................................................................................ 244 Hình 8.10. Tạo View lớp ............................................................................................. 244 Hình 9.1. Tạo cơ sở dữ liệu ......................................................................................... 252 Hình 9.2. Xác định các thông số của cơ sở dữ liệu ..................................................... 252 Hình 9.3. Tạo bảng dữ liệu .......................................................................................... 253 Hình 9.4. Thiết kế bảng dữ liệu ................................................................................... 253 Hình 9.5. Lưu bảng dữ liệu.......................................................................................... 253 Hình 9.6. Tạo khóa chính ............................................................................................ 254 ix
  10. Tập bài giảng SQL Server Hình 9.7. Tạo khóa ngoại ............................................................................................ 254 Hình 9.8. Xác định các thông số của khóa ngoại ........................................................ 254 Hình 9.9. Chọn trường cho khóa chính-khóa ngoại .................................................... 255 Hình 9.10. Tạo ràng buộc duy nhất ............................................................................. 255 Hình 9.11. Nhập tên cho ràng buộc duy nhất .............................................................. 256 Hình 9.12. Chọn trường làm ràng buộc duy nhất ........................................................ 256 Hình 9.13. Tạo ràng buộc kiểm tra.............................................................................. 257 Hình 9.14. Nhập tên cho ràng buộc kiểm tra .............................................................. 257 Hình 9.15. Nhập điều kiện cho ràng buộc kiểm tra .................................................... 257 Hình 9.16. Tạo ràng buộc mặc định ............................................................................ 258 Hình 9.17. Tạo kết nối giữa các bảng ......................................................................... 258 Hình 9.18. Chọn các bảng dữ liệu ............................................................................... 258 Hình 9.19. Tạo kết nối ................................................................................................. 259 Hình 9.20. Kiểm tra trường kết nối ............................................................................. 259 Hình 9.21. Xác nhận mối kết nối ................................................................................ 259 Hình 9.22. Lưu mối kết nối ......................................................................................... 260 Hình 9.23. Tạo chỉ mục ............................................................................................... 260 Hình 9.24. Chọn các thông số cho chỉ mục ................................................................. 260 Hình 9.25. Chọn trường làm chỉ mục .......................................................................... 261 Hình 9.26. Chọn chức năng Import ............................................................................. 261 Hình 9.27. Chọn dữ liệu nguồn ................................................................................... 262 Hình 9.28. Chọn dữ liệu đích ...................................................................................... 262 Hình 9.29. Chọn phương thức Import ........................................................................ 263 Hình 9.31. Thực thi và lưu trữ file đóng gói ............................................................... 264 Hình 9.32. Thực hiện Import ....................................................................................... 264 Hình 9.33. Tạo view .................................................................................................... 265 Hình 9.34. Chọn dữ liệu nguồn cho view ................................................................... 265 Hình 9.35. Thiết kế View ý 1 ...................................................................................... 265 Hình 9.36. Thiết kế View ý 2 ...................................................................................... 266 Hình 9.37. Thiết kế View ý 3 ...................................................................................... 267 Hình 9.38. Thiết kế View ý 4 ...................................................................................... 267 Hình 9.39. Thiết kế View ý 5 ...................................................................................... 268 x
  11. Tập bài giảng SQL Server LỜI NÓI ĐẦU Microsoft SQL Server ra đời đã và đang chứng minh sức mạnh của nó trong kỷ nguyên công nghệ thông tin với nền kinh tế toàn cầu hóa. Chúng góp phần vào quá trình phát triển ứng dụng lưu trữ, xử lý, tích hợp lẫn báo cáo dữ liệu, giúp các nhà hoạch định chiến lược ra quyết định tốt nhất. Môn học SQL Server là môn học bắt buộc và SQL Server là một lựa chọn tốt cho các ứng dụng thương mại điện tử hay quản lý. Để giúp sinh viên các ngành thuộc lĩnh vực Công nghệ thông tin trường Đại học Sư phạm Kỹ thuật Nam Định học tốt hơn môn học này và vận dụng để quản lý cơ sở dữ liệu trong quá trình xây dựng và sử dụng các sản phẩm phần mềm, thì việc xuất bản “Tập bài giảng SQL Server” là rất cần thiết. Tập bài giảng được chia làm 8 chương: Chương 1. Tổng quan về SQL Server Chương 2. Ngôn ngữ Transaction SQL (T-SQL) Chương 3. Quản lý cơ sở dữ liệu Chương 4. Thủ tục lưu trữ và hàm người dùng Chương 5. Quản lý Trigger Chương 6. Sao lưu và phục hồi dữ liệu Chương 7. Quản lý bảo mật và người dùng Chương 8. SQL Server và lập trình ứng dụng Mỗi chương trong tập bài giảng đều hệ thống hóa các kiến thức cơ bản, cần thiết. Tương ứng với mỗi nội dung kiến thức đều có các ví dụ minh họa cụ thể, gán với các ứng dụng thực tiễn. Đặc biệt, cuối tập bài giảng, tác giả đưa ra một số bài tập làm thêm để sinh viên vận dụng củng cố lại kiến thức và kỹ năng. Trong đó, bài tập đầu tiên được hướng dẫn giải chi tiết. Điều đó nhằm giúp sinh viên có thể tự học và làm các bài tập tương tự một các dễ dàng. Với phần lý thuyết chi tiết, đầy đủ được trình bày một cách khoa học, logic và phần bài tập có hướng dẫn giải chi tiết, chúng tôi hy vọng rằng tập bài giảng này sẽ mang lại cho bạn đọc nhiều điều bổ ích. Trong quá trình biên soạn, tập bài giảng không tránh khỏi những sai sót, rất mong đồng nghiệp và các em sinh viên góp ý kiến để tập bài giảng ngày càng được hoàn thiện hơn. Nhóm biên soạn Nguyễn Văn Thẩm Vũ Thị Phương-Trần Thị Thuận xi
  12. Tập bài giảng SQL Server Chƣơng 1 TỔNG QUAN VỀ SQL SERVER 1.1. Giới thiệu về SQL Server Năm 1970, IBM đã khởi tạo ra ngôn ngữ máy tính cho các truy vấn trong cơ sở dữ liệu có tên là SEQUEL (Structured English Query Language). Năm 1970, IBM đã khởi tạo ra ngôn ngữ máy tính cho các truy vấn trong cơ sở dữ liệu có tên là SEQUEL (Structured English Query Language). Sau một thời gian, ngôn ngữ này phát triển không những chỉ thực hiện các truy vấn mà còn có thể xây dựng và quản trị cơ sở dữ liệu. Sau đó, IBM đã phổ biến ngôn ngữ này một cách công khai và trên nhiều phạm vi mà ngày nay bạn biết đến với tên là SQL. Năm 1985, IBM kết hợp với Microsoft để phát triển một số hệ điều hành và các phần mềm hệ thống khác. Hệ điều hành đầu tiên có tên OS/2 được ra đời dựa trên hệ điều hành MS-DOS của Microsoft. Ngày 16/12/1987, hệ điều hành OS/2 1.0 đã chính thức được phát hành. Nhưng sau đó IBM đã đưa ra phiên bản mới của OS/2 gọi là OS/2 mở rộng (Extended) được tích hợp thêm một phần cơ sở dữ liệu SQL của IBM (hệ quản trị cơ sở dữ liệu DB2). Microsoft nhận thấy rằng nếu IBM có thể đưa ra giải pháp hoàn chỉnh cho OS/2 mở rộng thì liệu có khách hàng nào sẽ mua sản phẩm OS/2 của Microsoft không ? Vào thời điểm này, Microsoft chưa hề có một sản phẩm thuộc loại quản trị cơ sở dữ liệu. Ngay sau đó, Microsoft đã quay sang kết hợp với công ty Sybase để cùng hợp tác làm ra một sản phẩm thuộc loại hệ quản trị cơ sở dữ liệu (Database Management System). Với sự hợp tác tốt đẹp, hai công ty này đã thành công cho ra đời một sản phẩm thuộc loại cơ sở dữ liệu có tên rất khó nhớ là Ashton-Tate vào năm 1988, sản phẩm này hoạt động trên môi trường OS/2. Sau đó một thời gian, Sybase đã phát triển sản phẩm này trên môi trường UNIX và đổi tên riêng là DataServer mà ngày nay còn có tên khác là Sybase Adaptive Server. Microsoft quyết định không phát triển hệ điều hành OS/2 mà thay vào đó cho ra đời một hệ điều hành mạng máy tính có tên là Windows NT Server. Và thế là SQL Server chỉ hoạt động độc lập trên môi trường Windows NT Server mà thôi. Lần lượt các phiên bản của Microsoft SQL Server đã ra đời sau sự kiện này từ 4.2. Sau đó được nâng cấp thành 4.21, 6.0, 6.5, 7.0. Tuy nhiên, các phiên bản của SQL Server phổ biến hiện này trên thị trường là SQL Server 2000, 2005, 2008, và mới nhất là SQL Server 2012. Microsoft SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ (Relation Database Management System - RDBMS), cung cấp cách tổ chức dữ liệu bằng cách lưu chúng vào các bảng. Dữ liệu quan hệ được lưu trữ trong các bảng và các quan hệ đó được định nghĩa giữa các bảng với nhau. Người dùng truy cập dữ liệu trên 1
  13. Tập bài giảng SQL Server Server thông qua ứng dụng. Người quản trị CSDL truy cập Server trực tiếp để thực hiện các chức năng cấu hình, quản trị và thực hiện các thao tác bảo trì CSDL. Ngoài ra, SQL Server là một CSDL có khả năng mở rộng, nghĩa là chúng có thể lưu một lượng lớn dữ liệu và hỗ trợ tính năng cho phép nhiều người dùng truy cập dữ liệu đồng thời. 1.2. Các mô hình sử dụng trong SQL Server Hệ thống được thiết kế sử dụng SQL Server sẽ phụ thuộc vào số lượng người dùng truy cập cơ sở dữ liệu đồng thời và loại công việc được thực hiện. Các mô hình có thể được sử dụng là: Client/Server, Destop, SOA. 1.2.1. Mô hình Client/Server Hình 1.1. Mô hình Client/Server Yếu tố cơ bản trong mô hình khách chủ là trong hệ thống phải có các máy tính kết nối chung với nhau sử dụng một giao thức bất kỳ nhằm mục đích sử dụng các tài nguyên, dữ liệu của nhau. Hệ thống khách/chủ gồm 3 phần: - Hệ thống phía Server: xử lý yêu cầu và phục vụ - Hệ thống phía Client: nơi yêu cầu và nhận dữ liệu - Hệ thống giao tiếp giữa Client và Server(Network) Tiến trình xử lý: Trong mô hình khách chủ, ngoài hệ thống mạng máy tính phải có còn đòi hỏi việc tổ chức các xử lý bên dưới sao cho hiệu quả, đảm bảo các yêu cầu (request) từ các máy trạm phải được máy chủ phúc đáp (response) một cách nhanh chóng, không làm tắc nghẽn hệ thống. Khi thiết kế các ứng dụng theo mô hình khách chủ, người ta chia các xử lý ra làm 2 nhánh: nhánh máy trạm và nhánh máy chủ. - Nhánh máy trạm (client side): Các ứng dụng sẽ thực hiện các công việc đọc và hiển thị dữ liệu hiện có bên trong cơ sở dữ liệu, tính toán dữ liệu đang hiển thị trên các màn hình ứng dụng, in dữ liệu ra. Các ngôn ngữ dùng để xây dựng ứng dụng là Delphi, 2
  14. Tập bài giảng SQL Server Visual Basic, C++, ASP, C#, …. Các ứng dụng này còn cho phép người dùng có thể thực hiện các thao tác xóa, thêm, sửa dữ liệu hiện có bên trong cơ sở dữ liệu bên nhánh máy chủ. Các ứng dụng khi xây dựng nên tránh việc đọc toàn bộ dữ liệu của bảng (Table) khi truy xuất dữ liệu từ máy chủ mà chỉ nên lấy về đúng các thong tin cần thiết cho các xử lý. Việc này làm giảm đi lượng thông tin lưu thông trên mạng. - Nhánh máy chủ (server side): Các xử lý được thực hiện trực tiếp trên máy chủ. Để đảm bảo việc bảo mật (security), những người dùng trên mạng phải được cấp phát quyền truy cập thì mới có thể truy xuất được các dữ liệu dùng chung. Việc cập nhật dữ liệu cho phép đồng thời cùng lúc giữa những người dùng hiện hành trên mạng, ví dụ như máy chủ cho phép cùng lúc cả hai người dùng có thể cập nhật thông tin của khách hàng trong bảng khách hàng. Việc sao lưu dữ liệu (backup data) được tự động để đảm bảo dữ liệu không bị mất trong các trường hợp xấu xảy ra. 1.2.2. Mô hình Desktop Hình 1.2. Mô hình Desktop SQL Server có thể được dùng như một cơ sở dữ liệu độc lập chạy trên máy tính để bàn (Desktop) hoặc máy tính xách tay (Laptop), gọi chúng là mô hình Destop. Các ứng dụng Client chạy trên cùng máy tính lưu phần mềm SQL Server và cơ sở dữ liệu SQL Server. Trong hệ thống nay chỉ có một máy tính. Như vậy không có kế nối mạng được thực hiện từ phía client tới server, client thực hiện kết nối cục bộ tới chính SQL Server cài đặt cục bộ. Mô hình Desktop hữu ích trong trường hợp chỉ có một người dùng đơn hoặc một số ít người dùng chia sẻ máy tính truy cập cơ sở dữ liệu ở những thời điểm khác nhau. Mô hình này thường dùng trong trường hợp cơ sở dữ liệu nhỏ. 3
  15. Tập bài giảng SQL Server 1.2.3. Mô hình SOA Hình 1.3. Mô hình OSA Mô hình hướng dịch vụ (Service Oriented Architechture – gọi tắt là mô hình SOA) là một khái niệm về kiến trúc hệ thống nhằm đem lại một cách thuận tiện nhất những chức năng nghiệp vụ, hoặc là những quy trình ứng dụng, tới người sử dụng dưới dạng các dịch vụ hoạt động trên môi trường mạng có khả năng chia sẻ và sử dụng lạị. Dịch vụ ở đây được hiểu là những mô-đun nghiệp vụ hoặc chức năng ứng dụng với giao diện được thiết kế theo quy định và được tương tác bằng cách gửi nhận thông điệp. 1.3. Các tính năng mới của SQL Server 2008 SQL Server 2008, phiên bản kế tiếp của Microsoft SQL Server, cung cấp một nền tảng dữ liệu toàn diện, bảo mật hơn, đáng tin cậy hơn, dễ quản lý hơn và dễ nâng cấp hơn cho các ứng dụng quan trọng của bạn, mà vẫn giúp nhà phát triển tạo ra những ứng dụng mới có thể lưu trữ, sử dụng mọi loại dữ liệu trên mọi thiết bị và giúp mọi người dùng thấu hiểu để quyết định. Các tính năng mới: - Được tín nhiệm: Bảo vệ thông tin quý giá, đảm bảo nghiệp vụ liên tục, tiên đoán được phản ứng. - Hiệu suất cao: Để có thể tận dụng các cơ hội mới trong thế giới kinh doanh phát triển nhanh ngày nay, các công ty cần có khả năng tạo và triển khai các giải pháp hướng dữ liệu nhanh chóng. SQL Server 2008 sẽ giảm thời gian và chi phí để quản lý và phát triển các ứng dụng như quản lý theo chính sách, đơn giản hoá việc phát triển ứng dụng, lưu trữ mọi loại thông tin.. - Thông minh: SQL Server 2008 cung cấp một nền tảng toàn diện thông minh mà người dùng mong muốn chẳng hạn như tích hợp mọi dữ liệu, chuyển giao thông tin liên quan, mang lại khả năng thấu hiểu để hành động. 4
  16. Tập bài giảng SQL Server Hình 1.4. Đặc tính mới của SQL Server 1.4. Các phiên bản của SQL Server 2008: Trước khi đi vào các thành phần của SQL Server 2008, ta xét các phiên bản của SQL Server 2008. SQL Server 2008 được sử dụng rộng rãi cho nhiều đối tượng khác nhau nên Microsoft cung cấp nhiều phiên bản khác nhau cho phù hợp với các yêu cầu về chi phí, thời gian thực hiện, của các tổ chức, cá nhân. Hầu hết các tổ chức đều chọn trong ba phiên bản SQL Server 2008 Enterprise Edition, SQL Server 2008 Standard Edition, và SQL Server 2008 Workgroup Edition. Các tổ chức chọn một trong ba phiên bản này với lý do là chỉ có các phiên bản Enterprise, Standard, và Workgroup được cài đặt và sử dụng trong môi trường server phục vụ cho hoạt động thực tế. - Phiên bản phí bảo hiểm (Premium Editions): Datacenter, Parallel Data, Warehouse - Phiên bản cốt lõi (Core Editions): Enterprise, Standard. Hình 1.5. Một số phiên bản của SQL Server + SQL Server 2008 Enterprise Edition (32-bit và 64-bit): Enterprise Edition được sử dụng trong các doanh nghiệp, tổ chức có các mức yêu cầu xử lý giao dịch trực tuyến trên diện rộng (online transaction processing - OLTP), khả năng phân tích dữ liệu phức tạp cao, hệ thống kho dữ liệu (data warehousing systems) và web sites. Enterprise Edition phù hợp cho các tổ chức lớn và các yêu cầu phức tạp. 5
  17. Tập bài giảng SQL Server + SQL Server 2008 Standard Edition (32-bit và 64-bit): Standard Edition là phiên bản phục vụ cho việc quản trị và phân tích dữ liệu phù hợp cho các doanh nghiệp, tổ chức vừa và nhỏ. Nó bao gồm các giải pháp cần thiết cho thương mại điện tử (e-commerce), kho dữ liệu (data warehousing) và dòng doanh nghiệp (line-of-business). - Phiên bản chuyên ngành (Specialized Editions): Workgroup, Developer, Express, Web, Compact. + SQL Server 2008 Workgroup Edition (32-bit only): Workgroup Edition là giải pháp quản trị dữ liệu phù hợp cho các doanh nghiệp, tổ chức nhỏ chỉ cần một cơ sở dữ liệu không giới hạn kích thước hoặc số người sử dụng. Workgroup Edition là lý tưởng cho các mức cơ sở dữ liệu tin cậy, mạnh mẽ và dễ quản trị. + SQL Server 2008 Developer Edition (32-bit và 64-bit): Developer Edition có tất cả các tính năng của phiên bản SQL Server 2008 Enterprise Edition, nhưng nó chỉ là phiên bản sử dụng cho phát triển và kiểm tra ứng dụng. Phiên bản này phù hợp cho các cá nhân, tổ chức xây dựng và kiểm tra ứng dụng. + SQL Server 2008 Express Edition (32-bit only): SQL Server Express, dễ sử dụng và quản trị cơ sở dữ liệu đơn giản. Được tích hợp với Microsoft Visual Studio 2008, SQL Server Express trở nên dẽ dàng để phát triển các ứng dụng dữ liệu giầu khả năng, an toàn trong lưu trữ, và nhanh chóng triển khai. SQL Server Express là phiên bản miễn phí, có thể dùng như một cơ sở dữ liệu máy khách hoặc cơ sở dữ liệu máy chủ đơn giản. SQL Server Express là lựa chọn tốt cho những người dùng chỉ cần một phiên bản SQL Server 2008 nhỏ gọn, dùng trên máy chủ có cấu hình thấp, những nhà phát triển ứng dụng không chuyên hay những người yêu thích xây dựng các ứng dụng nhỏ. + SQL Server 2008 Web Edition: Nó được thiết kế cho các ứng dụng Web mà không bị giới hạn bởi phiên bản Express. Nó rẻ hơn phiên bản Standard. Phiên bản Web không giới hạn dung lượng của cơ sở dữ liệu. Hình 1.6. Phiên bản Web + SQL Server 2008 Compact Edition: Là cơ sở dữ liệu mặc định cho Microsoft WebMatrix mà nó là một ngăn xếp cho công nghệ Web, dễ dàng xây dựng và phát triển các Websites trên nền tảng Window. 6
  18. Tập bài giảng SQL Server 1.5. Cài đặt SQL Server Trước khi cài đặt SQL Server 2008, ta cần phải đảm bảo ràng rằng máy của bạn sẽ đáp ứng được các yêu cầu đối với SQL Server 2008. Có rất nhiều các yêu cầu khác nhau về SQL Server 2008 mà máy phải đáp ứng, nó phụ thuộc vào phiên bản SQL Server ta đang cài đặt và nền tảng hệ điều hành đang sử dụng. Trước khi cài đặt SQL Server 2008, ta nên xem lại Hình 1.7. Phiên bản Compact trang web sau đây để xác định các cài đặt máy đúng cho môi trường của bạn: http://msdn.microsoft.com/en-us/library/ms143506.aspx Lần đầu tiên cho đĩa CD SQL Server 2008 vào ổ đĩa, nó sẽ tự động khởi động quá trình thiết lập cho SQL Server 2008. Nếu cài đặt không bắt đầu bạn có thể tìm tập tin “setup.exe” và chạy nó. Các bƣớc cài đặt: Bước 1: Để cài đặt, ta phải chọn mục "I accept the license Terms" để chấp nhận bản quyền của phiên bản cài đặt, sau đó chon nút Next. Hình 1.8. Xác định bản quyền cài đặt 7
  19. Tập bài giảng SQL Server Bước 2: Khi bắt đầu quá trình cài đặt nó sẽ kiểm tra máy tính để đảm bảo .Net Framework và một bản copy update của bộ cài đặt Windows đang ở trên máy tính. Hình 1.9. Kiểm tra trước khi cài đặt Bước 3: Nếu quá trình này không xảy ra trên máy tính, nó sẽ yêu cầu thiết lập cài đặt trước khi cài đặt SQL Sever 2008. Khi bạn đã cài đặt đầy đủ thì máy sẽ yêu cầu khởi động lại trước khi có thể tiến hành cài đặt SQL Server 2008. Một khi máy tính đã có tất cả các điều kiện thích hợp thì nó sẽ tiến hành cài đặt. Để cài đặt, ta chọn "New Installation". Hình 1.10. Các lựa chọn khi cài đặt Bước 4: Sau khi tất cả các file được cài đặt, một bản tóm tắt của quá trình thiết lập cài đặt sẽ được đưa ra. Nếu tất cả các điều kiện thiết lập cần thiết có đủ, ta sẽ cho phép để tiến hành cài đặt, nếu không ta sẽ cần phải khắc phục những vấn đề trong báo cáo và chạy lại việc cài đặt thiết lập. Một lần nữa quá trình này đã thiết lập một đường link để ta có thể xem lại các chi tiết của việc cài đặt thiết lập. Ta nên xem lại các chi tiết trước khi tiến hành, để biết chính xác về mỗi quy tắc cài đặt. Một khi đã sẵn sàng cài đặt ta nhấp vào nút "Next". 8
nguon tai.lieu . vn