Bài giảng Nhập môn cơ sở dữ liệu - Bài 1: Đại cương về các hệ cơ sở dữ liệu - Vũ Tuyết Trinh

Đại cương về các hệ CSDL  
Vũ Tuyết Trinh  
Bộ môn Các hệ thống thông tin, Khoa Công nghệ thông tin  
Đại học Bách Khoa Hà Nội  
Đặt vấn đề  
{ CSDL là gì?  
{ Tại sao phải sử dụng CSDL?  
{ Tại sao phải tìm hiểu về các hệ CSDL?  
2
Ví dụ: quản lý đào tạo  
{ Thông tin cần quan tâm  
z Khoá học, lớp học, sinh viên, môn học, giáo viên, ...  
z Thông tin về sinh viên: thông tin cá nhân, thông tin  
học tập  
z Thông tin về môn học: khối lượng học tập, giáo viên,  
lịch học  
z ...  
¾ Cần lưu trữ những thông tin đa dạng  
¾ Cơ sở dữ liệu  
3
Ví dụ: khai thác thông tin  
{ Sinh viên  
z Các môn học của khoa CNTT?  
z Điểm thi môn « Nhập môn CSDL »?  
{ Giáo viên  
z Danh sách sinh viên lớp Tin 1?  
z Thời khoá biểu của lớp Tin 1?  
{ Giáo vụ  
z Danh sách sinh viên khoá K47?  
z Tỷ lệ sinh viên thi đạt của từng môn học?  
¾ Cần xây dựng một phần mềm cho phép khai thác một  
CSDL  
¾ Phần mềm ứng dụng  
4
«Hình dung» về xây dựng một CSDL  
{ Yêu cầu:  
z Lưu trữ thông tin cần thiết một cách chính xác  
z Truy xuất thông tin hiệu quả  
{ Thực hiện  
z Xác định yêu cầu nghiệp vụ  
z Xác định những thông tin cần lưu trữ  
z Xác định cách thức lưu trữ  
¾ Cần công cụ trợ giúp xây dựng một CSDL  
¾ Phần mềm quản trị CSDL (QTCSDL)  
5
Các khái niệm cơ bản  
ứng dụng  
hệ CSDL  
CSDL  
Hệ QTCSDL  
6
Cơ sở dữ liệu  
{ Một tập hợp các dữ liệu  
z Biểu diễn một vài khía cạnh của thế giới thực  
z Có liên hệ logic thống nhất  
z Được thiết kế và bao gồm những dữ liệu phục vụ một mục  
đích nào đó  
Ví dụ: CSDL về quản lý đào tạo gồm thông tin về  
- giáo viên  
- sinh viên  
- môn học  
- lớp học  
- điểm thi  
- ...  
7
Hệ quản trị cơ sở dữ liệu  
{ Một phần mềm cho phép  
z Định nghĩa  
xác định kiểu, cấu trúc, ràng buộc dữ liệu  
z Tạo lập  
lưu trữ dữ liệu trên các thiết bị nhớ  
z Thao tác  
truy vấn, cập nhật, kết xuất, ...  
các CSDL cho các ứng dụng khác nhau  
Ví dụ: MS. Access, MS. SQL Server, ORACLE,  
IBM DB2, ...  
8
Hệ cơ sở dữ liệu  
{ Một hệ thống gồm 4 thành phần :  
z Hệ QTCSDL  
z Phần cứng  
z CSDL và phần mềm ứng dụng  
z Những người sử dụng  
Ví dụ: hệ quản lý đào tạo, quản lý nhân sự, ...  
9
Môi trường hệ CSDL  
Hệ  
Ứng dụng  
CSDL  
Hệ QTCSDL  
CSDL  
CSDL  
10  
Chức năng của hệ QTCSDL  
{ Quản lý dữ liệu tồn tại lâu dài  
z Định nghĩa dữ liệu  
z Quản lý lưu trữ  
{ Truy xuất dữ liệu một cách hiệu quả  
z Biểu diễn các thao tác dữ liệu  
z Xử lý câu hỏi  
z Quản trị giao dịch  
11  
Các ngôn ngữ  
{ Ngôn ngữ định nghĩa dữ liệu (Data Definition Language -  
DLL)  
z Cấu trúc dữ liệu  
z Mối liên hệ giữa các dữ liệu và các quy tắc, ràng buộc áp  
đặt lên dữ liệu  
{ Ngôn ngữ thao tác dữ liệu (Data Manipulation Language -  
DML)  
z Tìm kiếm, thêm, xoá, sửa dữ liệu trong CSDL  
{ Ngôn ngữ điều khiển dữ liệu (Data Control Language -  
DCL)  
z Thay đổi cấu trúc của các bảng dữ liệu  
z Khai báo bảo mật thông tin  
z Quyền hạn của người dùng trong khai thác CSDL  
12  
Sự trừu tượng hoá dữ liệu  
...  
Khung nhìn 1  
Mức khung nhìn  
Khung nhìn n  
(ngoài)  
mô tả cách mà người sử  
dụng có thể nhìn thấy dữ  
liệu  
Sơ đồ khái niệm  
định nghĩa cấu trúc logic  
của dữ liệu, dữ liệu nào  
được lưu trữ và mối quan  
hệ giữa các dữ liệu  
(logic)  
Mức quan niệm  
(logic)  
định nghĩa cấu trúc các  
tệp và chỉ dẫn được sử  
dụng trong cơ sở dữ liệu  
(cách lưu trữ dữ liệu  
Sơ đồ trong  
(vật lý)  
Mức lưu trữ  
như thế nào)  
(trong)  
13  
Ví dụ  
{ Mức quan niệm  
Tin1 = {  
ma_lop=1  
type lop = record  
ma_lop : string;  
ten: string;  
ten=« CNTT1_K47 »  
heDT=« chinh quy »  
dia_diem=« DHBKHN »  
heDT: string;  
dia_diem: string;  
end;  
}
NVA = {  
maSV=« SV001 »  
type sinh_vien = record  
maSV : string;  
ten: string;  
nam: boolean;  
ngay_sinh: date;  
dia_chi: string ;  
ma_lop: string;  
end;  
ten=« Nguyễn Văn A »  
nam=1;  
ngay_sinh=« 1/4/1983 »  
dia_chi=«1 Tạ Quang Bửu»  
ma_lop=1  
}
14  
Ví dụ (2)  
{ Mức khung nhìn  
type ds_sinhvien = record  
ten: string;  
CN_NVA = {  
ten=« Nguyễn Văn A »  
nam=1;  
ngay_sinh=« 1/4/1983 »  
}
nam: boolean;  
ngay_sinh: date;  
end;  
15  
Sơ đồ và thể hiện  
(schema vs. instance)  
Sơ đồ  
Thể hiện  
-cấu trúc/kiểu dữ liệu  
- giá trị/đối tượng dữ liệu  
-ít thay đổi  
-thay đổi phức tạp  
-thường xuyên thay đổi  
-dễ dàng thay đổi  
16  
Các module chính của hệ QTCSDL  
Ứng dụng  
Bộ xử lý  
Bộ quản lý  
Giao dịch  
câu hỏi  
Hệ  
QTCSDL  
Bộ quản lý  
lưu trữ  
DL  
DL  
17  
Bộ xử lý  
câu hỏi  
Bộ quản lý  
Giao dịch  
Bộ quản lý  
lưu trữ  
Quản lý lưu trữ  
{ Yêu cầu  
lưu trữ và truy xuất dữ  
liệu trên các thiết bị  
nhớ (ngoài)  
Bộ quản lý lưu trữ  
Quản lý buffer  
Quản  
lý  
giao  
dịch  
{ Thực hiện  
z Tổ chức tối ưu dữ liệu  
trên thiết bị nhớ  
(ngoài)  
Quản lý tệp  
z Tương tác hiệu quả  
với bộ quản lý tệp  
Metadata &  
Data dictionary  
Data & index  
18  
Bộ xử lý  
câu hỏi  
Bộ quản lý  
Giao dịch  
Bộ quản lý  
lưu trữ  
Xử lý câu hỏi  
Bộ xử lý câu hỏi  
Bộ tối ưu  
{ Yêu cầu:  
Bộ biên dịch  
Bộ đánh giá  
Tìm kiếm dữ liệu trả  
lời cho một yêu cầu  
truy vấn  
{ Thực hiện  
z Biến đổi truy vấn biểu  
diễn ở một mức cao  
thành các yêu cầu có  
thể hiểu được bởi hệ  
CSDL  
Bộ quản lý  
lưu trữ  
z Lựa chọn một kế  
hoạch tốt nhất để trả  
lời truy vấn này  
Metadata &  
Data dictionary  
Data & index  
19  
Bộ xử lý  
câu hỏi  
Bộ quản lý  
Giao dịch  
Bộ quản lý  
lưu trữ  
Quản lý giao dịch  
{ Yêu cầu  
z Đ/n giao dịch: một tập các thao tác được xử  
lý như một đơn vị không chia cắt được  
z Đảm bảo tính nhất quán và tính đúng đắn  
của dữ liệu  
{ Thực hiện  
z Quản lý điều khiển tương tranh  
z Phát hiện lỗi và phục hồi cơ sở dữ liệu  
20  
Ứng dụng  
Hệ  
CSDL  
Hệ QTCSDL  
CSDL  
CSDL  
Người dùng  
{ Người thiết kế và cài đặt hệ QTCSDL: chịu trách nhiệm  
thiết kế và cài đặt các module của hệ QTCSDL và các  
giao diện dưới hình thức các gói phần mềm  
{ Người phát triển công cụ: chịu trách nhiệm thiết kế và  
cài đặt các gói phần mềm hỗ trợ cho việc thiét kê, sử  
dụng cũng như tăng cường hiệu năng của các hệ CSDL.  
21  
Ứng dụng  
Hệ  
CSDL  
Hệ QTCSDL  
CSDL  
CSDL  
Người dùng  
{ Người phân tích hệ thống và phát triển ứng dụng:  
chịu trách nhiệm xác định yêu cầu của người dung cuối,  
xác định các giao dịch cần thiết để đáp ứng các yêu cầu  
người dùng. Người lập trình ứng dụng cài đặt những yêu  
cầi này trong chương trình, kiêm thử, gỡ rối, lập tài liệu  
cho chương trình  
{ Người thiết kế CSDL: chịu trách nhiệm xác định dữ liệu  
lưu trữ trong CSDL và cấu trúc biểu diễn và lưu trữ  
những dữ liệu này  
22  
Ứng dụng  
Hệ  
CSDL  
Hệ QTCSDL  
CSDL  
CSDL  
Người dùng  
{ Người sử dụng cuối: là người khai thác các hệ CSDL  
{ Người quản trị CSDL: chịu trách nhiệm cho phép truy  
nhập CSDL, điều phối và kiểm tra sử dụng CSDL, quản  
lý tài nguyên phần cứng và phân mềm khi cần thiết  
{ Người bảo trì hệ thống: là những người quản trị hệ  
thống chịu trách nhiệm việc hoạt động và bảo trì môi  
trường (phần cứng và phần mềm) cho hệ CSDL  
23  
Hệ thống xử lý tệp  
Sinh viên  
Giáo viên  
Học tập  
Sinh viên  
Giáo viên  
Môn học  
Lớp học  
Điểm thi  
24  
Hạn chế  
{ Mức độ diễn tả ngữ nghĩa hạn chế  
{ Dữ liệu riêng lẻ, rời rạc  
{ Quản lý, khai thác ở mức thấp  
25  
Hệ cơ sở dữ liệu  
Giáo viên  
CSDL  
Giáo viên  
hệ QTCSDL  
Sinh viên  
Lớp học  
Môn học  
Học tập  
Điểm thi  
Sinh viên  
26  
Ưu điểm của cách tiếp cận CSDL  
{ Tính trừu tượng hoá của dữ liệu  
{ Hỗ trợ nhiều khung nhìn dữ liệu  
{ Chia sẻ dữ liệu giữa nhiều người dùng và hỗ  
trợ quản lý giao dịch  
27  
Đặc điểm của cách tiếp cận CSDL  
{ Biểu diễn ngữ nghĩa phong phú và những quan hệ phức  
tạp của các dữ liệu  
{ Kiểm soát tính dư thừa và đảm bảo các ràng buộc toàn  
vẹn dữ liệu  
{ Hỗ trợ lưu trữ và truy vấn dữ liệu một cách hiệu quả  
{ Chia sẻ dữ liệu giữa nhiều người dùng  
{ Phân quyền người dùng và kiểm soát tính hợp lệ của các  
truy xuất dữ liệu  
{ Hỗ trợ dịch vụ sao lưu và phục hồi dữ liệu  
28  
Phân loại hệ CSDL  
{ Mô hình dữ liệu  
z Mạng vs. phân cấp vs. quan hệ vs. hướng đối tượng  
vs. ...  
{ Số người sử dụng  
z Một người dùng vs. nhiều người dùng  
{ Tính phân tán của CSDL  
z Tập trung vs. Phân tán  
{ Tính thống nhất của dữ liệu  
z Đồng nhất vs. Không đồng nhất  
{ ...  
29  
Kết luận  
{ CSDL cho phép lưu trữ và khai thác dữ liệu một  
cách thống nhất và hiệu quả (đặc biệt trong  
trường hợp khối lượng dữ liệu lớn)  
{ Sự trừu tượng về dữ liệu và tính độc lập dữ liệu  
cho phép phát triển ứng dụng « dễ dàng »  
{ Hệ QTCSDL cung cấp các công cụ hữu hiệu trợ  
giúp việc tạo lập CSDL và phát triển ứng dụng  
‘‘More than 80 % of real world computer applications  
are associated with databases’’*  
30  
* Korth & Silberschatz. Database System Concepts.  
Trọng tâm của môn học này  
Hệ  
Ứng dụng  
CSDL  
Hệ QTCSDL  
CSDL  
CSDL  
31  
Sử dụng kiến thức của môn học  
này trong tương lai  
{ Phát triển ứng dụng  
{ Nghiên cứu và phát triển (R&D)  
{ Nghiên cứu  
32  
Các điểm cần lưu ý  
{ Cách tiếp cận tệp vs. cách tiếp cận CSDL  
{ CSDL vs. hệ QTCSDL vs. hệ CSDL  
{ Kiến trúc ANSI/SPARC (hay 3 mức) của hệ CSDL  
{ Sơ đồ vs. thể hiện  
{ Các chức năng chính của một hệ QTCSDL  
{ Người sử dụng trong một hệ CSDL  
{ Đặc điểm của hệ CSDL  
33  
34  
pdf 17 trang baolam 26600 Free
Bạn đang xem tài liệu "Bài giảng Nhập môn cơ sở dữ liệu - Bài 1: Đại cương về các hệ cơ sở dữ liệu - Vũ Tuyết Trinh", để 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:

  • pdfbai_giang_nhap_mon_co_so_du_lieu_bai_1_dai_cuong_ve_cac_he_c.pdf