KHOA HTTT KINH TẾ & TMĐT<br />
<br />
Mục<br />
<br />
đích của học phần:<br />
<br />
Trang bị các kiến thức cơ bản về CSDL quan hệ, ngôn ngữ thao<br />
tác trên CSDL.<br />
Cung cấp các kỹ năng cơ bản về tổ chức CSDL: thiết kế CSDL,<br />
ngôn ngữ truy vấn.<br />
<br />
BÀI GIẢNG HỌC PHẦN<br />
<br />
D<br />
<br />
Yêu<br />
<br />
cầu đạt được:<br />
<br />
Nắm vững các kiến thức cơ bản về CSDL<br />
Hiểu các phương pháp thiết kế một CSDL<br />
Nhận thức được vai trò và sự cần thiết của hệ thống quản lý dữ liệu<br />
với một tổ chức kinh tế xã hội<br />
Biết thiết kế và tạo lập những CSDL dựa trên một HQT CSDL<br />
thông dụng kết hợp với NNLT để lập trình quản lý CSDL<br />
<br />
TM<br />
<br />
H<br />
<br />
Bộ môn: Tin học<br />
<br />
1<br />
<br />
_T<br />
<br />
Cấu<br />
<br />
2<br />
<br />
trúc học phần: 24,6 – Số TC: 02 (30 tiết)<br />
<br />
Nghe giảng: 24 tiết<br />
Thảo luận (bài tập): 6 tiết<br />
<br />
<br />
<br />
Chương 1: Tổng quan về CSDL<br />
<br />
M<br />
<br />
<br />
Chương 2: CSDL quan hệ<br />
<br />
<br />
<br />
Chương 3: Ngôn ngữ khai thác CSDL quan hệ<br />
<br />
U<br />
3<br />
<br />
sds<br />
<br />
4<br />
<br />
1<br />
<br />
1. TS Nguyễn Thị Thu Thủy. Giáo trình CSDL1. NXB Thống kê,<br />
2015<br />
2. Hồ Thuần, Hồ Cẩm Hà, Các hệ cơ sở dữ liệu lý thuyết và thực<br />
hành, Nhà xuất bản giáo dục, 2009.<br />
3. Nguyễn Kim Anh, Nguyên lý của các hệ cơ sở dữ liệu, Nhà<br />
xuất bản Đại học Quốc gia Hà Nội, 2008<br />
4. Phương Lan, Giáo trình Cơ sở dữ liệu, nhà xuất bản lao động xã<br />
hội, 2007<br />
5. Sumathi, Esakkirajan, S. Fundamentals of Relational Database<br />
Management Systems, Springer-Verlag, 2007<br />
6. Elmasri, Navathe, Fundamentals of Database Systems, 6th<br />
Edition, 2010<br />
7. Avi Silberchatz, Henry F. Korth, S. Sudarshan. Database<br />
concepts.<br />
<br />
<br />
<br />
<br />
<br />
<br />
TM<br />
<br />
H<br />
<br />
D<br />
<br />
1.1. Các khái niệm cơ bản về CSDL<br />
1.2. Mô hình dữ liệu<br />
1.3. Kiến trúc cơ sở dữ liệu<br />
1.4. Ngôn ngữ quản trị cơ sở dữ liệu<br />
<br />
5<br />
<br />
<br />
<br />
CSDL (Database):<br />
<br />
U<br />
<br />
Tính tự mô tả<br />
Tính độc lập giữa chương trình và dữ liệu<br />
Tính trừu tượng dữ liệu<br />
Tính nhất quán<br />
Các cách nhìn dữ liệu<br />
<br />
7<br />
<br />
sds<br />
<br />
<br />
<br />
◦ Ngôn ngữ định nghĩa dữ liệu (Data Denifition Language - DDL)<br />
◦ Ngôn ngữ thao tác dữ liệu (Data Manipulation Language - DML)<br />
◦ Các kiểm soát, các điều khiển đối với việc truy cập vào CSDL<br />
<br />
Một số đặc tính của CSDL<br />
◦<br />
◦<br />
◦<br />
◦<br />
◦<br />
<br />
Hệ QT CSDL (Database Management System - DBMS): là<br />
một tập hợp các chương trình cho phép người dùng định<br />
nghĩa, tạo lập, bảo trì các CSDL và cung cấp các truy cập<br />
có điều khiển đến các CSDL này.<br />
Hệ QT CSDL cung cấp các phương tiện sau:<br />
<br />
M<br />
<br />
◦ Là một tập hợp các dữ liệu có liên quan với nhau chứa thông tin về<br />
một tổ chức nào đó (trường đại học, công ty,…) được lưu trữ trên<br />
các thiết bị nhớ để đáp ứng nhu cầu khai thác thông tin của nhiều<br />
người sử dụng với nhiều mục đích khác nhau.<br />
<br />
<br />
_T<br />
<br />
<br />
<br />
6<br />
<br />
8<br />
<br />
2<br />
<br />
<br />
<br />
<br />
<br />
Chương trình ứng dụng/Truy vấn<br />
HQT CSDL<br />
<br />
Cơ sở dữ liệu<br />
Người sử dụng<br />
Phần mềm hệ QT CSDL<br />
Phần cứng<br />
<br />
Xử lý truy vấn<br />
Truy xuất dữ liệu<br />
<br />
H<br />
<br />
◦<br />
◦<br />
◦<br />
◦<br />
<br />
Người sử dụng/Lập trình viên<br />
<br />
D<br />
<br />
<br />
<br />
Thuật ngữ hệ CSDL để chỉ một CSDL và một hệ QT<br />
CSDL để truy cập vào CSDL đó<br />
Hệ CSDL cung cấp cho người dùng một cách nhìn<br />
trừu tượng của DL, che giấu những chi tiết phức tạp<br />
về cách thức DL được lưu trữ và bảo trì.<br />
Hệ CSDL là một hệ thống gồm 4 thành phần sau:<br />
<br />
Định nghĩa<br />
CSDL<br />
<br />
CSDL<br />
<br />
TM<br />
<br />
Hệ CSDL<br />
<br />
9<br />
<br />
10<br />
<br />
_T<br />
<br />
<br />
M<br />
<br />
Một lược đồ được viết trong ngôn ngữ định nghĩa dữ liệu<br />
của một hệ QT CSDL cụ thể. Để mô tả các yêu cầu dữ<br />
liệu của một tổ chức sao cho mô tả đó dễ hiểu đối với<br />
nhiều NSD khác nhau thì ngôn ngữ này lại ở mức quá<br />
thấp cần có một mô hình dữ liệu<br />
<br />
11<br />
<br />
sds<br />
<br />
Khái niệm: Mô hình dữ liệu là một tập các khái niệm và<br />
các ký pháp dùng để mô tả dữ liệu, các mối quan hệ của<br />
dữ liệu, các ràng buộc trên dữ liệu của một tổ chức.<br />
<br />
U<br />
<br />
<br />
<br />
12<br />
<br />
3<br />
<br />
<br />
<br />
<br />
<br />
Phần mô tả các thao tác, định nghĩa các phép toán được<br />
phép trên dữ liệu.<br />
<br />
<br />
<br />
◦<br />
◦<br />
◦<br />
◦<br />
<br />
Phần mô tả cấu trúc của CSDL<br />
<br />
Phần mô tả các ràng buộc toàn vẹn để đảm bảo sự<br />
<br />
D<br />
<br />
<br />
<br />
Mô hình dữ liệu logic trên cơ sở đối tượng<br />
<br />
<br />
<br />
Mô hình thực thể - liên kết<br />
Mô hình hướng đối tượng<br />
Mô hình dữ liệu ngữ nghĩa<br />
Mô hình dữ liệu chức năng<br />
<br />
Mô hình dữ liệu logic trên cơ sở bản ghi<br />
◦ Mô hình quan hệ<br />
◦ Mô hình mạng<br />
◦ Mô hình phân cấp<br />
<br />
chính xác của dữ liệu.<br />
<br />
H<br />
<br />
<br />
<br />
Mô hình dữ liệu logic vật lý<br />
<br />
TM<br />
<br />
◦ Mô hình hợp nhất<br />
◦ Mô hình bộ nhớ khung<br />
<br />
13<br />
<br />
14<br />
<br />
Mức ngoài (mức khung nhìn)<br />
<br />
Người dùng 1<br />
<br />
◦ Mô tả dữ liệu được thực sự lưu trữ như thế nào trong CSDL.<br />
◦ Là mức thể hiện các cài đặt có tính chất vật lý của CSDL để đạt<br />
được tối ưu trong các thao tác tìm kiếm, lưu trữ (tận dụng các<br />
vùng nhớ còn trống)<br />
◦ Là mức phản ánh các CTDL, các tổ chức tệp được dùng cho lưu<br />
trữ dữ liệu trên các thiết bị nhớ thứ cấp.<br />
<br />
Người dùng n<br />
<br />
…<br />
<br />
Khung nhìn n<br />
<br />
M<br />
<br />
Khung nhìn 1<br />
<br />
<br />
<br />
Mức khái niệm (mức logic)<br />
<br />
Mức khái niệm<br />
<br />
CSDL Mức vật lý<br />
<br />
<br />
<br />
U<br />
<br />
◦ Mô tả những dữ liệu nào được lưu trữ trong CSDL và có những<br />
mối quan hệ nào giữa các dữ liệu này (biểu diễn các thực thể, các<br />
thuộc tính và các mối quan hệ đó)<br />
<br />
CSDL mức khái niệm<br />
<br />
Mức ngoài<br />
<br />
◦ Mô tả chỉ một phần của toàn bộ CSDL, phần thích hợp với một<br />
NSD nhất định.<br />
◦ Hệ thống có thể cung cấp nhiều khung nhìn đối với cùng một<br />
CSDL.<br />
<br />
Mức trong (mức vật lý)<br />
<br />
15<br />
<br />
sds<br />
<br />
Mức trong<br />
<br />
_T<br />
<br />
<br />
16<br />
<br />
4<br />
<br />
<br />
<br />
Thể hiện<br />
<br />
Lược đồ CSDL (Database Schema)<br />
<br />
<br />
<br />
◦ Là các mô tả về cấu trúc và ràng buộc trên CSDL<br />
Ten<br />
<br />
Hphan<br />
<br />
TenHP<br />
<br />
MaSV<br />
<br />
◦ Là dữ liệu hiện thời được lưu trữ trong CSDL ở một thời điểm<br />
nào đó<br />
◦ Tình trạng của CSDL<br />
<br />
Nam Khoa<br />
<br />
D<br />
<br />
SVien<br />
<br />
MaHP<br />
<br />
TinChi Khoa<br />
<br />
MaHP<br />
MaKH<br />
<br />
MaHP<br />
<br />
HocKy<br />
<br />
KQua<br />
<br />
MaKH<br />
<br />
MaSV<br />
<br />
Diem<br />
<br />
Nam<br />
<br />
TenHP<br />
<br />
MaHP<br />
<br />
TinChi<br />
<br />
Khoa<br />
<br />
Tin học đại cương<br />
<br />
INFO0111<br />
<br />
3<br />
<br />
HTTTKT<br />
<br />
CSDL1<br />
<br />
MaHP_Truoc<br />
<br />
KHoc<br />
<br />
Hphan<br />
<br />
H<br />
<br />
DKien<br />
<br />
Thể hiện CSDL (Database Instance)<br />
<br />
INFO6111<br />
<br />
2<br />
<br />
KQua<br />
<br />
MaSV<br />
<br />
MaKH<br />
<br />
Diem<br />
<br />
17<br />
17<br />
8<br />
8<br />
8<br />
8<br />
<br />
112<br />
119<br />
85<br />
92<br />
102<br />
135<br />
<br />
HTTTKT<br />
<br />
8<br />
6<br />
10<br />
9<br />
8<br />
10<br />
<br />
GV<br />
<br />
SVien<br />
<br />
TM<br />
<br />
Ten<br />
<br />
MaSV<br />
<br />
Nam<br />
<br />
Son<br />
Bao<br />
<br />
17<br />
8<br />
<br />
1<br />
2<br />
<br />
Khoa<br />
<br />
DKien<br />
<br />
MaHP<br />
<br />
MaHP_Truoc<br />
<br />
INFO0111<br />
INFO6111<br />
<br />
HTTTKT<br />
TMĐT<br />
<br />
MAT1234<br />
INFO0111<br />
<br />
17<br />
<br />
_T<br />
<br />
<br />
<br />
Ứng với 3 mức của một hệ CSDL có 3 loại lược đồ<br />
◦ Lược đồ ngoài (lược đồ con)<br />
◦ Lược đồ logic<br />
◦ Lược đồ vật lý<br />
<br />
Mức ngoài<br />
<br />
Người dùng<br />
<br />
M<br />
<br />
<br />
<br />
18<br />
<br />
Người dùng<br />
<br />
…<br />
<br />
Lược đồ ngoài 1<br />
<br />
Phân biệt được lược đồ CSDL với bản thân CSDL<br />
<br />
Lược đồ ngoài n<br />
<br />
Ánh xạ ngoài/<br />
Ánh xạ khái niệm<br />
<br />
Mức khái niệm<br />
<br />
Độc lập dữ liệu mức logic<br />
Lược đồ khái niệm<br />
<br />
U<br />
<br />
Ánh xạ khái niệm/<br />
Ánh xạ trong<br />
<br />
Lược đồ trong<br />
<br />
Độc lập dữ liệu mức vật lý<br />
<br />
Mức trong<br />
<br />
19<br />
<br />
sds<br />
<br />
20<br />
<br />
5<br />
<br />