CƠ SỞ DỮ LIỆU<br />
45 tiết Lý thuyết<br />
trinhxuan@gmail.com<br />
//sites.google.com/site/trinhxuan<br />
=> Cơ sở dữ liệu<br />
<br />
Cơ sở dữ liệu – Ths. Trịnh Thị Xuân<br />
<br />
Chủ động – Tích cực Học tập<br />
<br />
2"<br />
<br />
Tài liệu tham khảo<br />
<br />
Nội dung<br />
! Tài<br />
<br />
liệu bắt buộc:<br />
trình CSDL, Khoa CNTT – Viện ĐH<br />
Mở Hà Nội, lưu hành nội bộ<br />
<br />
! Các<br />
<br />
khái niệm cơ bản<br />
hình ER<br />
! Mô hình quan hệ<br />
! Đại số quan hệ<br />
! Phụ thuộc hàm<br />
! Chuẩn hóa lược đồ<br />
<br />
" Giáo<br />
<br />
! Mô<br />
<br />
Chủ động – Tích cực Học tập<br />
<br />
23/8/16<br />
<br />
! Tài<br />
<br />
liệu tham khảo<br />
" Giáo trình nhập môn CSDL quan hệ, Lê<br />
Tiến Vương – NXB Giáo dục 2004<br />
" Cơ sở dữ liệu, Đỗ Trung Tuấn<br />
" Cơ sở dữ liệu - lý thuyết và thực hành,<br />
Nguyễn Bá Tường<br />
<br />
23/8/16<br />
<br />
4"<br />
<br />
Chủ động – Tích cực Học tập<br />
<br />
23/8/16<br />
<br />
5"<br />
<br />
Tiêu chuẩn đánh giá sinh viên<br />
! Hình<br />
" Bài<br />
<br />
thức đánh giá<br />
tập lớn – nhóm 4 sinh viên<br />
<br />
CHƯƠNG I:<br />
<br />
! Cách<br />
<br />
tính điểm<br />
" 10%: Chuyên cần<br />
" 20%: Điểm giữa kỳ<br />
! Kiểm tra<br />
! BTVN<br />
! Lên bảng<br />
" 70%: Thi kết thúc môn – BTL<br />
! Đánh giá riêng<br />
! Quá trình làm BTL + Buổi thi cuối cùng<br />
<br />
Chủ động – Tích cực Học tập<br />
<br />
23/8/16<br />
<br />
CÁC KHÁI NIỆM CƠ BẢN<br />
<br />
6"<br />
<br />
Cơ sở dữ liệu – Ths. Trịnh Thị Xuân<br />
<br />
23/8/16<br />
<br />
9"<br />
<br />
I. Cơ sở dữ liệu là gì?<br />
<br />
Ví dụ CSDL<br />
<br />
# Cơ<br />
<br />
sở dữ liệu (Database): là tập hợp dữ liệu có cấu<br />
trúc được lưu trữ trên các thiết bị lưu trữ nhằm<br />
thỏa mãn đồng thời cho nhiều người sử dụng với<br />
các mục đích khác nhau<br />
bao gồm các loại dữ liệu: âm thanh, văn<br />
bản, hình ảnh, … được mã hóa và lưu trữ dưới dạng<br />
file cụ thể<br />
<br />
! Bài<br />
<br />
toán quản lý điểm sinh viên<br />
tin về sinh viên<br />
" Thông tin về môn học<br />
" Thông tin điểm môn<br />
<br />
Bảng Môn học<br />
<br />
" Thông<br />
<br />
Mã Môn<br />
<br />
Tên môn<br />
<br />
CSDL<br />
<br />
Cơ sở dữ liệu<br />
<br />
3<br />
<br />
CTDL<br />
<br />
Cấu trúc dữ liệu<br />
<br />
4<br />
<br />
NNTV<br />
<br />
Ngôn ngữ truy vấn<br />
<br />
3<br />
<br />
TDC<br />
<br />
Tin đại cương<br />
<br />
4<br />
<br />
# CSDL<br />
<br />
Lưu trữ thông tin<br />
<br />
Người<br />
dùng<br />
<br />
CSDL<br />
<br />
truy cập thông tin<br />
<br />
Chủ động – Tích cực Học tập<br />
<br />
23/8/16<br />
<br />
13"<br />
<br />
ĐVHT<br />
<br />
Bảng Điểm<br />
Mã Môn<br />
<br />
Mã SV<br />
<br />
CSDL<br />
<br />
SV1<br />
<br />
Điểm<br />
5<br />
<br />
CTDL<br />
<br />
SV2<br />
<br />
7<br />
<br />
NNTV<br />
<br />
SV1<br />
<br />
7<br />
<br />
TDC<br />
<br />
SV2<br />
<br />
CSDL<br />
CTDL<br />
<br />
Bảng Sinh viên<br />
Mã<br />
SV<br />
<br />
Họ Tên<br />
<br />
Giới<br />
tính<br />
<br />
Ngày sinh<br />
<br />
Quê quán<br />
<br />
SV1<br />
<br />
Nguyễn Hằng<br />
<br />
Nữ<br />
<br />
3/4/96<br />
<br />
Thái Bình<br />
<br />
SV2<br />
<br />
Phạm Khóa<br />
<br />
Nam<br />
<br />
5/4/97<br />
<br />
Thanh Hóa<br />
<br />
6<br />
<br />
SV3<br />
<br />
Trần Đức<br />
<br />
Nam<br />
<br />
6/7/97<br />
<br />
Hải Phòng<br />
<br />
SV3<br />
<br />
7<br />
<br />
SV4<br />
<br />
Đỗ Huy Duy<br />
<br />
Nam<br />
<br />
5/3/97<br />
<br />
Thái Bình<br />
<br />
SV3<br />
<br />
8<br />
<br />
SV5<br />
<br />
Phạm Hải<br />
<br />
Nữ<br />
<br />
2/8/97<br />
<br />
Thanh Hóa<br />
<br />
Chủ động – Tích cực Học tập<br />
<br />
15"<br />
<br />
Các yêu cầu cơ bản của CSDL<br />
<br />
Các vấn đề CSDL cần giải quyết<br />
<br />
Tính<br />
cấu trúc<br />
$ Tính chủ quyền của dữ liệu<br />
$ Tính bảo mật và quyền khai thác thông tin<br />
<br />
Tính<br />
không<br />
dư thừa<br />
<br />
Tính<br />
toàn<br />
vẹn<br />
<br />
Tính<br />
độc lập<br />
<br />
Tính<br />
nhất<br />
quán<br />
<br />
$ Tranh chấp dữ liệu<br />
$ Đảm bảo an toàn dữ liệu khi có sự cố<br />
<br />
Tính an<br />
toàn –<br />
bảo mật<br />
Chủ động – Tích cực Học tập<br />
<br />
16"<br />
<br />
23/8/16<br />
<br />
17"<br />
<br />
*Phân loại cơ sở dữ liệu<br />
<br />
Các mức biểu diễn của CSDL<br />
<br />
Mức khung nhìn (mức ngoài): thể hiện tập tất cả các dữ liệu mà<br />
người sử dụng cụ thể có thể nhìn thấy, là mức của người sử dụng và<br />
kháitrình<br />
niệmứng<br />
(mức<br />
trung<br />
giảimột<br />
quyết<br />
vấnCSDL<br />
đề lưumàtrữngười<br />
dữ liệu<br />
cácMức<br />
chương<br />
dụng<br />
% gian):<br />
thể hiện<br />
phần<br />
nhưcần<br />
thếkhai<br />
(dữtrong):<br />
liệu gì,Đây<br />
loạilàgì,mức<br />
lưulưu<br />
trữtrữ<br />
bao<br />
quan<br />
dùng<br />
thác<br />
Mức<br />
vật<br />
lýnào<br />
(mức<br />
dữnhiêu,<br />
liệu cụ và<br />
thể.mối<br />
Mục<br />
đíchhệ<br />
giữa<br />
loại<br />
liệu) vấn<br />
% cho<br />
biếttrữ<br />
dữ dữ<br />
liệuliệu<br />
nào(dữ<br />
được<br />
trữ lưu<br />
trong<br />
của<br />
mứccác<br />
này<br />
giảidữquyết<br />
đề lưu<br />
liệulưu<br />
được<br />
trữhệ<br />
CSDL<br />
như<br />
thế nào và nhằm mục đích gì) % Tập hợp các file dữ liệu<br />
<br />
Chủ động – Tích cực Học tập<br />
<br />
Chủ động – Tích cực Học tập<br />
<br />
19"<br />
<br />
Cơ sở dữ liệu dạng file<br />
-được lưu dưới dạng các<br />
file văn bản<br />
-VD: text, doc, dbf, …<br />
<br />
Cơ sở dữ liệu quan hệ<br />
-được lưu trữ trong các<br />
bảng, giữa các bảng có<br />
quan hệ với nhau<br />
-VD: Access, SQL<br />
Server<br />
<br />
Cơ sở dữ liệu hướng đối<br />
tượng<br />
-được lưu trữ trong các<br />
bảng nhưng có bổ sung<br />
thêm các hành vi đối<br />
tượng<br />
-VD: class<br />
<br />
Cơ sở dữ liệu bán cấu<br />
trúc<br />
-được lưu dưới định<br />
dạng XML,<br />
-mô tả về đối tượng thể<br />
hiện trong các thẻ<br />
<br />
Chủ động – Tích cực Học tập<br />
<br />
23/8/16<br />
<br />
21"<br />
<br />
II. Đối tượng sử dụng CSDL<br />
! Các<br />
<br />
ứng dụng của cơ sở dữ liệu:<br />
" Kinh doanh: thông tin sản phẩm, khách hàng, nhà<br />
cung cấp,…<br />
" Doanh nghiệp: cán bộ, lương, công việc,..<br />
" Giáo dục: học sinh, điểm, môn học, giáo viên,..<br />
" Thư viện: tài liệu, tác giả, độc giả…<br />
" Y tế: bệnh nhân, thuốc, bác sỹ, điều trị,…<br />
" …<br />
<br />
Chủ động – Tích cực Học tập<br />
<br />
23/8/16<br />
<br />
22"<br />
<br />
Chủ động – Tích cực Học tập<br />
<br />
23/8/16<br />
<br />
23"<br />
<br />
1. Đối tượng trực tiếp<br />
! Thiết<br />
<br />
kế viên<br />
vấn người sử dụng để nắm được yêu cầu<br />
" Xác định dữ liệu cần lưu trữ<br />
" Lựa chọn cấu trúc thích hợp để biểu diễn<br />
" Phân tích thiết kế hệ thống sau khi thống nhất<br />
được các yêu cầu.<br />
! Quản trị viên – Database Administrator: người<br />
quản lý và chịu trách nhiệm với nguồn dữ liệu<br />
" Tổ chức nội dung<br />
" Phân quyền truy cập<br />
" Đảm bảo an toàn, bảo mật, sao lưu, phục hồi,…<br />
" Phỏng<br />
<br />
Chủ động – Tích cực Học tập<br />
<br />
23/8/16<br />
<br />
24"<br />
<br />
! Lập<br />
<br />
trình viên: thực hiện các yêu cầu thông qua lập<br />
trình sử dụng ngôn ngữ phù hợp<br />
" Viết code – chữa lỗi – gỡ rối<br />
" Chạy thử<br />
" Viết tài liệu hướng dẫn sử dụng<br />
" Bảo trì hệ thống.<br />
<br />
Chủ động – Tích cực Học tập<br />
<br />
2. Đối tượng gián tiếp<br />
phân tích và xây dựng hệ QTCSDL<br />
! Người phát triển công cụ<br />
! Người kiểm tra và bảo trì phần cứng và phần mềm<br />
của hệ thống<br />
<br />
23/8/16<br />
<br />
25"<br />
<br />
III. Hệ quản trị CSDL<br />
<br />
! Người<br />
<br />
Chủ động – Tích cực Học tập<br />
<br />
23/8/16<br />
<br />
26"<br />
<br />
! Một<br />
<br />
hệ quản trị CSDL là<br />
hợp các chương trình dùng để quản lý cấu trúc và dữ liệu<br />
của CSDL<br />
" Cho phép: định nghĩa, tạo lập, bảo trì và truy xuất CSDL<br />
" HQTCSDL cung cấp giao diện giữa người sử dụng và dữ liệu<br />
! Một Hệ quản trị CSDL có các chức năng sau:<br />
" Định nghĩa dữ liệu → DDL (Data Definition Language)<br />
" Thêm, sửa, xóa dữ liệu → DML (Data Manipulation<br />
Language)<br />
" Truy vấn dữ liệu → SQL (Structured Query Language)<br />
" Quản lý dữ liệu → DCL (Data Control Language) …<br />
! Các hệ quản trị CSDL hiện nay:<br />
" Access, SQL Server, Oracle, DB2, SQL Lite, …<br />
" Tập<br />
<br />
Chủ động – Tích cực Học tập<br />
<br />
23/8/16<br />
<br />
28"<br />
<br />
*Phân loại Hệ QTCSDL<br />
! Theo<br />
<br />
*Các thành phần trong hệ QT CSDL<br />
<br />
mô hình dữ liệu:<br />
<br />
Mô hình dữ liệu<br />
<br />
• <br />
• <br />
• <br />
• <br />
<br />
Hệ QT CSDL<br />
<br />
Quan hệ<br />
<br />
Hệ QT CSDL quan hệ<br />
<br />
Mạng<br />
<br />
Hệ QT CSDL mạng<br />
<br />
Phân cấp<br />
<br />
Hệ QT CSDL phân cấp<br />
<br />
CSDL<br />
Người sử dụng (user)<br />
Phần mềm QT CSDL<br />
Phần cứng<br />
<br />
! Theo<br />
<br />
số người sử dụng đồng thời:<br />
QT CSDL đơn<br />
" Hệ QT CSDL đa người dùng<br />
! Theo vị trí đặt CSDL:<br />
" Hệ QT CSDL tập trung<br />
" Hệ QT CSDL phân tán<br />
" Hệ<br />
<br />
Chủ động – Tích cực Học tập<br />
<br />
23/8/16<br />
<br />
31"<br />
<br />
Chủ động – Tích cực Học tập<br />
<br />
23/8/16<br />
<br />
32"<br />
<br />