1. 9/9/2013
Cơ sở dữ liệu 2
TS. Phan Anh Phong
Tel. 09 12 12 00 62
Email: phongpa@gmail.com
Phan Anh Phong. – Vinh University
1
Tài liệu
Giáo trình
Nguyễn Tuệ, ”Nhập môn các hệ cơ sở dữ liệu”, Nhà xuất bản Giáo
dục, 2008
Hồ Thuần, Hồ Cẩm Hà “Các hệ cơ sở dữ liệu, lý thuyết và thực
hành ”, tập 2, Nhà xuất bản Giáo dục, 2005.
R. Elmasri, S. A. Navathe, Fundamentals of Database systems, 6th
edition, John Wiley & Sons, Inc., 2010.
Tài liệu tham khảo
H. Garcia-Molina, J. D. Ullman, and J. Widom, Database Systems:
The Complete Book, 2nd edition, Hardcover, 2008.
R. Ramakrishnan, and J. Gehrke, Database Management Systems,
3rd edition, Mc Graw Hill, 2003.
Phan Anh Phong. – Vinh University
2
1
2. 9/9/2013
Mục tiêu
Kiến thức
Xây dựng được các cơ sở dữ liệu đơn giản từ thực
tế;
Hiểu được hệ csdl phân tán: kiến trúc, xử lý truy
vấn, giao dịch, điều khiển tương tranh, và viết
được các chương trình ứng dụng bằng SQL
Nắm được các khái niệm của các hệ CSDL hướng
đối tượng
Kỹ năng:
Kỹ năng khai thác và tìm hiểu một hệ quản trị
CSDL MySQL/Oracle/PostgreSQL
Kỹ năng làm việc nhóm giải quyết vấn đề;
Kỹ năng báo cáo bài tập nhóm.
Thái độ
Phan Anh Phong. – Vinh University
3
Nội dung
Phần 1. Nhắc lại cơ sở dữ liệu quan hệ
Phần 2. Các hệ cơ sở dữ liệu phân tán
Phần 3. Các hệ cơ sở dữ liệu hướng đối tượng
Case study
The link for download our lectures:
http:sdrv.ms14gpsXk
Phan Anh Phong. – Vinh University
4
2
3. 9/9/2013
Chương 0.
Cơ sở dữ liệu quan hệ
CSDL là gì?
Tại sao lại nghiên cứu CSDLQH?
Và gồm những vấn đề nào?
Phan Anh Phong. – Vinh University
5
Nội dung chương 0
Các khái niệm cơ bản
Quá trình thiết kế một CSDL từ thực tế
Ngôn ngữ CSDL
Các ràng buộc dữ liệu
An toàn và toàn vẹn CSDL
Xu thế phát triển của CSDL
Phan Anh Phong. – Vinh University
6
3
4. 9/9/2013
Các khái niệm cơ bản
Ứng dụng
CSDL
Hệ quản trị CSDL
Phan Anh Phong. – Vinh University
7
Cơ sở dữ liệu là gì?
Cơ sở dữ liệu (CSDL)
CSDL là tập hợp các dữ liệu liên quan biểu
diễn một số khía cạnh nào đó của một tổ
chức (công ty, xí nghiệp, trường học, …)
được lưu trữ trên các thiết bị nhớ ngoài để
đáp ứng yêu cầu khai thác thông tin của
nhiều người sử dụng.
Cơ sở dữ liệu = Tích hợp dữ liệu + Chia sẻ
dữ liệu
Cơ sở dữ liệu Tập trung dữ liệu
Phan Anh Phong. – Vinh University
8
4
5. 9/9/2013
Hệ quản trị cơ sở dữ liệu
Hệ quản trị cơ sở dữ liệu (DBMS)
Một DBMS là một phần mềm được thiết kế để tạo lập,
lưu trữ, xử lý và truy cập cơ sở dữ liệu
Một số DBMS:
Đơn giản: MS. Access
Sản phẩm thương mại:
MS. SQL Server 2K/2005/2008
Oracle
DB2 của IBM
Mã nguồn mở:
MySQL: Khá mạnh
PostgreSQL: Mạnh
Phan Anh Phong. – Vinh University
9
Hệ quản trị cơ sở dữ liệu (tiếp)
Vai trò của một DBMS
Quản lý một lượng rất lớn dữ liệu – tích hợp
(định nghĩa dữ liệu, tạo lập, lưu trữ dữ
liệu,…)
Hỗ trợ truy nhập hiệu quả tới một lượng rất
lớn dữ liệu (chia sẻ, ngôn ngữ truy vấn)
Hỗ trợ truy nhập đồng thời một lương rất lớn
dữ liệu (điều khiển tương tranh)
Hỗ trợ truy nhập an toàn tử một lượng rất
lớn dữ liệu (khôi phục CDSL, quản lý người
dùng, toàn vẹn dữ liệu, …)
Phan Anh Phong. – Vinh University
10
5
6. 9/9/2013
Hệ cơ sở dữ liệu
Là một hệ thống gồm 4 thành phần
Hệ quản trị CSDL
Phần cứng
CSDL và phần mềm ứng dụng
Những người sử dụng
Ví dụ: Hệ quản lý đào tạo đại học, hệ
quản lý nhân sự, hệ quản lý kin doanh,…
11
Phan Anh Phong. – Vinh University
Hệ cơ sở dữ liệu (tiếp)
Hệ
CSDL
Ứng dụng
Hệ quản trị CSDL
CSDL
Phan Anh Phong. – Vinh University
CSDL
12
6
7. 9/9/2013
Sự quan trọng của hệ CSDL
Về ứng dụng
Ngân hàng
Hàng không
Viễn thông
Thương mại điện tử
Giáo dục và đào tạo
Tài chính, Nhân lực, …
Về lĩnh vực KH thông tin và Máy tính
Công nghệ phần mềm; Cấu trúc dữ liệu và
giải thuật; Toán rời rạc; Logic; Hệ phân tán;
Hệ điều hành, …
Phan Anh Phong. – Vinh University
13
Hình ảnh của CSDL
Lược đồ và thể hiện
Lược đồ:
Mô tả toàn bộ CSDL.
Đặc điểm: Ổn định / rất ít thay đổi
Thể hiện:
Tập hợp dữ liệu được lưu trữ theo lược đồ tại một
thời điểm nào đó.
Đặc điểm: Thay đổi thường xuyên
Một CSDL được mô tả bằng lược đồ CSDL
Phan Anh Phong. – Vinh University
14
7
8. 9/9/2013
Mô hình dữ liệu
Khái niệm
Tập hợp các công cụ và khái niệm để mô tả dữ
liệu, mô tả mối liên hệ giữa các dữ liệu và ngữ
nghĩa của dữ liệu cùng các ràng buộc
Mô hình dựa trên đối tượng
Mô hình ER (thực thể-liên kết)
Mô hình dữ liệu hướng đối tượng
Mô hình dựa trên bản ghi
Mô hình phân cấp
Mô hình mạng
Mô hình quan hệ
Mô hình đối tượng-quan hệ
Phan Anh Phong. – Vinh University
15
E. F. Codd “cha đẻ” mô hình
quan hệ
Edgar F. "Ted" Codd ( August 23, 1923 - April 18, 2003) was a British
computer scientist who invented relational databases while working for IBM.
He was born in Portland, Dorset, studied maths
and chemistry at Oxford. He was a pilot in the
Royal Air Force during WWII. In 1948 he joined IBM
in New York as a mathematical programmer. He fled
the USA to Canada during the McCarthy period.
Later, he returned to the USA to earn a doctorate in
CS from the University of Michigan in Ann Arbor. He
then joined IBM research in San Jose.
His 1970 paper “A Relational Model of Data for
Large Shared Data Banks” changed everything.
ACM Turing Award
In the mid 1990’s he coined the term OLAP.
Phan Anh Phong. – Vinh University
16
8
9. 9/9/2013
Ngôn ngữ CSDL
Mục đích
Một số ngôn ngữ
Đại số quan hệ (ĐSQH)
Phép tính vị từ
SQL (Structured Query Language)
DDL – Ngôn ngữ định nghĩa dữ liệu
DML – Ngôn ngữ thao tác dữ liệu
DCL – Ngôn ngữ truy vấn dữ liệu
Truy xuất CSDL từ chương trình ứng
dụng (SQL nhúng)
C++ + SQL, C# + SQL,…
17
Phan Anh Phong. – Vinh University
Quá trình thiết kế một CSDL
Thu thập, phân tích các yêu cầu
Những thứ mà người sử dụng cần; Những gì
mà cơ sở dữ liệu phải đáp ứng?
Thiết kế CSDL quan niệm
Bài giảng tiếp theo
Mô tả CSDL ở mức cao, có ngữ nghĩa;
thường sử dụng mô hình ER/EER
Thiết kế CSDL liệu logic
Ánh xạ mô hình ER/EER sang mô hình quan
hệ
Phan Anh Phong. – Vinh University
18
9
10. 9/9/2013
Quá trình thiết kế một CSDL (2)
Chuẩn hóa
Kiểm tra sự dư thừa và dị thường dữ liệu
Thiết kế CSDL vật lý
Xem xét các khía cạnh về tối ưu, tổ chức
files để tăng hiệu năng:
Liệt kê tất cả truy vấn cập nhật và tần suất
tương ứng
Liệt kê tất cả các bảng, và tần suất truy nhập
Index, …
Phan Anh Phong. – Vinh University
19
Một số vấn đề nâng cao
Tối ưu hóa truy vấn
Quản lý giao dịch điều khiển tương tranh
Tổ chức lưu trữ dữ liệu
XML
Tích hợp dữ liệu
CSDL phân tán, suy diễn, hướng đối
tượng, đa phương tiện, không gian, thời
gian,…
Data mining, Tìm kiếm thông tin, Hệ hỗ
trợ ra quyết định, …
Phan Anh Phong. – Vinh University
20
10
11. 9/9/2013
Kết luận
Khái niệm và vai trò của CSDL, của Hệ
quản trị CSDL
Kiến trúc của CSDL
Các vấn đề cần quan tâm
Quá trình thiết kế một CSDL
Mô hình quan hệ
Lập trình với SQL
Điều khiển tương tranh
Tối ưu hóa truy vấn
…
21
Phan Anh Phong. – Vinh University
Các bước xây dựng một hệ CSDL
1: PHÂN TÍCH
Mô tả ứng dụng
Mô hình hoá DL (vd: Sơ đồ thực thể-liên kết)
2: THIẾT KẾ
3: CÀI ĐẶT
Cài đặt với 1 hệ quản trị CSDL
(vd: MS. SQL Server)
Mô tả DL logic với 1 mô hình DL cụ thể
(vd: Sơ đồ quan hệ)
22
11