Giáo trình Hệ quản trị cơ sở dữ liệu - Ngành: Hệ thống thông tin, thiết kế trang web, công nghệ thông tin (Ứng dụng phần mềm)
Giới thiệu: hệ quản trị cơ sở dữ liệu SQL
Mục tiêu: Trình bày hệ quản trị cơ sở dữ liệu SQL Server. Mô tả cách thức quản trị
trên hệ CSDL SQL. Trình bày cách thức quản trị và bảo mật trên SQL server.
1.1. Giới thiệu hệ quản trị cơ sở dữ liệu SQL server
SQL Server là hệ thống quản trị cơ sở dữ liệu quan hệ (Relational DataBase
Management System- RDBMS) sử dụng các lệnh giao chuyển Transaction-SQL để
trao đổi dữ liệu giữa Client Computer và Server Computer.
1.1.1. SQL là ngôn ngữ cơ sở dữ liệu quan hệ
SQL, viết tắt của Structured Query Language (ngôn ngữ hỏi có cấu trúc), là công cụ
sử dụng để tổ chức, quản lý và truy xuất dữ liệu đuợc lưu trữ trong các cơ sở dữ liệu.
SQL là một hệ thống ngôn ngữ bao gồm tập các câu lệnh sử dụng để tương tác với cơ
sở dữ liệu quan hệ.
Tên gọi ngôn ngữ hỏi có cấu trúc phần nào làm chúng ta liên tưởng đến một công
cụ (ngôn ngữ) dùng để truy xuất dữ liệu trong các cơ sở dữ liệu. Thực sự mà nói, khả
năng của SQL vượt xa so với một công cụ truy xuất dữ liệu, mặc dù đây là mục đích
ban đầu khi SQL được xây dựng nên và truy xuất dữ liệu vẫn còn là một trong những
chức năng quan trọng của nó. SQL được sử dụng để điều khiển tất cả các chức năng
mà một hệ quản trị cơ sở dữ liệu cung cấp cho người dùng bao gồm:
- Định nghĩa dữ liệu: SQL cung cấp khả năng định nghĩa các cơ sở dữ liệu, các
cấu trúc lưu trữ và tổ chức dữ liệu cũng như mối quan hệ giữa các thành phần dữ
liệu.
- Truy xuất và thao tác dữ liệu: Với SQL, người dùng có thể dễ dàng thực hiện
các thao tác truy xuất, bổ sung, cập nhật và loại bỏ dữ liệu trong các cơ sở dữ
liệu.
- Điều khiển truy cập: SQL có thể được sử dụng để cấp phát và kiểm soát các
thao tác của người sử dụng trên dữ liệu, đảm bảo sự an toàn cho cơ sở dữ liệu
- Đảm bảo toàn vẹn dữ liệu: SQL định nghĩa các ràng buộc toàn vẹn trong cơ sở
dữ liệu nhờ đó đảm bảo tính hợp lệ và chính xác của dữ liệu trước các thao tác
cập nhật cũng như các lỗi của hệ thống.
Như vậy, có thể nói rằng SQL là một ngôn ngữ hoàn thiện được sử dụng trong các
hệ thống cơ sở dữ liệu và là một thành phần không thể thiếu trong các hệ quản trị cơ sở
dữ liệu. Mặc dù SQL không phải là một ngôn ngữ lập trình như C, C++, Java,. song
các câu lệnh mà SQL cung cấp có thể được nhúng vào trong các ngôn ngữ lập trình
nhằm xây dựng các ứng dụng tương tác với cơ sở dữ liệu.
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Tóm tắt nội dung tài liệu: Giáo trình Hệ quản trị cơ sở dữ liệu - Ngành: Hệ thống thông tin, thiết kế trang web, công nghệ thông tin (Ứng dụng phần mềm)
........................................................... 16 Hình 2. 1 Bảng ............................................................................................................... 20 Hình 2. 2 Bảng Môn Học .............................................................................................. 21 Hình 2. 3 Mối quan hệ giữa hai bảng LOP và KHOA trong cơ sở dữ liệu ................... 22 Hình 3. 1 Bảng trong cơ sở dữ liệu quan hệ .................................................................. 27 Hình 3. 2 Dữ liệu bảng Nhân Viên ................................................................................ 30 Hình 3. 3 Mối quan hệ giữa các bảng ............................................................................ 34 Hình 3. 4 Khung nhìn DSSV với dữ liệu được lấy từ bảng SINHVIEN và LOP ......... 39 Hình 3. 5 Khung nhìn DSSV ......................................................................................... 41 Hình 3. 6 Khung nhìn dsv .............................................................................................. 42 Hình 3. 7 Bảng Đơn Vị và Nhân Viên .......................................................................... 44 Hình 3. 8 Bảng Nhân viên có bổ sung thông tin .......................................................... 44 Hình 4. 1 Hiển thị danh sách các Khoa ......................................................................... 55 Hình 4. 2 Hiển thị danh sách lớp ................................................................................... 56 Hình 4. 3 Hiển thị một số cột trong bảng lớp ................................................................ 57 Hình 4. 4 Hiển thị tiêu đề cột của bảng Lớp ................................................................. 58 Hình 4. 5 Thông tin không còn trùng lắp ...................................................................... 59 Hình 4. 6 Lọc thông tin họ ‘Lê’ bảng Sinh Viên ........................................................... 63 Hình 4. 7 Hiển thị thông tin bảng Môn học sắp xếp giảm dần theo cột sdvht .............. 64 Hình 4. 8 bảng sinh viên được sắp xếp theo giới tính, tuổi ........................................... 65 Hình 4. 9 Bảng Khoa và Bảng Lớp ............................................................................... 65 Hình 4. 10 Mối quan hệ giữa các bảng .......................................................................... 66 Hình 4. 11 Sỉ số sinh viên của từng lớp ......................................................................... 72 KHOA CÔNG NGHỆ THÔNG TIN Trang 126 Hình 4. 12 Bảng Nhật ký phòng .................................................................................... 78 Hình 4. 13 Bảng Nhật ký phòng được cập nhật tiền phòng .......................................... 79 Hình 4. 14 Quan hệ bảng Mặt hàng và bảng Nhật ký bán hàng .................................... 79 Hình 5. 1 Đường dẫn Import Data ................................................................................. 84 Hình 5. 2 Chọn Data source để import dữ liệu .............................................................. 85 Hình 5. 3 Chọn Destination ........................................................................................... 85 Hình 5. 4 Chọn bảng ...................................................................................................... 86 Hình 5. 5 Finish ............................................................................................................. 86 Hình 5. 6 Chờ chạychương trình ................................................................................... 87 Hình 5. 7 Thành công .................................................................................................... 87 Hình 5. 8 Đường dẫn Export data .................................................................................. 88 Hình 5. 9 Chọn nguồn database ..................................................................................... 89 Hình 5. 10 Chọn Destination ......................................................................................... 89 Hình 5. 11 Chọn dữ liệu từ 1 hoặc nhiều bảng .............................................................. 90 Hình 5. 12 Chọn các bảng ............................................................................................. 91 Hình 5. 13 Finish ........................................................................................................... 91 Hình 5. 14 Chờ chương trình chạy ................................................................................ 92 Hình 5. 15 Import thành công ........................................................................................ 92 Hình 5. 16 Khôi phục giao dịch ..................................................................................... 94 Hình 5. 17 Bắt đầu backup ............................................................................................ 95 Hình 5. 18 Xuất hiện giao dịch ...................................................................................... 95 Hình 5. 19 Cập nhật giao dịch ....................................................................................... 95 Hình 5. 20 Mô tả sao lưu xong phần dữ liệu, chép tiềp phần transaction log ............... 96 Hình 5. 21 Khi có yêu cầu khôi phục ........................................................................... 96 Hình 5. 22 SQL Server khôi phục tiếp phần transaction log ......................................... 97 Hình 5. 23 Đường dẫn Back Up .................................................................................... 98 Hình 5. 24 Kết thúc Back Up ........................................................................................ 98 Hình 5. 25 Đường dẫn Restore database ....................................................................... 99 Hình 5. 26 Chọn database Restore ................................................................................ 99 Hình 5. 27 Chọn thẻ Option ........................................................................................ 100 Hình 5. 28 Đường dẫn Detach ..................................................................................... 100 Hình 5. 29 Detach thành công ..................................................................................... 101 Hình 5. 30 Chọn 2 file chép sang vị trí khác ............................................................... 101 Hình 5. 31 Đường dẫn Attach ..................................................................................... 102 Hình 5. 32 chỉ đường dẫn đến fie mdf ......................................................................... 102 Hình 6. 1 Sử dụng hàm thu(ngaysinh) ......................................................................... 112 Hình 6. 2 Thống kê tổng số sinh viên khoá 25 ở mỗi khoa ......................................... 115 KHOA CÔNG NGHỆ THÔNG TIN Trang 127 DANG MỤC BẢNG Bảng 1. 1 Tập tin của CSDL SQL ................................................................................. 10 Bảng 1. 2 các kiểu page ................................................................................................. 10 Bảng 2. 1 Câu lệnh SQL ................................................................................................ 22 Bảng 2. 2 Một số kiểu dữ liệu thông dụng được sử dụng trong SQL ........................... 24 Bảng 3. 1 Các thuộc tính của câu lệnh tạo bảng ............................................................ 28 Bảng 4. 1 các toán tử so sánh ........................................................................................ 61 Bảng 4. 2 toán tử between và not between .................................................................... 61 Bảng 4. 3 toán tử like và các ký tự đại diện .................................................................. 62 Bảng 4. 4 Các hàm gộp SQL ........................................................................................ 71 Bảng 6. 1 Các thuộc tính của cú pháp tạo thủ tục ....................................................... 105 KHOA CÔNG NGHỆ THÔNG TIN Trang 128 PHỤ LỤC A. Cơ sở dữ liệu mẫu sử dụng trong giáo trình Trong toàn bộ nội dung giáo trình, hầu hết các ví dụ được dựa trên cơ sở dữ liệu mẫu được mô tả dưới đây. Cơ sở dữ liệu này được cài đặt trong hệ quản trị cơ sở dữ liệu SQL Server và được sử dụng để quản lý sinh viên và điểm thi của sinh viên. Cơ sở dữ liệu bao gồm các bảng sau đây: - Bảng KHOA lưu trữ dữ liệu về các khoa hiện có ở trong trường - Bảng LOP bao gồm dữ liệu về các lớp trong trường - Bảng SINHVIEN được sử dụng để lưu trữ dữ liệu về các sinh viên trong trường. - Bảng MONHOC bao gồm các môn học (học phần) được giảng dạy trong trường - Bảng DIEMTHI với dữ liệu cho biết điểm thi kết thúc môn học của các sinh viên Mối quan hệ giữa các bảng được thể hiện qua sơ đồ dưới đây: CREATE TABLE khoa ( makhoa NVARCHAR(5) NOT NULL CONSTRAINT pk_khoa PRIMARY KEY, tenkhoa NVARCHAR(50) NOT NULL , dienthoai NVARCHAR(15) NULL ) CREATE TABLE lop ( malop NVARCHAR(10) NOT NULL CONSTRAINT pk_lop PRIMARY KEY, KHOA CÔNG NGHỆ THÔNG TIN Trang 129 tenlop NVARCHAR(30) NULL , khoa SMALLINT NULL , hedaotao NVARCHAR(25) NULL , namnhaphoc INT NULL , siso INT NULL , makhoa NVARCHAR(5) NULL ) CREATE TABLE sinhvien ( masv NVARCHAR(10) NOT NULL CONSTRAINT pk_sinhvien PRIMARY KEY, hodem NVARCHAR(25) ten NVARCHAR(10) NOT NULL , ngaysinh SMALLDATETIME NULL, gioitinh BIT NULL, noisinh NVARCHAR(100) NULL, malop NVARCHAR(10) NULL ) CREATE TABLE Monhoc ( mamonhoc NVARCHAR(10) NOT NULL CONSTRAINT pk_monhoc PRIMARY KEY, tenmonhoc NVARCHAR(50) NOT NULL , sodvht SMALLINT NOT NULL ) CREATE TABLE diemthi ( mamonhoc NVARCHAR(10) NOT NULL , masv NVARCHAR(10) NOT NULL , diemlan1 NUMERIC(5, 2) NULL , diemlan2 NUMERIC(5, 2) NULL, CONSTRAINT pk_diemthi PRIMARY KEY(mamonhoc,masv) ) ALTER TABLE lop ADD CONSTRAINT fk_lop_khoa FOREIGN KEY(makhoa) KHOA CÔNG NGHỆ THÔNG TIN Trang 130 REFERENCES khoa(makhoa) ON DELETE CASCADE ON UPDATE CASCADE ALTER TABLE sinhvien ADD CONSTRAINT fk_sinhvien_lop FOREIGN KEY (malop) REFERENCES lop(malop) ON DELETE CASCADE ON UPDATE CASCADE ALTER TABLE diemthi ADD CONSTRAINT fk_diemthi_monhoc FOREIGN KEY (mamonhoc) REFERENCES monhoc(mamonhoc) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT fk_diemthi_sinhvien FOREIGN KEY (masv) REFERENCES sinhvien(masv) ON DELETE CASCADE ON UPDATE CASCADE ALTER TABLE monhoc ADD CONSTRAINT chk_monhoc_sodht CHECK(sodvht>0 and sodvht<=5) ALTER TABLE diemthi ADD CONSTRAINT chk_diemthi_diemlan1 CHECK (diemlan1>=0 and diemlan1<=10), CONSTRAINT chk_diemthi_diemlan2 CHECK (diemlan2>=0 and diemlan2<=10) B. Một số hàm thường sử dụng Mặc dù trong SQL chuẩn không cung cấp cụ thể các nhưng trong các hệ quản trị cơ sở dữ liệu luôn cung cấp cho người sử dụng các hàm cài sẵn (hay còn gọi là các hàm của hệ thống). Trong phần này, chúng tôi cung cấp một số hàm thường được sử dụng trong SQL Server để tiện cho việc tra cứu và sử dụng trong thực hành KHOA CÔNG NGHỆ THÔNG TIN Trang 131 B.1.Các hàm trên dữ liệu kiểu chuỗi Hàm ASCII ASCII(string) Hàm trả về mã ASCII của ký tự đầu tiên bên trái của chuỗi đối số Hàm CHAR CHAR(ascii_code) Hàm trả về ký tự có mã ASCII tương ứng với đối số Hàm CHARINDEX CHARINDEX(string1,string2[,start]) Hàm trả về vị trí đầu tiên tính từ vị trí start tại đó chuỗi string1 xuất hiện trong chuỗi string2. Hàm LEFT LEFT(string,number) Hàm trích ra number ký tự từ chuỗi string tính từ phía bên trái Hàm LEN LEN(string) Hàm trả về độ dài của chuỗi string. Hàm LOWER LOWER(string) Hàm có chức năng chuyển chuỗi string thành chữ thường, kết quả được trả về cho hàm Hàm LTRIM LTRIM(string) Cắt bỏ các khoảng trắng thừa bên trái chuỗi string Hàm NCHAR NCHAR(code_number) Hàm trả về ký tự UNICODE có mã được chỉ định Hàm REPLACE REPLACE(string1,string2,string3) Hàm trả về một chuỗi có được bằng cách thay thế các chuỗi string2 trong chuỗi string1 bởi chuỗi string3. Hàm REVERSE REVERSE(string) Hàm trả về chuỗi đảo ngược của chuỗi string. KHOA CÔNG NGHỆ THÔNG TIN Trang 132 Hàm RIGHT RIGHT(string, number) Hàm trích ra number ký tự từ chuỗi string tính từ phía bên phải. Hàm RTRIM RTRIM(string) Cắt bỏ các khoảng trắng thừa bên phải của chuỗi string. Hàm SPACE SPACE(number) Hàm trả về một chuỗi với number khoảng trắng. Hàm STR STR(number [,length [,decimal]]) Chuyển giá trị kiểu số number thành chuỗi Hàm SUBSTRING SUBSTRING(string, m, n) Trích ra từ n ký tự từ chuỗi string bắt đầu từ ký tự thứ m. Hàm UNICODE UNICODE(UnicodeString) Hàm trả về mã UNICODE của ký tự đầu tiên bên trái của chuỗi UnicodeString. Hàm UPPER UPPER(string) Chuyển chuỗi string thành chữ hoa B.2. Các hàm trên dữ liệu kiểu ngày giờ Hàm DATEADD DATEADD(datepart, number, date) Hàm trả về một giá trị kiểu DateTime bằng cách cộng thêm một khoảng giá trị là number vào ngày date được chỉ định. Trong đó, datepart là tham số chỉ định thành phần sẽ được cộng đối với giá trị date bao gồm: KHOA CÔNG NGHỆ THÔNG TIN Trang 133 Datepart Viết tắt year yy, yyyy quarter qq, q month mm, m dayofyear dy, y day dd, d week wk, ww hour hh minute mi, n second ss, s millisecond ms Hàm DATEDIFF DATEDIFF(datepart, startdate, enddate) Hàm trả về khoảng thời gian giữa hai giá trị kiểu này được chỉ định tuỳ thuộc vào tham số datepart Hàm DATEPART DATEPART(datepart, date) Hàm trả về một số nguyên được trích ra từ thành phần (được chỉ định bởi tham số partdate) trong giá trị kiểu ngày được chỉ định. Hàm GETDATE GETDATE() Hàm trả về ngày hiện tại Hàm DAY, MONTH, YEAR DAY(date), MONTH(date), YEAR(date) Hàm trả về giá trị ngày (tháng hoặc năm) của giá trị kiểu ngày được chỉ định. B.3. Hàm chuyển đổi kiểu Hàm CAST CAST (biểu_thức AS kiểu_dữ_liệu) Chuyển đổi giá trị của biểu thức sang kiểu được chỉ định Hàm CONVERT CONVERT(kiểu_dữ_liệu, biểu_thức ,kiểu_chuyển_đổi]) Hàm có chức năng chuyển đổi giá trị của biểu thức sang kiểu dữ liệu được chỉ định. Tham số kiểu_chuyển_đổi là một giá trị số thường được sử dụng khi chuyển đổi giá trị kiểu ngày sang kiểu chuỗi nhằm qui định khuôn dạng dữ liệu được hiển thị và được qui định như sau: KHOA CÔNG NGHỆ THÔNG TIN Trang 134 Năm 2 chữ số Năm 4 chữ số Khuôn dạng dữ liệu 0 hoặc 100 mon dd yyyy hh:mi AM (PM) 1 101 mm/dd/yy 2 102 yy.mm.dd 3 103 dd/mm/yy 4 104 dd.mm.yy 5 105 dd-mm-yy 6 106 dd mon yy 7 107 Mon dd, yy 8 108 hh:mm:ss 9 109 mon dd yyyy hh:mi:ss:mmmAM (PM) 10 110 mm-dd-yy 11 111 yy/mm/dd 12 112 yymmdd 13 113 dd mon yyyy hh:mm:ss:mmm(24h) 14 114 hh:mi:ss:mmm(24h)
File đính kèm:
- giao_trinh_he_quan_tri_co_so_du_lieu_nganh_he_thong_thong_ti.pdf