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)

ỦY BAN NHÂN DÂN THÀNH PHỐ HỒ CHÍ MINH  
TRƯỜNG CAO ĐẲNG KINH TẾ KỸ THUẬT  
THÀNH PHỐ HỒ CHÍ MINH  
  
GIÁO TRÌNH  
MÔN HỌC: 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)  
TRÌNH ĐỘ: CAO ĐẲNG  
Tháng 10 năm 2020  
ỦY BAN NHÂN DÂN THÀNH PHỐ HỒ CHÍ MINH  
TRƯỜNG CAO ĐẲNG KINH TẾ KỸ THUẬT  
THÀNH PHỐ HỒ CHÍ MINH  
  
GIÁO TRÌNH  
MÔN HỌC: 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)  
TRÌNH ĐỘ: CAO ĐẲNG  
THÔNG TIN CHỦ NHIỆM ĐỀ TÀI  
Họ tên: Võ Đào Thị Hồng Tuyết  
Học vị: Thạc Sỹ  
Đơn vị: Khoa Công Nghệ Thông Tin  
TRƯỞNG KHOA  
TRƯỞNG  
BỘ MÔN  
CHỦ NHIỆM  
ĐỀ TÀI  
HIỆU TRƯỞNG  
DUYỆT  
Tháng 10 năm 2020  
TUYÊN BỐ BẢN QUYỀN  
Tài liệu này thuộc loại sách giáo trình nên các nguồn thông tin có thể được phép  
dùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo và tham khảo.  
Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinh doanh  
thiếu lành mạnh sẽ bị nghiêm cấm.  
LỜI GIỚI THIỆU  
Ngôn ngữ hỏi có cấu trúc (SQL), có tiền thân là SEQUEL, là một ngôn ngữ được IBM  
phát triển và sử dụng trong hệ cơ sở dữ liệu thử nghiệm có tên là System/R vào năm  
1974, chính thức được ANSI/ISO công nhận là một chuẩn ngôn ngữ sử dụng trong cơ sở  
dữ liệu quan hệ vào năm 1986. Cho đến hiện nay, SQL đã được sử dụng phổ biển trong  
các hệ quản trị cơ sở dữ liệu thương mại và có vai trò quan trọng trong những hệ thống  
này.  
Trong giáo trình này, tôi không có tham vọng đề cập đến mọi khía cạnh của SQL mà  
chỉ mong muốn rằng đây sẽ là tài liệu tương đối đầy đủ về các câu lệnh thường được sử  
dụng trong SQL.  
Giáo trình Hệ quản trị cơ sở dữ liệu SQL Server chia thành 6 chương với nội dung như  
sau:  
Chương 1 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.  
Chương 2 được dành để bàn luận đến các khái niệm, bảng, khóa chính, khóa  
ngoại, mối quan hệ giữa các bảng. Trình bày được cú pháp của câu lệnh T-SQL. Vận  
dụng được cú pháp của câu lệnh T-SQL như tạo bảng, tạo khóa chính và khóa ngoại.  
Chương 3 Trình bày mục đích kiểm tra các ràng buộc. Phân biệt các khái niệm và  
cú pháp của các ràng buộc. Thực hiện được các câu lệnh kiểm tra ràng buộc. Trình bày  
được cú pháp sửa đổi định nghĩa bảng và khung nhìn. Vận dụng được các cú pháp câu  
lệnh tạo ràng buộc, sửa đổi định nghĩa bảng, xóa bảng, cách tạo, xóa, sửa khung nhìn  
Trình bày được khái niệm và cú pháp câu lệnh truy xuất dữ liệu Select. Vận dụng  
cú pháp câu lệnh truy xuất dữ liệu Select vào bài tập. Phân biệt được các dạng thống kê  
dữ liệu. Vận dụng câu lệnh truy vấn con vào yêu cầu bài tập. Mô tả được cách bổ sung,  
cập nhật và xoá dữ liệu. Sử dụng các cú pháp câu lệnh để viết được các lệnh thực hiện  
thêm, cập nhật và xóa dữ liệu vào yêu cầu bài tập. Sử dụng các cú pháp câu lệnh để viết  
được các lệnh gom nhóm thống kê dữ liệu được đề cập đến trong chương 4.  
Nội dung của chương 5 liên quan đến việc trình bày khái niệm và các bước thực  
hiện Import/Export, Backup/Restore, Detach/ Attach. Vận dụng các bước thực hiện về  
sao lưu và phục hồi cơ sở dữ liệu.  
Trong chương cuối cùng, chương 6, giới thiệu đến sinh viên một số vấn đề liên quan  
đến khái niệm và câu lệnh về thủ tục lưu trữ, hàm, trigger. Vận dụng cú pháp câu lệnh về  
thủ tục lưu trữ, hàm, trigger  
Ngoài 6 chương trên, phần phụ lục ở cuối giáo trình đề cập đến cơ sở dữ liệu mẫu  
được sử dụng trong hầu hết các ví dụ và một số hàm thường được sử dụng trong hệ quản  
trị SQL Server để sinh viên tiện trong việc tra cứu.  
Tôi hi vọng rằng giáo trình này sẽ thực sự có ích đối với sinh viên. Tôi rất mong nhận  
được sự cổ vũ và những ý kiến đóng góp của các đồng nghiệp và sinh viên. Cuối cùng,  
xin gởi lời cảm ơn đến các thầy cô, đồng nghiệp và các bạn sinh viên đã động viên và  
giúp đỡ tôi hoàn thành giáo trình này.  
…………., ngày……tháng……năm………  
Chủ biên  
Võ Đào Thị Hồng Tuyết  
MỤC LỤC  
GIÁO TRÌNH MÔN HỌC  
Tên môn học: HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU  
Mã môn học: MH3101345  
Đơn vị quản lý môn học: Khoa Công Nghệ Thông Tin.  
I. Vị trí, tính chất của môn học:  
- Vị trí: Là môn học chuyên ngành, được bố trí sau môn học cơ sở dữ liệu, học kỳ 3.  
- Tính chất: môn lý thuyết, môn học bắt buộc.  
II. Mục tiêu môn học:  
- Về kiến thức:  
+ Trình bày được những kiến thức về khái niệm cơ bản hệ quản trị cơ sơ dữ liệu.  
+ Áp dụng các kiến thức đã hiểu, tiếp cận với nền tảng hệ quản trị cơ sở dữ liệu  
Microsoft SQL Server.  
+ Phân tích tìm sự khác biệt các chức năng giữa các đối tượng của hệ quản trị cơ sở dữ  
liệu Microsoft SQL Server  
+ Trình bày đươc khái niệm và các bước thực hiện Import/ Export, Backup/Restore,  
Detach/ Attach. Vận dụng các bước thực hiện về sao lưu và phục hồi cơ sở dữ liệu đã học  
vào yêu cầu bài tập.  
+ Trình bày các kiến thức về các đối tượng như bảng dữ liệu, khung nhìn, thủ tục lưu  
trữ, hàm và trigger để xử lý các thao tác về truy xuất, bổ sung, cập nhật và xóa dữ liệu.  
- Về kỹ năng:  
+ Sử dụng chương trình hệ quản trị cơ sở dữ liệu Microsoft SQL Server thành thạo.  
+ Vận dụng các kiến thức về các đối tượng như bảng dữ liệu, khung nhìn, thủ tục lưu  
trữ, hàm và trigger để xử lý các thao tác về truy xuất, bổ sung, cập nhật và xóa dữ liệu.  
+ Vận dụng các kiến thức về sao lưu và phục hồi dữ liệu khi hệ thống gặp sự cố.  
- Về năng lực tự chủ và trách nhiệm:  
+ Tham gia tích cực vào các giờ giảng  
+ Thể hiện năng lực tự học.  
Chương 1: Hệ quản trị cơ sở dữ liệu SQL  
CHƯƠNG 1: HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU SQL  
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.  
KHOA CÔNG NGHỆ THÔNG TIN  
Trang 1  
     
Chương 1: Hệ quản trị cơ sở dữ liệu SQL  
Khác với các ngôn ngữ lập trình quen thuộc như C, C++, Java,... SQL là ngôn ngữ  
có tính khai báo. Với SQL, người dùng chỉ cần mô tả các yêu cầu cần phải thực hiện  
trên cơ sở dữ liệu mà không cần phải chỉ ra cách thức thực hiện các yêu cầu như thế  
nào. Chính vì vậy, SQL là ngôn ngữ dễ tiếp cận và dễ sử dụng.  
SQL Server có một số đặc tính sau:  
- Cho phép quản trị một hệ CSDL lớn (lên đến vài tega byte), có tốc độ xử lý dữ  
liệu nhanh đáp ứng yêu cầu về thời gian.  
- Cho phép nhiều người cùng khai thác trong một thời điểm đối với mộtCSDL và  
toàn bộ quản trị CSDL (lên đến vài chục ngàn user).  
- Có hệ thống phân quyền bảo mật tương thích với hệ thống bảo mật của công  
nghệ NT (Network Technology), tích hợp với hệ thống bảo mật của Windows  
NT hoặc sử dụng hệ thống bảo vệ độc lập của SQLServer.  
- Hỗ trợ trong việc triển khai CSDL phân tán và phát triển ứng dụng trên Internet  
- Cho phép lập trình kết nối với nhiều ngôn ngữ lập trình khác dùng xây dựng các  
ứng dụng đặc thù (Visual Basic, C, C++, ASP, ASP.NET,XML,...).  
- Sử dụng câu lệnh truy vấn dữ liệu Transaction-SQL (Access là SQL, Oracle là  
PL/SQL).  
Một số tính năng cơ bản:  
- Dễ cài đặt  
- Hỗ trợ mô hình Client/Server.  
Thích hợp trên các hệ điều hành Windows.  
- Hoạt động với nhiều giao thức truyền thông.  
- Hỗ trợ dịch vụ Data Warehousing.  
- Thích hợp với chuẩn ANSI/ISO SQL-92.  
- Hỗ trợ nhân bản dữ liệu.  
- Cung cấp dịch vụ tìm kiếm Full-Text.  
- Sách trợ giúp- Book Online.  
1.1.2. Mô hình hoạt động của SQL Server trên mạng máy tính  
Mô hình chung SQL Server trên mạng  
SQL Server là hệ quản trị CSDL hoạt động trên mạng, có thể thực hiện trao đổi dữ  
liệu theo nhiều mô hình mạng khác nhau, nhiều giao thức và phương thức truyền tin  
khác nhau.  
KHOA CÔNG NGHỆ THÔNG TIN  
Trang 2  
 
Chương 1: Hệ quản trị cơ sở dữ liệu SQL  
Hình 1. 1 Mô hình SQL trên mạng  
- Kết nối trên Desktop: Có thể trên cùng máy tính với SQL Server hoặc kết nối  
qua mạng nội bộ.  
- Kết nối qua mạng diện rộng: Thông qua đường truyền mạng xa kết nối đến  
SQL Server.  
- Kết nối qua mạng Internet: Các ứng dụng kết nối thông qua máy chủ Internet,  
dịch vụ IIS thực hiện ứng dụng trên Internet (ASP, JSP, ASP.net,…)  
Mô hình Desktop.  
Hình 1. 2 Mô hình Desktop  
Nếu xét trên một máy Desktop sơ đồ kết nối trao đổi dữ liệu được thể hiện nhưsau:  
KHOA CÔNG NGHỆ THÔNG TIN  
Trang 3  
Chương 1: Hệ quản trị cơ sở dữ liệu SQL  
Trên một Desktop có thể có nhiều ứng dụng, mỗi ứng dụng có thể thực hiện thao tác  
với nhiều CSDL.  
Mô hình Client/Server.  
Nếu xét theo mô hình client/server, ứng dụng trao đổi với SQL Server theo sơ đồ  
sau:  
Hình 1. 3 Mô hình Client Server (a)  
Như sơ đồ trên nhận thấy SQL Server cho phép các ứng dụng kết nối theo các  
phương thức sau: OLE DB, ODBC, DB-Library, Embedded SQL, đây là các phương  
thức kết nối hữu ích cho những nhà phát triển ứng dụng.  
Nếu xem xét cụ thể hơn ta có thể xem sơ đồ sau:  
Hình 1. 4 Mô hình Client Server (b)  
KHOA CÔNG NGHỆ THÔNG TIN  
Trang 4  
Chương 1: Hệ quản trị cơ sở dữ liệu SQL  
SQL Server có thể thực hiện trao đổi dữ liệu với các ứng dụngt heo nhiều giao thực  
truyền tin khác nhau (TCP/IP, NetBeUI, Names Pipes,…), các ứng dụng có thể sử  
dụng nhiều phương thức kết nối khác nhau (OLE DB, ODBC, DB-Library).  
Mô hình kết nối ứng dụng trên mạng Internet.  
Nếu xét riêng các ứng dụng kết nối với SQL Server trên mạng Internet, các máy chủ  
SQL Server sẽ được quản lý thông qua các hệ thống máy chủ mạng, hệ điều hành  
mạng, các ứng dụng (COM+, ASP, IIS) sẽ thông qua máy chủ mạng kết nối đến SQL  
Server, mô hình này có thể áp dụng cho các mạng nội bộ, diện rộng, ứng dụng được  
khai thác trên trình duyệt Internet Browser.  
Hình 1. 5 Mô hình kết nối ứng dụng trên mạng Internet  
1.1.3. Các thành phần của 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.  
KHOA CÔNG NGHỆ THÔNG TIN  
Trang 5  
 
Chương 1: Hệ quản trị cơ sở dữ liệu SQL  
Hình 1. 6 Mô hình các thành phần SQL Server  
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 ADO, OLE DB, ODBC.  
Replication.  
Là công cụ dùng nhân bản dữ liệu, bạn 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.  
KHOA CÔNG NGHỆ THÔNG TIN  
Trang 6  
Chương 1: Hệ quản trị cơ sở dữ liệu SQL  
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 amanger,  
Query Analyzer ,…SQL Server sau khi cài đặt SQL Server gồm những thành phần cơ  
bản trong group như sau:  
Hình 1. 7 SQL Server tools  
1.1.4. Vai trò của SQL  
Bản thân SQL không phải là một hệ quản trị cơ sở dữ liệu, nó không thể tồn tại độc  
lập. SQL thực sự là một phần của hệ quản trị cơ sở dữ liệu, nó xuất hiện trong các hệ  
quản trị cơ sở dữ liệu với vai trò ngôn ngữ và là công cụ giao tiếp giữa người sử dụng  
và hệ quản trị cơ sở dữ liệu.Trong hầu hết các hệ quản trị cơ sở dữ liệu quan hệ, SQL  
có những vai trò như sau  
- SQL là ngôn ngữ hỏi có tính tương tác: Người sử dụng có thể dễ dàng thông  
qua các trình tiện ích để gởi các yêu cầu dưới dạng các câu lệnh SQL đến cơ sở  
dữ liệu và nhận kết quả trả về từ cơ sở dữ liệu  
- SQL là ngôn ngữ lập trình cơ sở dữ liệu: Các lập trình viên có thể nhúng các  
câu lệnh SQL vào trong các ngôn ngữ lập trình để xây dựng nên các chương trình  
ứng dụng giao tiếp với cơ sở dữ liệu  
- SQL là ngôn ngữ quản trị cơ sở dữ liệu: Thông qua SQL, người quản trị cơ  
sở dữ liệu có thể quản lý được cơ sở dữ liệu, định nghĩa các cấu trúc lưu trữ dữ  
liệu, điều khiển truy cập cơ sở dữ liệu,...  
- SQL là ngôn ngữ cho các hệ thống khách/chủ (client/server): Trong các hệ  
thống cơ sở dữ liệu khách/chủ, SQL được sử dụng như là công cụ để giao tiếp  
giữa các trình ứng dụng phía máy khách với máy chủ cơ sở dữ liệu.  
KHOA CÔNG NGHỆ THÔNG TIN  
Trang 7  
 
Chương 1: Hệ quản trị cơ sở dữ liệu SQL  
- SQL là ngôn ngữ truy cập dữ liệu trên Internet: Cho đến nay, hầu hết các  
máy chủ Web cũng như các máy chủ trên Internet sử dụng SQL với vai trò là  
ngôn ngữ để tương tác với dữ liệu trong các cơ sở dữ liệu.  
- SQL là ngôn ngữ cơ sở dữ liệu phân tán: Đối với các hệ quản trị cơ sở dữ  
liệu phân tán, mỗi một hệ thống sử dụng SQL để giao tiếp với các hệ thống khác  
trên mạng, gởi và nhận các yêu cầu truy xuất dữ liệu với nhau  
1.2. Quản trị CSDL trên SQL server  
1.2.1 Cấu trúc cơ sở dữ liệu  
Hệ quản trị CSDL như DBase hoặc Access, với hệ quản trị CSDL mỗi cơ sở dữ liệu  
khi sử dụng (thực hiện mở CSDL) sẽ mở trực tiếp từ tập tin chứa CSDL, tập tin chứa  
CSDL sẽ có một tập tin chính (ví dụ *.dbf hoặc *.mdb) và tập tin phụ nhưng khi ta  
thao tác ta chỉ cần quan tâm đến tập tin chính. Nên trong các ứng dụng thông thường ta  
thường dùng các thao tác mở (open) để mở tập tin chính chứa CSDL và đóng (close)  
đóng tập tin chính chứa CSDL mà không cần quan tâm đến việc đã kết nối đến CSDL  
chưa (không có phương thức kết nối).  
SQL Server quản lý trực tiếp các CSDL, danh sách mỗi Server sẽ gồm danh sách  
các tên CSDL, tên các CSDL là duy nhất, không trùng nhau. Mỗi CSDL SQL Server  
sẽ quản lý các cấu trúc vật lý của nó. Chính từ cách thức quản lý như trên mà việc  
quản trị cơ sở dữ liệu có một số đặc điểm sau:  
- Để Client khai thác CSDL trước hết phải thực hiện kết nối đến Server quản trị  
CSDL đó.  
- Chỉ thực hiện khai thác với các CSDL có tên trong danh sách các CSDL mà  
Server quản lý.  
- Không có các phương thức mở CSDL trực tiếp từ tập tin như Dbase hoặc  
Access.  
- Khi đã kết nối đến Server, Client chỉ thực hiện được quyền khai thác theo quy  
định đã định sẵn trong CSDL (phân quyền trong CSDL).  
Cơ sở dữ liệu trong SQL Server lưu trữ theo 2 phần: phần dữ liệu (gồm một tập tin  
bắt buộc *.mdf và các tập tin phụ *.ndf) và phần nhật ký (*.ldf). Như vậy một cơ sở dữ  
liệu có ít nhất 2 tập tin.  
Cấu trúc logic trong CSDL gồm các table, view và các object khác. Sau đây là cấu  
trúc một CSDL.  
KHOA CÔNG NGHỆ THÔNG TIN  
Trang 8  
   
Chương 1: Hệ quản trị cơ sở dữ liệu SQL  
Hình 1. 8 Cấu trúc cơ sở dữ liệu  
Sơ đồ quản trị cơ sở dữ liệu của SQL Server.  
Hình 1. 9 Sơ đồ quản trị cơ sở dữ liệu SQL Server  
Cơ sở dữ liệu trong SQL Server chia thành 2 loại: Cơ sở dữ liệu hệ thống (do SQL  
Server sinh ra khi cài đặt) và cở sở dữ liệu người dùng (do người dùng tạo ta).  
Cơ sở dữ liệu hệ thống gồm:  
- Master: Lưu trữ các thông tin login account, cấu hình hệ thống, thông tin quản  
trị các CSDL, là CSDL quan trọng nên thường được sao lưu để bảo đảm an toàn  
cho hệ thống.  
- Tempdb: Chứa các table tạm thời và các thủ tục được lưu trữ tạm thời. Các  
table và thủ tục nói trên được lưu trữ trong CSDL này phục vụ cho các user.  
- Model: Được sử dụng khi template được sử dụng cho các CSDL được tạo  
trên một hệ thống.  
- Msdb: Sử dụng bởi SQL Agent.  
Tập tin của các CSDL nói trên như sau:  
KHOA CÔNG NGHỆ THÔNG TIN  
Trang 9  
Chương 1: Hệ quản trị cơ sở dữ liệu SQL  
Bảng 1. 1 Tập tin của CSDL SQL  
Tập tin CSDL  
master primary data  
master log  
tempdb primary data  
tempdb log  
model primary data  
model log  
msdb primary data  
msdb log  
Tên tập tin vật lý  
Master.mdf  
Mastlog.ldf  
Tempdb.mdf  
Templog.ldf  
Model.mdf  
Modellog.ldf  
Msdbdata.mdf  
Msdblog.ldf  
Cấu trúc vật lý của CSDL.  
Như các cấu trúc các CSDL hệ quản trị CSDL thông thường (Dbase, Access), SQL  
Server cũng quản lý tập tin dữ liệu của CSDL ở dạng vật lý theo trang (page) và phân  
đoạn (extent).  
Page.  
SQL Server quản lý một page có kích thước là 8KB, như vậy 1MB có 128 page,  
trong mỗi trang có 96 byte chứa thông tin của trang. Có 8 kiểu page như sau:  
Bảng 1. 2 Các kiểu Page  
Tên  
Nội dung  
Data  
Chứa tất cả các kiểu dữ liệu loại trừ text, ntext và  
image  
Index  
Các khóa Index.  
Text/Image  
Text, ntext, and image data.  
Global Allocation Map,  
Secondary Global Allocation  
Map  
Chứa các thông tin định vị của các extent.  
Page Free Space  
Chứa thông tin khoảng trống của page.  
Index Allocation Map  
Chứa các thông tin về Extent đã sử dụng cho Index  
và Page.  
Bulk Changed Map  
Chứa thông thông tin về các lệnh BACKUP LOG.  
Differential Changed Map  
Chứa các thông tin lệnh BACKUP DATABASE.  
Đối với các tập tin nhật ký (*.ldf), các bản ghi được ghi lại liên tục, không phân  
trang.  
KHOA CÔNG NGHỆ THÔNG TIN  
Trang 10  
Chương 1: Hệ quản trị cơ sở dữ liệu SQL  
Hình 1. 10 tập tin nhật ký (*.ldf)  
Dữ liệu trong một trang sẽ bắt đầu lưu trữ từ sau phần thông tin Header, và lưu trữ  
liên tiếp, mỗi hàng có kích thước tối đa là 8060byte. Riêng đối với dữ liệu kiểu text,  
ntext, image đây là kiểu dữ liệu phức tạp và có kích thước lơn, SQL Server sẽ có chiến  
lược quản lý khác, phân tran riêng nhằm tăng hiệu quả truy vấn dữ liệu.  
Dữ liệu trong SQL Server được lưu trữ trên đĩa và tạo chỉ mục Index theo cấu trúc  
dữ liệu kiểu B-Tree Plus (có thể tham khảo thêm trong những nội dungcấu trúc dữ liệu  
nâng cao).  
Extent.  
Extent là đơn vị dùng chứa các table và index, mỗi extent có 8 page hay 64KB.  
SQL Server có 2 kiểu extent:  
-
-
Uniform: Chỉ dùng lưu trữ cho một đối tượng,.  
Mixform: Có thể dùng lưu trữ 8 đối tượng.  
Cấu trúc Extent như sau:  
Hình 1. 11 Cấu trúc Extent  
File  
Tập tin lưu trữ một CSDL trong SQL Server có 3 loại.  
KHOA CÔNG NGHỆ THÔNG TIN  
Trang 11  
Chương 1: Hệ quản trị cơ sở dữ liệu SQL  
Primary data file: Là file chính lưu trữ dữ liệu (*.mdf = Master Data File), mỗi  
CSDL có một file primary, lưu trữ điểm bắt đầu của một CSDL và các điểm kết nối  
đến các file lưu trữ tiếp theo (sencondary).  
Secondary data file: Là tập tin lưu trữ dữ liệu sau Primary data file, một CSDL có  
thể có nhiều tập tin sencondary. Loại tập tin này cho phép một CSDL có thể phân tán  
dữ liệu ở nhiều nơi trên máy tính hoặc trên mạng.  
Log file: Là loại tập tin lưu trữ thông tin nhật ký của CSDL.  
Giả sử tạo một CSDL có tên MyDB, thông thường hệ thống ngầm định các tập tin  
như sau:  
Hình 1. 12 tập tin lưu trữ một CSDL trong SQL Server  
Các tập tin lưu trữ dữ liệu phân thành từng trang, các trang đánh số id liên tiếp theo  
từng file:  
Hình 1. 13 Tập tin lưu trữ dữ liệu phân thành từng trang  
File group.  
SQL Server sử dụng công cụ file group để giúp người dùng dễ dàng quản lý file,  
các file lưu trữ dữ liệu của một CSDL có thể nhóm thành từng nhóm, gồm 2 kiểu  
nhóm chính:  
KHOA CÔNG NGHỆ THÔNG TIN  
Trang 12  
Tải về để xem bản đầy đủ
pdf 142 trang yennguyen 16261 Free
Bạn đang xem 20 trang mẫu của 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)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfgiao_trinh_he_quan_tri_co_so_du_lieu_nganh_he_thong_thong_ti.pdf