Kiến trúc cơ sở dữ liệu ba tầng. Các thành phần của hệ thống thông tin với cơ sở dữ liệu và kiến ​​trúc ba cấp của hệ thống quản lý cơ sở dữ liệu

Cấp độ thứ ba của kiến ​​trúc là cấp độ bên trong. Chế độ xem nội bộ là chế độ xem cấp thấp của toàn bộ cơ sở dữ liệu; nó bao gồm nhiều phiên bản của từng loại bản ghi nội bộ. Thuật ngữ "bản ghi nội bộ" thuộc thuật ngữ ANSI/SPARC và đề cập đến một cấu trúc được gọi là bản ghi được lưu trữ. Biểu diễn bên trong, giống như biểu diễn bên ngoài và biểu diễn khái niệm, không liên quan đến lớp vật lý vì nó không xem xét các vùng vật lý của thiết bị lưu trữ, chẳng hạn như hình trụ và đường ray. Nói cách khác, biểu diễn bên trong giả định một không gian địa chỉ tuyến tính vô hạn; chi tiết về cách ánh xạ không gian địa chỉ tới thiết bị lưu trữ vật lý rất cụ thể theo hệ thống và không được đưa vào kiến ​​trúc tổng thể một cách có chủ ý.

Việc biểu diễn bên trong được mô tả bằng cách sử dụng một lược đồ bên trong, lược đồ này xác định không chỉ các loại bản ghi khác nhau đang được lưu trữ mà còn xác định các chỉ mục tồn tại, cách trình bày các trường được lưu trữ, trình tự vật lý của các bản ghi được lưu trữ, v.v. Lược đồ bên trong được viết bằng ngôn ngữ định nghĩa dữ liệu khác - nội bộ.

Tóm lại, chúng tôi lưu ý rằng trong một số trường hợp đặc biệt, các chương trình ứng dụng, đặc biệt là các chương trình được gọi là tiện ích, có thể thực hiện các hoạt động trực tiếp ở cấp độ bên trong thay vì ở cấp độ bên ngoài. Tất nhiên, cách làm này không được khuyến khích; nó xác định rủi ro về mặt bảo mật (các quy tắc bảo mật bị bỏ qua) và tính toàn vẹn (các quy tắc toàn vẹn cũng bị bỏ qua), ngoài ra, chương trình sẽ phụ thuộc vào dữ liệu được tải; nhưng đôi khi đây có thể là cách duy nhất để đạt được chức năng cần thiết hoặc đạt được hiệu suất cần thiết - giống như người dùng ngôn ngữ cấp cao đôi khi cần sử dụng hợp ngữ vì những lý do tương tự.

Các ứng dụng sử dụng cơ sở dữ liệu thường được phân loại thành một trong các kiến ​​trúc phần mềm, có những ưu và nhược điểm riêng.

Cơ sở dữ liệu và phần mềm để tạo và bảo trì (DBMS) có kiến ​​trúc đa cấp.

Có các cấp độ khái niệm, bên trong và bên ngoài về biểu diễn dữ liệu cơ sở dữ liệu, tương ứng với các mô hình có mục đích tương tự.

Mức khái niệm tương ứng với khía cạnh logic của việc trình bày dữ liệu miền ở dạng tích hợp. Mô hình khái niệm bao gồm nhiều thể hiện của các kiểu dữ liệu khác nhau, được cấu trúc phù hợp với các yêu cầu của DBMS đối với cấu trúc logic của cơ sở dữ liệu.

Lớp bên trong thể hiện tổ chức dữ liệu cần thiết trong môi trường lưu trữ và tương ứng với khía cạnh vật lý của việc trình bày dữ liệu. Mô hình bên trong bao gồm các phiên bản bản ghi riêng lẻ được lưu trữ vật lý trên phương tiện bên ngoài.

Lớp bên ngoài hỗ trợ chế độ xem dữ liệu riêng tư theo yêu cầu của người dùng cụ thể. Mô hình bên ngoài là một tập hợp con của mô hình khái niệm. Có thể giao nhau với các mô hình bên ngoài dựa trên dữ liệu. Cấu trúc dữ liệu logic riêng cho một ứng dụng (tác vụ) hoặc người dùng cụ thể tương ứng với một mô hình cơ sở dữ liệu bên ngoài hoặc lược đồ con. Với sự trợ giúp của các mô hình bên ngoài, quyền truy cập được ủy quyền vào dữ liệu cơ sở dữ liệu ứng dụng được hỗ trợ (thành phần và cấu trúc dữ liệu của mô hình cơ sở dữ liệu khái niệm có sẵn trong ứng dụng bị hạn chế và các chế độ chấp nhận được để xử lý dữ liệu này được chỉ định: đầu vào, chỉnh sửa, xóa, tìm kiếm).

Sự xuất hiện của những thay đổi mới hoặc những thay đổi về nhu cầu thông tin của các ứng dụng hiện có đòi hỏi phải xác định các mô hình bên ngoài chính xác cho chúng, trong khi không có thay đổi nào xảy ra ở cấp độ mô hình dữ liệu nội bộ và khái niệm. Những thay đổi trong mô hình khái niệm do sự xuất hiện của các loại dữ liệu mới hoặc thay đổi về cấu trúc có thể không ảnh hưởng đến tất cả các ứng dụng, tức là. đảm bảo tính độc lập nhất định của chương trình với dữ liệu. Những thay đổi trong mô hình khái niệm phải được phản ánh trong mô hình bên trong và nếu mô hình khái niệm không thay đổi thì có thể sửa đổi độc lập mô hình cơ sở dữ liệu bên trong để cải thiện các đặc tính của nó (thời gian truy cập dữ liệu, mức tiêu thụ bộ nhớ của thiết bị bên ngoài, v.v.). ). Do đó, cơ sở dữ liệu thực hiện nguyên tắc độc lập tương đối của tổ chức dữ liệu logic và vật lý.

Nói về một sản phẩm phần mềm phức tạp như DBMS sẽ như thế nào, trước hết cần xác định rõ ràng khái niệm cơ bản của hệ thống, khái niệm này quyết định tất cả các giai đoạn phát triển tiếp theo của nó.

Kiến trúc DBMS trước hết phải đảm bảo sự phân biệt giữa cấp độ người dùng và hệ thống;

Cần phải tạo cơ hội cho mỗi người dùng có ý tưởng riêng, khác với những người khác về các thuộc tính của dữ liệu được lưu trữ.

Sau đó, giai đoạn ban đầu của việc thiết kế bất kỳ hệ thống thông tin cụ thể nào phải là các mô tả trừu tượng về nhu cầu thông tin của từng nhóm người dùng, trên cơ sở đó tạo ra một mô tả tóm tắt, nhưng đã phổ biến cho toàn bộ tổ chức, về cấu trúc của dữ liệu được lưu trữ và DBMS mà qua đó IS này sẽ được tạo và hỗ trợ phải có những khả năng nhất định cho việc này.

XEM LẠI BÀI GIẢNG

Dành cho học sinh chuyên
T1002 “Phần mềm công nghệ thông tin”

(L.V. Rudikova, Tiến sĩ, Phó Giáo sư)

Câu 31. KIẾN TRÚC DBMS. MÔ HÌNH DỮ LIỆU QUAN HỆ

1. Khái niệm về cơ sở dữ liệu.

2. Kiến trúc cơ sở dữ liệu ba tầng.

3. Vòng đời cơ sở dữ liệu.

4. Kiến trúc DBMS.

5. Mô hình dữ liệu quan hệ.

6. Thiết kế cơ sở dữ liệu quan hệ.

7. Những hình thức quan hệ bình thường.

8. Đại số quan hệ.

1. Khái niệm về cơ sở dữ liệu.

Hệ thống cơ sở dữ liệu là bất kỳ hệ thống thông tin dựa trên máy tính nào trong đó dữ liệu có thể được chia sẻ giữa nhiều ứng dụng.

Hệ thống thông tin – một hệ thống tự động tổ chức dữ liệu và cung cấp thông tin.

Hệ thống thông tin và quản lý – một hệ thống cung cấp thông tin hỗ trợ cho việc quản lý.

Dữ liệu - sự thật rải rác.

Thông tin - Tổ chức và xử lý dữ liệu.

Dưới cơ sở dữ liệu đề cập đến một tập hợp các nhóm dữ liệu (thông tin) cơ bản được kết nối với nhau có thể được xử lý bởi một hoặc nhiều hệ thống ứng dụng. Hệ thống cơ sở dữ liệu bao gồm một cơ sở dữ liệu; phần mềm có mục đích chung được gọi là hệ thống quản lý cơ sở dữ liệu (DBMS) và dùng để quản lý cơ sở dữ liệu; thiết bị và con người phù hợp.

Mỗi DBMS phải đáp ứng các yêu cầu sau:

· cung cấp cho người dùng khả năng tạo cơ sở dữ liệu mới và xác định chúng lược đồ (cấu trúc dữ liệu logic) sử dụng một ngôn ngữ đặc biệt - ngôn ngữ định nghĩa dữ liệu; hỗ trợ nhiều chế độ xem của cùng một dữ liệu;

· cho phép " lời yêu cầu» dữ liệu và thay đổi chúng bằng cách sử dụng ngôn ngữ truy vấn, hoặc ngôn ngữ thao tác dữ liệu; cho phép tích hợp và chia sẻ dữ liệu trên các ứng dụng;

· hỗ trợ lưu trữ lượng dữ liệu rất lớn, tính bằng gigabyte trở lên, trong thời gian dài, bảo vệ chúng khỏi bị hư hỏng do vô tình và sử dụng trái phép, đồng thời cung cấp khả năng sửa đổi cơ sở dữ liệu và quyền truy cập vào dữ liệu thông qua các truy vấn, tức là. đảm bảo tính bảo mật và toàn vẹn của dữ liệu;

· kiểm soát truy cập dữ liệu đồng thời cho nhiều người dùng; loại trừ ảnh hưởng của yêu cầu của một người dùng đối với yêu cầu của người khác và ngăn chặn việc truy cập đồng thời, điều này có thể làm hỏng dữ liệu, tức là. đảm bảo kiểm soát đồng thời việc truy cập dữ liệu.

Hệ thống cơ sở dữ liệu bao gồm các thành phần sau:

· Người dùng, tức là những người sử dụng dữ liệu.

· Ứng dụng, tức là chương trình người dùng yêu cầu dữ liệu từ hệ thống.

· DBMS là phần mềm quản lý quyền truy cập dữ liệu và cung cấp chức năng cụ thể của hệ thống cơ sở dữ liệu.

· Dữ liệu, tức là chuỗi được lưu trữ trong tập tin.

· Hệ thống máy chủ là hệ thống máy tính nơi các tập tin được lưu trữ. Các hàng dữ liệu được truy cập bởi hệ thống máy chủ. Vai trò của DBMS là tạo ra các truy vấn cho phép sử dụng chức năng quản lý tệp của hệ thống máy chủ để phục vụ các ứng dụng khác nhau. DBMS là một lớp phần mềm bổ sung được xây dựng bên trên phần mềm hệ thống máy chủ.

Do đó, một hệ thống có cơ sở dữ liệu có thể được biểu diễn dưới dạng chuỗi cấp độ sau:

Ở mức thấp nhất có dữ liệu được lưu trữ trong các tệp vật lý (bộ nhớ cơ sở dữ liệu vật lý). Ở cấp cao nhất - các ứng dụng có cách thể hiện riêng của chúng về cùng một dữ liệu vật lý. Mỗi khung nhìn cơ sở dữ liệu là một cấu trúc logic cụ thể được xây dựng từ dữ liệu vật lý cơ bản. Để cung cấp giao diện giữa bộ nhớ vật lý của cơ sở dữ liệu và các phiên bản logic khác nhau của nó (nhiều khung nhìn được hỗ trợ), DBMS phải bao gồm nhiều lớp.

2. Kiến trúc cơ sở dữ liệu ba cấp.

Sự khác biệt giữa biểu diễn dữ liệu logic và vật lý được chính thức công nhận vào năm 1978 khi ủy ban ANSI/SPARC đề xuất một cấu trúc tổng quát của hệ thống cơ sở dữ liệu. Cấu trúc này được gọi là kiến ​​trúc ba tầng. Ba cấp độ kiến ​​trúc là: nội bộ, khái niệm và bên ngoài.

Cấp độ nội bộ – đây là cấp độ xác định hình thức vật lý của cơ sở dữ liệu, gần nhất với lưu trữ vật lý và gắn liền với các phương pháp lưu trữ thông tin trên các thiết bị lưu trữ vật lý. Liên kết với lớp này là ổ đĩa, địa chỉ vật lý, chỉ mục, con trỏ, v.v. Lớp này là trách nhiệm của những người thiết kế cơ sở dữ liệu vật lý, những người quyết định thiết bị vật lý nào sẽ lưu trữ dữ liệu, phương pháp truy cập nào sẽ được sử dụng để truy xuất và cập nhật dữ liệu cũng như những biện pháp nào cần được thực hiện để duy trì hoặc cải thiện hiệu suất của hệ thống quản lý cơ sở dữ liệu. Người dùng không chạm vào cấp độ này.

Cấp khái niệm – Mức cấu trúc xác định thiết kế logic của cơ sở dữ liệu. Ở cấp độ này, thiết kế khái niệm của cơ sở dữ liệu được thực hiện, bao gồm việc phân tích nhu cầu thông tin của người dùng và xác định các thành phần dữ liệu họ cần. Kết quả của thiết kế khái niệm là một sơ đồ khái niệm, một mô tả logic của tất cả các thành phần dữ liệu và mối quan hệ giữa chúng.

Cấp độ bên ngoài – cấp độ cấu trúc của cơ sở dữ liệu, xác định chế độ xem dữ liệu của người dùng. Mỗi nhóm người dùng nhận được chế độ xem dữ liệu trong cơ sở dữ liệu riêng. Mỗi chế độ xem dữ liệu như vậy cung cấp mô tả lấy người dùng làm trung tâm về các thành phần dữ liệu tạo nên chế độ xem dữ liệu và mối quan hệ giữa chúng. Nó có thể được bắt nguồn trực tiếp từ khung khái niệm. Việc thu thập các chế độ xem dữ liệu người dùng như vậy cung cấp cấp độ bên ngoài.

Lượt xem của người dùng và ứng dụng

Cấp độ bên ngoài

Hiển thị

Sơ đồ khái niệm

Cấp khái niệm

Trưng bày

Cấp độ nội bộ

Hệ thống máy chủ

Dữ liệu được lưu trữ

Cơm. Các cấp độ DBMS

3. Vòng đời cơ sở dữ liệu.

Quá trình thiết kế, triển khai và bảo trì hệ thống cơ sở dữ liệu được gọi là vòng đời của cơ sở dữ liệu (LDC). Quá trình tạo ra một hệ thống được gọi là vòng đời hệ thống (SLC).

Sự hiểu biết và cách tiếp cận đúng đắn đối với LCBD là rất quan trọng và cần được xem xét chi tiết, vì nó dựa trên cách tiếp cận tập trung vào dữ liệu. Các phần tử dữ liệu ổn định hơn các chức năng hệ thống thực hiện. Việc tạo cấu trúc dữ liệu phù hợp đòi hỏi phải phân tích phức tạp các lớp đơn vị dữ liệu và mối quan hệ giữa chúng. Nếu bạn xây dựng một lược đồ cơ sở dữ liệu logic thì trong tương lai bạn có thể tạo bất kỳ số lượng hệ thống chức năng nào sử dụng lược đồ này. Cách tiếp cận hướng chức năng chỉ có thể được sử dụng để tạo ra các hệ thống tạm thời được thiết kế cho thời gian hoạt động ngắn.

LCBD bao gồm các giai đoạn sau:

1. Lập kế hoạch trước – lập kế hoạch cơ sở dữ liệu, được thực hiện trong quá trình phát triển kế hoạch cơ sở dữ liệu chiến lược. Trong quá trình lập kế hoạch, các thông tin sau được thu thập:

· những chương trình ứng dụng nào được sử dụng và chúng thực hiện những chức năng gì;

· những tập tin nào được liên kết với từng ứng dụng này;

· những ứng dụng và tập tin mới nào đang hoạt động.

Thông tin này giúp xác định cách sử dụng thông tin ứng dụng và xác định các yêu cầu trong tương lai đối với hệ thống cơ sở dữ liệu.

Thông tin từ giai đoạn này được ghi lại dưới dạng mô hình dữ liệu tổng quát.

2. Kiểm tra tính khả thi . Ở đây tính khả thi về mặt công nghệ, vận hành và kinh tế của kế hoạch tạo cơ sở dữ liệu được xác định, tức là:

· tính khả thi về công nghệ – công nghệ có sẵn để triển khai cơ sở dữ liệu theo kế hoạch không?

· tính khả thi trong hoạt động – có cần kinh phí và chuyên gia để triển khai thành công kế hoạch cơ sở dữ liệu không?

· tính khả thi về mặt kinh tế – có thể đưa ra kết luận được không? Liệu hệ thống theo kế hoạch có tự chi trả được không? Có thể ước tính chi phí và lợi ích không?

3. Xác định yêu cầu bao gồm việc lựa chọn mục tiêu cơ sở dữ liệu, làm rõ các yêu cầu thông tin cho hệ thống và các yêu cầu về phần cứng và phần mềm. Vì vậy, ở giai đoạn thu thập dữ liệu và xác định yêu cầu này, mô hình thông tin tổng quát, thể hiện ở các nhiệm vụ sau:

· Mục tiêu của hệ thống được xác định bằng cách phân tích nhu cầu thông tin. Nó cũng nhất thiết chỉ ra loại cơ sở dữ liệu nào sẽ được tạo (phân phối, tổng thể) và những công cụ giao tiếp nào là cần thiết. Tài liệu đầu ra là một nhận xét mô tả các mục tiêu của hệ thống.

· Xác định yêu cầu của người dùng: tài liệu dưới dạng thông tin tổng quát (nhận xét, báo cáo, khảo sát, bảng câu hỏi, v.v.); sửa chữa chức năng hệ thống và xác định các hệ thống ứng dụng sẽ đáp ứng các yêu cầu này. Dữ liệu được trình bày dưới dạng các tài liệu liên quan.

· Xác định các yêu cầu chung về phần cứng và phần mềm liên quan đến việc duy trì mức hiệu suất mong muốn. (Tìm hiểu số lượng người dùng hệ thống, số lượng tin nhắn đầu vào mỗi ngày, số lượng bản in). Thông tin này được sử dụng để chọn loại máy tính và DBMS, dung lượng ổ đĩa và số lượng máy in. Dữ liệu từ giai đoạn này được trình bày trong một báo cáo chứa các cấu hình phần cứng và phần mềm mẫu.

· Phát triển kế hoạch tạo hệ thống theo từng giai đoạn, bao gồm cả việc lựa chọn các ứng dụng ban đầu.

4. Thiết kế mẫu - Xây dựng sơ đồ cơ sở dữ liệu khái niệm. Thông số kỹ thuật được phát triển đến mức cần thiết để chuyển sang triển khai.

Tài liệu đầu ra chính là một tài liệu duy nhất mô hình thông tin(hoặc Lược đồ cơ sở dữ liệu ở mức khái niệm). Khi phát triển mô hình này, thông tin và chức năng mà hệ thống phải thực hiện, được xác định ở giai đoạn thu thập và xác định yêu cầu hệ thống, sẽ được sử dụng. Ở giai đoạn này, cũng cần xác định: 1) các quy tắc cho dữ liệu; 2) quy tắc cho các quy trình; 3) quy tắc cho giao diện.

5. Thực hiện quá trình biến một mô hình khái niệm thành một cơ sở dữ liệu chức năng. Nó bao gồm các bước sau.

1) Lựa chọn và mua DBMS cần thiết.

2) Chuyển đổi mô hình cơ sở dữ liệu khái niệm (thông tin) thành mô hình dữ liệu logic và vật lý:

· Dựa trên mô hình dữ liệu thông tin, một lược đồ dữ liệu được xây dựng cho một DBMS cụ thể, nếu cần, cơ sở dữ liệu sẽ được chuẩn hóa để tăng tốc độ xử lý truy vấn trong tất cả các ứng dụng quan trọng về thời gian;

· nó được xác định những quy trình ứng dụng nào cần được triển khai trong lược đồ dữ liệu dưới dạng các thủ tục được lưu trữ;

· thực hiện các ràng buộc được thiết kế để đảm bảo tính toàn vẹn dữ liệu và thực thi các quy tắc dữ liệu;

· thiết kế và tạo các trình kích hoạt để triển khai tất cả các quy tắc dữ liệu được xác định tập trung và các quy tắc về tính toàn vẹn dữ liệu không thể được chỉ định làm ràng buộc;

· phát triển chiến lược lập chỉ mục và phân cụm; ước tính kích thước của tất cả các bảng, cụm và chỉ mục;

· xác định cấp độ truy cập của người dùng, phát triển và thực hiện các quy tắc kiểm tra và bảo mật. Tạo vai trò và từ đồng nghĩa để cung cấp quyền truy cập cho nhiều người dùng với mức độ truy cập nhất quán.

· phát triển cấu trúc liên kết mạng của cơ sở dữ liệu và cơ chế truy cập liền mạch vào dữ liệu từ xa (cơ sở dữ liệu được sao chép hoặc phân phối).

3) Xây dựng từ điển dữ liệu xác định việc lưu trữ các định nghĩa cấu trúc dữ liệu cơ sở dữ liệu. Từ điển dữ liệu cũng chứa thông tin về quyền truy cập, quy tắc bảo vệ dữ liệu và kiểm soát dữ liệu.

4) Điền vào cơ sở dữ liệu.

5) Xây dựng các chương trình ứng dụng, kiểm soát quản lý.

6) Đào tạo người dùng.

6. Đánh giá và cải thiện lược đồ cơ sở dữ liệu. Liên quan đến việc khảo sát người dùng để xác định các nhu cầu chức năng chưa được đáp ứng. Các thay đổi được thực hiện khi cần thiết, thêm các chương trình và thành phần dữ liệu mới khi nhu cầu thay đổi và mở rộng.

Như vậy, LCBD bao gồm:

· Nghiên cứu lĩnh vực chủ đề và cung cấp tài liệu liên quan (1-3).

· Xây dựng mô hình thông tin (4).

· Thực hiện (5).

· Đánh giá hiệu suất và hỗ trợ cơ sở dữ liệu (6).

4. Kiến trúc DBMS.



Cơm. Các thành phần chính của DBMS

Dữ liệu, siêu dữ liệu - không chỉ chứa dữ liệu mà còn chứa thông tin về cấu trúc của dữ liệu ( metadata). Trong DBMS quan hệ, siêu dữ liệu bao gồm các bảng hệ thống (mối quan hệ), tên của các mối quan hệ, tên thuộc tính của các mối quan hệ đó và kiểu dữ liệu của các thuộc tính đó.

Thông thường DBMS hỗ trợ chỉ số dữ liệu. Mục lục là cấu trúc dữ liệu giúp tìm nhanh các phần tử dữ liệu đã cho một phần giá trị của chúng (ví dụ: một chỉ mục tìm các bộ của một quan hệ cụ thể có giá trị cho trước của một trong các thuộc tính). Các chỉ mục là một phần của dữ liệu được lưu trữ và các mô tả cho biết các thuộc tính mà chỉ mục có là một phần của siêu dữ liệu.

Trình quản lý bộ nhớ -nhận thông tin cần thiết từ vị trí lưu trữ dữ liệu và thay đổi thông tin trong đó theo yêu cầu của các cấp cao hơn của hệ thống.

Trong các hệ thống cơ sở dữ liệu đơn giản, trình quản lý bộ nhớ có thể là hệ thống tệp của hệ điều hành. Tuy nhiên, để nâng cao hiệu quả, DBMS thường thực hiện kiểm soát bộ nhớ trực tiếp. Trình quản lý bộ nhớ bao gồm hai thành phần:

· Quản lý tập tin giám sát vị trí của các tệp trên đĩa và lấy khối hoặc các khối chứa các tệp khi người quản lý bộ đệm yêu cầu (đĩa thường được chia thành khối đĩa- vùng bộ nhớ liền kề chứa từ 4000 đến 16000 byte).

· Trình quản lý bộ đệm quản lý bộ nhớ chính. Nó nhận các khối dữ liệu từ đĩa thông qua trình quản lý tệp và chọn trang bộ nhớ chính để lưu trữ một khối cụ thể. Nó có thể lưu trữ tạm thời một khối đĩa trong bộ nhớ chính, nhưng sẽ trả khối đó vào đĩa khi cần một trang bộ nhớ chính cho một khối khác. Các trang cũng được trả về đĩa khi người quản lý giao dịch yêu cầu.

Bộ xử lý "Yêu cầu" - xử lý các yêu cầu và yêu cầu thay đổi dữ liệu hoặc siêu dữ liệu. Nó gợi ý cách tốt nhất để thực hiện thao tác cần thiết và đưa ra các lệnh thích hợp cho người quản lý bộ nhớ.

Bộ xử lý truy vấn (trình quản lý) chuyển một truy vấn hoặc hành động cơ sở dữ liệu có thể được thực thi ở mức rất cao (ví dụ: dưới dạng truy vấn SQL ), thành một chuỗi các yêu cầu về dữ liệu được lưu trữ chẳng hạn như các bộ dữ liệu riêng lẻ của một quan hệ hoặc các phần của chỉ mục trên một quan hệ. Thường là phần khó khăn nhất của quá trình xử lý lời yêu cầu là của anh ấy tổ chức, tức là chọn tốt kế hoạch truy vấn hoặc một chuỗi yêu cầu đến hệ thống bộ nhớ để đáp ứng yêu cầu.

Người quản lý giao dịch - chịu trách nhiệm về tính toàn vẹn của hệ thống và phải đảm bảo xử lý đồng thời nhiều yêu cầu, không có sự can thiệp của các yêu cầu (bổ sung, nhỏ nhất lớn nhất ) và bảo vệ dữ liệu trong trường hợp hệ thống bị lỗi. Nó tương tác với trình quản lý truy vấn vì nó cần biết dữ liệu nào bị ảnh hưởng bởi các truy vấn hiện tại (để tránh xung đột) và có thể trì hoãn một số truy vấn và thao tác để tránh xung đột. Trình quản lý giao dịch cũng tương tác với trình quản lý bộ nhớ vì các sơ đồ bảo vệ dữ liệu thường liên quan đến việc lưu trữ nhật ký thay đổi dữ liệu. Nếu thao tác được thực hiện chính xác, tập tin sự đăng ký sẽ chứa bản ghi các thay đổi, do đó bạn có thể thực hiện lại ngay cả những thay đổi không đến được đĩa do lỗi hệ thống.

Các DBMS điển hình cho phép người dùng nhóm nhiều truy vấn và/hoặc thay đổi thành một giao dịch duy nhất. Giao dịch là một nhóm các hoạt động phải được thực hiện tuần tự như một tổng thể.

Thông thường, một hệ thống cơ sở dữ liệu hỗ trợ nhiều giao dịch cùng một lúc. Việc thực hiện chính xác tất cả các giao dịch như vậy sẽ đảm bảo người quản lý giao dịch. Việc thực hiện đúng các giao dịch được đảm bảoaxit -của cải (tính nguyên tử, tính nhất quán, sự cô lập, độ bền):

· tính nguyên tử- thực hiện tất cả các giao dịch hoặc không thực hiện bất kỳ giao dịch nào (ví dụ: rút tiền từ ATM và ghi nợ tương ứng vào tài khoản của khách hàng phải là một giao dịch nguyên tử duy nhất; mỗi hoạt động này không được phép thực hiện riêng lẻ);

· Tính nhất quán - trạng thái trong đó dữ liệu đáp ứng mọi mong đợi có thể có (ví dụ: điều kiện nhất quán đối với cơ sở dữ liệu hàng không là không có chỗ ngồi nào trên máy bay được dành riêng cho hai hành khách);

· vật liệu cách nhiệt- khi hai hoặc nhiều giao dịch được thực hiện song song, kết quả của chúng phải tách biệt với nhau. Việc thực hiện đồng thời hai giao dịch cùng một lúc sẽ không dẫn đến kết quả không thể xảy ra nếu chúng được thực hiện tuần tự (ví dụ: khi bán vé cho cùng một chuyến bay trong trường hợp còn ghế cuối cùng miễn phí khi hai đại lý đồng thời yêu cầu , yêu cầu của một người phải được thực hiện, người kia - Không);

· tuổi thọ - sau khi giao dịch hoàn tất, kết quả sẽ không bị mất trong trường hợp hệ thống bị lỗi, ngay cả khi lỗi này xảy ra ngay sau khi hoàn thành giao dịch.

Chúng ta cũng hãy xem xét 3 loại quyền truy cập vào DBMS:

1. Yêu cầu - Câu hỏi về dữ liệu có thể được tạo ra theo hai cách:

Một)bằng cách sử dụng giao diện truy vấn chung(ví dụ: một DBMS quan hệ cho phép truy vấn SQL , được truyền đến bộ xử lý yêu cầu và cũng nhận được phản hồi cho chúng);

b) với sự giúp đỡ giao diện chương trình ứng dụng- các yêu cầu được truyền qua một giao diện đặc biệt (các yêu cầu tùy ý không thể được truyền qua giao diện này);

2. Sửa đổi - Đây là các thao tác thay đổi dữ liệu. Chúng cũng có thể được thực thi thông qua giao diện chung hoặc thông qua giao diện chương trình ứng dụng;

3. Sửa đổi mạch - Đây là các nhóm quản trị cơ sở dữ liệu có quyền thay đổi lược đồ cơ sở dữ liệu hoặc tạo cơ sở dữ liệu mới.

Kiến trúc máy khách/máy chủ. Nhiều phiên bản phần mềm hiện đại triển khai kiến ​​trúc máy khách/máy chủ: Một tiến trình (máy khách) gửi yêu cầu đến một tiến trình khác (máy chủ) để thực thi. Thông thường, cơ sở dữ liệu thường được chia thành một quy trình máy chủ và một số quy trình máy khách.

Trong kiến ​​trúc máy khách/máy chủ đơn giản nhất, toàn bộ DBMS là một máy chủ, ngoại trừ các giao diện truy vấn tương tác với người dùng và gửi các truy vấn hoặc các lệnh khác đến máy chủ. Ví dụ: một DBMS quan hệ thường sử dụng ngôn ngữ SQL để thể hiện các yêu cầu từ máy khách đến máy chủ. Sau đó, máy chủ cơ sở dữ liệu sẽ cung cấp cho khách hàng phản hồi dưới dạng bảng (mối quan hệ). Có xu hướng tăng tải cho máy khách vì nếu có nhiều người dùng cơ sở dữ liệu làm việc đồng thời, các vấn đề có thể phát sinh với máy chủ.

5. Mô hình dữ liệu quan hệ.

RMD của một lĩnh vực chủ đề nhất định là tập hợp các mối quan hệ thay đổi theo thời gian. Khi tạo một hệ thống thông tin, một tập hợp các mối quan hệ cho phép bạn lưu trữ dữ liệu về các đối tượng của lĩnh vực chủ đề và lập mô hình các kết nối giữa chúng.

Thái độ là một bảng hai chiều chứa một số dữ liệu. Về mặt toán học dướiN quan hệ -ary R hiểu bộ sản phẩm Descartes D 1 D 2 … D n bộ ( tên miền) D 1, D 2, …, D n (), tùy chọn khác nhau:

R D 1 D 2 … D n ,

trong đó D 1 D 2 … D n – tích Descartes hoàn chỉnh, tức là một tập hợp tất cả các kết hợp có thể có của N mỗi phần tử, trong đó mỗi phần tử được lấy từ miền riêng của nó.

Lãnh địa là một khái niệm ngữ nghĩa. Một miền có thể được coi là tập hợp con các giá trị của một số loại dữ liệu có ý nghĩa cụ thể. Tên miền được đặc trưng bởi các thuộc tính sau:

· Tên miền có tên duy nhất(trong cơ sở dữ liệu).

· Tên miền được xác định tại một số đơn giản kiểu dữ liệu hoặc trên một miền khác.

· Một tên miền có thể có một số điều kiện logic, cho phép bạn mô tả tập hợp con dữ liệu hợp lệ cho một miền nhất định.

· Tên miền mang một ý nghĩa nhất định tải ngữ nghĩa.

Thuộc tính mối quan hệ có một vài loại như vậy<Имя_атрибута: Имя_домена>. Tên thuộc tính phải là duy nhất trong mối quan hệ. Thông thường tên thuộc tính của một mối quan hệ giống với tên của các miền tương ứng.

Tỉ lệ , được xác định trên nhiều miền, chứa hai phần: tiêu đề và nội dung.

Tiêu đề mối quan hệ là một số lượng thuộc tính quan hệ cố định:

Phần đầu quan hệ mô tả tích Descartes của các miền mà trên đó mối quan hệ được xác định. Tiêu đề là tĩnh; nó không thay đổi khi làm việc với cơ sở dữ liệu. Nếu các thuộc tính được thay đổi, thêm vào hoặc xóa đi trong một quan hệ thì kết quả sẽ là khác mối quan hệ (thậm chí có cùng tên).

Mối quan hệ cơ thể chứa nhiều bộ dữ liệu mối quan hệ. Mọi quan hệ bộ dữ liệu đại diện cho một tập hợp các cặp có dạng<Имя_атрибута: Значение_атрибута>:

sao cho giá trị thuộc tính thuộc về miền . Phần thân của mối quan hệ là một tập hợp các bộ dữ liệu, tức là một tập hợp con của tích Descartes của miền xác định. Vì vậy, phần thân của một quan hệ thực sự là một quan hệ theo nghĩa toán học của từ này. Nội dung của mối quan hệ có thể thay đổi khi làm việc với cơ sở dữ liệu - các bộ dữ liệu có thể được thay đổi, thêm và xóa.

Mối quan hệ thường được viết là:

hoặc ngắn hơn

,

hoặc đơn giản

Số lượng thuộc tính trong một quan hệ được gọi là bằng cấp (hoặc -tính đoàn kết ) mối quan hệ. Số lượng của một tập hợp các bộ của một quan hệ được gọi là quyền lực mối quan hệ.

Sơ đồ quan hệ là danh sách tên thuộc tính của một mối quan hệ nhất định cho biết miền mà chúng thuộc về:

Nếu các thuộc tính lấy các giá trị từ cùng một miền thì chúng được gọi là -comparable, trong đó tập hợp các phép toán so sánh hợp lệ được chỉ định cho một miền nhất định. Ví dụ: nếu một miền chứa dữ liệu số thì tất cả các phép toán so sánh đều hợp lệ đối với miền đó, thì . Tuy nhiên, đối với các miền chứa dữ liệu ký tự, không chỉ có thể chỉ định các phép toán so sánh về đẳng thức và bất đẳng thức của các giá trị. Nếu một miền nhất định có thứ tự từ điển thì miền đó cũng có đầy đủ các phép toán so sánh.

Lược đồ của hai quan hệ được gọi là tương đương , nếu chúng có cùng mức độ và có thể sắp xếp các tên thuộc tính trong lược đồ theo cách sao cho các thuộc tính có thể so sánh được, tức là các thuộc tính lấy giá trị từ cùng một miền, sẽ ở cùng một vị trí:

Cho phép - Sơ đồ quan hệ – lược đồ của mối quan hệ sau khi sắp xếp các tên thuộc tính. Sau đó

~

Vì vậy, đối với các quan hệ tương đương, các điều kiện sau được thỏa mãn:

· Các bảng có cùng số cột.

· Các bảng chứa các cột có cùng tên.

· Các cột có cùng tên chứa dữ liệu từ cùng một tên miền.

· Các bảng có cùng hàng nhưng thứ tự các cột có thể khác nhau.

Tất cả các bảng như vậy đều khác nhau Hình ảnh mối quan hệ tương tự.

Thuộc tính của các mối quan hệ. Các tính chất của quan hệ được rút ra trực tiếp từ định nghĩa về quan hệ ở trên. Những thuộc tính này là điểm khác biệt chính giữa mối quan hệ và bảng.

· Không có bộ dữ liệu giống hệt nhau trong một mối quan hệ .

· Các bộ dữ liệu không được sắp xếp (từ trên xuống dưới) .

· Các thuộc tính không được sắp xếp (từ trái sang phải) .

· Tất cả các giá trị thuộc tính là nguyên tử .

Cơm. Sơ đồ biểu diễn mối quan hệ

Mô hình quan hệ là một cơ sở dữ liệu dưới dạng một tập hợp các mối quan hệ được kết nối với nhau. Trong mỗi kết nối, một mối quan hệ có thể đóng vai trò là mối quan hệ chính và một mối quan hệ khác đóng vai trò là mối quan hệ phụ. Vì vậy, một bộ của quan hệ chính có thể được liên kết với nhiều bộ của quan hệ phụ. Để hỗ trợ những mối quan hệ này, cả hai mối quan hệ phải chứa tập hợp các thuộc tính mà chúng có liên quan. Về cơ bản đây là khóa chính của mối quan hệ , xác định duy nhất bộ dữ liệu của quan hệ chính. Để mô hình hóa một mối quan hệ, một mối quan hệ con phải có một tập hợp các thuộc tính khớp với khóa chính của mối quan hệ chính. Tuy nhiên, ở đây tập thuộc tính này đã khóa phụ hoặc khóa ngoại , I E. nó định nghĩa một tập hợp các bộ quan hệ được liên kết với một bộ duy nhất của quan hệ chính.

6. Thiết kế cơ sở dữ liệu quan hệ.

Khi thiết kế cơ sở dữ liệu quan hệ, các vấn đề sau phải được giải quyết:

1) Xét đến ngữ nghĩa của lĩnh vực chủ đề, cần thể hiện tốt nhất các đối tượng của lĩnh vực chủ đề dưới dạng mô hình dữ liệu trừu tượng (thiết kế dữ liệu). Những thứ kia. - quyết định lược đồ cơ sở dữ liệu: cơ sở dữ liệu nên bao gồm những mối quan hệ nào, những mối quan hệ này nên có những thuộc tính gì, các kết nối giữa các mối quan hệ là gì.

2) Đảm bảo hiệu quả thực hiện các truy vấn cơ sở dữ liệu (thiết kế cơ sở dữ liệu vật lý).

Sau giai đoạn thiết kế dữ liệu, cần thu được các tài liệu kết quả sau:

· Xây dựng lược đồ dữ liệu chính xác dựa trên mô hình dữ liệu quan hệ.

· Mô tả lược đồ cơ sở dữ liệu theo DBMS đã chọn.

· Mô tả các mô hình bên ngoài theo DBMS đã chọn.

· Mô tả các quy tắc khai báo để duy trì tính toàn vẹn của cơ sở dữ liệu.

· Phát triển các thủ tục để duy trì tính toàn vẹn ngữ nghĩa của cơ sở dữ liệu.

Vì vậy, nhiệm vụ thiết kế cơ sở dữ liệu quan hệ là chọn lược đồ cơ sở dữ liệu từ nhiều lựa chọn thay thế.

Chính xác là một lược đồ cơ sở dữ liệu trong đó không có sự phụ thuộc không mong muốn giữa các thuộc tính quan hệ. Quá trình phát triển một lược đồ cơ sở dữ liệu chính xác được gọi là thiết kế logic .

Việc thiết kế lược đồ cơ sở dữ liệu có thể được thực hiện theo hai cách:

· Phương pháp phân rã (phân vùng) tập hợp các quan hệ ban đầu có trong lược đồ cơ sở dữ liệu được thay thế bằng một tập hợp các quan hệ khác là các hình chiếu của các quan hệ ban đầu! Đồng thời, số lượng các mối quan hệ tăng lên.

· Phương pháp tổng hợp cách bố trí lược đồ cơ sở dữ liệu từ các phụ thuộc cơ bản ban đầu đã cho giữa các đối tượng của lĩnh vực chủ đề.

Thiết kế cơ sở dữ liệu cổ điển gắn liền với lý thuyết bình thường hóa , dựa trên việc phân tích sự phụ thuộc chức năng giữa các thuộc tính mối quan hệ. Các phần phụ thuộc chức năng xác định mối quan hệ ổn định giữa các đối tượng và thuộc tính của chúng trong lĩnh vực chủ đề đang được xem xét.

Phương pháp phân rã là một quá trình chuẩn hóa tuần tự các lược đồ quan hệ: mỗi lần lặp mới tương ứng với dạng chuẩn bậc cao hơn và có các thuộc tính tốt hơn so với dạng chuẩn trước đó. Do đó, sự tồn tại của một mối quan hệ phổ quát chứa tất cả các thuộc tính của cơ sở dữ liệu ban đầu được giả định, sau đó, dựa trên phân tích các kết nối giữa các thuộc tính, việc phân rã mối quan hệ phổ quát được thực hiện (hoặc một nỗ lực được thực hiện), tức là. chuyển sang một số quan hệ có chiều thấp hơn và quan hệ ban đầu phải được khôi phục bằng thao tác nối tự nhiên.

Vì vậy, mỗi dạng chuẩn tắc tương ứng với một tập hợp ràng buộc nhất định và một mối quan hệ sẽ ở dạng chuẩn tắc nhất định nếu nó thỏa mãn tập hợp ràng buộc vốn có của nó.

Trong lý thuyết về cơ sở dữ liệu quan hệ, người ta thường phân biệt các dạng chuẩn sau:

dạng chuẩn đầu tiên (1 NF);

· dạng chuẩn thứ hai (2 NF);

· dạng chuẩn thứ ba (3 NF);

· Dạng chuẩn Bays-Codd ( BCNF);

· dạng chuẩn thứ tư (4 NF);

· dạng chuẩn thứ năm hoặc dạng chiếu - hợp chất (5 NF hoặc PYNF).

Các tính chất cơ bản của dạng chuẩn:

· mỗi dạng chuẩn tiếp theo theo một nghĩa nào đó đều tốt hơn dạng trước đó;

· khi chuyển sang dạng chuẩn tiếp theo, các thuộc tính của thuộc tính chuẩn trước đó được giữ nguyên.

Lược đồ cơ sở dữ liệu được gọi tương đương, nếu nội dung của cơ sở dữ liệu nguồn có thể thu được bằng kết nối tự nhiên của các quan hệ có trong lược đồ kết quả và không có bộ dữ liệu mới nào xuất hiện trong cơ sở dữ liệu nguồn.

7. Những hình thức quan hệ thông thường.

Quá trình chuẩn hóa dựa trên sự phản ánh đầy đủ của lĩnh vực chủ đề dưới dạng bảng chứa dữ liệu về đối tượng được mô hình hóa và khả năng thay đổi trạng thái của cơ sở dữ liệu theo thời gian. Theo quy định, do không khớp giữa mô hình dữ liệu miền, các bất thường có thể xảy ra khi thực hiện các thao tác tương ứng:

· Sự bất thường khi chèn (INSERT) – lưu trữ thông tin không đồng nhất ở một khía cạnh.

· Cập nhật các điểm bất thường (CẬP NHẬT) –Dự phòng dữ liệu quan hệ do lưu trữ không đồng nhất.

· Xóa bất thường (DELETE) – lưu trữ thông tin không đồng nhất trong một mối quan hệ.

Cũng cần phải tính đến những vấn đề mới nổi không xác định ( VÔ GIÁ TRỊ) giá trị. Trong các DBMS khác nhau, khi thực hiện các thao tác khác nhau (so sánh, hợp nhất, sắp xếp, nhóm, v.v.) hai VÔ GIÁ TRỊ -các giá trị có thể bằng hoặc không bằng nhau, có ảnh hưởng khác nhau đến kết quả thực hiện các phép tính xác định giá trị trung bình và tìm số lượng giá trị. Để loại bỏ lỗi trong nhiều DBMS có thể thay thế VÔ GIÁ TRỊ -giá trị bằng 0 khi thực hiện phép tính, khai báo tất cả VÔ GIÁ TRỊ -các giá trị bằng nhau, v.v.

Chuẩn hóa – chia bảng thành nhiều bảng, có thuộc tính tốt hơn khi cập nhật, chèn và xóa dữ liệu. Những thứ kia. chuẩn hóa là quá trình thay thế tuần tự một bảng bằng các phân tách hoàn chỉnh của nó cho đến khi tất cả chúng đều ở dạng 5NF; tuy nhiên, trong thực tế, chỉ cần chuyển đổi các bảng thành BCNF là đủ.

Quy trình chuẩn hóa dựa trên thực tế là các phụ thuộc hàm duy nhất trong bất kỳ bảng nào phải là các phụ thuộc có dạng , trong đó khóa chính là một số trường khác. Do đó, trong quá trình chuẩn hóa, bạn nên loại bỏ tất cả các phụ thuộc chức năng “khác”, tức là. từ những thứ có hình dáng khác với .

Nếu thay thế mã của khóa chính (ngoại) trong quá trình chuẩn hóa thì chúng ta nên xem xét 2 trường hợp:

1. Bảng có một khóa chính tổng hợp, chẳng hạn và một trường có chức năng phụ thuộc vào một phần của khóa này, chẳng hạn như trên (nó không phụ thuộc vào khóa đầy đủ). Nên tạo một bảng khác chứa và ( – khóa chính) và xóa khỏi bảng gốc:

Thay thế, khóa chính, luật liên bang

bật , khóa chính

và , khóa chính .

2. Bảng có một khóa chính (có thể), một trường không phải là khóa có thể nhưng phụ thuộc vào chức năng và một trường không phải khóa khác phụ thuộc vào chức năng:. Nên tạo một bảng chứa cả ( - khóa chính) và - xóa khỏi bảng gốc: Cần lưu ý rằng để thực hiện các hoạt động như vậy, ban đầu người ta phải có một số mối quan hệ “lớn” (phổ quát) làm dữ liệu đầu vào.

Def.1. Mối quan hệ đang ở dạng chuẩn đầu tiên (1NF) khi và chỉ khi không có hàng nào của nó chứa một giá trị duy nhất trong bất kỳ trường nào của nó và không có trường khóa nào của mối quan hệ trống.

Theo định nghĩa 1, mọi mối quan hệ sẽ ở dạng 1NF, tức là một quan hệ thỏa mãn các tính chất của quan hệ: không có bộ dữ liệu giống hệt nhau trong quan hệ; các bộ dữ liệu không được sắp xếp; các thuộc tính không được sắp xếp thứ tự và khác nhau theo tên; tất cả các giá trị thuộc tính là nguyên tử.

Def.2. Mối quan hệ đang ở dạng chuẩn thứ hai (2NF) khi và chỉ khi mối quan hệ ở dạng 1NF và không có thuộc tính không khóa nào phụ thuộc vào một phần của khóa phức (nghĩa là tất cả các trường không có trong khóa chính đều có liên quan bởi sự phụ thuộc chức năng đầy đủ vào khóa chính).

Nếu khóa ứng viên là số nguyên tố thì mối quan hệ sẽ tự động ở dạng 2NF.

Để loại bỏ sự phụ thuộc của các thuộc tính vào một phần của khóa phức tạp, cần thực hiện sự phân hủy mối quan hệ đa mối quan hệ. Các thuộc tính phụ thuộc vào một phần của khóa phức tạp được đặt trong một quan hệ riêng biệt.

Các thuộc tính của một mối quan hệ được gọi là Độc lập với nhau , nếu cả hai đều không phụ thuộc chức năng vào nhau.

Def.3. Mối quan hệ đang ở dạng chuẩn thứ ba (3NF) khi và chỉ khi mối quan hệ ở dạng 2NF và tất cả các thuộc tính không khóa đều độc lập lẫn nhau (nghĩa là không có trường không khóa nào của quan hệ phụ thuộc chức năng vào bất kỳ trường không khóa nào khác).

Để loại bỏ sự phụ thuộc của các thuộc tính không khóa, bạn cần phân tách mối quan hệ thành nhiều mối quan hệ. Trong trường hợp này, những thuộc tính không khóa phụ thuộc sẽ được đặt trong một quan hệ riêng biệt.

Khi giảm các quan hệ bằng thuật toán chuẩn hóa thành các quan hệ trong 3NF, giả định rằng tất cả các quan hệ đều chứa một khóa ứng viên. Điêu nay không phải luc nao cung đung. Đôi khi một mối quan hệ có thể chứa nhiều khóa.

Def.4. Mối quan hệ đang ở Dạng chuẩn Bays-Codd (NFBK) khi và chỉ nếu các yếu tố quyết định của tất cả các phụ thuộc chức năng là các khóa tiềm năng (hoặc nếu bất kỳ sự phụ thuộc chức năng nào giữa các bạn của nó được giảm xuống mức phụ thuộc chức năng hoàn toàn vào một khóa có thể).

Nếu một quan hệ ở BCNF thì nó sẽ tự động ở dạng 3NF, như sau trong Định nghĩa 4. Để loại bỏ sự phụ thuộc vào các định thức không phải là khóa tiềm năng, cần tiến hành phân tách, đặt các định thức này và các phần phụ thuộc vào chúng vào một mối quan hệ riêng biệt.

Đôi khi một mối quan hệ không chứa bất kỳ sự phụ thuộc chức năng nào. Những thứ kia. thái độ là hoàn toàn quan trọng, tức là. Chìa khóa của một mối quan hệ là toàn bộ tập hợp các thuộc tính. Như vậy, chúng ta có sự phụ thuộc đa giá trị, bởi vì Vẫn có mối quan hệ giữa các thuộc tính.

Def.5. Mối quan hệ đang ở dạng chuẩn thứ tư (4NF) khi và chỉ nếu mối quan hệ nằm trong BCNF và không chứa các phụ thuộc đa giá trị không tầm thường.

Theo quy luật, các mối quan hệ với các phụ thuộc đa giá trị không tầm thường phát sinh do kết quả của sự kết nối tự nhiên của hai mối quan hệ trên một trường chung, đây không phải là điều quan trọng trong bất kỳ mối quan hệ nào. Trong thực tế, điều này dẫn đến việc lưu trữ thông tin về hai thực thể độc lập trong một quan hệ.

Để loại bỏ các mối phụ thuộc đa giá trị không tầm thường, bạn có thể phân tách mối quan hệ ban đầu thành nhiều mối quan hệ mới.

Def.6. Mối quan hệ đang ở dạng chuẩn thứ năm (5NF) nếu và chỉ nếu bất kỳ sự phụ thuộc kết nối nào hiện diện đều không đáng kể.

Def.6. tương tự cũng tuân theo định nghĩa.

Def.7. Một mối quan hệ không ở mức 5NF nếu mối quan hệ đó có sự phụ thuộc nối không tầm thường.

Cái đó. Nếu trong mọi phân rã hoàn toàn, tất cả các phép chiếu của quan hệ ban đầu đều chứa một khóa có thể, thì chúng ta có thể kết luận rằng quan hệ đó ở dạng 5NF. Một quan hệ không có bất kỳ sự phân rã hoàn chỉnh nào cũng thuộc loại 5NF.

Nếu không biết bất cứ điều gì về các khóa tiềm năng trong một mối quan hệ và cách các thuộc tính được kết nối với nhau, người ta không thể nói rằng một mối quan hệ đã cho ở dạng 5NF hoặc các dạng chuẩn khác.

Manh mối có thể quan hệ là một tập hợp các thuộc tính quan hệ xác định một cách đầy đủ và duy nhất (hoàn chỉnh về mặt chức năng) giá trị của tất cả các thuộc tính khác của quan hệ. Nói chung, một quan hệ có thể có nhiều khóa. Trong số tất cả các khóa có thể có của một mối quan hệ, một khóa thường được chọn, được coi là khóa chính và được gọi là khóa chính của mối quan hệ.

Thuộc tính độc lập lẫn nhau đây là những thuộc tính không phụ thuộc vào nhau. Nếu có một số định luật vật lý trong một quan hệ thì mỗi thuộc tính hoặc tập hợp các thuộc tính mà thuộc tính khác phụ thuộc vào được gọi là định thức của quan hệ.

9. Đại số quan hệ.

Đại số quan hệ cung cấp một khuôn khổ để truy cập dữ liệu quan hệ. Mục đích chính của đại số là cung cấp các biểu thức có thể viết được. Biểu thức có thể được sử dụng cho:

· định nghĩa khu vực mẫu, I E. xác định dữ liệu để lựa chọn là kết quả của hoạt động lấy mẫu;

· định nghĩa khu vực cập nhật, I E. xác định dữ liệu sẽ được chèn, sửa đổi hoặc xóa do hoạt động cập nhật;

· sự định nghĩa (được đặt tên) quan hệ ảo, I E. trình bày dữ liệu để trực quan hóa thông qua các khung nhìn;

· định nghĩa ảnh chụp nhanh, tức là xác định dữ liệu sẽ được lưu trữ dưới dạng “ảnh chụp nhanh” của mối quan hệ;

· xác định các quy tắc an toàn, tức là xác định dữ liệu để thực hiện kiểm soát truy cập;

· xác định các yêu cầu về tính bền vững, tức là xác định dữ liệu được bao gồm trong phạm vi cho các hoạt động kiểm soát đồng thời nhất định;

· xác định các quy tắc toàn vẹn, tức là một số quy tắc cụ thể mà cơ sở dữ liệu phải đáp ứng, cùng với các quy tắc chung đại diện cho một phần của mô hình quan hệ và áp dụng cho mọi cơ sở dữ liệu.

Việc triển khai các DBMS quan hệ cụ thể hiện không sử dụng đại số quan hệ thuần túy hoặc phép tính quan hệ ở dạng thuần túy của chúng. Tiêu chuẩn thực tế để truy cập dữ liệu quan hệ đã trở thành SQL (Ngôn ngữ truy vấn có cấu trúc).

Đại số quan hệ, được định nghĩa bởi Codd, bao gồm 8 toán tử gồm 2 nhóm:

  • hoạt động thiết lập truyền thống (hợp, giao, trừ, tích Descartes);
  • các phép toán quan hệ đặc biệt (lựa chọn, chiếu, kết nối, chia).

Ngoài ra, đại số bao gồm một thao tác gán, cho phép bạn lưu kết quả tính toán các biểu thức đại số trong cơ sở dữ liệu và một thao tác đổi tên thuộc tính, giúp tạo thành chính xác tiêu đề (lược đồ) của mối quan hệ kết quả.

Tổng quan ngắn gọn về các toán tử đại số quan hệ.

Vật mẫutrả về một quan hệ chứa tất cả các bộ của một quan hệ nhất định thỏa mãn một số điều kiện. Hoạt động lấy mẫu còn được gọi là hoạt động hạn chế ( hạn chế - hạn chế, hiện nay việc lấy mẫu thường được chấp nhận hơn - LỰA CHỌN ).

Chiếutrả về một mối quan hệ chứa tất cả các bộ dữ liệu (tức là - các bộ dữ liệu con) của một mối quan hệ cụ thể sau khi loại trừ một số thuộc tính khỏi nó.

Công việctrả về một quan hệ chứa tất cả các bộ dữ liệu có thể có, tương ứng là sự kết hợp của hai bộ dữ liệu thuộc về hai quan hệ được xác định.

Một hiệp hộitrả về một quan hệ chứa tất cả các bộ thuộc về một hoặc cả hai quan hệ được xác định.

Ngã tư -trả về một quan hệ chứa tất cả các bộ thuộc đồng thời hai quan hệ được xác định.

Phép trừ –trả về một quan hệ chứa tất cả các bộ thuộc về quan hệ đầu tiên trong hai quan hệ được xác định chứ không thuộc về quan hệ thứ hai.

Kết nối (tự nhiên) – trả về một quan hệ có các bộ dữ liệu là sự kết hợp của hai bộ dữ liệu (thuộc tương ứng với hai quan hệ được xác định) có giá trị chung cho một hoặc nhiều thuộc tính chung của hai quan hệ (và các giá trị chung đó chỉ xuất hiện một lần trong bộ dữ liệu kết quả, không hai lần).

Phân công -đối với hai quan hệ, nhị phân và một ngôi, trả về một quan hệ chứa tất cả các giá trị của một thuộc tính của quan hệ nhị phân khớp với (trong thuộc tính kia) tất cả các giá trị trong quan hệ một ngôi.

VĂN HỌC

1. Ngày K.J. Giới thiệu về Hệ thống cơ sở dữ liệu, tái bản lần thứ 6: Trans. từ tiếng Anh - ĐẾN.; M.; St.Petersburg: Nhà xuất bản Williams, 2000. – 848 tr.

2. Connolly T., Begg K., Strachan A. Cơ sở dữ liệu: thiết kế, triển khai và bảo trì. Lý thuyết và thực hành, tái bản lần thứ 2: Trans. từ tiếng Anh – M.: Nhà xuất bản Williams, 2000. – 1120 tr.

3. Karpova T.S. Cơ sở dữ liệu: mô hình, phát triển, triển khai. – St.Petersburg: Peter, 2001. – 304 tr.

4. Faronov V.V., Shumak P.V. Delphi 4. Hướng dẫn dành cho nhà phát triển cơ sở dữ liệu. – M.: “Kiến thức”, 1999. – 560 tr.

5. J. Groff, P. Weinberg. SQL: Hướng dẫn đầy đủ: Per. từ tiếng Anh – K.: Tập đoàn xuất bản BHV, 2001. – 816 tr.

6. Ken Goetz, Paul Litwin, Mike Gilbert. Access 2000. Hướng dẫn dành cho nhà phát triển. T.1, 2. Per. từ tiếng Anh – K.: Tập đoàn xuất bản BHV, 2000. – 1264 tr., 912 tr.

7. Maklakov S.V BPwin và EPwin. CASE-công cụ để phát triển hệ thống thông tin. – M.: DIALOG-MEPhI, 2001. – 304 tr.

8. Ullman D., Widom D. Giới thiệu về hệ thống cơ sở dữ liệu / Transl. từ tiếng Anh – M.: “Lori”, 2000. – 374 tr.

9. Khomonenko A.D., Tsygankov V.M., Maltsev M.G. Cơ sở dữ liệu: Sách giáo khoa cho các cơ sở giáo dục đại học / Ed. Giáo sư A.D. Khomonenko. – St. Petersburg: Bản in CORONA, 2000. – 416 tr.

Kiến trúc cơ sở dữ liệu

Kiến trúc cơ sở dữ liệu do nhóm nghiên cứu ANSI/SPARC đề xuất bao gồm ba cấp độ: nội bộ, khái niệm và bên ngoài. Nói chung, chúng như sau:

Cấp độ bên ngoài

Cấp độ bên ngoài là cấp độ người dùng cá nhân. Mỗi người dùng có ngôn ngữ giao tiếp riêng.

Đối với một lập trình viên ứng dụng, đây là một trong những ngôn ngữ lập trình phổ biến.

Đối với người dùng cuối, đây là ngôn ngữ truy vấn đặc biệt hoặc ngôn ngữ có mục đích đặc biệt, có thể dựa trên biểu mẫu và menu, được thiết kế riêng cho các yêu cầu và được hỗ trợ bởi một số ứng dụng trực tuyến.

Cấp khái niệm

Chế độ xem khái niệm là sự thể hiện tất cả thông tin cơ sở dữ liệu ở dạng trừu tượng hơn một chút (như trường hợp của chế độ xem bên ngoài) so với cách lưu trữ dữ liệu vật lý. Tuy nhiên, cách biểu diễn khái niệm khá khác với cách trình bày dữ liệu cho bất kỳ người dùng cá nhân nào. Nói chung, chế độ xem khái niệm là sự thể hiện dữ liệu như “nó thực sự là như vậy” chứ không phải là người dùng buộc phải xem nó trong khuôn khổ, chẳng hạn như một ngôn ngữ cụ thể hoặc phần cứng đang được sử dụng.

Một biểu diễn khái niệm bao gồm nhiều thể hiện của từng loại bản ghi khái niệm. Ví dụ: nó có thể bao gồm một tập hợp các trường hợp bản ghi chứa thông tin về các cá nhân, cộng với một tập hợp các trường hợp chứa thông tin về các bộ phận, v.v. Một mặt, bản ghi khái niệm không nhất thiết phải trùng khớp với bản ghi bên ngoài và mặt khác với bản ghi được lưu trữ.

Một khung nhìn khái niệm được xác định bằng cách sử dụng lược đồ khái niệm, bao gồm các định nghĩa cho từng loại bản ghi khái niệm. Lược đồ khái niệm sử dụng một ngôn ngữ định nghĩa dữ liệu khác, có tính khái niệm.

Một khung nhìn khái niệm là sự biểu diễn toàn bộ nội dung của cơ sở dữ liệu và lược đồ khái niệm là định nghĩa của sự biểu diễn đó. Tuy nhiên, sẽ là sai lầm nếu cho rằng sơ đồ khái niệm không gì khác hơn là một tập hợp các định nghĩa, giống như các mối quan hệ đơn giản giữa các mục trong một chương trình.

Cấp độ nội bộ

Chế độ xem nội bộ là chế độ xem cấp thấp của toàn bộ cơ sở dữ liệu; nó bao gồm nhiều phiên bản của từng loại bản ghi nội bộ.

Thuật ngữ "bản ghi nội bộ" thuộc thuật ngữ ANSI/SPARC và đề cập đến một cấu trúc được gọi là bản ghi được lưu trữ. Biểu diễn bên trong, giống như biểu diễn bên ngoài và biểu diễn khái niệm, không liên quan đến lớp vật lý vì nó không xem xét các vùng vật lý của thiết bị lưu trữ, chẳng hạn như hình trụ và đường ray. Nói cách khác, biểu diễn bên trong giả định một không gian địa chỉ tuyến tính vô hạn; chi tiết về cách ánh xạ không gian địa chỉ tới thiết bị lưu trữ vật lý rất cụ thể theo hệ thống và không được đưa vào kiến ​​trúc tổng thể một cách có chủ ý.

Việc biểu diễn bên trong được mô tả bằng cách sử dụng một lược đồ bên trong, lược đồ này xác định không chỉ các loại bản ghi khác nhau đang được lưu trữ mà còn xác định các chỉ mục tồn tại, cách trình bày các trường được lưu trữ, trình tự vật lý của các bản ghi được lưu trữ, v.v. Lược đồ bên trong được viết bằng ngôn ngữ định nghĩa dữ liệu khác - nội bộ.

Các ứng dụng sử dụng cơ sở dữ liệu thường được phân loại thành một trong các kiến ​​trúc phần mềm, có những ưu và nhược điểm riêng.

Kiến trúc địa phương.

Cả chương trình và cơ sở dữ liệu đều được đặt trên cùng một máy tính. Hầu hết các ứng dụng máy tính để bàn đều chạy trên kiến ​​trúc này.

Kiến trúc tập tin - máy chủ.

Cơ sở dữ liệu được đặt trên một máy tính (máy chủ) chuyên dụng mạnh mẽ và các máy tính cá nhân được kết nối với nó qua mạng cục bộ. Những máy tính này được cài đặt các chương trình máy khách để truy cập cơ sở dữ liệu qua mạng. Ưu điểm của kiến ​​trúc này là khả năng cho nhiều người dùng làm việc đồng thời với một cơ sở dữ liệu.

Nhược điểm của phương pháp này là khối lượng lớn thông tin được truyền qua mạng. Tất cả quá trình xử lý được thực hiện ở phía máy khách, nơi thực sự tạo ra một bản sao của cơ sở dữ liệu. Điều này dẫn đến sự hạn chế về số lượng người dùng tối đa có thể và độ trễ lớn khi làm việc với cơ sở dữ liệu. Những sự chậm trễ này là do thực tế là không thể truy cập đồng thời ở cấp độ bảng cụ thể. Cho đến khi một chương trình trên một trong các trang web của khách hàng hoàn thành công việc với bảng (ví dụ: sửa đổi bản ghi), các chương trình khác không thể truy cập vào bảng này. Điều này được gọi là khóa cấp độ bảng và ngăn ngừa sự nhầm lẫn về nội dung của bảng.

Kiến trúc máy khách - máy chủ.

Trong kiến ​​trúc này, máy chủ không chỉ lưu trữ cơ sở dữ liệu mà còn chạy chương trình DBMS để xử lý các yêu cầu của người dùng và trả về các bộ bản ghi cho họ. Trong trường hợp này, các chương trình người dùng không còn hoạt động, chẳng hạn như với cơ sở dữ liệu dưới dạng một tập hợp các tệp vật lý mà chuyển sang DBMS để thực hiện các hoạt động. Điều này sẽ loại bỏ tải khỏi các trang web của khách hàng vì hầu hết công việc diễn ra trên máy chủ. DBMS tự động giám sát tính toàn vẹn và bảo mật của cơ sở dữ liệu, đồng thời kiểm soát quyền truy cập thông tin bằng dịch vụ mật khẩu. DBMS máy khách-máy chủ cho phép chặn ở cấp bản ghi và thậm chí ở cấp trường riêng lẻ. Điều này có nghĩa là bất kỳ số lượng người dùng nào cũng có thể làm việc với bảng, nhưng chỉ một trong số họ có quyền truy cập vào chức năng thay đổi một bản ghi cụ thể hoặc một trong các trường của nó.

Nhược điểm chính của kiến ​​trúc này là độ tin cậy không cao. Nếu máy chủ ngừng hoạt động, mọi công việc sẽ dừng lại.

Kiến trúc phân tán.

Có nhiều máy chủ chạy trên mạng và các bảng cơ sở dữ liệu được phân bổ giữa chúng để đạt được hiệu quả cao hơn. Mỗi máy chủ có bản sao DBMS riêng. Ngoài ra, kiến ​​trúc như vậy thường sử dụng các chương trình đặc biệt, được gọi là máy chủ ứng dụng. Chúng cho phép bạn tối ưu hóa việc xử lý yêu cầu từ một số lượng lớn người dùng và phân bổ tải đồng đều giữa các máy tính trên mạng.

Nhược điểm của kiến ​​trúc phân tán là quá trình tạo và bảo trì (quản trị) khá phức tạp và tốn kém, cũng như yêu cầu cao đối với máy chủ.

Kiến trúc Internet.

Việc truy cập vào cơ sở dữ liệu và DBMS (được phân phối trên cùng một máy tính hoặc mạng) được thực hiện từ trình duyệt bằng giao thức chuẩn. Điều này trình bày

yêu cầu tối thiểu đối với thiết bị của khách hàng. Các chương trình như vậy được gọi là "máy khách mỏng" vì chúng có thể hoạt động ngay cả trên các PC yếu; ví dụ: bạn không thể tổ chức mạng cục bộ mà truy cập máy chủ qua Internet trên mạng cục bộ (trong trường hợp này chúng ta nói về công nghệ mạng nội bộ ). Trong trường hợp này, không cần phải phát triển các chương trình máy khách đặc biệt hoặc đưa ra các thông số kỹ thuật của riêng bạn để trao đổi dữ liệu giữa máy chủ và trang web máy khách. Chỉ cần sử dụng các trình duyệt và giải pháp phần mềm làm sẵn là đủ.

Kiến trúc DBMS trước hết phải đảm bảo sự phân biệt giữa cấp độ người dùng và hệ thống. Hiện nay, kiến ​​trúc được hỗ trợ phổ biến nhất là kiến ​​trúc mô tả cơ sở dữ liệu ba cấp độ với ba cấp độ trừu tượng mà tại đó cơ sở dữ liệu có thể được xem. Kiến trúc này bao gồm: cấp độ bên ngoài, cấp độ bên trong, cấp độ khái niệm.

Mục đích chính của kiến ​​trúc ba tầng là đảm bảo tính độc lập của dữ liệu. Bản chất của sự độc lập này là những thay đổi ở cấp dưới không ảnh hưởng đến cấp trên. Có hai loại độc lập dữ liệu: logic (có nghĩa là bảo vệ hoàn toàn các lược đồ bên ngoài khỏi những thay đổi được thực hiện đối với lược đồ khái niệm) và vật lý (bảo vệ lược đồ khái niệm khỏi những thay đổi được thực hiện đối với lược đồ bên trong).

Ở cấp độ bên ngoài, người dùng nhận biết dữ liệu, trong đó các nhóm người dùng riêng lẻ có chế độ xem (PP) riêng của cơ sở dữ liệu. Mỗi loại người dùng có thể sử dụng ngôn ngữ giao tiếp riêng của họ để làm việc với cơ sở dữ liệu. Người dùng cuối sử dụng ngôn ngữ truy vấn hoặc ngôn ngữ đặc biệt được hỗ trợ bởi các ứng dụng gọi màn hình và menu tùy chỉnh dành riêng cho người dùng.

Lớp khái niệm là lớp trung gian trong kiến ​​trúc ba lớp và cung cấp một biểu diễn trừu tượng của tất cả thông tin cơ sở dữ liệu. Mô tả cơ sở dữ liệu ở cấp độ này được gọi là lược đồ khái niệm, bao gồm các đối tượng và thuộc tính của chúng, mối quan hệ giữa các đối tượng, các hạn chế áp đặt đối với dữ liệu, thông tin ngữ nghĩa về dữ liệu, bảo mật và hỗ trợ toàn vẹn dữ liệu.

Lược đồ bên trong mô tả việc triển khai vật lý của cơ sở dữ liệu và được thiết kế để đạt được hiệu suất tối ưu và đảm bảo sử dụng hiệu quả không gian đĩa. Ở cấp độ bên trong, DBMS tương tác với các phương thức truy cập của hệ điều hành nhằm mục đích đặt dữ liệu trên các thiết bị lưu trữ, tạo chỉ mục, truy xuất dữ liệu, v.v. Các thông tin sau được lưu trữ ở cấp độ bên trong: phân bổ không gian đĩa để lưu trữ dữ liệu và chỉ mục, mô tả chi tiết về việc lưu bản ghi, thông tin về vị trí đặt bản ghi, thông tin về nén dữ liệu và các phương pháp mã hóa đã chọn. Bên dưới lớp bên trong là lớp vật lý, được điều khiển bởi hệ điều hành nhưng dưới sự hướng dẫn của DBMS. Lớp vật lý xem xét dữ liệu sẽ được thể hiện như thế nào trong máy.

Việc triển khai kiến ​​trúc cơ sở dữ liệu ba cấp yêu cầu DBMS truyền thông tin từ cấp này sang cấp khác, nghĩa là chuyển đổi địa chỉ và con trỏ thành các tên và quan hệ logic tương ứng và ngược lại. Lợi ích của việc dịch như vậy là tính độc lập của cách biểu diễn dữ liệu về mặt logic và vật lý, nhưng cái giá phải trả cho sự độc lập này không hề nhỏ - độ trễ lớn của hệ thống.

Theo kiến ​​trúc của chúng, các DBMS được chia thành một, hai và ba tầng [ 191. Trong kiến ​​trúc một tầng (Hình 1.11, a) một liên kết đơn (máy khách) được sử dụng, cung cấp logic cần thiết cho dữ liệu quản lý và trực quan hóa chúng. Trong kiến ​​trúc hai tầng (Hình 1.11, 6) một phần quan trọng của logic quản lý dữ liệu được triển khai bởi máy chủ cơ sở dữ liệu (máy chủ DB), trong khi liên kết máy khách chủ yếu đảm nhiệm việc hiển thị dữ liệu ở dạng thân thiện với người dùng. Trong DBMS ba tầng (Hình 1.11, V) một liên kết trung gian được sử dụng - một máy chủ ứng dụng,

Cơm. 1.11.

MỘT - liên kết đơn; 6 - hai liên kết; V - ba tầng, là trung gian giữa máy khách và máy chủ cơ sở dữ liệu. Máy chủ ứng dụng cho phép bạn loại bỏ hoàn toàn các chức năng quản lý dữ liệu và liên lạc với máy chủ cơ sở dữ liệu của máy khách.

Tùy thuộc vào vị trí của các phần riêng lẻ của DBMS, DBMS cục bộ và DBMS mạng được phân biệt. Tất cả các phần của DBMS cục bộ đều được đặt trên máy tính của người dùng đang truy cập cơ sở dữ liệu. Để nhiều người dùng có thể làm việc với cùng một cơ sở dữ liệu cùng một lúc, mỗi máy tính người dùng phải có quyền truy cập vào bản sao cơ sở dữ liệu cục bộ của riêng mình. Một vấn đề quan trọng với DBMS loại này là sự đồng bộ hóa nội dung của các bản sao dữ liệu (sao chép dữ liệu), đó là lý do tại sao các DBMS cục bộ không phù hợp để giải quyết các vấn đề đòi hỏi sự cộng tác của nhiều người dùng.

Các DBMS mạng bao gồm máy chủ tệp, máy khách-máy chủ và DBMS phân tán. Thuộc tính không thể thiếu của các hệ thống này là mạng cung cấp giao tiếp phần cứng giữa các máy tính và giúp nhiều người dùng có thể làm việc cùng nhau trên cùng một cơ sở dữ liệu.

Trong DBMS máy chủ tệp, toàn bộ cơ sở dữ liệu thường được đặt trên một hoặc nhiều thiết bị lưu trữ của một máy đủ mạnh, dành riêng cho các mục đích này và được kết nối liên tục với mạng. Một máy tính như vậy được gọi là máy chủ tập tin. Ưu điểm không thể nghi ngờ của DBMS loại này là sự đơn giản tương đối trong việc tạo và bảo trì nó, vì trên thực tế, mọi thứ đều phụ thuộc vào việc tổ chức mạng cục bộ và cài đặt hệ điều hành mạng trên các máy tính được kết nối với nó. Không có sự khác biệt cụ thể nào giữa các phiên bản máy chủ cục bộ và máy chủ tệp của DBMS, vì trong đó tất cả các phần của DBMS đều tập trung vào máy tính của người dùng. Chúng thường có kiến ​​trúc một tầng, nhưng trong một số trường hợp, chúng có thể sử dụng máy chủ ứng dụng. Nhược điểm của hệ thống máy chủ tập tin là tải trọng đáng kể trên mạng. Ví dụ: nếu người dùng làm việc trên máy khách cần tìm thông tin về một trong những cuốn sách có sẵn trong thư viện thì toàn bộ tệp chứa thông tin về tất cả các cuốn sách trước tiên sẽ được chuyển qua mạng và chỉ sau đó mới tìm thấy thông tin cần thiết. trong bản sao cục bộ của dữ liệu được tạo theo cách này. Khi làm việc chuyên sâu với dữ liệu từ vài chục người dùng, băng thông mạng có thể không đủ và người dùng sẽ khó chịu vì sự chậm trễ đáng kể trong phản hồi của DBMS đối với yêu cầu của mình. DBMS máy chủ tệp có thể được sử dụng thành công trong các tổ chức tương đối nhỏ với tối đa vài chục trang web khách hàng.

Hệ thống máy khách-máy chủ (hai tầng) giảm đáng kể tải trên mạng vì máy khách giao tiếp với dữ liệu thông qua một trung gian chuyên dụng - máy chủ cơ sở dữ liệu, được đặt trên máy có cơ sở dữ liệu. Máy chủ cơ sở dữ liệu nhận được yêu cầu từ máy khách, tìm bản ghi cần thiết trong dữ liệu và truyền nó đến máy khách. Do đó, một yêu cầu tương đối ngắn và một bản ghi cần thiết sẽ được truyền tới mạng, ngay cả khi cơ sở dữ liệu chứa hàng trăm nghìn bản ghi. Theo quy định, yêu cầu tới máy chủ được hình thành bằng ngôn ngữ truy vấn đặc biệt SQL, đó là lý do tại sao máy chủ cơ sở dữ liệu thường được gọi là máy chủ SQL. Máy chủ cơ sở dữ liệu là các chương trình tương đối phức tạp được phát triển bởi nhiều công ty khác nhau, ví dụ: Microsoft SQL Server (SQL Server) do tập đoàn Microsoft sản xuất, Sybase Adaptive Server của Sybase Corporation, Oracle do tập đoàn cùng tên sản xuất, DB2 của IBM Corporation, InterBase của Tập đoàn Borland, v.v. DBMS máy khách-máy chủ cung cấp hoạt động hoặc mở rộng quy mô cho hàng trăm và hàng nghìn vị trí máy khách.

Các DBMS phân tán có thể chứa hàng chục hoặc hàng trăm máy chủ cơ sở dữ liệu. Số lượng khách hàng ở đó có thể lên tới hàng chục, hàng trăm nghìn. Thông thường, các DBMS như vậy hỗ trợ công việc của các tổ chức cấp nhà nước (ví dụ: Ủy ban bầu cử trung ương Liên bang Nga), các bộ phận riêng lẻ được phân tán trên một lãnh thổ rộng lớn. Trong các DBMS phân tán, một số máy chủ có thể sao chép lẫn nhau để đạt được xác suất lỗi cực kỳ thấp và các lỗi có thể làm sai lệch thông tin quan trọng.

Sự liên quan của các DBMS phân tán đã tăng lên do sự phát triển nhanh chóng của Internet. Dựa trên khả năng của Internet, các hệ thống phân tán đang được xây dựng không chỉ bởi các tổ chức cấp nhà nước mà còn bởi các doanh nghiệp thương mại tương đối nhỏ, cho phép nhân viên của họ làm việc với dữ liệu của công ty tại nhà và khi đi công tác.