Bài giảng SQL Server - Phạm Khánh Bảo
Thời lượng: 02 tiết lý thuyết
Kết thúc chương này, sinh viên có thể:
Hiểu được mô hình Client/Server
Hiểu được khái niệm CSDL và chức năng của hệ quản trị cơ sở dữ liệu
Biết được các tiện ích và tiện ích trong SQL Server
Biết được các thành phần trong SQL Server
Làm quen với giao diện công cụ SQL Server Management Studio
1.1. MÔ HÌNH CLIENT/SERVER
Mô hình Client/Server (mô hình khách/chủ) là một hệ thống mạng máy tính
được kết nối với nhau, bao gồm các thành phần sau:
Hình 1.1. Mô hình Client/Server
- Server (máy chủ): Là máy tính có bộ xử lý với tốc độ cao, tài nguyên bộ
nhớ lớn để hoạt động được tốt bởi cùng lúc sẽ có nhiều người dùng mạng truy xuất
đến server thông qua các máy client. Trong một hệ thống mạng máy tính có thể có
nhiều server với các chức năng độc lập riêng biệt khác nhau.
- Client (máy khách): là các máy tính được phép truy xuất đến các tài nguyên
được chia sẻ trên mạng.
- Dây cáp mạng: là hệ thống dây kim loại hoặc quang học kết nối các máy
tính, máy in lại với nhau.3
- Dữ liệu chung: là các tập tin, thư mục mà người sử dụng trong hệ thống
mạng có thể truy xuất đến server từ máy client.
Trong mô hình client/server, việc tổ chức các xử lý phải đảm bảo các yêu cầu
(request) từ client phải được server hồi đáp (response) một cách nhanh chóng và
không làm tắc nghẽn hệ thống mạng máy tính.
Ưu điểm của việc phát triển ứng dụng trên mô hình Client/Server:
- Giảm chi phí
- Tốc độ nhanh
- Tính tương thích cao
1.2. CƠ SỞ DỮ LIỆU VÀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
1.2.1. Cơ sở dữ liệu
Trong thực tế cuộc sống, dữ liệu được mô tả dưới nhiều dạng khác nhau (ký
tự, ký số, hình ảnh, ký hiệu, âm thanh ). Mỗi cách mô tả như vậy được gắn với
một ngữ nghĩa nào đó.
Ví dụ, một đối tượng sinh viên thực tế có rất nhiều thông tin khác nhau liên
quan đến bản thân sinh viên đó như: tên, địa chỉ, ngày sinh, lớp, điểm số sở
thích, tác phong, quê quán, gia đình, quan hệ cộng đồng, cân nặng, chiều cao Tuy
nhiên, với mục đích quản lý (thông thường) của nhà trường thì không phải tất cả các
thông tin kia đều được lưu trữ. Tùy mục đích, nhà trường có thể cần lưu trữ:
– tên, địa chỉ, ngày sinh, lớp, điểm số.
– hoặc tên, địa chỉ, ngày sinh, lớp, điểm số, quê quán, họ tên cha mẹ,
– hoặc một tập hợp thông tin khác.
Để quản lý thông tin của sinh viên bằng cách tin học hóa, Nhà trường cần thiết
kế một cơ sở dữ liệu quản lý sinh viên.
Cơ sở dữ liệu (database), viết tắt là CSDL hoặc DB, là một tập hợp các dữ liệu
có quan hệ logic với nhau, có thể dễ dàng chia sẻ và được thiết kế nhằm đáp ứng
các nhu cầu sử dụng của một tổ chức, cá nhân nào đó.
Một cách định nghĩa khác dễ hiểu hơn, CSDL là một tập hợp có cấu trúc của
những dữ liệu có liên quan với nhau được lưu trữ trong máy tính (bảng chấm công4
nhân viên, danh sách các đề án, niên giám điện thoại, kết quả học tập của sinh viên,
các mặt hàng trong siêu thị ). Một CSDL được thiết kế, xây dựng và lưu trữ với
một mục đích xác định như phục vụ lưu trữ, truy xuất dữ liệu cho các ứng dụng hay
người dùng.
Tóm tắt nội dung tài liệu: Bài giảng SQL Server - Phạm Khánh Bảo
TRƯỜNG ĐẠI HỌC PHẠM VĂN ĐỒNG KHOA CÔNG NGHỆ THÔNG TIN PHẠM KHÁNH BẢO BÀI GIẢNG SQL SERVER Quảng Ngãi, tháng 12 năm 2016 TRƯỜNG ĐẠI HỌC PHẠM VĂN ĐỒNG KHOA CÔNG NGHỆ THÔNG TIN PHẠM KHÁNH BẢO BÀI GIẢNG SQL SERVER Dành cho sinh viên bậc đại học ngành Công nghệ thông tin và Sư phạm tin ----TÀI LIỆU LƯU HÀNH NỘI BỘ--- 1 LỜI NÓI ĐẦU SQL Server là học phần cơ sở ngành giúp sinh viên có được một kiến thức toàn diện trong việc hiểu và sử dụng hệ quản trị cơ sở dữ liệu SQL Server. Từ năm học 2015-2016, môn học này là học phần tích hợp theo chương trình hợp tác đào tạo giữa trường ĐH Phạm Văn Đồng và công ty phần mềm FPT Software. Bài giảng được thiết kế dành cho sinh viên đại học các ngành Công nghệ thông tin và Sư phạm tin học. Nội dung được xây dựng theo đúng chương trình chi tiết của học phần SQL Server, được áp dụng từ năm học 2016-2017. Để thuận tiện cho việc giảng dạy và học tập, đầu mỗi chương sẽ mô tả thời lượng giảng dạy và mục tiêu tối thiểu mà sinh viên cần đạt được. Đối với các chương có phần thực hành, bài tập thực hành sẽ được trình bày cụ thể sau mỗi chương. Để thuận tiện cho việc thực hành của sinh viên, các bài thực hành sẽ tập trung vào một cơ sở dữ liệu duy nhất. Do đó, để học tập tốt học phần này, sinh viên cần phải thực hiện tất cả các bài tập thực hành ở chương trước trước khi tiếp tục học lý thuyết trong chương mới. Hy vọng bài giảng này sẽ là tài liệu bổ ích dành cho sinh viên ngành Công nghệ thông tin và Sư phạm tin học của trường Đại học Phạm Văn Đồng. 2 Chương 1: TỔNG QUAN VỀ SQL SERVER Thời lượng: 02 tiết lý thuyết Kết thúc chương này, sinh viên có thể: Hiểu được mô hình Client/Server Hiểu được khái niệm CSDL và chức năng của hệ quản trị cơ sở dữ liệu Biết được các tiện ích và tiện ích trong SQL Server Biết được các thành phần trong SQL Server Làm quen với giao diện công cụ SQL Server Management Studio 1.1. MÔ HÌNH CLIENT/SERVER Mô hình Client/Server (mô hình khách/chủ) là một hệ thống mạng máy tính được kết nối với nhau, bao gồm các thành phần sau: Hình 1.1. Mô hình Client/Server - Server (máy chủ): Là máy tính có bộ xử lý với tốc độ cao, tài nguyên bộ nhớ lớn để hoạt động được tốt bởi cùng lúc sẽ có nhiều người dùng mạng truy xuất đến server thông qua các máy client. Trong một hệ thống mạng máy tính có thể có nhiều server với các chức năng độc lập riêng biệt khác nhau. - Client (máy khách): là các máy tính được phép truy xuất đến các tài nguyên được chia sẻ trên mạng. - Dây cáp mạng: là hệ thống dây kim loại hoặc quang học kết nối các máy tính, máy in lại với nhau. 3 - Dữ liệu chung: là các tập tin, thư mục mà người sử dụng trong hệ thống mạng có thể truy xuất đến server từ máy client. Trong mô hình client/server, việc tổ chức các xử lý phải đảm bảo các yêu cầu (request) từ client phải được server hồi đáp (response) một cách nhanh chóng và không làm tắc nghẽn hệ thống mạng máy tính. Ưu điểm của việc phát triển ứng dụng trên mô hình Client/Server: - Giảm chi phí - Tốc độ nhanh - Tính tương thích cao 1.2. CƠ SỞ DỮ LIỆU VÀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 1.2.1. Cơ sở dữ liệu Trong thực tế cuộc sống, dữ liệu được mô tả dưới nhiều dạng khác nhau (ký tự, ký số, hình ảnh, ký hiệu, âm thanh). Mỗi cách mô tả như vậy được gắn với một ngữ nghĩa nào đó. Ví dụ, một đối tượng sinh viên thực tế có rất nhiều thông tin khác nhau liên quan đến bản thân sinh viên đó như: tên, địa chỉ, ngày sinh, lớp, điểm số sở thích, tác phong, quê quán, gia đình, quan hệ cộng đồng, cân nặng, chiều cao Tuy nhiên, với mục đích quản lý (thông thường) của nhà trường thì không phải tất cả các thông tin kia đều được lưu trữ. Tùy mục đích, nhà trường có thể cần lưu trữ: – tên, địa chỉ, ngày sinh, lớp, điểm số. – hoặc tên, địa chỉ, ngày sinh, lớp, điểm số, quê quán, họ tên cha mẹ, – hoặc một tập hợp thông tin khác. Để quản lý thông tin của sinh viên bằng cách tin học hóa, Nhà trường cần thiết kế một cơ sở dữ liệu quản lý sinh viên. Cơ sở dữ liệu (database), viết tắt là CSDL hoặc DB, là một tập hợp các dữ liệu có quan hệ logic với nhau, có thể dễ dàng chia sẻ và được thiết kế nhằm đáp ứng các nhu cầu sử dụng của một tổ chức, cá nhân nào đó. Một cách định nghĩa khác dễ hiểu hơn, CSDL là một tập hợp có cấu trúc của những dữ liệu có liên quan với nhau được lưu trữ trong máy tính (bảng chấm công 4 nhân viên, danh sách các đề án, niên giám điện thoại, kết quả học tập của sinh viên, các mặt hàng trong siêu thị). Một CSDL được thiết kế, xây dựng và lưu trữ với một mục đích xác định như phục vụ lưu trữ, truy xuất dữ liệu cho các ứng dụng hay người dùng. 1.2.2. Hệ quản trị cơ sở dữ liệu Hệ quản trị cơ sở dữ liệu (Database Management System – DBMS) là một phần mềm hay hệ thống được thiết kế để quản trị cơ sở dữ liệu. Các hệ quản trị CSDL thực hiện các chức năng lưu trữ, sửa chữa, xóa, tìm kiếm thông tin trong một CSDL. Có rất nhiều loại hệ quản trị CSDL khác nhau, từ phần mềm chạy trên máy tính cá nhân đến các hệ thống lớn chạy trên các siêu máy tính. Đa số các hệ quản trị CSDL đều sử dụng ngôn ngữ có cấu trúc SQL (Structured Query Language). Các hệ quản trị CSDL phổ biến được nhiều người biết đến là MySQL, Oracle, SQL Server, DB2 Ưu điểm của hệ quản trị CSDL: - Đảm bảo tính nhất quán và toàn vẹn dữ liệu - Hạn chế dữ liệu dư thừa - Có khả năng chia sẻ dữ liệu rất lớn Nhược điểm của hệ quản trị CSDL: - Hệ quản trị CSDL tốt thì khá phức tạp và tốn nhiều bộ nhớ 1.3. HỆ QUẢN TRỊ CSDL MICROSOFT SQL SERVER Microsoft SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ của hãng phần mềm Microsoft, hoạt động theo mô hình Client/Server, cho phép nhiều người truy xuất đến dữ liệu cùng lúc, quản lý việc truy nhập hợp lệ và các quyền hạn của từng người dùng trên CSDL. SQL Server có 7 phiên bản: - Enterprise: Chứa đầy đủ các đặc trưng của SQL Server và có thể chạy tốt trên hệ thống lên đến 32 CPUs và 64 GB RAM. Thêm vào đó nó có các dịch vụ giúp cho việc phân tích dữ liệu rất hiệu quả (Analysis Services) 5 - Standard: Rất thích hợp cho các công ty vừa và nhỏ vì giá thành rẻ hơn nhiều so với Enterprise Edition, nhưng lại bị giới hạn một số chức năng cao cấp (advanced features) khác, edition này có thể chạy tốt trên hệ thống lên đến 4 CPU và 2 GB RAM. - Personal: được tối ưu hóa để chạy trên PC nên có thể cài đặt trên hầu hết các phiên bản windows kể cả Windows 98. - Developer: Có đầy đủ các tính năng của phiên bản Enterprise nhưng được chế tạo đặc biệt như giới hạn số lượng người kết nối vào Server cùng một lúc.... Ðây là phiên bản mà các bạn muốn học SQL Server cần có. Chúng ta sẽ dùng edition này trong suốt khóa học. Phiên bản này có thể cài trên Windows 2000 Professional hay Win NT Workstation. - Desktop Engine (MSDE): Ðây chỉ là một engine chạy trên desktop và không có user interface (giao diện). Thích hợp cho việc triển khai ứng dụng ở máy client. Kích thước database bị giới hạn khoảng 2 GB. - Win CE: Dùng cho các ứng dụng chạy trên Windows CE - Trial: Có các tính năng của phiên bản Enterprise, download free, nhưng giới hạn thời gian sử dụng. 1.4. CÁC THÀNH PHẦN TRONG SQL SERVER SQL Server được cấu thành bởi nhiều thành phần khác nhau, các thành phần có mối quan hệ trong một hệ thống, phối hợp với nhau để tạo thành một giải pháp hoàn chỉnh, nâng cao hiệu quả quản trị, phân tích, lưu trữ dữ liệu. - SQL Server Database: Là cỗ máy CSDL bao gồm Database Engine, lõi dịch vụ cho việc lưu trữ, xử lý và bảo mật dữ liệu, sao lưu và đồng bộ, tìm kiếm toàn văn (Full-text Search) và các công cụ cho việc quản trị dữ liệu quan hệ và XML. - Relational Database Engine: Đây là một engine có khả năng chứa dữ liệu dưới nhiều quy mô khác nhau, theo dạng bảng, hỗ trợ nhiều phương thức kết nối thông dụng của Microsoft như ADO, OLE DB, ODBC. 6 - Replication: Là công cụ dùng nhân bản dữ liệu, người dùng có thể tạo một Server khác với bộ dữ liệu giống bộ dữ liệu trên Server chính. Công cụ tạo cơ chế tự đồng bộ dữ liệu giữa Server chính và Server nhân bản. Mục đích của việc tạo Server nhân bản là giảm tải cho Server chính, nâng cao hiệu quả phục vụ với số lượng người, phiên giao dịch lớn. - Data Transformation Service (DTS): Là công cụ giúp bạn chuyển dữ liệu giữa các Server quản trị CSDL khác nhau, DTS có thể chuyển dữ liệu từ SQL Server sang Oracle, Access, DB, trước khi chuyển dữ liệu DTS định dạng kiểu dữ liệu để chuyển sang hệ quản trị CSDL khác. - Analysis service: Là công cụ giúp khai thác phân tích dữ liệu, hay khai phá dữ liệu theo phương thức đa chiều. Từ một tập dữ liệu sẵn có bạn có thể khai phá rồi từ đó đưa ra những nhận định, phân tích, đánh giá và dự đoán theo lĩnh vực nào đố, mỗi chiều trong ngữ cảnh này được coi là một tiêu chí xem xét của dữ liệu. - English query: Đây là công cụ tra cứu dữ liệu bằng tiếng Anh, cú pháp có thể sử dụng theo văn phạm tiếng Anh thông thường. - SQL Server tools: Là bộ công cụ cung cấp giao diện cho người quản trị như Enterprise manager, Query Analyzer ,SQL Server sau khi cài đặt SQL Server group gồm những thành phần cơ bản trong group như sau: 1.5. CÁC TIỆN ÍCH TRONG SQL SERVER - Tiện ích Books Online: cho phép người dùng tra cứu trực tuyến tất cả các thông tin liên quan đến Microsoft SQL Server một cách đầy đủ với các tính năng tìm kiếm dễ dàng và một giao diện dễ sử dụng. - Tiện ích SQL Native Client Configuration: cho phép người sử dụng thay đổi, tạo mới các giao thức kết nối mạng mặc định của máy client khi thực hiện kết nối vào SQL Server tại các máy chủ. - Tiện ích SQL Server Management Studio: giúp người sử dụng quản trị một hoặc nhiều Server khác nhau. Với giao diện đồ họa thân thiện, tiện ích này giúp người sử dụng tạo CSDL và các thành phần khác bên trong SQL Server một cách dễ dàng. 7 - Tiện ích Import and Export Data: cho phép nhập (import), xuất (export) và chuyển đổi dữ liệu qua lại giữa SQL Server và những loại cơ sở dữ liệu khác như Access, Visual Foxpro, Excel - Tiện ích Performance Monitor: thể hiện biểu đồ hoạt động của các tài nguyên trên máy chủ. - Tiện ích Profiler: thể hiện các biến cố đã xảy ra khi SQL Server đang thực hiện một xử lý nào đó trên máy chủ. Các biến cố này được ghi lại trong một tập tin lưu vết (trace file) để sau này sử dụng lại cho việc phân tích nhằm phát hiện ra những vấn đề khi thực hiện các câu lệnh truy vấn trong xử lý đó. - Tiện ích Query Editor: giúp người sử dụng soạn thảo các câu lệnh SQL. Các câu lệnh này sẽ được truy vấn trực tiếp trên CSDL SQL Server và nhận được kết quả ngay sau khi thực hiện truy vấn đó. - Tiện ích SQL Server Network Configuration: dùng để quản lý các thư viện giao thức kết nối mạng của các máy server dùng để lắng nghe các yêu cầu từ máy client. - Tiện ích SQL Server Services: dùng để quản lý các dịch vụ liên quan đến SQL Server. Có thể thực hiện việc khởi động (start), tạm dừng (pause), và dừng (stop) các dịch vụ đó. Các dịch vụ (service) này được xem như là các ứng dụng chạy ngầm định bên dưới hệ thống trong môi trường Windows. 1.6. SỬ DỤNG TIỆN ÍCH SQL SERVER MANAGEMENT STUDIO SQL Server Management Studio là một công cụ trực quan để quản lý SQL Server. Với SQL Server Management Studio, người sử dụng có thể thực hiện các tương tác với database trên giao diện người dùng hoặc bằng câu lệnh. SQL Server Management Studio được thiết kế với giao diện thân thiện và dễ sử dụng. SQL Server có thể được cài đặt riêng sau khi cài đặt SQL Server bằng cách download file cài đặt SQLManagementStudio_x64_ENU.exe hoặc SQLManagementStudio_x86_ENU.exe để tiến hành cài đặt. 8 Hình 1.2. Các file cài đặt SQL Server Management Studio Ngoài ra, người sử dụng có thể cài đặt chung công cụ này trong khi cài SQL Server bằng cách download file cài đặt SQLEXPRWT_x64_ENU.exe hoặc SQLEXPRWT_x86_ENU.exe. Hình 1.3. Các file cài đặt SQL Server và SQL Server Management Studio 9 Sau khi mở SQL Server Management Studio, việc đầu tiên là tiến hành kết nối đến Server bằng cách chọn Server type, Server name và chế độ chứng thực (Authentication) phù hợp. Sau đó nhấn nút Connect. Hình 1.4. Giao diện đăng nhập SQL Server Lưu ý: SQL Server có hai kiểu chứng thực người dùng (authentication): - Windows authentication mode: Việc kiểm tra người dùng của SQL Server sẽ phụ thuộc vào kiểm tra người dùng của Windows. Khi người dùng có quyền đăng nhập vào Windows, người đó sẽ có quyền đăng nhập vào SQL Server. Kiểu kiểm tra người dùng này thường được sử dụng khi ứng dụng khai thác dữ liệu và SQL Server được cài chung trên một máy tính. - SQL Server authentication mode: Việc kiểm tra người dùng của SQL Server sẽ không phụ thuộc vào việc kiểm tra người dùng của Windows. Khi người dùng có quyền đăng nhập vào Windows, người dùng đó chưa chắc có quyền đăng nhập vào SQL Server. Để đăng nhập vào SQL Server, người dùng này phải có một bộ username và password do SQL Server quản lý. Kiểu kiểm tra người dùng này thường được sử dụng khi ứng dụng khai thác dữ liệu và SQL Server không được cài trên cùng một máy. Sau khi kết nối thành công, giao diện công cụ SQL Management Studio như sau: 10 Hình 1.5. Giao diện SQL Server Management Studio Cửa sổ Object Explorer là cửa sổ chính để người dùng tương tác với các cơ sở dữ liệu theo hình thức giao diện trực quan. Việc thực hiện các thao tác trên cửa sổ này sẽ được trình bày cụ thể ở các chương sau. Để tương tác với các cơ sở dữ liệu thông qua câu lệnh SQL, có thể click vào biểu tượng New Query trên thanh công cụ, sau đó thực hiện các bước sau: Hình 1.6. Truy vấn dữ liệu bằng câu lệnh SQL 11 - Chọn CSDL cần thao tác - Soạn thảo câu lệnh SQL tại khung soạn thảo - Chọn (bôi đen) câu lệnh cần thực thi - Click vào nút Excute trên thanh công cụ - Kết quả sẽ được hiển thị bên dưới khung soạn thảo BÀI TẬP KẾT THÚC CHƯƠNG LÝ THUYẾT 1. Anh/chị hiểu như thế nào về mô hình Client/Server? Cho một ví dụ về mô hình Client/Server mà anh/chị biết. 2. Hệ quản trị cơ sở dữ liệu là gì? Chức năng của nó. Nêu một số hệ quản trị cơ sở dữ liệu đang được sử dụng hiện nay? 3. Đối với hệ thống dữ liệu như thế nào thì nên dùng hệ quản trị CSDL SQL Server? 12 Chương 2: CÁC THAO TÁC VỚI CƠ SỞ DỮ LIỆU Thời lượng: 02 tiết lý thuyết + 02 tiết thực hành Kết thúc chương này, sinh viên có thể: Hiểu một cách khái quát về khái niệm Cơ sở dữ liệu. Biết được các CSDL hệ thống trong SQL Server và chức năng của chúng. Biết được cách thức lưu trữ CSDL trong SQL Server Thực hiện được một số thao tác liên quan đến CSDL (tạo mới, attach, detach, xóa) trong SQL Server bằng hai cách. 2.1. CƠ SỞ DỮ LIỆU TRONG SQL SERVER 2.1.1. Tổng quan Một cơ sở dữ liệu của Microsoft SQL Server là một tập hợp các đối tượng: table, view, stored procedure cho phép người sử dụng lưu trữ và khai thác các thông tin dữ liệu được tổ chức và lưu trữ bên trong đó. Có hai loại cơ sở dữ liệu: CSDL hệ thống và CSDL do người dùng tự định nghĩa. Một CSDL của Microsoft SQL Server chỉ do một người dùng tạo ra, tuy nhiên, nhiều n ... tored Procedure? 2. Hai bảng INSERTED là DELETED là gì? Chức năng của hai bảng nói trên. 3. Khi nào nên sử dụng từ khóa FOR, AFTER, INSTEAD OF? 4. Trình bày chức năng của câu lệnh ROLLBACK TRANSACTION. THỰC HÀNH Sử dụng cơ sở dữ liệu QL_DEAN đã thực hiện ở các chương trước, thực hiện các yêu cầu sau: 1. Tạo trigger trên bảng NHANVIEN cho thao tác UPDATE. Khi có thao tác cập nhật dữ liệu xảy ra trên cột TenNV, thông báo cho người dùng “Không được phép cập nhật” và hủy thao tác. 2. Thêm cột TongGio vào trong bảng NHANVIEN. Viết trigger cho các thao tác INSERT, UPDATE, DELETE trên bảng PHANCONG. Khi có mẩu tin được thêm vào, cập nhật hay xóa thì TongGio được tính lại tương ứng cho nhân viên được phân công. 103 Lưu ý: - Ban đầu, TongGio = 0 - TongGio là tổng thời gian phân công tham gia vào các dự án cho các nhân viên. 3. Tạo các trigger để kiểm tra ràng buộc liên thuộc tính giữa NgSinh và NgayBatDau trên bảng NHANVIEN. Trong đó: YEAR(NgayBatDau) - YEAR(NgSinh) >= 18 4. Tạo trigger để kiểm tra ràng buộc trên bảng THANNHAN sao cho số lượng thân nhân của một nhân viên không quá 05 người. 5. Tạo trigger cho thao xóa trên bảng DEAN để đảm bảo nguyên tắc: Mã đề án sẽ không thể được xóa khi còn mẩu tin chứa mã đề án đó trên bảng PHANCONG. 6. Tạo trigger trên bảng PHONGBAN cho thao tác UPDATE. Khi có thao tác cập nhật dữ liệu xảy ra trên cột MaPhong, tất cả dữ liệu trên các bảng có liên quan cũng phải thay đổi theo. 104 TÀI LIỆU THAM KHẢO [1] Trần Xuân Hải, Nguyễn Tiến Dũng, Giáo trình SQL Server 2005, NXB ĐH Quốc gia TP Hồ Chí Minh, 2009 [2] Giáo trình SQL Server 2008, Trung tâm tin học Nhất Nghệ, TP. Hồ Chí Minh [3] Mike Hotek, Microsoft SQL Server 2008 Step by Step, Microsoft Press, 2008 [4] Hà Văn Lâm, Bài giảng Hệ quản trị CSDL SQL Server, Trường ĐH Phạm Văn Đồng, 2013 105 MỤC LỤC LỜI NÓI ĐẦU ............................................................................................................ 1 Chương 1: TỔNG QUAN VỀ SQL SERVER ............................................................ 2 1.1. MÔ HÌNH CLIENT/SERVER ......................................................................... 2 1.2. CƠ SỞ DỮ LIỆU VÀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU .............................. 3 1.2.1. Cơ sở dữ liệu ............................................................................................. 3 1.2.2. Hệ quản trị cơ sở dữ liệu ........................................................................... 4 1.3. HỆ QUẢN TRỊ CSDL MICROSOFT SQL SERVER .................................... 4 1.4. CÁC THÀNH PHẦN TRONG SQL SERVER ............................................... 5 1.5. CÁC TIỆN ÍCH TRONG SQL SERVER ........................................................ 6 1.6. SỬ DỤNG TIỆN ÍCH SQL SERVER MANAGEMENT STUDIO ............... 7 BÀI TẬP KẾT THÚC CHƯƠNG ........................................................................ 11 Chương 2: CÁC THAO TÁC VỚI CƠ SỞ DỮ LIỆU ............................................. 12 2.1. CƠ SỞ DỮ LIỆU TRONG SQL SERVER ................................................... 12 2.1.1. Tổng quan ................................................................................................ 12 2.1.2. Các CSDL hệ thống ................................................................................ 12 2.1.3. CSDL do người dùng tự định nghĩa ........................................................ 13 2.2. TẠO CƠ SỞ DỮ LIỆU .................................................................................. 15 2.2.1. Các thuộc tính của một cơ sở dữ liệu trong Microsoft SQL Server ....... 15 2.2.2. Tạo CSDL trong SQL Server .................................................................. 16 2.3. GẮN (ATTACH) CƠ SỞ DỮ LIỆU VÀO SQL SERVER ........................... 18 2.4. XÓA CƠ SỞ DỮ LIỆU ................................................................................. 20 2.5. GỠ (DETACH) CƠ SỞ DỮ LIỆU KHỎI SQL SERVER ............................ 21 BÀI TẬP KẾT THÚC CHƯƠNG ........................................................................ 22 106 Chương 3: TẠO VÀ QUẢN LÝ TABLE (BẢNG) .................................................. 24 3.1. KHÁI NIỆM TABLE (BẢNG) ...................................................................... 24 3.1.1. Cấu trúc Table ......................................................................................... 24 3.1.2. Khóa chính, khóa ngoại .......................................................................... 24 3.2. CÁC KIỂU DỮ LIỆU TRONG SQL SERVER ............................................ 25 3.2.1. Kiểu dữ liệu số chính xác (Exact Numerics) .......................................... 25 3.2.2. Kiểu dữ liệu số xấp xỉ (Approximate Numerics) .................................... 26 3.2.3. Kiểu dữ liệu ngày giờ (Date and Time) .................................................. 26 3.2.4. Kiểu dữ liệu chuỗi ký tự .......................................................................... 26 3.3. TẠO TABLE .................................................................................................. 27 3.4. CHỈNH SỬA CẤU TRÚC TABLE ............................................................... 31 3.5. XÓA TABLE ................................................................................................. 32 3.6. TẠO RÀNG BUỘC DỮ LIỆU TRONG TABLE ......................................... 33 BÀI TẬP KẾT THÚC CHƯƠNG ........................................................................ 35 Chương 4: BIỂU ĐỒ CƠ SỞ DỮ LIỆU (DATABASE DIAGRAM) ..................... 39 4.1. KHÁI NIỆM BIỂU ĐỒ CƠ SỞ DỮ LIỆU .................................................... 39 4.2. TẠO BIỂU ĐỒ CƠ SỞ DỮ LIỆU ................................................................. 39 4.3. QUẢN LÝ CÁC ĐỐI TƯỢNG TRONG BIỂU ĐỒ ..................................... 42 4.3.1. Sửa đổi cấu trúc bảng hiện có ................................................................. 42 4.3.2. Tạo mới, hủy bỏ bảng trong CSDL ......................................................... 43 4.3.3. Chèn, xóa bảng trong mô hình CSDL ..................................................... 43 4.3.4. Thay đổi cách trình bày ........................................................................... 43 4.3.5. In mô hình quan hệ dữ liệu ..................................................................... 44 BÀI TẬP KẾT THÚC CHƯƠNG ........................................................................ 44 107 Chương 5: NGÔN NGỮ TRUY VẤN DỮ LIỆU T-SQL ........................................ 45 5.1. KHÁI NIỆM CƠ BẢN VỀ T-SQL ................................................................ 45 5.2. CÁC CÂU LỆNH ĐỊNH NGHĨA DỮ LIỆU ................................................ 46 5.2.1. Câu lệnh tạo bảng .................................................................................... 46 5.2.2. Câu lệnh thay đổi cấu trúc bảng .............................................................. 46 5.2.3. Câu lệnh xóa bảng ................................................................................... 46 5.3. CÁC CÂU LỆNH THAO TÁC VỚI DỮ LIỆU ............................................ 46 5.3.1. Câu lệnh nhập dữ liệu vào bảng .............................................................. 46 5.3.2. Câu lệnh xóa dữ liệu ra khỏi bảng .......................................................... 47 5.3.3. Câu lệnh chỉnh sửa dữ liệu trong bảng.................................................... 48 5.4. CÂU LỆNH TRUY VẤN DỮ LIỆU ............................................................. 48 5.4.1. Cú pháp chung......................................................................................... 49 5.4.2. Truy vấn thông tin từ nhiều bảng ............................................................ 54 5.4.3. Gom nhóm dữ liệu .................................................................................. 55 5.4.4. Câu lệnh truy vấn lồng nhau ................................................................... 56 5.5. CÁC TOÁN TỬ TRONG T-SQL .................................................................. 57 5.5.1. Toán tử số học ......................................................................................... 57 5.5.2. Toán tử logic ........................................................................................... 57 5.5.3. Toán tử so sánh ....................................................................................... 57 5.5.4. Toán tử tập hợp ....................................................................................... 58 5.6. CÁC HÀM THƯỜNG DÙNG TRONG T-SQL ........................................... 58 5.6.1. Các hàm tính toán theo nhóm ................................................................. 58 5.6.2. Các hàm chuyển đổi kiểu dữ liệu ............................................................ 59 5.6.3. Các hàm ngày giờ .................................................................................... 60 108 5.6.4. Các hàm toán học .................................................................................... 61 5.6.4. Các hàm xử lý chuỗi ............................................................................... 62 5.7. BIẾN TRONG NGÔN NGỮ T-SQL ............................................................. 63 5.7.1. Biến cục bộ và biến hệ thống .................................................................. 63 5.7.2. Làm việc với biến cục bộ ........................................................................ 64 5.8. CÁC CẤU TRÚC ĐIỀU KHIỂN VÀ CÂU LỆNH TRONG T-SQL ........... 64 5.8.1. Cấu trúc rẽ nhánh IFELSE... ............................................................... 64 5.8.2. Cấu trúc lặp WHILE ............................................................................... 66 5.8.3. Câu lệnh GOTO ...................................................................................... 66 5.8.4. Câu lệnh RETURN ................................................................................. 67 BÀI TẬP KẾT THÚC CHƯƠNG ........................................................................ 67 Chương 6: VIEW (KHUNG NHÌN) ......................................................................... 72 6.1. TỔNG QUAN VỀ VIEW .............................................................................. 72 6.1.1. Khái niệm View ...................................................................................... 72 6.1.2. Lợi ích của việc sử dụng View................................................................ 72 6.2. TẠO VIEW .................................................................................................... 72 6.3. XEM VÀ CẬP NHẬT DỮ LIỆU THÔNG QUA VIEW .............................. 76 6.4. THAY ĐỔI ĐỊNH NGHĨA VÀ HỦY BỎ VIEW ......................................... 77 6.4.1. Thay đổi định nghĩa View ....................................................................... 77 6.4.2. Hủy bỏ View ........................................................................................... 78 BÀI TẬP KẾT THÚC CHƯƠNG ........................................................................ 78 Chương 7: STORED PROCEDURE (THỦ TỤC LƯU TRỮ) ................................. 81 7.1. TỔNG QUAN VỀ STORED PROCEDURE ................................................ 81 7.1.1. Khái niệm Stored Procedured ................................................................. 81 109 7.1.2. Các Stored Procedured hệ thống ............................................................. 82 7.1.3. Lợi ích của việc sử dụng Stored Procedure ............................................ 82 7.2. TẠO VÀ THỰC THI STORED PROCEDURE............................................ 83 7.2.1. Tạo Stored Procedure .............................................................................. 83 7.2.2. Thực thi Stored Procedure ...................................................................... 84 7.2.3. Tham số trong Stored Procedure ............................................................. 84 7.3. THAY ĐỔI NỘI DUNG VÀ HỦY STORED PROCEDURE ...................... 87 7.3.1. Thay đổi nội dung Stored Procedure ....................................................... 87 7.3.2. Hủy Stored Procedure ............................................................................. 87 BÀI TẬP KẾT THÚC CHƯƠNG ........................................................................ 87 Chương 8: FUNCTION (HÀM) ............................................................................... 89 8.1. TỔNG QUAN VỀ FUNCTION .................................................................... 89 8.2. TẠO VÀ GỌI THỰC HIỆN FUNCTION ..................................................... 90 8.2.1. Scalar Function........................................................................................ 90 8.2.2. Inline Table Function .............................................................................. 91 8.2.3. Multistatement Table Function ............................................................... 92 8.3. THAY ĐỔI NỘI DUNG VÀ XÓA FUNCTION .......................................... 93 8.3.1. Thay đổi nội dung Function .................................................................... 93 8.3.2. Xóa Function ........................................................................................... 93 BÀI TẬP KẾT THÚC CHƯƠNG ........................................................................ 94 Chương 9: TRIGGER ............................................................................................... 96 9.1. TỔNG QUAN VỀ TRIGGER ....................................................................... 96 9.1.1. Khái niệm Trigger ................................................................................... 96 9.1.2. Các trường hợp nên dùng Trigger ........................................................... 96 110 9.1.3. Cơ chế hoạt động của Trigger ................................................................. 96 9.2. TẠO TRIGGER ............................................................................................. 97 9.2.1. Cú pháp ................................................................................................... 97 9.2.2. Các lệnh, biến hệ thống và các hàm thường sử dụng trong trigger ........ 98 9.3. THAY ĐỔI NỘI DUNG VÀ XÓA TRIGGER ........................................... 100 9.3.1. Thay đổi nội dung Trigger .................................................................... 100 9.3.2. Làm cho Trigger mất hiệu lực/có hiệu lực ............................................ 101 9.3.3. Xóa Trigger ........................................................................................... 102 BÀI TẬP KẾT THÚC CHƯƠNG ...................................................................... 102 TÀI LIỆU THAM KHẢO ....................................................................................... 104
File đính kèm:
- bai_giang_sql_server_pham_khanh_bao.pdf