Truyen2U.Top - Tên miền mới của Truyen2U.Net. Hãy sử dụng ứng dụng 1.1.1.1 để đọc truyện nhé!

AAAAAAAAAA2

Màu nền
Font chữ
Font size
Chiều cao dòng

 

 

 

 

Chương 1

TỔNG QUAN

 

1.1. Các khó khăn trên hệ thống xử lư file truyền thống

Cách tiếp cận truyền thống đối với các hệ thống thông tin thường chỉ tập trung

vào các nhu cầu xử lư dữ liệu của các pḥng riêng lẻ trong một tổ chức mà không xem

xét tổ chức này như là một tổng thể. Các hệ thống thông tin này đáp ứng các yêu cầu

của những người sử dụng bằng cách viết một chương tŕnh mới đối với mỗi ứng dụng

riêng lẻ, thường là một chương tŕnh được phát triển tại một thời điểm. Mỗi chương

tŕnh ứng dụng hay một hệ thống theo yêu cầu sẽ được thiết kế để đáp ứng các yêu

cầu của một pḥng đặc biệt hay một nhóm người sử dụng cụ thể. Do vậy, không có

một kế hoạch tổng thể hay một mô h́nh hướng đến sự tăng trưởng các ứng dụng mới

trong tương lai.

Mỗi ứng dụng tin học mới được thiết kế một cách điển h́nh với một tập các

file dữ liệu riêng của nó. Nhiều dữ liệu trong các file mới có thể đă xuất hiện trong

các file đang tồn tại sẽ phải được cấu trúc lại, mà đến lược nó, các chương tŕnh đang

tồn tại sử dụng cùng các file này cũng phải được sửa lại hay viết lại hoàn toàn. Với lư

do này, thiết kế các file mới với mỗi ứng dụng được yêu cầu thường là đơn giản hơn

và cũng ít rủi ro hơn.

Ví dụ 1.1. Xem xét một phần của hệ thống Quỹ tiết kiệm trong Ngân hàng lưu giữ thông tin về khách hàng và các tài khoản tiết kiệm của Ngân hàng. Một cách để lưu trữ thông tin này trên máy tính là lưu trữ nó trong các file hệ thống bền vững. Để cho phép người sử dụng thao tác những thông tin này, hệ thống có một số các chương tŕnh ứng dụng thao tác các file đó, chẳng hạn như:

_ Chương tŕnh thêm một tài khoản mới.

_ Chương tŕnh ghi nợ (ghi có) một tài khoản

_ Chương tŕnh tính số dự của một tài khoản.

Các chương tŕnh ứng dụng này được viết bởi các nhà lập tŕnh hệ thống để đáp ứng các yêu cầu tin học hoá của Ngân hàng.

Các chương tŕnh ứng dụng mới có thể bổ sung thêm vào hệ thống khi các nhu cầu mới nảy sinh.

 

 

 

                                                                                                                                                    4

 

 

 

Phần 1: Nguyên lư các hệ quản trị cơ sở dữ liệu

Hệ thống xử lư file điển h́nh vừa mô tả được hỗ trợ bởi một hệ điều hành nào đó. Các bản ghi khá ổn định và tồn tại lâu dài được lưu trữ trong các file khác nhau và các chương tŕnh ứng dụng khác nhau được viết để trích ra các bản ghi từ các file thích hợp hay bổ sung thêm các bản ghi mới vào các file đó.

Tuy nhiên, khi qui mô kinh doanh của các tổ chức và nhu cầu xử lư thao tác dữ liệu với các mục đích khác nhau theo các qui định khác nhau tăng lên, một số vấn đề nghiêm trọng có thể nảy sinh.

Các hệ thống trên cơ sở file được phát triển với các ứng dụng đặc biệt, do vậy

việc lưu trữ thông tin của các tổ chức trong các hệ thống file có một số bất lợi chính

sau:

_ Dư thừa dữ liệu và tính không nhất quán dữ liệu: Do các file và các

chương tŕnh ứng dụng được tạo lập bởi các nhà lập tŕnh khác nhau trong khoảng thời

gian dài, các file khác nhau có thể có các qui cách khác nhau và các chương tŕnh có

thể được viết bằng một số ngôn ngữ lập tŕnh khác nhau. Hơn nữa, v́ các file được tạo

lập đối với mỗi chương tŕnh ứng dụng riêng, do vậy cùng một tập các dữ liệu của tổ

chức có thể được lưu trữ lại trong mỗi chương tŕnh ứng dụng, có nghĩa là một số

thông tin có thể lặp lại trên một số file khác nhau và các tài nguyên phần cứng sẽ bị

lăng phí.

Ví dụ 1.2. Địa chỉ, số điện thoại của một khách hàng đặc biệt có thể xuất hiện trong một file chứa các bản ghi tài khoản tiết kiệm và trong một file chứa các bản ghi số dư tài khoản. Sự dư thừa này den đến giá truy nhập và giá lưu trữ cao hơn.

V́ các dữ liệu được lưu trữ trong các file có thể được thay đổi một cách độc

lập bới các chương tŕnh ứng dụng sử dụng chúng, nội dung của các khoản mục dữ

liệu trong chương tŕnh ứng dụng này có thể không tŕnh với cùng các khoản mục dữ

liệu đó trong một chương tŕnh ứng dụng khác. Điều này den đến tính không nhất

quán dữ liệu, có nghĩa là các bản sao khác nhau của cùng một khoản mục dữ liệu

không giống nhau.

Ví dụ 1.3. Địa chỉ của khách hàng bị thay đổi trong bản ghi tài khoản tiết kiệm

nhưng không được phản ánh trong bản ghi số dư tài khoản đối với khách hàng đó.

            _ Khó khăn trong truy nhập dữ liệu: Giả sử rằng một trong các nhân viên của

Ngân hàng cần t́m danh sách tên các khách hàng sống trong một thành phố nào đó.

Nhân viên này hfi pḥng xử lư dữ liệu để đưa ra một danh sách như vậy. V́ yêu cầu

này không được dự tính trước, hệ thống gốc được thiết kế không có sgn một chương

 

 

                                                                                                                                                    5

 

 

 

Phần 1: Nguyên lư các hệ quản trị cơ sở dữ liệu

tŕnh ứng dụng để đáp ứng yêu cầu này. Tuy nhiên, có một chương tŕnh ứng dụng

đưa ra tất cả danh sách các khách hàng. Bấy giờ, nhân viên Ngân hàng đứng trước 2

sự lựa chọn: Hoặc sử dụng danh sách tất cả khách hàng và trích ra những thông tin

cần thiết bằng tay hoặc nhờ pḥng xử lư dữ liệu đề nghị một nhà lập tŕnh hệ thống

viết chương tŕnh ứng dụng mới để đáp ứng yêu cầu này. Cả hai lựa chọn hiển nhiên

đều không được thoả măn. Giả sử rằng, một chương tŕnh như vậy được viết, và sau

vài ngày, cũng nhân viên đó cần một danh sách khác. Cũng như vậy, một chương

tŕnh đưa ra danh sách đó không tồn tại và nhân viên này lại đứng trước hai sự lựa

chọn và không lựa chọn nào thoả măn. Điều này có thể nói rằng môi trường xử lư file

không cho phép các dữ liệu cần thiết được t́m kiếm trong một phương pháp hiệu quả

và tiện lợi.

_ Cô lập và hạn chế chia sẽ dữ liệu: Với phương pháp tiếp cận truyền thống, mỗi ứng dụng có các file dữ liệu riêng của nó và những người sử dụng ít có cơ sở dữ liệu hội chia sẽ dữ liệu ngoài các ứng dụng riêng của họ. Một hậu quả của việc chia sẽ dữ liệu bị hạn chế là cùng các dữ liệu phải lưu trữ trong nhiều file ứng với các ứng dụng khác nhau do khi thiết kế phát triển các ứng dụng mới, người thiết kế thường khó khai thác các dữ liệu chứa trong các file đang tồn tại trong khi các file mới được thiết kế lặp lại nhiều dữ liệu đang tồn tại.

_ Các vấn đề về toàn vẹn: Các giá trị dữ liệu được lưu trữ trong cơ sở dữ liệu

phải thoả măn các kiểu ràng buộc toàn vkn nhất định. Các nhà phát triển làm hiệu lực

các ràng buộc này trong hệ thống bằng cách thêm các đoạn mă tương ứng vào các

chương tŕnh ứng dụng. Tuy nhiên, khi các ràng buộc mới được bổ sung thêm đối với

cơ sở dữ liệu, sẽ rất khó thay đổi các chương tŕnh để làm hiệu lực các ràng buộc mới

này. Vấn đề này phức tạp hơn khi các ràng buộc đó lôi kéo một số khoản mục dữ liệu

từ các file khác nhau.

_ Các vấn đề về độ tin cậy: Một hệ thống máy tính cũng như một thiết bị điện tử hay cơ sở dữ liệu học nào đó có thể bị lỗi. Trong nhiều ứng dụng, vấn đề mấu chốt là khi một lỗi xuất hiện và được ḍ t́m phát hiện, dữ liệu phải được phục hồi đến trạng thái toàn vkn tồn tại trước khi xảy ra lỗi.

Ví dụ 1.4. Xét chương tŕnh ứng dụng chuyển 500USD từ tài khoản A đến tài khoản B. Nếu hệ thống xảy ra lỗi khi thực hiện chương tŕnh, có thể rằng, 500USD đă chuyển đi từ tài khoản A những chưa được ghi có vào tài khoản B, kết quả là cơ sở dữ liệu ở trong một trạng thái không toàn vkn dữ liệu.

 

 

                                                                                                                                                    6

 

 

 

Phần 1: Nguyên lư các hệ quản trị cơ sở dữ liệu

_ Các dị thường truy nhập đồng thời: Để tăng hiệu năng tổng thể của hệ

thống và thời gian đáp ứng nhanh nhất có thể, nhiều hệ thống cho phép nhiều người

sử dụng truy nhập dữ liệu đồng thời. Trong một môi trường như vậy, sự tương tác của

các truy nhập đồng thời có thể den đến kết quả của một trạng thái không toàn vkn dữ

liệu.

Ví dụ 1.5. Xét tài khoản Ngân hàng A có 5000USD. Nếu hai khách hàng đến rút quỹ ( Rút 50USD và 100 USD tương ứng) từ tài khoản A vào cùng một thời điểm. Kết quả của các thực hiện đồng thời này có thể den đến tài khoản này ở trong một trạng thái không đúng đsn (hay không toàn vkn). Giả sử rằng, các chương tŕnh rút thực hiện yêu cầu rút bao gồm các thao tác: đọc giá trị tài khoản, giảm giá trị này đi một giá trị bằng số tiền cần rút và ghi kết quả trả lại. Nếu hai chương tŕnh chạy đồng thời, cả hai có thể cùng đọc 500USD và ghi lại 450USD, 400USD tương ứng. Phụ thuộc vào chương tŕnh nào ghi giá trị sau cùng, tài khoản A có thể chứ 450USD hoặc 400USD chứ không phải giá trị đúng của nó là 350USD.

_ Các vấn đề về an toàn: Không phải mọi người sử dụng của hệ thống đều có thể truy nhập tất cả dữ liệu trong hệ thống.

Ví dụ 1.6. Trong hệ thống Ngân hàng, các nhân viên tài vụ của Ngân hàng chỉ cần nh́n thấy một phần của cơ sở dữ liệu chứa thông tin về nhân viên khách hàng. Họ không cần thiết truy nhập vào thông tin về các tài khoản khách hàng. Do các chương tŕnh ứng dụng được bổ sung vào hệ thống theo phương pháp thêm dần, việc bst tuân thủ các ràng buộc an toàn như vậy là khá khó khăn.

_ Sự phụ thuộc dữ liệu của các chương tŕnh ứng dụng: Do định nghĩa file được chứa trong các chương tŕnh ứng dụng, nếu các nội dung file và các khuôn dạng bản ghi cần được thay đổi, các chương tŕnh ứng dụng cũng phải thay đổi theo

1.2. Các hệ cơ sở dữ liệu

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

            Cơ sở dữ liệu là ǵ?

Một tổ chức (Xí nghiệp, trường học, Ngân hàng.....) có nhiều ứng dụng tin học khác nhau nhưng tất cả các ứng dụng đó cùng được tiến hành trên một nguồn dữ liệu chung th́ không ǵ tốt hơn là triển khai các ứng dụng đó trên một cơ sở dữ liệu sở dữ liệu hợp nhất cho phép quản lư tập trung tất cả dữ liệu xí nghiệp.

 

 

 

 

                                                                                                                                                    7

 

 

 

Phần 1: Nguyên lư các hệ quản trị cơ sở dữ liệu

 

 

 

 

 

 

 

 

 

 

 

 

 

Các chương tŕnh ứng dụng                                                        Người sử dụng trực tuyến

H́nh 1.1. Cơ sở dữ liệu hợp nhất

Trên h́nh vẽ 1.1, chúng ta nh́n thấy thành phần cơ sở dữ liệu hợp nhất là một bộ sưu tập các dữ liệu chứa trên các phương tiện lưu trữ như đĩa từ hay băng từ...Những người sử dụng trực tuyến hay các chương tŕnh ứng dụng có thể sử dụng chung hay chia sẽ cơ sở dữ liệu này.

Có thể thực hiện các thao tác t́m kiếm, sửa đổi, bổ sung...

Như vậy, có thể định nghĩa: Cơ sở dữ liệu là một bộ sưu tập các dữ liệu tác

nghiệp được lưu trữ lại và được các hệ ứng dụng của một cơ quan cụ thể nào đó sử

dụng.

Như thế, có thể định nghĩa hệ cơ sở dữ liệu là một hệ thống gồm 4 thành phần:

            _ Cơ sở dữ liệu hợp nhất: Cơ sở dữ liệu của hệ có 2 tính chất tối thiểu hoá dư

 thừa và được chia sẻ.

_ Người sử dụng: Bao gồm những người truy cập vào cơ sở dữ liệu, những người viết các chương tŕnh ứng dụng và những người điều khiển toàn bộ hệ thống hay c̣n gọi là người quản trị cơ sở dữ liệu.

_ Phần mềm hệ quản trị cơ sở dữ liệu. _ Phần cứng.

Hệ quản trị cơ sở dữ liệu là ǵ?

Hệ quản trị cơ sở dữ liệu 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 truy nhập đối với cơ sở dữ liệu đó.

1.2.2. Các khả năng của một hệ quản trị cơ sở dữ liệu

 

 

 

                                                                                                                                                    8

 

 

 

Phần 1: Nguyên lư các hệ quản trị cơ sở dữ liệu

Có hai khả năng cho phép phân biệt các hệ quản trị cơ sở dữ liệu với các kiểu hệ thống lập tŕnh khác:

_ Khả năng quản dữ liệu tồn tại lâu dài.

Đặc điểm này nói lên rằng có một cơ sở dữ liệu tồn tại trong một thời gian dài,

nội dung cơ sở dữ liệu này là các dữ liệu mà một hệ quản trị cơ sở dữ liệu truy nhập

và quản lư.

_ Khả năng truy nhập các khối lượng dữ liệu lớn một cách hiệu quả.

Đặc điểm này phân biệt một hệ quản trị với một hệ thống xử lư file cũng quản lư dữ liệu tồn tại lâu dài nhưng nói chung không cung cấp các truy nhập nhanh chóng đến các bộ phận dữ liệu tuỳ ư.

Ngoài ra, khi xem xét đặc điểm của hệ quản trị cơ sở dữ liệu c̣n có một số khả năng khác mà có thể thấy hầu hết trong các hệ quản trị cơ sở dữ liệu thương mại:

            _ Hỗ trợ ít nhất một mô h́nh dữ liệu hay một sự trừu tượng toán học mà qua

đó người sử dụng có thể quan sát dữ liệu.

_ Đảm bảo tính độc lập dữ liệu.

_ Hỗ trợ các ngôn ngữ cấp cao nhất định cho phép người sử dụng định nghĩa cấu trúc của dữ liệu, truy nhập dữ liệu và thao tác dữ liêu.

_ Quản trị giao dịch, có nghĩa là cung cấp các truy nhập đồng thời, đúng đsn

đối với cơ sở dữ liệu từ nhiều người sử dụng tại một thời điểm.

            _ Điều khiển truy cập, có nghĩa là khả năng hạn chế truy cập đến các dữ liệu

bởi những người sử dụng không được cấp phép và khả năng kiểm tra tính đúng đsn

của dữ liệu.

_ Phục hồi dữ liệu, có nghĩa là khả năng phục hồi, không làm mất mát dữ liệu đối với các lỗi hệ thống.

a . Sự trừu tượng hoá dữ liệu.

Để cho hệ thống có thể sử dụng được, nó phải tra cứu hay t́m kiếm dữ liệu một cách hiệu quả. Điều này den đến việc thiết kế các cấu trúc dữ liệu phức tạp để biểu dixn dữ liệu trong cơ sở dữ liệu này. Do nhiều người truy nhập vào các hệ cơ sở dữ liệu không được đào tạo về máy tính, người phát triển phải che dấu tính phức tạp đối với những người sử dụng thông qua một số mức trừu tượng để dơn giản hoá các tương tác của người sử dụng đối với hệ thống.

 

 

 

 

 

                                                                                                                                                    9

 

 

 

Phần 1: Nguyên lư các hệ quản trị cơ sở dữ liệu

Mức vật lư: Mức thấp nhất của sự trừu tượng mô tả dữ liệu được lưu trữ một cách thực sự như thế nào? Tại mức vậy lư, các cấu trúc dữ liệu mức thấp phức tạp được mô tả chi tiết.

Mức logic:Mức cao hơn tiếp theo của sự trừu tượng mô tả những dữ liệu nào được lưu trữ trong cơ sở dữ liệu và các mối quan hệ nào tồn tại giữa các dữ liệu này. Mức logic của sự trừu tượng được xác định bởi người quản trị cơ sở dữ liệu, cụ thể phải quyết định những thông tin ǵ được lưu trữ trong cơ sở dữ liệu.

Mức khung nh́n: Mức cao nhất của sự trừu tượng mô tả chỉ một phần của toàn

bộ cơ sở dữ liệu. Mặc dù sử dụng các cấu trúc đơn giản hơn mức logic, một số phức

tạp ven c̣n tồn tại do kích thước lớn của cơ sở dữ liệu. Nhiều người sử dụng của hệ

cơ sở dữ liệu không quan tâm đến tất cả những thông tin này. Thực chất, những người

sử dụng này chỉ cần truy nhập một phần cơ sở dữ liệu. Do vậy sự tương tác của họ với

hệ thống này được đơn giản hoá và mức khung nh́n của sự trừu tượng được xác định.

Hệ thống có thể cung cấp nhiều khung nh́n đối với cùng một cơ sở dữ liệu..

Mối quan hệ giữa 3 mức trừu tượng được minh hoạ trong h́nh 2.

 

 

Khung nh́n 1               Mức khung nh́n                  Khung nh́n n

Mức Vật lư

Mức Logic

 

H́nh 1.2. Ba mức trừu tượng dữ liệu

Sự tương tự đối với khái niệm các kiểu dữ liệu trong các ngôn ngữ lập tŕnh có thể làm sáng tf sự phân biệt giữa các mức trừu tượng.

Ví dụ 1.7 Trong ngôn ngữ lập tŕnh Pascal chúng ta khai báo một bản ghi như sau:

            Type  Khachhang=record

Hoten:String;

The_BH:String;

T_Pho:String;

Duong_pho:String;

End;

 

 

 

 

                                                                                                                                                 10

 

 

 

Phần 1: Nguyên lư các hệ quản trị cơ sở dữ liệu

Đoạn mă này định nghĩa một kiểu bản ghi Khachhang với 4 trường. Mỗi trường có một kiểu dữ liệu. Một Ngân hàng tiết kiệm có thể có một bản ghi như vậy, chẳng hạn như sau:

Taikhoan(tài khoản) với các trường So_taikhoan và Doi_ung.

Nhanvien (Nhân viên) với các trường Hotennvien và Luong.

Tại mức vật lư, một bản ghi Khachhang, Taikhoan hay Nhanvien có thể được mô tả như một khối nhớ. Chương tŕnh dịch ngôn ngữ này che dấu các mức chi tiết này đối với người lập tŕnh. Tương tự, các hệ cơ sở dữ liệu che dấu nhiều chi tiết lưu trữ thấp nhất đối với người lập tŕnh ứng dụng. Người quản trị cơ sở dữ liệu có thể biết những chi tiết nhất định về tổ chức dữ liệu vật lư. Tại mức logic, mỗi bản ghi như vậy được mô tả bởi định nghĩa kiểu như được minh họa trong đoạn mă trên và mối quan hệ giữa các kiểu bản ghi này được xác định. Những người lập tŕnh cũng như người quản trị thường làm việc tại mức trừu tượng này.

Mức khung nh́n, những người sử dụng máy tính nh́n thấy một tập các chương tŕnh ứng dụng mà che dấu những chi tiết về các kiểu dữ liệu. Tương tự, tại mức khung nh́n, một số khung nh́n của cơ sở dữ liệu được xác định và những người sử dụng cơ sở dữ liệu nh́n thấy các khung nh́n này. Ngoài sự che dấu những chi tiết của mức logic đối với cơ sở dữ liệu này, các khung nh́n cũng cung cấp một cơ sở dữ liệu chế an toàn để ngăn chặn những người sử dụng khfi sự truy nhập các bộ phận dữ liệu. Ví dụ 1.8. Một khách hàng của một Ngân hàng chỉ nh́n thấy một phần cơ sở dữ liệu chứa thông tin về tài khoản của anh ta và anh ta không thể truy nhập đến các thông tin liên quan đến lương của các nhân viên Ngân hàng.

Các thể hiện và các sơ đồ

Các cơ sở dữ liệu thay đổi theo thời gian khi thông tin được thêm vào hay xóa

đi. Tập hợp các thông tin được lưu trữ trong cơ sở dữ liệu tại một thời điểm đặc biệt

gọi là một thể hiện của cơ sở dữ liệu sở dữ liệu. Một thiết kế tổng thể của cơ sở dữ

liệu gọi là sơ đồ cơ sở dữ liệu. Các sơ đồ ít khi bị thay đổi, thậm chí không thay đổi.

Tính độc lập dữ liệu

Khả năng thay đổi một định nghĩa sơ đồ trong một mức mà không ảnh hưởng đến định nghĩa sở đồ trong mức cao hơn tiếp theo gọi là tính độc lập dữ liệu. Có hai mức độc lập dữ liệu.

 

 

 

 

                                                                                                                                                 11

 

 

 

Phần 1: Nguyên lư các hệ quản trị cơ sở dữ liệu

Độc lập dữ liệu ở mức vật lư là khả năng thay đổi sơ đồ vật lư mà không den đến các chương tŕnh ứng dụng phải viết lại. Các thay đổi ở mức vật lư đôi khi là cần thiết để tăng hiệu năng hệ thống.

Độc lập dữ liệu ở mức logic là khả năng thay đổi sơ đồ logic mà không den đến các chương tŕnh ứng dụng phải viết lại. Các thay đổi tại mức logic là cần thiết bất kể khi nào cấu trúc logic của cơ sở dữ liệu bị sửa đổi. Chẳng hạn như khi các tài khoản được thêm vào hệ thống Ngân hàng.

Độc lập dữ liệu mức logic là khó đạt được hơn so với độc lập dữ liệu mức vật lư do các chương tŕnh ứng dụng phụ thuộc nhiều vào cấu trúc logic của dữ liệu mà họ đang truy nhập.

b. Các ngôn ngữ cơ sở dữ liệu

Một hệ cơ sở dữ liệu cung cấp hai kiểu ngôn ngữ khác nhau: Một ngôn ngữ đặc tả sơ đồ cơ sở dữ liệu và một ngôn ngữ biểu dixn các truy vấn và các cập nhật dữ liệu.

            Ngôn ngữ định nghĩa dữ liệu (Data Definition Language-DDL)

Một sơ đồ cơ sở dữ liệu đặc tả bởi một tập các định nghĩa được biểu dixn bởi một ngôn ngữ đặc biệt gọi là ngôn ngữ định nghĩa dữ liệu. Kết quả việc dịch các lệnh của ngôn ngữ này là một tập các bảng được lưu trữ trong một file đặc biệt gọi là từ điển dữ liệu ha thư mục dữ liệu.

Ngôn ngữ thao tác dữ liệu (Data Manipulation Language-DML)

Các mức trừu tượng mà chúng ta đă thảo luận trong phần trước không chỉ áp dụng đối với định nghĩa và cấu trúc dữ liệu mà đối với cả thao tác dữ liệu. Các yêu cầu thao tác dữ liệu bao gồm:

_ T́m kiếm thông tin được lưu trữ trong cơ sở dữ liệu. _ Thêm thông tin mới vào cơ sở dữ liệu.

_ Xóa thông tin từ cơ sở dữ liệu sở dữ liệu.

_ Thay đổi thông tin được lưu trữ trong cơ sở dữ liệu.

Một ngôn ngữ thao tác dữ liệu là một ngôn ngữ cho phép những người sử dụng truy nhập hay thao tác dữ liệu được tổ chức bởi một mô h́nh dữ liệu thích hợp. Có hai kiểu ngôn ngữ thao tác dữ liệu cơ sở dữ liệu bản.

Các DML thủ tục đ̣i hfi một người sử dụng phải đặc tả dữ liệu nào cần t́m kiếm và t́m kiếm những dữ liệu này như thế nào?

Các DML phi thủ tục đ̣i hfi một người sử dụng phải đặc tả dữ liệu nào cần t́m kiếm và t́m kiếm mà không phải đặc tả những dữ liệu này như thế nào?

 

 

                                                                                                                                                 12

 

 

 

Phần 1: Nguyên lư các hệ quản trị cơ sở dữ liệu

 

c. Xử lư câu hỏi

Công việc của bộ  xử lư câu hfi là biến đổi một truy vấn hay một thao tác cơ sở

dữ liệu được biểu dixn tại một mức rất cao (Ví dụ như biểu dixn bởi một DML nào

đó) thành một dăy các yêu cầu đối với các dữ liệu được lưu trữ trong cơ sở dữ liệu.

Thường phần khó nhất của nhiệm vụ xử lư câu hfi là tối ưu hóa câu hfi, có nghĩa là

lựa chọn một kế hoạch thực hiện tốt nhất hay lựa chọn một dăy các yêu cầu đối với hệ

thống lưu trữ để trả lời truy vấn này nhanh nhất. Các truy vấn phức tạp thường cho

phép chúng ta ssp xếp lại tŕnh tự các phép toán và có thể có một số lớn các kế hoạch

thực hiện có thể.

d. Quản trị giao dịch

Các hệ cơ sở dữ liệu cho phép người sử dụng nhóm một hay nhiều thao tác tra cứu hay thay đổi cơ sở dữ liệu thành một giao dịch.

Một giao dịch là tập hợp các thao tác mà được xử lư như một đơn vị không

chia cst được. Thông thường, một số thao tác trên cơ sở dữ liệu tạo thành một đơn vị

logic công việc. Ta hăy xét   ví   dụ   chuyển   khoản,   trong đó một số tiền x được

chuyển từ  tài khoản A (A:=A-x ) sang  một tài khoản B ( B:=B+x ).  Một yếu tố cần

thiết là cả hai thao tác này hoặc cùng xảy ra hoặc không hoạt động  nào xảy ra cả.

Việc chuyển khoản phải xảy ra trong tính toàn thể của nó hoặc không. Đ̣i hfi  toàn

thể-hoặc-không này được gọi là tính nguyên tử. Một yếu tố  cần thiết khác là sự thực

hiện việc chuyển khoản bảo tồn tính nhất quán của cơ sở dữ liệu: giá trị của tổng A +

B phải được bảo tồn.  Đ̣i  hfi  về  tính  chính  xác  này được  gọi  là  tính  nhất  quán.

Cuối cùng, sau khi thực hiện thành công hoạt động chuyển khoản, các giá trị của

account A và B phải bền vững  cho  dù có thể có sự cố của hệ thống. Đ̣i  hfi  về

tính  bền vững này được gọi là tính lâu bền. Sự đảm bảo tính chất này là trách nhiệm

của thành phần quản trị giao dịch. Nếu không có sự cố, tất cả giao dịch hoàn tất thành

công và tính nguyên tử được hoàn thành dx dàng. Tuy nhiên, do các sự cố, một giao

dịch có thể không hoàn tất thành công sự thực hiện của nó. Nếu tính nguyên tử được

đảm bảo, một giao dịch thất bại không gây hiệu quả đến trạng thái  của cơ sở dữ liệu.

Như vậy, cơ sở dữ liệu phải được hoàn lại trạng thái của nó trước khi giao dịch bst

đầu. Hệ cơ sở dữ liệu phải có trách nhiệm phát hiện sự cố hệ thống và trả lại  cơ sở

dữ  liệu về trạng thái  trước khi xảy ra sự cố.

Khi một số giao dịch cạnh tranh cập nhật cơ sở dữ liệu,  tính  nhất  quán  của dữ liệu có thể không  được  bảo  tồn,    ngay cả khi mỗi  giao  dịch  là  chính  xác. Bộ điều khiển cạnh tranh có trách nhiệm điều khiển các trao đổi giữa các giao dịch cạnh tranh để đảm bảo tính thống nhất của CSDL.

Thường một hệ cơ sở dữ liệu cho phép nhiều giao dịch thực hiện đồng thời.

e. Quản lư lưu trữ

 

 

 

                                                                                                                                                 13

 

 

 

Phần 1: Nguyên lư các hệ quản trị cơ sở dữ liệu

Các cơ sở dữ liệu thường đ̣i hfi một khối lượng lớn không gian lưu trữ. Các cơ sở dữ liệu hợp nhất thường được đo trong thuật ngữ gigatytes hay với các cơ sở dữ liệu lớn là terabytes. Do bộ nhớ chính của máy tính không thể lưu trữ nhiều thông tin như vậy, các thông tin này được lưu trữ trên các thiết bị nhớ ngoài.

Bộ quản lư lưu trữ là một Môđun chương tŕnh cung cấp giao diện giữa các dữ

liệu được lưu trữ trong cơ sở dữ liệu mức thấp và các chương tŕnh ứng dụng hay các

truy vấn được đệ tŕnh với hệ thống. Bộ quản lư lưu trữ có trách nhiệm tương tác với

bộ quản lư file. Dữ liệu thô được lưu trữ trên đĩa từ sử dụng hệ thống xử lư file thường

được cung cấp bởi một hệ điều hành nào đó. Bộ quản lư lưu trữ dịch các lệnh của

ngôn ngữ DML khác nhau thành các lệnh hệ thống xử lư file ở mức thấp nhất. Do

vậy, bộ quản lư lưu trữ có trách nhiệm lưu trữ, t́m kiếm và cập nhật dữ liệu trong cơ

sở dữ liệu này.

 

1.2.3. Kiến trúc của một hệ quản trị cơ sở dữ liệu

H́nh 1.3 chỉ ra các thành phần chủ yếu của một hệ quản trị cơ sở dữ liệu. Tại đáy của kiến trúc, chúng ta nh́n thấy một sự biểu dixn của thiết bị nhớ ngoài lưu trữ các dữ liệu và siêu dữ liệu. Chú ư rằng thành phần này chứa không chỉ các dữ liệu được lưu trữ trong cơ sở dữ liệu mà cả các siêu dữ liệu, tức là các thông tin về cấu trúc của cơ sở dữ liệu.

 

Các thay đổi sơ đồ                           Các truy vấn

 

 

Bộ xử lư câu hfi

 

 

Bộ quản lư lưu trữ

 

 

 

Dữ liệu

Siêu dữ liệu

 

Các thay đổi dữ liệu

 

 

 

 

Bộ quản trị giao

dịch

 

 

 

H́nh 1.3. Các thành phần chính của một hệ quản trị cơ sở dữ liệu

 

 

 

                                                                                                                                                 14

 

 

 

Phần 1: Nguyên lư các hệ quản trị cơ sở dữ liệu

Ví dụ 1.9. Nếu một hệ quản trị cơ sở dữ liệu là  hệ quản trị cơ sở dữ liệu quan hệ, các siêu dữ liêu bao gồm tên các quan hệ, tên các thuộc tính của các quan hệ và các kiểu dữ liệu đối với các thuộc tính này.

Trong h́nh 1.3, chúng ta thấy một bộ quản lư lưu trữ mà nhiệm vụ của nó là lấy ra các thông tin được yêu cầu từ những thiết bị lưu trữ dữ liệu và thay đổi những thông tin này khi được yêu cầu bởi các mức trên nó của hệ thống. Bộ xử lư câu hfi điều khiển không chỉ các câu hfi mà cả các yêu cầu thay đổi dữ liệu hay siêu dữ liệu. Nhiệm vụ của nó là t́m ra một cách tốt nhất một thao tác được yêu cầu và phát ra các lệnh đối với bộ phận quản lư lưu trữ để thực thi thao tác đó.

Thành phần bộ quản trị giao dịch có trách nhiệm đảm bảo tính toàn vkn của hệ

thống này. Nó phải đảm bảo rằng một số thao tác thực hiện đồng thời không cản trở

mỗi thao tác khác và hệ thống sẽ không mất dữ liệu thậm chí khi lỗi hệ thống xảy ra.

Nó tương tác với bộ xử lư câu hfi, do vậy nó phải biết dữ liệu nào được thao tác bởi

các thao tác hiện thời để tránh sự đụng độ các hành động và nó có thể cần thiết làm trx

một số truy vấn nhất định hay một số thao tác để các đụng độ này không xảy ra. Nó

tương tác với bộ phận quản lư lưu trữ bởi v́ các sơ đồ đối với việc bảo vệ dữ liệu

thường kéo theo việc lưu trữ một nhật kư các thay đổi đối với dữ liệu. Bởi việc ssp

thứ tự các thao tác một cách thực sự, nhật kư sẽ chứa một bản ghi đối với mỗi thay đổi

để sau khi gặp lỗi hệ thống, các thay đổi chưa được ghi vào đĩa có thể được thực hiện

lại.

Tại đỉnh kiến trúc, chúng ta nh́n thấy ba kiểu thao tác đối với hệ quản trị cơ sở dữ liệu này.

Các truy vấn: Đây là các thao tác hfi đáp về dữ liệu được lưu trữ trong cơ sở dữ liệu. Chúng được sinh ra theo hai cách khác nhau:

_ Thông qua một giao diện truy vấn chung. Ví dụ, một hệ quản trị cơ sở dữ liệu quan hệ cho phép người sử dụng đánh các truy vấn SQL mà nó được chuyển qua bộ xử lư câu hfi và được trả lời.

_ Thông qua các giao diện chương tŕnh ứng dụng. Một hệ quản trị cơ sở dữ

liệu điển h́nh cho phép những người lập tŕnh viết các chương tŕnh ứng dụng gọi đến

hệ quản trị cơ sở dữ liệu này và truy vấn cơ sở dữ liệu. Các truy vấn được đệ tŕnh

thông qua một giao diện đặc biệt có thể chứ các hộp đối thoại. Một người sử dụng

không thể hfi các câu hfi tùy ư thông qua giao diện này, nhưng nói chung sẽ dx dàng

 

 

 

                                                                                                                                                 15

 

 

 

Phần 1: Nguyên lư các hệ quản trị cơ sở dữ liệu

hơn đối với người sử dụng khi hfi một câu hfi thích hợp thông qua giao diện này so với việc phải viết một truy vấn trực tiếp bởi SQL.

Các cập nhật dữ liệu. Đây là các thao tác thay đổi dữ liệu, ví dụ thêm, xóa, sửa

đổi dữ liệu trong cơ sở dữ liệu. Giống như các truy vấn, chúng có thể được phát ra

hoặc thông qua một giao diện chung hoặc thông qua giao diện của một chương tŕnh

ứng dụng.

Các thay đổi sơ đồ. Các lệnh này thường được phát ra bởi một người sử dụng được cấp phép, thường là những người quản trị cơ sở dữ liệu mới được phép thay đổi sơ đồ của cơ sở dữ liệu hay tạo lập một cơ sở dữ liệu mới.

1.2.4. Người quản trị cơ sở dữ liệu

Một trong những lư do chính đối với việc sử dụng các hệ quản trị cơ sở dữ liệu

là có một sự điều khiển tập trung cả dữ liệu và các chương tŕnh truy nhập dữ liệu này.

Một con người có trách nhiệm điều khiển một cách tập trung toàn bộ hệ thống được

gọi là người quản trị cơ sở dữ liệu. Các nhiệm vụ của người quản trị cơ sở dữ liệu này

bao gồm:

_ Định nghĩa sơ đồ

Người quản trị cơ sở dữ liệu tạo lập các sơ đồ cơ sở dữ liệu gốc bằng cách viết

một tập các định nghĩa môt tả các cấu trúc dữ liệu mà chúng được dịch bởi bộ dịc

DDL thành một tập các bảng được lưu trữ một cách lâu dài trong từ điển dữ liệu.

_ Xác định cấu trúc lưu trữ và phương pháp truy nhập

Người quản trị cơ sở dữ liệu tạo lập các cấu trúc lưu trữ và phương pháp truy nhập thích hợp bằng cách viết một tập các định nghĩa mà chúng được dịch bởi bộ dịch ngôn ngữ định nghĩa dữ liệu và lưu trữ dữ liệu.

_ Tuyên bố ủy quyền và truy nhập dữ liệu

Việc tuyên bố các kiểu ủy quyền khác nhau cho phép người quản trị cơ sở dữ liệu qui định những bộ phận nào của cơ sở dữ liệu những người sử dụng khác nhau có thể truy nhập. Những thông tin ủy quyền này được cất giữ trong một cấu trúc hệ thống đặc biệt mà có thể được tra cứu bởi hệ cơ sở dữ liệu bất cứ khi nào một truy nhập dữ liệu định đi vào hệ thống.

_ Đặc tả các ràng buộc toàn vẹn

Các giá trị dữ liệu được lưu trữ trong cơ sở dữ liệu thường phải thfa măn

những ràng buộc toàn vkn nhất định. Ví dụ, chẳng hạn số giờ làm việc của một nhân

 

 

                                                                                                                                                 16

 

 

 

Phần 1: Nguyên lư các hệ quản trị cơ sở dữ liệu

viên trong một tuần không được vượt quá 80giờ. Một ràng buộc như vậy phải được đặc tả một cách tường minh bởi người quản trị cơ sở dữ liệu. Các ràng buộc toàn vkn này được cất giữ trong một cấu trúc hệ thống đặc biệt mà có thể được tra cứu bởi hệ cơ sở dữ liệu bất cứ khi nào một cập nhật dữ liệu xảy ra trong hệ thống.

1.2.5.  Người sử dụng cơ sở dữ liệu

Mục đích chính của một hệ cơ sở dữ liệu là cung cấp một môi trường đối với t́m kiếm thông tin từ cơ sở dữ liệu và lưu trữ những thông tin mới vào cơ sở dữ liệu. Có ba nhóm người sử dụng khác nhau được phân biệt bởi cách họ mong muốn tương tác với hệ thống.

_ Người lập tŕnh ứng dụng

Đây là những người chuyên nghiệp về máy tính tương tác với hệ thống thông qua các lời gọi DML mà được nhúng trong một chương tŕnh được viết bởi ngôn ngữ chủ. Các chương tŕnh này được gọi chugn là các chương tŕnh ứng dụng.

Do cú pháp của DML thường được biểu thị khác với cú pháp của ngôn ngữ chủ, các lời gọi DML thường được bst đầu bằng một kư hiệu đặc biệt sao cho đoạn mă tương ứng có thể được sản sinh. Một bộ tiền xử lư đặc biệt gọi là bộ tiền dịch DML, biến đổi các chỉ thị DML thành các lời gọi thủ tục chu n trong ngôn ngữ chủ. Chương tŕnh kết quả sau đó được chạy thông qua chương tŕnh dịch ngôn ngữ chủ mà nó sinh ra đoạn mă đích tương ứng.

_ Người phân tích dữ liệu

Đây là những người sử dụng tương tác với hệ thống không thông qua các chương

tŕnh ứng dụng. Thực chất họ phát biểu các yêu cầu của họ bởi một ngôn ngữ truy vấn

dữ liệu. Mỗi truy vấn như vậy được đệ tŕnh đối với bộ xử lư câu hfi mà nhiệm vụ của

nó là phân tách chỉ thị DML thành các lệnh mà bộ quản lư lưu trữ có thể hiểu được.

Các nhà phân tích đệ tŕnh các truy vấn để khai thác dữ liệu được xếp vào nhóm người

sử dụng này.

_ Người sử dụng đầu cuối

Đây là những người sử dụng b́nh thường tương tác với hệ thống bởi việc thực hiện một trong các chương tŕnh ứng dụng có sgn được viết từ trước.

1.3.  Sự phân loại các hệ cơ sở dữ liệu

Trong thực tế, tuỳ theo qui mô để người sử dụng có thể phát triển một hệ cơ sở dữ liệu nhf hoặc lớn.

 

                                                                                                                                                 17

 

 

 

Phần 1: Nguyên lư các hệ quản trị cơ sở dữ liệu

 

Có hai loại kiến trúc hệ cơ sở dữ liệu: tập trung và phân tán.

1.3.1. Các hệ cơ sở dữ liệu tập trung

Với một hệ cơ sở dữ liệu tập trung, tập tất cả các dữ liệu được định vị tại một trạm đơn lẻ. Những người sử dụng tại các trạm từ xa nói chung có thể truy nhập cơ sở dữ liệu thông qua các công cụ truyền thông dữ liệu.

a. Hệ cơ sở dữ liệu cá nhân

Các hệ cơ sở dữ liệu cá nhân thường một người sử dụng đơn lẻ mà họ vừa thiết kế và tạo lập cơ sở dữ liệu, vừa cập nhật cơ sở dữ liệu và bảo tŕ cơ sở dữ liệu. Nói cách khác, họ là vừa người quản trị cơ sở dữ liệu đồng thời là người viết chương tŕnh, đồng thời cũng là người sử dụng cuối của hệ.

 

__

 

 

 

Cơ sở dữ liệu

 

 

H́nh 1.4. Hệ cơ sở dữ liệu cá nhân

b. Hệ cơ sở dữ liệu sở dữ liệu trung tâm

_   _

 

_   _

_   _

 

 

 

 

Cơ sở dữ liệu

 

 

H́nh 1.5. Hệ cơ sở dữ liệu trung tâm

 

 

 

                                                                                                                                                 18

 

 

 

Phần 1: Nguyên lư các hệ quản trị cơ sở dữ liệu

Trong các tổ chức lớn, dữ liệu mà hầu hết các ứng dụng có thể truy nhập được lưu trữ trên một máy tính trung tâm. Trong nhiều hệ thống, những người sử dụng từ xa có thể truy nhập cơ sở dữ liệu này thông qua các thiết bị đầu cuối và các móc nối truyền dữ liệu. Tuỳ thuộc vào qui mô tổ chức, máy tính trung tâm này thường là một dàn hay một máy vi tính. Các hệ cơ sở dữ liệu trung tâm thường lưu trữ các cơ sở dữ liệu tích hợp rất lớn và được nhiều người sử dụng truy nhập. Các ứng dụng điển h́nh như hệ thống bán vé máy bay, hệ thống tàu hoả...

c. Hệ cơ sở dữ liệu khách/chủ

Một kiến trúc khách/chủ được thiết kế với sự phân tải công việc trên một mạng

máy tính trong đó các máy khách có thể chia sẽ các dịch vụ của một máy chủ đơn lẻ.

Một máy chủ là một ứng dụng phần mềm cung cấp các dịch vụ quản lư  file hay cơ sở

dữ liệu, quản lư truyền thông....đối với các máy khách đang yêu cầu. Một máy khách

là một ứng dụng phần mềm yêu cầu các dịch vụ từ một hay nhiều máy chủ. Thông

thường, ứng dụng máy chủ (máy chủ cơ sở dữ liệu ) được định vị trên một máy tính

riêng trong mạng cục bộ.

Mục đích chính của một kiến trúc khách/chủ là cho phép các ứng dụng máy khách truy nhập dữ liệu được quản lư bởi máy chủ. Giao diện người sử dụng và logic của ứng dụng kinh doanh được xử lư trên máy khách, trong khi sử lư cơ sở dữ liệu được thực hiện trên máy chủ cơ sở dữ liệu.

_

 

 

 

 

 

_

 

 

 

 

Mạng cục bộ

 

 

 

 

_

 

__

 

 

 

 

Cơ sở dữ liệu

 

 

 

 

 

 

 

 

H́nh 1.6. Hệ cơ sở dữ liệu khách/chủ

 

 

                                                                                                                                                 19

 

 

Phần 1: Nguyên lư các hệ quản trị cơ sở dữ liệu

 

1.3.2. Các hệ cơ sở dữ liệu phân tán

Ngày nay, nhiều tổ chức phân bố trên nhiều vị trí địa lư khác nhau như các thành phố khác nhau hay các quốc gia khác nhau. Trong những trường hợp như vậy, việc xây dựng các hệ cơ sở dữ liệu tập trung đối với các tổ chức này thường là không thực tế và không kinh tế.

Một cơ sở dữ liệu phân tán là một cơ sở dữ liệu logic đơn lẻ mà được trải ra về mặt vật lư trên nhiều máy tính ở nhiều vị trí địa lư khác nhau. Có hai kiểu chung nhất của các hệ cơ sở dữ liệu phân tán là: hệ cơ sở dữ liệu phân tán thuần nhất và hệ cơ sở dữ liệu phân tán không thuần nhất.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

H́nh 1.7. Các hệ cơ sở dữ liệu phân tán

 

 

 

 

                                                                                                                                                 20

 

 

 

Phần 1: Nguyên lư các hệ quản trị cơ sở dữ liệu

 

a. Hệ cơ sở dữ liệu phân tán thuần nhất

Khi áp dụng đối với các hệ cơ sở dữ liệu, thuật ngữ thuần nhất có nghĩa là công nghệ cơ sở dữ liệu là như nhau (hay ít nhất có thể tương thích) tại mỗi vị trí địa lư khác nhau cũng có thể tương thích.

Trong h́nh trên, cơ sở dữ liệu của hệ được phân tán trên ba nút (hay ba vị trí

địa lư). Đối với các hệ cơ sở dữ liệu phân tán thuần nhất này, các điều kiện sau đây có

thể tồn tại:

_ Các hệ điều hành máy tính tại mỗi vị trí địa lư là như nhau hay ít nhất chúng có khả năng tương thích cao.

_ Các mô h́nh dữ liệu được sử dụng tại mỗi vị trí địa lư là như nhau.

_ Các hệ quản trị cơ sở dữ liệu được sử dụng tại mỗi vị trí địa lư là như nhau hay ít nhất chúng có khả năng tương thích cao.

_ Dữ liệu tại các vị trí khác nhau có các định nghĩa và khuôn dạng chung.

Các hệ cơ sở dữ liệu phân tán thuần nhất đơn giản hoá việc chia sẻ dữ liệu giữa những người sử dụng khác nhau.

 

b. Hệ cơ sở dữ liệu phân tán không thuần nhất

Trong hầu hết các tổ chức, các hệ cơ sở dữ liệu liên quan đến một chu kỳ dài không được chỉ đạo và lập kế hoạch c n thận. Các máy tính  khác nhau và các hệ điều hành khác nhau có thể được sử dụng tại mỗi vị trí địa lư. Các mô h́nh dữ liệu khác nhau và các hệ quản tri cơ sở dữ liệu khác nhau cũng có thể được lựa chọn sử dụng. Ví dụ, một vị trí có thể sử dụng công nghệ cơ sở dữ liệu quan hệ mới nhất, trong khi một vị trí khác có thể lưu trữ dữ liệu sử dụng các file truyền thống hay các cơ sở dữ liệu mạng, phân cấp cũ hơn.

Phức tạp hơn nữa, dữ liệu trên các vị trí thường không tương thích. Các mâu thuen điển h́nh bao gồm các khác biệt về cú pháp (sự biểu dixn khác nhau của các khoản mục dữ liệu tại hai vị trí) và các khác biệt về ngữ nghĩa.

 

 

 

 

 

 

 

 

 

 

                                                                                                                                                 21

 

 

 

Phần 1: Nguyên lư các hệ quản trị cơ sở dữ liệu

 

Câu hỏi

 

1. Nêu và phân tích các điểm khác nhau chính giữa một hệ thống xử lư file và một hệ quản trị CSDL là ǵ ?

2. Liệt kê các nhiệm vụ của nhà quản trị CSDL. Đối với mỗi nhiệm vụ, giải thích rơ những vấn đề nảy sinh nếu nhiệm vụ đó không được hoàn thành.

3. Sử dụng một mảng hai chiều kích c‚ n x m như một ví dụ để minh hoạ sự khác

nhau:

a. Giữa ba mức trừu tượng dữ liệu

b. Giữa sơ đồ và thể hiện

4. Trong các hệ thống client-server tiêu biểu, máy server thường mạnh hơn máy client

rất nhiều: Có bộ xử lư nhanh hơn thậm chí có thể có nhiều bộ xử lư, có bộ nhớ lớn

hơn, có dung lượng đĩa lớn hơn.  Ta xét một kịch bản trong đó các máy client và các

máy server là mạnh như nhau. Xây dựng một hệ thống client-server theo kịch bản như

vậy có ưu nhược điểm ǵ ? Kịch bản nào phù hợp hơn với kiến trúc server dữ liệu ?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                                                                                                                                 22

 

 

 

Phần 1: Nguyên lư các hệ quản trị cơ sở dữ liệu

 

Chương 2

CÁC MÔ H̀NH DỮ LIỆU

 

Quá tŕnh thiết kế một cơ sở dữ liệu bắt đầu với một sự phân tích những thông

tin nào của thế giới thực cơ sở dữ liệu phải lưu trữ và các mối quan hệ giữa các thành

phần của những thông tin này. Thông thường cấu trúc cơ sở dữ liệu hay c̣n gọi là sơ

đồ cơ sở dữ liệu được đặc tả bởi một ngôn ngữ đặc biệt hay một tập các kư hiệu thích

hợp để biểu thị một thiết kế cơ sở dữ liệu. Mô h́nh dữ liệu là một h́nh thức toán học

với một tập các kư hiệu được mô tả dữ liệu và một tập các phép toán được sử dụng để

thao tác dữ liệu này. Có nhiều loại mô h́nh dữ liệu như: mô h́nh mối quan hệ thực

thể (Entity Relationship Model), mô h́nh quan hệ (Relational Model), mô h́nh mạng

(Network Model),…tuy nhiên không thể nói mô h́nh nào là tốt nhất cho các hệ thống

cơ sở dữ liệu mà tuỳ theo đặc thù của các loại dữ liệu, tuỳ theo yêu cầu của các phép

xử lư mà chúng ta có thể chọn mô h́nh cơ sở dữ liệu thích hợp.

2.1. Mô h́nh thực thể liên kết

Mô h́nh thực thể liên kết (Mô h́nh ER) dựa trên cơ sở nhận thức của thế giới thực bao gồm tập các đối tượng cơ sở được gọi là các thực thể và một tập các liên kết giữa các đối tượng này. Mô h́nh dữ liệu ER là một trong các mô h́nh dữ liệu ngữ nghĩa. Khía cạnh ngữ nghĩa của mô h́nh ở chổ cố gắng biểu diễn các ngữ nghĩa của dữ liệu trong thế giới thực.

2.1.1. Các khái niệm cơ sở

Có 3 kư hiệu cơ bản mà mô h́nh thực thể liên kết sử dụng: Các tập thực thể, các tập liên kết và các thuộc tính.

a. Các tập thực thể.

Một thực thể là một đối tượng cụ thể hay trừu tượng trong thế giới thực mà nó tồn tại và có thể phân biệt được với các đối tượng khác. Chẳng hạn như một sinh viên trong một lớp học là một thực thể. Một nhóm các thực thể giống nhau tạo thành một tập thực thể. Ví dụ như tập thực thể sinh viên.

b. Các thuộc tính và khoá

Các tập thực thể có các đặc tính được gọi là các thuộc tính. Mỗi thuộc tính có một miền giá trị.

 

 

 

                                                                                                                                                  23

 

 

 

Phần 1: Nguyên lư các hệ quản trị cơ sở dữ liệu

Việc lựa chọn các thuộc tính thích đáng đối với các tập thực thể là một bước

quan trọng trong việc thiết kế sơ đồ cơ sở dữ liệu khái niệm.

            Mỗi thuộc tính hay một tập các thuộc tính mà giá trị của nó xác định duy nhất

mỗi thực thể trong tập thực thể được gọi là khoá đối với tập thực thể này. Về nguyên

tắc, mỗi tập thực thể có một khoá do chúng ta giả định rằng mỗi thực thể là phân biệt

với các thực thể khác.

Ví dụ 2.1. Tập thực thể sinh viên trong một trường Đại học, khi đó có thể sử dụng MASV (mă số sinh viên) là một khoá.

c. Các liên kết

Một liên kết là một sự kết hợp giữa một số thực thể. Chẳng hạn, có thể xác

định một liên kết mà nó kết hợp một sinh viên A với một lớp B. Liên kết này nói rằng

sinh viên A là một thành viên của lớp B. Một tập liên kết là một tập các liên kết cùng

kiểu.

Một cách h́nh thức, một liên kết giữa các tập thực thể là một danh sách có thứ

tự các tập thực thể, một tập thực thể có thể xuất hiện nhiều hơn một lần trong danh

sách.

Nếu có một liên kết R giữa các tập thực thể E1, E2, …Ek th́ một thể hiện của R là một tập các k-bộ. Chúng ta gọi một tập như vậy là tập các liên kết. Mỗi k-bộ (e1, e2, ..ek) trong tập liên kết R với ei là một thể hiện Ei là một thể hiện của R.

d. Các phân cấp “is-a”

Chúng ta nói A là-một B, nếu tập thực thể B thực sự là tổng quát hoá của tập

thực thể A, hay nói một cách khác A là một kiểu đặc biệt của B. Mục đích của các

liên kết “là-một” giữa các tập thực thể A và B là như vậy A có thể kế thừa các thuộc

tính của B, nhưng A cũng có thể bổ sung thêm một số thuộc tính riêng mà B không

có.

Ví dụ 2.2. Một trường Đại học có tập thực thể Sinh viên với các thuộc tính như Mă

sinh viên, Tên sinh viên, quê quán. Nếu chúng ta xét tập thực thể sinh viên Khoa CNT

trong tập thực thể Sinh viên trên th́ những sinh viên này có thêm các thuộc tính Khả

năng lập tŕnh, Thiết kế Web…… Như vậy ta nói Sinh viên CNTT “là-một” Sinh

viên.

2.1.2. Sơ đồ thực thể liên kết (sơ đồ ER)

Việc tóm tắt những thông tin cần lưu trữ trong một cơ sở dữ liệu đối với một

thiết kế sử dụng các sơ đồ ER là rất có ích. Trong sơ đồ ER, chúng ta sử dụng các kư

 

 

                                                                                                                                                  24

 

 

 

Phần 1: Nguyên lư các hệ quản trị cơ sở dữ liệu

 

hiệu sau để biểu diễn các thành phần của sơ đồ:

- Các h́nh chữ nhật biểu diễn các tập thực thể.

- Các h́nh Oval biểu diễn các thuộc tính, chúng được nối đến với các tập thực

thể bởi các cạnh không định hướng. Có thể gạch chân đối với thuộc tính khoá của tập

thực thể.

- Các h́nh thoi biểu diễn các liên kết. Chúng được nối đến các tập thực thể bởi các cạnh có thể định hướng hoặc không định hướng.

Ví dụ

Số ĐVHT

Mă SV

 

 

Sinh viên

 

 

Ngàysinh                                 Họ SV

Tên SV

 

2.1.3. Chức năng của các liên kết

 

 

Điểm thi

 

 

Mă MH

Lần                            Điểm

 

 

Môn học

 

 

Tên MH

 

Để mô h́nh hoá thế giới thực một cách thích hợp, người ta cần phân loại các liên kết phù hợp với thực tế có bao nhiêu thực thể từ một tập thực thể có thể kết hợp với bao nhiêu thực thể của tập thực thể khác.

a. Liên kết một-một

Có nghĩa là với mỗi thực thể trong tập thực thể này có nhiều nhất mỗi thực thể trong tập thực thể kia và ngược lại.

b. Liên kết một-nhiều

Trong liên kết một-nhiều, một thực thể trong tập thực thể E1 được kết hợp với không hoặc nhiều thực thể trong tập thực thể E2, nhưng một thực thể trong tập thực thể E2 liên kết với duy nhất với một thực thể trong tập thực thể E1. Liên kết này được gọi là một-nhiều từ E1 đến E2.

Khái niệm liên kết một-nhiều có thể được tổng quát hoá thành các liên kết giữa nhiều hơn hai tập thực thể.

c. Liên kết nhiều-nhiều

Trong liên kết nhiều-nhiều, một thực thể trong tập thực thể E1 được kết hợp với không hoặc nhiều thực thể trong tập thực thể E2 và ngược lại một thực thể trong tập thực thể E2 liên kết với không hoặc thực thể trong tập thực thể E1.

 

 

 

                                                                                                                                                  25

 

 

 

Phần 1: Nguyên lư các hệ quản trị cơ sở dữ liệu

Trong khi các liên kết nhiều-nhiều xuất hiện khá thường xuyên trong thực tế, chúng ta phải xem xét các liên kết này được biểu thị như thế nào trong sơ đồ khái niệm của cơ sở dữ liệu thực sự. Nhiều mô h́nh dữ liệu không cho phép biểu thị trực tiếp các liên kết nhiều-nhiều, thay vào đó đ̣i hỏi chúng phải được biến đổi thành một số liên kết một-nhiều bởi một số kỹ thuật nào đó.

d. Xác định kiểu liên kết trong các sơ đồ ER

Nếu R là liên kết một-một giữa tập thực thể A và tập thực thể B, chúng ta vẽ các mũi tên từ R đến cả A và B.

 

 

 

A                            R                           B

 

Nếu R là liên kết nhiều-nhiều giữa tập thực thể A và tập thực thể B, chúng ta vẽ các cạnh không định hướng từ R đến cả A và B.

 

A                            R                           B

 

Nếu R là liên kết một-nhiều giữa tập thực thể A và tập thực thể B, chúng ta vẽ mũi tên từ R đến A và cạnh không định hướng từ R đến B.

 

A                            R                           B

 

2.2. Mô h́nh dữ liệu quan hệ

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

a. Quan hệ

Định nghĩa 2.1. Cho D1, D2, ….,Dn là n miền giá trị, r là một quan hệ trên các miền D1, D2,….,Dn nếu r là một tập con nào đó các n-bộ được sắp có dạng (d1, d2,….dn) sao cho di∈Di với i = 1..n.

Dễ dàng nhận thấy theo định nghĩa, một quan hệ r trên các miền D1, D2, ….,Dn chính là một tập con của tích Đề-các n miền đó.

Rơ ràng, một quan hệ được biểu diễn dưới dạng một bảng, mỗi ḍng biểu diễn một bộ của quan hệ.

 

 

                                                                                                                                                  26

 

 

 

Phần 1: Nguyên lư các hệ quản trị cơ sở dữ liệu

Để dễ dàng tham chiếu đến các thành phần của các bộ mà không cần biết thứ tự của thành phần trong các bộ được sắp, người ta thường đặt tên cho các thành phần. Chúng ta gọi tên của một thành phần là một thuộc tính.

Định nghĩa 2.2. Cho U ={A1, A2,….An} là một tập hữu hạn các thuộc tính. Với mỗi thuộc tính Ai có miền giá trị tương ứng là Dom(Ai). Khi đó, r là quan hệ xác định trên tập thuộc tính U nếu: r ⊆ Dom(A1) × Dom(A2) × ……. ×Dom(An)

b. Khoá và siêu khoá

Định nghĩa 2.3. Cho r xác định trên tập thuộc tính U với U ={A1, A2,….An}. Một tập con K ⊆ U được gọi là siêu khoá của quan hệ r nếu với bất kỳ hai bộ t1, t2 thuộc r, t1 ≠ t2, đều tồn tại một thuộc tính A thuộc K sao cho t1[A] ≠ t2[A].

Theo định nghĩa, nếu K là siêu khoá của một quan hệ th́ không tồn tại hai bộ thuộc quan hệ khác nhau mà có giá trị bằng nhau trên mọi thuộc tính của K. Do đó, giá trị của K xác định duy nhất một bộ của quan hệ.

Định nghĩa 2.4. Cho r xác định trên tập thuộc tính U với U ={A1, A2,….An}. Một tập con K ⊆ U được gọi là khoá của quan hệ r nếu K là siêu khoá của r và bất kỳ tập con thật sự K’ của K không là siêu khoá.

Trong một quan hệ có thể có nhiều khoá, người ta chọn một khoá làm khoá chính, các khoá khác được xem là khoá dự tuyển.

Định nghĩa 2.5. Một tập con K ⊆ U được gọi là khoá ngoài của quan hệ r xác định

trên tập thuộc tính U tham chiếu đến quan hệ r’ nếu K là khoá chính của quan hệ r’.

2.2.2. Biến đổi các sơ đồ ER sang mô h́nh quan hệ

a. Biến đổi các tập thực thể

Một tập thực thể E được biến đổi thành một quan hệ mà sơ đồ quan hệ của nó bao gồm các thuộc tính của tập thực thể. Mỗi bộ của quan hệ biểu diễn một thực thể trong thể hiện hiện thời của E.

Nếu E là một tập thực thể mà các thực thể của nó xác định thông qua một liên kết với một tập thực thể F nào đó th́ sơ đồ quan hệ tương ứng với E chỉ chứa các thuộc tính trong khoá của F.

b. Biến đổi các liên kết

Một liên kết R giữa các tập thực thể E1, E2, ….Ek được biến đổi thành một

quan hệ mà sơ đồ quan hệ của nó bao gồm các thuộc tính trong khoá của mỗi E1, E2,

….Ek.

c. Các khoá của các sơ đồ quan hệ

 

                                                                                                                                                  27

 

 

 

Phần 1: Nguyên lư các hệ quản trị cơ sở dữ liệu

Nếu một sơ đồ quan hệ được biến đổi từ một tập thực thể, khoá của tập thực thể chính là khoá của sơ đồ quan hệ.

Nếu một sơ đồ quan hệ được biến đổi từ một liên kết nhiều-nhiều th́ khoá của sơ đồ quan hệ thường là tập tất cả các thuộc tính.

Nếu một sơ đồ quan hệ được biến đổi từ một liên kết một-một giữa hai tập thực thể E và F th́ khoá của E và khoá của F cả hai đều là khoá của sơ đồ quan hệ biểu diễn liên kết này.

Nếu một sơ đồ quan hệ được biến đổi từ một liên kết một-nhiều từ Ek vào Ek-1, ….E1 th́ tập các thuộc tính là hợp của các khoá của Ek-1, ….E1 thường là khoá của sơ đồ quan hệ này.

d. Các sơ đồ quan hệ với khoá chung

Khi hai sơ đồ quan hệ có khoá chung chúng ta có thể tổ hợp các thuộc tính của hai sơ đồ quan hệ và thay thế hai sơ đồ quan hệ này bởi một sơ đồ quan hệ mới với tập thuộc tính là hợp của hai tập thuộc tính của hai sơ đồ quan hệ ban đầu.

2.3. Mô h́nh dữ liệu mạng

Mô h́nh dữ liệu mạng là một mô h́nh sơ đồ thực thể liên kết với tất cả các liên

kết được hạn chế là liên kết một-nhiều. Hạn chế này cho phép chúng ta sử dụng đồ thị

có hướng đơn giản để biểu diễn dữ liệu trong mô h́nh này. Trong mô h́nh mạng, các

tập thực thể được chuyển thành các kiểu bản ghi logic. Các kiểu bản ghi logic bao

gồm một tập các trường, mỗi trường chứa giá trị là một số nguyên hay một xâu kư

tự…Tập tên các trường và các kiểu của chúng cấu thành qui cách bản ghi logic.

2.3.1. Định danh bản ghi

Có thể có một sự tương tự gần gũi giữa các thuật ngữ của mô h́nh mạng và các thuật ngữ trong mô h́nh quan hệ như sau:

Qui cách bản ghi logic                                             Sơ đồ quan hệ

Bản ghi logic                                                             Bộ

Kiểu bản ghi                                                              Tên quan hệ

Tuy nhiên, có một sự khác biệt quan trọng giữa các bộ của quan hệ và các bản ghi của

kiểu bản ghi. Trong mô h́nh quan hệ hướng giá trị, các bộ chính là các giá trị đối với

các thành phần của bộ. Hai bộ có cùng giá trị trên các thuộc tính được xem là như

nhau. Mặt khác, mô h́nh mạng là mô h́nh hướng đối tượng. Các bản ghi của mô h́nh

mạng có thể được quan sát như có một khoá ẩn mà thực chất là địa chỉ bản ghi hay

 

 

                                                                                                                                                  28

 

 

 

Phần 1: Nguyên lư các hệ quản trị cơ sở dữ liệu

định danh của đối tượng được biểu diễn bởi bản ghi. Định danh đối tượng duy nhất này phục vụ cho việc phân biệt các bản ghi.

2.3.2. Các móc nối

Trong mô h́nh mạng, các liên kết hai ngôi một-nhiều được gọi là các móc nối. Chúng ta vẽ một đồ thị có hướng được gọi là một mạng mà thực chất là một sơ đồ thực thể liên kết đơn giản hoá để biểu diễn các kiểu bản ghi và các móc nối của chúng. Các nút tương ứng với các kiểu bản ghi, nếu có một móc nối giữa hai kiểu bản ghi T1 đến T2 và móc nối này là một-nhiều từ T1 đến T2 th́ chúng ta vẽ một cung từ nút T2 đến T1 và nói rằng móc nối này từ T2 đến T1. Các nút và các cung được gán nhăn bởi tên của các kiểu bản ghi và tên của móc nối.

2.4. Mô h́nh dữ liệu phân cấp

Một mô h́nh phân cấp đơn giản là một mô h́nh mạng mà là một rừng (tập các cây) trong đó tất cả các móc nối trỏ theo hướng từ con đến cha.

2.4.1. Thuật toán biến đổi mô h́nh mạng đơn giản

Chúng ta bắt đầu tại một nút có nhiều móc nối đi vào và không có móc nối đi ra và đặt nó là gốc của cây. Chúng ta gắn vào cây mọi nút có thể gắn. Khi chúng ta không thể thêm một nút nào khác vào cây đó, ta sẽ bắt đầu với một cây khác, một nút cha chưa được gắn sẽ được chọn làm nút gốc và gắn mọi nút vào cây mà chúng ta có thể. Thực tế, mỗi nút có thể xuất hiện trong rừng này một hay nhiều lần trên các cây khác nhau. Đến đây chúng ta đă có một mô h́nh phân cấp.

2.4.2. Sự lặp lại các kiểu bản ghi

Chúng ta có thể thấy việc biến đổi mô h́nh mạng đôi khi có những bản ghi có thể xuất hiện nhiều hơn một lần. Sự lặp lại này gây ra một số vấn đề như sau:

            Chúng ta lăng phí không gian bộ nhớ v́ chúng ta phải lưu trữ lặp lại dữ liệu

trong các bản ghi này một số lần.

Tính không nhất quán tiềm tàng có thể xuất hiện nếu chúng ta thay đổi giá trị trong một bản sao nào đó của một bản ghi nhưng lại quên không thay đổi giá trị của bản sao khác.

Việc khắc phục phục và tránh những vấn đề nảy sinh ở trên mà nguyên nhân chính là sự lưu trữ lặp lại một số dữ liệu trong cơ sở dữ liệu là một mục tiêu quan trọng của vấn đề thiết kế cơ sở dữ liệu.

 

 

 

                                                                                                                                                  29

 

 

 

Phần 1: Nguyên lư các hệ quản trị cơ sở dữ liệu

 

2.5. Mô h́nh dữ liệu hướng đối tượng

Hiện nay, có một số lớn các đề nghị và một số cài đặt của các mô h́nh dữ liệu có khả năng nắm bắt bản chất của các ngôn ngữ truy vấn hướng đối tượng. Các mô h́nh này được lấy các tên gọi khác nhau như mô h́nh dữ liệu ngữ nghĩa, mô h́nh dữ liệu chức năng. Đặc điểm chung của các mô h́nh này là chúng hỗ trợ:

Định danh đối tượng. Mỗi thực thể trong thế giới thực được mô h́nh hoá vào trong cơ sở dữ liệu được gọi là một đối tượng. Mỗi một đối tượng được xác định duy nhất bởi định danh đối tượng. Định danh đối tượng do hệ thống sinh ra và được quản lư bởi hệ thống.

Các đối tượng phức tạp. Một cách điển h́nh, các mô h́nh này cho phép cấu

trúc các kiểu dữ liệu mới từ các kiểu dữ liệu đă có bởi cấu trúc bộ và cấu trúc tập.

            Sự phân cấp kiểu. Chúng cho phép có các kiểu con với các tính chất đặc biệt

riêng của nó.

Tiếp theo chúng ta sẽ đi t́m hiểu một số khái niệm cơ bản trong mô h́nh dữ liệu hướng đối tượng.

2.5.1. Cấu trúc đối tượng

Tập các cấu trúc đối tượng có thể định nghĩa trong mô h́nh của chúng ta là rất gần với tập các sơ đồ có thể của các cơ sở dữ liệu trong mô h́nh phân cấp. Chúng ta có thể định nghĩa một tập các kiểu đối tượng cho phép cùng với sự cài đặt vật lư dự định của chúng một cách đệ qui như sau:

Kiểu dữ liệu nguyên tố, có nghĩa là số nguyên, số thực hay chuỗi kư tự có độ dài cố định hay độ dài thay đổi, là một kiểu đối tượng.

Nếu T là một kiểu đối tượng th́ SETOF(T) cũng là một kiểu đối tượng. Một đối tượng có kiểu là SETOF(T) là một tập hợp các đối tượng có kiểu T. Do vậy, SETOF(T) c̣n được gọi là kiểu tập.

Nếu T1, T2…., Tk là các kiểu đối tượng th́ TUPLEOF(T1, T2, ..Tk) là một kiểu đối tượng. Một kiểu đối tượng này là một k-bộ, trong đó thành phần thứ i của k-bộ có kiểu Ti. Do vậy, TUPLEOF(T1, T2, ..Tk) c̣n được gọi là kiểu bộ.

2.5.2. Các lớp và các phương thức

Một mô h́nh dữ liệu hướng đối tượng không bị hạn chế đối với kư hiệu của

kiểu đối tượng. Kư hiệu cơ sở thực sự là lớp mà nó là một kiểu đối tượng và một tập

 

 

 

                                                                                                                                                  30

 

 

 

Phần 1: Nguyên lư các hệ quản trị cơ sở dữ liệu

các phương thức hay các thao tác được thực hiện trên các đối tượng với cấu trúc đối tượng của lớp này.

2.5.3. Sự phân cấp lớp

Một thành phần chủ yếu khác trong mô h́nh dữ liệu hướng đối tượng là kư

hiệu của các lớp con và sự phân cấp giữa các lớp, một sự h́nh thức hoá của các liê kết

“là-một”.

Giả sử chúng ta có một lớp C và chúng ta muốn định nghĩa một lớp con D. Chúng ta bắt đầu với cùng cấu trúc đối tượng với lớp con D như đối với lớp C và với cùng tập các phương thức đối với lớp con D như đối với lớp C. Sau đó chúng ta có thể thay đổi lớp C như sau:

Nếu cấu trúc đối với lớp C là một kiểu bộ có dạng: TUPLEOF(T1, T2, ..Tk) th́ chúng ta có thể thêm một số thuộc tính đối với cấu trúc bộ này đặc trưng riêng cho các đối tượng thuộc lớp con D.

Chúng ta có thể tạo các phương thức mới mà chỉ áp dụng đối với lớp con D.

Chúng ta có thể định nghĩa lại các phương thức của lớp C để nó có một ư nghĩa mới đối với lớp con D.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                                                                                                                                  

 

 

 

Bạn đang đọc truyện trên: Truyen2U.Top