Tải bản đầy đủ (.pdf) (17 trang)

Slide: Bài giảng: Đại cương về các hệ Cơ sở dữ liệu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (342.57 KB, 17 trang )

Nhập môn cơ sở dữ liệu
Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 1
Đạicươ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
2
Đặtvấn đề
{ CSDL là gì?
{ Tại sao phảisử dụng CSDL?
{ Tại sao phải tìm hiểuvề các hệ CSDL?
Nhập môn cơ sở dữ liệu
Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 2
3
Ví dụ: quảnlýđào tạo
{ Thông tin cần quan tâm
z Khoá học, lớphọ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ọctập
z Thông tin về môn học: khốilượng họctập, giáo viên,
lịch học
z
¾ Cần lưutrữ những thông tin đadạng
¾ Cơ sở dữ liệu
4
Ví dụ: khai thác thông tin
{ Sinh viên
z Các môn họccủakhoaCNTT?
z Điểm thi môn « Nhập môn CSDL »?
{ Giáo viên


z Danh sách sinh viên lớpTin 1?
z Thời khoá biểucủalớpTin 1?
{ Giáo vụ
z Danh sách sinh viên khoá K47?
z Tỷ lệ sinh viên thi đạtcủatừng môn học?
¾ Cầnxây dựng mộtphầnmềm cho phép khai thác một
CSDL
¾ Phầnmềm ứng dụng
Nhập môn cơ sở dữ liệu
Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 3
5
«Hình dung» về xây dựng mộtCSDL
{ Yêu cầu:
z Lưutrữ thông tin cầnthiếtmột cách chính xác
z Truy xuất thông tin hiệuquả
{ Thựchiện
z Xác định yêu cầunghiệpvụ
z Xác định những thông tin cầnlưu trữ
z Xác định cách thứclưu trữ
¾ Cần công cụ trợ giúp xây dựng mộtCSDL
¾ Phầnmềmquảntrị CSDL (QTCSDL)
6
Các khái niệmcơ bản
CSDL
Hệ QTCSDL
ứng dụng
hệ CSDL
Nhập môn cơ sở dữ liệu
Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 4
7

Cơ sở dữ liệu
{ Mộttậphợpcácdữ liệu
z Biểudiễnmộtvàikhíacạnh củathế giớithực
z Có liên hệ logic thống nhất
z Đượcthiếtkế và bao gồmnhững dữ liệuphụcvụ mộtmục
đích nào đó
Ví dụ: CSDL về quảnlýđào tạogồm thông tin về
- giáo viên
- sinh viên
-môn học
-lớphọc
- điểmthi

8
Hệ quảntrị cơ sở dữ liệu
{ Một phần mềm cho phép
z Định nghĩa
xác định kiểu, cấutrúc, ràng buộc dữ liệu
z Tạolập
lưutrữ dữ liệutrêncácthiếtbị nhớ
z Thao tác
truy vấn, cậpnhật, kếtxuất,
các CSDL cho các ứng dụng khác nhau
Ví dụ: MS. Access, MS. SQL Server, ORACLE,
IBM DB2,
Nhập môn cơ sở dữ liệu
Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 5
9
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ầnmềm ứng dụng
z Những người sử dụng
Ví dụ: hệ quảnlýđào tạo, quảnlýnhânsự,
10
Môi trường hệ CSDL
CSDL
Hệ QTCSDL
CSDL
Ứng dụng
Hệ
CSDL
Nhập môn cơ sở dữ liệu
Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 6
11
Chứcnăng củahệ 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ểudiễn các thao tác dữ liệu
z Xử lý câu hỏi
z Quản trị giao dịch
12
Các ngôn ngữ
{ Ngôn ngữđịnh nghĩadữ liệu(Data Definition Language -
DLL)
z Cấu trúc dữ liệu
z Mối liên hệ giữacácdữ liệuvàcácquy 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ềukhiểndữ 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ảomật thông tin
z Quyềnhạncủangười dùng trong khai thác CSDL
Nhập môn cơ sở dữ liệu
Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 7
13
Sự trừutượng hoá dữ liệu
Sơđồkhái niệm
(logic)
Sơđồtrong
(vậtlý)
Khung nhìn 1 Khung nhìn n

Mức quan niệm
(logic)
Mứclưu trữ
(trong)
Mức khung nhìn
(ngoài)
định nghĩacấutrúccác
tệpvàchỉ dẫn đượcsử
dụng trong cơ sở dữ liệu
(cách lưutrữ dữ liệu
như thế nào)

định nghĩacấu trúc logic
củadữ liệu, dữ liệu nào
đượclưutrữ và mối quan
hệ giữacácdữ liệu
mô tả cách mà ngườisử
dụng có thể nhìn thấydữ
liệu
14
Ví dụ
{ Mức quan niệm
type lop = record
ma_lop : string;
ten: string;
heDT: string;
dia_diem: string;
end;
type sinh_vien = record
maSV : string;
ten: string;
nam: boolean;
ngay_sinh: date;
dia_chi: string ;
ma_lop: string;
end;
Tin1 = {
ma_lop=1
ten=« CNTT1_K47 »
heDT=« chinh quy »
dia_diem=« DHBKHN »
}

NVA = {
maSV=« SV001 »
ten=« NguyễnVănA»
nam=1;
ngay_sinh=« 1/4/1983 »
dia_chi=«1 Tạ Quang Bửu»
ma_lop=1
}
Nhập môn cơ sở dữ liệu
Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 8
15
Ví dụ (2)
{ Mức khung nhìn
type ds_sinhvien = record
ten: string;
nam: boolean;
ngay_sinh: date;
end;
CN_NVA = {
ten=« NguyễnVănA»
nam=1;
ngay_sinh=« 1/4/1983 »
}
16
Sơđồvà thể hiện
(schema vs. instance)
-thường xuyên thay đổi
-dễ dàng thay đổi
-ít thay đổi
-thay đổiphứctạp

-giátrị/đốitượng dữ liệu-cấutrúc/kiểudữ liệu
Thể hiệnSơđồ
Nhập môn cơ sở dữ liệu
Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 9
17
Các module chính củahệ QTCSDL
DL DL
Ứng dụng
Hệ
QTCSDL
Bộ xử lý
câu hỏi
Bộ quảnlý
Giao dịch
Bộ quảnlý
lưu trữ
18
Quảnlýlưu trữ
{ Yêu cầu
lưutrữ vàtruyxuất dữ
liệutrêncácthiếtbị
nhớ (ngoài)
{ Thựchiện
z Tổ chứctối ưudữ liệu
trên thiếtbị nhớ
(ngoài)
z Tương tác hiệuquả
vớibộ quảnlýtệp
Bộ xử lý
câu hỏi

Bộ quảnlý
Giao dịch
Bộ quảnlý
lưu trữ
Data & index
Quản lý buffer
Quảnlýtệp
Quản

giao
dịch
Bộ quảnlýlưu trữ
Metadata &
Data dictionary
Nhập môn cơ sở dữ liệu
Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 10
19
Xử lý câu hỏi
{ Yêu cầu:
Tìm kiếmdữ liệutrả
lờichomộtyêucầu
truy vấn
{ Thực hiện
z Biến đổitruyvấnbiểu
diễn ở mộtmứccao
thành các yêu cầucó
thể hiểu đượcbởihệ
CSDL
z Lựachọnmộtkế
hoạch tốtnhất để trả

lờitruyvấnnày
Bộ xử lý
câu hỏi
Bộ quảnlý
Giao dịch
Bộ quảnlý
lưu trữ
Bộ xử lý câu hỏi
Data & index
Metadata &
Data dictionary
Bộ quảnlý
lưu trữ
Bộ biên dịch
Bộđánh giá
Bộ tối ưu
20
Quảnlýgiaodịch
{ Yêu cầu
z Đ/n giao dịch: mộttập các thao tác đượcxử
lý như một đơnvị không chia cắt được
z Đảmbảotínhnhấtquánvàtínhđúng đắn
củadữ liệu
{ Thựchiện
z Quảnlýđiềukhiểntương tranh
z Phát hiệnlỗivàphụchồicơ sở dữ liệu
Bộ xử lý
câu hỏi
Bộ quảnlý
Giao dịch

Bộ quảnlý
lưu trữ
Nhập môn cơ sở dữ liệu
Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 11
21
Người dùng
{ Ngườithiếtkế và cài đặthệ QTCSDL: chịu trách nhiệm
thiếtkế và cài đặt các module củahệ QTCSDL và các
giao diệndướihìnhthức các gói phầnmềm
{ Người phát triển công cụ: chịu trách nhiệmthiếtkế và
cài đặt các gói phầnmềmhỗ trợ cho việc thiét kê, sử
dụng cũng như tăng cường hiệunăng củacáchệ CSDL.
CSDL
Hệ QTCSDL
CSDL
Ứng dụng
Hệ
CSDL
22
Người dùng
{ Người phân tích hệ thống và phát triển ứng dụng:
chịutráchnhiệmxácđịnh yêu cầucủangười dung cuối,
xác định các giao dịch cầnthiết để đáp ứng các yêu cầu
người dùng. Ngườilậptrìnhứng dụng cài đặtnhững yêu
cầi này trong chương trình, kiêm thử, gỡ rối, lậptàiliệu
cho chương trình
{ Ngườithiếtkế CSDL: chịutráchnhiệmxácđịnh dữ liệu
lưutrữ trong CSDL và cấutrúcbiểudiễnvàlưutrữ
những dữ liệu này
CSDL

Hệ QTCSDL
CSDL
Ứng dụng
Hệ
CSDL
Nhập môn cơ sở dữ liệu
Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 12
23
Người dùng
{ Ngườisử dụng cuối: là người khai thác các hệ CSDL
{ Ngườiquảntrị CSDL: chịutráchnhiệm cho phép truy
nhậpCSDL, điềuphốivàkiểmtrasử dụng CSDL, quản
lý tài nguyên phầncứng và phân mềmkhicầnthiết
{ Ngườibảotrìhệ thống: là những ngườiquảntrị hệ
thống chịutráchnhiệmviệchoạt động và bảotrìmôi
trường (phầncứng và phầnmềm) cho hệ CSDL
CSDL
Hệ QTCSDL
CSDL
Ứng dụng
Hệ
CSDL
24
Sinh viên
Lớphọc Điểmthi
Môn học
Giáo viên
Sinh viên
Họctập
Giáo viên

Hệ thống xử lý tệp
Nhập môn cơ sở dữ liệu
Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 13
25
Hạnchế
{ Mức độ diễntả ngữ nghĩahạnchế
{ Dữ liệu riêng lẻ, rờirạc
{ Quản lý, khai thác ở mứcthấp
26
Giáo viên
Họctập
Sinh viên
hệ QTCSDL
hệ QTCSDL
CSDL
Giáo viên
Sinh viên
Lớphọc
Môn học
Điểmthi
CSDL
Giáo viên
Sinh viên
Lớphọc
Môn học
Điểmthi
Hệ cơ sở dữ liệu
Nhập môn cơ sở dữ liệu
Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 14
27

Ưu điểmcủacáchtiếpcậnCSDL
{ Tính trừutượng hoá củadữ liệu
{ Hỗ trợ nhiều khung nhìn dữ liệu
{ Chia sẻ dữ liệugiữa nhiềungười dùng và hỗ
trợ quảnlýgiaodịch
28
Đặc điểmcủacáchtiếpcậnCSDL
{ Biểudiễnngữ nghĩa phong phú và những quan hệ phức
tạpcủacácdữ liệu
{ Kiểm soát tính dư thừavàđảmbảo các ràng buộc toàn
vẹndữ liệu
{ Hỗ trợ lưutrữ và truy vấndữ liệumộtcáchhiệuquả
{ Chia sẻ dữ liệugiữa nhiềungười dùng
{ Phân quyềnngười dùng và kiểm soát tính hợplệ củacác
truy xuấtdữ liệu
{ Hỗ trợ dịch vụ sao lưuvàphụchồidữ liệu
Nhập môn cơ sở dữ liệu
Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 15
29
Phân loạihệ CSDL
{ Mô hình dữ liệu
z Mạng vs. phân cấp vs. quan hệ vs. hướng đốitượng
vs.
{ Số ngườisử dụng
z Mộtngười dùng vs. nhiềungười dùng
{ Tính phân tán củaCSDL
z Tập trung vs. Phân tán
{ Tính thống nhấtcủadữ liệu
z Đồng nhất vs. Không đồng nhất
{

30
Kếtluận
{ CSDL cho phép lưu trữ và khai thác dữ liệumột
cách thống nhấtvàhiệuquả (đặcbiệttrong
trường hợpkhốilượng dữ liệulớn)
{ Sự trừutượng về dữ liệuvàtínhđộclậpdữ 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ữuhiệutrợ
giúp việctạo lập CSDL và phát triển ứng dụng
‘‘More than 80 % of real world computer applications
are associated with databases’’
*
*
Korth & Silberschatz. Database System Concepts.
Nhập môn cơ sở dữ liệu
Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 16
31
Trọng tâm của môn học này
CSDL
Hệ QTCSDL
CSDL
Ứng dụng
Hệ
CSDL
32
Sử dụng kiếnthứccủ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

Nhập môn cơ sở dữ liệu
Vũ Tuyết Trinh, b/m Các hệ thống thông tin, khoa CNTT, ĐHBKHN 17
33
Các điểmcầnlưu ý
{ Cách tiếpcậntệp vs. cách tiếpcậnCSDL
{ CSDL vs. hệ QTCSDL vs. hệ CSDL
{ Kiến trúc ANSI/SPARC (hay 3 mức) củahệ CSDL
{ Sơđồvs. thể hiện
{ Các chứcnăng chính củamộthệ QTCSDL
{ Ngườisử dụng trong mộthệ CSDL
{ Đặc điểmcủahệ CSDL
34

×