Mục tiêu môn học
Nắm được các khái niệm và tầm quan
trọng của CSDL và hệ quản trị CSDL
Xây dựng được mô hình thực thể kết hợp
Xây dựng được mô hình CSDL quan hệ
Có khả năng hiện thực và khai thác CSDL
bằng ngôn ngữ SQ
46 trang |
Chia sẻ: thanhle95 | Lượt xem: 656 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Bài giảng Cơ sở dữ liệu - Chương 1: Giới thiệu môn học Hệ cơ sở dữ liệu - Nguyễn Như Hoa, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Giới thiệu môn học
Hệ cơ sở dữ liệu
Gv. Nguyễn Như Hoa
nguyennhuhoa060@gmail.com
nnhoa06.blogspot.com
1
Mục tiêu môn học
Nắm được các khái niệm và tầm quan
trọng của CSDL và hệ quản trị CSDL
Xây dựng được mô hình thực thể kết hợp
Xây dựng được mô hình CSDL quan hệ
Có khả năng hiện thực và khai thác CSDL
bằng ngôn ngữ SQL
2
Nội dung môn học
Nội dung
Số tiết
Lý
thuyết
Số tiết
Thực
hành
Chương 1: Giới thiệu Tổng quan 3
Chương 2: Mô hình thực thể kết hợp 6
Chương 3: Mô hình CSDL quan hệ 8
Chương 4: Ngôn ngữ SQL 1 60
Chương 5 : Chuẩn hóa CSDL 12
Tổng cộng 30 60
3
Kiểm tra & Đánh giá
• Thi giữa kỳ : tự luận
• Thi cuối kỳ : tự luận
• Kiểm tra thường kỳ : 3 bài
4
Giáo trình và TLTK
- Giáo trình :
[1]. Hệ Cơ sở dữ liệu – Dương Tuấn Anh, Nguyễn Trung Trực –
NXB ĐH Quốc Gia Tp HCM
[2]. Giáo trình cơ sở dữ liệu Đại học Công Nghiệp – ThS Trần
Đắc Phiến
[3] Ramez Elmasri, Shamkant B. Navathe, 2011.
Fundamentals of Database systems, 6th edition, Addison-
Wesley.
[4] Fred R. McFadden, Jeffrey A.Hoffer, Mary B.Prescott ,
1999. Modern Database management, 5th edition,
Addison Wisley
.
5
Giáo trình và TLTK
– Tài liệu tham khảo:
[1] Các hệ CSDL lý thuyết và thực hành – Hồ Thuần, Hồ Cẩm Hà –
Nhà xuất bản giáo dục, 2004.
[2] Database Management Systems – Raghu Ramakrishnan &
Johannes Gehrke, 3th edition, USA
[3] Peter Rob, Carlos Coronel, Database Systems: Design,
Implementation and Management, 4th Edition, Course
Technology, 2000.
[4] Philip M.Lewis, Arthur Bernstein, Michael Kifer, Databases and
Transaction Processing , Addison Wesley, 2002.
[5] Hector Garcia-Molina, Jeffrey D.Ullman, Jennifer Widom,
Database Systems: the complete Book, 2000.
6
Chương 1
Tổng quan về
CSDL và Hệ quản trị CSDL
Giáo trình & Tài liệu tham khảo:
1. Ramez Elmasri, Shamkant B. Navathe, 2011. Fundamentals of Database
systems, 6th edition, Addison-Wesley.
2. Giáo trình Cơ sở dữ liệu , Trần Đắc Phiến, ĐH Công nghiệp TPHCM
3. Bộ slide bài giảng của Nguyễn Minh Thư, Khoa CNTT, ĐH KHTN TPHCM
4. Bộ slide bài giảng của Trần Thị Kim Chi, Khoa CNTT, ĐH Công nghiệp TPHCM
Gv. Nguyễn Như Hoa
7
Nội dung chương 1
• Khái niệm về Cơ sở dữ liệu (DB) và Hệ quản trị
cơ sở dữ liệu (DBMS)
• Các mô hình dữ liệu
• Các giai đoạn thiết kế Cơ sở dữ liệu
8
Giới thiệu (1)
• Hoạt động của bất kỳ Tổ chức nào thường dẫn
đến phát sinh dữ liệu, lưu trữ , xử lý và khai thác
dữ liệu
– Trường học : quản lý kết quả học tập, thời khóa biểu,
đăng ký học phần, quản lý tài chính, thư viện,
– Kinh doanh: quản lý bán hàng , kho hàng, mặt hàng,
khách hàng,
– Hành chính : quản lý nhân khẩu, đất đai, quản lý quỹ,
.
– ...
9
Giới thiệu (2)
• Dữ liệu (data)
– Một mô tả hình thức về Tổ chức và hoạt động của
nó
• Tên, địa chỉ, số điện thoại, của khách hàng
• Tên, thời lượng, giáo viên, số lượng SV, ngày bắt đầu,
của một khóa học
• Mã số thẻ, tên, địa chỉ, số điện thoại, của độc giả
(thư viện)
• Thông tin (Information)
– Dữ liệu đã qua xử lý
10
Giới thiệu (3)
Dữ liệu
1 10273 Nguyễn Văn Hoà CDTH7 1996
2 00298 Nguyễn Minh Tâm CDTH7 1996
. . .
151 50542 Hồ Xuân Phương TCTH33 1997
152 50075 Lê Việt Dũng CNTH34 1995
DỮ LIỆU
(DATA)
THÔNG TIN
(INFORMATION)
X
Ử
LÝ
11
Giới thiệu (4)
• Cơ sở dữ liệu (Database hay DB)
– Một tập hợp có cấu trúc của những dữ liệu có liên
quan với nhau được lưu trữ trong máy tính
• Danh sách sinh viên
• Niên giám điện thoại
• Danh mục các đề án
– Một CSDL biểu diễn một phần của thế giới thực (một
tổ chức và hoạt động của nó)
– CSDL được thiết kế, xây dựng, và lưu trữ với một mục
đích xác định, phục vụ cho một số ứng dụng và người
dùng
• Tập ngẫu nhiên của các dữ liệu không thể xem là một CSDL
12
Giới thiệu (5)
• Hệ quản trị CSDL (Database Management
System hay DBMS)
– Tập hợp các chương trình cho phép người sử dụng tạo
ra và duy trì CSDL
– Một phần mềm hệ thống cho phép định nghĩa, xây
dựng và xử lý dữ liệu
• Định nghĩa – khai báo bộ khung dữ liệu cùng với các mô tả
chi tiết về dữ liệu
• Xây dựng – lưu trữ dữ liệu lên bộ nhớ phụ
• Xử lý – truy vấn, cập nhật và phát sinh báo cáo
– Vd: SQL server, Oracle, Mysql,
13
Giới thiệu (6)
• Hệ CSDL (Database System)
Xử lý truy vấn
Hệ QT CSDL
Truy xuất dữ liệu
CSDL
Định nghĩa
CSDL
Người sử dụng
Chương trình ứng dụng/Truy vấn
Hệ CSDL
Catalog
14
Một ví dụ về CSDL (1)
MASV HOTEN MALOP
012022 Sơn TC3201
012023 Bảo TC3202
012024 Trang TC3203
MASV MAMH DIEM
012022 THVP 8
012022 CSDL 6
012022 CTDL 7
012023 THVP 9
012023 CSDL 8
012024 THVP 10
MAMH TENMH TINCHI
THVP Nhập môn TH 4
CSDL Cấu trúc dữ liệu 4
CTDL Toán rời rạc 3
MALOP TENLOP KHOA
TC3201 TCTH32A CNTT
TC3202 TCTH32B CNTT
TC3203 TCTH32C CNTT
SINHVIEN
LOP
MONHOC
KETQUA
15
Một ví dụ về CSDL (2)
• Quản lý KQHT của Sinh viên của một trường học
– Định nghĩa CSDL
• Cấu trúc bảng, bao gồm các thành phần dữ liệu và kiểu dữ
liệu tương ứng
– Xây dựng CSDL
• Đưa dữ liệu vào các bảng
– Xử lý CSDL
• Thực hiện các truy vấn: “Cho biết các sinh viên có điểm <5
môn THVP”
• Thực hiện các phép cập nhật: “Chuyển sinh viên có mã
012022 sang lớp TCTH32B”
16
Một ví dụ về Hệ CSDL (1)
Xử lý truy vấn
MS SQL
SERVER
Truy xuất dữ liệu
CSDL Sinhviên
Định nghĩa
CSDL
Người sử dụng
Chương trình Quản Lý KQHT của Sinh viên
Hệ CSDL
17
Một ví dụ về Hệ CSDL (2)
Xử lý truy vấn
MS SQL SERVER
Truy xuất dữ liệu
CSDL Sinhviên
Định nghĩa
CSDL
Người sử dụng
Chương trình Quản Lý KQHT của Sinh viên Chương trình Y Chương trình X
Hệ CSDL
CSDL Y CSDL X
18
Một ví dụ về Hệ CSDL (3)
19
Quá trình phát triển (1)
• Tiếp cận cũ : Tập tin (file)
Hệ
Thống
Quản
Lý
Tập
Tin
Chương trình ứng dụng 1
Quản lý dữ liệu
Chương trình ứng dụng 2
Quản lý dữ liệu
Chương trình ứng dụng 3
Quản lý dữ liệu
Tập
tin
Tập
tin
Tập
tin
Dữ liệu
20
Quá trình phát triển (2)
• Tiếp cận cũ : Tập tin (file)
– Các hạn chế
• Dữ liệu bị trùng lắp và dư thừa
• Thiếu tính nhất quán giữa các dữ liệu
• Khó khăn trong việc truy xuất
• Việc chia sẻ dữ liệu bị hạn chế
• Khó khôi phục
21
Quá trình phát triển (3)
• Tiếp cận hiện nay : Cơ sở dữ liệu (Database)
Hệ
Quản
Trị
CSDL
Chương trình ứng dụng 1
Quản lý dữ liệu
Chương trình ứng dụng 2
Quản lý dữ liệu
Chương trình ứng dụng 3
Quản lý dữ liệu
CSDL
22
Đặc tính của cách tiếp cận
Cơ sở dữ liệu
• Các đặc tính nổi bật
– Tính tự mô tả
– Tính trừu tượng dữ liệu
– Tính độc lập giữa chương trình và dữ liệu
– Tính nhất quán
– Hỗ trợ nhiều cách nhìn dữ liệu và chia sẽ dữ liệu
23
Tính tự mô tả
• Hệ QTCSDL không chỉ chứa bản thân CSDL mà còn chứa
định nghĩa mô tả CSDL
– Chứa các thông tin về cấu trúc và tổ chức tập tin, kiểu và
dạng thức lưu trữ của mỗi thành phần dữ liệu và những
ràng buộc dữ liệu
• Các định nghĩa mô tả CSDL được lưu trữ trong catalog
• Dữ liệu trong catalog gọi là meta-data (data of data)
Name Type Length Description
MaSV Char 6 Mã sinh viên
Hoten Char 30 Họ và tên sinh viên
MaLop Char 7 Mã Lớp học
Namsinh smallint Năm sinh
24
Tính trừu tượng
• Hệ QTCSDL trình bày dữ liệu ở mức trừu tượng,
che dấu những chi tiết lưu trữ và hiện thực của
dữ liệu
• Biểu diễn dữ liệu thông qua mô hình dữ liệu
– Đối tượng
– Thuộc tính của đối tượng
– Mối liên hệ
25
Tính độc lập
• Độc lập giữa chương trình ứng dụng và dữ liệu
– Định nghĩa về cấu trúc data được lưu trữ trong
DBMS catalog , tách biệt với chương trình ứng
dụng -> có những thay đổi trong cấu trúc data
không đòi hỏi thay đổi chương trình ứngdụng
– Vd : Thêm mục dữ liệu “ngày sinh” vào các bản
ghi SINHVIEN
Độc lập
Chương trình
Dữ liệu
26
Tính nhất quán
• Lưu trữ dữ liệu thống nhất và tập trung
– Tránh được tình trạng trùng lắp thông tin
27
Hỗ trợ nhiều cách nhìn dữ liệu
• Hệ QTCSDL cho phép nhiều người dùng thao
tác lên cùng một CSDL -> mỗi người đòi hỏi
một cách nhìn (view) khác nhau về CSDL
• Hệ QTCSDL sử dụng “view”
– Một phần của CSDL hoặc
– Dữ liệu tổng hợp từ CSDL
28
Chia sẽ dữ liệu dễ dàng
• Dữ liệu phục vụ cho nhiều ứng dụng được lưu
trữ tập trung và được chia sẻ dễ dàng qua hỗ
trợ của hệ QTCSDL
• Hệ QTCSDL có cơ chế cho phép truy xuất dữ
liệu từ nhiều user đồng thời
– Tránh được việc tranh chấp dữ liệu
– Bảo đảm dữ liệu luôn đúng tại mọi thời điểm
29
Người sử dụng CSDL
• Quản trị viên (Database Administrator - DBA)
• Thiết kế viên (Database Designer)
• Người dùng cuối (End User)
30
Quản trị viên
• Có trách nhiệm quản lý hệ CSDL
– Cấp quyền truy cập CSDL
– Điều phối và giám sát việc sử dụng CSDL
31
32
Thiết kế viên
• Chịu trách nhiệm về
– Quyết định những dữ liệu nào cần được lưu trữ
– Lựa chọn cấu trúc phù hợp để lưu trữ dữ liệu
• Liên hệ với người dùng để nắm bắt được các
yêu cầu và đưa ra một thiết kế CSDL thỏa yêu
cầu
33
Người dùng cuối
• Người ít sử dụng
– Ít khi truy cập CSDL, nhưng cần những thông tin khác
nhau trong mỗi lần truy cập và dùng những câu truy
vấn phức tạp
– Vd : Người quản lý
• Người sử dụng thường xuyên
– Thường xuyên truy vấn và cập nhật CSDL nhờ vào một
số các chức năng đã được xây dựng sẳn
– Vd : Nhân viên
• Người sử dụng đặc biệt
– Thông thạo về HQT CSDL, tự xây dựng những truy vấn
phức tạp cho công việc
– Vd : Kỹ sư, nhà khoa học, người phân tích,
34
Mô hình dữ liệu
• Thế giới thực được mô hình hóa
• Một mô hình dữ liệu bao gồm
– Một tập các khái niệm để mô tả và điều khiển dữ liệu,
thể hiện các mối quan hệ và ràng buộc trên dữ liệu
của một tổ chức
– Các ký hiệu để trình bày mô hình, cho phép người
thiết kế DB và users có thể đọc và hiểu về dữ liệu của
tổ chức
• Phân loại mô hình dữ liệu
– Mô hình mức cao
– Mô hình cài đặt
– Mô hình mức thấp
35
Mô hình dữ liệu (tt)
• Mô hình mức cao (mức khái niệm)
– Cung cấp các khái niệm gần gũi với người dùng
– Mô hình phải tự nhiên và giàu ngữ nghĩa
– VD: mô hình thực thể kết hợp (ER), mô hình đối tượng
• Mô hình cài đặt (mức logic)
– Đưa ra các khái niệm người dùng có thể hiểu được nhưng
không quá xa với cách dữ liệu được tổ chức thật sự trên
máy tính
– VD: mô hình quan hệ, mô hình mạng, mô hình phân cấp
• Mô hình mức thấp (mức vật lý)
– Đưa ra các khái niệm mô tả chi tiết về cách thức dữ liệu
được lưu trữ trong máy tính
36
Ví dụ mô hình ER
SVien
hoc HPhan mo
MHoc
dieukien
Nganh
MaSV
Lop
Diem
(1,n)
(0,n)
Ten
(1,1)
mhoctruoc
mhocsau
(0,n)
(0,n)
Tinchi
MaMH
Khoa
TenMH
(0,n)
Hocky
Gvien Nam
MaHP
37
Ví dụ mô hình đối tượng
SVien
Ten
Lop
Nganh
LapTKB()
InBangDiem()
Diem
DiemTH
DiemLT
DiemPrj
SuaDiem()
HPhan
Ten
SLuong
0..* 1..*
hoc
MHoc
Ten
Khoa
SoTinChi
CapNhatSTC()
0..*
1
mo
0..*
0..*
Dieu kien
+MHoc truoc
+MHoc sau
38
Ví dụ mô hình quan hệ
SVien
MaSV
Ten
Lop
Nganh
Hoc
MaSV
MaHP
DiemLT
DiemTH
HPhan
MaHP
SLuong
MaMH
MHoc
MaMH
TenMH
Khoa
TinChi
DKien
MaMH
MaMHTruoc
39
Ví dụ mô hình mạng
SVien MHoc
HPhan
KQua
DKien
SVIEN_DIEM
MHOC_MO
MHOC_SAU
MHOC_TRUOC
KQUA_HPHAN
40
Ví dụ mô hình phân cấp
SVien
TenSV Lop Nganh
HPhan
TenHP SLuong
MHoc
TenMH Khoa TinChi
Mức 2:
Mức 1:
Mức 3:
KQua
DiemTH DiemLT
41
Lược đồ CSDL (Schema)
• Cấu trúc của CSDL gọi là schema (lược đồ csdl)
• Hình vẽ biểu diễn schema gọi là schema diagram
• Ví dụ:
SVien Ten MaSV Nam Khoa
TenMH MaMH TinChi Khoa Mhoc
MaSV MaKH KQua Diem
42
Thể hiện của CSDL (Instance)
• Dữ liệu/trạng thái của CSDL ở một thời điểm
nào đó gọi là Instance
• Còn gọi là tình trạng của CSDL
Ten MaSV Nam Khoa
Son 17 1 CNTT
Bao 8 2 CNTT
SVien
TenMH
Nhap mon tin hoc
Cau truc du lieu
Mhoc
Toan roi rac
Co so du lieu
MaMH
COSC1310
COSC3320
MATH2410
COSC3380
TinChi Khoa
4
4
3
3
CNTT
CNTT
TOAN
CNTT
MaSV Diem
17 8
17 6
KQua MaKH
8
8
8
8
112
119
85
92
102
135
10
9
8
10
Các giai đoạn thiết kế cơ sở dữ liệu (1)
Phụ thuộc
HQT cụ thể
Độc lập HQT
Thế giới
thực
Phân tích yêu cầu
Thiết kế mức quan niệm
Thiết kế mức logic
Thiết kế mức vật lý
Các yêu cầu về dữ liệu
Lược đồ quan niệm
Lược đồ logic
Lược đồ trong
Hiện thực Chương trình
ứng dụng
Thiết kế
Chương trình ứng dụng
Phân tích chức năng
Các yêu cầu về chức năng
Các đặc tả chức năng
43
Các giai đoạn thiết kế cơ sở dữ liệu (2)
Phụ thuộc
HQT cụ thể
Độc lập HQT
Thế giới
thực
Phân tích yêu cầu
Thiết kế mức quan niệm
Thiết kế mức logic
Thiết kế mức vật lý
Các yêu cầu về dữ liệu
Lược đồ quan niệm ( ERD )
Lược đồ logic (Relational DB shema )
Lược đồ trong ( Tables )
Giai đoạn 1
Giai đoạn 2 (*)
Giai đoạn 3 (*)
Giai đoạn 4
(*) Phạm vi của Môn học Hệ CSDL 44
Tóm tắt & Câu hỏi ?
45
DATABASE
DBMS
(hệ QT CSDL)
MÔ HÌNH
DỮ LIỆU
Mô hình
Quan hệ
Mô hình đối
tượng
Mô hình ER
Lược đồ CSDL
Thể hiện CSDL
Database Sytem
(hệ CSDL)
Các thuật ngữ
• Database (DB)
• Database Management System (DBMS)
• Database System
• Database Schema
• Database Instance
• Data model
• Data & Metadata
46