Công cụ ngôn ngữ cho hệ thống quản lý cơ sở dữ liệu. Công cụ ngôn ngữ phụ: yaod và yamd

DBMS là một tập hợp các công cụ ngôn ngữ và phần mềm được thiết kế để tạo, duy trì và chia sẻ cơ sở dữ liệu với nhiều người dùng. Các chức năng của DBMS là mô tả dữ liệu, thao tác dữ liệu và cách sử dụng chúng. Các chức năng này được triển khai nhờ DBMS có ngôn ngữ mô tả dữ liệu (DDL), ngôn ngữ thao tác dữ liệu (DML) và ngôn ngữ truy vấn.

YaOD bao gồm ngôn ngữ mô tả dữ liệu logic và ngôn ngữ mô tả dữ liệu vật lý. Ngôn ngữ mô tả logic dữ liệu cung cấp khả năng nhận dạng các tệp cơ sở dữ liệu, đối tượng cơ sở dữ liệu, trường cơ sở dữ liệu và loại của chúng; xác định độ dài của bản ghi, trường, thứ tự các trường trong bản ghi, phạm vi giá trị trường có thể chấp nhận, v.v. Sử dụng ngôn ngữ này, người dùng hình thành chế độ xem cơ sở dữ liệu của riêng mình - một cơ sở dữ liệu logic được tạo. Ngôn ngữ mô tả dữ liệu vật lý xác định cách dữ liệu được đặt trên phương tiện máy tính, cách xử lý và tìm kiếm dữ liệu. Thông qua ngôn ngữ này, chế độ xem cơ sở dữ liệu của hệ thống được hình thành - cơ sở dữ liệu vật lý được tạo.

YaMD giúp tổ chức lại dữ liệu trong cơ sở dữ liệu (thêm dữ liệu mới, xóa dữ liệu không cần thiết, cập nhật dữ liệu hiện có).

Ngôn ngữ truy vấn cung cấp quyền truy cập và truy xuất dữ liệu dựa trên yêu cầu của người dùng.

Phương tiện ngôn ngữ có thể được thực hiện theo nhiều cách khác nhau: cấu trúc cú pháp (lệnh), menu, tập lệnh hộp thoại, bảng.

Nhiều DBMS có khả năng mô tả, thao tác và đọc dữ liệu trong một khung cú pháp duy nhất—khuôn khổ của ngôn ngữ SQL, được sử dụng rộng rãi làm ngôn ngữ cơ sở dữ liệu.

Thông thường người dùng yêu cầu xử lý phân tích dữ liệu cơ sở dữ liệu phức tạp hơn, điều này không thể đạt được thông qua hệ thống menu DBMS. Trong trường hợp này, cần phải phát triển các chương trình ứng dụng. Để tạo ra chúng, DBMS có sẵn một ngôn ngữ lập trình.

Nhờ các công cụ ngôn ngữ, người dùng được cung cấp quyền truy cập vào cơ sở dữ liệu bằng những thuật ngữ trừu tượng không liên quan đến phương pháp lưu trữ dữ liệu trong máy tính.

Phần mềm DBMS cung cấp công việc với cơ sở dữ liệu vật lý và thực hiện tất cả các chức năng của nó, thực hiện các chức năng lưu trữ, thay đổi và xử lý dữ liệu. Các thành phần phần mềm: – quản lý dữ liệu; - quản lý bộ đệm; – người quản lý giao dịch, v.v.

Nhờ chức năng được phát triển, DBMS được sử dụng như một công cụ mạnh mẽ để tạo và duy trì cơ sở dữ liệu thông tin của hệ thống thông tin tự động (AIS), cho phép giảm thời gian phát triển và tiết kiệm nguồn nhân lực, vật chất và tài chính.

16. Kiến trúc cơ sở dữ liệu con. Công cụ thiết kế, hệ thống con xử lý, lõi cơ sở dữ liệu.

Các chức năng của DBMS: 1) định nghĩa dữ liệu (xác định cấu trúc dữ liệu, loại dữ liệu, kết nối giữa dữ liệu và các vấn đề khác); 2) xử lý dữ liệu (sắp xếp, lọc, tính toán, nhóm, v.v.); 3) quản lý dữ liệu (tổ chức bảo vệ, phục hồi trong trường hợp hư hỏng, đảm bảo tính toàn vẹn của dữ liệu.).

1.Phần cứng. Một DBMS thường yêu cầu một mức RAM và bộ nhớ đĩa tối thiểu nhất định để hoạt động, nhưng cấu hình tối thiểu như vậy có thể hoàn toàn không đủ để đạt được hiệu năng hệ thống có thể chấp nhận được.

2.Phần mềm. Thành phần này bao gồm hệ điều hành, phần mềm của chính DBMS, các chương trình ứng dụng, bao gồm cả phần mềm mạng nếu DBMS được sử dụng trên mạng.

3. Dữ liệu là thành phần quan trọng nhất về mặt người dùng cuối. Cơ sở dữ liệu chứa cả dữ liệu vận hành và siêu dữ liệu, tức là "dữ liệu về dữ liệu".

4.Các thủ tục, bao gồm đăng ký trong DBMS; sử dụng một công cụ hoặc ứng dụng DBMS riêng biệt; khởi động và dừng DBMS; Sự sáng tạo bản sao lưu cơ sở dữ liệu; Xử lý các lỗi phần cứng và phần mềm.

5.Người dùng: khách hàng cơ sở dữ liệu, quản trị viên cơ sở dữ liệu, lập trình viên ứng dụng.

Các DBMS hiện đại khác nhau về đặc điểm và chức năng mà chúng thực hiện. Tuy nhiên, trong hầu hết chúng, có thể phân biệt ba thành phần: 1) một hệ thống con gồm các công cụ thiết kế; 2) hệ thống con của các công cụ xử lý; 3) Nhân DBMS.

Hệ thống con công cụ thiết kế là một bộ công cụ cho phép thiết kế và triển khai cơ sở dữ liệu cũng như các ứng dụng của chúng. Thường bao gồm các công cụ để tạo bảng, biểu mẫu, truy vấn và báo cáo.

Hệ thống xử lý con cung cấp công việc với các thành phần được tạo bằng các công cụ thiết kế. Đây là bộ xử lý biểu mẫu, bộ xử lý truy vấn, bộ tạo báo cáo và các công cụ xử lý dựa trên ngôn ngữ thủ tục.

Cốt lõi Hệ thống đóng vai trò trung gian giữa thiết kế và xử lý các hệ thống con và dữ liệu. Nhân DBMS nhận các yêu cầu từ hai thành phần còn lại và chuyển đổi chúng thành các lệnh hệ điều hành để ghi và đọc dữ liệu từ thiết bị vật lý. Kernel là phần cư trú chính của DBMS. Nó có giao diện riêng, người dùng không thể truy cập trực tiếp.

Gửi công việc tốt của bạn trong cơ sở kiến ​​thức rất đơn giản. Sử dụng mẫu dưới đây

Các sinh viên, nghiên cứu sinh, các nhà khoa học trẻ sử dụng nền tảng kiến ​​thức trong học tập và công việc sẽ rất biết ơn các bạn.

Đăng trên http://www.allbest.ru/

1. Phần lý thuyết

1 . 1 Công cụ ngôn ngữ DBMS

Công cụ ngôn ngữ được thiết kế để giao tiếp với người dùng các lớp khác nhau từ ngân hàng dữ liệu. Các công cụ ngôn ngữ được sử dụng để mô tả các thành phần khác nhau của ngân hàng dữ liệu và đôi khi - các yếu tố bên ngoài ngân hàng có tương tác trực tiếp với nó, cũng như để chỉ các phần cần thiết của ngân hàng dữ liệu.

Ngôn ngữ mô tả dữ liệu được phân loại tùy theo mục đích của chúng. Mô tả về thành phần và tổ chức logic của cơ sở dữ liệu bằng ngôn ngữ mô tả dữ liệu được gọi là lược đồ và ngôn ngữ tương ứng được gọi là ngôn ngữ mô tả dữ liệu lược đồ. Mô tả một phần cơ sở dữ liệu mà một người dùng (ứng dụng) cụ thể quan tâm được gọi là lược đồ con. Một ngôn ngữ thích hợp được cung cấp để mô tả mạch con. Môi trường lưu trữ cơ sở dữ liệu và ánh xạ lược đồ tới bộ nhớ tương ứng được mô tả bằng ngôn ngữ mô tả dữ liệu được lưu trữ. Ngôn ngữ này đôi khi được gọi là ngôn ngữ mô tả lược đồ lưu trữ.

Chức năng của mô hình dữ liệu được hỗ trợ bởi các công cụ DBMS sẽ có sẵn cho người dùng cuối, nhà phát triển ứng dụng và nhân viên quản trị dữ liệu hệ thống do việc triển khai nó dưới dạng một bộ công cụ ngôn ngữ được DBMS hiện tại hỗ trợ. thực hiện các ngôn ngữ như vậy. Dành cho người dùng và nhà phát triển nâng cao ứng dụng phức tạp phương tiện ngôn ngữ được cung cấp, như một quy luật, ở dạng cú pháp rõ ràng của chúng. Cấu trúc cú pháp của các ngôn ngữ như vậy có thể được sử dụng trong chương trình ứng dụngà, tương tác với DBMS bằng giao diện lập trình ứng dụng. Đối với người dùng cuối, chức năng của các ngôn ngữ này thường có sẵn ở dạng ngầm do chúng được triển khai theo nguyên tắc của cái gọi là ngôn ngữ thế hệ thứ tư(4GL) - giao diện người dùng bao gồm nhiều loại menu, tập lệnh hộp thoại, biểu mẫu màn hình do người dùng điền và các phương tiện trình bày truy vấn thân thiện với người dùng khác. Dựa trên dữ liệu được người dùng nhập bằng giao diện như vậy, các cấu trúc cú pháp tương ứng của ngôn ngữ giao diện sẽ được hình thành và chúng được chuyển để thực thi tới bộ xử lý truy vấn trong DBMS.

Các ngôn ngữ nổi tiếng nhất thuộc loại này là:

* Smalltalking - trò chuyện nhỏ;

* QBE (Truy vấn bằng ví dụ-lập trình bằng ví dụ);

* Fort, được sử dụng để giải quyết các vấn đề mô phỏng phức tạp trong hệ thống trí tuệ nhân tạo V. hệ thống đồ họa và như thế. Tính năng chính của ngôn ngữ Forth là tính mở, cho phép bạn xây dựng các chức năng mới dựa trên các định nghĩa hiện có. Trong trường hợp này, người lập trình có thể giới thiệu các thao tác, kiểu dữ liệu hoặc định nghĩa mới. Khả năng hỗ trợ chế độ đa nhiệm của Fort được cung cấp bởi các thuộc tính của hệ điều hành. Một vị trí đặc biệt trong số các ngôn ngữ lập trình bị chiếm giữ bởi ngôn ngữ chức năng, đặc biệt là Prolog (PROLOG -PROgram-ming in LOGic - lập trình logic), do A. Kalmeroe đề xuất vào năm 1978, là ngôn ngữ lập trình logic thuộc thế hệ ngôn ngữ thứ năm. Mục đích chính của ngôn ngữ là phát triển chương trình thông minh và hệ thống. Prolog là ngôn ngữ lập trình được tạo riêng để làm việc với các cơ sở tri thức dựa trên các sự kiện và quy tắc (một trong những yếu tố của hệ thống trí tuệ nhân tạo). Ngôn ngữ thực hiện cơ chế quay lui để thực hiện một chuỗi lý luận ngược, trong đó những suy luận hoặc kết luận nhất định được coi là đúng và sau đó những giả định này được kiểm tra dựa trên cơ sở tri thức chứa các sự kiện và quy tắc suy luận. Nếu giả định không được xác nhận, thì kết quả trả về sẽ được thực hiện và một giả định mới sẽ được thực hiện.

Các công cụ ngôn ngữ DBMS chủ yếu nhằm mục đích phát triển các chương trình ứng dụng để giải quyết các vấn đề quản lý kinh tế, thông tin được lưu trữ và hỗ trợ bằng cơ sở dữ liệu. Cú pháp của ngôn ngữ lập trình trong môi trường DBMS không khác nhiều so với cú pháp ngôn ngữ cấp cao lập trình, và do đó, các công cụ phần mềm này chủ yếu nhắm đến các lập trình viên chuyên nghiệp, mặc dù sự hiện diện của các công cụ được phát triển để gợi ý và trợ giúp (dưới dạng ví dụ minh họa việc sử dụng các cấu trúc ngôn ngữ riêng lẻ) tạo điều kiện thuận lợi đáng kể cho công việc của nhiều người dùng.

Sequel (Ngôn ngữ truy vấn tiếng Anh có cấu trúc) và phiên bản SQL cải tiến của nó là các ngôn ngữ thao tác dữ liệu dựa trên phép tính quan hệ. Chúng được sử dụng trong các DBMS quan hệ làm ngôn ngữ truy vấn cơ sở dữ liệu và ngôn ngữ lập trình cho các tác vụ xử lý dữ liệu.

1.2 Chức năngCông cụ ngôn ngữ DBMS

Các công cụ ngôn ngữ DBMS được sử dụng để thực hiện các chức năng mô tả cách trình bày cơ sở dữ liệu (ngôn ngữ mô tả dữ liệu), thực hiện các thao tác thao tác dữ liệu (ngôn ngữ thao tác dữ liệu) và cung cấp dữ liệu cho người dùng về các yêu cầu của họ (ngôn ngữ truy vấn).

Các hàm DBMS

1. Quản lý dữ liệu trong bộ nhớ ngoài;

2 . quản lý bộ đệm trong bộ nhớ ngoài:

Bộ đệm là để làm mượt các tốc độ khác nhau giữa bộ nhớ ngoài và bộ nhớ trong.

Khi làm việc với cơ sở dữ liệu, DBMS có thể xác định liệu một số dữ liệu có liên quan nhiều hay ít. Dữ liệu mới nhất có thể được lưu trữ trong bộ đệm mọi lúc. Tính năng này cải thiện hiệu quả xử lý dữ liệu.

3 . quản lý giao dịch:

giao dịch - một chuỗi các thao tác trên dữ liệu từ cơ sở dữ liệu, được DBMS coi là một tổng thể logic. Theo logic toàn bộ, chúng tôi muốn nói rằng DBMS ghi lại phần đầu của một tập hợp các hoạt động và phần kết thúc của nó. Tính năng này là cần thiết để duy trì tính toàn vẹn của dữ liệu và tính nhất quán về mặt logic cũng như quản lý dữ liệu an toàn. Giao dịch phải kết thúc bằng cách cam kết một trạng thái mới hoặc bằng cách khôi phục trạng thái trước đó (khôi phục). Có thể thực hiện song song nhiều giao dịch (nhưng đôi khi điều này là không thể). Thực hiện nối tiếp các giao dịch - thực hiện theo cái gọi là kế hoạch nối tiếp. Kế hoạch nối tiếp - kế hoạch thực hiện giao dịch trong đó tác động của hỗn hợp các giao dịch tương đương với việc thực hiện tuần tự của chúng. Các thuật toán tuần tự hóa dựa trên các bản chụp nối tiếp (đồng bộ hóa). Mục đích của việc nắm bắt như vậy là để xây dựng một kế hoạch nối tiếp.

4. Viết nhật ký - lưu giữ một số loại nhật ký:

Có hai loại thất bại:

Mềm, liên quan đến mất điện, dừng máy khẩn cấp, lỗi hệ điều hành;

Cứng - đặc trưng bởi sự mất thông tin trên phương tiện truyền thông bên ngoài(HD tai nạn).

Trong trường hợp có bất kỳ loại lỗi nào, cần phải cung cấp dịch vụ phục hồi thông tin. Điều này ngụ ý lưu trữ thông tin bổ sung dư thừa. Thông tin cần thiết để phục hồi được lưu trữ trong nhật ký. Nhật ký là một phần của DBMS mà người dùng không thể truy cập được và được duy trì cẩn thận. Tạp chí được lưu trữ thành nhiều bản hoặc trên nhiều phương tiện. Nhật ký được sử dụng để ghi lại tất cả các thay đổi được thực hiện đối với dữ liệu. Từ quan điểm này, có thể xem xét hai phiên bản của tạp chí:

Tạp chí thay đổi cục bộ- ghi lại các hoạt động riêng lẻ liên quan đến việc thay đổi các trang bộ nhớ ngoài;

Nhật ký thay đổi toàn cầu - ghi lại kết quả của giao dịch hoặc bộ giao dịch.

Khi sử dụng nhật ký, chiến lược WAL (Write Ahead Log) sẽ được sử dụng. Mục đích của chiến lược này là ghi lại những thay đổi trước chính những thay đổi đó.

Trong trường hợp xảy ra lỗi cứng, cần có bản sao nhật ký và bản sao lưu trữ của cơ sở dữ liệu, đồng thời bản sao lưu trữ và nhật ký phải nhất quán - đây là nhiệm vụ quan trọng của cơ sở dữ liệu.

5. Hỗ trợ ngôn ngữ dữ liệu

Hệ thống thông tin có hai nhiệm vụ:

Mô tả cấu trúc dữ liệu;

Thao tác dữ liệu này.

Trước đây, những vấn đề này đã được giải quyết bằng các phương tiện ngôn ngữ. Những thứ kia. Ngôn ngữ mô tả dữ liệu SDL (Ngôn ngữ định nghĩa lược đồ) và ngôn ngữ thao tác dữ liệu DML (Ngôn ngữ thao tác dữ liệu) đã được hỗ trợ. Mục đích của SDL là cung cấp các công cụ để đặt tên cho các đối tượng cơ sở dữ liệu, nhập các phần tử riêng lẻ và mô tả mối quan hệ giữa các phần tử dữ liệu. DML hỗ trợ mô tả các hành động để thay đổi các đối tượng được mô tả trong SDL.

Trong các DBMS hiện đại, chức năng của các ngôn ngữ này được kết hợp thành ngôn ngữ có cấu trúc truy vấn SQL(Ngôn ngữ truy vấn có cấu trúc). Trình biên dịch SQL chuyển đổi các mô tả và truy vấn thành biểu diễn bên trong của dữ liệu. Nhờ đó, phần điều khiển trung tâm của DBMS chỉ hoạt động với các chế độ xem bên trong, đảm bảo hoạt động hiệu quả.

SQL chứa:

Phương tiện mô tả các ràng buộc toàn vẹn;

Bản chất là mỗi đối tượng được liên kết với một tập hợp các hành động được phép và một nhóm người dùng có quyền hạn khác nhau. Quyền hạn và hành động được mô tả trong các bảng khác nhau. Công cụ ngôn ngữ cho phép bạn kiểm soát điều này.

Dựa trên chức năng, các loại ngôn ngữ sau được phân biệt:

1. Ngôn ngữ chỉ có khả năng truy vấn. Họ đảm bảo rằng dữ liệu cần thiết được hiển thị trên màn hình hoặc được in ở định dạng được yêu cầu. Hiện nay ít được sử dụng.

2. Ngôn ngữ truy vấn/cập nhật phức tạp. Đây là những ngôn ngữ tiên tiến hơn; chúng cho phép bạn tạo các truy vấn phức tạp trên nhiều bản ghi liên quan và cập nhật dữ liệu dễ dàng như khi bạn tạo các truy vấn. Sử dụng chúng, người dùng có thể tạo các tập tin của riêng mình.

3. Trình tạo báo cáo. Chúng cho phép chọn dữ liệu mong muốn từ các tệp hoặc cơ sở dữ liệu và định dạng nó thành các dạng tài liệu cần thiết.

4. Ngôn ngữ đồ họa. Cách sử dụng công cụ đồ họa hiện đang không ngừng mở rộng. Với sự trợ giúp của họ, bạn có thể hiển thị dữ liệu dưới dạng nhiều biểu đồ và biểu đồ khác nhau, cũng như sử dụng các khả năng trực quan khác. Giống như trình tạo báo cáo, ngôn ngữ đồ họa cho phép bạn chọn thông tin từ các tệp hoặc cơ sở dữ liệu theo các tiêu chí khác nhau, cũng như thực hiện các thao tác số học và logic với dữ liệu.

5. Công cụ hỗ trợ quyết định. Các ngôn ngữ thuộc loại này được thiết kế để tạo ra các hệ thống ra quyết định. Đây có thể là hệ thống “điều gì xảy ra nếu”, hệ thống thực hiện phân tích thời gian hoặc xu hướng, v.v. Có thể sử dụng cả công cụ phổ quát và công cụ định hướng vấn đề.

6. Trình tạo ứng dụng. Cung cấp khả năng mô tả việc xử lý thông tin cần thiết một cách phi thủ tục và tạo ra các chương trình tự động hơn nữa.

7. Ngôn ngữ đặc tả hướng máy. Trên thực tế, họ là những người tạo ra ứng dụng, là sự phát triển hơn nữa của họ. Không giống như các trình tạo ứng dụng, các ngôn ngữ đặc tả linh hoạt hơn và cho phép bạn chỉ định các loại ứng dụng khác nhau.

8. Ngôn ngữ rất cấp độ cao. Trong hầu hết các trường hợp, các ứng dụng được xây dựng bằng ngôn ngữ phi thủ tục. Tuy nhiên, một số ngôn ngữ mang tính thủ tục (ví dụ: NOMAD), nhưng việc lập trình trong chúng ngắn hơn nhiều so với, chẳng hạn như trong Cobol.

9. Gói chương trình ứng dụng được tham số hóa (APP). Danh mục phần mềm này đã được biết đến từ lâu và “thế hệ thứ 4” dùng để chỉ những chương trình phần mềm cho phép dễ dàng sửa đổi gói, cho phép người dùng tạo báo cáo, truy vấn cơ sở dữ liệu của riêng họ, v.v.

10. Ngôn ngữ ứng dụng. Nhiều ngôn ngữ thế hệ thứ 4 có mục đích chung, trong khi những ngôn ngữ khác được thiết kế cho các ứng dụng cụ thể. Ví dụ về các ngôn ngữ như vậy là ngôn ngữ quản lý tài chính, điều khiển máy công cụ với chương trình điều khiển vân vân.

1.3 Ngôn ngữ mô tả dữ liệu và thao tác dữ liệu

Ngôn ngữ mô tả dữ liệu là ngôn ngữ cấp cao thuộc loại khai báo (phi thủ tục), nhằm mục đích mô tả chính thức các loại dữ liệu, cấu trúc và mối quan hệ của chúng. Văn bản nguồn của mô tả dữ liệu bằng ngôn ngữ này, sau khi dịch, được hiển thị trong bảng điều khiển chỉ định vị trí trong bộ nhớ máy tính và các kết nối giữa dữ liệu được đề cập. Theo những mô tả này, DBMS tìm thấy dữ liệu cần thiết trong cơ sở dữ liệu, chuyển đổi nó và chuyển nó, ví dụ, sang chương trình ứng dụng của người dùng yêu cầu dữ liệu đó. Khi ghi dữ liệu vào cơ sở dữ liệu, DBMS sử dụng các mô tả này để xác định vị trí trong bộ nhớ máy tính nơi cần đặt dữ liệu, chuyển đổi nó sang dạng nhất định và thiết lập các kết nối cần thiết.

Chức năng đầu tiên trong số này được cung cấp bởi ngôn ngữ mô tả dữ liệu (DDL). Nó thường được gọi là ngôn ngữ định nghĩa dữ liệu. Mô tả cơ sở dữ liệu sử dụng LDB được gọi là lược đồ cơ sở dữ liệu. Nó bao gồm mô tả cấu trúc cơ sở dữ liệu và các ràng buộc toàn vẹn dữ liệu được đặt trên đó. Bên cạnh đó chức năng quy định DML của một số DBMS cũng cung cấp khả năng chỉ định, hạn chế truy cập dữ liệu hoặc quyền của người dùng trong lược đồ. Lược đồ cơ sở dữ liệu biểu thị một mô hình chuyên sâu của một miền trong môi trường hệ thống cơ sở dữ liệu. Ngôn ngữ thao tác dữ liệu (DML) cho phép bạn thực hiện các thao tác thao tác dữ liệu trong cơ sở dữ liệu. Bản chất của các hoạt động này phụ thuộc vào mô hình cụ thể dữ liệu. Nhưng trong mọi trường hợp, các ngôn ngữ như vậy cung cấp các thao tác chèn dữ liệu mới vào cơ sở dữ liệu, xóa hoặc cập nhật dữ liệu hiện có. Một số mô hình dữ liệu cung cấp các thao tác điều hướng bổ sung cho phép bạn định vị chính mình trên phiên bản dữ liệu mong muốn trong cơ sở dữ liệu trước khi thực hiện thao tác. Phiên bản dữ liệu này trở thành phiên bản hiện tại. Có thể có nhiều tác dụng phụ khác nhau: lan truyền hoạt động trong toàn bộ cấu trúc cơ sở dữ liệu, tự động hình thành các mối quan hệ mới giữa các phiên bản dữ liệu, tính toán dữ liệu dẫn xuất, v.v. Trong cái gọi là mô hình dữ liệu đồ thị (phân cấp, mạng), đối số của mỗi thao tác thao tác dữ liệu là một thể hiện duy nhất của dữ liệu. Đồng thời, các thao tác trong mô hình quan hệ có tính chất đa dạng.

DL và ML không phải lúc nào cũng được chính thức hóa về mặt cú pháp như các ngôn ngữ độc lập. Chúng có thể là các phần của một ngôn ngữ dữ liệu duy nhất kết hợp khả năng định nghĩa dữ liệu và thao tác dữ liệu. Có rất nhiều ví dụ về ngôn ngữ DBMS kết hợp khả năng mô tả dữ liệu và thao tác dữ liệu trong một khung cú pháp duy nhất. Phổ biến nhất trong số các ngôn ngữ thuộc loại này là ngôn ngữ SQL.

Ngôn ngữ định nghĩa dữ liệu (DDL).

Tạo bảng

Câu lệnh CREATE được sử dụng để tạo bất kỳ loại đối tượng nào tạo nên cơ sở dữ liệu, bao gồm cả các bảng.

Cú pháp để tạo bảng là:

TẠO BẢNG tên bảng(

trường1 loại1 [ràng buộc],

[trường2 loại2 [ràng buộc], ...]);

Những hạn chế có thể có trong bảng:

* NOT NULL - giá trị thuộc tính phải được xác định (tùy chọn NOT NULL);

* ĐỘC ĐÁO - giá trị thuộc tính là duy nhất (khóa duy nhất);

* PRIMARY KEY - thuộc tính là khóa chính (khóa chính);

* KIỂM TRA - xác định điều kiện mà các giá trị thuộc tính phải thỏa mãn (miền);

* DEFAULT - gán giá trị mặc định cho thuộc tính.

Ví dụ:

TẠO BẢNG Đại lý1(

Tên VARCHAR2(30),

SỐ phần trăm(4,2),

Bình luận VARCHAR2(50) MẶC ĐỊNH `không có bình luận");

Ngôn ngữ định nghĩa dữ liệu (DDL) cung cấp cho người dùng phương tiện chỉ định loại dữ liệu và cấu trúc của nó, cũng như phương tiện chỉ định các hạn chế đối với thông tin được lưu trữ trong cơ sở dữ liệu.

Toán tử: TẠO, THAY ĐỔI (xem 14), THẢ.

1 . 4 Phân loạiBnD

BnD không bao gồm các tài liệu không phải máy đóng vai trò là nguồn thông tin được nhập vào cơ sở dữ liệu, các tệp thông tin đầu vào và đầu ra, tập tin lưu trữ, xuất tài liệu. Tuy nhiên, nhiều DBMS bao gồm các công cụ ngôn ngữ để mô tả các thành phần này. Trong trường hợp này, bản thân các mô tả được sử dụng trong quá trình hoạt động của BnD sẽ được đưa vào thành phần của nó.

Các công cụ ngôn ngữ DBMS là thành phần quan trọng nhất của ngân hàng dữ liệu vì cuối cùng chúng cung cấp giao diện người dùng. danh mục khác nhau với ngân hàng dữ liệu. Phạm vi của các công cụ ngôn ngữ được sử dụng rất rộng và đa dạng. Các phương tiện ngôn ngữ được sử dụng trong BnD có thể được phân loại theo các tiêu chí khác nhau (Hình 1).

Các công cụ ngôn ngữ của hầu hết các DBMS hiện đại đều thuộc thế hệ thứ 4 (các ngôn ngữ thế hệ 1 bao gồm ngôn ngữ máy, sang ngôn ngữ hợp ngữ tượng trưng thứ 2, sang ngôn ngữ thuật toán thứ 3 như PL, Cobol, v.v., vào những năm 1960. được gọi là ngôn ngữ cấp cao, nhưng cấp độ thấp hơn nhiều so với ngôn ngữ thế hệ thứ 4. Ngoài ra còn có các ngôn ngữ thế hệ thứ 5, bao gồm các ngôn ngữ của hệ thống trí tuệ nhân tạo, ví dụ như Prolog).

Cơm. 1 Phân loại phương tiện ngôn ngữ BnD

Ngôn ngữ thế hệ thứ 4 được tạo ra theo nguyên tắc: “con người đắt hơn máy móc”. Các nguyên tắc sau đây đã được sử dụng trong thiết kế của họ.

1. Nguyên tắc nỗ lực tối thiểu: Ngôn ngữ phải cung cấp lượng nỗ lực tối thiểu để “làm cho” bộ máy hoạt động.

2. Nguyên tắc kỹ năng tối thiểu: công việc phải càng đơn giản càng tốt; nó không phải là số đông của giới thượng lưu và chỉ những người nhập môn mới hiểu được.

3. Nguyên tắc của ngôn ngữ tự nhiên, việc loại bỏ cú pháp và cách ghi nhớ “nước ngoài”. Ngôn ngữ này không đòi hỏi người dùng phải nỗ lực nhiều để học cú pháp hoặc chứa nhiều từ ghi nhớ hoặc các ký hiệu khác dễ bị lãng quên một cách nhanh chóng.

4. Nguyên tắc về thời gian tối thiểu. Ngôn ngữ phải cho phép các nhu cầu mới nổi về truy cập thông tin và xử lý thông tin được thực hiện mà không có độ trễ đáng kể.

5. Nguyên tắc sai số tối thiểu. Công nghệ phải được thiết kế theo cách giảm thiểu sai sót của con người và nếu chúng xảy ra thì nếu có thể hãy tự động “bắt” chúng.

6. Nguyên tắc hỗ trợ tối thiểu. Công cụ ngôn ngữ sẽ giúp dễ dàng thực hiện các thay đổi đối với các ứng dụng hiện có.

7. Nguyên tắc mang lại kết quả tối đa. Ngôn ngữ cung cấp cho người dùng công cụ đắc lựcđể giải quyết các vấn đề khác nhau.

Trong bộ lễ phục. 1.1 cho thấy các thành phần của ngôn ngữ thế hệ thứ 4. Như bạn có thể thấy, tất cả các “trình tạo” chính đều được trình bày ở đây, sự hiện diện của chúng đã trở thành truyền thống đối với DBMS thuộc các lớp khác nhau.

Cơm. 1.1 Thành phần ngôn ngữ thế hệ thứ 4

Có thể phân biệt hai khái niệm về sự phát triển của phương tiện ngôn ngữ: khái niệm tách biệt và khái niệm tích hợp. Khi sử dụng khái niệm phân tách, sẽ có sự phân biệt giữa ngôn ngữ mô tả dữ liệu (DDL) và ngôn ngữ thao tác dữ liệu (DML). Mục đích của mỗi lớp con này đều rõ ràng ngay từ tên gọi của chúng.

Đôi khi các ngôn ngữ truy vấn (QL) được đưa vào một nhóm đặc biệt. Ban đầu, ngôn ngữ truy vấn được hiểu là ngôn ngữ cấp cao, hướng đến người dùng cuối, nhằm mục đích tạo truy vấn tới cơ sở dữ liệu (theo cách hiểu này, chúng có thể được coi là một trong những dạng của YaMD). Tuy nhiên, ngôn ngữ hiện nay được hiểu rộng rãi hơn (xem Chương 3); nhiều ngôn ngữ còn bao gồm khả năng mô tả dữ liệu và điều chỉnh cơ sở dữ liệu. Là một phần của ngôn ngữ mô tả dữ liệu, tùy thuộc vào tính năng của DBMS, tất cả hoặc một số ngôn ngữ sau được hỗ trợ: ngôn ngữ mô tả lược đồ (SDL), ngôn ngữ mô tả mạch con (SDL), ngôn ngữ mô tả dữ liệu được lưu trữ (SDDL), ngôn ngữ bên ngoài ngôn ngữ mô tả dữ liệu (đầu vào, đầu ra). Trong một số DBMS, bản thân các loại ngôn ngữ này và các phần tử IS được tạo với sự trợ giúp của chúng là các thành phần độc lập ở các loại khác, một số trong số chúng có thể được kết hợp.

Bộ sưu tập các loại phương tiện kỹ thuật, trên đó B&D được triển khai, không khác với tất cả các IS tự động khác (Hình 1.2). Đây là máy tính, phương tiện ngoại vi để nhập thông tin vào cơ sở dữ liệu, phương tiện lưu trữ dữ liệu và phương tiện hiển thị thông tin đầu ra. Nếu ngân hàng dữ liệu được triển khai trên mạng thì cần có các phương tiện kỹ thuật phù hợp (thể hiện bằng đường chấm) để đảm bảo hoạt động của ngân hàng dữ liệu. Nhưng các ngân hàng dữ liệu áp đặt các yêu cầu riêng của họ đối với các phương tiện kỹ thuật được sử dụng.

Cơm. 1.2. Phương tiện kỹ thuật BnD

Thành phần và loại phương tiện kỹ thuật mà B&D được thực hiện phụ thuộc vào nhiều yếu tố, trong đó chủ yếu là thông số kỹ thuật thiết bị, công nghệ xử lý dữ liệu được sử dụng, quy mô hệ thống, giới hạn thời gian đối với tốc độ phản hồi của hệ thống, độ phức tạp của quá trình xử lý, đặc điểm chi phí, v.v. Máy tính đa năng thường được sử dụng làm máy tính cho ngân hàng dữ liệu.

Ban đầu, BnD được triển khai chủ yếu trên các máy tính lớn và các thiết bị đầu cuối được sử dụng để truy cập cơ sở dữ liệu. Do sự cải thiện đáng kể và liên tục về đặc tính của máy tính cá nhân, nên việc triển khai ngân hàng dữ liệu trên các máy thuộc loại này đã có thể thực hiện được. Nhưng lúc đầu, đặc điểm của máy tính cá nhân chưa đủ để thực hiện đầy đủ hệ tư tưởng về ngân hàng dữ liệu. Một số hệ thống thông tin bắt đầu bị phân mảnh, từ đó dẫn đến sự phát triển nhanh chóng của công nghệ mạng và việc sử dụng các phương tiện kỹ thuật phù hợp.

Theo hình thức trình bày, các công cụ ngôn ngữ phân tích, dạng bảng và đồ họa được phân biệt. Việc phân loại các công cụ ngôn ngữ trên cơ sở này áp dụng cho cả ngôn ngữ mô tả dữ liệu và ngôn ngữ thao tác dữ liệu. Do đó, mô tả bảng bằng lệnh CREATETABLE của ngôn ngữ SQL là một ví dụ về dạng phân tích của DML và mô tả của cùng một bảng trong Access và hầu hết các DBMS trên máy tính để bàn khác là một ví dụ về dạng mô tả dữ liệu dạng bảng . Ví dụ về dạng bảng và dạng phân tích của việc chỉ định truy vấn bao gồm các ngôn ngữ và SQL tương ứng.

Điều thường xảy ra là trong cùng một DBMS, các ngôn ngữ thuộc các loại khác nhau có thể được sử dụng cho cùng một mục đích. Ví dụ: trong nhiều DBMS (dBase, FoxPro, v.v.), những điều sau đây có thể được sử dụng để thao tác dữ liệu:

· ngôn ngữ truy vấn dạng bảng như QBE;

· Ngôn ngữ SQL là ngôn ngữ truy vấn phân tích thuộc lớp ngôn ngữ tính toán bộ;

· Ngôn ngữ lập trình thủ tục (đối với các hệ thống dBase trên, FoxPro là ngôn ngữ xBase, một số toán tử trong đó thực hiện các hoạt động đại số quan hệ và phần còn lại, quan trọng hơn về số lượng toán tử và chức năng, thực hiện các hoạt động phi quan hệ cung cấp xử lý tệp theo bản ghi, tổ chức xử lý theo chu kỳ và có điều kiện, đầu vào-đầu ra dữ liệu, điều chỉnh, khả năng làm việc với các biến bộ nhớ và các khả năng khác).

Mô tả dữ liệu trong các hệ thống này có thể được trình bày dưới dạng dạng bảng hoặc, nếu định nghĩa dữ liệu được thực hiện bằng SQL hoặc sử dụng toán tử ngôn ngữ xBase, ở dạng phân tích.

Ngoài các công cụ ngôn ngữ đã đề cập, các hệ thống này còn bao gồm các trình tạo màn hình hình thức, báo cáo và ứng dụng, cũng như ngôn ngữ của hệ thống “menu” phân cấp mở rộng cho phép người dùng chọn các hành động mà mình muốn thực hiện.

1.4 Ngôn ngữ truy vấn

Nhiều DBMS sử dụng một lớp ngôn ngữ quan trọng khác. Với sự ra đời của giao diện người dùng cuối DBMS, nhu cầu về các ngôn ngữ có thể được sử dụng để hình thành các truy vấn đối với hệ thống cơ sở dữ liệu đã nảy sinh. Những ngôn ngữ như vậy được gọi là ngôn ngữ truy vấn. Ban đầu, vai trò của chúng được thực hiện bởi các ngôn ngữ khai báo cấp cao, đảm bảo việc lựa chọn dữ liệu cần thiết từ cơ sở dữ liệu. Tuy nhiên, sau đó chức năng của chúng đã được chuyển đổi đáng kể. Các ngôn ngữ truy vấn bắt đầu cung cấp đầy đủ chức năng cho các hoạt động của cơ sở dữ liệu, bao gồm chèn dữ liệu mới, cập nhật, xóa và truy xuất dữ liệu. 3.8.5. Ngôn ngữ độc lập và bao gồm

Một số DBMS có các ngôn ngữ không chỉ thực hiện các chức năng định nghĩa và thao tác dữ liệu mà còn có các cấu trúc điều khiển và các công cụ khác đặc trưng của các ngôn ngữ lập trình truyền thống. Nhờ đó, chúng có thể được sử dụng như một công cụ hoàn chỉnh về mặt chức năng để tạo các ứng dụng hệ thống cơ sở dữ liệu. Những ngôn ngữ như vậy được gọi là tự trị. Ví dụ: hãy lấy ngôn ngữ dBase đã đề cập trước đó, được xây dựng theo kiểu ngôn ngữ lập trình có cấu trúc hoặc ngôn ngữ PL/SQL Oracle.

Trong trường hợp DBMS không có ngôn ngữ độc lập thì nó thường có các giao diện lập trình ứng dụng để tạo và sử dụng ứng dụng. Nhờ đó, các ứng dụng có thể được phát triển bằng cách mở rộng các ngôn ngữ lập trình truyền thống bằng các câu lệnh (lệnh, hàm, thủ tục, v.v.), việc thực thi chúng có thể được yêu cầu thông qua API. Bằng cách này, sự thiếu sót về chức năng của các ngôn ngữ DBMS sẽ được lấp đầy. Trong trường hợp này, ngôn ngữ lập trình hoạt động như một ngôn ngữ toàn diện trong mối quan hệ với các ngôn ngữ DBMS và các hệ thống ứng dụng được triển khai bằng ngôn ngữ mở rộng đó. Giao diện lập trình ứng dụng được cung cấp trong nhiều DBMS.

Trong quá trình phát triển của DBMS và ngôn ngữ lập trình, rõ ràng là việc sử dụng các ngôn ngữ tổng hợp và NMD buộc các nhà phát triển ứng dụng phải giải quyết việc kết hợp hai công cụ hoàn toàn khác nhau về mặt khái niệm và có những nhược điểm nghiêm trọng. Hai ngôn ngữ này, được phát triển độc lập với nhau, dựa trên các hệ thống khái niệm và hỗ trợ khác nhau. hệ thống khác nhau các loại dữ liệu và do đó có các cơ chế chức năng khác nhau và đôi khi là các công nghệ “quy mô khác nhau”. Tình trạng này được gọi là sự không phù hợp trở kháng.

Để giải quyết vấn đề không khớp trở kháng, cần bổ sung vào mô hình dữ liệu đã triển khai các đối tượng và thao tác trên chúng không tự nhiên để đồng bộ hóa việc xử lý dữ liệu trong chương trình ứng dụng và các cơ chế quản lý dữ liệu trong DBMS. Điều này thường dẫn đến hiệu suất không đủ cao của toàn bộ hệ thống cơ sở dữ liệu phức tạp, không thể tối ưu hóa chính xác do tính không đồng nhất của nó.

2 . Phần thực hành

2 .1 Ngôn ngữ truy vấn SQL

Thông thường các DBMS cung cấp khả năng chuyển đổi tự động các “văn bản” từ ngôn ngữ này sang ngôn ngữ khác. Ví dụ: nhiều DBMS, chẳng hạn như Access, FoxPro, v.v., sử dụng các ngôn ngữ truy vấn kiểu bảng không chỉ để triển khai trực tiếp các truy vấn mà còn như một phương tiện để mô tả truy vấn đơn giản hơn và các bước tiếp theo. chuyển đổi tự động nó sang ngôn ngữ SQL.

Ngôn ngữ SQL-LINTER triển khai tiêu chuẩn ngôn ngữ SQL quốc tế - ANSI/ISO SQL-92. Trong SQL-Linter, người dùng sẽ tìm thấy các công cụ ngôn ngữ mạnh mẽ như mệnh đề UNION, một tập hợp đầy đủ các thao tác kết nối - THAM GIA, tất cả các khả năng được mô tả trong tiêu chuẩn đã chỉ định để triển khai các ràng buộc toàn vẹn, v.v. Để tương thích với một số DBMS từ các nhà sản xuất khác (Oracle, DB2, Informix, Microsoft SQL Server, v.v.), các hàm dựng sẵn đặc biệt đã được đưa vào ngôn ngữ truy vấn LINTER, ngôn ngữ làm việc về quản lý kiểm soát truy cập thông tin, truy vấn phân cấp tới các bảng, chuỗi, v.v. Để thuận tiện cho người dùng, SQL-LINTER cũng bao gồm các phần mở rộng sau của tiêu chuẩn đã chỉ định:

· Công việc ngôn ngữ với các cột BLOB.

· Ngôn ngữ làm việc với các sự kiện trong LINTER.

· Cho phép sử dụng nhiều bảng trong FROM trong các thao tác CẬP NHẬT và XÓA.

Ví dụ:

· XÓA TỪ bảng THAM GIA danh sách _ bảng Ở ĐÂU ...

· CẬP NHẬT bảng THAM GIA danh sách _ bảng Ở ĐÂU ...

Cấu trúc INTO được cho phép trong câu lệnh SELECT để tương thích với một số phương ngữ SQL.

Ví dụ: CHỌN biểu thức_list VÀO tham số_danh sách TỪ ...

Cho phép xây dựng loại CAST NULL AS. Các đề xuất sau đây đã được giới thiệu để thiết lập các chế độ vận hành kênh:

THIẾT LẬP CHỈ ĐỌC GIAO DỊCH - chuyển kênh sang chế độ chỉ đọc;

THIẾT LẬP MỨC ĐỘ Cô lập GIAO DỊCH KHÔNG ĐƯỢC CAM KẾT - chuyển kênh sang chế độ đọc bẩn.

Các đề xuất đã được đưa ra để làm việc với các quy tắc sao chép: TẠO QUY TẮC SAO CHÉP quy tắc CHO bảng VÀO bảng TRÊN NODE node_name USER user PASSWORD "password" ;

THAY ĐỔI QUY TẮC SAO CHÉP [ PASSWORD "password"] ;

Quy tắc QUY TẮC SAO CHÉP THẢ;

Các khả năng khác nhau của ALTER TABLE để sửa đổi cấu trúc bảng - từ thay đổi tên (của bảng, các cột của nó) đến thay đổi những đặc điểm quan trọng nhất bản thân bảng và các cột của nó (ví dụ: kích thước, số lượng tệp, vị trí của chúng và đối với các cột - độ dài dữ liệu, giá trị mặc định, v.v.).

Một điểm nhấn quan trọng khác là khả năng tìm kiếm các từ và cụm từ riêng lẻ với số lượng lớn. giá trị văn bản, điều này rất quan trọng khi tổ chức cơ sở dữ liệu thông tin toàn văn lớn.

Ngôn ngữ thủ tục lưu trữ DBMS Linter

Sự hiện diện của cơ chế thủ tục lưu trữ trong DBMS Linter cho phép bạn mở rộng đáng kể khả năng của ngôn ngữ SQL bằng cách tổ chức xử lý dữ liệu thủ tục trên máy chủ theo thuật toán của người dùng. Xét về sức mạnh chức năng, các thủ tục lưu trữ LINTER ở một số khía cạnh thậm chí còn vượt quá tiêu chuẩn ANSI/ISO SQL-92/PSM (Mô-đun lưu trữ liên tục). Có nhiều điểm quan trọng, không được phản ánh trong tiêu chuẩn.

Ví dụ: Sử dụng truy vấn đã dịch và truy vấn có tham số (truy vấn thay đổi động), quản lý giao dịch. Các thủ tục lưu trữ LINTER có thể sử dụng cả truy vấn thông thường và truy vấn được dịch có và không có tham số; ngoài ra, các thủ tục có khả năng trả về một con trỏ, rất thuận tiện cho việc lập trình. Ngôn ngữ thủ tục lưu sẵn cung cấp một cú pháp biểu thức mạnh mẽ bao gồm tất cả các thao tác cần thiết trên các biến và giá trị của từng loại dữ liệu, gọi đến các hàm tiêu chuẩn khác nhau (chẳng hạn như chuyển đổi kiểu, làm việc với dữ liệu chuỗi, v.v.), thao tác gán ( thực tế là phép gán là một phép toán chứ không phải một toán tử riêng biệt, cho phép bạn xây dựng, ví dụ: các cấu trúc như vậy: a:= b:= c:= 0;).

Ngôn ngữ thủ tục được lưu trữ cho phép bạn làm việc với tất cả các loại dữ liệu Linter tiêu chuẩn (Integer, Smallint, Char, Byte, Numeric, Real, Double, Date), cũng như loại BOOL (logic) bổ sung. Kiểu CHAR được coi là chuỗi với giá trị đã cho chiều dài tối đa, đồng thời có các hằng chuỗi và phép nối chuỗi dễ sử dụng được xác định cho nó. Tất cả các hoạt động với tất cả các loại dữ liệu đều thực hiện logic ba giá trị, nghĩa là nó được hỗ trợ Giá trị rỗngđối với bất kỳ loại dữ liệu nào có nghĩa là giá trị ở trạng thái không xác định.

Một chuỗi các toán tử cho phép bạn mã hóa thuật toán tuyến tính. Để tổ chức các thuật toán phân nhánh, có thể sử dụng toán tử như IF..ELSEIF...ELSEIF...ELSE..ENDIF, toán tử chọn CASE và toán tử nhãn GOTO. Thuật toán tuần hoànđược tổ chức bằng cách sử dụng một toán tử Trong khi lặp lại. Để gọi những người khác từ một thủ tục, hãy sử dụng câu lệnh CALL. Cho phép gọi thủ tục đệ quy. Các thủ tục có thể nhận các tham số đầu vào và trả về kết quả công việc của mình thông qua cơ chế giá trị trả về ( Câu lệnh TRẢ LẠI) và/hoặc các tham số đầu ra. Kết quả của thủ tục có thể không chỉ là giá trị vô hướng mà còn có thể là con trỏ (lựa chọn). Để xử lý kết quả của truy vấn SELECT, các thủ tục sử dụng con trỏ (CURSOR), loại con trỏ được khai báo theo cấu trúc của phản hồi. Một chu trình làm việc với con trỏ có thể bao gồm việc mở nó bằng câu lệnh OPEN (do truy vấn hoặc thực hiện một thủ tục khác), tìm nạp dữ liệu bằng câu lệnh FETCH (theo một trong hai hướng) và đóng nó (CLOSE) hoặc, nếu thủ tục trả về một con trỏ, trả về (RETURN).

Các thủ tục có thể hoạt động với các cột BLOB. Với mục đích này chúng được sử dụng tính năng tiêu chuẩnđọc/ghi vào BLOB được liên kết với dòng hiện tại con trỏ. Khái niệm “con trỏ” được sử dụng riêng để truy xuất dữ liệu. Để thực thi bất kỳ truy vấn DML và DDL nào (các truy vấn không phải là truy vấn SELECT), toán tử EXECUTE được sử dụng.

Tất cả các thao tác thủ tục để sửa đổi dữ liệu đều được bao gồm trong giao dịch của người dùng. Việc hoàn thành một giao dịch được kiểm soát bởi người dùng, nhưng một thủ tục cũng có thể cam kết hoặc khôi phục các thay đổi được thực hiện đối với phần thân của nó (và phần thân của các thủ tục con của nó) bằng các câu lệnh COMMIT và ROLLBACK.

Để đơn giản hóa việc xử lý lỗi, ngôn ngữ thủ tục được lưu trữ cung cấp một cơ chế để làm việc với các tình huống đặc biệt, có thể được coi là lỗi thực thi truy vấn SQL, lỗi thời gian chạy (gọi một thủ tục không tồn tại, chia cho 0, v.v.) hoặc ngoại lệ của người dùng. Khi một ngoại lệ xảy ra, quyền điều khiển ngay lập tức được tự động chuyển sang nhánh tương ứng của khối xử lý ngoại lệ (EXCEPTIONS), giúp loại bỏ nhu cầu “tắc nghẽn” mã thủ tục với nhiều câu điều kiện, kiểm tra kết quả hoàn thành của mỗi câu lệnh. Thủ tục có thể xử lý ngoại lệ hoặc chấm dứt và chuyển ngoại lệ đó lên cấp cao nhất (câu lệnh RESIGNAL).

Để tổ chức công việc với các thủ tục và trình kích hoạt được lưu trữ, DBMS LINTER chứa một trình dịch thủ tục được lưu trữ, giúp chuyển đổi văn bản nguồn của một thủ tục/trình kích hoạt thành mã được dịch, cho phép bạn thực hiện nhanh chóng thủ tục trong hệ thống con thực thi. Mã này được lưu trữ trong bảng hệ thống đặc biệt $$$PROC; mô tả các tham số đầu vào/đầu ra của các thủ tục được lưu trữ trong bảng tham số $$$PRCD. Cả hai bảng này phải được tạo trước khi làm việc với các thủ tục/trình kích hoạt (đối với trình kích hoạt, cũng cần có bảng $$$TRIG).

Trường BLOB của bảng $$$PROC lưu trữ mã đã dịch và văn bản nguồn của một thủ tục hoặc trình kích hoạt (cái sau cho phép người dùng lấy văn bản nguồn cho mục đích chỉnh sửa). Các thủ tục và trình kích hoạt được tạo bằng các truy vấn thích hợp kiểu SQL TẠO/THAY ĐỔI THỦ TỤC, TẠO KÍCH HOẠT. Trong trường hợp có lỗi trong văn bản thủ tục/kích hoạt, nó sẽ trả về mã đặc biệt LINTER và các tiện ích tương tác có lỗi bảng điểm chi tiếtở dòng nào và xảy ra lỗi gì. Trong trường hợp này, chỉ có một bản ghi được tạo trong bảng $$$PROC chứa văn bản nguồn, sau đó cho phép người dùng truy xuất nó và sửa lỗi. Có thể sử dụng các thủ tục được lưu trữ dưới dạng các hàm mở rộng ngôn ngữ SQL.

Một truy vấn được sử dụng để chạy các thủ tục

HÀNH HÌNH<процедура> (<параметры>)

trong đó chỉ định tên và các tham số của thủ tục. Khi truyền tham số, bạn có thể sử dụng cơ chế truyền các giá trị mặc định, khi không chỉ định toàn bộ danh sách mà chỉ các giá trị quan tâm.

Trình kích hoạt: kết nối giữa các sự kiện và thủ tục được lưu trữ

Các thủ tục lưu trữ rất thuận tiện khi người dùng muốn triển khai một số thuật toán xử lý dữ liệu khá phức tạp và chạy nó vào đúng thời điểm. Tuy nhiên, các ứng dụng thường yêu cầu bạn thực hiện một số hành động nếu một tình huống nào đó xảy ra. Trình kích hoạt thực thi tính toàn vẹn bằng cách thực hiện xác thực dữ liệu bảng chéo phức tạp bên ngoài bối cảnh về tính toàn vẹn tham chiếu và các ràng buộc xác thực. Mục đích quan trọng nhất của trigger là xác định toàn bộ Quy tắc kinh doanh. Ví dụ: có thể sử dụng trình kích hoạt để đảm bảo rằng một thông báo được gửi đến người quản lý bán hàng cho biết rằng kho sắp hết hàng và cần phải bổ sung nếu tổng lượng hàng trong kho ít hơn số lượng dự trữ. Một ví dụ khác là khi thêm các hàng mới vào một bảng, để đảm bảo tính toàn vẹn dữ liệu, bạn có thể cần thêm hoặc thay đổi các hàng trong các bảng liên quan khác cho phù hợp. Vì vậy, trình kích hoạt là một thủ tục được lưu trữ, được gọi tự động khi một hoặc một hành động khác được thực hiện trên một bảng cụ thể, nhằm mục đích thay đổi dữ liệu. Trình kích hoạt không thể được gọi một cách rõ ràng. Khi tạo một trình kích hoạt, bạn chỉ định bảng nào và hành động nào (CẬP NHẬT, CHÈN hoặc XÓA) nó được liên kết với. Trình kích hoạt có thể được gọi một lần trong khi thực hiện toàn bộ truy vấn hoặc mỗi lần khi cần cập nhật, xóa hoặc chèn một hàng khác trong bảng (Trình kích hoạt FOR EACH ROW). Hơn nữa, bạn có thể chỉ định thời điểm nên gọi trình kích hoạt: trước thao tác (TRƯỚC trình kích hoạt) hoặc sau (SAU trình kích hoạt). Phần chính của trình kích hoạt là phần thân của nó, được xác định theo cách giống hệt như phần nội dung của một thủ tục được lưu trữ và chứa thuật toán về cách trình kích hoạt sẽ phản ứng với hành động gây ra nó. Mọi truy vấn SQL, lệnh gọi thủ tục được lưu trữ, v.v. đều được phép trong nội dung trình kích hoạt. Đối với các trình kích hoạt trên mỗi dòng bên trong nội dung, bạn có thể sử dụng các giá trị của các trường bản ghi trước thao tác thay đổi và các giá trị cần được đặt sau thao tác. Các giá trị này có sẵn thông qua các trường của biến con trỏ được xác định trước OLD và NEW, cấu trúc của chúng tương ứng với cấu trúc của bảng. Trong trình kích hoạt BEFORE, bạn có thể gán các giá trị mới cho các trường của biến MỚI và khi thực hiện thao tác CHÈN hoặc CẬP NHẬT, chúng sẽ được sử dụng thay vì giá trị cũ. Giá trị duy nhất mà trình kích hoạt có thể trả về là giá trị Boolean và nếu trình kích hoạt TRƯỚC trả về sai thì thao tác tương ứng sẽ bị hủy đối với hàng đó hoặc toàn bộ câu lệnh SQL, tùy thuộc vào loại trình kích hoạt. Gỡ lỗi các thủ tục lưu trữ LINTER

Để đơn giản hóa quá trình phát triển các thủ tục lưu sẵn và trình kích hoạt, nhân Linter chứa một cơ chế tích hợp sẵn để gỡ lỗi các thủ tục được lưu trữ. Người dùng gỡ lỗi thủ tục (kích hoạt) bằng cách sử dụng tiện ích đặc biệt- một trình gỡ lỗi trao đổi các lệnh điều khiển đặc biệt với kernel. Sự hiện diện của cơ chế gỡ lỗi được tích hợp trong kernel cho phép bạn gỡ lỗi các quy trình (trình kích hoạt) trong điều kiện làm việc thực tế (trên máy chủ), trong môi trường yêu cầu và hành động của một máy chủ cụ thể. ứng dụng thực tế. Để bắt đầu gỡ lỗi, người dùng sẽ mở cái gọi là "phiên gỡ lỗi" cho quy trình, sau đó kernel hoạt động với quy trình này (trình kích hoạt) ở chế độ gỡ lỗi, phản hồi các lệnh của trình gỡ lỗi và chuyển tất cả thông tin cần thiết. Bạn chỉ có thể gỡ lỗi những quy trình (trình kích hoạt) được dịch cùng với thông tin gỡ lỗi. Về sự cần thiết phải đưa vào thông tin gỡ lỗiđược biểu thị bằng từ khóa FOR DEBUG trong tiêu đề thủ tục hoặc trình kích hoạt, như trong các ví dụ ở trên. Để bắt đầu gỡ lỗi một quy trình thực thi cụ thể (trình kích hoạt), bạn phải chạy quy trình đó từ bên dưới trình gỡ lỗi hoặc đợi cho đến khi một số ứng dụng gọi quy trình này hoặc một số yêu cầu khởi chạy trình kích hoạt (đối với trình kích hoạt thì đây là cách duy nhất).

Tùy chọn thứ hai cung cấp cơ hội mạnh mẽ để gỡ lỗi các quy trình và trình kích hoạt trong môi trường “gốc” của chúng khi chúng được khởi chạy bình thường. Trình gỡ lỗi cho phép bạn xem văn bản nguồn của một thủ tục (trình kích hoạt), đánh dấu dòng có câu lệnh hiện đang được thực thi.

Quá trình gỡ lỗi bao gồm khả năng thực hiện từng bước các thủ tục (trình kích hoạt), thiết lập các điểm dừng khác nhau và thực thi tối đa một trong số chúng, thực thi bằng cách đi vào bên trong các thủ tục con được gọi, quan sát các giá trị của các biến cục bộ và các biểu thức cụ thể, và ngăn xếp cuộc gọi. Ngoài các điểm dừng thông thường (phá vỡ mỗi khi một câu lệnh cụ thể được thực thi), các điểm có điều kiện (chỉ phá vỡ nếu đáp ứng một điều kiện cụ thể, ví dụ: i > 10) và các điểm dừng để thay đổi giá trị cũng được hỗ trợ. Trình gỡ lỗi cũng giúp bạn hiểu lý do ngoại lệ xảy ra bằng cách tạm dừng việc thực thi các thủ tục và cho biết ngoại lệ xảy ra ở đâu.

Phần kết luận

công cụ ngôn ngữ cơ sở dữ liệu

Công việc khóa học này liên quan đến việc nghiên cứu các công cụ ngôn ngữ của hệ thống quản lý cơ sở dữ liệu. Phần lý thuyết mô tả ý nghĩa ngôn ngữ của hệ thống quản lý cơ sở dữ liệu, đồng thời nghiên cứu chức năng và phân loại các công cụ ngôn ngữ. Trong phần thực hành, tôi đã đưa ra một ví dụ về các công cụ ngôn ngữ, đó là ngôn ngữ truy vấn SQL. Các công cụ ngôn ngữ dành cho người dùng thuộc nhiều loại khác nhau: người dùng cuối, nhà phân tích hệ thống, lập trình viên chuyên nghiệp. Việc tăng mức độ của các công cụ ngôn ngữ và sự thân thiện của chúng dẫn đến thực tế là ngày càng có nhiều chức năng được thực hiện bởi những người dùng không phải là lập trình viên một cách độc lập, không qua trung gian.

Như là kết quả của việc này khóa học không có đủ thông tin. Đã được xem xét, thiết kế để liên lạc giữa người dùng thuộc các lớp và ngân hàng dữ liệu khác nhau. Và mục đích chính của ngôn ngữ là phát triển các chương trình và hệ thống thông minh. Trong công việc này, tất cả các yêu cầu đưa ra trong khóa học đã được tính đến.

Danh sách tài liệu được sử dụng

1. Rerunkov, G.I. Cơ sở dữ liệu và ngân hàng dữ liệu và kiến ​​thức / G.I. Rerunkov, E.N. Samokhvalov, M. Chistov. - M.: trường sau đại học, 2005. - 392 tr.

2. Shaimardanov, R.B. Mô hình hóa và tự động hóa thiết kế cấu trúc cơ sở dữ liệu / R.B. Shaimardanov. - M.: Đài phát thanh và truyền thông, 2004. - 120 tr.

3. Ozkarhan, E. Máy cơ sở dữ liệu và quản lý cơ sở dữ liệu / E. Ozkarhan. - M.: Mir, 2006. - 695 tr.

4. Tsekhanovsky, V.V., Ykovlev A. Ngân hàng dữ liệu tự động / V.V. Tsekhanovsky., A. Ykovlev. - L.: LETI, 2006. - 63 tr.

5. Digo S.M. Thiết kế cơ sở dữ liệu: Sách giáo khoa /.M.: Tài chính và Thống kê -1988, -212p.

Đăng trên Allbest.ru

Tài liệu tương tự

    Làm việc với thông tin được lưu trữ trong cơ sở dữ liệu. Ngôn ngữ mô tả dữ liệu và ngôn ngữ thao tác dữ liệu. Sự phổ biến của các ngôn ngữ tiêu chuẩn hóa. Ngôn ngữ có cấu trúc Truy vấn SQL. Ngôn ngữ truy vấn dựa trên QBE. Ứng dụng của các toán tử ngôn ngữ cơ bản.

    trình bày, thêm vào ngày 14/10/2013

    Xem xét một bộ chương trình và công cụ ngôn ngữ (ngôn ngữ đặc biệt để mô tả và thao tác dữ liệu) được thiết kế để tạo, duy trì và sử dụng cơ sở dữ liệu. Định nghĩa ngôn ngữ giao tiếp. Nghiên cứu các nguyên tắc xây dựng ngân hàng dữ liệu.

    tóm tắt, được thêm vào ngày 07/08/2017

    Ngôn ngữ DBMS nội bộ để làm việc với dữ liệu. Kết quả biên dịch các câu lệnh DDL. Mô tả ngôn ngữ DML chứa một tập hợp các toán tử để hỗ trợ các hoạt động cơ bản nhằm thao tác dữ liệu có trong cơ sở dữ liệu. Tổ chức dữ liệu và kiểm soát truy cập trong SQL.

    bài giảng, thêm vào 19/08/2013

    Đặc điểm của quản lý thông tin trong kinh tế. Khái niệm và chức năng của hệ thống quản lý cơ sở dữ liệu, sử dụng ngôn ngữ truy vấn quan hệ tiêu chuẩn. Công cụ tổ chức cơ sở dữ liệu và làm việc với chúng. Hệ thống quản lý cơ sở dữ liệu trong kinh tế.

    kiểm tra, thêm vào 16/11/2010

    Hệ thống quản lý cơ sở dữ liệu là một phần không thể thiếu của ngân hàng dữ liệu tự động. Cấu trúc và chức năng của hệ quản trị cơ sở dữ liệu. Phân loại DBMS theo phương pháp truy cập cơ sở dữ liệu. Ngôn ngữ SQL trong hệ thống quản lý cơ sở dữ liệu, Microsoft DBMS.

    tóm tắt, thêm vào ngày 01/11/2009

    Xu hướng phát triển của hệ quản trị cơ sở dữ liệu. Các mô hình phân cấp và mạng của DBMS. Yêu cầu cơ bản đối với cơ sở dữ liệu phân tán dữ liệu. Xử lý truy vấn phân tán, khả năng tương tác. Công nghệ sao chép dữ liệu và kiến ​​trúc đa tầng.

    tóm tắt, thêm vào ngày 29/11/2010

    Các khái niệm cơ bản về cơ sở dữ liệu và hệ quản trị cơ sở dữ liệu. Các loại dữ liệu mà cơ sở dữ liệu Microsoft Access hoạt động. Phân loại DBMS và các đặc điểm chính của chúng. Cơ sở dữ liệu hậu quan hệ. Xu hướng trong thế giới của hệ thống thông tin hiện đại.

    bài tập khóa học, được thêm vào ngày 28/01/2014

    Sản phẩm phần mềm Microsoft: Truy cập, Visual FoxPro7.0, dBASE. Khả năng tích hợp, sự hợp tác và sử dụng dữ liệu. Hệ thống quản lý cơ sở dữ liệu (DBMS), các chức năng và thành phần chính của chúng. Làm việc với dữ liệu ở chế độ bảng.

    bài tập khóa học, được thêm vào ngày 15/12/2010

    Phân loại cơ sở dữ liệu. Sử dụng gói ứng dụng. Chức năng cơ bản của tất cả các hệ thống quản lý cơ sở dữ liệu. Hệ thống quản lý cơ sở dữ liệu máy tính để bàn kiểu quan hệ Truy cập của Microsoft. Lưu trữ và truy xuất dữ liệu điện tử.

    bài tập khóa học, được thêm vào ngày 23/04/2013

    Thông tin lý thuyết và các khái niệm cơ bản về cơ sở dữ liệu. Hệ thống quản lý cơ sở dữ liệu: thành phần, cấu trúc, bảo mật, chế độ vận hành, đối tượng. Làm việc với cơ sở dữ liệu trong OpenOffice.Org BASE: tạo bảng, mối quan hệ, truy vấn bằng Trình hướng dẫn truy vấn.

Chính xác hơn, các chức năng DBMS thường bao gồm:

1. Quản lý dữ liệu trực tiếp trên bộ nhớ ngoài

Chức năng này bao gồm việc cung cấp các cấu trúc bộ nhớ ngoài cần thiết để lưu trữ dữ liệu trực tiếp trong cơ sở dữ liệu và cho các mục đích dịch vụ, chẳng hạn như để tăng tốc độ truy cập dữ liệu trong một số trường hợp.(thường các chỉ mục được sử dụng cho việc này). Một số triển khai DBMS tích cực sử dụng khả năng của các hệ thống tệp hiện có, trong khi một số khác hoạt động ở mức độ thấp hơn. thiết bị bộ nhớ ngoài. Nhưng chúng tôi nhấn mạnh rằng trong các DBMS đã phát triển, người dùng trong mọi trường hợp không bắt buộc phải biết liệu DBMS có sử dụng hệ thống tập tin và nếu được sử dụng thì các tệp được sắp xếp như thế nào. Đặc biệt, DBMS hỗ trợ hệ thống đặt tên riêng cho các đối tượng cơ sở dữ liệu.

2. Quản lý bộ đệm RAM

DBMS thường hoạt động với cơ sở dữ liệu có kích thước lớn; ít nhất kích thước này thường lớn hơn đáng kể so với dung lượng RAM có sẵn. Rõ ràng là nếu khi truy cập bất kỳ phần tử dữ liệu nào, việc trao đổi được thực hiện với bộ nhớ ngoài thì toàn bộ hệ thống sẽ hoạt động ở tốc độ thiết bị bộ nhớ ngoài. Hầu như cách duy nhất để thực sự tăng tốc độ này là đệm dữ liệu vào RAM. Đồng thời, ngay cả khi hệ điều hành tạo ra vùng đệm toàn hệ thống (như trong trường hợp hệ điều hành UNIX), điều này không đủ cho các mục đích của DBMS, hệ điều hành có nhiều hơn thế. thêm thông tin về tính hữu ích của việc lưu vào bộ đệm một hoặc một phần khác của cơ sở dữ liệu. Do đó, các DBMS được phát triển sẽ hỗ trợ bộ đệm RAM của riêng chúng với nguyên tắc thay thế bộ đệm riêng.

Lưu ý rằng có một hướng riêng của DBMS, đó là tập trung vào sự hiện diện liên tục của toàn bộ cơ sở dữ liệu trong RAM. Hướng đi này dựa trên giả định rằng trong tương lai dung lượng RAM trong máy tính sẽ lớn đến mức không cần phải lo lắng về việc đệm. Những công trình này hiện đang trong giai đoạn nghiên cứu.

3. Quản lý giao dịch

Giao dịch - đây là một chuỗi các thao tác trên cơ sở dữ liệu, được DBMS coi là một tổng thể duy nhất.

Giao dịch hoàn tất thành công và DBMS ghi lại các thay đổi cơ sở dữ liệu do giao dịch này thực hiện vào bộ nhớ ngoài hoặc không có thay đổi nào trong số này có bất kỳ ảnh hưởng nào đến trạng thái của cơ sở dữ liệu.

Khái niệm giao dịch là cần thiết để duy trì tính toàn vẹn logic của cơ sở dữ liệu. Hãy lấy một ví dụ về hệ thống thông tin với các tệp NHÂN VIÊN và PHÒNG BAN; cách duy nhất để không vi phạm tính toàn vẹn của cơ sở dữ liệu khi thực hiện thao tác tuyển dụng nhân viên mới là kết hợp các thao tác cơ bản trên tệp NHÂN VIÊN và PHÒNG BỘ vào một giao dịch. Do đó, việc duy trì cơ chế giao dịch là điều kiện tiên quyết ngay cả đối với các DBMS một người dùng (tất nhiên nếu hệ thống như vậy xứng đáng với tên gọi DBMS). Nhưng khái niệm về giao dịch quan trọng hơn nhiều trong DBMS nhiều người dùng.

Thuộc tính mà mỗi giao dịch bắt đầu tại tình trạng nguyên vẹn DB và giữ nguyên trạng thái này sau khi hoàn thành, thực hiện rất tốt thuận tiện để sử dụng khái niệm về giao dịch như một đơn vị hoạt động người dùng liên quan đến cơ sở dữ liệu. Với việc quản lý thích hợp các giao dịch đồng thời của DBMS, về nguyên tắc, mỗi người dùng có thể cảm thấy mình là người dùng duy nhất của DBMS (trên thực tế, đây là một quan điểm hơi lý tưởng hóa, vì trong một số trường hợp, người dùng DBMS nhiều người dùng có thể cảm nhận được sự hiện diện của đồng nghiệp).

4. Viết nhật ký

Một trong những yêu cầu chính đối với DBMS là độ tin cậy của việc lưu trữ dữ liệu trong bộ nhớ ngoài. Độ tin cậy lưu trữ có nghĩa là DBMS phải có khả năng khôi phục trạng thái nhất quán cuối cùng của cơ sở dữ liệu sau bất kỳ lỗi phần cứng hoặc phần mềm nào. Thông thường, hai loại lỗi phần cứng có thể xảy ra được xem xét: cái gọi là lỗi mềm, có thể được hiểu là máy tính dừng đột ngột (ví dụ: tắt máy khẩn cấp nguồn điện) và các lỗi cứng đặc trưng bởi mất thông tin trên phương tiện bộ nhớ ngoài. Ví dụ về lỗi phần mềm có thể là: tắt DBMS (do lỗi trong chương trình hoặc do lỗi phần cứng nào đó) hoặc chương trình người dùng bị chấm dứt bất thường, do đó một số giao dịch vẫn chưa hoàn tất. Tình huống đầu tiên có thể được coi là một loại lỗi phần cứng phần mềm đặc biệt; khi điều sau xảy ra, cần loại bỏ hậu quả của chỉ một giao dịch.

Rõ ràng là trong mọi trường hợp, để khôi phục cơ sở dữ liệu bạn cần có thêm một số thông tin. Nói cách khác, việc duy trì độ tin cậy của việc lưu trữ dữ liệu trong cơ sở dữ liệu đòi hỏi phải có tính dự phòng lưu trữ dữ liệu và phần dữ liệu được sử dụng để khôi phục phải được lưu trữ đặc biệt đáng tin cậy. Phương pháp phổ biến nhất để duy trì những thông tin dư thừa đó là duy trì nhật ký thay đổiĐB.

Tạp chí - đây là một phần đặc biệt của cơ sở dữ liệu, người dùng DBMS không thể truy cập được và được duy trì cẩn thận (đôi khi hai bản sao của nhật ký được duy trì, nằm ở các vị trí khác nhau). đĩa vật lý), nhận bản ghi của tất cả các thay đổi đối với phần chính của cơ sở dữ liệu. Trong các DBMS khác nhau, các thay đổi cơ sở dữ liệu được ghi lại ở các cấp độ khác nhau: đôi khi một mục nhật ký tương ứng với một số thao tác logic thay đổi cơ sở dữ liệu (ví dụ: thao tác xóa một hàng khỏi bảng cơ sở dữ liệu quan hệ), đôi khi là một thao tác sửa đổi nội bộ tối thiểu. một trang bộ nhớ ngoài; một số hệ thống sử dụng đồng thời cả hai phương pháp.

Trong mọi trường hợp, chiến lược ghi nhật ký “chủ động” đều được tuân theo (còn gọi là giao thức Write Ahead Log - WAL). Nói một cách đại khái, chiến lược này là bản ghi về sự thay đổi trong bất kỳ đối tượng cơ sở dữ liệu nào sẽ được đưa vào bộ nhớ ngoài log trước khi đối tượng được sửa đổi vào bộ nhớ ngoài của phần chính của cơ sở dữ liệu. Được biết, nếu giao thức WAL được quan sát chính xác trong DBMS, thì bằng cách sử dụng nhật ký, bạn có thể giải quyết tất cả các vấn đề khôi phục cơ sở dữ liệu sau bất kỳ lỗi nào.

nhất tình huống đơn giản phục hồi - khôi phục giao dịch cá nhân. Nói đúng ra, điều này không đòi hỏi một hệ thống toàn diện. nhật ký thay đổiĐB. Mỗi giao dịch chỉ cần duy trì nhật ký cục bộ về các hoạt động sửa đổi cơ sở dữ liệu được thực hiện trong giao dịch này và khôi phục giao dịch bằng cách thực thi là đủ. hoạt động ngược lại, theo sau từ cuối nhật ký cục bộ. Một số DBMS thực hiện việc này, nhưng trong hầu hết các hệ thống, nhật ký cục bộ không được hỗ trợ và việc khôi phục giao dịch riêng lẻ được thực hiện bằng nhật ký toàn hệ thống, trong đó tất cả các bản ghi từ một giao dịch đều được liên kết danh sách đảo ngược(từ đầu đến cuối).

5. Hỗ trợ ngôn ngữ cơ sở dữ liệu

Dùng để làm việc với cơ sở dữ liệu ngôn ngữ đặc biệt, gọi chung là ngôn ngữ cơ sở dữ liệu. Các DBMS ban đầu hỗ trợ một số ngôn ngữ chuyên về chức năng của chúng. Hai ngôn ngữ thường được xác định nhất

  • ngôn ngữ định nghĩa lược đồ cơ sở dữ liệu(SDL - Ngôn ngữ định nghĩa lược đồ) và
  • ngôn ngữ thao tác dữ liệu(DML - Ngôn ngữ thao tác dữ liệu).

SDL phục vụ chủ yếu để xác định cấu trúc logic DB, tức là cấu trúc của cơ sở dữ liệu như nó xuất hiện với người dùng. DML chứa một tập hợp các toán tử thao tác dữ liệu, tức là toán tử cho phép bạn nhập dữ liệu vào cơ sở dữ liệu, xóa, sửa đổi hoặc chọn dữ liệu hiện có.

Các DBMS hiện đại thường hỗ trợ một ngôn ngữ tích hợp duy nhất chứa tất cả quỹ cần thiếtđể làm việc với cơ sở dữ liệu, bắt đầu từ việc tạo cơ sở dữ liệu và cung cấp giao diện người dùng cơ bản với cơ sở dữ liệu. Ngôn ngữ tiêu chuẩn của DBMS quan hệ phổ biến nhất hiện nay là ngôn ngữ truy vấn SQL (Ngôn ngữ truy vấn có cấu trúc).

ngôn ngữ SQL chứa phương tiện đặc biệt các định nghĩa Ràng buộc hoàn toànĐB. Lần nữa, Ràng buộc hoàn toànđược lưu trữ trong các bảng danh mục đặc biệt và cung cấp kiểm soát tính toàn vẹn Cơ sở dữ liệu được tạo ra ở cấp độ ngôn ngữ, tức là. khi biên dịch các toán tử sửa đổi cơ sở dữ liệu, trình biên dịch SQL dựa trên các toán tử có sẵn trong cơ sở dữ liệu Ràng buộc hoàn toàn tạo ra mã chương trình tương ứng.

Các toán tử ngôn ngữ SQL đặc biệt cho phép bạn xác định cái gọi là chế độ xem cơ sở dữ liệu, thực chất là các truy vấn được lưu trữ trong cơ sở dữ liệu (kết quả của bất kỳ truy vấn nào tới cơ sở dữ liệu quan hệ là một bảng) với các cột được đặt tên. Đối với người dùng, một khung nhìn giống như một bảng với bất kỳ bảng cơ sở nào được lưu trữ trong cơ sở dữ liệu, nhưng với sự trợ giúp của các khung nhìn, bạn có thể giới hạn hoặc ngược lại, mở rộng khả năng hiển thị của cơ sở dữ liệu cho một người dùng cụ thể. Các biểu diễn cũng được duy trì ở cấp độ ngôn ngữ.

Cuối cùng, ủy quyền truy cập tới các đối tượng cơ sở dữ liệu cũng được thực hiện trên cơ sở bộ đặc biệt Các câu lệnh SQL. Ý tưởng là để thực thi các câu lệnh SQL các loại khác nhau người dùng phải có nhiều quyền khác nhau. Người dùng đã tạo bảng cơ sở dữ liệu có đầy đủ các quyền để làm việc với bảng này. Những quyền hạn này bao gồm quyền ủy quyền toàn bộ hoặc một phần quyền lực cho người dùng khác, bao gồm cả quyền chuyển giao. Quyền của người dùng được mô tả trong các bảng danh mục đặc biệt và kiểm soát quyền được hỗ trợ ở cấp độ ngôn ngữ.

Chức năng DBMS

Theo mức độ phổ quát, hai loại DBMS được phân biệt:

  • hệ thống mục đích chung - được triển khai như một sản phẩm phần mềm có khả năng hoạt động trên máy tính trong một môi trường nhất định hệ điều hành và cung cấp cho người sử dụng dưới dạng sản phẩm thương mại;
  • các hệ thống chuyên biệt - được tạo trong trường hợp không thể hoặc không nên sử dụng DBMS có mục đích chung.

DBMS đa năng là các hệ thống phần mềm phức tạp được thiết kế để thực hiện toàn bộ tập hợp các chức năng liên quan đến việc tạo và vận hành hệ thống thông tin cơ sở dữ liệu.

Thị trường phần mềm PC có một số lượng lớn các hệ thống DBMS đa năng thương mại có chức năng đa dạng.

DBMS dẫn đầu thị trường phần mềm:

  • dBASE IV, Borland International;
  • Microsoft Access 2007;
  • Microsoft FoxPro 2.6 cho DOS;
  • Microsoft FoxPro cho cửa sổ, Tập đoàn Microsoft:
  • Nghịch lý cho DOS 4.5:
  • Nghịch lý cho Windows, phiên bản 4.5 Borland.

Hiệu suất DBMS được đánh giá:

  • yêu cầu thời gian thực hiện;
  • tốc độ truy xuất thông tin;
  • thời gian thực hiện các thao tác nhập dữ liệu từ các định dạng khác;
  • tốc độ thực hiện các thao tác như cập nhật, chèn, xóa dữ liệu;
  • số lượng truy cập song song tối đa vào dữ liệu ở chế độ nhiều người dùng;
  • thời điểm tạo báo cáo.

TRÊN hiệu suất DBMS bị ảnh hưởng bởi 2 yếu tố:

  • thiết kế phù hợp
  • xây dựng cơ sở dữ liệu.

Chức năng của mô hình dữ liệu được DBMS hỗ trợ sẽ có sẵn cho người dùng nhờ các công cụ ngôn ngữ của nó. Các công cụ ngôn ngữ DBMS được sử dụng để thực hiện hai chức năng chính - mô tả cách trình bày cơ sở dữ liệu ở các mức có thể quản lý được của kiến ​​trúc hệ thống và để thực hiện các hoạt động thao tác dữ liệu.

Ngôn ngữ mô tả dữ liệu(DL) nhằm mục đích chỉ định một lược đồ cơ sở dữ liệu, bao gồm mô tả cấu trúc cơ sở dữ liệu và các ràng buộc toàn vẹn áp đặt cho nó trong khuôn khổ các quy tắc được điều chỉnh bởi mô hình dữ liệu được DBMS hỗ trợ. Ngoài các chức năng này, DDL còn cung cấp khả năng đặt các hạn chế về quyền truy cập dữ liệu hoặc quyền của người dùng.

Ngôn ngữ thao tác dữ liệu(YMD) cho phép truy vấn các thao tác được cung cấp trong hệ thống trên dữ liệu từ cơ sở dữ liệu. Sau khi thực hiện câu lệnh ghi trên NMD, nội dung thông tin của cơ sở dữ liệu thay đổi

Ngôn ngữ truy vấn(YAZ) cho phép bạn chọn dữ liệu từ cơ sở dữ liệu, tổng hợp dữ liệu và đưa nó vào tất cả các loại xử lý phân tích.

Tương tự như ngôn ngữ định nghĩa dữ liệu, DML không nhất thiết phải xuất hiện dưới dạng ngôn ngữ DBMS độc lập về mặt cú pháp. Trong thực tế, việc phân tách vũ khí hạt nhân và vũ khí hạt nhân đóng vai trò khá phương pháp hoặc được sử dụng cho mục đích công nghệ.

LDL, YMD và LL không phải lúc nào cũng được chính thức hóa về mặt cú pháp như các ngôn ngữ độc lập. Ngược lại, giờ đây tất cả chúng đều là một phần của một ngôn ngữ quan hệ duy nhất, SQL. Từ năm 1986, một số phiên bản của tiêu chuẩn SQL quốc tế đã được áp dụng. Nó được sử dụng trong hầu hết các DBMS quan hệ thương mại, bao gồm cả các DBMS trên máy tính cá nhân.

Một số DBMS có các ngôn ngữ không chỉ thực hiện các chức năng định nghĩa dữ liệu và thao tác dữ liệu mà còn có các tính năng đặc trưng của các ngôn ngữ lập trình phổ quát. Nhờ đó, chúng có thể được sử dụng như một công cụ hoàn chỉnh về mặt chức năng để tạo các ứng dụng hệ thống cơ sở dữ liệu. Ví dụ: chúng tôi đưa ra các ngôn ngữ của hệ thống dBase, Clipper, Paradox.

Để có các công cụ phát triển ứng dụng nâng cao, DBMS cung cấp các giao diện lập trình ứng dụng. Các ứng dụng cho các hệ thống như vậy có thể được phát triển bằng cách mở rộng ngôn ngữ lập trình truyền thống với các toán tử (lệnh, chức năng, thủ tục, v.v.) của giao diện đã chỉ định. Nhờ đó, sự thiếu sót về chức năng của các ngôn ngữ trong hệ thống này sẽ được lấp đầy. Ngôn ngữ lập trình hoạt động như một ngôn ngữ toàn diện liên quan đến ngôn ngữ giao diện lập trình ứng dụng DBMS và các hệ thống ứng dụng được triển khai bằng ngôn ngữ mở rộng như vậy. Giao diện lập trình ứng dụng được cung cấp trong nhiều DBMS.



Câu hỏi kiểm tra về chủ đề.

1. Các công cụ ngôn ngữ của mô hình dữ liệu có thể được triển khai trong DBMS dưới những hình thức nào?

2. Hai chức năng chính của các công cụ ngôn ngữ mô hình dữ liệu là gì?

3. Mục đích của các ngôn ngữ định nghĩa dữ liệu trong DBMS là gì?

4. Lược đồ cơ sở dữ liệu là gì, mối quan hệ giữa lược đồ và ngôn ngữ định nghĩa dữ liệu là gì?

5. Ngôn ngữ nào được sử dụng để xác định ánh xạ dữ liệu giữa các cấp trong DBMS?

6.Các ngôn ngữ thao tác dữ liệu thực hiện những chức năng gì?

7.Cho một ví dụ về ngôn ngữ thực hiện cả chức năng định nghĩa dữ liệu và thao tác dữ liệu.

8. Mục đích của ngôn ngữ truy vấn DBMS là gì?

9. Ngôn ngữ lập trình cơ sở dữ liệu được phát triển nhằm mục đích gì?

Cơm. 1.4. Cấu trúc DBMS

Bộ điều khiển từ điển– cung cấp quyền truy cập vào danh mục hệ thống và làm việc với nó.

Bộ điều khiển tập tin– thao tác các tập tin dữ liệu và chịu trách nhiệm phân phối không gian đĩa. Nó không quản lý I/O vật lý mà chuyển các yêu cầu đến các phương thức truy cập hệ điều hành thích hợp.

Bộ điều khiển cơ sở dữ liệu– tương tác với các chương trình và yêu cầu do người dùng đưa ra. Nó chấp nhận các truy vấn và kiểm tra các lược đồ khái niệm và bên ngoài để xác định các bản ghi khái niệm cần thiết để thực hiện truy vấn cơ sở dữ liệu. Bộ điều khiển cơ sở dữ liệu sau đó gọi bộ điều khiển tệp để thực hiện yêu cầu. Bộ điều khiển cơ sở dữ liệu bao gồm các thành phần phần mềm sau:

· Kiểm soát quyền truy cập – kiểm tra xem một người dùng nhất định có quyền thực hiện thao tác được yêu cầu hay không;

· bộ xử lý lệnh – thực hiện yêu cầu;

· Công cụ kiểm soát tính toàn vẹn – kiểm tra các hạn chế hỗ trợ tính toàn vẹn khi thực hiện các hoạt động sửa đổi dữ liệu;

· Trình tối ưu hóa truy vấn – xác định chiến lược thực hiện truy vấn tối ưu;

· Người điều khiển giao dịch – xử lý các hoạt động nhận được trong quá trình giao dịch;

· bộ lập lịch – chịu trách nhiệm thực hiện không xung đột các hoạt động song song với cơ sở dữ liệu và quản lý thứ tự tương đối thực hiện các hoạt động được xác định trong các giao dịch khác nhau;

· Bộ điều khiển phục hồi – chịu trách nhiệm khôi phục cơ sở dữ liệu trong trường hợp không đạt được trạng thái nhất quán;

· Bộ điều khiển bộ đệm – chịu trách nhiệm truyền dữ liệu giữa RAM và ổ cứng.

Nhiều DBMS hỗ trợ khả năng thực hiện nhà khai thác riêng bằng các ngôn ngữ cấp cao (COBOL, Fortran, Pascal, Ada, C). Nhưng DBMS hỗ trợ 2 ngôn ngữ chuyên dụng để phát triển ứng dụng cơ sở dữ liệu - DDL (Ngôn ngữ định nghĩa dữ liệu) và DMD (Ngôn ngữ thao tác dữ liệu). YaOD– một ngôn ngữ mô tả để xác định lược đồ logic của cơ sở dữ liệu. Nó bao gồm một tập hợp các câu lệnh xác định lược đồ cơ sở dữ liệu. Kết quả của việc biên soạn các mô tả như vậy (lược đồ khái niệm và lược đồ bên ngoài) là một tập hợp các bảng được lưu trữ trong một thư mục hệ thống cơ sở dữ liệu đặc biệt. (Nó lưu trữ siêu dữ liệu). DDL không được sử dụng để làm việc với dữ liệu. Với mục đích này nó được sử dụng YaMD, chứa một tập hợp các toán tử thực hiện xử lý dữ liệu: tìm kiếm, thêm, thay đổi và xóa. Hỗ trợ MD hạt nhân là một trong những chức năng chính của DBMS. Có 2 cách tiếp cận để triển khai NMD: thủ tục và khai báo.

sử dụng y học hạt nhân thủ tục người dùng xác định chuỗi hành động phải được thực hiện để đạt được kết quả mong muốn. Cách tiếp cận này tương tự như cách triển khai các ngôn ngữ lập trình thủ tục (Pascal, C, v.v.). Trong trường hợp này, YMD cung cấp cho người dùng một tập hợp các toán tử trên dữ liệu. Loại này bao gồm các ngôn ngữ dựa trên đại số quan hệ.

NMD khai báo cho phép bạn xác định tất cả các yêu cầu đối với dữ liệu kết quả bằng một toán tử duy nhất. Trong trường hợp này, không cần biết chi tiết về việc triển khai nội bộ cấu trúc dữ liệu và các tính năng của thuật toán được sử dụng để truy xuất chúng. Loại này bao gồm các ngôn ngữ dựa trên phép tính quan hệ SQL và QBE. SQL(Ngôn ngữ truy vấn có cấu trúc) dựa trên phép tính quan hệ và được mọi người hỗ trợ cơ sở dữ liệu quan hệ. Một tiêu chuẩn quốc tế đã được xác định cho nó. QBE(Truy vấn theo ví dụ) là một ngôn ngữ đơn giản với giao diện đồ họa cho phép người dùng không chuyên nghiệp tạo một truy vấn (ví dụ: trong Access DBMS).

Các DBMS hiện đại cũng chứa một bộ công cụ hỗ trợ phát triển các ứng dụng cơ sở dữ liệu - nhiều loại trình tạo khác nhau:

  • biểu mẫu màn hình – để tạo mẫu nhập dữ liệu;
  • báo cáo;
  • trình bày đồ họa của dữ liệu dưới dạng sơ đồ;
  • ứng dụng tạo chương trình xử lý dữ liệu.