Professional Documents
Culture Documents
Tổng quan về cơ sở
dữ liệu
1
Nội dung
1. Các khái niệm cơ bản của cơ sở dữ liệu
2. Kiến trúc của hệ cơ sở dữ liệu
3. Các mô hình dữ liệu
4. Mô hình cơ sở dữ liệu quan hệ
2
Vì sao cần cơ sở dữ liệu?
•Công an muốn quản lý thông tin của các công dân
•Một trung tâm đào tạo muốn quản lý hoạt động đào
tạo của mình gồm thông tin sinh viên, giáo viên,
môn học,…
•Một website bán sách trực tuyến cần lưu trữ thông
tin về sách, khách hàng, đơn đặt hàng,…
…
3
1. Các khái niệm cơ bản của CSDL
Dữ liệu
Cơ sở dữ liệu
Hệ quản trị cơ sở dữ liệu
4
Dữ liệu
Dữ liệu (data)
◦ Là các thông tin của đối tượng (người, vật, một khái niệm, sự
việc…) được lưu trữ trên máy tính.
◦ Có thể truy nhập vào dữ liệu để trích xuất thông tin.
5
Cơ sở dữ liệu (Database)
Cơ sở dữ liệu (CSDL) = Tập hợp dữ liệu được tổ chức có cấu trúc
liên quan với nhau và được lưu trữ trong máy tính.
CSDL được thiết kế, xây dựng cho phép người dùng lưu trữ dữ
liệu, truy xuất thông tin hoặc cập nhật dữ liệu
Lưu trữ thông tin
Người dùng
Cơ sở dữ liệu
Truy xuất thông tin và cập
nhật dữ liệu
6
Yêu cầu đối với CSDL
Cần giải quyết được các yêu cầu:
◦ Tính chủ quyền dữ liệu.
◦ Tính bảo mật và quyền khai thác thông tin của
người sử dụng
◦ Tranh chấp dữ liệu
◦ Đảm bảo dữ liệu khi có sự cố
7
Hệ quản trị cơ sở dữ liệu
Hệ quản trị cơ sở dữ liệu (DBMS – DataBase
Management System) là hệ thống các phần mềm hỗ
trợ tích cực cho các nhà phân tích, thiết kế và khai
thác CSDL.
Các DBMS thông dụng: Visual FoxPro, Microsoft
Access, SQL Server, DB2, Oracle, My SQL … hầu
hết các DBMS hiện nay đều dựa trên mô hình quan
hệ.
8
Hệ quản trị cơ sở dữ liệu
Một DBMS phải có:
◦ Ngôn ngữ giao tiếp giữa người sử dụng và CSDL
◦ Từ điển dữ liệu (Data Dictionary)
◦ Có biện pháp bảo mật khi có yêu cầu
◦ Cơ chế giải quyết tranh chấp dữ liệu
◦ Có cơ chế sao lưu (backup), phục hồi (restore)
◦ Đảm bảo tính độc lập giữa dữ liệu và chương trình
9
2. Kiến trúc của hệ cơ sở dữ liệu
NSD1 Môi trường
thực thế giới
Cấu
Cấu trúc
trúc thực
ngoài 1
NSD2 Mức
Cấu
Cấu trúc
trúc quan Mức vật lý –
ngoài 2
niệm Cấu trúc vật lý
hoặc
Cấu
Cấu trúc
trúc mức
ngoài
ngoài nn logic
10
Tính độc lập dữ liệu
Một CSDL là độc lập dữ liệu nếu nó có hoặc có thể có khả
năng phát triển mà không ảnh hưởng tới các hệ ứng
dụng
Có hai mức độc lập dữ liệu:
◦ Độc lập dữ liệu vật lý: các thay đổi của lược đồ vật lý không làm
thay đổi lược đồ quan niệm
◦ Độc lập dữ liệu logic: các thay đổi của lược đồ quan niệm không
làm ảnh hưởng đến lược đồ ngoài hay phải viết lại chương trình
ứng dụng
Tính độc lập dữ liệu là mục tiêu chủ yếu của các hệ CSDL
11
3. Các mô hình dữ liệu
“Một mô hình dữ liệu là một bản kế hoạch để xây
dựng cơ sở dữ liệu”
Mô hình dữ liệu gồm [Codd, 1980]
◦ Một tập hợp các cấu trúc của dữ liệu
◦ Một tập các phép toán để thao tác với các dữ liệu
◦ Một tập các ràng buộc về dữ liệu
12
Một số mô hình cơ bản
[Gồm các
Bảng – Quan hệ [Gồm các thực thể và
Cột – thuộc tính quan hệ giữa chúng]
Dòng – bộ ]
Mô hình thực thể liên kết
Mô hình quan hệ
[Gồm các bản ghi có quan hệ
cha con. Một cha có nhiều con,
[Lưu trữ dữ liệu cùng với
môt con có nhiều cha]
phương thức xử lý]
Mô hình mạng
Mô hình hướng đối tượng
[Gồm các bản ghi có quan hệ
cha con. Một cha có nhiều
[Tất cả thông tin đặt trong con, một con có một cha]
một file trên một bảng]
Mô hình phân cấp
Mô hình flat file
13
Mô hình flat file
Dữ liệu được lưu trong các tập tin văn bản thường không chứa
cấu trúc.
Không có khả năng truy xuất dữ liệu hiệu quả và việc tích hợp dữ
liệu không thể thực hiện khi không có bất kỳ mô hình hay cấu trúc
xung quanh.
14
Mô hình dữ liệu phân cấp
(Hierarchical data model)
Sự ra đời
◦ Khoảng năm 60-65
15
Ví dụ mô hình phân cấp
Giáo viên
Sinh viên
16
Nhận xét
Ưu điểm
◦ Dễ xây dựng và thao tác
◦ Tương thích với cáclĩnh vực tổ chức phân cấp(vd: tổ chức nhân
sự trong các đơn vị, ...)
◦ Ngôn ngữ thao tác đơn giản (duyệt cây)
Nhược điểm
◦ Sự lặp lại của các kiểu bản ghi→dư thừa dữ liệu và dữ liệu
không nhất quán
◦ Giải pháp: bản ghi ảo
◦ Hạn chế trong biểu diễn ngữ nghĩa của các móc nối giữa các
bản ghi (chỉ cho phép quan hệ 1-n)
17
Mô hình dữ liệu mạng
(Network data model)
Sự ra đời
◦ sử dụng phổ biến từ những năm 60, được định nghĩa lại vào năm 1971
Biểu diễn: bằng đồ thị có hướng
Các khái niệm cơ bản
◦ Tập bản ghi (record)
◦ Kiểu bản ghi (record type)
◦ Các trường (field)
◦ Móc nối (link)
◦ Tên của móc nối
◦ chủ (owner) – thành viên (member): theo hướng của móc nối
◦ Kiểu móc nối: 1-1, 1-n, đệ quy
18
Ví dụ mô hình mạng
Giáo viên
19
Nhận xét
Ưu điểm
◦ Đơn giản
◦ Có thể biểu diễn các ngữ nghĩa đa dạng với kiểu bản ghi và kiểu móc nối
◦ Truy vấn thông qua phép duyệt đồ thị (navigation)
Nhược điểm
◦ Số lượng các con trỏ lớn
◦ Hạn chế trong biểu diễn ngữ nghĩa của các móc nối giữa các bản ghi
20
Mô hình dữ liệu quan hệ
(Relational data model)
Sự ra đời
◦ vào năm1970 [Codd, 1970]
Biểu diễn: dưới dạng bảng
Các khái niệm cơ bản
◦ Thuộc tính: một tính chất riêng biệt của một đối tượng
◦ Tên
◦ Kiểu, miền giá trị
◦ Quan hệ: được định nghĩa trên một tập các thuộc tính
◦ Bộ giá trị: thông tin của một đối tượng thuộc quan hệ
◦ Khoá:
Các phép toán: hợp, giao, tích đề-các, chọn, chiếu, kết nối, ...
21
Ví dụ mô hình quan hệ
GIÁO VIÊN LỚP MÔN HỌC
693 5 5
Nhận xét
Ưu điểm
◦ Dựa trên lý thuyết tập hợp
◦ Khả năng tối ưu hoá các xử lý phong phú
Nhược điểm
◦ Hạn chế trong biểu diễn ngữ nghĩa
◦ Cấu trúc dữ liệu không linh hoạt
23
Mô hình dữ liệu thực thể - liên kết
(Entity-Relational data model)
Sự ra đời
◦ Xuất phát từ nhu cầu mô hình hoá ngữ nghĩa dữ liệu và phát triển phần mềm
◦ đề xuất 1975 [Chen, 1976] [Chen, 2002]
24
Ví dụ mô hình
thực thể - liên kết
Mã SV Họ Tên Ng sinh Tên lớp Ngày TL
25
Nhận xét
Ưu điểm
◦ Dễ dàng biểu diễn cái mà con người nhận thức từ thế giới thực
◦ Biểu diễn ngữ nghĩa phong phú của các thực thể và quan hệ giữa các
thực thể
Nhược điểm
◦ Không dễ dàng ánh xạ vào những cấu trúc lưu trữ trên máy tính
26
Mô hình dữ liệu hướng đối tượng
(Object-oriented data model)
Sự ra đời
◦ Khoảng đầu những năm 90
27
Nhận xét
Ưu điểm
◦ Cho phép định nghĩa kiểu đối tượng phức tạp
◦ Tính chất: bao đóng (encapsulation), kế thừa (heritage),
đa hình (polymorphism)
Nhược điểm
◦ Cấu trúc lưu trữ phức tạp và có thể sử dụng nhiều con trỏ
◦ Khả năng tối ưu hoá các xử lý bị hạn chế trong nhiều
trường hợp
28
Phân loại các mô hình
29
Biến đổi giữa các mô hình dữ liệu
Yêu cầu
◦ Chuyển một sơ đồ dữ liệu từ một mô hình dữ liệu sang một mô hình khác
◦ Đảm bảo tính “tương đương” của sơ đồ dữ liệu nguồn và đích
Các biến đổi tương đương giữa các mô hình
◦ Thực thể/liên kết - quan hệ
◦ Thực thể/liên kết - hướng đối tượng
◦ Quan hệ - hướng đối tượng
30
Các bước xây dựng một CSDL
31
Trắc nghiệm
1. Cơ sở dữ liệu là:
A. Bộ sưu tập dữ liệu tác nghiệp được lưu trữ theo quy tắc
B. Bộ sưu tập dữ liệu tác nghiệp
C. Tập hợp các tệp dữ liệu dưới nhiều định dạng khác nhau
D. Kho lưu trữ dữ liệu
2. Hệ quản trị CSDL ( Database Management system-DBMS) là:
A. Phần mềm điều khiển mọi truy nhập đối với CSDL
B. Phần mềm hệ thống
C. Phần mềm ứng dụng
D. Phần mềm lưu trữ dữ liệu
32
Trắc nghiệm
3. Thứ tự đúng các mức trong mô hình kiến trúc cơ sở dữ liệu:
A. Mức trong, mức mô hình dữ liệu, mức ngoài
B. Mức quan niệm, mức trong, mức ngoài
C. Mức ngoài, mức quan niệm, mức trong
D. Mức ngoài, mức quan niệm, mức mô hình
4. Phần mềm nào sau đây không phải là Hệ quản trị CSDL
A. Microsoft Excel
B. Miccrosft Access
C. SQL Server
D. Oracle
33
Trắc nghiệm
5. Mục tiêu chủ yếu của các hệ CSDL là:
A. Tính độc lập dữ liệu
B. Lưu trữ dữ liệu dung lượng lớn
C. Dễ dàng chia sẽ dữ liệu
D. Tiết kiệm bộ nhớ
6. Mô hình dữ liệu nào không hỗ trợ quan hệ nhiều- nhiều
A. Mô hình phân cấp
B. Mô hình mạng
C. Mô hình quan hệ
D. Mô hình thực thể liên kết
34
4. Mô hình CSDL quan hệ
Miền giá trị
Quan hệ
Biểu diễn quan hệ
Khoá
Lược đồ
35
Miền giá trị
Miền: Miền là một tập hợp các giá trị mà từ đó có thể rút ra
những giá trị thực sự.
Ký hiệu: Miền giá trị của một đối tượng A ký hiệu là
DOM(A)
Tích Đề các: Tích đề các của các miền D1, D2,... Dn (ký
hiệu D1 x D2 x...x Dn) là tập các bộ (v1, v2, ..., vn) trong đó
vi Di với i = 1..n
36
Quan hệ
Quan hệ:
U ={A1, A2,…, An} là tập thuộc tính, DOM(Ai) là miền giá trị
của Ai;
Quan hệ R trên U DOM(A1) x DOM(A2) x ... x DOM(An)
Ví dụ: Quan hệ biểu diễn thông tin của nhân viên
trong công ty
DOM(Tên) = {Lan, Hùng, Hà};
DOM(Giới tính) = {nam, nữ}
R = {(Lan, nữ), (Hùng, nam), (Hà, nữ)}
37
Biểu diễn quan hệ
tên quan hệ thuộc tính
R A B C
38
Quan hệ (Relation)
Quan hệ - Bảng Các thuộc tính Khóa ngoài
(Table) (Attribute) (Foreign Key)
SINH_VIEN
Khóa chính
(Primary key Ma_SV Ho Ten Ng_Sinh Ten_lop
345 Bùi Lan 02/03/85 CN02
Các bộ 873 Vũ Nam 01/02/84 CN01
(Tupe)
693 Trần Minh 10/05/84 CN02
40
Khoá
Khóa:
41
Các khái niệm cơ bản về khoá
Khóa chính (Primary key - PK): Là một hoặc một
nhóm thuộc tính xác định duy nhất một bộ trong
quan hệ.
Khóa ghép (Composite key): Là một khóa có từ hai
thuộc tính trở lên.
Khóa ngoài (Foreign key - FK): Khi khóa chính của
một quan hệ được đặt trong một quan hệ khác để
thể hiện liên kết giữa hai bản ghi của các quan hệ
thì nó được gọi là một khóa ngoài
42
Khoá
Khóa giả: Thuộc tính thêm vào để xác định duy
nhất một bản ghi. Được sử dụng làm khóa chính để
thay thế cho khóa chính có nhiều thuộc tính (từ 3
thuộc tính trở lên)
Khóa thứ cấp (Secondary key): Thường được xem
xét sử dụng trong tìm kiếm khi giá trị một khóa
chính không thể đáp ứng.
43
Khoá
Khóa tối thiểu: K là khóa tối thiểu của quan hệ R
nếu K là khóa của R và mọi K’ là tập con thực sự của
K đều không là khóa của R
Ví dụ: SINH VIÊN(Mã SV, Tên SV, Ngày sinh, Địa chỉ)
có:
◦ K1 = {Mã SV} là khóa tối thiểu
◦ K2 = {Tên SV, Ngày sinh, Địa chỉ} là khóa tối thiểu
◦ K3 = {Mã SV, Tên SV} không là khóa tối thiểu
44
Bản ghi logic
Bản ghi logic:
◦ Mô tả quan hệ gồm: tên quan hệ (viết in hoa) và
danh sách các thuộc tính đặt trong cặp dấu ngoặc
tròn.
◦ Quy ước: khóa chính được gạch chân bằng nét
liền và khóa ngoài được gạch chân bằng nét đứt
Ví dụ:
SINH_VIEN (MaSV, Ho, Ten, NgSinh, TenLop)
45
Lược đồ quan hệ
Lược đồ (Schema): Là tập các bản ghi logic trong một khung
cảnh ứng dụng cụ thể.
Ví dụ lược đồ cơ sở dữ liệu “Quản lý đào tạo”
GIAO_VIEN (MaGV, TenGV, Luong)
LOP (TenLop, NgayTL, MaGV)
MON_HOC (MaMH, TenMH)
SINH_VIEN (MaSV, Ho, Ten, NgSinh, TenLop)
KET_QUA_HOC (MaSV,MaMH, Diem)
46
Tổng kết bài
Các khái niệm cơ bản của cơ sở dữ liệu
-Dữ liệu
-Cơ sở dữ liệu
-Hệ quản trị cơ sở dữ liệu
Kiến trúc của hệ cơ sở dữ liệu
-Các mức biểu diễn cơ sở dữ liệu: mức trong, mức ngoài, mức quan niệm
- Tính độc lập của dữ liệu
Các mô hình dữ liệu
- Mô hình phân cấp, mô hình mạng, mô hình đối tượng, mô hình thực thể
liên kết, mô hình cơ sở dữ liệu quan hệ
Mô hình cơ sở dữ liệu quan hệ
-Miền giá trị
-Khoá
-Quan hệ
47