Wednesday, April 6, 2016
bài giảng hệ quản trị cơ sở dữ liệu
11
Mục tiêu độc lập dữ liệu: Phải xác định rõ ràng các khía cạnh logic và khía cạnh vật
lý của việc quản trị cơ sở dữ liệu, bao gồm việc thiết kế các hệ cơ sở dữ liệu, các thao tác
và tìm kiếm dữ liệu bằng các công cụ ngôn ngữ con dữ liệu.
Mục tiêu trao đổi: Mô hình dữ liệu đơn giản về cấu trúc, sao cho người sử dụng có cách
nhìn trong suốt khi truy nhập vào các hệ cơ sở dữ liệu và có khả năng trao đổi với nhau
về cơ sở dữ liệu.
Mục tiêu xử lý tệp: Người sử dụng có thể sử dụng ngôn ngữ bậc cao để biểu diễn các
phép toán trên trên các mảng thông tin, kỹ thuật xử lý theo lô (batch), mà không phải xử
lý tuần tự theo từng bản ghi.
Mô hình được xây dựng trên cơ sở lý thuyết vững chắc, chặt chẽ.
Một mô hình dữ liệu là một hệ thống hình thức toán học, bao gồm:
-
Hệ thống các ký hiệu biểu diễn dữ liệu.
-
Tập hợp các phép toán thao tác trên cơ sở dữ liệu.
Đặc trưng của một mô hình dữ liệu bao gồm:
-
Tính ổn định khi thiết kế mô hình dữ liệu.
-
Tính đơn giản có nghĩa là dễ hiểu và dễ thao tác.
-
Tính dư thừa cần phải kiểm tra kỹ lưỡng .
-
Tính đối xứng phải được bảo toàn và
-
Có cơ sở lý thuyết vững chắc.
Tổ chức dữ liệu theo mô hình nào là tốt nhất. Thực tế chưa có mô hình dữ liệu nào là tốt nhất.
Tốt nhất phụ thuộc vào yêu cầu truy xuất và khai thác thông tin của đơn vị quản lý nó. Nó được sử
dụng ở đâu và vào lúc nào là tốt nhất. Tuy nhiên, thường người ta dựa vào các tiêu chí sau để nói
rằng mô hình dữ liệu tốt nhất khi:
Mục đích: Phần lớn các mô hình dữ liệu sử dụng hệ thống ký hiệu để biểu diễn dữ
liệu và làm nền tảng cho các hệ ứng dụng và ngôn ngữ thao tác dữ liệu. Các mô
hình thực thể quan hệ không có hệ thống ký hiệu để xây dựng các phép toán thao
tác dữ liệu, mà sử dụng để thiết kế lược đồ khái niệm, cài đặt trong một mô hình
dữ liệu với một hệ quản trị cơ sở dữ liệu nào đó.
Hướng giá trị hay hướng đối tượng: Các mô hình dữ liệu quan hệ và mô hình
logic là các mô hình dữ liệu hướng giá trị. Trong các mô hình dữ liệu hướng giá
trị có tính khai báo (declarativeness) và có tác động đến các ngôn ngữ được nó hỗ
trợ. Các mô hình mạng, phân cấp, mô hình dữ liệu hướng đối tượng cung cấp đặc
tính nhận dạng đối tượng, nên có thể xem chúng là các mô hình hướng đối tượng.
Mô hình thực thể quan hệ cũng được có đặc tính nhận dạng hướng đối tượng.
Tính dư thừa: Tất cả các mô hình dữ liệu đều có khả năng hỗ trợ lưu trữ dữ liệu
vật lý và hạn chế sự dư thừa dữ liệu. Tuy nhiên các mô hình dữ liệu hướng đối
12
tượng giải quyết sự dư thừa tốt hơn, bằng cách tạo ra sử dụng con trỏ trỏ đến
nhiều vị trí khác nhau.
Giải quyết mối quan hệ nhiều – nhiều: Phần lớn trong các mô hình cơ sở dữ liệu
có chứa các mối quan hệ nhiều – nhiều, một – nhiều hay quan hệ môt – một. Một
quan hệ có nhiều phần tử của các quan hệ khác và ngược lại. Tuy nhiên trong mô
hình dữ liệu mạng không chấp nhận mối quan hệ nhiều – nhiều.
1.3.1. Mô hình cơ sở dữ liệu quan hệ (Relational model)
Mô hình này dựa trên lý thuyết tập hợp và đại số quan hệ. Vì tính chất chặt chẽ của toán học
về lí thuyết tập hợp nên mô hình này đã mô tả dữ liệu một cách rõ ràng, mềm dẻo và là mô hình
thông dụng nhất hiện nay. Hầu hết các hệ quản trị cơ sở dữ liệu thông dụng hiện nay đều tổ chức dữ
liệu theo mô hình dữ liệu quan hệ.
Mô hình cơ sở dữ liệu quan hệ (gọi tắt là Mô hình Quan hệ) do E.F Codd đề xuất năm 1971.
Mô hình này bao gồm:
-
Một hệ thống các ký hiệu để mô tả dữ liệu dưới dạng dòng và cột như: quan hệ, bộ, thuộc
tính, khóa chính, khoá ngoại, ...
-
Một tập hợp các phép toán thao tác trên dữ liệu như phép toán tập hợp, phép toán quan hệ.
-
Ràng buộc toàn vẹn quan hệ.
1.3.2. Mô hình phân cấp (Hierarchical model)
1.3.2.1 Cấu trúc biểu diễn dữ liệu phân cấp
Trong mô hình CSDL phân cấp, dữ liệu được biểu diễn bằng cấu trúc cây. Một CSDL phân
cấp là tập các cây (rừng cây). Trong mỗi một cây chỉ chứa một và chỉ một xuất hiện của bản ghi
gốc, gọi là bản ghi đỉnh, và dưới nó là tập các xuất hiện của các bản ghi phụ thuộc. Các bản ghi phụ
thuộc có thể là tuỳ ý hoặc không tồn tại. Một bản ghi gốc có thể có một số bất kỳ các bản ghi phụ
thuộc và các bản ghi phụ thuộc có thể có một số các bản ghi phụ thuộc mức thấp hơn... Hình 2.1
biểu diễn một mô hình CSDL phân cấp về tuyến cáp và các loại cáp. Dữ liệu được biểu diễn bằng 4
cấu trúc cây đơn giản, trong đó gốc là xuất hiện kiểu bản ghi loại cáp bao gồm các thông tin mã cáp,
tên cáp, số lượng, mã nước sản xuất, tên nước sản xuất. Các bản ghi phụ thuộc là kiểu các bản ghi
các tuyến cáp có lắp đặt các loại cáp đó, bao gồm các thông tin về số hiệu tuyến cáp, tên gọi tuyến
cáp, độ dài và ngày hoàn thành việc xây dựng tuyến cáp đó. Như vậy các bản ghi gốc là các kiểu
bản ghi về các loại cáp đã được lắp đặt và các bản ghi phụ thuộc là các bản ghi về thông tin các
tuyến cáp.
Theo định nghĩa, không thể có các bản ghi phụ thuộc mà không tồn tại bản ghi gốc, nghĩa là
không thể tồn tại các loại cáp mà chưa được lắp đặt trên một tuyến nào cả. Như vậy có thể có thể
tồn tại các loại cây vừa có xuất hiện của bản ghi gốc và các bản ghi phụ thuộc, nghĩa là mỗi một
loại cáp có thể được lắp đặt trên nhiều tuyến cáp khác nhau và trên một tuyến cáp có thể có nhiều
loại cáp khác nhau được lắp đặt. Có loại cây chỉ tồn tại bản ghi gốc thoái hoá, dưới nó không tồn tại
13
bản ghi phụ thuộc, nghĩa là có ít nhất một loại cáp chưa được đưa vào lắp đặt sử dung. Theo định
nghĩa, không tồn tại loại cây chỉ có các bản ghi phụ thuộc mà không có bản gốc, tức là trên mọi
tuyến cáp phải có ít nhất một loại cáp. Điều gì sẽ xẩy ra khi trên trên một tuyến nào đó có duy nhất
một loại cáp bị huỷ bỏ.
1.3.2.1. Ngôn ngữ thao tác trên CSDL phân cấp
-
Biểu diễn phụ thuộc trong mô hình phân cấp: Các đường nối từ bản ghi gốc trỏ xuống các
bản ghi phụ thuộc, hay từ bản ghi cha trỏ xuống bản ghi con biểu diễn mối quan hệ giữa các
bản ghi trong mô hình phân cấp. Ví dụ trong bản ghi Phiếu xuất kho có thể xác định được
mã và đơn giá của các loại cáp.
-
Chèn thêm: Trong cấu trúc hình cây, có một và chỉ một xuất hiện bản ghi gốc, tức là bắt
buộc phải có xuất hiện bản ghi về các loại cáp. Nếu muốn lưu trữ thông tin về một tuyến cáp
mới vào CSDL, thì điều này không thể thực hiện được, vì không thể thêm thông tin về các
xuất hiện kiểu bản ghi phụ thuộc (thông tin về các tuyến cáp) vào CSDL phân cấp khi chưa
có thông tin về các loại cáp.
-
Loại bỏ: Trong một số cấu trúc cây dữ liệu, thông tin về một vấn đề nào đấy được chứa
trong một xuất hiện kiểu bản ghi phụ thuộc duy nhất thì khi loại bỏ sẽ làm mất thông tin về
vấn đề trên. Ví dụ khi loại bỏ loại cáp M04 trên tuyến T03, sẽ kéo theo thông tin về tuyến
cáp T03 bị mất và thông tin về cáp mang mã hiệu M04 cũng bị mất luôn. Như vậy có thể
xẩy ra hiện tượng mất thông tin về các tuyến cáp hoặc thông tin về các loại cáp khi thực hiện
các thao tác loại bỏ.
Hình 1.5: Cơ sở dữ liệu về các tuyến cáp viễn thông
14
-
Sửa đổi: Nếu cần phải sửa đổi một số thông tin trong các xuất hiện kiểu bản ghi phụ
thuộc thì phải duyệt toàn bộ mô hình dữ liệu, bằng cách phải dò tìm trong từng xuất hiện.
Như vậy khả năng dò tìm không hết có thể xẩy ra, sẽ dẫn đến sự xuất hiện mâu thuẫn
thông tin và không nhất quán dữ liệu trong lưu trữ. Ví dụ cần thay đổi tên gọi của các
tuyến cáp hoặc tên gọi các loại cáp, nếu số các xuất hiện kiểu bản ghi loại này rất lớn, khả
năng duyệt sót vẫn có thể xẩy ra, nghĩa là mâu thuẫn thông tin, không nhất quán thông tin
sẽ xẩy ra.
-
Các phép tìm kiếm: Các xuất hiện của các bản ghi phụ thuộc chỉ tồn tại khi và chỉ khi tồn
tại xuất hiện kiểu bản ghi gốc.
Ví dụ: Q1: Tìm số hiệu của các tuyến, Q2: Tìm số hiệu các loại cáp có lắp đặt cáp MC#="M02", lắp
đặt trên tuyến TC#=‟T02‟.
Các truy vấn thường đối xứng nhau nhưng kết quả của các phép tìm kiếm không đối xứng .Vì
vậy trong cấu trúc lưu trữ của mô hình phân cấp rất hạn chế khi thực hiện việc tìm kiếm thông tin.
Nếu CSDL phân cấp càng lớn thì tính phức tạp càng cao. Gây nhiều phức tạp cho người sử dụng,
nhất là đối với lập trình viên phải mất nhiều thời gian công sức để lập trình và bảo trì, hiệu chỉnh
các chương trình.
Tóm lại thông tin tổ chức lưu trữ theo mô hình phân cấp được biểu diễn dữ liệu trong một tệp
duy nhất theo cấu trúc cây. Trong mỗi một cây, tồn tại một và chỉ duy nhất một xuất hiện kiểu bản
ghi gốc và cùng với nó có một tập các xuất hiện kiểu bản ghi phụ thuộc. Khi thao tác trên CSDL
phân cấp bằng ngôn ngữ thao tác dữ liệu, có nhiều khả năng xẩy ra thừa hoặc thiếu thông tin, mâu
thuẫn thông tin dẫn đến sự không nhất quán dữ liệu trong lưu trữ. Tính toàn vẹn của dữ liệu không
được đảm bảo. Các câu truy vấn, tìm kiếm không có tính đối xứng. Tính độc lập của dữ liệu dễ bị vi
phạm. Tính ổn định không cao.
1.3.3. Mô hình mạng(Network model)
Trong mô hình này dữ liệu được tổ chức thành một đồ thị có hướng, trong đó các đỉnh là các
thực thể, các cung là quan hệ giữa hai đỉnh, một kiểu bản ghi có thể liên kết với nhiều kiểu bản ghi
khác. Một con có thể có nhiều cha do đó có thể có nhiều đường truy nhập đến một dữ liệu cho
trước. Tập dữ liệu được tổ chức theo cấu trúc của mô hình dữ liệu mạng gọi là CSDL mạng.
Hình 1.6: Một ví dụ về cơ sở dữ liệu mạng
15
Mô hình dữ liệu mạng là mô hình thực thể quan hệ, trong đó các mối liên kết bị hạn chế
trong kiểu một - một và nhiều – một. Trong mô hình CSDL mạng, dữ liệu được biểu diễn trong các
bản ghi liên kết với nhau bằng các mối nối liên kết (link) tạo thành một đồ thị có hướng. CSDL
mạng có cấu trúc tổng quát hơn so với cấu trúc CSDL phân cấp. Mỗi một xuất hiện của một bản ghi
có thể có rất nhiều các xuất hiện kiểu bản ghi trên nó và các xuất hiện kiểu bản ghi dưới nó. Ngoài
các kiểu bản ghi biểu diễn dữ liệu còn có kiểu bản ghi các phần tử kết nối, biểu diễn sự kết hợp giữa
các biểu diễn dữ liệu. Cho phép mô hình hoá tương ứng nhiều - nhiều. Hình 2.2 biểu diễn một mô
hình CSDL mạng về các tuyến cáp và các loại cáp được lắp đặt. Ngoài các xuất hiện kiểu bản ghi
tuyến cáp và các xuất hiện kiểu các bản ghi các loại cáp còn có các xuất hiện kiểu các bản ghi về
các phần tử kết nối đó là các phần tử số lượng. Các phần tử này kết nối tuyến cáp và các loại cáp là
thông tin về tình hình lắp đặt. Sơ đồ T1 → 10 → M01 chỉ ra rằng tuyến T1 có 10 cáp M01, T1 →
18 → M02 có nghĩa là T1 có 18 cáp loại có mã số là M02...
-
Mạng chứa hai kiểu thực thể: Trong mỗi một tuyến cáp, có nhiều loại cáp khác nhau với
số lượng khác nhau. Mỗi một loại cáp có thể có mặt trong nhiều tuyến cáp khác nhau. Kiểu
bản ghi số lượng có chức năng liên kết hai kiểu bản ghi tuyến cáp và các loại cáp. Mỗi một
xuất hiện kiểu bản ghi số lượng biểu diễn mối liên kết giữa các bản ghi tuyến cáp với các
bản ghi loại cáp. Thiết lập mối liên kết giữa một tuyến cáp và một loại cáp sao cho mỗi xuất
hiện tương ứng của số lượng đều có mặt trong xuất hiện các tuyến cáp và loại cáp. Ví dụ
tuyến cáp “T1” và loại cáp mã “M01” có mối liên kết với số lượng là 10. “T5” và “M07”
không có mối liên kết, điều này có nghĩa là loại cáp “M07” chưa có mặt trong một tuyến nào
cả và tuyến “T5” chưa có một loại cáp nào được lắp đặt.
-
Mạng chứa hơn hai kiểu thực thể: Liên kết n kiểu thực thể biểu diễn bằng một kiểu bản
ghi liên kết n kiểu bản ghi đó với nhau. Mỗi xuất hiện của bản ghi liên kết sẽ là thành viên
của đúng một xuất hiện của một trong số n kiểu bản ghi. Như vậy sẽ biểu diễn mối liên kết n
thực thể tương ứng. Ví dụ thêm một kiểu thực thể mới - đơn vị thi công tuyến cáp. Có thể
một đơn vị thi công nhiều tuyến cáp và trong một tuyến cáp có nhiều đơn vị thi công. Thêm
kiểu thực thể ngày nhập kho (NHAP) của của các loại cáp trước khi đưa vào sử dụng hoặc
đưa thêm thông tin về hãng sản xuất...
-
Mạng chỉ chứa một kiểu thực thể: Tồn tại cơ sở dữ liệu chỉ chứa một thực thể. Ví dụ cơ sở
dữ liệu chứa thông tin về phụ tùng và linh kiện, trong đó một linh kiện tự nó có thể là một
phụ tùng và tự nó có thể chứa các phụ tùng khác. Như vậy mạng cơ sởp dữ liệu chỉ chứa duy
nhất một kiểu bản ghi phụ tùng. Và mỗi một phụ tùng lại có thể là tổ hợp của một số chi tiết
thành phần, lại vừa có thể là thành phần của các tổ hợp khác. Như vậy cơ sở dữ liệu mạng
có hai thực thể, hai kiểu bản ghi nhưng thực chất chỉ là một.
16
Hình 1.7: Mô hình cơ sở dữ liệu mạng
Ngôn ngữ dữ liệu thao tác trên CSDL mạng thường bao gồm các thao tác cơ bản sau đây:
Chèn thêm: Khi thêm các các kiểu bản ghi mới, có thể con trỏ (mối nối) tự trỏ vào nó. Ví
dụ, có chèn thêm các thông tin xuất hiện bản ghi về tuyến cáp hoặc xuất hiện kiểu bản ghi
về các loại cáp mà chưa có trong CSDL và chưa có các bản ghi kết nối, nghĩa là chưa có
thông tin về các loại cáp được lắp đặt, nhưng mô hình CSDL mạng vẫn đảm bảo được tính
nhất quán của dữ liệu và tính toàn vẹn của dữ liệu.
Loại bỏ: Có thể loại bỏ các xuất hiện kiểu bản ghi dữ liệu và xuất hiện kiểu bản ghi kết nối
trong mô hình CSDL mạng mà không ảnh hưởng tới tính nhất quán và tính toàn vẹn dữ liệu.
Có thể xoá một loại cáp nào đó khi không còn sử dụng. Ví dụ cần xóa bỏ 8 cáp M04 trong
T1 bằng cách xoá bỏ các con trỏ giữa T1 và 8; giữa 8 và M04 mà không làm mất thông tin,
không xuất hiện dị thường thông tin.
Sửa đổi: Có thể sửa đổi nội dung dữ liệu mà không cần duyệt qua mô hình và cũng không
làm xuất hiện mâu thuẫn dữ liệu.
Tìm kiếm: Các câu hỏi đối xứng và kết quả của phép tìm kiếm cũng đối xứng với nhau như
trong mô hình cơ sở dữ liệu quan hệ.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment