Đại số quan hệ trong cơ sở dữ liệu: phép toán, ví dụ

Mục lục:

Đại số quan hệ trong cơ sở dữ liệu: phép toán, ví dụ
Đại số quan hệ trong cơ sở dữ liệu: phép toán, ví dụ
Anonim

Nói chung, các hệ thống cơ sở dữ liệu được trang bị một ngôn ngữ truy vấn có thể giúp người dùng truy vấn các trường hợp. Có hai loại như vậy - đại số quan hệ và giải tích quan hệ. Đầu tiên là một ngôn ngữ truy vấn thủ tục lấy các cá thể quan hệ làm đầu vào và kết quả các mối quan hệ ví dụ làm đầu ra. Sử dụng phép tính một ngôi hoặc nhị phân cho việc này. Đại số quan hệ được thực hiện đệ quy và các kết quả trung gian được coi là quan hệ.

Đại số quan hệ
Đại số quan hệ

sản phẩm Descartes (Χ)

Kết hợp thông tin từ hai mối quan hệ khác nhau thành một.

Kí hiệu - r Χ s, trong đó r và s là tỷ lệ và đầu ra của chúng sẽ được định nghĩa là

r Χ s={qt | q ∈ r và t ∈ s}.

Kết luận. Đặt mối quan hệ hiển thị tất cả sách và bài báo được viết cùng với hướng dẫn.

Đổi tên hoạt động (ρ).

Quan hệ của đại số quan hệ là các kết quả, nhưng không có bất kỳ tên nào. Thao tác đổi tên cho phép bạn thay đổi giá trị đầu ra, được biểu thị bằng chữ cái Hy Lạp nhỏ ρ.

Chỉ định - ρx(E), nơi lưu trữ kết quả của biểu thức E với tênx.

Các thao tác bổ sung:

  • đặt ngã tư;
  • gán;
  • kết nối tự nhiên.

Giải tích quan hệ

Đây là ngôn ngữ truy vấn phi thủ tục, có nghĩa là nó cho bạn biết phải làm gì nhưng không giải thích cách triển khai. Phép tính quan hệ tồn tại ở hai dạng:

  • phép tính tương quan của một bộ giá trị;
  • lọc phạm vi biến.

Ký hiệu - T / State: Trả về tất cả các bộ giá trị T thỏa mãn một điều kiện. Kết quả. Trả về các bộ giá trị có tên. TRC có thể được định lượng. Bạn có thể sử dụng các định lượng hiện sinh (∃) và phổ quát (∀). Sự kết luận. Truy vấn trên sẽ cho kết quả tương tự như truy vấn trước đó.

Giải tích quan hệ miền DRC

Biến bộ lọc sử dụng miền thuộc tính thay vì nhiều giá trị số nguyên (như được thực hiện trong TRC đã đề cập ở trên).

Kí hiệu - {a1, a2, a3,…, a | P (a1, a2, a3,…, a )}, trong đó a1, a2 là các thuộc tính và P biểu thị các công thức được xây dựng với các giá trị bên trong.

Kết luận. Đặt bài viết, trang và chủ đề từ quan hệ TutorialsPoint, trong đó chủ đề là cơ sở dữ liệu.

Giống như TRC, DRC cũng có thể được viết bằng các định lượng hiện sinh và phổ quát. DRC cũng bao gồm các toán tử đại số quan hệ. Độ mạnh của biểu thức tính toán, phép tính và sự tương quan của các mối quan hệ giữa các điểm là tương đương nhau.

quan hệmô hình dữ liệu đại số quan hệ
quan hệmô hình dữ liệu đại số quan hệ

Các biến thể và lược đồ của phép tính quan hệ và đại số

Mô hình ER, khi được khái niệm hóa trong sơ đồ, cung cấp một cái nhìn tổng quan tốt về các mối quan hệ thiết yếu dễ hiểu hơn. Các biểu diễn lược đồ có thể được ánh xạ tới một lược đồ quan hệ, tức là chúng có thể được tạo cùng với nhau. Không thể nhập tất cả các ràng buộc ER vào một mô hình quan hệ, nhưng có thể tạo ra một cấu trúc gần đúng. Có một số quy trình và thuật toán có sẵn để chuyển đổi biểu đồ sang hệ thống này. Một số trong số chúng được tự động hóa, trong khi số khác được tạo thủ công. Biểu đồ ER chủ yếu bao gồm các tiêu chí sau:

  • thực thể và các thuộc tính của nó;
  • Liên kết

  • , là liên kết giữa các giá trị trên.

So sánh các đối tượng và quan hệ xảy ra theo các cách và sơ đồ khác nhau. Ví dụ, một thực thể là một đối tượng trong thế giới thực với một số thuộc tính. Quá trình đối sánh, thuật toán như sau:

  • tạo bảng cho từng đối tượng;
  • Các thuộc tính

  • phải trở thành các trường bảng với các kiểu dữ liệu tương ứng;
  • khai báo khóa chính.

Mối quan hệ là sự liên kết giữa các thực thể. Quá trình biên dịch như sau:

  • tạo bảng cho các quan hệ;
  • thêm khóa chính của tất cả các thực thể tham gia dưới dạng trường bảng với kiểu dữ liệu thích hợp;
  • nếu quan hệ có bất kỳ thuộc tính nào, hãy đặt từng thuộc tính làm trường bảng;
  • kết hợp khóa chính tạo nên mọi thứphần còn lại cho các đối tượng tham gia;
  • chỉ định tất cả các ràng buộc khóa ngoại.

Hiển thị các tập yếu và các đối tượng phân cấp xảy ra theo một hệ thống nhất định. Trước hết, cần hiểu những nền tảng và định nghĩa thiết yếu của những giá trị này. Tập hợp tính năng yếu là tập hợp không có bất kỳ khóa chính nào được liên kết với nó. Quá trình hiển thị như sau:

  • tạo bảng cho một nhóm đối tượng yếu;
  • thêm tất cả các thuộc tính vào lược đồ dưới dạng một trường;
  • chỉ định khóa chính để nhận dạng;
  • đặt tất cả các ràng buộc khóa ngoại.

Hiển thị các đối tượng phân cấp dựa trên sự đặc biệt hóa hoặc tổng quát hóa của ngôn ngữ đại số quan hệ xảy ra dưới dạng các thực thể tuần tự. Thuật toán như sau:

  • tạo bảng cho tất cả các đối tượng cấp thấp hơn;
  • thêm khóa chính;
  • ở cấp thấp triển khai tất cả các thuộc tính khác của các đối tượng cấp thấp hơn;
  • khai báo các khóa chính của bảng;
  • đặt ràng buộc khóa ngoại.
Các phép toán đại số quan hệ
Các phép toán đại số quan hệ

Các tùy chọn hiện có để mô tả, lưu trữ, thay đổi thông tin

SQL là một ngôn ngữ lập trình cho cơ sở dữ liệu quan hệ. Nó được phát triển trên đại số và phép tính tương quan của các bộ giá trị. SQL xuất hiện dưới dạng một gói với tất cả các bản phân phối DBMS chính. Chứa cả dữ liệu và ngôn ngữ để thao tác với chúng. Bằng cách sử dụng các thuộc tính định nghĩa dữ liệu SQL đại số quan hệ, bạn có thể thiết kế và sửa đổi lược đồ cơ sở dữ liệu,trong khi các thuộc tính quản lý và điều chỉnh, cũng như thay đổi dữ liệu, cho phép bạn lưu trữ và truy xuất thông tin được cài đặt trong hệ thống. Sử dụng bộ lệnh sau để xác định cấu trúc và hệ thống:

  • tạo cơ sở dữ liệu, bảng và chế độ xem mới từ DBMS.
  • ném lệnh.
  • thay đổi giản đồ cơ sở dữ liệu.
  • lệnh này thêm một thuộc tính vào một đối tượng chuỗi.

SQL được trang bị Ngôn ngữ Thao tác Dữ liệu (DML). Nó sửa đổi cá thể cơ sở dữ liệu bằng cách chèn, cập nhật và xóa thông tin. DML chịu trách nhiệm thay đổi tất cả dữ liệu. SQL chứa tập hợp các lệnh sau trong phần DML:

  1. SELECT là một trong những lệnh truy vấn cơ bản. Nó tương tự như phép toán chiếu của đại số quan hệ. Nó chọn các thuộc tính dựa trên điều kiện được mô tả trong mệnh đề WHERE.
  2. FROM - Phần này lấy tên làm đối số mà từ đó các thuộc tính sẽ được chọn / chiếu. Trong trường hợp có nhiều hơn một tên, mục này tương ứng với sản phẩm Descartes.
  3. WHERE - Phần này chỉ định vị từ hoặc các điều kiện phải được đáp ứng để đủ điều kiện thuộc tính được chiếu.

Ngoài ra còn có các lệnh:

  • chèn;
  • thay đổi giá trị;
  • xóa.
Đại số quan hệ trong cơ sở dữ liệu
Đại số quan hệ trong cơ sở dữ liệu

Tạo Truy vấn Đại số Quan hệ

Khi xây dựng một tìm kiếm, nhiệm vụ là tìm một cấu trúc của các phép toán sẽ dẫn đến kết quả chính xác. Các phép toán cơ bản của đại số quan hệ rất đơn giảncác phép toán với một hoặc hai quan hệ dưới dạng toán hạng. Các tác động tổng hợp của trình tự quyết định kết quả cuối cùng. Vì hệ thống đại số quan hệ trong cơ sở dữ liệu khá đơn giản, nhiều kết quả trung gian có thể thu được trước khi đạt đến đầu ra cuối cùng, chúng cũng được sử dụng làm toán hạng tạo ra dữ liệu mới nhận được.

Đối với hầu hết các toán tử, thứ tự của các truy vấn và việc thực thi chúng không quan trọng, có nghĩa là có thể đạt được cùng một đầu ra bằng cách định hình và kết hợp dữ liệu trung gian theo những cách khác nhau. Trong thực tế, việc tìm kiếm cơ sở dữ liệu khá dễ dàng. Hệ thống thực hiện các hoạt động và kết quả trung gian được xác định bởi trình tối ưu hóa truy vấn. Khi hình thành câu hỏi, yêu cầu, trước tiên bạn cần

chọn mối quan hệ nào cần thiết để đạt được câu trả lời, sau đó chỉ rõ các phép toán và kết quả trung gian. Cấu trúc của một truy vấn đại số quan hệ trong cơ sở dữ liệu kết quả có thể được biểu diễn dưới dạng biểu đồ. Trình tối ưu hóa yêu cầu cố gắng tổ chức thực thi hiệu quả nhất có thể. Trong thực tế, điều này thường có nghĩa là họ cố gắng giảm thiểu các kết quả trung gian càng nhanh càng tốt. Các ví dụ phổ biến về đại số quan hệ sẽ giúp giải quyết vấn đề này.

Ví dụ 1.

Cần Thông tin: Thông tin về những chiếc xe đời 1996 được phát hiện có thiếu sót trong quá trình kiểm tra năm 1999.

Đầu tiên, thông tin về những chiếc xe được hiển thị để hiểu giá trị của tất cả các thuộc tính của mối quan hệ. Thông tin về kiểm tra được lưu trữ trong bảng "Kiểm tra" và nếu phát hiệnlỗi, chúng được ghi lại trong bảng "Sự cố". Do đó, ba bảng này là cần thiết để có được thông tin cần thiết.

Chỉ những chiếc xe đời 1996 là thú vị. Phạm vi kiểu của xe được biểu thị dưới dạng giá trị của thuộc tính đặt trong hàng của bảng thông tin về xe. Kết quả trung gian đầu tiên bao gồm các bộ giá trị đại diện cho các biến thể năm 1996.

Vì vậy, chỉ những hàng bao gồm giai đoạn này là cần thiết. Bạn cần sử dụng một vùng chọn để giải nén chúng. Bây giờ có xe hơi và kiểm tra đã được yêu cầu. Sau đó, các chuỗi được nối với nhau bằng thao tác nối. Chúng phải được nối với nhau bằng một số đăng ký chung, vì đây là cột chung duy nhất, một phép nối tự nhiên được sử dụng.

Để tìm hiểu xem có vấn đề gì trong quá trình kiểm tra hay không, bạn cần liên kết các dòng vấn đề với séc. Sau khi kết nối các hàng điều khiển với ô tô, bạn có thể kết nối kết quả này với bảng lỗi. Việc liên kết phải dựa trên số đăng ký chung và ngày đã được xác minh. Đây là những cột chung duy nhất trong bảng, do đó, một phép nối tự nhiên được sử dụng.

Đại số quan hệ là một ngôn ngữ
Đại số quan hệ là một ngôn ngữ

Tùy chọn tính toán không có kết quả trung gian

Ví dụ 2.

Thông tin Bắt buộc: Tên người lái xe đối với xe đời 1995 trở lên chưa được kiểm tra năm 2000. Tên có trong bảng "Trình điều khiển". Các cơ quan thực thi pháp luật được mô tả trong bảng "Thanh tra và xe ô tô trong canteen". Cho nênVì vậy, ba bảng này là cần thiết. Đầu tiên, bạn cần tìm hiểu những chiếc xe đời 2000 chưa được kiểm định. Không thể giải quyết vấn đề này chỉ bằng cách sử dụng các cuộc kiểm tra được liệt kê trong bảng, vì nó chứa dữ liệu về những cuộc kiểm tra đã được thực hiện, chứ không phải những cuộc kiểm tra chưa được thực hiện. Vấn đề này được giải quyết bằng cách tìm kiếm những chiếc xe bổ sung được kiểm tra trước năm 2000. Trên thực tế, chỉ cần số đăng ký của họ.

Ngoài những ví dụ trên còn có những ví dụ khác chỉ ra cách thay đổi hoặc tìm kiếm thông tin. Các biến thể truy vấn có thể được tối ưu hóa bằng các thao tác đặc biệt. Trên thực tế, để giúp việc tìm kiếm và tìm kiếm dữ liệu trở nên dễ dàng và đơn giản nhất có thể, có một mô hình tính toán quan hệ.

Nơi thông tin được bảo mật và bảo vệ

Mô hình dữ liệu quan hệ của đại số quan hệ được lưu trữ trong các định dạng tệp chứa các bản ghi. Ở cấp độ vật lý, thông tin thực tế được cố định ở định dạng điện từ trên một số thiết bị. Các thiết bị lưu trữ này có thể được chia thành ba loại:

  1. Sơ cấp. Danh mục này bao gồm bộ nhớ có thể truy cập trực tiếp vào CPU. Thanh ghi, bộ nhớ nhanh (cache) và bộ nhớ chính (RAM) có thể truy cập trực tiếp vào trung tâm, vì chúng đều nằm trên bo mạch chủ hoặc chipset. Bộ nhớ này thường rất nhỏ, cực nhanh và không ổn định. Cần cung cấp điện liên tục để duy trì trạng thái. Nếu không thành công, tất cả dữ liệu của nó sẽ bị mất.
  2. Thứ cấp. Được sử dụng để lưu trữ thông tin cho tương laisử dụng hoặc sao lưu. Bao gồm các thiết bị bộ nhớ không thuộc chipset bộ xử lý hoặc bo mạch chủ, chẳng hạn như đĩa từ, đĩa quang (DVD, CD, v.v.), ổ cứng, ổ flash và băng từ.
  3. Cấp 3. Dùng để lưu trữ lượng dữ liệu khổng lồ. Vì các thiết bị lưu trữ như vậy nằm ngoài hệ thống máy tính nên chúng có tốc độ chậm nhất. Các tiện ích lưu trữ này chủ yếu được sử dụng để sao lưu toàn bộ hệ thống. Đĩa quang và băng từ được sử dụng rộng rãi làm bộ lưu trữ cấp ba.

Các phép toán đại số quan hệ đặc biệt rất quan trọng đối với hiệu quả truy vấn.

Cấu trúc lưu trữ

Hệ thống máy tính có hệ thống phân cấp bộ nhớ được xác định rõ ràng. CPU có quyền truy cập trực tiếp vào hệ thống chính cũng như các thanh ghi tích hợp sẵn. Thời gian truy cập bộ nhớ chính rõ ràng là ít hơn tốc độ bộ xử lý. Để giảm thiểu sự khác biệt này, một bộ đệm được giới thiệu. Bộ nhớ đệm cung cấp thời gian truy cập nhanh nhất và chứa dữ liệu được CPU truy cập thường xuyên nhất.

Bộ nhớ có tốc độ truy cập nhanh nhất là đắt nhất. Các thiết bị lưu trữ lớn cung cấp tốc độ thấp hơn và rẻ hơn, nhưng chúng có thể lưu trữ lượng dữ liệu khổng lồ so với bộ nhớ đệm hoặc thanh ghi bộ xử lý.

Ổ cứng từ và ổ cứng là những thiết bị lưu trữ thứ cấp phổ biến nhất trong các hệ thống máy tính hiện nay. Chúng được gọi là từ tínhcơ sở kim loại. Các đĩa này được đặt thẳng đứng trên trục xoay. Đầu đọc / ghi di chuyển giữa chúng và được sử dụng để từ hóa hoặc loại bỏ một điểm như vậy bên dưới. Nó có thể được nhận dạng là 0 (không) hoặc 1 (một).

Ổ cứng được định dạng theo thứ tự rõ ràng để lưu trữ dữ liệu hiệu quả. Nó có nhiều vòng tròn đồng tâm gọi là đường dẫn. Mỗi bản nhạc được chia thành nhiều phần, thường lưu trữ 512 byte dữ liệu.

Đại số quan hệ SQL
Đại số quan hệ SQL

Thao tác với tệp

Các phép toán trên hệ thống ngôn ngữ đại số quan hệ và cơ sở dữ liệu của nó có thể được phân loại rộng rãi thành hai loại:

  • cập nhật;
  • tìm kiếm.

Danh mục đầu tiên thay đổi giá trị dữ liệu bằng cách chèn, xóa hoặc cập nhật. Mặt khác, các hoạt động tìm kiếm không chỉnh sửa thông tin, nhưng trích xuất nó sau khi lọc có điều kiện tùy chọn. Trong cả hai loại hoạt động, lựa chọn đóng một vai trò quan trọng. Ngoài việc tạo và xóa tệp, có thể có một số thao tác có thể được thực hiện trên chúng:

  1. Mở - tồn tại ở một trong hai chế độ đọc hoặc ghi. Trong trường hợp đầu tiên, hệ điều hành không cho phép bất kỳ ai thay đổi dữ liệu. Nói cách khác, dữ liệu chỉ được đọc. Các tệp được mở ở chế độ đọc có thể được chia sẻ giữa nhiều đối tượng. Chế độ ghi cho phép bạn thay đổi dữ liệu. Có thể đọc tệp nhưng không thể chia sẻ.
  2. Đóng là thao tác quan trọng nhất theo quan điểm của hệ điều hành vì nó loại bỏ tất cả các khóa(nếu ở chế độ chia sẻ), lưu dữ liệu (nếu được sửa đổi) vào phương tiện thứ cấp và giải phóng tất cả các bộ đệm và trình xử lý được liên kết với tệp.
  3. Lập chỉ mục là một phương pháp cấu trúc thông tin để trích xuất hiệu quả các bản ghi từ các tệp của hệ thống dựa trên một số thuộc tính nơi hệ thống được triển khai. Được xác định dựa trên các thuộc tính.

Lập chỉ mục có thể thuộc loại sau:

  1. Chính được định nghĩa trong tệp dữ liệu có thứ tự. Tệp thông tin được sắp xếp trong trường khóa.
  2. Chỉ mục phụ được tạo từ trường là khóa ứng viên và có giá trị duy nhất trong mỗi bản ghi hoặc không phải là khóa có giá trị trùng lặp.
  3. Clustering được xác định trong tệp dữ liệu có thứ tự, trong trường không phải khóa.
đại số quan hệ giải tích quan hệ
đại số quan hệ giải tích quan hệ

Hệ quản trị cơ sở dữ liệu hay DBMS đề cập đến công nghệ lưu trữ và truy xuất thông tin người dùng với hiệu quả tối đa cùng với các biện pháp bảo mật thích hợp. Việc xem xét kỹ hơn vấn đề này dẫn đến kết luận rằng đại số quan hệ là ngôn ngữ của các toán tử lấy quan hệ làm đối số và trả về kết quả là.

Đề xuất: