Chuong 1
1.1. Các hệ thống xử lý tệp 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 phò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 trình mới đối với mỗi ứng dụng riêng lẻ, thường là một chương trình được phát triển tại một thời điểm.
Mỗi chương trì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 phò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 tệp dữ liệu riêng của nó. Nhiều dữ liệu trong các tệp mới có thể đã xuất hiện trong các tệp đang tồn tại sẽ phải được cấu trúc lại, mà đến lược nó, các chương trình đang tồn tại sử dụng cùng các tệp 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 tệp 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ụ. 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 tệp 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 trình ứng dụng thao tác các tệp đó, chẳng hạn như:
Chương trình thêm một tài khoản mới.
Chương trình ghi nợ (ghi có) một tài khoản
Chương trình tính số dư của một tài khoản.
Các chương trình ứng dụng này được viết bởi các nhà lập trì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 trì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.
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ở tệp đượ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 tệp 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
Ví dụ: Đị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 tệp chứa các bản ghi tài khoản tiết kiệm và trong một tệp chứa các bản ghi số dư tài khoản. Sự dư thừa này dẫn đế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 tệp có thể được thay đổi một cách độc lập bới các chương trì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 trình ứng dụng này có thể không trình với cùng các khoản mục dữ liệu đó trong một chương trình ứng dụng khác. Điều này dẫn đế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ụ. Đị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 hỏi phò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ó sẵn một chương trình ứng dụng để đáp ứng yêu cầu này. Tuy nhiên, có một chương trì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ờ phòng xử lý dữ liệu đề nghị một nhà lập trình hệ thống viết chương trì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 trì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 trì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ý tệp 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 tệp 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 tệp ứ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 tệp đang tồn tại trong khi các tệp 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 vẹn 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 trì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 trì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 tệp 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 dò tìm phát hiện, dữ liệu phải được phục hồi đến trạng thái toàn vẹn tồn tại trước khi xảy ra lỗi.
Ví dụ: Xét chương trì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 trì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 vẹn 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ể dẫn đến kết quả của một trạng thái không toàn vẹn dữ liệu.
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.
Sự phụ thuộc dữ liệu của các chương trình ứng dụng
Do định nghĩa tệp được chứa trong các chương trình ứng dụng, nếu các nội dung tệp và các khuôn dạng bản ghi cần được thay đổi, các chương trì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à gì?
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 gì 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
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.
Hệ quản trị cơ sở dữ liệu là gì?
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 đó.
Hệ cơ sở dữ liệu là gì?
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 trì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.
1.2.2. Các khả năng của một 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 trì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ý tệp 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 đắn đố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 đắn 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.
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 gì đượ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 vẫn 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 dưới
Ví dụ: Trong ngôn ngữ lập trì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;
Đ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 trì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 trì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 trì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 trì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 trì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 khỏi sự truy nhập các bộ phận dữ liệu.
Ví dụ: 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.
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 trì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 trì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 trì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 trì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 trì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 khỏi sự truy nhập các bộ phận dữ liệu.
Ví dụ: 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.
Độc lập dữ liệu ở mức vật lý: là khả năng thay đổi sơ đồ vật lý mà không dẫn đến các chương trì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 dẫn đến các chương trì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 trì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 diễn 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 diễn 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 tệp đặ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. Xử lý câu hỏi
Công việc của bộ xử lý câu hỏi là biến đổi một truy vấn hay một thao tác cơ sở dữ liệu được biểu diễn tại một mức rất cao (Ví dụ như biểu diễn 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 hỏi là tối ưu hóa câu hỏi, 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 sắp xếp lại trì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 cắt được. 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. 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ữ
Các cơ sở dữ liệu thường đòi hỏi 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 trì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 trình ứng dụng hay các truy vấn được đệ trình với hệ thống cơ sở dữ liệu này.
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 hỏi đá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 hỏi và được trả lời.
Thông qua các giao diện chương trình ứng dụng
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 trì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 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ịch 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.
Đặ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 thỏa mãn những ràng buộc toàn vẹn nhất định.
Ví dụ. Chẳng hạn số giờ làm việc của một nhân 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 vẹ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 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
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 trì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 trình được viết bởi ngôn ngữ chủ. Các chương trình này được gọi chung là các chương trình ứng dụ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 trì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 đệ trình đối với bộ xử lý câu hỏi 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 đệ trì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 trình ứng dụng có sẵn đượ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 nhỏ hoặc lớn.
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 trì 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 trình, đồng thời cũng là người sử dụng cuối của hệ.
b. Hệ cơ sở dữ liệu sở dữ liệu trung tâm
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ý tệp 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ộ.
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.
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.
Đố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 tệp 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 thuẫn điển hình bao gồm các khác biệt về cú pháp (sự biểu diễn 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.
Bạn đang đọc truyện trên: Truyen247.Pro