Đặc điểm của CSDL Là tập hợp dữ liệu liên quan được lưu trên các bộ nhớ ngoài 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.y
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Viện điện tử viễn thông
Bộ môn Điện tử và kỹ thuật máy tính
3.1.1 Khái niệm cơ bản về cơ sở dữ liệu
3.1.2 Kiến trúc một hệ cơ sở dữ liệu
là tập hợp những dữ liệu lưu trữ có liên quan với nhau, cùng phục
vụ các nhu cầu của nhiều người sử dụng của một hay nhiều tổ
ềchức, nghĩa là tập hợp nhiều bảng khác nhau và có liên quan với nhau
Đặc điểm của CSDL
Là tập hợp dữ liệu liên quan được lưu trên các bộ nhớ ngoài
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.y ậ g y
CSDL là một tổ hợp
Hệ quản trị CSDL (DBMS-DataBase Management System)
HQTCSDL là một hệ thống phần mềm cho phép tạo lập cơ sở dữ
HQTCSDL là một hệ thống phần mềm cho phép tạo lập cơ sở dữ liệu và điều khiển mọi thao tác trên các cơ sở dữ liệu đó dựa trên một tập các quy luật dàng buộc và điều khiển dữ liệu
Trang 23.1.1 Khái niệm cơ bản về cơ sở dữ liệu
b Các phần tử trong hệ thống CSDL
2010-2011
3.1.1 Khái niệm cơ bản về cơ sở dữ liệu
c Ưu điểm của CSDL
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
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
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 t ữ à tiế ậ thô tilưu trữ và tiếp cận thông tin
Đảm bảo quy tắc toàn vẹn dữ liệu
2010-2011
3.1.2 Kiến trúc một hệ cơ sở dữ liệu
Ngôn ngữ Ngôn ngữ Ngôn ngữ Ngôn ngữ Ngôn ngữ
Theo mặt cắt dọc
Không gian làm việc
Không gian làm việc
Không gian làm việc
Không gian làm việc Không gian
làm việc
* Lược đồ ngoài (External Schema) Mô hình ngoài B
(Khung nhìn B)
Mô hình ngoài A (Khung nhìn A)
Mô hình khái niệm (Conceptual model)
Lược đồ khái niệm Hệ quản trị
Cơ sở dữ liệu (DBMS)
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 g
(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 những 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
Trang 33.1.2 Kiến trúc một hệ cơ sở dữ liệu
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 ệ g ự
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 (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 ậ ý ( ậ ý) ệp ệ ộ
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
Dữ liệu hiện có trong CSDL gọi là "thể hiện" của CSDL ệ ệ g gọ ệ
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 "lược đồ" (schema)
Lược đồ cơ sở dữ liệu nó đơn giản chỉ là cấu trúc hoặc thiết kế của CSDL – hay nói cách khác nó chỉ là bộ y ộ khung của của CSDL mà chưa có bất kỳ dữ liệu nào.
(Query) (Data operations)
Một số khái niệm: Phần xử lý truy vấn
(Query Processor)
Phần quản lý lưu trữ
Phần quản lý giao dịch (Transaction Management)
Trang 43.1.3 Các loại mô hình dữ liệu cơ bản
Cá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 ự ọ ập ợp ý ệ ậ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): q ệ ( )
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.
Mô hình mạng (Network Model):
Mô hình mạng (Network Model):
Mô hình được biểu diễn là một đồ thị có hướ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
2010-2011
Tập các phép toán được cung cấp để thao tác dữ liệu
a Mô hình quan hệ (Relational Data Model) Hình 3.2 Dữ liệu mẫu trong dạng quan hệ
Part Mặt hàng
P P# PNAME COLOR WEIGHT CITY
S1 P3 400 S2 P1 300 S2 P2 400
Part - Mặt hàng
P2 Bolt Green 17 Paris P3 Screw Blue 17 Rome
S2 P2 400 S3 P2 200
2010-2011
P4 Screw Red 14 London
a Mô hình quan hệ (Relational Data Model)
Nhận xét qua ví dụ:
1. Tóm tắt sự tương ứng giữa các khái niệm
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ự
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ệ" g ọ q ệ
a Mô hình quan hệ (Relational Data Model)
Miền là một tập các giá trị mà từ đó các giá trị thực sự sẽ xuất hiện trên các cột của bảng
xuất hiện trên các cột của bảng
Bản thân miền có thể không được ghi nhận một cách tường minh như 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ênnhưng nó được định nghĩa trong lược đồ khái niệm và có tên riêng của mình
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
Trang 5a.Mô hình quan hệ (Relational Data Model)
3. 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
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
a.Mô hình quan hệ (Relational Data Model)
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
- 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
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 p p p
Để 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 3.1.3 tiếp theo)
2010-2011
a.Mô hình quan hệ (Relational Data Model)
4. Mô hình quan hệ có sự thống nhất trong tập các phép
toán (tiếp)
Hình 3 1 3 : Hai giải thuật đối xứng nhau cho hai câu hỏi đối
Hình 3.1.3 : Hai giải thuật đối xứng nhau cho hai câu hỏi đối
có số hiệu S2.
a.Mô hình quan hệ (Relational Data Model)
5. Không có dị thường xảy ra đối với thao tác lưu trữ cơ bản
Trang 6b Mô hình phân cấp (Hierarchical Data Model)
Hình 3.4 Mô hình dữ liệu mẫu trong dạng phân cấp
P1 Nut Red 12 London P2 Bolt Gree 17 Paris
S
2 Jones 10 Paris 400S3 Blake 30 Paris 200
P3 Screw Blue 17 Rome
P4 Screw Red 14 London P4 Screw Red 14 London S
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
2010-2011
b Mô hình phân cấp (Hierarchical Data Model)
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ó
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
3.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
b Mô hình phân cấp (Hierarchical Data Model)
3. 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ụ
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 đó
quan hệ (Hình 3.1.5).
Trang 7b Mô hình phân cấp (Hierarchical Data Model)
Hình 3.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
Q1: Tìm các số hiệu hãng cung cấp hiện
Q2: Tìm các số hiệu mặt hàng đang được cung
b Mô hình phân cấp (Hierarchical Data Model)
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 3.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
Đ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
hơn cần thiết
2010-2011
b Mô hình phân cấp (Hierarchical Data Model)
4. Tồn tại các dị thường đối với các thao tác lưu
Hình 3.6 Dữ liệu mẫu trong mô hình mạng
S1 Smith 20 London 300
P1 Nut Red 12 London
P2 B lt G 17 P i
200
P2 Bolt Green 17 Paris
P3 Screw Blue 17 Rome
Trang 8Nhậ é í d
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à
một chuỗi mặt hàng
Cấu trúc bên trong của tệp cho mô hình mạng phức tạp hơn cho
Cấu trúc bên trong của tệp cho mô hình mạng phức tạp hơn cho
mô hình phân cấp
2010-2011
2. Mô hình mạng (Hình 3.6) đối xứng hơn mô hình phân cấp (Hình 3.4), tuy nhiên, các thủ tục này phức tạp hơn
so với cả 2 mô hình quan hệ và mô hình phân cấp
so với cả 2 mô hình quan hệ và mô hình phân cấp
Q1: Tìm các số hiệu hãng cung cấp hiện đang cung cấp mặt Q2: Tìm các số hiệu mặt hàngđang được cung cấp bởi hãng cấp hiện đang cung cấp mặt
hàng có số hiệu P2.
đang được cung cấp bởi hãng cung cấp có số hiệu S2.
2010-2011
3. Không có các dị thường xảy ra đối với các thao tác
lưu trữ cơ bản:
Phép Chèn (Insert):
Phép xoá (Delete):
Phép xoá (Delete):
Phép thay đổi (Update)
4. 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 y
Thông tin phải bao gồm hai phần:
• bản ghi
• mối liên kết 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ớ
Trang 9 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
Theo sơ đồ kiến trúc của hệ thống CSDL
(Hình 3.1.1) cho thấy có hai mức "độc lập dữ liệu":
Có thể ầ thiết hải th đổi l đồ khái iệ h thê
• 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
Độ lậ dữ liệ ở ứ l i
Độc lập dữ liệu ở mức logic
• Việc thay đổi lược đồ khái niệm không làm ảnh hưởng tới các lược đồ con đang tồn tại, do đó không cần thiết phải ổ
thay đổi các chương trình ứng dụng => độc lập dữ liệu mức logic
• Lược đồ vật lý có thể thay đổi do người quản trị CSDL mà
không cần thay đổi lược đồ con
Độc lập dữ liệu ở mức vật lý
• Việc tổ chức lại CSDL vật lý (thay đổi các tổ chức, cấu trúc
dữ liệu trên các thiết bị nhớ thứ cấp) có thể làm thay đổi hiệu quả tính toán của các chương trình ứng dụng nhưng
Trang 103.1.6 Kết luận
Sự khác nhau giữa ba loại mô hình đã xét (mô hình
quan hệ, mô hình phân cấp, mô hình mạng):
Thể hiện ở cách thức cho phép người sử dụng quan sát và
Thể hiện ở cách thức cho phép người sử dụng quan sát và
thao tác các kết nối
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
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
Lược đồ (Schema): Lược đồ cơ sở dữ liệu đơn giản chỉ là cấu trúc hoặc thiết
kế của CSDL hay nói cách khác nó chỉ là bộ khung của của CSDL mà chưa có
kế của CSDL – hay nói cách khác nó chỉ là bộ khung của của CSDL mà chưa có bất kỳ dữ liệu nào Ví dụ: DMSV(MASV,Ho_ten,Ngay_Sinh,Diach_chi,Qu_quan).
Phụ thuộc hàm (Functional dependency - FD): Cho một lược đồ quan hệ
R(A1 A2 A3 An) và hai tập X Y khác rỗng là tập con của tập các thuộc của R R(A1,A2,A3, ,An) và hai tập X,Y khác rỗng là tập con của tập các thuộc của R, nghia là X,Y là tập con của tập các thuộc tính A= {A1,A2,A3, ,An} Khi đó ta nói tập các thuộc tính Y phụ thuộc vào tập các thuộc tính X khi va chỉ khi ứng với mỗi bộ giá trị của X trong R luôn xác định được rõ ràng bộ giá trị của Y tại mọi mỗi bộ giá trị của X trong R luôn xác định được rõ ràng bộ giá trị của Y tại mọi thời điểm
Ví dụ:
NHANVIEN PHONGBAN
TrPhong TenPB
MaPB Diachi
NgSinh MaNV
TenNV NHANVIEN_PHONGBAN
2010-2011
MaPB → {TenPB, TrPhong} MaNV → MaPB
MaNV → TenNV
3.2.1 Các khái niệm (tiếp)
Phụ thuộc hàm đầy đủ (Full FD): X -> Y là phụ thuộc hầm đầy đủ củaY vào X
nếu không có tập con Z nào của X mà Z -> Y
Ph th ộ hà iê hầ h bộ hậ ( ti l FD)
Phụ thuộc hàm riêng phần hay bộ phận (partial FD):
Là phụ thuộc hàm không đầy đủ.
Y là phụ thuộc hàm riêng phần vào X (trong pth X->Y) nếu có tập con của X mà p ụ ộ g p ( g p ) ập
TenNV SoGio MaDA MaNV
NVIEN_DUAN PTH đầy đủ
FD2 FD3 PTH bộ phận
3.2.1 Các khái niệm (tiếp)
Bao đóng của tập phụ thuộc hàm: F là tập phụ thuộc hàm trên R
Bao đóng của tập phụ thuộc hàm: F là tập phụ thuộc hàm trên R
F = {MaNV → TenNV, MaPB → {TenPB, TrPhong}, MaNV → MaPB}.
∀r ∈ R thỏa mãn F và MaNV → {TenPB, TrPhong} cũng đúng với r thì MaNV → {TenPB, TrPhong} gọi là được suy diễn từ F.
Bao đóng của F, ký hiệu F + , gồm
F và
F và
Tất cả các PTH được suy diễn từ F.
F gọi là đầy đủ nếu F = F +
Luật suy diễn: Luật suy diễn dùng để suy diễn một PTH mới từ một tập PTH
cho trước.
Trang 113.2.1 Các khái niệm (tiếp)
Hệ luật suy diễn Armstrong
Có một số loại khóa như sau:
Siêu khóa (Super Keys).
Khóa ứng viên (Candidate Kyes).
Khóa chính (Primary Kyes).
Khóa nói chung (Keys).
Khóa ngoại.
3.2.2 Khóa (tiếp)Siêu khóa
Là một hay một tập các cột xác định duy nhất một hàng trong bảng
SK là siêu khóa của R khi với mọi t1, t2 thuộc bất kỳ thể hiện r của R ta luôn có t1[SK] ≠ t2[SK]
SK là siêu khóa củaR <=> SK xác định hàm mọi thuộc tính của
R (SK > R)
R (SK -> R).
Ví dụ: Ta có lược đồ DMDV(MaSV, SoCMTND, Ho_ten_sv,
Ngay_Sinh, Dia_chi, Que_quan) Ta có thể có siêu khóa sau
(DMDV(MaSV, SoCMTND, Ho_ten_sv), khi đó một khóa nói
chung là thành phần tối thiểu của siêu khóa.