Công bố trên Internet về công nghệ cao. Các khái niệm cơ bản về hệ thống quản lý cơ sở dữ liệu quan hệ. Hàm do người dùng xác định

Cơ sở dữ liệu(DB) là một tập hợp dữ liệu có cấu trúc, có tổ chức, mô tả các đặc điểm của hệ thống vật lý hoặc ảo.

Cơ sở dữ liệu là một cấu trúc có tổ chức được thiết kế để lưu trữ thông tin.

cơ sở dữ liệu- phần mềm công cụ được thiết kế để tổ chức bảo trì cơ sở dữ liệu.

Dựa trên loại mô hình cơ sở dữ liệu, chúng được chia thành:

    Cơ sở dữ liệu phân cấp

Các DBMS phân cấp dựa trên một mô hình dữ liệu khá đơn giản, có thể được hình dung như một cây của một loại đồ thị có hướng không theo chu kỳ đặc biệt. Một cây bao gồm các đỉnh, mỗi đỉnh, ngoại trừ một đỉnh, có một đỉnh cha và một số đỉnh con (không có).

    Cơ sở dữ liệu mạng

Giống như mô hình phân cấp, mô hình mạng cũng có thể được coi là đồ thị có hướng. Nhưng trong trường hợp này, biểu đồ có thể chứa các chu trình, tức là một đỉnh có thể có nhiều đỉnh cha.

    Cơ sở dữ liệu quan hệ

Các DBMS quan hệ là Hiện nay phổ biến nhất. Mô hình quan hệ tập trung vào việc tổ chức dữ liệu dưới dạng bảng hai chiều. Bảng quan hệ là một mảng hai chiều và có các thuộc tính sau:

Mỗi phần tử bảng là một phần tử dữ liệu;

Tất cả các cột trong bảng đều đồng nhất, tức là tất cả các phần tử trong một cột có cùng loại (số, ký tự, v.v.) và cùng độ dài;

Mỗi cột có một tên duy nhất.

Vai trò quan trọng trong sự thành công cơ sở dữ liệu quan hệ cũng chơi ngôn ngữ SQL(Ngôn ngữ truy vấn có cấu trúc), được thiết kế đặc biệt để truy vấn cơ sở dữ liệu quan hệ. Đây là một ngôn ngữ khá đơn giản và đồng thời có tính biểu cảm, với sự trợ giúp của nó, bạn có thể thực hiện các truy vấn khá phức tạp tới cơ sở dữ liệu.

    Hướng đối tượng

cơ sở dữ liệu trong đó dữ liệu được định dạng dưới dạng mô hình đối tượng bao gồm các chương trình ứng dụng được kiểm soát bởi các sự kiện bên ngoài. Trong công thức cổ điển và tổng quát nhất, cách tiếp cận hướng đối tượng dựa trên các khái niệm: đối tượng và định danh đối tượng; thuộc tính và phương thức; các lớp học; hệ thống phân cấp và kế thừa lớp.

    đa chiều

Phần mềm OLAP được sử dụng để xử lý dữ liệu từ có nhiều nguồn. Các sản phẩm phần mềm này cho phép thực hiện nhiều cách biểu diễn dữ liệu khác nhau và được đặc trưng bởi ba tính năng chính: biểu diễn dữ liệu đa chiều; tính toán phức tạp trên dữ liệu; tính toán liên quan đến sự thay đổi của dữ liệu theo thời gian.

9. Ngôn ngữ lập trình. Mã máy. Người dịch. Mã hóa thông tin nhị phân.

Ngôn ngữ lập trình- một hệ thống ký hiệu chính thức được thiết kế để mô tả các thuật toán ở dạng thuận tiện cho người thực hiện (ví dụ: máy tính). Ngôn ngữ lập trình xác định một tập hợp các quy tắc từ vựng, cú pháp và ngữ nghĩa được sử dụng để soạn thảo một chương trình máy tính. Nó cho phép lập trình viên xác định chính xác những sự kiện nào máy tính sẽ phản ứng, cách dữ liệu sẽ được lưu trữ và truyền đi cũng như những hành động nào sẽ được thực hiện trên dữ liệu này trong các trường hợp khác nhau.

Mã máy xử lý

Bộ xử lý máy tính nhận tất cả các lệnh và dữ liệu dưới dạng tín hiệu điện. Chúng có thể được biểu diễn dưới dạng tập hợp các số 0 và số 1, tức là các số. Tương ứng với các lệnh khác nhau số khác nhau. Vì vậy, trong thực tế chương trình mà bộ xử lý làm việc là một dãy số gọi là mã máy .

Các cấp độ của ngôn ngữ lập trình

Nếu một ngôn ngữ lập trình tập trung vào một loại bộ xử lý cụ thể và tính đến các tính năng của nó thì nó được gọi là ngôn ngữ lập trình cấp thấp . Điều này có nghĩa là các toán tử ngôn ngữ gần với mã máy và tập trung vào các lệnh xử lý cụ thể.

Ngôn ngữ cấp thấp nhất là Hợp ngữ , nó chỉ đơn giản biểu diễn từng lệnh mã máy, không phải dưới dạng số mà sử dụng các ký hiệu tượng trưng được gọi là sự ghi nhớ.

Ngôn ngữ lập trình cấp cao gần gũi và dễ hiểu hơn với con người hơn là với máy tính. Chúng không tính đến các tính năng của kiến ​​​​trúc máy tính cụ thể, do đó, các chương trình được tạo ở cấp độ văn bản nguồn có thể dễ dàng di chuyển sang các nền tảng khác mà trình dịch ngôn ngữ này đã được tạo.

Ngôn ngữ lập trình phổ biến hiện nay là:

Pascal (Pascal),được tạo ra vào cuối những năm 70 bởi người sáng lập nhiều ý tưởng lập trình hiện đại, Niklaus Wirth, và có khả năng sử dụng thành công khi tạo các dự án lớn.

Nền tảng(CƠ BẢN), d Có cả trình biên dịch và trình thông dịch cho ngôn ngữ này và về mức độ phổ biến, nó đứng đầu thế giới. Nó được tạo ra vào những năm 60 như ngôn ngữ giáo dục và rất dễ học. Sửa đổi hiện đại của nó Ngôn ngữ lập trình, tương thích với Microsoft Office, cho phép bạn mở rộng khả năng của các gói Excel và Access.

C (Si), Ngôn ngữ này được tạo ra tại Phòng thí nghiệm Bell và ban đầu không được coi là ngôn ngữ đại chúng. Nó đã được lên kế hoạch thay thế ngôn ngữ trình biên dịch mã để có thể tạo ra các chương trình nhỏ gọn và hiệu quả như nhau, đồng thời không phụ thuộc vào một loại bộ xử lý cụ thể. Vào những năm 70, nhiều chương trình ứng dụng, hệ thống và một số hệ điều hành (Unix) nổi tiếng đã được viết bằng ngôn ngữ này.

Một số ngôn ngữ, chẳng hạn như Java và C#, nằm giữa biên dịch và thông dịch. Cụ thể, chương trình không được biên dịch sang ngôn ngữ máy mà thành mã độc lập với máy cấp thấp, mã byte. Mã byte sau đó được thực thi bởi máy ảo. Thông dịch thường được sử dụng để thực thi mã byte, mặc dù các phần riêng lẻ của nó có thể được dịch trực tiếp sang mã máy trong quá trình thực thi chương trình bằng cách sử dụng tính năng biên dịch đúng lúc (JIT) để tăng tốc chương trình. Đối với Java, mã byte được thực thi bởi máy ảo Java (Java Máy ảo, JVM), dành cho C# - Thời gian chạy ngôn ngữ chung.

Với bài viết này, chúng tôi bắt đầu một loạt bài mới dành cho cơ sở dữ liệu, các công nghệ hiện đại để truy cập và xử lý dữ liệu. Trong loạt bài này, chúng tôi dự định xem xét các hệ thống quản lý máy chủ và máy tính để bàn phổ biến nhất cơ sở dữ liệu(DBMS), cơ chế truy cập dữ liệu (OLD DB, ADO, BDE, v.v.) và các tiện ích để làm việc với cơ sở dữ liệu (công cụ quản trị, trình tạo báo cáo, công cụ trình bày dữ liệu đồ họa). Ngoài ra, chúng tôi dự định chú ý đến các phương pháp xuất bản dữ liệu trên Internet, cũng như các phương pháp xử lý và lưu trữ dữ liệu phổ biến như OLAP (Xử lý phân tích trực tuyến) và tạo kho dữ liệu (Data Warehousing).

Trong bài viết này, chúng ta sẽ xem xét các khái niệm và nguyên tắc cơ bản của hệ thống quản lý cơ sở dữ liệu. Chúng ta sẽ thảo luận về mô hình dữ liệu quan hệ, khái niệm về tính toàn vẹn tham chiếu và các nguyên tắc chuẩn hóa dữ liệu cũng như các công cụ thiết kế dữ liệu. Sau đó, chúng tôi sẽ giải thích DBMS là gì, những đối tượng nào có thể được chứa trong cơ sở dữ liệu và cách thực hiện các truy vấn đối với các đối tượng này.

Các khái niệm cơ sở dữ liệu quan hệ cơ bản

Hãy bắt đầu với các khái niệm cơ bản về DBMS và Tom lược vào lý thuyết cơ sở dữ liệu quan hệ - phương pháp lưu trữ dữ liệu phổ biến nhất hiện nay.

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

Mô hình dữ liệu quan hệđược đề xuất bởi Tiến sĩ E.F. Codd, một nhà nghiên cứu cơ sở dữ liệu nổi tiếng, vào năm 1969 khi ông còn là nhân viên của IBM. Các khái niệm cơ bản của mô hình này được xuất bản lần đầu tiên vào năm 1970. “Mô hình dữ liệu quan hệ cho các ngân hàng dữ liệu dùng chung lớn”, CACM, 1970, 13 N 6).

Cơ sở dữ liệu quan hệ là kho dữ liệu chứa một tập hợp các bảng hai chiều. Một bộ công cụ để quản lý việc lưu trữ đó được gọi là hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS). RDBMS có thể chứa các tiện ích, ứng dụng, dịch vụ, thư viện, công cụ tạo ứng dụng và các thành phần khác.

Bất kỳ bảng cơ sở dữ liệu quan hệ nào cũng bao gồm dòng(còn được gọi là Hồ sơ) Và cột(còn được gọi là lĩnh vực). Trong loạt bài này chúng ta sẽ sử dụng cả hai cặp thuật ngữ.

Các hàng của bảng chứa thông tin về các sự kiện được trình bày trong đó (hoặc tài liệu hoặc con người, nói một cách ngắn gọn - về các đối tượng cùng loại). Tại giao điểm của một cột và một hàng là các giá trị cụ thể của dữ liệu có trong bảng.

Dữ liệu trong các bảng đáp ứng các nguyên tắc sau:

  1. Mỗi giá trị chứa ở giao điểm của một hàng và một cột phải nguyên tử(nghĩa là không chia thành nhiều giá trị).
  2. Các giá trị dữ liệu trong cùng một cột phải thuộc cùng loại có sẵn để sử dụng trong một DBMS nhất định.
  3. Mỗi bản ghi trong bảng là duy nhất, nghĩa là không có hai bản ghi nào trong bảng có tập giá trị hoàn toàn khớp với các trường của nó.
  4. Mỗi trường có một tên duy nhất.
  5. Trình tự các trường trong bảng không quan trọng.
  6. Trình tự các mục cũng không quan trọng.

Mặc dù thực tế là các hàng trong bảng được coi là không có thứ tự, nhưng bất kỳ hệ thống quản lý cơ sở dữ liệu nào cũng cho phép bạn sắp xếp các hàng và cột trong các lựa chọn từ đó theo cách người dùng cần.

Vì trình tự các cột trong bảng không quan trọng nên chúng được gọi bằng tên và những tên này là duy nhất cho một bảng nhất định (nhưng không nhất thiết phải là duy nhất cho toàn bộ cơ sở dữ liệu).

Vì vậy, bây giờ chúng ta biết rằng cơ sở dữ liệu quan hệ được tạo thành từ các bảng. Để minh họa một số điểm lý thuyết và để tạo ví dụ, chúng ta cần chọn một số loại cơ sở dữ liệu. Để không “phát minh lại bánh xe”, chúng tôi sẽ sử dụng cơ sở dữ liệu NorthWind đi kèm với Microsoft SQL Server và Microsoft truy cập.

Bây giờ hãy xem xét mối quan hệ giữa các bảng.

Phím và kết nối

Chúng ta hãy xem một đoạn của bảng Khách hàng từ cơ sở dữ liệu NorthWind (chúng tôi đã xóa các trường không cần thiết để minh họa mối quan hệ giữa các bảng).

Vì các hàng trong bảng không có thứ tự nên chúng ta cần một cột (hoặc tập hợp các cột) để xác định duy nhất mỗi hàng. Một cột (hoặc tập hợp các cột) như vậy được gọi là khóa chính (khóa chính). Khóa chính của bất kỳ bảng nào phải chứa các giá trị không trống duy nhất cho mỗi hàng.

Nếu khóa chính có nhiều hơn một cột thì nó được gọi là khóa chính tổng hợp (khóa chính tổng hợp).

Một cơ sở dữ liệu điển hình thường bao gồm một số bảng có liên quan. Một phần của bảng Đơn hàng.

Trường CustomerID của bảng này chứa ID của khách hàng đã đặt hàng. Nếu muốn biết tên công ty đã đặt hàng, chúng ta phải tìm giá trị ID khách hàng tương tự trong trường ID khách hàng của bảng Khách hàng và đọc giá trị của trường Tên công ty trong hàng tìm thấy. Nói cách khác, chúng ta cần liên kết hai bảng, Khách hàng và Đơn hàng, bằng cách sử dụng trường CustomerID. Một cột trỏ đến một bản ghi trong bảng khác có liên quan đến một bản ghi nhất định được gọi là khóa ngoại (khóa ngoại). Như bạn có thể thấy, trong trường hợp bảng Đơn hàng, khóa ngoại là cột CustomerID (Hình 1).

Nói cách khác, khóa ngoại là một cột hoặc tập hợp các cột có giá trị khớp với các giá trị hiện có của khóa chính của bảng khác.

Mối quan hệ giữa các bảng này được gọi là giao tiếp (mối quan hệ). Mối quan hệ giữa hai bảng được thiết lập bằng cách gán các giá trị khóa ngoại của một bảng cho các giá trị khóa chính của bảng kia.

Nếu mỗi khách hàng trong bảng Khách hàng chỉ có thể đặt một đơn hàng thì hai bảng được coi là có liên quan bởi một đối một (mối quan hệ một-một). Nếu mỗi khách hàng trong bảng Khách hàng có thể đặt không, một hoặc nhiều đơn hàng thì hai bảng được cho là có liên quan bởi một-nhiều (mối quan hệ một-nhiều) hoặc tỉ số chi tiết tổng thể. Mối quan hệ tương tự giữa các bảng được sử dụng thường xuyên nhất. Trong trường hợp này, bảng chứa khóa ngoại được gọi là bảng chi tiết và một bảng chứa khóa chính xác định các giá trị có thể có của khóa ngoại được gọi bảng chính.

Một nhóm các bảng có liên quan được gọi là cơ chế Cơ sở dữ liệu ( lược đồ cơ sở dữ liệu). Thông tin về các bảng, các cột của chúng (tên, kiểu dữ liệu, độ dài trường), khóa chính và khóa ngoài cũng như các đối tượng cơ sở dữ liệu khác được gọi là metadata (metadata).

Mọi thao tác xử lý dữ liệu trong cơ sở dữ liệu như chọn, chèn, xóa, cập nhật dữ liệu, thay đổi hoặc chọn siêu dữ liệu đều được gọi là lời yêu cầu vào cơ sở dữ liệu ( truy vấn). Thông thường, các truy vấn được xây dựng bằng một số ngôn ngữ, ngôn ngữ này có thể là tiêu chuẩn cho các DBMS khác nhau hoặc phụ thuộc vào một DBMS cụ thể.

Tính toàn vẹn tham chiếu

Chúng tôi đã nói ở trên rằng khóa chính của bất kỳ bảng nào phải chứa các giá trị không trống duy nhất cho một bảng nhất định. Tuyên bố này là một trong những quy tắc tính toàn vẹn tham chiếu (tính toàn vẹn tham chiếu). Một số (nhưng không phải tất cả) DBMS có thể kiểm soát tính duy nhất của khóa chính. Nếu DBMS kiểm soát tính duy nhất của khóa chính thì nếu bạn cố gán giá trị cho khóa chính đã tồn tại trong bản ghi khác, DBMS sẽ tạo thông báo chẩn đoán, thường chứa cụm từ vi phạm khóa chính. Thông báo này sau đó có thể được truyền đến ứng dụng mà qua đó người dùng cuối thao tác với dữ liệu.

Nếu hai bảng có liên quan bởi mối quan hệ chi tiết tổng thể, khóa ngoài chi tiết- bảng chỉ nên chứa những giá trị đã tồn tại trong số các giá trị khóa chính bậc thầy- những cái bàn. Nếu các giá trị đúng khóa ngoại không được DBMS kiểm soát, chúng ta có thể nói về sự vi phạm tính toàn vẹn tham chiếu. Trong trường hợp này, nếu chúng ta xóa một bản ghi khỏi bảng Khách hàng có ít nhất một bản ghi được liên kết với nó chi tiết- vào bảng Đơn hàng, điều này sẽ dẫn đến bảng Đơn hàng chứa các bản ghi đơn hàng được đặt bởi một người không xác định. Nếu DBMS kiểm soát tính chính xác của các giá trị của khóa ngoại thì khi bạn cố gắng gán một giá trị cho khóa ngoại không nằm trong số các giá trị của khóa chính của bảng chính hoặc khi bạn xóa hoặc sửa đổi các bản ghi trong bảng chính, dẫn đến vi phạm tính toàn vẹn tham chiếu, DBMS sẽ tạo ra một thông báo chẩn đoán, thường chứa cụm từ vi phạm khóa ngoại, sau này có thể được chuyển đến ứng dụng người dùng.

Hầu hết các DBMS hiện đại, chẳng hạn như Microsoft Access 97, Microsoft Access 2000 và Microsoft SQL Server 7.0, đều có khả năng giám sát việc tuân thủ các quy tắc toàn vẹn tham chiếu, nếu có được mô tả trong cơ sở dữ liệu. Với mục đích này, các DBMS như vậy sử dụng nhiều đối tượng cơ sở dữ liệu khác nhau (chúng ta sẽ thảo luận về chúng sau). Trong trường hợp này, mọi nỗ lực vi phạm quy tắc toàn vẹn tham chiếu sẽ bị ngăn chặn bằng việc tạo đồng thời các thông báo chẩn đoán hoặc ngoại lệ ( ngoại lệ cơ sở dữ liệu).

Giới thiệu về chuẩn hóa dữ liệu

Quá trình thiết kế dữ liệu là việc xác định siêu dữ liệu phù hợp với mục tiêu của hệ thống thông tin mà cơ sở dữ liệu trong tương lai sẽ được sử dụng. Chi tiết về cách phân tích một lĩnh vực chủ đề và tạo sơ đồ mối quan hệ thực thể ( ERD - sơ đồ mối quan hệ thực thể) và các mô hình dữ liệu nằm ngoài phạm vi của chu trình này. Ví dụ, những người quan tâm đến những vấn đề này có thể tham khảo cuốn sách “Giới thiệu về hệ thống cơ sở dữ liệu” của K. J. Date (Dialectics, Kyiv, 1998).

Trong bài viết này chúng ta sẽ chỉ thảo luận về một trong những nguyên tắc cơ bản của thiết kế dữ liệu - nguyên tắc bình thường hóa.

Chuẩn hóa là quá trình sắp xếp lại dữ liệu bằng cách loại bỏ các nhóm lặp lại và các mâu thuẫn khác trong việc lưu trữ dữ liệu nhằm đưa các bảng về dạng cho phép chỉnh sửa dữ liệu một cách nhất quán và chính xác.

Lý thuyết chuẩn hóa dựa trên khái niệm về dạng chuẩn. Một bảng được gọi là có dạng chuẩn cho trước nếu nó thỏa mãn một bộ nhất định yêu cầu. Về lý thuyết có năm dạng chuẩn tắc, nhưng trong thực tế chỉ có ba dạng đầu tiên thường được sử dụng. Hơn nữa, hai dạng chuẩn đầu tiên về cơ bản là các bước trung gian để đưa cơ sở dữ liệu về dạng chuẩn thứ ba.

Dạng bình thường đầu tiên

Hãy minh họa quá trình chuẩn hóa bằng một ví dụ sử dụng dữ liệu từ cơ sở dữ liệu NorthWind. Giả sử chúng ta ghi lại tất cả các sản phẩm đã đặt hàng vào bảng sau. Cấu trúc của bảng này như sau (Hình 2).

Để một bảng tuân thủ dạng chuẩn đầu tiên, tất cả các giá trị trường của nó phải là nguyên tử và

tất cả các hồ sơ là duy nhất. Do đó, theo định nghĩa, bất kỳ bảng quan hệ nào, bao gồm cả bảng OrderedProducts, đều đã ở dạng chuẩn đầu tiên.

Tuy nhiên, bảng này chứa dữ liệu dư thừa, ví dụ, thông tin khách hàng giống nhau được lặp lại trong bản ghi cho mỗi sản phẩm được đặt hàng. Sự dư thừa dữ liệu dẫn đến sự bất thường khi sửa đổi vấn đề dữ liệu lỗi xảy ra khi thêm, thay đổi hoặc xóa bản ghi. Ví dụ: khi chỉnh sửa dữ liệu trong bảng OrderedProducts, các vấn đề sau có thể xảy ra:

  • Địa chỉ của một khách hàng cụ thể chỉ có thể được chứa trong cơ sở dữ liệu khi khách hàng đã đặt hàng ít nhất một sản phẩm.
  • Khi bạn xóa bản ghi của một sản phẩm đã đặt hàng, thông tin về chính đơn hàng đó và về khách hàng đã đặt sản phẩm đó cũng sẽ bị xóa đồng thời.
  • Nếu, Chúa cấm, khách hàng thay đổi địa chỉ của mình, tất cả hồ sơ về sản phẩm anh ta đặt hàng sẽ phải được cập nhật.

Một số vấn đề này có thể được giải quyết bằng cách căn chỉnh cơ sở dữ liệu dạng chuẩn thứ hai.

Dạng bình thường thứ hai

Người ta nói rằng một bảng quan hệ nằm trong dạng chuẩn thứ hai, nếu nó ở dạng chuẩn thứ nhất và các trường không có khóa của nó hoàn toàn phụ thuộc từ toàn bộ khóa chính.

Bảng OrderedProducts ở dạng bình thường thứ nhất, nhưng không ở dạng bình thường thứ hai, vì các trường CustomerID, Địa chỉ và Ngày đặt hàng chỉ phụ thuộc vào trường OrderID, là một phần của khóa chính tổng hợp (OrderID, ProductID).

Để chuyển từ dạng bình thường thứ nhất sang dạng bình thường thứ hai, bạn cần làm theo các bước sau:

  1. Xác định những phần nào khóa chính có thể được chia thành các phần để một số trường không khóa phụ thuộc vào một trong các phần này ( những phần này không nhất thiết phải bao gồm một cột!).
  2. Tạo nên bảng mới cho từng phần của khóa và nhóm trường phụ thuộc vào nó và di chuyển chúng đến bảng này. Một phần khóa chính cũ sẽ trở thành khóa chính của bảng mới.
  3. Xóa các trường khỏi bảng nguồn đã được chuyển sang các bảng khác, ngoại trừ những trường sẽ trở thành khóa ngoại.

Ví dụ: để đưa bảng OrderedProducts về dạng thông thường thứ hai, bạn cần di chuyển các trường CustomerID, Địa chỉ và Ngày đặt hàng sang một bảng mới (hãy gọi nó là OrderInfo) và trường OrderID sẽ trở thành khóa chính của bảng mới (Hình . 3).

Kết quả là các bảng mới sẽ trông như thế này. Tuy nhiên, các bảng ở dạng chuẩn thứ hai chứ không phải dạng chuẩn thứ ba vẫn chứa các dị thường về sửa đổi dữ liệu. Ví dụ: đây là bảng OrderInfo:

  • Địa chỉ của một khách hàng cụ thể vẫn chỉ có thể được chứa trong cơ sở dữ liệu khi khách hàng đã đặt mua ít nhất một sản phẩm.
  • Việc xóa mục nhập đơn hàng trong bảng OrderInfo sẽ dẫn đến việc xóa mục nhập của chính khách hàng đó.
  • Nếu khách hàng đã thay đổi địa chỉ, một số bản ghi sẽ phải được cập nhật (mặc dù, theo quy định, có ít bản ghi hơn so với trường hợp trước).

Những bất thường này có thể được loại bỏ bằng cách chuyển sang dạng chuẩn thứ ba.

Dạng bình thường thứ ba

Một bảng quan hệ được cho là ở dạng chuẩn thứ ba, nếu nó ở dạng chuẩn thứ hai và tất cả các trường không khóa của nó chỉ phụ thuộc vào khóa chính.

Bảng OrderDetails đã ở dạng bình thường thứ ba. Trường không có khóa Số lượng hoàn toàn phụ thuộc vào khóa chính tổng hợp (OrderID, ProductID). Tuy nhiên, bảng OrderInfo không ở dạng chuẩn thứ ba, vì nó chứa sự phụ thuộc giữa các trường không có khóa (nó được gọi là sự phụ thuộc bắc cầu- sự phụ thuộc bắc cầu) - trường Địa chỉ phụ thuộc vào trường CustomerID.

Để chuyển từ dạng bình thường thứ hai sang dạng bình thường thứ ba, bạn cần làm theo các bước sau:

  • Xác định tất cả các trường (hoặc nhóm trường) mà các trường khác phụ thuộc vào.
  • Tạo một bảng mới cho từng trường (hoặc nhóm trường) như vậy và nhóm các trường phụ thuộc vào nó và di chuyển chúng đến bảng này. Trường (hoặc nhóm trường) mà tất cả các trường được di chuyển khác phụ thuộc vào sẽ trở thành khóa chính của bảng mới.
  • Xóa các trường đã di chuyển khỏi bảng gốc, chỉ để lại những trường sẽ trở thành khóa ngoại.

Để đưa bảng OrderInfo về dạng thông thường thứ ba, hãy tạo một bảng Khách hàng mới và di chuyển các trường CustomerID và Địa chỉ vào đó. Chúng tôi sẽ xóa trường Địa chỉ khỏi bảng nguồn và để lại trường CustomerID - bây giờ nó là khóa ngoại (Hình 4).

Vì vậy, sau khi đưa bảng gốc về dạng thông thường thứ ba, có ba bảng - Khách hàng, Đơn hàng và Chi tiết đơn hàng.

Lợi ích của việc bình thường hóa

Quá trình chuẩn hóa giúp loại bỏ tình trạng dư thừa dữ liệu, cho phép bạn giảm lượng dữ liệu được lưu trữ và loại bỏ các bất thường về thay đổi dữ liệu được mô tả ở trên. Ví dụ: sau khi giảm cơ sở dữ liệu được thảo luận ở trên thành dạng chuẩn thứ ba, những cải tiến sau đây được thể hiện rõ:

  • Thông tin địa chỉ khách hàng có thể được lưu trữ trong cơ sở dữ liệu, ngay cả khi nó chỉ khách hàng tiềm năng, người chưa đặt bất kỳ đơn đặt hàng nào.
  • Bạn có thể xóa thông tin về sản phẩm đã đặt mà không sợ xóa thông tin khách hàng, đơn hàng.

Việc thay đổi địa chỉ hoặc ngày đăng ký đơn hàng của khách hàng giờ đây chỉ cần thay đổi một bản ghi.

Cơ sở dữ liệu được thiết kế như thế nào

Thông thường, các DBMS hiện đại chứa các công cụ cho phép bạn tạo bảng và khóa. Ngoài ra còn có các tiện ích được cung cấp riêng biệt với DBMS (và thậm chí phục vụ đồng thời một số DBMS khác nhau) cho phép bạn tạo bảng, khóa và mối quan hệ.

Một cách khác để tạo bảng, khóa và mối quan hệ trong cơ sở dữ liệu là viết một tập lệnh được gọi là DDL (DDL - Ngôn ngữ định nghĩa dữ liệu; chúng ta sẽ nói về nó sau).

Cuối cùng, có một cách khác đang ngày càng trở nên phổ biến - đó là sử dụng các công cụ đặc biệt gọi là CASE tools (CASE là viết tắt của Computer-Aided System Engineering). Có một số loại công cụ CASE, nhưng công cụ được sử dụng phổ biến nhất để tạo cơ sở dữ liệu là sơ đồ mối quan hệ thực thể (sơ đồ E/R). Với sự trợ giúp của những công cụ này, cái gọi là hợp lý một mô hình dữ liệu mô tả các sự kiện và đối tượng được đăng ký trong đó (trong các mô hình như vậy, các nguyên mẫu bảng được gọi là thực thể và các trường được gọi là thuộc tính của chúng). Sau khi thiết lập mối quan hệ giữa các thực thể, xác định thuộc tính và thực hiện chuẩn hóa, cái gọi là thuộc vật chất một mô hình dữ liệu cho một DBMS cụ thể, trong đó tất cả các bảng, trường và các đối tượng cơ sở dữ liệu khác được xác định. Sau đó, bạn có thể tự tạo cơ sở dữ liệu hoặc tập lệnh DDL để tạo cơ sở dữ liệu đó.

Danh sách các công cụ CASE phổ biến nhất hiện nay.

Bảng và trường

Các bảng được hỗ trợ bởi tất cả các DBMS quan hệ và các trường của chúng có thể lưu trữ dữ liệu các loại khác nhau. Các kiểu dữ liệu phổ biến nhất.

Chỉ mục

Cao hơn một chút, chúng ta đã nói về vai trò của khóa chính và khóa ngoại. Trong hầu hết các DBMS quan hệ, các khóa được triển khai bằng cách sử dụng các đối tượng được gọi là chỉ mục, có thể được định nghĩa là một danh sách các số bản ghi cho biết thứ tự cung cấp chúng.

Chúng ta đã biết rằng các bản ghi trong bảng quan hệ không có thứ tự. Tuy nhiên, bất kỳ bản ghi nào tại một thời điểm cụ thể đều có một vị trí vật lý rất cụ thể trong tệp cơ sở dữ liệu, mặc dù điều này có thể thay đổi trong quá trình chỉnh sửa dữ liệu hoặc do “các hoạt động nội bộ” của chính DBMS.

Giả sử tại một thời điểm nào đó các bản ghi trong bảng Khách hàng được lưu trữ theo thứ tự này.

Giả sử chúng ta cần lấy dữ liệu này theo thứ tự của trường CustomerID. Bỏ qua các chi tiết kỹ thuật, chúng ta có thể nói rằng chỉ mục trên trường này là dãy số bản ghi theo đó chúng cần được hiển thị, đó là:

1,6,4,2,5,3

Nếu chúng ta muốn sắp xếp các bản ghi theo trường Địa chỉ thì thứ tự số bản ghi sẽ khác nhau:

5,4,1,6,2,3

Việc lưu trữ các chỉ mục yêu cầu ít không gian hơn đáng kể so với việc lưu trữ các phiên bản được sắp xếp khác nhau của chính bảng đó.

Nếu cần tìm dữ liệu về khách hàng có CustomerID bắt đầu bằng ký tự “BO”, chúng ta có thể sử dụng chỉ mục để tìm vị trí của các bản ghi này (trong trường hợp này là 2 và 5 (rõ ràng trong chỉ mục số lượng các bản ghi này là liên tiếp). ), sau đó đọc cụ thể bản ghi thứ hai và thứ năm, thay vì quét toàn bộ bảng.Do đó, việc sử dụng chỉ mục giúp giảm thời gian truy xuất dữ liệu.

Chúng tôi đã nói rằng vị trí vật lý của các bản ghi có thể thay đổi trong quá trình người dùng chỉnh sửa dữ liệu, cũng như do chính DBMS thực hiện các thao tác với các tệp cơ sở dữ liệu (ví dụ: nén dữ liệu, thu thập rác, v.v.). ). Nếu những thay đổi tương ứng xảy ra trong chỉ mục, nó được gọi là được hỗ trợ và các chỉ mục như vậy được sử dụng trong hầu hết các DBMS hiện đại. Việc triển khai các chỉ mục như vậy dẫn đến thực tế là bất kỳ thay đổi nào về dữ liệu trong bảng đều dẫn đến thay đổi các chỉ mục liên quan đến nó và điều này làm tăng thời gian mà DBMS yêu cầu để thực hiện các hoạt động đó. Do đó, khi sử dụng các DBMS như vậy, bạn chỉ nên tạo những chỉ mục thực sự cần thiết và được hướng dẫn về những truy vấn nào sẽ gặp thường xuyên nhất.

Hạn chế và quy tắc

Hầu hết các DBMS máy chủ hiện đại đều chứa các đối tượng đặc biệt được gọi là những hạn chế(ràng buộc), hoặc quy tắc(quy tắc). Các đối tượng này chứa thông tin về các hạn chế được đặt trên các giá trị trường có thể có. Ví dụ: bằng cách sử dụng một đối tượng như vậy, bạn có thể đặt giá trị tối đa hoặc tối thiểu cho một trường nhất định và sau đó DBMS sẽ không cho phép bạn lưu bản ghi không đáp ứng điều kiện này vào cơ sở dữ liệu.

Ngoài các ràng buộc liên quan đến việc thiết lập phạm vi thay đổi dữ liệu, còn có các ràng buộc tham chiếu (ví dụ: mối quan hệ chi tiết-chính giữa các bảng Khách hàng và Đơn hàng có thể được triển khai dưới dạng ràng buộc yêu cầu giá trị của trường CustomerId (ngoại key) trong bảng Đơn hàng phải bằng một trong các giá trị hiện có của trường CustomerId của bảng Khách hàng.

Lưu ý rằng không phải tất cả các hạn chế của DBMS đều hỗ trợ. Trong trường hợp này, bạn có thể sử dụng các đối tượng khác (ví dụ: trình kích hoạt) để triển khai chức năng quy tắc tương tự hoặc lưu trữ các quy tắc này trong các ứng dụng khách hoạt động với cơ sở dữ liệu này.

đại diện

Hầu hết tất cả các DBMS quan hệ đều hỗ trợ chế độ xem. Đối tượng này là một bảng ảo cung cấp dữ liệu từ một hoặc nhiều bảng thực. Trên thực tế, nó không chứa bất kỳ dữ liệu nào mà chỉ mô tả nguồn của chúng.

Thông thường các đối tượng như vậy được tạo ra để lưu trữ các truy vấn phức tạp trong cơ sở dữ liệu. Trong thực tế, chế độ xem là một truy vấn được lưu trữ.

Việc tạo các khung nhìn trong hầu hết các DBMS hiện đại được thực hiện bằng các công cụ trực quan đặc biệt cho phép bạn hiển thị các bảng cần thiết trên màn hình, thiết lập kết nối giữa chúng, chọn các trường hiển thị, đưa ra các hạn chế đối với bản ghi, v.v.

Thông thường, những đối tượng này được sử dụng để cung cấp bảo mật dữ liệu, ví dụ, bằng cách cho phép dữ liệu được xem qua chúng mà không cung cấp quyền truy cập trực tiếp vào các bảng. Ngoài ra, một số đối tượng xem có thể trả về các dữ liệu khác nhau, chẳng hạn như tùy thuộc vào tên người dùng, điều này cho phép anh ta chỉ nhận dữ liệu mà anh ta quan tâm.

Kích hoạt và thủ tục lưu trữ

Trình kích hoạt và thủ tục lưu trữ, được hỗ trợ trong hầu hết các DBMS máy chủ hiện đại, được sử dụng để lưu trữ mã thực thi.

Thủ tục lưu sẵn là một loại thủ tục đặc biệt được thực thi bởi máy chủ cơ sở dữ liệu. Các thủ tục lưu trữ được viết bằng ngôn ngữ thủ tục phụ thuộc vào DBMS cụ thể. Chúng có thể gọi lẫn nhau, đọc và sửa đổi dữ liệu trong bảng và có thể được gọi từ ứng dụng khách đang chạy cơ sở dữ liệu.

Các thủ tục lưu trữ thường được sử dụng để thực hiện các tác vụ thường xuyên xảy ra (ví dụ: đối chiếu bảng cân đối kế toán). Chúng có thể có đối số, giá trị trả về, mã lỗi và đôi khi là tập hợp hàng và cột (tập dữ liệu này đôi khi được gọi là tập dữ liệu). Tuy nhiên, loại thủ tục sau không được tất cả các DBMS hỗ trợ.

Trình kích hoạt cũng chứa mã thực thi, nhưng không giống như các thủ tục, chúng không thể được gọi từ ứng dụng khách hoặc thủ tục được lưu trữ. Trình kích hoạt luôn được liên kết với một bảng cụ thể và được thực thi khi sự kiện mà nó được liên kết (ví dụ: chèn, xóa hoặc cập nhật bản ghi) xảy ra trong khi chỉnh sửa bảng đó.

Trong hầu hết các DBMS hỗ trợ trình kích hoạt, bạn có thể xác định nhiều trình kích hoạt sẽ thực thi khi cùng một sự kiện xảy ra và xác định thứ tự thực hiện.

Đối tượng tạo khóa chính

Rất thường xuyên, các khóa chính được tạo ra bởi chính DBMS. Điều này thuận tiện hơn việc tạo chúng trong ứng dụng khách, vì trong công việc có nhiều người dùng, việc tạo khóa bằng DBMS là cách duy nhất để tránh trùng lặp khóa và thu được các giá trị nhất quán của chúng.

Các DBMS khác nhau sử dụng các đối tượng khác nhau để tạo khóa. Một số đối tượng này lưu trữ một số nguyên và các quy tắc tạo ra giá trị tiếp theo, thường được thực hiện bằng cách sử dụng trình kích hoạt. Các đối tượng như vậy được hỗ trợ, ví dụ, trong Oracle (trong trường hợp đó chúng được gọi là chuỗi) và trong Cơ sở dữ liệu IB (trong trường hợp đó chúng được gọi là trình tạo).

Một số DBMS hỗ trợ loại đặc biệt các trường dành cho khóa chính. Khi thêm bản ghi, các trường như vậy sẽ tự động được điền các giá trị tuần tự (thường là số nguyên). Trong trường hợp Microsoft Access và Microsoft SQL Server, các trường như vậy được gọi là trường Nhận dạng và trong trường hợp Corel Paradox, chúng được gọi là trường Tự động tăng.

Người dùng và vai trò

Ngăn chặn truy cập trái phép vào dữ liệu là một vấn đề nghiêm trọng có thể được giải quyết bằng nhiều cách khác nhau. Đơn giản nhất là bảo vệ bằng mật khẩu cho toàn bộ bảng hoặc một số trường của nó (ví dụ: cơ chế này được hỗ trợ trong Corel Paradox).

Hiện nay, một phương pháp bảo vệ dữ liệu khác phổ biến hơn - tạo danh sách người dùng bằng tên người dùng và mật khẩu. Trong trường hợp này, mọi đối tượng cơ sở dữ liệu đều thuộc sở hữu của một người dùng cụ thể và người dùng đó cấp quyền cho những người dùng khác đọc hoặc sửa đổi dữ liệu từ đối tượng đó hoặc sửa đổi chính đối tượng đó. Phương pháp này được sử dụng trong tất cả các máy chủ và một số DBMS trên máy tính để bàn (ví dụ: Microsoft Access).

Một số DBMS, chủ yếu là máy chủ, không chỉ hỗ trợ danh sách người dùng mà còn hỗ trợ các vai trò. Một vai trò là một tập hợp các đặc quyền. Nếu một người dùng cụ thể nhận được một hoặc nhiều vai trò và cùng với đó là tất cả các đặc quyền được xác định cho vai trò này.

Truy vấn cơ sở dữ liệu

Việc sửa đổi và lựa chọn dữ liệu, thay đổi siêu dữ liệu và một số thao tác khác được thực hiện bằng truy vấn. Hầu hết các DBMS hiện đại (và một số công cụ phát triển ứng dụng) đều chứa các công cụ để tạo các truy vấn như vậy.

Một cách để thao tác dữ liệu được gọi là “truy vấn bằng ví dụ” (QBE). QBE là một công cụ để liên kết các bảng một cách trực quan và chọn trường nào sẽ hiển thị trong kết quả truy vấn.

Trong hầu hết các DBMS (ngoại trừ một số DBMS trên máy tính để bàn), việc xây dựng truy vấn trực quan bằng QBE dẫn đến việc tạo văn bản truy vấn bằng ngôn ngữ truy vấn đặc biệt SQL (Ngôn ngữ truy vấn có cấu trúc). Bạn cũng có thể viết truy vấn trực tiếp bằng SQL.

Con trỏ

Thông thường kết quả của truy vấn là một tập hợp các hàng và cột (tập dữ liệu). Không giống như bảng quan hệ, các hàng trong một tập hợp như vậy được sắp xếp và thứ tự của chúng được xác định bởi truy vấn ban đầu (và đôi khi bởi sự hiện diện của các chỉ mục). Do đó, chúng ta có thể xác định hàng hiện tại trong một tập hợp như vậy và một con trỏ tới nó, được gọi là con trỏ.

Hầu hết các DBMS hiện đại đều hỗ trợ cái gọi là con trỏ hai chiều, cho phép bạn điều hướng qua bộ dữ liệu kết quả cả tiến và lùi. Tuy nhiên, một số DBMS chỉ hỗ trợ con trỏ một chiều, chỉ cho phép điều hướng chuyển tiếp thông qua tập dữ liệu.

ngôn ngữ SQL

Ngôn ngữ truy vấn có cấu trúc (SQL) là ngôn ngữ phi thủ tục được sử dụng để hình thành các truy vấn cơ sở dữ liệu trong hầu hết các DBMS hiện đại và hiện là một tiêu chuẩn ngành.

Bản chất phi thủ tục của ngôn ngữ có nghĩa là nó có thể chỉ ra những gì cần phải làm với cơ sở dữ liệu, nhưng nó không thể mô tả thuật toán cho quy trình này. Tất cả các thuật toán xử lý các truy vấn SQL đều do chính DBMS tạo ra và không phụ thuộc vào người dùng. Ngôn ngữ SQL bao gồm một tập hợp các câu lệnh có thể được chia thành nhiều loại:

  • Ngôn ngữ định nghĩa dữ liệu (DDL) - ngôn ngữ định nghĩa dữ liệu cho phép bạn tạo, xóa và thay đổi các đối tượng trong cơ sở dữ liệu
  • Ngôn ngữ thao tác dữ liệu (DML) - ngôn ngữ quản lý dữ liệu cho phép bạn sửa đổi, thêm và xóa dữ liệu trong các đối tượng cơ sở dữ liệu hiện có
  • Data Control Languages ​​(DCL) - ngôn ngữ dùng để kiểm soát đặc quyền của người dùng
  • Ngôn ngữ kiểm soát giao dịch (TCL) - ngôn ngữ quản lý các thay đổi được thực hiện bởi các nhóm người vận hành
  • Ngôn ngữ điều khiển con trỏ (CCL) - toán tử để định nghĩa, chuẩn bị con trỏ câu lệnh SQLđể thực hiện một số thao tác khác.

Chúng tôi sẽ cho bạn biết thêm về ngôn ngữ SQL ở một trong những bài viết tiếp theo trong loạt bài này.

Hàm do người dùng xác định

Một số DBMS cho phép sử dụng các hàm do người dùng xác định (Hàm do người dùng xác định UDF). Các hàm này thường được lưu trữ trong các thư viện bên ngoài và phải được đăng ký trong cơ sở dữ liệu trước khi chúng có thể được sử dụng trong các truy vấn, trình kích hoạt và thủ tục được lưu trữ.

Vì các hàm do người dùng định nghĩa được chứa trong các thư viện nên chúng có thể được tạo bằng cách sử dụng bất kỳ công cụ phát triển nào cho phép bạn tạo các thư viện cho nền tảng mà DBMS chạy trên đó.

Giao dịch

Giao dịch là một nhóm các thao tác trên dữ liệu được thực hiện cùng nhau hoặc bị hủy cùng nhau.

Cam kết giao dịch có nghĩa là tất cả các hoạt động có trong giao dịch đã được hoàn thành thành công và kết quả công việc của chúng đã được lưu vào cơ sở dữ liệu.

Khôi phục giao dịch có nghĩa là tất cả các hoạt động đã hoàn thành là một phần của giao dịch sẽ bị hủy và tất cả các đối tượng cơ sở dữ liệu bị ảnh hưởng bởi các hoạt động này sẽ được trả về trạng thái ban đầu. Để triển khai khả năng khôi phục các giao dịch, nhiều DBMS hỗ trợ ghi vào tệp nhật ký, cho phép bạn khôi phục dữ liệu gốc trong quá trình khôi phục.

Một giao dịch có thể bao gồm nhiều giao dịch lồng nhau.

Một số DBMS hỗ trợ cam kết hai giai đoạn, một quy trình cho phép các giao dịch được thực hiện trên nhiều cơ sở dữ liệu thuộc cùng một DBMS.

Để hỗ trợ các giao dịch phân tán (nghĩa là các giao dịch trên cơ sở dữ liệu được quản lý bởi các DBMS khác nhau), có phương tiện đặc biệt, được gọi là giám sát giao dịch.

Phần kết luận

Trong bài viết này, chúng tôi đã thảo luận về các khái niệm cơ bản về xây dựng DBMS quan hệ, các nguyên tắc cơ bản của thiết kế dữ liệu và cũng nói về những đối tượng có thể được tạo trong cơ sở dữ liệu.

Trong bài viết tiếp theo, chúng tôi sẽ giới thiệu với độc giả các DBMS máy tính để bàn phổ biến nhất: dBase, Paradox, Access, Visual FoxPro, Hoạt động và thảo luận về các tính năng chính của chúng.

Máy TínhPress 3"2000

Trong chương này chúng ta sẽ nêu bật và mô tả các lớp chính của DBMS.

Việc phân loại chính của DBMS dựa trên mô hình cơ sở dữ liệu được sử dụng. Dựa trên tiêu chí này, một số lớp DBMS được phân biệt: phân cấp, mạng, quan hệ, đối tượng và các lớp khác. Một số DBMS có thể hỗ trợ đồng thời nhiều mô hình dữ liệu.

Các DBMS trước đó, chẳng hạn như các DBMS phân cấp và mạng, có cấu trúc cây và được xây dựng theo nguyên tắc “Tổ tiên - Hậu duệ”. Nhưng những hệ thống như vậy đã trở nên lỗi thời và ngày càng ít được sử dụng.

Các DBMS quan hệ thay thế các DBMS phân cấp và mạng.

Đặc điểm của DBMS quan hệ

Những phát triển lý thuyết đầu tiên trong lĩnh vực DBMS quan hệ đã có được từ những năm 70, cùng thời điểm các nguyên mẫu đầu tiên của DBMS quan hệ xuất hiện. Trong một khoảng thời gian dài việc triển khai hiệu quả các hệ thống như vậy được coi là không thể. Tuy nhiên, việc tích lũy dần dần các phương pháp và thuật toán để tổ chức và quản lý cơ sở dữ liệu quan hệ đã dẫn đến thực tế là vào giữa những năm 80, các hệ thống quan hệ trên thực tế đã thay thế các DBMS đời đầu trên thị trường thế giới.

Cách tiếp cận quan hệ để tổ chức một DBMS giả định sự hiện diện của một tập hợp các mối quan hệ (bảng hai chiều) được kết nối với nhau. Mối quan hệ trong trường hợp này là sự kết hợp của hai hoặc nhiều mối quan hệ (bảng). Cơ sở dữ liệu không có kết nối giữa các mối quan hệ có cấu trúc rất hạn chế và không thể gọi là quan hệ. Các truy vấn tới cơ sở dữ liệu như vậy trả về một bảng có thể được sử dụng lại trong truy vấn tiếp theo. Dữ liệu trong một số bảng, như chúng tôi đã nói, có liên quan đến dữ liệu trong các bảng khác, đó là nguồn gốc của cái tên “quan hệ”.

Cách tiếp cận quan hệ để xây dựng DBMS có một số ưu điểm: Baydak A.Ya., Bulgkov A.A. DBMS hiện đại và ứng dụng của chúng trong lĩnh vực năng lượng [Tài nguyên điện tử]. - Chế độ truy cập: http://masters. donntu.edu.ua/2010/etf/baydak/library/article2. htm. - Mũ lưỡi trai. từ màn hình:

Sự hiện diện của một tập hợp nhỏ các trừu tượng giúp mô hình hóa hầu hết các lĩnh vực vấn đề phổ biến theo cách tương đối đơn giản và cho phép các định nghĩa hình thức chính xác trong khi vẫn mang tính trực quan;

Sự hiện diện của một bộ máy toán học đơn giản nhưng mạnh mẽ, chủ yếu dựa trên lý thuyết tập hợp và logic toán học, đồng thời cung cấp cơ sở lý thuyết cho cách tiếp cận quan hệ để tổ chức cơ sở dữ liệu;

Khả năng thao tác dữ liệu không điều hướng mà không cần biết tổ chức vật lý cụ thể của cơ sở dữ liệu trong bộ nhớ ngoài.

Mô hình quan hệ có cơ sở lý thuyết chặt chẽ. Lý thuyết này đã góp phần tạo ra ngôn ngữ khai báo SQL, ngôn ngữ này hiện đã trở thành ngôn ngữ tiêu chuẩn để xác định và thao tác cơ sở dữ liệu quan hệ. Điểm mạnh khác mô hình quan hệ- Đơn giản, phù hợp với hệ thống xử lý giao dịch trực tuyến (OLTP), đảm bảo tính độc lập dữ liệu. Tuy nhiên, mô hình dữ liệu quan hệ và DBMS quan hệ nói riêng có những nhược điểm nhất định.

Nhược điểm chính của DBMS quan hệ là việc sử dụng hạn chế vốn có của các hệ thống này trong các lĩnh vực yêu cầu cấu trúc dữ liệu khá phức tạp. Một trong những khía cạnh chính của mô hình dữ liệu quan hệ truyền thống là tính nguyên tử (tính duy nhất và không thể phân chia) của dữ liệu, được lưu trữ tại giao điểm của các hàng và cột của bảng. Quy tắc này là cơ sở của đại số quan hệ khi nó được phát triển dưới dạng mô hình dữ liệu toán học. Ngoài ra, việc triển khai cụ thể mô hình quan hệ không cho phép chúng ta phản ánh đầy đủ các kết nối thực sự giữa các đối tượng trong lĩnh vực chủ đề được mô tả. Những hạn chế này cản trở đáng kể việc thực hiện hiệu quả ứng dụng hiện đại, đòi hỏi các cách tiếp cận hơi khác nhau để tổ chức dữ liệu.

Nguyên tắc cốt lõi của mô hình quan hệ là loại bỏ các trường và nhóm trùng lặp thông qua một quá trình gọi là chuẩn hóa. Các bảng chuẩn hóa phẳng rất phổ biến, dễ hiểu và đủ về mặt lý thuyết để trình bày dữ liệu trong bất kỳ lĩnh vực chủ đề nào. Chúng rất phù hợp cho các ứng dụng lưu trữ và hiển thị dữ liệu trong các ngành truyền thống như ngân hàng hoặc hệ thống kế toán, nhưng ứng dụng của chúng trong các hệ thống dựa trên cấu trúc dữ liệu phức tạp hơn thường gặp khó khăn. Điều này chủ yếu là do tính nguyên thủy của các cơ chế lưu trữ dữ liệu làm cơ sở cho mô hình quan hệ Nikitin M. Liệu kỷ nguyên của DBMS quan hệ đã kết thúc chưa? [Tài nguyên điện tử]. - Chế độ truy cập: http://www.cnews.ru/reviews/free/marketBD/articles/articles2. shtml. - Mũ lưỡi trai. từ màn hình.

Ngày nay, các nhà sản xuất DBMS quan hệ nổi tiếng như sau - ORACLE, Informix, IBM (DB2), Sybase, Microsoft (MS SQL Server), Progress và các nhà sản xuất khác. Trong các sản phẩm của mình, các nhà sản xuất DBMS tập trung vào việc nhiều loại khác nhau máy tính (từ máy tính lớn đến máy tính xách tay) và trên các hệ điều hành (OS) khác nhau. Ngoài ra, các nhà sản xuất DBMS cũng không bỏ qua các sản phẩm chạy trên máy tính để bàn, chẳng hạn như dBase, FoxPro, Access và những sản phẩm tương tự. Các DBMS này được thiết kế để hoạt động trên PC và giải quyết các vấn đề cục bộ trên một PC hoặc một nhóm nhỏ PC. Thông thường, dữ liệu DBMS được sử dụng làm hình ảnh phản chiếu của một phần nhỏ trong tổng thể DBMS của công ty, để giảm thiểu chi phí tài nguyên và phần cứng cần thiết để giải quyết các vấn đề nhỏ.

Các DBMS khác nhau chạy trên các hệ điều hành và phần cứng khác nhau. Nổi tiếng nhất trong số các hệ điều hành này là UNIX, VAX, Solaris, Windows. Tùy thuộc vào khối lượng lưu trữ dữ liệu, số lượng người dùng truy cập dữ liệu đồng thời và mức độ phức tạp của tác vụ, các DBMS khác nhau được sử dụng trên các nền tảng khác nhau. Ví dụ: Oracle DBMS trên Unix, được cài đặt trên máy chủ đa bộ xử lý, cho phép bạn giải quyết các vấn đề về cung cấp dữ liệu cho hàng trăm nghìn người dùng Ponomarev I.S. Hệ thống quản lý cơ sở dữ liệu [Tài nguyên điện tử]. - Chế độ truy cập: http://mathmod. aspu.ru/images/File/Ponomareva/TM10_About%20BD. pdf. - P. 2.

Hiện nay, các DBMS định hướng hoạt động đang được quan tâm nhiều nhất. Hệ thống Windows sử dụng nền tảng Intel.

TRONG Gần đây những cáo buộc được nghe về có thể thay đổi các mô hình - từ DBMS quan hệ đến DBMS hậu quan hệ. Tuy nhiên, theo các nhà phân tích, cho đến nay các DBMS quan hệ mới được sử dụng trong phần lớn các dự án lớn liên quan đến việc triển khai hệ thống quản lý cơ sở dữ liệu. Thị trường rõ ràng tuân thủ các phương pháp truyền thống để giải quyết những vấn đề như vậy.

Hệ thống quản lý cơ sở dữ liệu (DBMS) là một trong những thành phần cơ bản của phần mềm máy tính quá trình thông tin, là cơ sở để xây dựng hầu hết các hệ thống thông tin hiện đại. Chức năng chính của DBMS là lưu trữ và cung cấp dữ liệu hiệu quả phục vụ các nhiệm vụ ứng dụng cụ thể.

Các DBMS thương mại có từ giữa những năm 60, khi IBM phát hành sản phẩm đầu tiên thuộc loại này - DBMS IMS phân cấp. Vào đầu những năm 70, Edgar Codd đã đặt nền móng cho mô hình dữ liệu quan hệ, phát triển ngôn ngữ truy vấn có cấu trúc SQL và trong những năm 80, các DBMS công nghiệp đã được tạo ra và nhanh chóng chiếm vị trí thống trị. Hiện tại, ba công ty hàng đầu - Microsoft, Oracle và IBM - hoàn toàn kiểm soát thị trường, với các sản phẩm chủ lực của họ là Microsoft SQL Server, Oracle Database và IBM DB2 cùng nhau nắm giữ thị phần khoảng 90%. Thị trường DBMS đang phát triển tích cực và theo các nhà phân tích của Forrester, đến năm 2013 tổng khối lượng của nó sẽ đạt 32 tỷ USD.

Nhược điểm chính của DBMS quan hệ là việc sử dụng hạn chế vốn có của các hệ thống này trong các lĩnh vực yêu cầu cấu trúc dữ liệu khá phức tạp. Một trong những khía cạnh chính của mô hình dữ liệu quan hệ truyền thống là tính nguyên tử (tính duy nhất và không thể phân chia) của dữ liệu, được lưu trữ tại giao điểm của các hàng và cột của bảng. Quy tắc này là cơ sở của đại số quan hệ khi nó được phát triển dưới dạng mô hình dữ liệu toán học. Ngoài ra, việc triển khai cụ thể mô hình quan hệ không cho phép chúng ta phản ánh đầy đủ các kết nối thực sự giữa các đối tượng trong lĩnh vực chủ đề được mô tả. Những hạn chế này cản trở đáng kể việc triển khai hiệu quả các ứng dụng hiện đại, đòi hỏi các cách tiếp cận hơi khác nhau để tổ chức dữ liệu.

Nguyên tắc cốt lõi của mô hình quan hệ là loại bỏ các trường và nhóm trùng lặp thông qua một quá trình gọi là chuẩn hóa. Các bảng chuẩn hóa phẳng rất phổ biến, dễ hiểu và đủ về mặt lý thuyết để trình bày dữ liệu trong bất kỳ lĩnh vực chủ đề nào. Chúng rất phù hợp cho các ứng dụng lưu trữ và hiển thị dữ liệu trong các ngành truyền thống như hệ thống ngân hàng hoặc kế toán, nhưng việc sử dụng chúng trong các hệ thống dựa trên cấu trúc dữ liệu phức tạp hơn thường gặp khó khăn. Điều này chủ yếu là do tính nguyên thủy của cơ chế lưu trữ dữ liệu bên dưới mô hình quan hệ.

Kinh nghiệm trong việc phát triển các hệ thống thông tin ứng dụng đã chỉ ra rằng việc từ bỏ tính nguyên tử của các giá trị sẽ dẫn đến việc mở rộng mô hình dữ liệu một cách hữu ích về mặt chất lượng. Việc giới thiệu mô hình quan hệ về khả năng sử dụng các trường đa giá trị như các bảng lồng nhau độc lập, với điều kiện là bảng lồng đáp ứng các tiêu chí chung, cho phép chúng ta mở rộng một cách tự nhiên các khả năng của đại số quan hệ. Theo nghĩa cổ điển, loại mô hình dữ liệu này được gọi là hậu quan hệ.

Do mô hình hậu quan hệ sử dụng các cấu trúc đa chiều cho phép các bảng khác được lưu trữ trong các trường bảng nên nó còn được gọi là “không phải dạng chuẩn đầu tiên” hoặc “cơ sở dữ liệu đa chiều”. Ngôn ngữ được sử dụng trong mô hình truy vấn này là SQL nâng cao, cho phép bạn truy xuất vật thể phức tạp từ một bảng mà không cần thực hiện các thao tác nối. Chúng ta có thể nói rằng các DBMS quan hệ và hậu quan hệ khác nhau về cách chúng lưu trữ và lập chỉ mục dữ liệu, nhưng ở tất cả các khía cạnh khác, chúng đều giống nhau. Các DBMS hậu quan hệ đầu tiên trở nên khá nổi tiếng là Ardent's Universe (sau này được Informix mua lại, sau đó được IBM mua lại) và ADABAS của Software AG.

DBMS quan hệ đối tượng

Ngoài việc tránh chuẩn hóa, các DBMS hậu quan hệ cho phép bạn lưu trữ dữ liệu thuộc loại trừu tượng, do người dùng xác định trong các trường quan hệ. Điều này cho phép giải quyết các vấn đề ở cấp độ mới, lưu trữ các đối tượng và mảng dữ liệu tập trung vào các lĩnh vực chủ đề cụ thể, đồng thời làm cho các DBMS hậu quan hệ tương tự như các DBMS hướng đối tượng lớp khác. Việc đưa cách tiếp cận đối tượng vào mô hình quan hệ truyền thống đã dẫn đến sự xuất hiện của một hướng khác - DBMS quan hệ đối tượng. Đại diện đầu tiên của loại hệ thống này được coi là hệ thống Informix Universal Server của công ty cùng tên.

Như bạn đã biết, cách tiếp cận hướng đối tượng đối với mô hình hóa miền dựa trên các khái niệm như đối tượng và các thuộc tính đóng gói, kế thừa và đa hình. Không giống như các DBMS quan hệ, khi thiết kế cơ sở dữ liệu hướng đối tượng, không cần phải phân rã và chuẩn hóa các đối tượng được phân bổ ở giai đoạn thiết kế khái niệm. Các đối tượng được trình bày ở dạng giống như chúng tồn tại trong thực tế, điều này mang lại khả năng hiển thị cho các cấu trúc hướng đối tượng và có thể giảm đáng kể thời gian thiết kế và phát triển chúng.

Một trong những DBMS hậu quan hệ nổi tiếng nhất là hệ thống Postgres, được tạo ra vào giữa những năm 80 của thế kỷ trước dưới sự lãnh đạo của một trong những nhà phát triển DBMS hàng đầu, Michael Stonebraker. Stonebraker đã (và tiếp tục có) ảnh hưởng to lớn đến ngành DBMS, nắm trong tay hầu hết các sự phát triển đầy hứa hẹn trong lĩnh vực này. Postgres đã mở rộng mô hình quan hệ truyền thống bằng cách giới thiệu các cơ chế quản lý đối tượng cho phép các kiểu dữ liệu phi truyền thống được lưu trữ và quản lý hiệu quả. Postgres cũng hỗ trợ mô hình lưu trữ và truy cập dữ liệu theo thời gian đa chiều. Tất cả các ý tưởng và sự phát triển chính của Postgers đều được tiếp tục và phát triển trong DBMS PostgreSQL được phân phối tự do, hiện là DBMS mở được phát triển nhất.

Thông thường, các DBMS hậu quan hệ còn được gọi là DBMS hậu quan hệ, cho phép bạn trình bày dữ liệu ở cả dạng bảng quan hệ và các lớp đối tượng. Một đại diện điển hình của loại DBMS này là hệ thống Cache của InterSystems. Theo các nhà phát triển của nó, hệ thống này kết hợp hiệu quả nhất các mối quan hệ và đối tượng tiếp cận, tương ứng, dựa trên các tiêu chuẩn SQL-92 và ODMG 2.0. Cơ chế làm việc với các đối tượng và bảng quan hệ ở cùng mức logic, cung cấp nhiều tốc độ cao truy cập và làm việc với dữ liệu và chức năng đầy đủ. Cache cũng sử dụng mô hình lưu trữ dữ liệu đa chiều và được tối ưu hóa cho việc xử lý giao dịch trong các hệ thống có cơ sở dữ liệu lớn và cực lớn (hàng trăm gigabyte, terabyte) và một lượng lớn(hàng nghìn, hàng chục nghìn) người dùng đồng thời, đồng thời cho phép đạt hiệu suất rất cao.

Triển vọng phát triển

DBMS công nghiệp hiện đại là các hệ thống phức tạp bao gồm nhiều yếu tố, công nghệ và phương pháp tiếp cận khác nhau. Các thành phần này được kết hợp và cải tiến dựa trên nhu cầu cung cấp điều kiện lý tưởngđể giải quyết vấn đề quản lý khối lượng lớn dữ liệu trong các điều kiện khác nhau. Đồng thời, tất cả các nhà phát triển đều thực hiện công việc nghiên cứu quy mô lớn. Nhiều năm kinh nghiệm trong việc phát triển DBMS đã chỉ ra rằng cần rất nhiều thời gian để đảm bảo hoạt động hiệu quả, đáng tin cậy và không có lỗi của chức năng mới. Sự cạnh tranh khốc liệt trên thị trường DBMS buộc các nhà sản xuất phải giám sát cẩn thận các sản phẩm của đối thủ cạnh tranh, xác định xu hướng mới và sự xuất hiện của các khả năng mới quan trọng ở một trong các nhà cung cấp buộc những nhà cung cấp khác phải triển khai chức năng tương tự trong quá trình phát triển của họ.

Đổi lại, nhu cầu của các nhà phát triển cơ sở dữ liệu hiện đại đang tăng lên. Trước hết, điều này là do sự phát triển nhanh chóng của Internet, việc sử dụng đa phương tiện tích cực và nhu cầu xử lý dữ liệu bán cấu trúc.

Theo kết quả nghiên cứu của IDC được công bố vào cuối năm 2009, các DBMS quan hệ truyền thống được sử dụng trong phần lớn các dự án lớn liên quan đến việc triển khai hệ thống quản lý cơ sở dữ liệu. Chỉ có khoảng 7% là các dự án sử dụng DBMS không liên quan. Sự cân bằng quyền lực này trên thị trường triển khai thực tế phản ánh tình hình chung: các nhà phát triển vẫn tích cực tuân thủ các phương pháp tiếp cận truyền thống để giải quyết các vấn đề liên quan đến việc sử dụng DBMS.

Tất cả những điều trên cho thấy rằng chiến lược phát triển được lựa chọn bởi những công ty hàng đầu trên thị trường DBMS sẽ cho phép họ tiếp tục duy trì vị trí dẫn đầu của mình. Sản phẩm chính của họ sẽ được cải tiến và bán chức năng mới và các nhà phát triển sẽ tiếp tục lựa chọn các giải pháp truyền thống phổ quát và đã được thử nghiệm theo thời gian.

Maxim Nikitin

Ngân hàng dữ liệu được hiểu là một tập hợp cơ sở dữ liệu, cũng như phần mềm, ngôn ngữ và các công cụ khác nhằm mục đích tích lũy dữ liệu tập trung và sử dụng chúng bằng máy tính điện tử.

Ngân hàng dữ liệu bao gồm một hoặc nhiều cơ sở dữ liệu, thư mục cơ sở dữ liệu, hệ thống quản lý cơ sở dữ liệu (DBMS), cũng như các thư viện truy vấn và chương trình ứng dụng.

Ngân hàng dữ liệu được thiết kế để lưu trữ một lượng lớn thông tin, tìm kiếm nhanh thông tin, tài liệu cần thiết.

Một ngân hàng dữ liệu được tạo ra trong hệ thống thuê bao với bất kỳ hiệu suất nào - từ máy tính cá nhânđến siêu máy tính. Nhưng ngay cả ngân hàng dữ liệu lớn nhất cũng bị hạn chế về khả năng của nó. Do đó, các ngân hàng trực tuyến chuyên môn hóa bằng cách thu thập thông tin trong một số lĩnh vực khoa học, công nghệ và sản phẩm nhất định. Cốt lõi của ngân hàng là cơ sở dữ liệu và cơ sở tri thức. Cơ sở dữ liệu là một cấu trúc có tổ chức được thiết kế để lưu trữ thông tin. Dữ liệu và thông tin là những khái niệm có mối liên hệ với nhau nhưng không giống nhau, tôi cần lưu ý sự mâu thuẫn trong định nghĩa này. Ngày nay, hầu hết các hệ thống quản lý cơ sở dữ liệu (DBMS) cho phép bạn đặt trong cấu trúc của chúng không chỉ dữ liệu mà còn cả các phương thức (tức là mã chương trình) để diễn ra tương tác với người tiêu dùng hoặc với các hệ thống phần mềm và phần cứng khác. Vì vậy, chúng ta có thể nói rằng cơ sở dữ liệu hiện đại không chỉ lưu trữ dữ liệu mà còn cả thông tin.

BnD có các công cụ đặc biệt giúp người dùng làm việc với dữ liệu (DBMS) dễ dàng hơn.

Quản lý dữ liệu tập trung có lợi thế hơn hệ thống tệp thông thường:

- giảm sự dư thừa trong lưu trữ dữ liệu;

— giảm cường độ lao động trong việc phát triển, vận hành và hiện đại hóa hệ thống thông tin;

Đảm bảo quyền truy cập dữ liệu thuận tiện với tư cách là người dùng

cả chuyên gia dữ liệu và người dùng cuối.

Yêu cầu cơ bản đối với BnD:

- sự thể hiện đầy đủ của lĩnh vực chủ đề (tính đầy đủ, tính toàn vẹn và - tính nhất quán của dữ liệu, sự liên quan của thông tin;

- khả năng tương tác giữa những người dùng thuộc các danh mục khác nhau, hiệu quả truy cập dữ liệu cao;

— giao diện thân thiện, thời gian đào tạo ngắn;

— đảm bảo bí mật và hạn chế quyền truy cập vào dữ liệu đối với người dùng khác nhau;

- độ tin cậy của việc lưu trữ và bảo vệ dữ liệu.

Định nghĩa của thuật ngữ Ngân hàng dữ liệu được đưa ra trong Quy định tạm thời về kế toán nhà nước và đăng ký cơ sở dữ liệu và ngân hàng dữ liệu, được phê duyệt bởi Nghị định của Chính phủ Liên bang Nga ngày 28 tháng 2 năm 1996 số 226, khoản 2 (SZ RF, 1996). , Số 12, Điều 1114)

Ban đầu (đầu thập niên 60) được sử dụng hệ thống tập tin kho Để giải quyết các vấn đề kỹ thuật chủ yếu, đặc trưng bởi một lượng nhỏ dữ liệu và một lượng tính toán đáng kể, dữ liệu được lưu trữ trực tiếp trong chương trình. Một cách tổ chức dữ liệu nhất quán đã được sử dụng, có độ dư thừa cao, cấu trúc vật lý và logic giống hệt nhau và sự phụ thuộc dữ liệu hoàn toàn. Với sự ra đời của các nhiệm vụ kinh tế và quản lý (hệ thống thông tin quản lý - MIS), được đặc trưng bởi khối lượng dữ liệu lớn và tỷ lệ tính toán nhỏ, việc tổ chức dữ liệu này trở nên không hiệu quả. Việc sắp xếp dữ liệu là bắt buộc, hóa ra có thể được thực hiện theo hai tiêu chí: sử dụng (mảng thông tin); lưu trữ (cơ sở dữ liệu). Ban đầu, các mảng thông tin được sử dụng nhưng tính ưu việt của cơ sở dữ liệu đã sớm trở nên rõ ràng. Việc sử dụng các tập tin để chỉ lưu trữ dữ liệu được Mac Gree đề xuất vào năm 1959. Các phương pháp truy cập (bao gồm cả truy cập ngẫu nhiên) vào các tệp như vậy đã được phát triển, trong khi cấu trúc vật lý và logic đã khác nhau và vị trí vật lý của dữ liệu có thể được thay đổi mà không thay đổi cách biểu diễn logic.

Năm 1963, S. Bachman xây dựng cơ sở dữ liệu IDS công nghiệp đầu tiên với mô hình dữ liệu nối mạng, mô hình này vẫn có đặc điểm là dư thừa dữ liệu và chỉ sử dụng cho một ứng dụng. Dữ liệu được truy cập bằng cách sử dụng thích hợp phần mềm. Năm 1969, một nhóm được thành lập nhằm tạo ra một bộ tiêu chuẩn CODASYL cho mô hình mạng dữ liệu.

Trên thực tế, kiến ​​trúc cơ sở dữ liệu hiện đại đã bắt đầu được sử dụng. Kiến trúc được hiểu là một kiểu (tổng quát hóa) của một cấu trúc trong đó bất kỳ phần tử nào cũng có thể được thay thế bằng phần tử khác có đặc điểm đầu vào và đầu ra giống hệt với phần tử đầu tiên. Một bước nhảy vọt đáng kể trong sự phát triển của công nghệ cơ sở dữ liệu đã được đưa ra bởi mô hình mô hình dữ liệu quan hệ do M. Codd đề xuất vào năm 1970. Mô hình được hiểu là một lý thuyết khoa học được thể hiện trong một hệ thống các khái niệm phản ánh những đặc điểm cơ bản của thực tế. Hiện nay cấu trúc logic có thể được lấy từ cùng một dữ liệu vật lý, tức là Các ứng dụng khác nhau có thể truy cập cùng một dữ liệu vật lý thông qua các đường dẫn khác nhau. Việc đảm bảo tính toàn vẹn và độc lập của dữ liệu đã trở nên khả thi.

Vào cuối những năm 70, các DBMS hiện đại xuất hiện, mang lại sự độc lập về mặt vật lý và logic, bảo mật dữ liệu và có các ngôn ngữ cơ sở dữ liệu phát triển. Thập kỷ vừa qua được đặc trưng bởi sự xuất hiện của cơ sở dữ liệu phân tán và hướng đối tượng, các đặc điểm của chúng được xác định bởi các ứng dụng của các công cụ thiết kế tự động và trí tuệ hóa cơ sở dữ liệu.

Liên quan chặt chẽ với khái niệm cơ sở dữ liệu là khái niệm hệ thống quản lý cơ sở dữ liệu - đây là một bộ công cụ phần mềm được thiết kế để tạo cấu trúc của cơ sở dữ liệu mới, điền nội dung, chỉnh sửa nội dung và trực quan hóa thông tin. Trực quan hóa thông tin cơ sở dữ liệu có nghĩa là việc lựa chọn dữ liệu được hiển thị theo một tiêu chí nhất định, thứ tự, thiết kế và đầu ra tiếp theo của chúng tới thiết bị đầu ra hoặc truyền qua các kênh liên lạc.

Trên thế giới có rất nhiều hệ quản trị cơ sở dữ liệu. Mặc dù chúng có thể hoạt động khác nhau với các đối tượng khác nhau và cung cấp cho người dùng các chức năng khác nhau và các công cụ, hầu hết các DBMS đều dựa trên một tập hợp các khái niệm cơ bản được thiết lập tốt. Điều này cho chúng ta cơ hội xem xét một hệ thống và khái quát hóa các khái niệm, kỹ thuật và phương pháp của nó cho toàn bộ lớp DBMS.

DBMS tổ chức việc lưu trữ thông tin theo cách thuận tiện:

duyệt,

bổ sung,

thay đổi,

tìm kiếm thông tin bạn cần,

thực hiện bất kỳ lựa chọn nào

sắp xếp theo bất kỳ thứ tự nào.

Phân loại cơ sở dữ liệu:

a) theo bản chất của thông tin được lưu trữ:

Thực tế (chỉ số thẻ),

Tài liệu (lưu trữ)

b) Theo phương pháp lưu trữ dữ liệu:

Tập trung (được lưu trữ trên một máy tính),

Phân phối (được sử dụng trong mạng máy tính cục bộ và toàn cầu).

c) Theo cấu trúc tổ chức dữ liệu:

Dạng bảng (quan hệ),

Thứ bậc,

Các DBMS hiện đại có thể bao gồm không chỉ văn bản và thông tin đồ họa, mà còn cả các đoạn âm thanh và thậm chí cả các video clip.

Tính dễ sử dụng của DBMS cho phép bạn tạo cơ sở dữ liệu mới mà không cần dùng đến lập trình mà chỉ sử dụng các chức năng tích hợp sẵn. DBMS đảm bảo tính chính xác, đầy đủ và nhất quán của dữ liệu cũng như dễ dàng truy cậpđối với họ.

DBMS phổ biến - FoxPro, Access cho cửa sổ, Nghịch lý. Đối với các ứng dụng ít phức tạp hơn, thay vì DBMS, hệ thống truy xuất thông tin (IRS) được sử dụng, thực hiện các chức năng sau:

lưu trữ một lượng lớn thông tin;

tìm kiếm nhanh thông tin cần thiết;

thêm, xóa và thay đổi thông tin được lưu trữ;

xuất nó ở dạng thuận tiện cho con người.

Thông tin trong cơ sở dữ liệu được cấu trúc thành các bản ghi riêng lẻ, là một nhóm các thành phần dữ liệu có liên quan. Bản chất của mối quan hệ giữa các bản ghi xác định hai loại tổ chức cơ sở dữ liệu chính: phân cấp và quan hệ.

Nếu không có dữ liệu trong cơ sở dữ liệu (cơ sở dữ liệu trống) thì đó vẫn là cơ sở dữ liệu chính thức. Thực tế này có ý nghĩa phương pháp luận. Mặc dù không có dữ liệu trong cơ sở dữ liệu nhưng vẫn có thông tin trong đó - đây là cấu trúc của cơ sở dữ liệu. Nó định nghĩa các phương thức nhập dữ liệu và lưu trữ nó trong cơ sở dữ liệu. Phiên bản cơ sở dữ liệu “không phải máy tính” đơn giản nhất là nhật ký kinh doanh, trong đó mỗi ngày theo lịch được phân bổ một trang. Ngay cả khi không viết một dòng nào trong đó, nó vẫn không ngừng là một cuốn nhật ký, vì nó có cấu trúc phân biệt rõ ràng với sổ ghi chép, sổ làm việc và các sản phẩm văn phòng phẩm khác.

Cơ sở dữ liệu có thể chứa nhiều đối tượng khác nhau, nhưng đối tượng chính của bất kỳ cơ sở dữ liệu nào là các bảng của nó. Cơ sở dữ liệu đơn giản nhất có ít nhất một bảng. Theo đó, cấu trúc của cơ sở dữ liệu đơn giản nhất giống hệt với cấu trúc bảng của nó.

Hiện nay, số lượng hệ thống thương mại điện tử (ECS) đang tăng trưởng nhanh chóng. Thương mại điện tử có một số tính năng đặc biệt giúp phân biệt rõ ràng với tất cả các tính năng trước đó. phương pháp đã biết thương mại cổ điển nhờ các đặc tính truyền thông đặc biệt của Internet

Hệ thống thương mại điện tử phải có khả năng điều phối các giao dịch kinh doanh trên nhiều ứng dụng kinh doanh, có thể trích xuất từng mẩu thông tin từ nhiều nguồn khác nhau và cung cấp chúng cho khách hàng một cách kịp thời và liền mạch. thông tin cần thiết, - tất cả đều dựa trên một yêu cầu Web của một người dùng.

SEC có một tập hợp các đặc tính cụ thể giúp phân biệt chúng với các hệ thống thương mại cổ điển (cửa hàng thông thường, siêu thị, sàn giao dịch chứng khoán, v.v.). Đồng thời, các thuộc tính này phải được tính đến khi xây dựng và phân tích các mô hình quy trình trong SEC, vì công thức cổ điển của bài toán tối ưu hóa kiểm soát tối ưu hệ thống rời rạc không phù hợp. Vì vậy, đặc tính của SEC: Thời gian hoạt động là không giới hạn, không giống như các hệ thống cổ điển, nơi có lịch trình làm việc được quy định chặt chẽ. Có thể nói rằng lưu lượng khách truy cập được phân bổ đều theo thời gian. Không giống như các hệ thống cổ điển trong SEC (điều này đặc biệt điển hình cho hệ thống lớp B2C), khách truy cập không chỉ đến để mua hàng mà còn nhận được một số thông tin: làm quen với chủng loại, giá cả, điều khoản thanh toán và giao hàng.

Đồng thời, các hệ thống cổ điển có đặc điểm là khách truy cập rất có khả năng trở thành người mua. Vì vậy, có thể xem xét nhiều mô hình và phương pháp khác nhau để đánh giá hiệu quả hoạt động của SEC: tỷ lệ số lượng người mua so với số lượng khách truy cập, tác động của hoạt động của SEC và nhận xétđến luồng đầu vào của ứng dụng.

Thông thường đối với SEC, nhiều khách truy cập đến đó nhiều lần để lấy một số thông tin và chỉ sau khi hài lòng với tất cả các điều kiện, họ mới mua hàng.

SEC có thể phục vụ một lượng khách truy cập khá lớn cùng một lúc. Đặc điểm này chỉ bị giới hạn bởi khả năng phần mềm và phần cứng của SEC. Nghĩa là, trong trường hợp của SEC, theo quan điểm của người dùng, không có hàng đợi chờ dịch vụ. Điều này đặc biệt đúng đối với các SEC được tự động hóa hoàn toàn hoặc một phần.

Trong SEC, có thể xảy ra trường hợp khi một khách truy cập đã đặt sản phẩm vào giỏ hàng ảo, rời khỏi hệ thống mà không mua hàng (điều đương nhiên là tất cả các sản phẩm vẫn còn trong hệ thống, vì đơn giản là không thể lấy cắp chúng). Vẽ một sự tương tự với các hệ thống mua sắm cổ điển, một lần nữa thật khó để tưởng tượng một tình huống mà một vị khách, khi bước vào cửa hàng, trước tiên sẽ chất đầy một xe đẩy hàng hóa, sau đó dỡ mọi thứ xuống và rời khỏi cửa hàng. Trong SEC trường hợp này có thể xảy ra nếu tập hợp các hệ số điều khiển không tối ưu (hoặc dưới mức tối ưu)

Hệ thống quản lý cơ sở dữ liệu cho phép bạn kết hợp một lượng lớn thông tin và xử lý chúng, sắp xếp chúng, đưa ra lựa chọn theo tiêu chí nhất định, v.v.

Các DBMS hiện đại có thể bao gồm không chỉ thông tin văn bản và đồ họa mà còn cả các đoạn âm thanh và thậm chí cả các video clip. Tính dễ sử dụng của DBMS cho phép bạn tạo cơ sở dữ liệu mới mà không cần dùng đến lập trình mà chỉ sử dụng các chức năng tích hợp sẵn. DBMS đảm bảo tính chính xác, đầy đủ và nhất quán của dữ liệu.

1.2 Cơ sở dữ liệu quan hệ

DBMS quan hệ (RSDBMS; nếu không thì Hệ thống quản lý cơ sở dữ liệu quan hệ, RDBMS) là một DBMS quản lý cơ sở dữ liệu quan hệ.

Khái niệm quan hệ gắn liền với sự phát triển của chuyên gia người Anh nổi tiếng trong lĩnh vực hệ thống cơ sở dữ liệu, Edgar Codd.

Các mô hình này được đặc trưng bởi sự đơn giản của cấu trúc dữ liệu, biểu diễn dạng bảng thân thiện với người dùng và khả năng sử dụng bộ máy chính thức của đại số quan hệ và phép tính quan hệ để xử lý dữ liệu.

Mô hình quan hệ tập trung vào việc tổ chức dữ liệu dưới dạng bảng hai chiều. Mỗi bảng quan hệ được mảng hai chiều và có các tính chất sau:

– mỗi phần tử bảng là một phần tử dữ liệu;

– tất cả các cột trong bảng là đồng nhất, nghĩa là tất cả các phần tử trong cột có cùng loại (số, ký tự, v.v.);

– mỗi cột có một tên duy nhất;

dòng giống hệt nhau không có trong bảng;

– Thứ tự các hàng và cột có thể tùy ý.

Các khái niệm cơ bản của DBMS quan hệ là: 1) thuộc tính; 2) các mối quan hệ; 3) bộ dữ liệu.

Khi đó, cơ sở dữ liệu không gì khác hơn là một tập hợp các bảng. RDBS và các hệ thống hướng bản ghi được tổ chức dựa trên tiêu chuẩn B-Tree hoặc Phương pháp truy cập tuần tự được lập chỉ mục (ISAM) và là các hệ thống tiêu chuẩn được sử dụng trong hầu hết các hệ thống hiện đại. sản phẩm phần mềm. Để cho phép kết hợp các bảng nhằm xác định mối quan hệ giữa các dữ liệu gần như hoàn toàn không có trong hầu hết triển khai phần mềm B-Tree và ISAM sử dụng các ngôn ngữ như SQL (IBM), Quel (Ingres) và RDO (Digital Equipment), với SQL hiện là tiêu chuẩn ngành và được hỗ trợ bởi tất cả các nhà cung cấp DBMS quan hệ.

Nguyên bản Phiên bản SQL là một ngôn ngữ thông dịch được thiết kế để thực hiện các hoạt động trên cơ sở dữ liệu. Ngôn ngữ SQL được tạo ra vào đầu những năm 70 như một giao diện để tương tác với cơ sở dữ liệu dựa trên lý thuyết quan hệ mới lúc bấy giờ. Các ứng dụng thực thường được viết bằng các ngôn ngữ khác tạo mã SQL và chuyển nó tới DBMS dưới dạng văn bản ASCII. Cũng cần lưu ý rằng hầu hết tất cả các hệ thống quan hệ thực (và không chỉ quan hệ), ngoài việc triển khai tiêu chuẩn ANSI SQL, hiện được biết đến trong phiên bản mới nhất dưới tên SQL2 (hoặc SQL-92), bao gồm các phần mở rộng bổ sung, chẳng hạn như , hỗ trợ kiến ​​trúc client-server hoặc các công cụ phát triển ứng dụng.

Các hàng của bảng được tạo thành từ các trường đã được cơ sở dữ liệu biết trước. Hầu hết các hệ thống không thể thêm kiểu dữ liệu mới. Mỗi hàng trong bảng tương ứng với một bản ghi. Vị trí của một hàng nhất định có thể thay đổi khi các hàng mới bị xóa hoặc chèn vào.

Để xác định duy nhất một phần tử, nó phải được liên kết với một trường hoặc tập hợp các trường đảm bảo tính duy nhất của phần tử đó trong bảng. Trường này hoặc các trường được gọi là khóa chính của bảng và thường là số. Nếu một bảng chứa khóa chính của bảng khác, điều này cho phép bạn sắp xếp mối quan hệ giữa các phần tử các bảng khác nhau. Trường này được gọi là khóa ngoại.

Vì tất cả các trường của một bảng phải chứa một số lượng trường không đổi thuộc loại được xác định trước, nên cần phải tạo các bảng bổ sung có tính đến các đặc điểm riêng của các phần tử bằng khóa ngoại. Cách tiếp cận này làm phức tạp rất nhiều việc tạo ra bất kỳ mối quan hệ phức tạp nào trong cơ sở dữ liệu. Một nhược điểm lớn khác của cơ sở dữ liệu quan hệ là độ phức tạp cao trong việc thao tác thông tin và thay đổi mối quan hệ.

Bất chấp những nhược điểm được coi là của cơ sở dữ liệu quan hệ, chúng có một số ưu điểm:

chia bảng bằng các chương trình khác nhau;

mở rộng "mã trả lại" cho các lỗi;

tốc độ xử lý truy vấn cao (lệnh SQL SELECT; kết quả của lựa chọn là một bảng chứa các trường thỏa mãn tiêu chí đã chỉ định);

Bản thân khái niệm cơ sở dữ liệu đối tượng đã khá phức tạp và đòi hỏi các lập trình viên phải đào tạo nghiêm túc và lâu dài;

tốc độ tương đối cao khi làm việc với lượng dữ liệu lớn.

Ngoài ra, số tiền đáng kể đã được đầu tư vào các DBMS quan hệ trên khắp thế giới. Nhiều tổ chức không tự tin rằng chi phí liên quan đến việc di chuyển sang cơ sở dữ liệu đối tượng sẽ xứng đáng.

Do đó, nhiều người dùng quan tâm đến cách tiếp cận kết hợp cho phép họ tận dụng lợi ích của cơ sở dữ liệu đối tượng mà không phải từ bỏ hoàn toàn cơ sở dữ liệu quan hệ của mình. Những giải pháp như vậy tồn tại. Nếu quá trình chuyển đổi từ cơ sở dữ liệu quan hệ sang cơ sở dữ liệu đối tượng quá tốn kém thì việc sử dụng cơ sở dữ liệu sau làm phần mở rộng và bổ sung cho DBMS quan hệ thường là giải pháp thay thế hiệu quả hơn về mặt chi phí. Các giải pháp thỏa hiệp cho phép bạn duy trì sự cân bằng giữa các đối tượng và bảng quan hệ.

Bộ điều hợp quan hệ đối tượng - uh Phương pháp này liên quan đến việc sử dụng cái gọi là bộ điều hợp quan hệ đối tượng, bộ điều hợp này tự động phân bổ các đối tượng chương trình và lưu trữ chúng trong cơ sở dữ liệu quan hệ. Một ứng dụng hướng đối tượng hoạt động giống như một người dùng DBMS thông thường. Mặc dù có một số hạn chế về hiệu suất, tùy chọn này cho phép các lập trình viên tập trung hoàn toàn vào việc phát triển hướng đối tượng. Ngoài ra, tất cả các ứng dụng trong doanh nghiệp vẫn có thể truy cập dữ liệu được lưu trữ ở dạng quan hệ.

Một số DBMS đối tượng, chẳng hạn như GemStone từ GemStone Systems, có thể tự hoạt động như một bộ điều hợp quan hệ-đối tượng mạnh mẽ, cho phép các ứng dụng hướng đối tượng truy cập cơ sở dữ liệu quan hệ.

Các bộ điều hợp quan hệ đối tượng, chẳng hạn như Odapter dành cho Oracle của Hewlett-Packard, có thể hữu ích trong nhiều lĩnh vực, chẳng hạn như phần mềm trung gian tích hợp các ứng dụng hướng đối tượng với cơ sở dữ liệu quan hệ.

Cổng quan hệ đối tượng - p Khi sử dụng phương pháp này, người dùng tương tác với cơ sở dữ liệu bằng ngôn ngữ OODBMS và cổng thay thế tất cả các thành phần hướng đối tượng của ngôn ngữ này bằng các thành phần quan hệ của chúng. Bạn một lần nữa phải trả tiền cho điều này bằng năng suất. Ví dụ: một cổng phải chuyển đổi các đối tượng thành một tập hợp các mối quan hệ, tạo mã định danh ban đầu (OID) của các đối tượng và chuyển mã này đến cơ sở dữ liệu quan hệ. Sau đó, cổng phải, mỗi khi giao diện RDBMS được sử dụng, chuyển đổi OID được tìm thấy trong cơ sở dữ liệu thành đối tượng tương ứng được lưu trữ trong RDBMS.

Hiệu suất trong hai cách tiếp cận được xem xét phụ thuộc vào phương pháp truy cập cơ sở dữ liệu quan hệ. Mỗi RDBMS bao gồm hai lớp: lớp quản lý dữ liệu và lớp quản lý lưu trữ. Cái đầu tiên trong số chúng xử lý các câu lệnh bằng ngôn ngữ SQL và cái thứ hai hiển thị dữ liệu vào cơ sở dữ liệu. Cổng hoặc bộ điều hợp có thể tương tác với cả lớp dữ liệu (nghĩa là truy cập RDBMS khi Trợ giúp về SQL) và với mức sóng mang (các lệnh gọi thủ tục cấp thấp). Hiệu suất trong trường hợp đầu tiên thấp hơn nhiều (ví dụ: hệ thống Hewlett-Packard OpenODB, có thể hoạt động như một cổng, chỉ hỗ trợ ở mức cao).

DBMS lai - e Một giải pháp khác là tạo các DBMS quan hệ đối tượng lai có thể lưu trữ cả dữ liệu dạng bảng và đối tượng truyền thống. Nhiều nhà phân tích tin rằng tương lai nằm ở những cơ sở dữ liệu lai như vậy. Các nhà cung cấp DBMS quan hệ hàng đầu đang bắt đầu (hoặc đang lên kế hoạch) bổ sung các khả năng hướng đối tượng vào sản phẩm của họ. Đặc biệt, Sybase và Informix được tập hợp tại phiên bản tiếp theo DBMS giới thiệu hỗ trợ đối tượng. Các công ty độc lập cũng có ý định tiến hành những phát triển tương tự. Ví dụ, công ty Shores đang chuẩn bị trang bị cho Oracle8 DBMS các công cụ hướng đối tượng, dự kiến ​​phát hành vào cuối năm 1996.

Mặt khác, các nhà cung cấp DBMS đối tượng như Thiết kế đối tượng nhận thức được rằng cơ sở dữ liệu hướng đối tượng sẽ không thay thế các DBMS quan hệ trong tương lai gần. Điều này buộc họ phải tạo các cổng để hỗ trợ cơ sở dữ liệu quan hệ và phân cấp hoặc các loại giao diện khác nhau, một ví dụ điển hình là giao diện quan hệ đối tượng Ontos Integration Server của Ontos, được sử dụng kết hợp với Ontos/DB OODB của nó.

1.3 Cơ sở dữ liệu đa chiều

Cơ sở dữ liệu mạnh mẽ với tổ chức lưu trữ đặc biệt - hình khối, cho phép người dùng phân tích khối lượng dữ liệu lớn. Cơ sở dữ liệu đa chiều cho phép làm việc tốc độ cao với dữ liệu được lưu trữ dưới dạng tập hợp các sự kiện, kích thước và tổng hợp được tính toán trước.

Trong các DBMS chuyên biệt dựa trên biểu diễn dữ liệu đa chiều, dữ liệu được tổ chức không phải ở dạng bảng quan hệ mà ở dạng mảng đa chiều có thứ tự:

Hypercubes - tất cả các ô được lưu trữ trong cơ sở dữ liệu phải có cùng kích thước, nghĩa là ở cơ sở đo lường đầy đủ nhất

Polycubes - mỗi biến được lưu trữ với tập hợp kích thước riêng và tất cả sự phức tạp xử lý liên quan sẽ được chuyển đến các cơ chế bên trong của hệ thống.

Việc sử dụng cơ sở dữ liệu đa chiều trong các hệ thống xử lý phân tích trực tuyến có những ưu điểm sau:

hiệu suất cao. Các sản phẩm thuộc lớp này thường có máy chủ cơ sở dữ liệu đa chiều. Dữ liệu trong quá trình phân tích được chọn riêng từ cấu trúc đa chiều và trong trường hợp này, việc tìm kiếm và truy xuất dữ liệu nhanh hơn nhiều so với chế độ xem khái niệm đa chiều của cơ sở dữ liệu quan hệ, vì cơ sở dữ liệu đa chiều không được chuẩn hóa, chứa các chỉ báo tổng hợp trước và cung cấp truy cập được tối ưu hóa vào các ô được yêu cầu

việc tìm kiếm và truy xuất dữ liệu được thực hiện nhanh hơn nhiều so với chế độ xem khái niệm đa chiều của cơ sở dữ liệu quan hệ - thời gian phản hồi trung bình cho một truy vấn đặc biệt khi sử dụng DBMS đa chiều thường nhỏ hơn một đến hai bậc so với trường hợp quan hệ DBMS với lược đồ dữ liệu được chuẩn hóa

cấu trúc và giao diện cách tốt nhất tương ứng với cấu trúc của truy vấn phân tích. Phương pháp này gần giống với mô hình tinh thần của con người hơn, vì nhà phân tích đã quen với việc làm việc với các bảng phẳng. Bằng cách cắt một khối lập phương có mặt phẳng hai chiều theo hướng này hay hướng khác, có thể dễ dàng thu được sự phụ thuộc lẫn nhau của bất kỳ cặp đại lượng nào so với thước đo đã chọn. Ví dụ: chi phí sản xuất một sản phẩm (thước đo) thay đổi như thế nào theo thời gian (kích thước) được chia theo các bộ phận, nhà xưởng và cơ sở sản xuất (phương diện khác)

Các DBMS đa chiều dễ dàng xử lý các nhiệm vụ bao gồm các hàm dựng sẵn khác nhau trong mô hình thông tin, trong khi các hạn chế khách quan hiện có của ngôn ngữ SQL khiến việc thực hiện các nhiệm vụ này dựa trên các DBMS quan hệ khá khó khăn và đôi khi là không thể.

MOLAP chỉ có thể hoạt động với cơ sở dữ liệu đa chiều của riêng nó và dựa trên các công nghệ độc quyền dành cho DBMS đa chiều, do đó nó đắt nhất. Các hệ thống này cung cấp một chu trình xử lý OLAP đầy đủ và ngoài thành phần máy chủ, còn bao gồm giao diện máy khách tích hợp của riêng chúng hoặc sử dụng các chương trình bên ngoài để giao tiếp với người dùng. bảng tính. Để duy trì các hệ thống như vậy, cần có một đội ngũ nhân viên đặc biệt để cài đặt, bảo trì hệ thống và tạo chế độ xem dữ liệu cho người dùng cuối.

Những nhược điểm khác của mô hình MOLAP bao gồm:

không cho phép làm việc với cơ sở dữ liệu lớn. Ngày nay giới hạn thực sự của họ là 10-20 gigabyte. Ngoài ra, do không chuẩn hóa và tổng hợp được thực hiện trước, theo quy luật, 20 gigabyte trong cơ sở dữ liệu đa chiều sẽ tương ứng (theo ước tính của Codd) với khối lượng dữ liệu chi tiết ban đầu ít hơn 2,5-100 lần, nghĩa là, kịch bản hay nhất vài gigabyte.

So với những cái quan hệ, chúng sử dụng bộ nhớ ngoài rất kém hiệu quả. Các ô Hypercube được lưu trữ trong chúng dưới dạng mảng được sắp xếp hợp lý (khối có độ dài cố định) và khối như vậy là đơn vị được lập chỉ mục tối thiểu. Mặc dù DBMS đa chiều không lưu trữ các khối không chứa bất kỳ giá trị cụ thể nào nhưng điều này chỉ giải quyết được một phần vấn đề. Vì dữ liệu được lưu trữ theo cách có thứ tự nên các giá trị không xác định không phải lúc nào cũng bị loại bỏ hoàn toàn và chỉ khi thứ tự sắp xếp cho phép dữ liệu được sắp xếp thành các nhóm liền kề lớn nhất có thể. Nhưng thứ tự sắp xếp thường được sử dụng nhất trong các truy vấn có thể không phải là thứ tự chúng nên được sắp xếp để tối đa hóa việc loại bỏ các giá trị không tồn tại. Do đó, khi thiết kế cơ sở dữ liệu đa chiều, bạn thường phải hy sinh hiệu năng (và đây là một trong những ưu điểm đầu tiên và là lý do chính để chọn DBMS đa chiều), hoặc bộ nhớ ngoài(mặc dù, như đã lưu ý, Kích thước tối đa cơ sở dữ liệu đa chiều còn hạn chế)

chưa có tiêu chuẩn thống nhất về giao diện, ngôn ngữ mô tả và thao tác dữ liệu

không hỗ trợ sao chép dữ liệu, thường được sử dụng làm cơ chế tải. Do đó, việc sử dụng DBMS đa chiều chỉ hợp lý trong các điều kiện sau:

khối lượng dữ liệu nguồn để phân tích không quá lớn (không quá vài gigabyte), tức là mức độ tổng hợp dữ liệu khá cao.

tập hợp các kích thước thông tin ổn định (vì bất kỳ thay đổi nào trong cấu trúc của chúng hầu như luôn đòi hỏi phải tái cấu trúc hoàn toàn siêu khối).

Thời gian phản hồi của hệ thống đối với các yêu cầu không được kiểm soát là thông số quan trọng nhất.

yêu cầu sử dụng rộng rãi các hàm tích hợp phức tạp để thực hiện các phép tính đa chiều trên các ô siêu khối, bao gồm khả năng viết các công thức và hàm tùy chỉnh.

2. Phần thực hành

2.1 Tuyên bố vấn đề

2.1.1 Mục đích giải quyết vấn đề

Ban quản lý của công ty Stroy-design LLC, công ty thực hiện các hoạt động liên quan đến hiệu quả công việc sửa chữa mặt bằng, muốn tự động hóa các phép tính tính toán chi phí công việc đã thực hiện để kịp thời cung cấp hóa đơn cho khách hàng. Điều này sẽ giúp giảm thời gian giải quyết, tránh sai sót của con người và tăng sự hài lòng của khách hàng với các dịch vụ được cung cấp. Do đó, người ta quyết định tính toán chi phí của công việc đã thực hiện và lập hóa đơn thanh toán, trong đó phải có tên công việc, khối lượng công việc đã thực hiện, giá thành đơn vị sản phẩm và giá thành của công việc. Nhiệm vụ sẽ được giải quyết hàng tháng trong môi trường phần mềm MS Excel có tên là “Tính chi phí cho công việc đã hoàn thành”.

Mục tiêu của việc giải quyết vấn đề này là tính toán kịp thời chi phí công việc để cung cấp hóa đơn chi tiết nhanh chóng cho khách hàng.

2.1.2 Tình trạng vấn đề

Nhập thông tin vận hành Tài liệu “Tính toán chi phí công việc đã thực hiện” được sử dụng, trong đó có các chi tiết: tên công việc, khối lượng công việc đã thực hiện, giá trên một đơn vị sản phẩm (rub.), chi phí công việc (rub.), hai phần cuối cùng chi tiết phải được tính toán và tính toán. Dựa vào đó, dạng màn hình sau được tạo:

Tên
công việc

Các đơn vị
đo

Âm lượng
đã tiến hành
làm

Giá
hoạt động, chà.

Tề

C tôi

Tôi


Thông tin vĩnh viễn có điều kiện (tham khảo)đóng vai trò là bảng giá của tổ chức, bao gồm các chi tiết sau ( dạng có điều kiện): tên công việc, giá thành đơn vị sản phẩm (chà). Dựa vào đó, dạng màn hình sau được tạo:

Bảng giá

Chức danh

Giá mỗi đơn vị sản xuất, chà.

Các chữ cái Latinh trong bảng biểu thị các phần tử của công thức tính toán tương ứng.

Kết quả là Bạn sẽ nhận được hóa đơn với các chi tiết sau: tên công việc, giá mỗi đơn vị sản phẩm (rúp), khối lượng công việc đã thực hiện, chi phí công việc (rúp), số hóa đơn (được điền tự động). Tên và ngày của khách hàng được nhập thủ công. Thông tin được cung cấp trong các tài liệu sau:

Cấu trúc của tài liệu kết quả “Hóa đơn”

Công ty TNHH Stroyservis

TÀI KHOẢN số

ngày

20__

Tên đầy đủ của khách hàng


p/p

Tên
công việc

Các đơn vị
đo

Âm lượng
đã tiến hành
làm

Giá mỗi đơn vị sản xuất, chà.

Giá
hoạt động, chà.

Thay pin

MÁY TÍNH.

Hình dán nền

m 2

Thay thế đường ống

Sàn gỗ

m 2

TỔNG CỘNG:

ΣS tôi

Thuế GTGT:

N

GIÁ TRỊ CÓ VAT:

SN

Ch. kế toán viên

Ngoài ra, các thông tin chứa trong bảng phân tích phải được trình bày dưới dạng sơ đồ.

Trong công nghệ, tổ chức các kết nối giữa các bảng để tự động tạo tài liệu “Hóa đơn” bằng cách sử dụng chức năng VLOOKUP hoặc VIEW.

2.2. Mô hình máy tính để giải quyết vấn đề

2.2.1. Mô hình thông tin giải quyết vấn đề

Mô hình thông tin, phản ánh mối quan hệ giữa nguồn và tài liệu thu được, được thể hiện trong Hình 2. 2.


2.2.2. Mô hình phân tích để giải quyết vấn đề

Để nhận tài liệu " Tính toán chi phí thực hiện
làm » cần tính toán các chỉ tiêu sau:

    chi phí công việc, chà.;

    VAT, chà.;

    số tiền đã bao gồm VAT, chà..

    Việc tính toán được thực hiện bằng các công thức sau:

    S i = C i ∙Q i ,

    N = ΣS tôi ∙ 0,18 ,

    SN = ΣS i + N,

    Ở đâu Tôi
    - giá Tôi công việc; C tôi
    - giá cho Tôi-đơn vị sản xuất thứ; Q tôi - khối lượng công việc thực hiện Tôi công việc; N- Thuế GTGT;SN- Giá trị có VAT.

    2.2.3. Công nghệ giải bài toán MS Excel

    Giải quyết vấn đề bằng MS Excel

    Gọi Excel:

    nhấp vào nút "Bắt đầu";

    chọn lệnh “Chương trình” trong menu chính;

    Từ menu Microsoft Office, chọn MS Excel.

    Đổi tên “Bảng 1” thành “Bảng giá”:

    chọn vào danh mục Lệnh “Đổi tên” và nhấp vào nút trái chuột;

    nhấn phím "Enter".

    Nhập tiêu đề bảng “Bảng giá”:

    gõ “Bảng giá” trên bàn phím;

    4. Định dạng tiêu đề:


    Cơm. 2. Ví dụ chọn nhóm ô

    Trên thanh công cụ trong tab “Trang chủ”, chọn phần “Căn chỉnh” và nhấp vào nút.

    5. Định dạng ô A2:B2 để nhập tiêu đề dài:

    chọn ô A2:B2;

    thực hiện lệnh “Căn chỉnh” trong phần “Định dạng ô” của menu “Trang chủ” trên thanh công cụ;

    chọn tab “Căn chỉnh”;

    trong nhóm tùy chọn “Hiển thị”, hãy chọn tùy chọn “bọc từ” (Hình 3);


    Cơm. 3. Cài đặt gạch nối từ khi nhập từ dài vào ô

    tiêu đề

    Bấm vào đồng ý.

    6. Nhập vào ô A2:B2 thông tin được trình bày trong Hình. 4.


    Cơm. 4. Tên các trường trong bảng “Bảng giá”

    7. Định dạng ô A3:A8 để nhập ký tự văn bản:

    chọn ô A3:A8;

    trên thanh công cụ trong menu “Trang chủ”, chọn “Ô”, trong đó trong mục “Định dạng”, chọn lệnh “Định dạng ô”;

    chọn tab “Số”;

    chọn định dạng “Văn bản” (Hình 5);

    Bấm vào đồng ý.


    Cơm. 5. Chọn định dạng ô

    8. Lặp lại bước 9 cho phạm vi ô B3:B8, chọn định dạng “Số”.

    9. Nhập dữ liệu ban đầu (Hình 6).


    Cơm. 6. Xem bảng “Bảng giá”

    10. Đặt tên cho nhóm ô:

    chọn ô A3:B8;

    chọn lệnh “Gán tên” trong phần “Tên đã xác định” của menu “Công thức” (Hình 7);


    Cơm. 7. Xem cửa sổ “Tạo tên”

    Nhấp vào nút "OK".

    11. Đổi tên “Bảng 2” thành “Tính toán chi phí công việc” (tương tự bước 2).

    12. Tạo bảng “Tính giá thành công việc đã thực hiện” (tương tự các bước 3 - 7, 8) (Hình 8).


    Cơm. 8. Xem bảng “Tính toán chi phí công việc”

    13. Điền vào các cột “Tên công việc” và “Giá một đơn vị sản phẩm, chà.”:

    kích hoạt ô A3;

    trong menu “Dữ liệu”, chọn lệnh “Xác thực dữ liệu”, trong trường “Loại dữ liệu” chọn “Danh sách”;

    nhập giá trị vào trường “Nguồn”, đánh dấu phạm vi A3: A8 trong “Bảng giá” (Hình 9);


    Cơm. 9. Lập danh sách người nộp tiền

    nhấp vào nút "OK";

    để nhập tên công việc từ danh sách vào từng ô của cột A (“Tên công việc”), hãy kích hoạt ô A3 và đặt con trỏ lên điểm đánh dấu ở góc dưới bên phải, nhấp chuột trái và kéo nó vào ô A6 (Hình 10 );


    Cơm. 10. Xem bảng “Tính chi phí công việc” khi lập danh sách

    trong trường “Chọn hàm”, nhấp vào “VLOOKUP” (Hình 11);


    Cơm. 11. Xem cửa sổ đầu tiên của trình hướng dẫn chức năng

    nhấp vào nút "OK";

    nhập tên tác phẩm vào trường “Searched_value” bằng cách nhấp vào ô A3;

    bấm phím Enter";

    nhập thông tin vào trường “Bảng”;

    sử dụng lệnh “Sử dụng trong công thức” của menu “Công thức”, chọn “Chèn tên”;

    chọn “Tên:” “Bảng_giá” (Hình 12);


    Cơm. 12. Nhập tên mảng làm đối số công thức

    nhấp vào nút "OK";

    bấm phím Enter";

    nhập thông tin - số 2 vào trường "Cột_Number";

    nhập thông tin - số 0 vào trường “Interval_viewing” (Hình 13);


    Cơm. 13. Xem cửa sổ thứ hai của trình hướng dẫn chức năng

    Nhấp vào nút "OK";

    14. Điền vào cột “Phạm vi công việc đã thực hiện”.

    15. Nhập tên các tác phẩm vào ô A4:A6:

    Làm cho ô A4 hoạt động;

    Bấm vào nút bên cạnh ô A4 và từ danh sách đề xuất, chọn tên công việc - Thay pin, chiếc. Ô C4 - “Giá mỗi đơn vị sản xuất, chà.” sẽ được điền tự động (Hình 14);


    Cơm. 14. Tự động điền Giá trên mỗi đơn vị sản phẩm theo tên của nó

    tương tự điền vào ô A5:A6, ô C5:C6 cũng sẽ được điền tự động.

    16. Điền vào cột “Chi phí công việc, rúp”
    bảng “Tính toán chi phí công việc đã thực hiện.”
    Đối với điều này:

    nhập công thức =B3*C3 vào ô D3;

    nhân công thức đã nhập vào ô D3 cho các ô D4:D6 còn lại của cột này (sử dụng chức năng tự động hoàn thành).

    Do đó, một vòng lặp sẽ được thực thi có tham số điều khiển là số dòng.

    17. Bảng hoàn thành trông như thế này (Hình 15).


    Cơm. 15. Kết quả điền vào bảng “Tính giá thành công việc”

    18. Đổi tên "Bảng 3" thành " Kiểm tra "(tương tự các bước ở đoạn 2).

    19. Trên bảng tính “Tài khoản”, tạo bảng cần thiết theo các đoạn trước.

    20. Sử dụng hàm LOOKUP() để tạo mối quan hệ giữa các bảng. Tuy nhiên, trước khi thực hiện việc này, hãy sắp xếp các giá trị của bảng “Tính toán chi phí công việc đã thực hiện” theo thứ tự tăng dần theo cột “Tên công việc”. Đối với điều này:

    chọn phạm vi ô A2:D6;

    chọn “Sắp xếp và lọc” trên Trang chủ, sau đó chọn “Sắp xếp tùy chỉnh”;

    trong cửa sổ hiện ra, chọn “Sắp xếp theo” “Tên tác phẩm”;

    Bấm vào đồng ý.

    sử dụng lệnh “Chèn hàm” trong menu “Công thức”;

    trong trường “Chọn chức năng”, nhấp vào “XEM”;

    nhấp vào nút "OK";

    nhập tên tác phẩm vào trường “Searched_value” bằng cách nhấp vào ô C9;

    bấm phím Enter";

    nhập thông tin vào trường “Vector cần xem”, cụ thể là ‘Tính toán chi phí công việc’!$A$3:$A$6;

    bấm phím Enter";

    nhập thông tin vào trường “Vectơ bắt buộc”, cụ thể là ‘Tính toán chi phí công việc’!$С$3:$С$6;

    nhấn “Enter” (Hình 16);


    Cơm. 16. Xem cửa sổ thứ hai của trình hướng dẫn chức năng VIEW

    nhấp vào nút "OK";

    22. Lặp lại các bước tương tự như bước 22 cho các ô D9:D12, E9:E12.

    23. Điền vào cột “TOTAL” của bảng như sau:

    nhập công thức =SUM(F9:F12) vào ô F13.

    24. Điền vào cột “GTGT”. Để thực hiện việc này, hãy nhập công thức =F13*0.18 vào ô F14.

    25. Điền vào cột “SỐ TIỀN CÓ VAT”. Để thực hiện việc này, hãy nhập công thức =F13+F14 vào ô F15.

    26. Kết quả là bạn sẽ nhận được bảng như trong Hình. 17.


    Cơm. 17. Mẫu hóa đơn thanh toán phần công việc đã thực hiện

    27. Phân tích thông tin về chi phí của từng loại công việc đối với một đơn hàng đã nhận:

    kích hoạt bảng “Tài khoản”;

    chọn phạm vi C9:F12;

    chọn lệnh “Biểu đồ” trong phần “Biểu đồ” của menu “Chèn”;

    chọn loại biểu đồ cần thiết;

    đổi tên biểu đồ “Chi phí của từng loại công việc” (Hình 18).


    Cơm. 18. Biểu đồ “Chi phí của từng loại công việc”

    2.3. Kết quả thí nghiệm máy tính và phân tích của họ

    2.3.1. Kết quả thí nghiệm trên máy tính

    Để kiểm tra tính đúng đắn của lời giải bài toán, hãy điền các tài liệu đầu vào rồi tính kết quả.

    Bảng giá

    Chức danh

    Giá mỗi đơn vị sản xuất, chà.

    Thay thế bồn tắm, chiếc.

    Thay thế đường ống, m

    Giấy dán tường, m2

    Sàn gỗ, m2

    Tẩy trắng trần nhà, m2

    Tính toán chi phí công việc đã thực hiện

    Chức danh

    Phạm vi công việc thực hiện

    Giá mỗi đơn vị sản xuất, chà.

    Chi phí công việc, chà.

    Thay pin, máy tính.

    1000

    Thay thế đường ống, m

    Giấy dán tường, m2

    1400

    Sàn gỗ, m2

    1200

    Công ty TNHH thiết kế Stroy

    TÀI KHOẢN số

    ngày


    .
    .20

    Tên đầy đủ của khách hàng

    KHÔNG.

    Chức danh

    Phạm vi công việc thực hiện

    Giá mỗi đơn vị sản xuất, chà.

    Chi phí công việc, chà.

    Thay pin, máy tính.

    1000

    Giấy dán tường, m2

    1400

    Thay thế đường ống, m

    Sàn gỗ, m2

    1200

    TỔNG CỘNG:

    4560

    Thuế GTGT:

    820,8

    GIÁ TRỊ CÓ VAT:

    5380,8

    Kết quả của việc giải bài toán là các câu thu được trên máy tính trùng khớp với câu kiểm tra.

    2.3.2. Phân tích kết quả thu được

    Do đó, việc hình thành tài liệu kết quả (bảng) “Hóa đơn” cho phép chúng tôi giải quyết vấn đề - giảm thời gian tính toán chi phí công việc, loại bỏ các sai sót do yếu tố con người gây ra và tăng mức độ hài lòng của khách hàng. Tạo các biểu đồ khác nhau (biểu đồ, đồ thị) dựa trên dữ liệu bảng bằng MS Excel cho phép bạn không chỉ trình bày trực quan kết quả xử lý thông tin để phân tích nhằm đưa ra quyết định mà còn nhanh chóng thực hiện các thao tác trong lĩnh vực xây dựng của chúng có lợi cho việc trình bày kết quả trực quan thuận tiện nhất theo các thông số do người dùng (nhà phân tích) chỉ định.

    Những ý tưởng cơ bản của hiện đại công nghệ thông tin dựa trên khái niệm rằng dữ liệu phải được tổ chức thành cơ sở dữ liệu để phản ánh đầy đủ thế giới thực đang thay đổi và đáp ứng nhu cầu thông tin của người dùng. Các cơ sở dữ liệu này được tạo ra và hoạt động dưới sự kiểm soát của các hệ thống phần mềm đặc biệt gọi là hệ thống quản lý cơ sở dữ liệu (DBMS).

    Sự gia tăng về khối lượng và độ phức tạp về cấu trúc của dữ liệu được lưu trữ và sự mở rộng phạm vi người dùng hệ thống thông tin đã dẫn đến việc sử dụng rộng rãi hệ quản trị cơ sở dữ liệu quan hệ (dạng bảng) thuận tiện và tương đối dễ hiểu nhất. Để đảm bảo nhiều người dùng có thể truy cập đồng thời vào dữ liệu, thường nằm khá xa nhau và cách xa nơi lưu trữ cơ sở dữ liệu, các phiên bản mạng nhiều người dùng của cơ sở dữ liệu dựa trên cấu trúc quan hệ đã được tạo. Bằng cách này hay cách khác, chúng giải quyết các vấn đề cụ thể của các quy trình song song, tính toàn vẹn (tính chính xác) và bảo mật dữ liệu cũng như ủy quyền truy cập.

    DBMS phải cung cấp quyền truy cập vào dữ liệu cho bất kỳ người dùng nào, kể cả những người hầu như không có và (hoặc) không muốn biết bất kỳ ý tưởng nào về: vị trí vật lý của dữ liệu và mô tả của chúng trong bộ nhớ; cơ chế tìm kiếm dữ liệu được yêu cầu; các vấn đề phát sinh khi nhiều người dùng (chương trình ứng dụng) yêu cầu cùng một dữ liệu; các cách để đảm bảo bảo vệ dữ liệu khỏi các cập nhật không chính xác và (hoặc) truy cập trái phép; giữ cho cơ sở dữ liệu được cập nhật và nhiều chức năng DBMS khác.

    Ngày nay, cơ sở dữ liệu quan hệ vẫn là phổ biến nhất do tính đơn giản và rõ ràng của chúng cả trong quá trình tạo và ở cấp độ người dùng.

    Ưu điểm chính của cơ sở dữ liệu quan hệ là khả năng tương thích với ngôn ngữ truy vấn SQL phổ biến nhất. Với một truy vấn duy nhất bằng ngôn ngữ này, bạn có thể nối nhiều bảng vào một bảng tạm thời và cắt bỏ các hàng và cột cần thiết khỏi bảng đó (lựa chọn và chiếu). Vì cấu trúc dạng bảng của cơ sở dữ liệu quan hệ mang tính trực quan đối với người dùng nên ngôn ngữ SQL rất đơn giản và dễ học. Mô hình quan hệ có nền tảng lý thuyết vững chắc làm cơ sở cho sự phát triển và triển khai cơ sở dữ liệu quan hệ. Dựa trên làn sóng phổ biến được tạo ra bởi sự thành công của mô hình quan hệ, SQL đã trở thành ngôn ngữ chính cho cơ sở dữ liệu quan hệ.

    Trong quá trình phân tích các thông tin trên, những nhược điểm sau của mô hình cơ sở dữ liệu đang xem xét đã được xác định: vì tất cả các trường của một bảng phải chứa một số lượng trường không đổi thuộc các loại được xác định trước, nên cần phải tạo các bảng bổ sung có tính đến từng trường riêng lẻ. đặc điểm của các phần tử sử dụng khóa ngoại. Cách tiếp cận này gây khó khăn cho việc tạo bất kỳ mối quan hệ phức tạp nào trong cơ sở dữ liệu; độ phức tạp cao của việc thao tác thông tin và thay đổi kết nối.

    Trong phần thực hành, sử dụng MS Excel 2010, nhiệm vụ đã được giải quyết liên quan đến một doanh nghiệp hư cấu - công ty Stroy-design LLC, thực hiện các hoạt động liên quan đến thực hiện công việc cải tạo. Các bảng được xây dựng dựa trên dữ liệu được đưa ra trong nhiệm vụ. Chi phí công việc cho đơn hàng nhận được đã được tính toán, dữ liệu tính toán được nhập vào bảng. Các kết nối giữa các bảng đã được tổ chức bằng cách sử dụng hàm VLOOKUP hoặc VIEW để tự động tạo hóa đơn được phát hành cho khách hàng để thanh toán cho công việc đã thực hiện. Tài liệu “Hóa đơn thanh toán cho công việc đã thực hiện” đã được tạo và điền vào. Kết quả tính toán chi phí của từng loại công việc cho đơn hàng nhận được được trình bày dưới dạng đồ họa.

    Chương trình đào tạo máy tính ngành Tin học”/A.N. Romanov, V.S. Toroptsov, D.B. Grigorovich, L.A. Galkina, A.Yu. Artemyev, N.I. Lobova, K.E. Mikhailov, G.A. Zhukov, O.E. Krichevskaya, S.V. Yasenovsky, L.A. Vdovenko, B.E. Odintsov, G.A. Titorenko, G.D. Savichev, V.I. Gusev, S.E. Smirnov, V.I. Suvorova, G.V. Fedorova, G.B. Konyashina. – M.: VZFEI, 2000. Cập nhật ngày 24/11/2010. – Truy cập bằng cách đăng nhập và mật khẩu.

    Chương trình đào tạo máy tính ngành “Hệ thống thông tin trong kinh tế” / A.N. Romanov, V.S. Toroptsov, D.B. Grigorovich, L.A. Galkina, A.V. Mortvichev, B.E. Odintsov, G.A. Titorenko, L.A. Vdovenko, V.V. Braga, GD Savichev, V.I. Suvorov. – M.: VZFEI, 2005. Cập nhật ngày 15/10/2010. – Địa chỉ: . Truy cập bằng cách đăng nhập và mật khẩu.

    KHÁI NIỆM DBMS VÀ CÁC LOẠI MÔ HÌNH CƠ SỞ DỮ LIỆU THU THẬP DỮ LIỆU XÃ HỘI SỬ DỤNG CÔNG NGHỆ CƠ SỞ DỮ LIỆU. TẠO BẢNG VÀ MẪU DB 2013-11-05