Bài 1. Tổng quan về hệ quản trị Cơ sở dữ liệu 4 1. Giới thiệu về hệ quản trị cơ sở dữ liệu 4 2. Cài đặt hệ quản trị CSDL MS SQL Server 5 3. Đăng nhập vào MS SQL Server 13 4. Các công cụ của MS SQL Server 13 5. Các kiểu dữ liệu trong MS SQL Server 16 Bài 2. Định nghĩa dữ liệu trong MS SQL Server 18 1. Tạo, sử dụng, xóa cơ sở dữ liệu 18 2. Tạo bảng dữ liệu 18 3. Tạo các loại ràng buộc dữ liệu 19 3.1. Tạo ràng buộc khóa chính Primary key 19 3.3. Tạo ràng buộc Default 24 3.4. Tạo ràng buộc Unique 25 3.5. Tạo ràng buộc Check 26 4. Sửa, xóa bảng dữ liệu 28 Bài 3:Thao tác dữ liệu trong MS SQL Server 33 1. Thêm mới một dòng dữ liệu 33 2. Cập nhật dữ liệu 34 3. Xóa các dòng dữ liệu 37 4. Truy xuất dữ liệu 38 4.1. Lấy thông tin từ các cột của bảng bằng mệnh đề SELECT 38 4.2. Chọn các dòng của bảng bằng mệnh đề WHERE 46 4.3. Truy vấn thông tin từ nhiều bảng 50 4.4. Phân nhóm dữ liệu bằng mệnh đề GROUP BY 62 4.5. Lọc nhóm kết quả truy vấn bằng mệnh đề HAVING 65 4.6. Sắp xếp kết quả truy vấn bằng mệnh đề ORDER BY 66 4.7. Truy vấn lồng nhau 67 Bài 4:Khung nhìn (View) 71 1. Tạo khung nhìn 72 2. Cập nhật, bổ sung và xóa dữ liệu thông qua khung nhìn 75 3. Sửa, xóa khung nhìn 78 Bài 5: Thủ tục lưu trữ (Stored Procedure) 80 1. Tạo, gọi thủ tục lưu trữ 81 2. Khai báo tham số, biến trong thủ tục 83 3. Khai báo và sử dụng biến trong thủ tục 83 4. Sử dụng cấu trúc điều khiển trong thủ tục 84 4.1. Sử dụng cấu trúc If…Else… 84 4.2. Sử dụng cấu trúc While 85 4.3. Sử dụng cấu trúc Case 86 5. Sửa, xóa thủ tục lưu trữ 87 5.1. Sửa thủ tục lưu trữ 87 5.2. Xóa thủ tục lưu trữ 88
TRƯỜNG CAO ĐẲNG CƠ ĐIỆN HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN GIÁO TRÌNH QUẢN TRỊ SQL SERVER (Tài liệu lưu hành nội bộ) Hà Nội, 2018 MỤC LỤC Bài Tổng quan hệ quản trị Cơ sở liệu Giới thiệu hệ quản trị sở liệu .4 Cài đặt hệ quản trị CSDL MS SQL Server Đăng nhập vào MS SQL Server .13 Các công cụ MS SQL Server .13 Các kiểu liệu MS SQL Server 16 Bài Định nghĩa liệu MS SQL Server 18 Tạo, sử dụng, xóa sở liệu 18 Tạo bảng liệu 18 Tạo loại ràng buộc liệu 19 3.1 Tạo ràng buộc khóa Primary key .19 3.3 Tạo ràng buộc Default .24 3.4 Tạo ràng buộc Unique .25 3.5 Tạo ràng buộc Check 26 Sửa, xóa bảng liệu .28 Bài 3: Thao tác liệu MS SQL Server .33 Thêm dòng liệu .33 Cập nhật liệu .34 Xóa dịng liệu 37 Truy xuất liệu 38 4.1 Lấy thông tin từ cột bảng mệnh đề SELECT .38 4.2 Chọn dòng bảng mệnh đề WHERE 46 4.3 Truy vấn thông tin từ nhiều bảng .50 4.4 Phân nhóm liệu mệnh đề GROUP BY 62 4.5 Lọc nhóm kết truy vấn mệnh đề HAVING 65 4.6 Sắp xếp kết truy vấn mệnh đề ORDER BY 66 4.7 Truy vấn lồng 67 Bài 4: Khung nhìn (View) .71 Tạo khung nhìn 72 Cập nhật, bổ sung xóa liệu thơng qua khung nhìn 75 Sửa, xóa khung nhìn 78 Bài 5: Thủ tục lưu trữ (Stored Procedure) .80 Tạo, gọi thủ tục lưu trữ .81 Khai báo tham số, biến thủ tục 83 Khai báo sử dụng biến thủ tục 83 Sử dụng cấu trúc điều khiển thủ tục 84 4.1 Sử dụng cấu trúc If…Else… 84 4.2 Sử dụng cấu trúc While .85 4.3 Sử dụng cấu trúc Case .86 Sửa, xóa thủ tục lưu trữ 87 5.1 Sửa thủ tục lưu trữ 87 5.2 Xóa thủ tục lưu trữ 88 Bài Tổng quan hệ quản trị Cơ sở liệu Giới thiệu hệ quản trị sở liệu Hệ quản trị sở liệu (Database Management System – DBMS): Là tập hợp chương trình dùng để quản lý cấu trúc liệu sở liệu đồng thời điều khiển việc truy xuất liệu sở liệu Cung cấp cho người dùng ứng dụng môi trường thuận tiện sử dụng hiệu tài nguyên liệu Ví dụ: Một số hệ quản trị CSDL thường gặp: MS Access MS SQL Server MySQL Oracle Microsoft SQL Server: Là hệ quản trị sở liệu Microsoft phát triển Hoạt động theo mơ hình Client/Server cho phép đồng thời lúc nhiều người dùng truy xuất đến sở liệu SQL, viết tắt Structured Query Language (ngôn ngữ hỏi có cấu trúc), cơng cụ sử dụng để tổ chức, quản lý truy xuất liệu đuợc lưu trữ sở liệu SQL hệ thống ngôn ngữ bao gồm tập câu lệnh sử dụng để tương tác với sở liệu quan hệ Tên gọi ngơn ngữ hỏi có cấu trúc phần làm liên tưởng đến công cụ (ngôn ngữ) dùng để truy xuất liệu sở liệu Thực mà nói, khả SQL vượt xa so với công cụ truy xuất liệu, mục đích ban đầu SQL xây dựng nên truy xuất liệu chức quan trọng SQL sử dụng để điều khiển tất chức mà hệ quản trị sở liệu cung cấp cho người dùng bao gồm: Định nghĩa liệu: SQL cung cấp khả định nghĩa sở liệu, cấu trúc lưu trữ tổ chức liệu mối quan hệ thành phần liệu Truy xuất thao tác liệu: Với SQL, người dùng dễ dàng thực thao tác truy xuất, bổ sung, cập nhật loại bỏ liệu sở liệu Điều khiển truy cập: SQL sử dụng để cấp phát kiểm soát thao tác người sử dụng liệu, đảm bảo an toàn cho sở liệu Đảm bảo toàn vẹn liệu: SQL định nghĩa ràng buộc tồn vẹn sở liệu nhờ đảm bảo tính hợp lệ xác liệu trước thao tác cập nhật lỗi hệ thống Như vậy, nói SQL ngơn ngữ hồn thiện sử dụng hệ thống sở liệu thành phần thiếu hệ quản trị sở liệu Mặc dù SQL ngơn ngữ lập trình C, C++, Java, song câu lệnh mà SQL cung cấp nhúng vào ngơn ngữ lập trình nhằm xây dựng ứng dụng tương tác với sở liệu Khác với ngơn ngữ lập trình quen thuộc C, C++, Java, SQL ngôn ngữ có tính khai báo Với SQL, người dùng cần mô tả yêu cầu cần phải thực sở liệu mà không cần phải cách thức thực yêu cầu Chính vậy, SQL ngơn ngữ dễ tiếp cận dễ sử dụng SQL Server sử dụng ngôn ngữ lập trình truy vấn CSDL Transact-SQL (T-SQL), phiên Structured Query Language Ngơn ngữ lập trình truy vấn T-SQL cho phép truy xuất liệu, cập nhật quản lý hệ thống CSDL quan hệ Mỗi máy chủ có hệ quản trị CSDL SQL Server Cài đặt hệ quản trị CSDL MS SQL Server - Bước : Tại hình cài đặt SQL Server 2008 bạn chọn mục Installation sau chọn New SQL Server stand-alone installation or add features to an existing installation - Bước : Tại hình Setup Support Rules chọn OK - Bước : Tại hình "Product Key", chọn Next để tiếp tục - Bước : Tại hình License Term, đánh dấu chọn nút "I accept the licence terms", chọn "Next" - Bước : Tại hình "setup support files" nhấn nút "install" để tiếp tục - Bước : hình "Setup Support Rules", thứ sn sẽ, nhấn nút "Next" để tiếp tục - Bước : Trên hình "features selection", nút "Sellect All" để chọn tất cả, sau nhấn nút "Next" - Bước : hình "instance Configuratio", có lựa chọn : chọn hình dưới, nhấn nút Next để tiếp tục - Bước : Chọn Next để tiếp tục - Bước 10 : Chọn "Account Name" chọn NT AUTHORITY\NETWORK hình sau đây, sau nhấn Next để tiếp tục 10 SELECT masv,hodem,ten, DATEDIFF(YY,ngaysinh,GETDATE()), tenlop FROM sinhvien,lop WHERE sinhvien.malop=lop.malop câu lệnh: SELECT * FROM dssv Khi tạo khung nhìn với câu lệnh CREATE VIEW, ta cần phải lưu ý số nguyên tắc sau: Tên khung nhìn tên cột khung nhìn, giống bảng, phải tuân theo qui tắc định danh Không thể qui định ràng buộc tạo mục cho khung nhìn Câu lệnh SELECT với mệnh đề COMPUTE BY không sử dụng để định nghĩa khung nhìn Phải đặt tên cho cột khung nhìn trường hợp sau đây: Trong kết câu lệnh SELECT có cột sinh biểu thức (tức là tên cột bảng sở) cột khơng đặt tiêu đề Tồn hai cột kết câu lệnh SELECT có tiêu đề cột Ví dụ: Câu lệnh câu lệnh sai cột thứ không xác định tên cột CREATE VIEW tuoisinhvien AS SELECT masv,hodem,ten,DATEDIFF(YY,ngaysinh,GETDATE()) 74 FROM sinhvien Cập nhật, bổ sung xóa liệu thơng qua khung nhìn Đối với số khung nhìn, ta tiến hành thực thao tác cập nhập, bổ sung xoá liệu Thực chất, thao tác chuyển thành thao tác tương tự bảng sở có tác động đến bảng sở Về mặt lý thuyết, để thực thao tác bổ sung, cập nhật xố, khung nhìn trước tiên phải thoả mãn điều kiện sau đây: Trong câu lệnh SELECT định nghĩa khung nhìn khơng sử dụng từ khoá DISTINCT, TOP, GROUP BY UNION Các thành phần xuất danh sách chọn câu lệnh SELECT phải cột bảng sở Trong danh sách chọn không chứa biểu thức tính tốn, hàm gộp Ngồi điều kiện trên, thao tác thay đổi đến liệu thơng qua khung nhìn cịn phải đảm bảo thoả mãn ràng buộc bảng sở, tức đảm bảo tính tồn vẹn liệu Ví dụ minh hoạ cho ta thấy việc thực thao tác bổ sung, cập nhật xố liệu thơng qua khung nhìn Ví dụ: Xét định nghĩa hai bảng DONVI NHANVIEN sau: CREATE TABLE donvi ( madv INT PRIMARY KEY, endv NVARCHAR(30) NOT NULL, dienthoai NVARCHAR(10) NULL ) CREATE TABLE nhanvien ( manv NVARCHAR(10) hoten PRIMARY KEY, NVARCHAR(30) NOT NULL, ngaysinh DATETIME diachi NVARCHAR(50) NULL, NULL, madv INT FOREIGN KEY 75 ON DELETE CASCADE ON UPDATE CASCADE REFERENCES donvi(madv) ) Giả sử hai bảng có liệu sau: Bảng DONVI Bảng NHANVIEN Câu lệnh định nghĩa khung nhìn NV1 cung cấp thơng tin mã nhân viên, họ tên mã đơn vị nhân viên làm việc: CREATE VIEW nv1 AS SELECT manv,hoten,madv FROM nhanvien Nếu ta thực câu lệnh INSERT INTO nv1 VALUES('NV04','Le Thi D',1) Một ghi bổ sung vào bảng NHANVIEN liệu bảng là: Bản ghi Thơng qua khung nhìn này, ta thực thao tác cập nhật xoá liệu Chẳng hạn, ta thực câu lệnh: 76 DELETE FROM nv1 WHERE manv='NV04' Thì ghi tương ứng với nhân viên có mã NV04 bị xoá khỏi bảng NHANVIEN Nếu danh sách chọn câu lệnh SELECT có xuất biểu thức tính tốn đơn giản, thao tác bổ sung liệu thơng qua khung nhìn khơng thể thực Tuy nhiên, trường hợp thao tác cập nhật xố liệu vấn có khả thực (hiển nhiên cập nhật liệu cột có từ biểu thức tính tốn) Ví dụ: Xét khung nhìn NV2 định nghĩa sau: CREATE VIEW nv2 AS SELECT manv,hoten,YEAR(ngaysinh) AS namsinh,madv FROM nhanvien Đối với khung nhìn NV2, ta khơng thể thực thao tác bổ sung liệu cập nhật xố liệu bảng thơng qua khung nhìn Câu lệnh khơng thể thực khung nhìn NV2 INSERT INTO nv2(manv,hoten,madv) VALUES('NV05','Le Van E',1) Nhưng câu lệnh: UPDATE nv2 SET hoten='Le Thi X' WHERE manv='NV04' câu lệnh DELETE FROM nv2 WHERE manv='NV04' lại thực có tác động liệu bảng NHANVIEN Trong trường hợp khung nhìn tạo từ phép nối (trong ngoài) nhiều bảng, ta thực thao tác bổ sung cập nhật liệu thao tác có tác động đến bảng sở (câu lệnh DELETE thực trường hợp này) Ví dụ: Với khung nhìn định nghĩa sau: CREATE VIEW nv3 AS SELECT manv,hoten,ngaysinh, diachi,nhanvien.madv 77 AS noilamviec, donvi.madv, tendv, dienthoai FROM nhanvien FULL OUTER JOIN donvi ON nhanvien.madv=donvi.madv Câu lệnh: INSERT INTO nv3(manv,hoten,noilamviec) VALUES('NV05','Le Van E',1) bổ sung thêm vào bảng NHANVIEN ghi Hoặc câu lệnh: INSERT INTO nv3(madv,tendv) VALUES(3,'P Ke toan') bổ sung thêm vào bảng DONVI ghi hai câu lệnh có tác động đến bảng sở Câu lệnh thực có tác động lúc đến hai bảng sở INSERT INTO nv3(manv,hoten,noilamviec,madv,tendv) VALUES('NV05','Le Van E',1,3,'P Ke toan') Sửa, xóa khung nhìn Sửa đổi khung nhìn Câu lệnh ALTER VIEW sử dụng để định nghĩa lại khung nhìn có khơng làm thay đổi quyền cấp phát cho người sử dụng trước Câu lệnh sử dụng tương tự câu lệnh CREATE VIEW có cú pháp sau: ALTER VIEW tên_khung_nhìn [(danh_sách_tên_cột)] AS Câu_lệnh_SELECT Ví dụ: Ta định nghĩa khung nhìn sau: CREATE VIEW viewlop AS SELECT malop,tenlop,tenkhoa 78 FROM lop INNER JOIN khoa ON lop.makhoa=khoa.makhoa WHERE tenkhoa='Khoa Vật lý’ định nghĩa lại khung nhìn câu lệnh: ALTER VIEW view_lop AS SELECT malop,tenlop,hedaotao FROM lop INNER JOIN khoa ON lop.makhoa=khoa.makhoa WHERE tenkhoa='Khoa Xóa khung nhìn Khi khung nhìn khơng cịn sử dụng, ta xố khỏi sở liệu thông qua câu lệnh: DROP VIEW tên_khung_nhìn Nếu khung nhìn bị xố, tồn quyền cấp phát cho người sử dụng khung nhìn đồng thời bị xố Do đó, ta tạo lại khung nhìn phải tiến hành cấp phát lại quyền cho người sử dụng Ví dụ: Câu lệnh xố khung nhìn VIEW_LOP khỏi sở liệu DROP VIEW view_lop 79 Bài 5: Thủ tục lưu trữ (Stored Procedure) Thủ tục lưu trữ (Stored Procedure): Là nhóm câu lệnh Transact-SQL compiled (biên dịch) Được lưu trữ CSDL tên phân biệt Được xử lý đơn vị (chứ nhiều câu lệnh SQL riêng lẻ) Có tham số Input Output Cho phép gọi thực từ ngơn ngữ lập trình Thủ tục lưu trữ thường dùng thực truy vấn hay cập nhật liệu theo yêu cầu người dùng Khi thủ tục lưu trữ định nghĩa, gọi thơng qua tên thủ tục, nhận tham số truyền vào, thực thi câu lệnh SQL bên thủ tục trả giá trị sau thực xong Thủ tục lưu trữ có thành phần sau: Các cấu trúc điều khiển (IF, WHILE, FOR) Các biến ngơn ngữ lập trình nhằm lưu giữ giá trị tính tốn được, giá trị truy xuất từ sở liệu Một tập câu lệnh SQL kết hợp lại với thành khối lệnh bên thủ tục Một thủ tục nhận tham số truyền vào, trả giá trị thông qua tham số (như ngôn ngữ lập trình) Tạo, gọi thủ tục lưu trữ 80 1.1 Cú pháp tạo thủ tục lưu trữ CREATE PROC[EDURE] tên_thủ_tục [(các_tham_số_hình_thức)] [WITH RECOMPILE | ENCRYPTION | RECOMPILE,ENCRYPTION] AS [BEGIN] các_câu_lệnh_của_thủ_tục [END] Trong đó: tên_thủ_tục: Tên thủ tục cần tạo Tên phải tuân theo qui tắc định danh không vượt 128 ký tự các_câu_lệnh_của_thủ_tục: Tập hợp câu lệnh sử dụng nội dung thủ tục các_tham_số_hình_thức: Nếu nhiều tham số khai báo phân cách dấu phẩy Khai báo tham số tối thiểu phải bao gồm hai phần: tên tham số bắt đầu dấu @ kiểu liệu tham số Ví dụ: @MaMonHoc nvarchar(10) RECOMPILE : Thơng thường, thủ tục phân tích, tối ưu dịch sẵn lần gọi Nếu tuỳ chọn WITH RECOMPILE định, thủ tục dịch lại gọi ENCRYPTION: Thủ tục mã hoá tuỳ chọn WITH ENCRYPTION định Nếu thủ tục mã hố, ta khơng thể xem nội dung thủ tục 81 Ví dụ: Xây dựng thủ tục liệt kê tên môn học có mã bắt đầu "MD" Create Proc SP_MonHocLaMoDun As Select MaMH, TenMH From MonHoc Where MaMH like 'MD%' 1.2 Lời gọi thủ tục lưu trữ Tên_thủ_tục [Danh_sách_đối_số] Hoặc EXEC Tên_thủ_tục [Danh_sách_đối_số] (Trong trường hợp lời gọi thủ tục thực bên thủ tục khác) Ví dụ 1: SP_MonHocLaMoDun Hoặc Exec SP_MonHocLaMoDun Ví dụ 2: SP_DSLopCuaKhoa Hoặc Exec SP_DSLopCuaKhoa → Hiện danh sách lớp khoa có mã CNTT Exec SP_DSLopCuaKhoa ‘KT’ → Hiện danh sách lớp khoa có mã KT 82 Khai báo tham số, biến thủ tục @tên_tham_số kiểu_dữ_liệu [= giá_trị_mặc_định] [OUTPUT] Tham số hình thức có loại: Input: Nhận giá trị từ người dùng gửi vào cho thủ tục xử lý @tên_tham_số kiểu_dữ_liệu [= giá_trị_mặc_định] Khi có khai báo giá trị mặc định: tham số hình thức nhận giá trị mặc định không truyền giá trị cho lời gọi thủ tục Output: Nhận kết trả từ thủ tục Trong trường hợp cần giữ lại thay đổi giá trị tham số sau kết thúc thủ tục, ta sử dụng OUTPUT @tên_tham_số kiểu_dữ_liệu OUTPUT Ví dụ: Xây dựng thủ tục cho biết danh sách lớp mã khoa cho trước Create Proc SP_DSLopCuaKhoa (@MaKhoa nvarchar(10) = 'CNTT') AS Select TenLop From Lop inner join Khoa on Lop.MaKhoa = Khoa.MaKhoa Where Lop.MaKhoa = @MaKhoa Khai báo sử dụng biến thủ tục 3.1 Biến cục Biến cục đối tượng chứa giá trị thuộc kiểu liệu định, tên biến bắt đầu ký tự @ Khai báo biến cục bộ: Declare Tên_biến Kiểu_dữ_liệu Ví dụ: Declare @MaSV nvarchar(10) 83 Declare @NgaySinh datetime Declare @SoTiet int Declare @Diem float Gán giá trị cho biến cục bộ: Set Tên_biến = Giá_trị Set Tên_biến = Tên_biến Set Tên_biến = Biểu_thức Set Tên_biến = Kết_quả_truy_vấn Giá trị gán cho biến phải phù hợp với kiểu liệu biến Set @MaSV = ‘SV0101’ Set @SoTiet = 60 Set @SoSV = (Select count(*) From SinhVien) Set @Diem = 7.5 Đưa kết truy vấn vào biến Select @Ho = HoDem, @Ten = Ten From SinhVien Where MaSV = ‘SV0101’ 3.2 Biến toàn cục Biến toàn cục biến hệ thống SQL Server cung cấp, tên biến bắt đầu ký tự @ Người sử dụng gán giá trị trực tiếp cho biến Một số biến hệ thống: @@error: thông báo mã lỗi, @@error = 0: thao tác thực thành công @@rowcount: cho biết số dòng bị ảnh hưởng lệnh cuối (insert, update, delete) Sử dụng cấu trúc điều khiển thủ tục 4.1 Sử dụng cấu trúc If…Else… 84 Cấu trúc If…Else… xét điều kiện để định lệnh T-SQL thực Cú pháp: If Biểu_thức_điều_kiện Khối_lệnh [ Else Khối_lệnh ] Khối lệnh nhiều lệnh nằm cặp từ khóa Begin End Ví dụ: Cho mã SV bất kỳ, kiểm tra xem SV có ngày sinh hay không? Create Proc SP_SVCungNgaySinh (@MaSV1 nvarchar(10), @MaSV2 nvarchar(10)) As Begin declare @NS1 smalldatetime Select @MaKhoa1 = MaKhoa From SinhVien sv inner join Lop l on sv.MaLop = l.MaLop Where MaSV = @MaSV1 declare @NS2 smalldatetime Select @MaKhoa2 = MaKhoa From SinhVien sv inner join Lop l on sv.MaLop = l.MaLop Where MaSV = @MaSV2 If @NS1 = @NS2 print N'2 SV có ngày sinh' Else print N'2 SV khác ngày sinh với nhau' End Exec SP_SVCungNgaySinh 'SV0101','SV0102' 85 4.2 Sử dụng cấu trúc While Thực lặp lại đoạn lệnh T-SQL điều kiện Cú pháp: While Biểu_thức_điều_kiện [Begin] Khối_lệnh [Break] [Continue] [End] Trong đó: Break: khỏi vịng while hành Continue: trở lại đầu vịng while, bỏ qua lệnh sau Ví dụ: Xét lược đồ quan hệ: SV(MaSV: int, HoTen: nvarchar(40)) Viết lệnh xác định mã SV theo quy định: Mã SV tăng dần, có chỗ trống mã chèn vào chỗ trống Chẳng hạn bảng SV có mã SV 1,2,3,6 mã SV Declare @STT int Set @STT = While exists(select * from SV where MaSV = @STT) set @STT = @STT+1 Insert into SV(MaSV, HoTen) values(@STT, N 'Nguyễn Văn Nam') 4.3 Sử dụng cấu trúc Case Kiểm tra dãy điều kiện trả kết phù hợp với điều kiện Lệnh Case sử dụng hàm câu lệnh Select Cú pháp: 86 Dạng (simple case): Case Biểu_thức_đầu_vào When Giá_trị then Kết_quả [ n] [ Else Kết_quả_khác] End Dạng (searched case): Case When Biểu_thức_đk then Kết_quả [ n] [ Else Kết_quả_khác] End Ví dụ: Xét lược đồ quan hệ: NhanVien(MaNV: int, HoTen: nvarchar(40), GioiTinh: nvarchar(3), NgaySinh: datetime, CapBac: smallint ) Cho biết nhân viên đến tuổi nghỉ hưu biết tuổi hưu nam 60, nữ 55 select * from NhanVien where year(getdate()) – year(NgaySinh) > = Case GioiTinh when ‘Nam’ then 60 when ‘Nu’ then 55 End Sửa, xóa thủ tục lưu trữ 87 5.1 Sửa thủ tục lưu trữ Khi thủ tục tạo ra, ta tiến hành định nghĩa lại thủ tục câu lệnh ALTER PROCEDURE có cú pháp sau: ALTER PROCEDURE tên_thủ_tục [(danh_sách_tham_số)] [WITH RECOMPILE | ENCRYPTION | RECOMPILE,ENCRYPTION] AS Các_câu_lệnh_Của_thủ_tục 5.2 Xóa thủ tục lưu trữ Drop procedure tên_thủ_tục 88 ... Tổng quan hệ quản trị Cơ sở liệu Giới thiệu hệ quản trị sở liệu .4 Cài đặt hệ quản trị CSDL MS SQL Server Đăng nhập vào MS SQL Server .13 Các công cụ MS SQL Server ... hệ Mỗi máy chủ có hệ quản trị CSDL SQL Server Cài đặt hệ quản trị CSDL MS SQL Server - Bước : Tại hình cài đặt SQL Server 2008 bạn chọn mục Installation sau chọn New SQL Server stand-alone installation... Một số hệ quản trị CSDL thường gặp: MS Access MS SQL Server MySQL Oracle Microsoft SQL Server: Là hệ quản trị sở liệu Microsoft phát triển Hoạt động theo mơ hình Client /Server cho