You are on page 1of 47

Bài 1.

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.

Dữ liệu được mô tả dưới nhiều dạng khác nhau (các ký


tự, ký số, hình ảnh, ký hiệu, âm thanh…). Mỗi cách mô
tả gắn với một ngữ nghĩa nào đó.

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

Chương trình CSDL


ứng dụng n

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

Biểu diễn: bằng cây


◦ Quan hệ cha / con
◦ Mỗi nút có một cha duy nhất
◦ 1 CSDL = tập các cây

Các khái niệm cơ bản


◦ Bản ghi
◦ Móc nối
◦ Các phép toán:GET, GET UNIQUE, GET NEXT, GET NEXT WITHIN PARENT, ...

15
Ví dụ mô hình phân cấp
Giáo viên

Môn học Lớp

Sinh viên

Kết quả học

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

Các phép toán


◦ Duyệt: FIND, FIND member, FIND owner, FIND NEXT
◦ Thủ tục: GET

18
Ví dụ mô hình mạng
Giáo viên

Sinh viên Lớp Môn học

Kết quả học

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

Mã gv Tên GV Lương Tên lớp Ngày TL Mã gv Mã MH Tên MH

1 Hùng 1000 CN01 3/1/2008 2 5 SQL

2 Trung 2000 CN02 14/2/2008 1 7 Java

SINH VIÊN KẾT QUẢ HỌC


Mã SV Họ Tên Ng Sinh Tên lớp Mã SV Mã MH Điểm

345 Bùi Lan 2/3/95 CN02 345 5 7

873 Vũ Nam 1/2/94 CN01 345 7 6

693 Trần Minh 10/5/94 CN02 873 7 9

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]

Biểu diễn: bằng sơ đồ thực thể- liên kết


Các khái niệm cơ bản
◦ Thực thể: một đối tượng trong thế giới thực
◦ Thuộc tính: một đặc tính của một tập thực thể
◦ Định danh (Khóa): xác định sự duy nhất của 1 thực thể
◦ Liên kết: mối liên hệ có nghĩa giữa nhiều thực thể
◦ Mỗi liên kết có thể có các thuộc tính
◦ 1-1, 1-n, n-m, đệ quy

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

Sinh viên Học ở Lớp

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

Biễu diễn: sơ đồ lớp


Các khái niệm cơ bản
◦ Đối tượng: một đối tượng trong thế giới thực, được xác định bởi một định
danh duy nhất
◦ Thuộc tính: biểu diễn một đặc tính của đối tượng,
◦ Phương thức: thao tác được thực hiện trên đối tượng.
◦ Tất cả các truy nhập vào thuộc tính của đối tượng đều phải được thực hiện thông qua các
phương thức này.
◦ Lớp: một cách thức để khai báo một tập các đối tượng có chung một tập
thuộc tính và phương thức

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

1 dòng = một n-bộ

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

Kiểu số nguyên Kiểu xâu ký tự Kiểu ngày tháng

Miền giá trị


Các quan hệ
Các quan hệ (Relation): Các bảng chứa thông tin về
một đối tượng .
Các thuộc tính (Attribute): là tên trường (hay tên
cột) của bảng quan hệ.
◦ Giá trị trên mỗi cột cần phải thuộc cùng một kiểu dữ liệu,
kiểu dữ liệu đó gọi là miền giá trị của thuộc tính.
◦ Giá trị không xác định gọi là giá trị NULL

Các bản ghi (còn gọi là các bộ) (Record/Tuple): là


các dòng dữ liệu thực sự trong một bảng.

40
Khoá
 Khóa:

U = {A1, A2, …, An } là tập thuộc tính.


R là quan hệ trên U, K U,
K là khóa của R t1, t2R, A: t1(A) t2(A)
Nhận xét: Nếu K là khóa của R thì mọi K’ chứa K cũng là khóa của R

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)

• Khóa chính (PK) được gạch chân bằng nét liền


• Khóa ngoài (FK) được gạch chân bằng nét đứt

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

You might also like