Cơ sở dữ liệu và tổng quan về cơ sở dữ liệu
Trang 1Đại Học Bách Khoa Hà Nội Khoa Điện Tử - Viễn Thông
Ch ươ ng I:
Tæng quan vÒ c¬ së d÷ liÖu
Trang 2Bộ Mụn ĐTTH - Khoa ĐTVT, Đại Học BKHN Cơ sở dữ liệu
1.4.1 Mô hình quan hệ (Relational Data Model)
1.4.2 Mô hình phân cấp (Hierarchical Data Model)
1.4.3 Mô hình mạng (Network Data Model)
1.5 Tính độc lập dữ liệu
1.6 Kết luận
Trang 31.1 Khái niệm cơ bản về cơ sở dữ liệu
1.1.1 Cơ sở dữ liệu (CSDL) là gì?
• Đặc điểm của CSDL (DataBase)
– Là tập hợp dữ liệu đ ợc l u trên các bộ nhớ ngoài (đĩa từ, trống từ ).– Có một tập các ch ơng trình ứng dụng đ ợc chạy với các dữ liệu này
và thậm chí dùng để truyền đi xa
– CSDL là một tổ hợp: đó là một tập hợp nhiều loại dữ liệu cho nhiều
ng ời dùng với nhiều mục đích khác nhau
• Định nghĩa CSDL
– CSDL là một tập hợp các dữ liệu đ ợc l u trữ để phục vụ các hệ
thống ứng dụng
• Hệ quản trị CSDL (DBMS-DataBase Management System)
– Phần ch ơng trình để có thể xử lý, thay đổi tập hợp các dữ liệu này – Nh một bộ diễn dịch (Interpreter) với ngôn ngữ bậc cao
Trang 4Bộ Mụn ĐTTH - Khoa ĐTVT, Đại Học BKHN Cơ sở dữ liệu
- Chương I Tổng quan về CSDL
4
1.1 Khái niệm cơ bản về cơ sở dữ liệu
1.1.2 Ưu điểm của CSDL
• Tại sao ng ơi ta cần l u trữ dữ liệu trong một tổ hợp nh
CSDL?
– CSDL cung cấp một sự điều khiển tập trung đối với các dữ liệu
trong CSDL
• Các phần tử trong hệ thống CSDL
Trang 51.1 Khái niệm cơ bản về cơ sở dữ liệu
1.1.2 Ưu điểm của CSDL (tiếp)
• Những u điểm của sự điều khiển tập trung
– Giảm sự d thừa dữ liệu cần l u trữ
– Có thể tránh đ ợc những xung đột về dữ liệu đ ợc l u trữ
– Có thể dùng chung dữ liệu đã đ ợc l u trữ
– Có thể chuẩn hoá dữ liệu giúp đơn giản hoá các vấn đề về bảo
hành và trao đổi dữ liệu giữa các lần cài đặt
– Có thể áp dụng các ph ơng pháp bảo mật với dữ liệu
– Duy trì đ ợc sự thống nhất dữ liệu để đảm bảo CSDL chỉ chứa dữ
liệu chính xác
– Có thể cân đối đ ợc các đòi hỏi xung đột nhau
– Dữ liệu là độc lập, độc lập với cấu trúc bộ nhớ, với ph ơng pháp l u
trữ và tiếp cận thông tin
– Đảm bảo quy tắc toàn vẹn dữ liệu
Trang 6Bộ Mụn ĐTTH - Khoa ĐTVT, Đại Học BKHN Cơ sở dữ liệu
- Chương I Tổng quan về CSDL
6
1.2 Kiến trúc một hệ cơ sở dữ liệu
Mô hình dữ liệu (Data Model) Mô hình khái niệm (Conceptual model)
Lượcưđồưtrong (Internalưschema)ư
(Storageưstructureư
definition)
Cơưsởưdữưliệuư (DBMS)
Ngôn ngữ
Không gian làm việc
Ngôn ngữ
Không gian làm việc
Ngôn ngữ Không gian làm việc
Ngôn ngữ
Không gian làm việc
ánh xạ giữa mô hình khái niệm
và mô hình trong
ánh xạ giữa mô hình ngoài B và mô hình khái niệm
ánh xạ giữa mô hình ngoài A và mô hình khái niệm
Ngườiưsửưdụng
1.2.1 Theo mặt cắt dọc
Trang 7a) Các mức của kiến trúc
• Mức ngoài (hay còn gọi là khung nhìn)
– Mức ngoài liên quan đến cách nhìn, quan niệm của từng ng ời sử
dụng CSDL vì vậy còn gọi là "khung nhìn"
– Có nhiều "cách nhìn ở mức ngoài" khác nhau Mỗi cách nhìn (mỗi
khung nhìn) bao gồm sự biểu diễn trừu t ợng của một phần nào đó
của CSDL
– Hầu hết các ng ời sử dụng không quan tâm đến tổng thể toàn bộ
CSDL mà chỉ quan tâm đến một phần riêng biệt nào đó của CSDL
1.2 Kiến trúc một hệ cơ sở dữ liệu
Trang 8Bộ Mụn ĐTTH - Khoa ĐTVT, Đại Học BKHN Cơ sở dữ liệu
- Chương I Tổng quan về CSDL
8
a) Các mức của kiến trúc (tiếp)
• Mức khái niệm
– Mức khái niệm cho phép ta định nghĩa một cách nhìn thống nhất
cho ng ời sử dụng
– "Cách nhìn ở mức khái niệm" bao gồm sự biểu diễn trừu t ợng của
tổng thể toàn bộ CSDL.
– Thực chất đây là mức logic của toàn bộ CSDL
• Mức trong (còn gọi là mức vật lý)
– Mức trong rất gần với cách l u trữ trong bộ nhớ máy tính.
– CSDL vật lý (CSDL ở mức vật lý) là các tệp dữ liệu theo một cấu
trúc nào đó đ ợc l u trên các thiết bị nhớ ngoài
– Liên hệ với cấu trúc l u trữ ngoài
1.2 Kiến trúc một hệ cơ sở dữ liệu
Trang 9b) Các khái niệm
• Khái niệm "thể hiện" (instance)
– Một khi CSDL đã đ ợc thiết kế, th ờng ng ời ta chỉ quan tâm đến "Bộ
khung" hay còn gọi là "mẫu" của CSDL
– Dữ liệu hiện có trong CSDL gọi là "thể hiện" của CSDL
– Mặc dù dữ liệu có thể thay đổi trong một chu kỳ thời gian nào đó nh
ng "bộ khung" của CSDL vẫn không thay đổi
• Khái niệm "l ợc đồ" (schema)
– Khái niệm "bộ khung" nêu ở phần tr ớc bao gồm một số danh mục
hoặc chỉ tiêu hoặc một số kiểu của các thực thể trong CSDL
– Giữa các thực thể có thể có những mối quan hệ nào đó với nhau vì
vậy ng ời ta th ờng dùng thuật ngữ "l ợc đồ" thay cho "bộ khung"
1.2 Kiến trúc một hệ cơ sở dữ liệu
Trang 10Bộ Mụn ĐTTH - Khoa ĐTVT, Đại Học BKHN Cơ sở dữ liệu
- Chương I Tổng quan về CSDL
10
b) Các khái niệm (tiếp)
• Khái niệm "l ợc đồ" (schema)
Trang 11PhÇn qu¶n lý l u tr÷
(Data Management)
PhÇn qu¶n lý giao dÞch (Transaction Management)
D÷ liÖu, Siªu d÷ liÖu (Data, Meta-data)
C¸c truy vÊn (Query) C¸c thao t¸c víi d÷ liÖu (Data operations)
Trang 12Bộ Môn ĐTTH - Khoa ĐTVT, Đại Học BKHN Cơ sở dữ liệu
Trang 13• GÇn ®©y vµ hiÖn nay:
– 1970, E.F Codd: CSDL Quan hÖ (Relational Model)
– Ph¸t triÓn thao xu h íng chuyªn m«n ho¸
– Kho d÷ liÖu (Data Warehousing) – Khai th¸c d÷ liÖu (Data mining)
Trang 14Bộ Môn ĐTTH - Khoa ĐTVT, Đại Học BKHN Cơ sở dữ liệu
Trang 15Các khái niệm
• Mô hình dữ liệu
– Sự hình thức hóa toán học với tập hợp các ký hiệu để mô tả và tập
các phép toán đ ợc dùng để thao tác đối với các dữ liệu
• Một số mô hình dữ liệu cơ bản sẽ giới thiệu
– Mô hình quan hệ (Relational Model):
• Mô hình này dựa trên cơ sở khái niệm lý thuyết tập hợp của các quan
hệ, tức là tập các k-bộ với k cố định.
– Mô hình phân cấp (Hierarchical Model):
• Mô hình dữ liệu là một cây, trong đó các nút biểu diễn biểu diễn các
tập thực thể, các nút con và nút cha đ ợc liên hệ theo một mối quan hệ xác định.
Trang 16Bộ Môn ĐTTH - Khoa ĐTVT, Đại Học BKHN Cơ sở dữ liệu
- Chương I Tổng quan về CSDL
16
H×nh 1.2 D÷ liÖu mÉu trong d¹ng quan hÖ
1.4.1 M« h×nh quan hÖ (Relational Data Model)
S1 P1 300 S1 P2 200 S1 P3 400 S2 P1 300 S2 P2 400 S3 P2 200
Supplier - H·ng cung cÊp
Part - MÆt hµng
Shipment · Göi hµng
Trang 17Nhận xét qua ví dụ:
1 Tóm tắt sự t ơng ứng giữa các khái niệm
1.4.1 Mô hình quan hệ (Relational Data Model)
Quan hệ (Relation) Bộ (Tuple) Thuộc tính (Attribute)
Tệp (File) Bản ghi (Record) Tr ờng (Field) Bảng (Table) Hàng (Row) Cột (Column)
– Mỗi bảng trong ba bảng trên giống nh một tệp tuần tự truyền thống
(Sequential File)– Tuy nhiên có các sự khác biệt đáng kể giữa các bảng này và các
tệp tuần tự truyền thống– Mỗi bảng là một tr ờng hợp riêng của cấu trúc đ ợc biết đến trong
toán học - đó là "quan hệ"
Trang 18Bộ Mụn ĐTTH - Khoa ĐTVT, Đại Học BKHN Cơ sở dữ liệu
là một tập các giá trị thực sự trong cơ sở dữ liệu nh ng nó đ ợc định nghĩa trong l ợc đồ khái niệm và có tên riêng của mình
• Ví dụ:
– Một đặc điểm nổi bật của cấu trúc dữ liệu quan hệ là các mối kết
nối giữa các bộ (các hàng) đ ợc biểu thị chặt chẽ bởi các giá trị dữ liệu trong các cột đ ợc rút ra từ một miền chung
• Ví dụ:
1.4.1 Mô hình quan hệ (Relational Data Model)
Trang 193 Bảng là dạng thống nhất
– Thực tế, tất cả các thông tin trong cơ sở dữ liệu - các thực thể
(entities) và các mối kết nối (associations) - đ ợc biểu diễn trong một dạng thống nhất đ ợc gọi là bảng
• Nh sẽ thấy sau này, đặc tính này không có trong cấu trúc phân cấp và
cấu trúc mạng.
– Qua quan sát, nhận thấy cấu trúc quan hệ rất đơn giản, dễ hiểu
1.4.1 Mô hình quan hệ (Relational Data Model)
Trang 20Bộ Mụn ĐTTH - Khoa ĐTVT, Đại Học BKHN Cơ sở dữ liệu
- Chương I Tổng quan về CSDL
20
4 Mô hình quan hệ có sự thống nhất trong tập các phép toán
– Theo quan điểm của ng ời sử dụng, ngôn ngữ con dữ liệu - tập các
phép toán đ ợc cung cấp để thao tác dữ liệu trong dạng quan hệ - là rất quan trọng
– Ngoài ra, có thể nhận thấy: sự thống nhất trong cách biểu diễn dữ
liệu dẫn đến sự thống nhất t ơng ứng trong tập các phép toán– Điều này đối nghịch với các cấu trúc phức tạp khác (nh cấu trúc
phân cấp, cấu trúc mạng) mà ở đó thông tin có thể đ ợc biểu diễn trong một vài cách khác nhau và do đó cần đến một số tập các phép toán
– Để hiểu hơn về vấn đề này, sau đây chúng ta sẽ xét giải thuật cho
hai câu hỏi đối xứng nhau (Hình 1.3 tiếp theo)
1.4.1 Mô hình quan hệ (Relational Data Model)
Trang 214 Mô hình quan hệ có sự thống nhất trong tập các phép
toán (tiếp)
– Hình 1.3 : Hai giải thuật đối xứng nhau cho hai câu hỏi đối xứng
1.4.1 Mô hình quan hệ (Relational Data Model)
Trang 22Bộ Môn ĐTTH - Khoa ĐTVT, Đại Học BKHN Cơ sở dữ liệu
Trang 231.4.2 M« h×nh ph©n cÊp (Hierarchical Data Model)
Supplier - H·ng cung cÊp
Shipment – Göi hµng
Trang 24Bộ Môn ĐTTH - Khoa ĐTVT, Đại Học BKHN Cơ sở dữ liệu
- Chương I Tổng quan về CSDL
24
1.4.2 M« h×nh ph©n cÊp (Hierarchical Data Model)
H×nh 1.4 M« h×nh d÷ liÖu mÉu trong d¹ng ph©n cÊp
P1 Nut Red 12 London
Trang 25Nhận xét qua ví dụ:
1 Trong mô hình phân cấp, các thực thể quan hệ với nhau
thông qua cấu trúc cây, tất cả tạo nên một rừng cây
– Ng ời sử dụng thấy bốn cây tách biệt nhau, hay còn gọi là bốn thể
hiện phân cấp, mỗi cây thể hiện cho một mặt hàng – Mỗi cây thể hiện một bản ghi về đơn đặt hàng gồm dữ liệu mặt
hàng, kèm theo dữ liệu nhà cung cấp và số l ợng– Kiểu dữ liệu của thực thể đóng vai trò nh một gốc (root)
– Để xác định chính xác các cây (gốc, chiều đi ) thi cần phải có một
bản thiết kế tổng thể về dữ liệu của các thực thể, các mối liên kết
1.4.2 Mô hình phân cấp (Hierarchical Data Model)
Trang 26Bộ Mụn ĐTTH - Khoa ĐTVT, Đại Học BKHN Cơ sở dữ liệu
- Chương I Tổng quan về CSDL
26
2 Trong mô hình phân cấp, các thực thể và các mối kết nối
không đ ợc biểu diễn trong một dạng thống nhất
– Trong mô hình quan hệ t ơng ứng đã xét ở trên, chúng ta có ba tệp
dữ liệu đơn giản
– T ơng tự nh vậy, ta có thể đặt mô hình phân cấp của Hình 1.4 t ơng
ứng với một tệp dữ liệu chứa các bản ghi đ ợc sắp xếp thành bốn cây riêng biệt
– Tuy nhiên cần l u ý là tệp nh vậy có cấu trúc phức tạp các bảng ở
mô hình quan hệ rất nhiều
1.4.2 Mô hình phân cấp (Hierarchical Data Model)
Trang 273 Ngôn ngữ con dữ liệu phức tạp hơn so với ngôn ngữ con dữ
liệu của mô hình quan hệ
– Trong cách nhìn phân cấp của dữ liệu, bất kỳ bản ghi phụ thuộc đã
cho nào cũng chỉ mang ý nghĩa đầy đủ khi nó đ ợc xét trong một ngữ nghĩa nào đó
– Không một thể hiện bản ghi phụ thuộc nào có thể tồn tại mà không
có thể hiện dẫn tr ớc nó – Do đó trong ngôn ngữ con dữ liệu, cần phải bao gồm thêm một
toán hạng để biểu thị ý nghĩa này– Chúng ta sẽ hiểu rõ hơn điều này khi xét hai câu hỏi đối xứng nhau
cho mô hình phân cấp nh đã xét cho mô hình quan hệ (Hình 1.5).
1.4.2 Mô hình phân cấp (Hierarchical Data Model)
Trang 28Bộ Mụn ĐTTH - Khoa ĐTVT, Đại Học BKHN Cơ sở dữ liệu
- Chương I Tổng quan về CSDL
28
– Hình 1.5 Hai câu hỏi mẫu đối với mô hình phân cấp.
Hai giải thuật khác nhau cho hai câu hỏi đối xứng
1.4.2 Mô hình phân cấp (Hierarchical Data Model)
Q1: Tìm các số hiệu hãng hiện đang
cung cấp mặt hàng P2 Q2: Tìm các số hiệu mặt hàng đang đ ợc cung cấp bởi hãng S2
Trang 29– Mặc dù hai câu hỏi gốc là đối xứng nh ng hai giải thuật t ơng ứng
trên Hình 1.5 thì không đối xứng (ng ợc lại với mô hình quan hệ)
– Đây là nh ợc điểm chủ yếu của cách tiếp cận phân cấp vì nó dẫn
đến sự phức tạp không cần thiết cho ng ời sử dụng– Điều này có nghĩa là các ch ơng trình sẽ trở nên phức tạp hơn sự
thực cần thiết và hậu quả là việc viết ch ơng trình, gỡ rối và bảo trì
sẽ đòi hỏi ở ng ời lập trình nhiều thời gian hơn cần thiết
1.4.2 Mô hình phân cấp (Hierarchical Data Model)
Trang 30Bộ Môn ĐTTH - Khoa ĐTVT, Đại Học BKHN Cơ sở dữ liệu
Trang 31H×nh 1.6 D÷ liÖu mÉu trong m« h×nh m¹ng
1.4.3 M« h×nh m¹ng (Network Data Model)
P1 Nut Red 12 London S1 Smith 20 London
S2 Jones 10 Paris
P2 Bolt Green 17 Paris
S3 Blake 30 Paris
P3 Screw Blue 17 Rome
P4 Screw Red 14 London
300
200 400
200 400 300
Trang 32Bộ Mụn ĐTTH - Khoa ĐTVT, Đại Học BKHN Cơ sở dữ liệu
- Chương I Tổng quan về CSDL
32
Nhận xét qua ví dụ:
1 Cũng nh trong mô hình phân cấp, dữ liệu đ ợc biểu hiện
thông qua các bản ghi (record) và các mối kết nối (link)
– Ngoài các kiểu bản ghi biểu diễn nhà cung cấp và các mặt hàng,
còn có kiểu bản ghi thứ ba: các kết nối (link or connector)– Tất cả các thể hiện kết hợp đối với một hãng cung cấp đều đặt
trong một chuỗi mà điểm bắt đầu và kết thúc chuỗi đều ở tại đó– T ơng tự, tất cả các thể hiện kết hợp đối với một mặt hàng đã cho
đều đặt trong một chuỗi đ ợc bắt đầu và kết thúc tại chính nó– Nh vậy, mỗi mối kết hợp đ ợc xuất hiện trên đúng hai chuỗi:
• một chuỗi hãng cung cấp và
Trang 332 Mô hình mạng ( Hình 1.6) đối xứng hơn mô hình phân cấp
2 mô hình quan hệ và mô hình phân cấp
1.4.3 Mô hình mạng (Network Data Model)
Q1: Tìm các số hiệu hãng hiện đang
cung cấp mặt hàng P2 Q2: Tìm các số hiệu mặt hàng đang đ ợc cung cấp bởi hãng S2
Trang 34Bộ Mụn ĐTTH - Khoa ĐTVT, Đại Học BKHN Cơ sở dữ liệu
– Phép thay đổi (Update)
1.4.3 Mô hình mạng (Network Data Model)
Trang 354 Nh ợc điểm chính của mô hình mạng là sự phức tạp, phức
tạp từ cấu trúc của chính mô hình đến ngôn ngữ con dữ
liệu có liên quan đến nó
– Nguồn gốc của sự phức tạp này nằm ở khối l ợng thông tin về cấu
trúc của mô hình dữ liệu này
• Thông tin phải bao gồm hai phần:
– bản ghi – mối liên kết
– Các cấu trúc dữ liệu này rất gần với cấu trúc bộ nhớ
1.4.3 Mô hình mạng (Network Data Model)
Trang 36Bộ Mụn ĐTTH - Khoa ĐTVT, Đại Học BKHN Cơ sở dữ liệu
– Tính độc lập dữ liệu là "tính bất biến của các hệ ứng dụng đối với
các thay đổi trong cấu trúc l u trữ và chiến l ợc truy cập"
• Phân loại mức độ độc lập
– Theo sơ đồ kiến trúc của hệ thống CSDL
(Hình 1.1) cho thấy có hai mức "độc lập dữ liệu":
• Độc lập dữ liệu ở mức logic
• Độc lập dữ liệu ở mức vật lý
1.5 Tính độc lập dữ liệu
Trang 37– Độc lập dữ liệu ở mức logic
• Vấn đề đặt ra:
– Có thể cần thiết phải thay đổi l ợc đồ khái niệm nh thêm thông tin các loại khác nhau của các thực thể hoặc bớt, xoá các thông tin về các thực thể đang tồn tại trong CSDL
Trang 38Bộ Mụn ĐTTH - Khoa ĐTVT, Đại Học BKHN Cơ sở dữ liệu
ch ơng trình đó => độc lập dữ liệu mức vật lý
1.5 Tính độc lập dữ liệu
Trang 39• Qua các ví dụ trên => một hệ CSDL phải có khả năng biểu diễn hai dạng
đối t ợng:
– Các "thực thể" ("entities") và
– Các kết nối ("associations")
• Không có sự khác biệt thực sự giữa hai loại đối t ợng trên:
– Một kết nối chỉ đơn thuần là một dạng riêng của thực thể
1.6 Kết luận
Trang 40Bộ Mụn ĐTTH - Khoa ĐTVT, Đại Học BKHN Cơ sở dữ liệu
• Mô hình quan hệ có nhiều u điểm và đ ợc nhiều ng ời quan tâm hơn cả vì:
– Mô hình dữ liệu quan hệ có tính độc lập dữ liệu cao
– Mô hình dữ liệu quan hệ dễ sử dụng
– Điều quan trọng hơn cả, mô hình quan hệ đ ợc hình thức hoá toán
học tốt, do đó đ ợc nghiên cứu phát triển và cho đ ợc nhiều kết quả lý thuyết cũng nh ứng dụng trong thực tiễn
1.6 Kết luận