tối ưu quá trình xây dựng cơ sở dữ liệu
Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (241.76 KB, 26 trang )
Bạn đang đọc: tối ưu quá trình xây dựng cơ sở dữ liệu – Tài liệu text
Lời nói đầu
Ngày nay, hơn lúc nào hết sự thành công của một cơ quan phụ thuộc vào khả năng
thu thập kịp thời, đầy đủ và chính xác những dữ liệu cần thiết, xử lí, quản lí va sử
dụng chúng một cách có hiệu quả để phân tích tình hình và đề ra những phương
hướng hành động cho tương lai. Mà khi lượng thông tin ngày càng gia tăng nên khối
lượng thu thập được cần được lưu trữ, nhưng do không gian lưu trữ có hạn. Nghịch lí
này đã làm nảy sinh ra nhu cầu phải xây dựng cơ sở dữ liệu (CSDL) phù hợp. Để có
thể quản lí tối ưu kho dữ liệu thì những người sử dụng phải có các công cụ làm đơn
giản hoá nhiệm vụ quản lí dữ liệu(DL). Yêu cầu đặt ra cho những người thiết kế là
nghiên cứu những tính chất cơ bản để xây dựng cấu trúc CSDL tối ưu nhất. Mà vấn
đề phụ thuộc hàm, phụ thuộc đa trị là nguyên nhân cho các vấn đề nảy sinh không
đáng có trong thiết kế CSDL nên nghiên cứu về phụ thuộc hàm và phụ thuộc đa trị
trong xây dựng CSDL để xây dựng tập các sơ đồ quan hệ cho phép người dùng lưu
trữ các thông tin một cách không dư thừa đồng thời cho phép tìm kiếm thông tin một
cách dễ dàng.
Mục đích nghiên cứu của đề tài trước hết trang bị thêm kiến thức phục vụ cho
thiết kế CSDL đồng thời kiến thức học hỏi được sẽ trở thành một công cụ để sinh
viên và những lập trình viên sử dụng cho công việc thiết kế của mình có cái nhìn
đúng đắn và mang lại hiệu quả tốt nhất trong xây dựng CSDL. Đối tượng nghiên cứu
trong đề tài của em là phụ thuộc hàm, phụ thuộc đa trị và ứng dụng trong xây dựng
CSDL. Và khi thiết kế một CSDL quan hệ phải nghiên cứu các tính chất cơ bản cũng
như các thuật toán để có thể nhận được những tập sơ đồ phù hợp, tốt nhất cho công
việc.
Đề tài được chia làm ba phần lớn:
Phần thứ nhất là cái nhìn tổng quan về CSDL quan hệ là phạm vi nghiên cứu
của đề tài.
Phần thứ hai: trình bày nội dung chính của đề tài, trong phần này giúp cho
người sử dụng hiểu rõ mục đích và tầm quan trọng của việc thiết kế CSDL và ứng
dụng trong thực tế.
Phần cuối cùng là kết luận, qua đề tài để làm tối ưu quá trình xây dựng CSDL
và trang bị cho người sử dụng thêm kiến thức cần thiết phục vụ cho ứng dụng ,và tìm
1
hiểu để có những lựa chọn phù hợp nhất cho công việc của mình với mô hình quan hệ
nào là tốt nhất.
Qua đề tài nghiên cứu mong rằng sẽ trang bị cho người đọc những kiến thức bổ
ích giúp ích cho những ai muốn tìm hiểu về phụ thuộc hàm,phụ thuộc đa trị có thêm
những kiến thức mới bổ sung cho quá trình tìm hiểu của mình.
A. Cơ sở lí luận.
I. Khái quát CSDL:
1. Khái niệm CSDL:
Cơ sở dữ liệu là lĩnh vực của tin học nghiên cứu các cơ chế ,nguyên lí,
phương pháp tổ chức các nhóm DL trên các vật mang tin ngoài(các loại đĩa,trống từ,
quang học…) nhằm phục vụ cho việc khai thác dữ liệu trong các hệ thống tin học
ứng dụng như các hệ lưu trữ và tra cứu thông tin ,các hệ quản trị xí nghiệp hoặc
ngành…
Trong số 3 mô hình ba cách tiếp cận cho việc tổ chức và khai thác các CSDL
là mô hình phân cấp, mô hình mạng và mô hình quan hệ thì mô hình quan hệ được
quan tâm hơn cả vào khoảng vài chục năm trở lại đây. Các hệ quản trị CSDL quan
hệ được thiết kế và cài đặt trên tất cả các máy : hệ micro, hệ mini, hệ mainframe và
các hệ siêu máy tính. Trong các chương trình xây dựng máy tính thế hệ mới, mô hình
quan hệ được quan tâm đáng kể.
Sở dĩ mô hình quan hệ được phát triển rộng rãi như vậy là vì nó được xây dựng
trên một cơ sở toán học chặt chẽ _lí thuyết về các quan hệ và có hình ảnh trực quan
gần với quan niệm thông thường của người dùng cuối. Các ngôn ngữ thao tác trên
các CSDL quan hệ khá dễ học và có hiệu suất phục vụ cao.Trong mô hình quan hệ thì
giá trị đưa vào mỗi cột phải là đơn nhất, các giá trị đưa vào một cột phải cùng một
miền dữ liệu và mỗi dòng trong bảng phải là duy nhất nên việc quản lí dễ dàng hơn.
Vậy CSDL là một tập các DL về các đối tượng cần quản lí, được lưu trữ đồng thời
trên các vật mang tin của máy tính điện tử và được quản lí theo một cơ chế thống
nhất gọi là hệ quản lí CSDL nhằm thực hiện ba chức năng sau đây một cách tối ưu:
mo tả DL, cập nhật DL, tìm kiếm DL.
CSDL là một bộ phận không thể thiếu được trong các hệ lưu trữ và tìm kiếm
thông tin, các hệ thống quản lí kinh tế các ngành các cấp, các hệ thống quản lí kho
2
hàng, tư liệu, các hệ thống phục vụ công cộng như ngân hàng, bán vé máy bay và
các phương tiện giao thông, các hệ thống thiết kế tự động ………
2. Hệ quản trị CSDL:
Đó là hệ thống phần mềm giúp cho người sử dụng khai thác các CSDL theo ba
chức năng nói trên. Còn các CSDL là đối tượng quản lí của các HCSDL. Chúng
được tạo lập và lưu trữ trên các vật mang tin ngoài. Hệ QTCSDL có nhiệm vụ rất
quan trọng, như một bộ miễn dịch với ngôn ngữ bậc cao nhằm giúp người sử dụng
có thể dùng được hệ thống mà ít nhiều không cần quan tâm đến thuật toán chi tiết
hoặc biểu diễn DL trong máy.
CSDL có người quản trị CSDL. Người quản trị CSDL có nhiệm vụ quản lí và
theo dõi toàn bộ các thủ tục sau đây :
_Nạp DL vào CSDL
_Xoá DL ra khỏi CSDL
_Sửa DL trong CSDL
_Tạo lập CSDL
_Tìm kiếm và xuất DL
_Bảo trì DL trong CSDL không bị sai hỏng do các truy nhập không được phép
hoặc không đúng qui cách dẫn đến sự sai lệch hoặc mất mát DL
CSDL có một lớp người sử dụng cũng được phép thực hiện các thao tác như
người quản trị nhưng giới hạn ở góc độ khai thác DL. Người sử dụng tuỳ theo vai
trò ,trách nhiệm của mình được người quản trị cho phép sử dụng một phần nào đó
của CSDL và với phần đó họ được phép thực hiện một số thao tác nhất định. Nếu
người sử dụng là một nhân viên bán hàng tại một quầy nào đó thì có thể thông qua
MTĐT theo dõi những mặt hàng bán được tại quầy của mình bao gồm các mục : mã
hàng, tên hàng, giá đơn vị, thành tiền, số lượng còn lại, tổng số tiền đã bán…. Và
được phép nạp DL, sửa ,xóa DL phản ánh đúng biến động của các mặt hàng có trong
quầy của mình. Còn các DL khác, mặc dù được lưu trữ trên cùng một MTĐT thậm
chí lưu trữ trong cùng một CSDL sẽ là” khuất “đối với người này. DL khuất có thể là
thông tin về các quầy khác, tổng thu chi của cửa hàng, danh sách và thông tin chi tiết
về các nhân viên …..
3
Tóm lại, mặc dù DL được lưu trữ chung trong một CSDL nhưng mỗi người sử
dụng chỉ được nhìn vào CSDL qua một cái chung và họ cảm thấy CSDL chỉ vào cái
khung đó thôi, như là dành riêng cho họ vậy.
Hệ QTCSDL là những chương trình máy tính giúp cho ta thực hiện các thao tác
trên. Vậy là các phần mềm như DBASE, FOXBASE, SYSTEM-R, IMS là những
HCSDL. Các đối tượng do hệ thống trên tạo lập là các CSDL
3. Kiến trúc một HCSDL
Một CSDL được phân nhánh các mức khác nhau như hình dưới. Ở đây cá thể xem
như chỉ có một CSDL đơn giản và có một hệ phần mềm QTCSDL
Phần mềm CSDL vật lí là tập các tệp DL theo một cấu trúc nào đó được lưu
trên các thiết bị nhớ thứ cấp ( đĩa, băng từ….) CSDL mức khái niệm là một sự biểu
diễn trừu tượng của CSDL vật lí. Các khung nhìn là cách nhìn là quan niệm của từng
người sử dụng đối với CSDL mức khái niệm thực chất là không lớn
Khung nhìn 1
Khung nhìn 2
Khung nhìn n
CSDL mức
vật lí
CSDL mức
khaí
niệm(logic)
4
Thể hiện
Một khi CSDL đã được thiết kế, thường người ta quan tâm tới “bộ khung” hay còn
gọi là “mẫu” của CSDL. DL hiện có trong CSDL gọi là thể hiện CSDL, mặc dù khi
DL thay đổi thao một chu kì thời gian nào đó thì “bộ khung” của CSDL vẫn không
thay đổi
Lược đồ
Thường “bộ khung” nêu trên 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ó một mối quan hệ
nào đó với nhau. Ở đây sử dụng thuật ngữ “lược đồ” để thay cho khái niệm “ bộ
khung”.
Lược đồ khái niệm là bộ khung của CSDL khái niệm ,còn lược đồ vật lí dùng cho
bộ khung của CSDL mức vật lí, khung nhìn được gọi là Lựơc đồ con
Tính độc lập DL
Theo hình trên từ khung nhìn tới CSDL khái niệm và CSDL vật lí cho thấy có
hai mức “ độc lập DL”. Thứ nhất : Lược đồ vlí có thể thay đổi do người quản trị
CSDL mà không cần thay đổi lược đồ khái niệm hoặc các lược đồ con. việc tổ chức
lại CSDL vật lí 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 không đòi hỏi phải viết lại các chương trình đó. tính độc lập này gọi là độc
lập DL mức vật lí
Mối quan hệ giữa các khung nhìn và lược đồ khái niệm cho thêm một loại độc lập
nữa, gọi là độc lập DL logic.khi sử dụng một CSDL, có thể cần thiết phải thay đổi
lược đồ khái niệm như thêm thông tin về các loại khác nhau của các thực thể hoặc
bớt, xóa các thông tin về các thực thể đang tồn tại trong CSDL. 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
Vì thế, tính độc lập DL là mục tiêu chủ yếu của các hệ CSDL. Có thể định nghĩa
tính độc lập CSDL 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 nhập”
Có ba loại mô hình CSDL cơ bản là mô hình lưới, mô hình phân cấp, mô hình
quan hệ. Trong ba loại mô hình này thì mô hình quan hệ có nhiều ưu điểm và được
nhiều người quan tâm nhất, bởi lẽ mô hình quan hệ có tính độc lập DL cao,lại dễ
5
dàng 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 .
Trên cơ sở mô hình DL quan hệ, đến nay đã phát triển thêm một số loại mô hình
khác nhằm mô tả và thể hiện thế giới thực một cách chính xác và phù hợp hơn như
mô hình quan hệ thực thể, mô hình DL hướng đối tượng.
II.Một số vấn đề khi thiết kế CSDL:
Phụ thuộc dữ liệu là các mối ràng buộc có thể có giữa các giá trị hiện hữu của
các lược đồ, chẳng hạn thuộc tính này xác định duy nhất thuộc tính kia. Chúng ta xét
lược đồ quan hệ sau và xem xét các vấn đề nảy sinh để qua đó có thể thiết kế một
CSDL thế nào là tối ưu nhất. Ví dụ về việc phân công lái máy bay:
phanCong (PHICONG, MAYBAY, NGAYKH, GIOKH)
Với các thuộc tính : tên phi công(PHICONG), số máy bay(MAYBAY), ngày khởi
hành(NGAYKH), giờ khởi hành(GIOKH).
1. Dư thừa dữ liệu:
Dễ dàng thấy một phi công sẽ lái nhiều máy bay nên tên của phi công sẽ lặp lại
trong nhiều bộ quan hệ trên lược đồ này. Cụ thể là tên của người này sẽ lặp lại
trong quan hệ.
2. Không nhất quán:
Là hệ quả của việc dư thừa DL, vì khi tên của phi công lặp lại trong nhiều
bộ ,khi sửa thì chỉ có thể sửa ở một bộ nào đó còn các bộ khác vẫn giữ nguyên.
Khi đó xảy ra hiện tượng một phi công có nhiều tên.
3. Bất thường khi thêm bộ:
Nếu một phi công mới tuyển chưa lái một máy bay nào cả, khi thêm một bộ
giá trị về phi công này để theo dõi thì nhà quản lí không biết phải đưa giá trị gì vào
thuộc tính máy bay và ngày, giờ khởi hành.
4. Bất thường khi xoá bộ :
Nếu một phi công vì một lí do nào đó mà chỉ lái một máy bay nhất định
thì khi đó trong quan hệ chỉ có một bộ lưu trữ DL về phi công này. Khi muốn xoá DL
về chuyến bay này thì sẽ làm mất thông tin về phi công này.
6
Qua các vấn đề nảy sinh khi thiết kế CSDL cần tìm ra một sự thay thế tốt
mà nội dung nghiên cứu đề tài sẽ cho phép giải đáp cho những vấn đề trên.
B.Nội dung.
I.Lược đồ quan hệ:
1.Định nghĩa:
Lược đồ quan hệ a là một cặp , trong đó u= { A1,A2,……,An} là
tập các thuộc tính, F là tập các phụ thuộc hàm trên u.
Ví dụ: a= với u= ABCD, F= { AB C, BD AC, C D}
Quan hệ R được gọi là quan hệ có lược đồ a nếu tập thuộc tính của R là u
và thoả tập phụ thuộc hàm F.
2.Phép tách các lược đồ quan hệ:
Phép tách một lược đồ quan hệ R={A1,A2,…..,An} là việc thay thế lược
đồ quan hệ R bằng các lược đồ{ R1, R2,…,Rn}, trong đó Ri R, i=1,…..,k và
R=R1 U R2 U…..U Rk. Ở đây không đòi hói các lược đồ Ri phải là phân biệt. Mục
tiêu của phéo tách chủ yếu là loại bỏ các bất thường DL gây ra như đã nêu ở trên.
3.Chuẩn hoá lược đồ quan hệ:
Do việc cập nhập DL gây nên những bất thường cho nên các quan hệ cần
thiết phải được biến đổi thành các dạng phù hợp. Quá trình đó được gọi là quá trình
chuẩn hoá, quan hệ được chuẩn hoá thì mỗi miền của thuộc tính chỉ chứa những giá
trị nguyên tố tức là không thể phân nhỏ được nữa. Quan hệ có chứa các miền giá trị
là không nguyên tố gọi là quan hệ không chuẩn hoá. Một quan hệ được chuẩn hoá
có thể thành một hoặc nhiều quan hệ chuẩn hóa khác và không làm mất thông tin.
II.Phụ thuộc hàm.
1.Khái niệm và vai trò của phụ thuộc hàm trong xây dựng CSDL:
1.1 Khái niệm phụ thuộc hàm:
Phụ thuộc hàm (functional dependency) là một công cụ dùng để biểu diễn
một cách hình thức các ràng buộc toàn vẹn (vắn tắt: ràng buộc). Phương pháp biểu
diễn này có rất nhiều ưu điểm, và đây là một công cụ cực kỳ quan trọng, gắn chặt với
lý thuyết thiết kế cơ sở dữ liệu.
Phụ thuộc hàm được ứng dụng trong việc giải quyết các bài toán tìm khóa,
tìm phủ tối thiểu và chuẩn hóa cơ sở dữ liệu.
7
∩
Ở đây sẽ trình bày khái niệm một cách hình thức :
a. Định nghĩa phụ thuộc hàm:
Q(A1,A2,…,An) là lược đồ quan hệ.
X, Y là hai tập con của Q+={A1,A2,…,An}.
r là quan hệ trên Q.
t1,t2 là hai bộ bất kỳ của r.
X Y (t1.X = t2.X thì t1.Y = t2.Y)
(Ta nói X xác định Y hay Y phụ thuộc hàm vào X (X functional determines Y,Y
functional dependent on X ).
Xét ví dụ phanCong trên ta thấy:
Quan hệ phanCong diễn tả phi công nào lái máy bay nào và máy bay khởi hành vào
thời gian nào.
Không phải sự phối hợp bất kỳ nào giữa phi công, máy bay và ngày giờ khởi hành
cũng đều được chấp nhận mà chúng có các điều kiện ràng buộc qui định sau:
+ Mỗi máy bay có một giờ khởi hành duy nhất.
+ Nếu biết phi công, biết ngày giờ khởi hành thì biết được máy bay do phi công
ấy lái.
+ Nếu biết máy bay, biết ngày khởi hành thì biết phi công lái chuyến bay ấy.
Các ràng buộc này là các ví dụ về phụ thuộc hàm và được phát biểu lại như sau:
+ MAYBAY xác định GIOKH
+ {PHICONG,NGAYKH,GIOKH} xác định MABAY
+ {MAYBAY,NGAYKH} xác định PHICONG
hay
+ GIOKH phụ thuộc hàm vào MAYBAY
+ MABAY phụ thuộc hàm vào {PHICONG,NGAYKH,GIOKH}
+ PHICONG phụ thuộc hàm vào {MAYBAY,NGAYKH}
và được ký hiệu như sau:
+ {MAYBAY} GIOKH
+ {PHICONG,NGAYKH,GIOKH} MABAY
+ {MAYBAY,NGAYKH} PHICONG
b.Một số tính chất của phụ thuộc hàm:
8
Định lí: phụ thuộc hàm trên tập thuộc tính thoả các tính chất sau đây:
F1. Tính phản xạ : Nếu X, Y UvàY X thì X Y.
F2. Tính bắc cầu : Nếu X, Y, Z U,X Y và Y Z thì X Z.
F3. Tính mở rộng hai vế:Nếu X Y, X, Y U thì với mọi Z U ta có
XZ YZ
F4. Tính tựa bắc cầu : Nếu X Y, YZ W; X, Y, Z,W U thì XZ W .
F5. Tính phản xạ chặt: Với mọi X U ta có X X.
F6. Mở rộng vế trái và thu hẹp vế phải : Nếu X Y; X,Y U thì với mọi Z
u và W U ta có XZ Y/W.
F7.Cộng tính đầy đủ: Nếu X Y và Z W; X, Y, Z, W U thì XZ YW
F8. Mở rộng vế trái : Nếu X Y thì với mọi Z U ta có XZ Y.
F9. Cộng tính ở vế phải: Nếu X Y và X Z; X, Y, Z U thì X YZ.
F10. Bộ phận ở vế phải: Nếu X YZ; X, Y, Z U thì X Y
F11. Tính tích luỹ: Nếu X YZ; Z AW; X, Y, Z,W U; A U thì
X YZA.
Những tính chất trên đã được chứng minh và thừa nhận tính đúng đắn của nó nên ở
đây chỉ nêu ra các tính chất cho người sử dụng tìm hiểu.
c. Thuật toán Satifies:
Cho quan hệ r và X, Y là hai tập con của Q+. Thuật toán SATIFIES sẽ trả về trị
true nếu X Yngược lại là false
SATIFIES
Vào: quan hệ r và hai tập con X,Y.
Ra: true nếu X Y, ngược lại là false
SATIFIES(r,X,Y)
1. Sắp các bộ của quan hệ r theo X để các giá trị giống nhau trên X nhóm lại với
nhau
2. Nếu tập các bộ cùng giá trị trên X cho các giá trị trên Y giống nhau thì trả về
true ngược lại là False
Ví dụ 1: SATIFIES(phanCong,MAYBAY,GIOKH)
phanCong (PHICONG, MAYBAY, NGAYKH, GIOKH)
Phi Công Máy Bay Ngày KH Giờ KH
9
∩
∩
∩
∩
∩
∩
∩
∩
∩
∩
∩
∩
∩
∩
∩
Dương 83 9/8 10:15a
Hà 83 11/8 10:15a
Tuấn Anh 83 13/8 10:15a
Dương 116 10/8 1:25p
Tuấn Anh 116 12/8 1:25p
Hà 281 8/8 5:50a
Thành 281 9/8 5:50a
Thành 281 13/8 5:50a
Tuấn Anh 301 12/8 6:35p
cho kết quả là true nghĩa là {MAYBAY} GIOKH
Ví dụ 2: SATIFIES(phanCong,GIOKH,MAYBAY)
phanCong (PHICONG, MAYBAY, NGAYKH, GIOKH)
Phi Công Máy Bay Ngày KH Giờ KH
Tuấn Anh 281 8/8 5:50a
Dương 281 9/8 5:50a
Thành 281 13/8 5:50a
Hà 83 9/8 10:15a
Tuấn Anh 83 11/8 10:15a
Quang 83 13/8 10:15a
Dương 116 10/8 1:25p
cho kết quả là false nghĩa là không có phụ thuộc hàm {GIOKH} MAYBAY.
1.2. Vai trò của phụ thuộc hàm trong xây dựng CSDL:
Khi thiết kế một CSDL thường đòi hỏi phải chọn các lược đồ quan hệ. Việc chọn
tập các lược đồ quan hệ có thể tốt hoặc xấu hơn dựa trên một số tiêu chuẩn nào đó.
Do vậy cần thiết phải nghiên cứu các tính chất cơ bản cũng như những thuật toán để
có thể nhận được những tập lược đồ phù hợp. Mà trọng tâm của thiết kế các lược đồ
là sự phụ thuộc DL là sự ràng buộc có thể có giữa các giá trị hiện hữu của các lược
đồ. Nên phụ thuộc hàm có tầm quan trọng rất lớn đối với việc thiết kế mô hình dữ
liệu. Phân tích các phụ thuộc hàm có thể có để tối ưu mô hình DL nó có ảnh hưởng
trực tiếp đến hiệu quả hoạt động của hệ thống. Bên cạnh đó sử dụng các phụ thuộc
10
hiểu để có những lựa chọn tương thích nhất cho việc làm của mình với quy mô quan hệnào là tốt nhất. Qua đề tài điều tra và nghiên cứu mong rằng sẽ trang bị cho người đọc những kỹ năng và kiến thức bổích giúp ích cho những ai muốn tìm hiểu và khám phá về nhờ vào hàm, phụ thuộc vào đa trị có thêmnhững kỹ năng và kiến thức mới bổ trợ cho quy trình khám phá của mình. A. Cơ sở lí luận. I. Khái quát CSDL : 1. Khái niệm CSDL : Cơ sở dữ liệu là nghành của tin học nghiên cứu và điều tra những chính sách, nguyên lí, giải pháp tổ chức triển khai những nhóm DL trên những vật mang tin ngoài ( những loại đĩa, trống từ, quang học … ) nhằm mục đích ship hàng cho việc khai thác dữ liệu trong những mạng lưới hệ thống tin họcứng dụng như những hệ tàng trữ và tra cứu thông tin, những hệ quản trị xí nghiệp sản xuất hoặcngành … Trong số 3 quy mô ba cách tiếp cận cho việc tổ chức triển khai và khai thác những CSDLlà quy mô phân cấp, quy mô mạng và quy mô quan hệ thì quy mô quan hệ đượcquan tâm hơn cả vào khoảng chừng vài chục năm trở lại đây. Các hệ quản trị CSDL quanhệ được phong cách thiết kế và setup trên tổng thể những máy : hệ micro, hệ mini, hệ mainframe vàcác hệ siêu máy tính. Trong những chương trình xây dựng máy tính thế hệ mới, mô hìnhquan hệ được chăm sóc đáng kể. Sở dĩ quy mô quan hệ được tăng trưởng thoáng rộng như vậy là vì nó được xây dựngtrên một cơ sở toán học ngặt nghèo _lí thuyết về những quan hệ và có hình ảnh trực quangần với ý niệm thường thì của người dùng cuối. Các ngôn từ thao tác trêncác CSDL quan hệ khá dễ học và có hiệu suất Giao hàng cao. Trong quy mô quan hệ thìgiá trị đưa vào mỗi cột phải là đơn nhất, những giá trị đưa vào một cột phải cùng mộtmiền dữ liệu và mỗi dòng trong bảng phải là duy nhất nên việc quản lí thuận tiện hơn. Vậy CSDL là một tập những DL về những đối tượng người dùng cần quản lí, được tàng trữ đồng thờitrên những vật mang tin của máy tính điện tử và được quản lí theo một chính sách thốngnhất gọi là hệ quản lí CSDL nhằm mục đích thực thi ba công dụng sau đây một cách tối ưu : mo tả DL, update DL, tìm kiếm DL.CSDL là một bộ phận không hề thiếu được trong những hệ tàng trữ và tìm kiếmthông tin, những mạng lưới hệ thống quản lí kinh tế tài chính những ngành những cấp, những mạng lưới hệ thống quản lí khohàng, tư liệu, những mạng lưới hệ thống Giao hàng công cộng như ngân hàng nhà nước, bán vé máy bay vàcác phương tiện đi lại giao thông vận tải, những hệ thống thiết kế tự động hóa … … … 2. Hệ quản trị CSDL : Đó là mạng lưới hệ thống ứng dụng giúp cho người sử dụng khai thác những CSDL theo bachức năng nói trên. Còn những CSDL là đối tượng người dùng quản lí của những HCSDL. Chúngđược tạo lập và tàng trữ trên những vật mang tin ngoài. Hệ QTCSDL có trách nhiệm rấtquan trọng, như một bộ miễn dịch với ngôn từ bậc cao nhằm mục đích giúp người sử dụngcó thể dùng được mạng lưới hệ thống mà không ít không cần chăm sóc đến thuật toán chi tiếthoặc trình diễn DL trong máy. CSDL có người quản trị CSDL. Người quản trị CSDL có trách nhiệm quản lí vàtheo dõi hàng loạt những thủ tục sau đây : _Nạp DL vào CSDL_Xoá DL ra khỏi CSDL_Sửa DL trong CSDL_Tạo lập CSDL_Tìm kiếm và xuất DL_Bảo trì DL trong CSDL không bị sai hỏng do những truy nhập không được phéphoặc không đúng qui cách dẫn đến sự rơi lệch hoặc mất mát DLCSDL có một lớp người sử dụng cũng được phép triển khai những thao tác nhưngười quản trị nhưng số lượng giới hạn ở góc nhìn khai thác DL. Người sử dụng tuỳ theo vaitrò, nghĩa vụ và trách nhiệm của mình được người quản trị được cho phép sử dụng một phần nào đócủa CSDL và với phần đó họ được phép triển khai 1 số ít thao tác nhất định. Nếungười sử dụng là một nhân viên cấp dưới bán hàng tại một quầy nào đó thì hoàn toàn có thể thông quaMTĐT theo dõi những mẫu sản phẩm bán được tại quầy của mình gồm có những mục : mãhàng, tên hàng, giá đơn vị chức năng, thành tiền, số lượng còn lại, tổng số tiền đã bán …. Vàđược phép nạp DL, sửa, xóa DL phản ánh đúng dịch chuyển của những loại sản phẩm có trongquầy của mình. Còn những DL khác, mặc dầu được tàng trữ trên cùng một MTĐT thậmchí tàng trữ trong cùng một CSDL sẽ là ” khuất “ so với người này. DL khuất hoàn toàn có thể làthông tin về những quầy khác, tổng thu chi của shop, list và thông tin chi tiếtvề những nhân viên cấp dưới … .. Tóm lại, mặc dầu DL được tàng trữ chung trong một CSDL nhưng mỗi người sửdụng chỉ được nhìn vào CSDL qua một cái chung và họ cảm thấy CSDL chỉ vào cáikhung đó thôi, như là dành riêng cho họ vậy. Hệ QTCSDL là những chương trình máy tính giúp cho ta triển khai những thao táctrên. Vậy là những ứng dụng như DBASE, FOXBASE, SYSTEM-R, IMS là nhữngHCSDL. Các đối tượng người dùng do mạng lưới hệ thống trên tạo lập là những CSDL3. Kiến trúc một HCSDLMột CSDL được phân nhánh những mức khác nhau như hình dưới. Ở đây thành viên xemnhư chỉ có một CSDL đơn thuần và có một hệ ứng dụng QTCSDLPhần mềm CSDL vật lí là tập những tệp DL theo một cấu trúc nào đó được lưutrên những thiết bị nhớ thứ cấp ( đĩa, băng từ …. ) CSDL mức khái niệm là một sự biểudiễn trừu tượng của CSDL vật lí. Các khung nhìn là cách nhìn là ý niệm của từngngười sử dụng so với CSDL mức khái niệm thực ra là không lớnKhung nhìn 1K hung nhìn 2K hung nhìn nCSDL mứcvật líCSDL mứckhaíniệm ( logic ) Thể hiệnMột khi CSDL đã được phong cách thiết kế, thường người ta chăm sóc tới “ bộ khung ” hay còngọi là “ mẫu ” của CSDL. DL hiện có trong CSDL gọi là bộc lộ CSDL, mặc dầu khiDL đổi khác thao một chu kì thời hạn nào đó thì “ bộ khung ” của CSDL vẫn khôngthay đổiLược đồThường “ bộ khung ” nêu trên gồm có một số ít hạng mục, hoặc chỉ tiêu hoặc mộtsố kiểu của những thực thể trong CSDL. Giữa những thực thể hoàn toàn có thể có một mối quan hệnào đó với nhau. Ở đây sử dụng thuật ngữ “ lược đồ ” để thay cho khái niệm “ bộkhung ”. Lược đồ khái niệm là bộ khung của CSDL khái niệm, còn lược đồ vật lí dùng chobộ khung của CSDL mức vật lí, khung nhìn được gọi là Lựơc đồ conTính độc lập DLTheo hình trên từ khung nhìn tới CSDL khái niệm và CSDL vật lí cho thấy cóhai mức “ độc lập DL ”. Thứ nhất : Lược đồ vlí hoàn toàn có thể biến hóa do người quản trịCSDL mà không cần đổi khác lược đồ khái niệm hoặc những lược đồ con. việc tổ chứclại CSDL vật lí hoàn toàn có thể làm biến hóa hiệu suất cao đo lường và thống kê của những chương trình ứng dụngnhưng không yên cầu phải viết lại những chương trình đó. tính độc lập này gọi là độclập DL mức vật líMối quan hệ giữa những khung nhìn và lược đồ khái niệm cho thêm một loại độc lậpnữa, gọi là độc lập DL logic.khi sử dụng một CSDL, hoàn toàn có thể thiết yếu phải thay đổilược đồ khái niệm như thêm thông tin về những loại khác nhau của những thực thể hoặcbớt, xóa những thông tin về những thực thể đang sống sót trong CSDL. việc đổi khác lượcđồ khái niệm không làm ảnh hưởng tác động tới những lược đồ con đang sống sót, do đó khôngcần thiết phải đổi khác những chương trình ứng dụngVì thế, tính độc lập DL là tiềm năng hầu hết của những hệ CSDL. Có thể định nghĩatính độc lập CSDL là “ tính không bao giờ thay đổi của những hệ ứng dụng so với những biến hóa trongcấu trúc tàng trữ và kế hoạch truy nhập ” Có ba loại quy mô CSDL cơ bản là quy mô lưới, quy mô phân cấp, mô hìnhquan hệ. Trong ba loại quy mô này thì quy mô quan hệ có nhiều ưu điểm và đượcnhiều người chăm sóc nhất, bởi lẽ quy mô quan hệ có tính độc lập DL cao, lại dễdàng sử dụng. Điều quan trọng hơn cả, quy mô quan hệ được hình thức hoá toán họctốt, do đó được điều tra và nghiên cứu, tăng trưởng và cho được nhiều hiệu quả lí thuyết cũng nhưứng dụng trong thực tiễn. Trên cơ sở quy mô DL quan hệ, đến nay đã tăng trưởng thêm một số ít loại mô hìnhkhác nhằm mục đích diễn đạt và biểu lộ quốc tế thực một cách đúng mực và tương thích hơn nhưmô hình quan hệ thực thể, quy mô DL hướng đối tượng người dùng. II.Một số yếu tố khi phong cách thiết kế CSDL : Phụ thuộc dữ liệu là những mối ràng buộc hoàn toàn có thể có giữa những giá trị hiện hữu củacác lược đồ, ví dụ điển hình thuộc tính này xác lập duy nhất thuộc tính kia. Chúng ta xétlược đồ quan hệ sau và xem xét những yếu tố phát sinh để qua đó hoàn toàn có thể phong cách thiết kế mộtCSDL thế nào là tối ưu nhất. Ví dụ về việc phân công lái máy bay : phanCong ( PHICONG, MAYBAY, NGAYKH, GIOKH ) Với những thuộc tính : tên phi công ( PHICONG ), số máy bay ( MAYBAY ), ngày khởihành ( NGAYKH ), giờ khởi hành ( GIOKH ). 1. Dư thừa dữ liệu : Dễ dàng thấy một phi công sẽ lái nhiều máy bay nên tên của phi công sẽ lặp lạitrong nhiều bộ quan hệ trên lược đồ này. Cụ thể là tên của người này sẽ lặp lạitrong quan hệ. 2. Không đồng nhất : Là hệ quả của việc dư thừa DL, vì khi tên của phi công lặp lại trong nhiềubộ, khi sửa thì chỉ hoàn toàn có thể sửa ở một bộ nào đó còn những bộ khác vẫn giữ nguyên. Khi đó xảy ra hiện tượng kỳ lạ một phi công có nhiều tên. 3. Bất thường khi thêm bộ : Nếu một phi công mới tuyển chưa lái một máy bay nào cả, khi thêm một bộgiá trị về phi công này để theo dõi thì nhà quản lí không biết phải đưa giá trị gì vàothuộc tính máy bay và ngày, giờ khởi hành. 4. Bất thường khi xoá bộ : Nếu một phi công vì một lí do nào đó mà chỉ lái một máy bay nhất địnhthì khi đó trong quan hệ chỉ có một bộ tàng trữ DL về phi công này. Khi muốn xoá DLvề chuyến bay này thì sẽ làm mất thông tin về phi công này. Qua những yếu tố phát sinh khi phong cách thiết kế CSDL cần tìm ra một sự thay thế sửa chữa tốtmà nội dung điều tra và nghiên cứu đề tài sẽ cho phép giải đáp cho những yếu tố trên. B.Nội dung. I.Lược đồ quan hệ : 1. Định nghĩa : Lược đồ quan hệ a là một cặp , trong đó u = { A1, A2, … …, An } làtập những thuộc tính, F là tập những phụ thuộc vào hàm trên u. Ví dụ : a = với u = ABCD, F = { AB C, BD AC, C D } Quan hệ R được gọi là quan hệ có lược đồ a nếu tập thuộc tính của R là uvà thoả tập nhờ vào hàm F. 2. Phép tách những lược đồ quan hệ : Phép tách một lược đồ quan hệ R = { A1, A2, … .., An } là việc sửa chữa thay thế lượcđồ quan hệ R bằng những lược đồ { R1, R2, …, Rn }, trong đó Ri R, i = 1, … .., k vàR = R1 U R2 U … .. U Rk. Ở đây không đòi hói những lược đồ Ri phải là phân biệt. Mụctiêu của phéo tách đa phần là vô hiệu những không bình thường DL gây ra như đã nêu ở trên. 3. Chuẩn hoá lược đồ quan hệ : Do việc cập nhập DL gây nên những không bình thường cho nên vì thế những quan hệ cầnthiết phải được đổi khác thành những dạng tương thích. Quá trình đó được gọi là quá trìnhchuẩn hoá, quan hệ được chuẩn hoá thì mỗi miền của thuộc tính chỉ chứa những giátrị nguyên tố tức là không hề phân nhỏ được nữa. Quan hệ có chứa những miền giá trịlà không nguyên tố gọi là quan hệ không chuẩn hoá. Một quan hệ được chuẩn hoácó thể thành một hoặc nhiều quan hệ chuẩn hóa khác và không làm mất thông tin. II.Phụ thuộc hàm. 1. Khái niệm và vai trò của nhờ vào hàm trong xây dựng CSDL : 1.1 Khái niệm nhờ vào hàm : Phụ thuộc hàm ( functional dependency ) là một công cụ dùng để biểu diễnmột cách hình thức những ràng buộc toàn vẹn ( vắn tắt : ràng buộc ). Phương pháp biểudiễn này có rất nhiều ưu điểm, và đây là một công cụ cực kỳ quan trọng, gắn chặt vớilý thuyết phong cách thiết kế cơ sở dữ liệu. Phụ thuộc hàm được ứng dụng trong việc xử lý những bài toán tìm khóa, tìm phủ tối thiểu và chuẩn hóa cơ sở dữ liệu. Ở đây sẽ trình diễn khái niệm một cách hình thức : a. Định nghĩa phụ thuộc hàm : Q ( A1, A2, …, An ) là lược đồ quan hệ. X, Y là hai tập con của Q + = { A1, A2, …, An }. r là quan hệ trên Q.t 1, t2 là hai bộ bất kể của r. X Y ( t1. X = t2. X thì t1. Y = t2. Y ) ( Ta nói X xác lập Y hay Y phụ thuộc vào hàm vào X ( X functional determines Y, Yfunctional dependent on X ). Xét ví dụ phanCong trên ta thấy : Quan hệ phanCong diễn đạt phi công nào lái máy bay nào và máy bay khởi hành vàothời gian nào. Không phải sự phối hợp bất kể nào giữa phi công, máy bay và ngày giờ khởi hànhcũng đều được gật đầu mà chúng có những điều kiện kèm theo ràng buộc qui định sau : + Mỗi máy bay có một giờ khởi hành duy nhất. + Nếu biết phi công, biết ngày giờ khởi hành thì biết được máy bay do phi côngấy lái. + Nếu biết máy bay, biết ngày khởi hành thì biết phi công lái chuyến bay ấy. Các ràng buộc này là những ví dụ về nhờ vào hàm và được phát biểu lại như sau : + MAYBAY xác lập GIOKH + { PHICONG, NGAYKH, GIOKH } xác lập MABAY + { MAYBAY, NGAYKH } xác lập PHICONGhay + GIOKH nhờ vào hàm vào MAYBAY + MABAY phụ thuộc vào hàm vào { PHICONG, NGAYKH, GIOKH } + PHICONG nhờ vào hàm vào { MAYBAY, NGAYKH } và được ký hiệu như sau : + { MAYBAY } GIOKH + { PHICONG, NGAYKH, GIOKH } MABAY + { MAYBAY, NGAYKH } PHICONGb. Một số đặc thù của nhờ vào hàm : Định lí : phụ thuộc vào hàm trên tập thuộc tính thoả những đặc thù sau đây : F1. Tính phản xạ : Nếu X, Y UvàY X thì X Y.F 2. Tính bắc cầu : Nếu X, Y, Z U, X Y và Y Z thì X Z.F 3. Tính lan rộng ra hai vế : Nếu X Y, X, Y U thì với mọi Z U ta cóXZ YZF4. Tính tựa bắc cầu : Nếu X Y, YZ W ; X, Y, Z, W U thì XZ W. F5. Tính phản xạ chặt : Với mọi X U ta có X X.F 6. Mở rộng vế trái và thu hẹp vế phải : Nếu X Y ; X, Y U thì với mọi Zu và W U ta có XZ Y / W.F 7. Cộng tính vừa đủ : Nếu X Y và Z W ; X, Y, Z, W U thì XZ YWF8. Mở rộng vế trái : Nếu X Y thì với mọi Z U ta có XZ Y.F 9. Cộng tính ở vế phải : Nếu X Y và X Z ; X, Y, Z U thì X YZ.F 10. Bộ phận ở vế phải : Nếu X YZ ; X, Y, Z U thì X YF11. Tính tích luỹ : Nếu X YZ ; Z AW ; X, Y, Z, W U ; A U thìX YZA.Những đặc thù trên đã được chứng tỏ và thừa nhận tính đúng đắn của nó nên ởđây chỉ nêu ra những đặc thù cho người sử dụng khám phá. c. Thuật toán Satifies : Cho quan hệ r và X, Y là hai tập con của Q +. Thuật toán SATIFIES sẽ trả về trịtrue nếu X Yngược lại là falseSATIFIESVào : quan hệ r và hai tập con X, Y.Ra : true nếu X Y, ngược lại là falseSATIFIES ( r, X, Y ) 1. Sắp những bộ của quan hệ r theo X để những giá trị giống nhau trên X nhóm lại vớinhau2. Nếu tập những bộ cùng giá trị trên X cho những giá trị trên Y giống nhau thì trả vềtrue ngược lại là FalseVí dụ 1 : SATIFIES ( phanCong, MAYBAY, GIOKH ) phanCong ( PHICONG, MAYBAY, NGAYKH, GIOKH ) Phi Công Máy Bay Ngày KH Giờ KHDương 83 9/8 10 : 15 aHà 83 11/8 10 : 15 aTuấn Anh 83 13/8 10 : 15 aDương 116 10/8 1 : 25 pTuấn Anh 116 12/8 1 : 25 pHà 281 8/8 5 : 50 aThành 281 9/8 5 : 50 aThành 281 13/8 5 : 50 aTuấn Anh 301 12/8 6 : 35 pcho tác dụng là true nghĩa là { MAYBAY } GIOKHVí dụ 2 : SATIFIES ( phanCong, GIOKH, MAYBAY ) phanCong ( PHICONG, MAYBAY, NGAYKH, GIOKH ) Phi Công Máy Bay Ngày KH Giờ KHTuấn Anh 281 8/8 5 : 50 aDương 281 9/8 5 : 50 aThành 281 13/8 5 : 50 aHà 83 9/8 10 : 15 aTuấn Anh 83 11/8 10 : 15 aQuang 83 13/8 10 : 15 aDương 116 10/8 1 : 25 pcho tác dụng là false nghĩa là không có nhờ vào hàm { GIOKH } MAYBAY. 1.2. Vai trò của nhờ vào hàm trong xây dựng CSDL : Khi phong cách thiết kế một CSDL thường yên cầu phải chọn những lược đồ quan hệ. Việc chọntập những lược đồ quan hệ hoàn toàn có thể tốt hoặc xấu hơn dựa trên một số ít tiêu chuẩn nào đó. Do vậy thiết yếu phải điều tra và nghiên cứu những đặc thù cơ bản cũng như những thuật toán đểcó thể nhận được những tập lược đồ tương thích. Mà trọng tâm của phong cách thiết kế những lược đồlà sự nhờ vào DL là sự ràng buộc hoàn toàn có thể có giữa những giá trị hiện hữu của những lượcđồ. Nên phụ thuộc vào hàm có tầm quan trọng rất lớn so với việc phong cách thiết kế quy mô dữliệu. Phân tích những nhờ vào hàm hoàn toàn có thể có để tối ưu quy mô DL nó có ảnh hưởngtrực tiếp đến hiệu suất cao hoạt động giải trí của mạng lưới hệ thống. Bên cạnh đó sử dụng những phụ thuộc10
Source: https://sangtaotrongtamtay.vn
Category: Công nghệ
Để lại một bình luận