DBMS phân tán - Các khái niệm
Để hoạt động tốt của bất kỳ tổ chức nào, cần có một cơ sở dữ liệu được duy trì tốt. Trong quá khứ gần đây, cơ sở dữ liệu thường được tập trung hóa về bản chất. Tuy nhiên, với sự gia tăng của toàn cầu hóa, các tổ chức có xu hướng được đa dạng hóa trên toàn cầu. Họ có thể chọn phân phối dữ liệu qua các máy chủ cục bộ thay vì cơ sở dữ liệu trung tâm. Do đó, khái niệm vềDistributed Databases.
Chương này giới thiệu tổng quan về cơ sở dữ liệu và Hệ thống quản lý cơ sở dữ liệu (DBMS). Cơ sở dữ liệu là một tập hợp dữ liệu liên quan có thứ tự. DBMS là một gói phần mềm hoạt động dựa trên cơ sở dữ liệu. Nghiên cứu chi tiết về DBMS có sẵn trong hướng dẫn của chúng tôi có tên “Tìm hiểu DBMS”. Trong chương này, chúng tôi sửa đổi các khái niệm chính để việc nghiên cứu DDBMS có thể được thực hiện một cách dễ dàng. Ba chủ đề được đề cập là lược đồ cơ sở dữ liệu, các loại cơ sở dữ liệu và các thao tác trên cơ sở dữ liệu.
Cơ sở dữ liệu và Hệ thống quản lý cơ sở dữ liệu
A databaselà một tập hợp dữ liệu liên quan có thứ tự được xây dựng cho một mục đích cụ thể. Cơ sở dữ liệu có thể được tổ chức như một tập hợp nhiều bảng, trong đó một bảng đại diện cho một phần tử hoặc thực thể trong thế giới thực. Mỗi bảng có một số trường khác nhau đại diện cho các tính năng đặc trưng của thực thể.
Ví dụ, cơ sở dữ liệu công ty có thể bao gồm các bảng cho các dự án, nhân viên, phòng ban, sản phẩm và hồ sơ tài chính. Các trường trong bảng Nhân viên có thể là Name, Company_Id, Date_of_Joining, v.v.
A database management systemlà một tập hợp các chương trình cho phép tạo và duy trì cơ sở dữ liệu. DBMS có sẵn dưới dạng một gói phần mềm hỗ trợ định nghĩa, xây dựng, thao tác và chia sẻ dữ liệu trong cơ sở dữ liệu. Định nghĩa cơ sở dữ liệu bao gồm mô tả cấu trúc của cơ sở dữ liệu. Xây dựng cơ sở dữ liệu liên quan đến việc lưu trữ dữ liệu thực tế trong bất kỳ phương tiện lưu trữ nào. Thao tác đề cập đến việc truy xuất thông tin từ cơ sở dữ liệu, cập nhật cơ sở dữ liệu và tạo báo cáo. Chia sẻ dữ liệu tạo điều kiện cho người dùng hoặc chương trình khác nhau truy cập dữ liệu.
Ví dụ về các khu vực ứng dụng DBMS
- Máy rút tiền tự động
- Hệ thống đặt trước tàu
- Hệ thống quản lý nhân viên
- Hệ thống thông tin sinh viên
Ví dụ về các gói DBMS
- MySQL
- Oracle
- Máy chủ SQL
- dBASE
- FoxPro
- PostgreSQL, v.v.
Lược đồ cơ sở dữ liệu
Lược đồ cơ sở dữ liệu là một mô tả về cơ sở dữ liệu được chỉ định trong quá trình thiết kế cơ sở dữ liệu và không thường xuyên thay đổi. Nó xác định tổ chức của dữ liệu, mối quan hệ giữa chúng và các ràng buộc liên quan đến chúng.
Cơ sở dữ liệu thường được biểu diễn thông qua three-schema architecture hoặc là ANSISPARC architecture. Mục tiêu của kiến trúc này là tách ứng dụng người dùng khỏi cơ sở dữ liệu vật lý. Ba cấp độ là -
Internal Level having Internal Schema - Nó mô tả cấu trúc vật lý, chi tiết của bộ nhớ trong và các đường dẫn truy cập cho cơ sở dữ liệu.
Conceptual Level having Conceptual Schema- Nó mô tả cấu trúc của toàn bộ cơ sở dữ liệu trong khi ẩn các chi tiết về lưu trữ vật lý của dữ liệu. Điều này minh họa các thực thể, thuộc tính với các kiểu dữ liệu và ràng buộc của chúng, hoạt động và mối quan hệ của người dùng.
External or View Level having External Schemas or Views - Nó mô tả phần cơ sở dữ liệu có liên quan đến một người dùng cụ thể hoặc một nhóm người dùng trong khi ẩn phần còn lại của cơ sở dữ liệu.
Các loại DBMS
Có bốn loại DBMS.
DBMS phân cấp
Trong DBMS phân cấp, các mối quan hệ giữa các dữ liệu trong cơ sở dữ liệu được thiết lập để một phần tử dữ liệu tồn tại như một phần tử cấp dưới của phần tử khác. Các phần tử dữ liệu có mối quan hệ cha-con và được mô hình hóa bằng cách sử dụng cấu trúc dữ liệu “cây”. Đây là rất nhanh chóng và đơn giản.
Mạng DBMS
Mạng DBMS trong đó các mối quan hệ giữa các dữ liệu trong cơ sở dữ liệu thuộc loại nhiều-nhiều dưới dạng mạng. Cấu trúc nói chung là phức tạp do tồn tại nhiều mối quan hệ từ nhiều đến nhiều. Mạng DBMS được mô hình hóa bằng cách sử dụng cấu trúc dữ liệu "đồ thị".
DBMS quan hệ
Trong cơ sở dữ liệu quan hệ, cơ sở dữ liệu được biểu diễn dưới dạng quan hệ. Mỗi quan hệ mô hình một thực thể và được biểu diễn dưới dạng một bảng giá trị. Trong quan hệ hoặc bảng, một hàng được gọi là một bộ và biểu thị một bản ghi duy nhất. Một cột được gọi là một trường hoặc một thuộc tính và biểu thị một thuộc tính đặc trưng của thực thể. RDBMS là hệ quản trị cơ sở dữ liệu phổ biến nhất.
Ví dụ - Một quan hệ sinh viên -
DBMS hướng đối tượng
DBMS hướng đối tượng có nguồn gốc từ mô hình của mô hình lập trình hướng đối tượng. Chúng hữu ích trong việc đại diện cho cả dữ liệu nhất quán được lưu trữ trong cơ sở dữ liệu, cũng như dữ liệu tạm thời, như được tìm thấy trong việc thực thi các chương trình. Họ sử dụng các phần tử nhỏ, có thể tái sử dụng được gọi là đối tượng. Mỗi đối tượng chứa một phần dữ liệu và một tập hợp các thao tác hoạt động dựa trên dữ liệu. Đối tượng và các thuộc tính của nó được truy cập thông qua con trỏ thay vì được lưu trữ trong các mô hình bảng quan hệ.
Ví dụ - Cơ sở dữ liệu hướng đối tượng Tài khoản Ngân hàng được đơn giản hóa -
DBMS phân tán
Cơ sở dữ liệu phân tán là một tập hợp các cơ sở dữ liệu được kết nối với nhau được phân phối qua mạng máy tính hoặc internet. Hệ thống quản lý cơ sở dữ liệu phân tán (DDBMS) quản lý cơ sở dữ liệu phân tán và cung cấp các cơ chế để làm cho cơ sở dữ liệu minh bạch với người dùng. Trong các hệ thống này, dữ liệu được phân phối có chủ đích giữa nhiều nút để tất cả các tài nguyên máy tính của tổ chức có thể được sử dụng một cách tối ưu.
Hoạt động trên DBMS
Bốn hoạt động cơ bản trên cơ sở dữ liệu là Tạo, Truy xuất, Cập nhật và Xóa.
CREATE cấu trúc cơ sở dữ liệu và điền vào nó với dữ liệu - Tạo một quan hệ cơ sở dữ liệu bao gồm việc xác định cấu trúc dữ liệu, kiểu dữ liệu và các ràng buộc của dữ liệu sẽ được lưu trữ.
Example - Lệnh SQL để tạo bảng sinh viên -
CREATE TABLE STUDENT (
ROLL INTEGER PRIMARY KEY,
NAME VARCHAR2(25),
YEAR INTEGER,
STREAM VARCHAR2(10)
);
Khi định dạng dữ liệu được xác định, dữ liệu thực tế được lưu trữ theo định dạng trong một số phương tiện lưu trữ.
Example Lệnh SQL để chèn một bộ đơn vào bảng sinh viên -
INSERT INTO STUDENT ( ROLL, NAME, YEAR, STREAM)
VALUES ( 1, 'ANKIT JHA', 1, 'COMPUTER SCIENCE');
RETRIEVEthông tin từ cơ sở dữ liệu - Truy xuất thông tin thường bao gồm việc chọn một tập hợp con của bảng hoặc hiển thị dữ liệu từ bảng sau khi một số tính toán đã được thực hiện. Nó được thực hiện bằng cách truy vấn trên bảng.
Example - Để truy xuất tên của tất cả sinh viên của luồng Khoa học Máy tính, truy vấn SQL sau cần được thực hiện:
SELECT NAME FROM STUDENT
WHERE STREAM = 'COMPUTER SCIENCE';
UPDATE thông tin được lưu trữ và sửa đổi cấu trúc cơ sở dữ liệu - Cập nhật bảng liên quan đến việc thay đổi các giá trị cũ trong các hàng của bảng hiện có bằng các giá trị mới.
Example - Lệnh SQL để thay đổi luồng từ Điện tử sang Điện tử và Truyền thông -
UPDATE STUDENT
SET STREAM = 'ELECTRONICS AND COMMUNICATIONS'
WHERE STREAM = 'ELECTRONICS';
Sửa đổi cơ sở dữ liệu có nghĩa là thay đổi cấu trúc của bảng. Tuy nhiên, việc sửa đổi bảng phải tuân theo một số hạn chế.
Example - Để thêm một trường hoặc cột mới, giả sử địa chỉ vào bảng Sinh viên, chúng tôi sử dụng lệnh SQL sau:
ALTER TABLE STUDENT
ADD ( ADDRESS VARCHAR2(50) );
DELETE thông tin được lưu trữ hoặc xóa toàn bộ bảng - Việc xóa thông tin cụ thể bao gồm việc xóa các hàng đã chọn khỏi bảng thỏa mãn các điều kiện nhất định.
Example- Để xóa tất cả học sinh trong 4 ngày hiện năm khi họ đang đi ra ngoài, chúng ta sử dụng lệnh SQL -
DELETE FROM STUDENT
WHERE YEAR = 4;
Ngoài ra, toàn bộ bảng có thể bị xóa khỏi cơ sở dữ liệu.
Example - Để xóa hoàn toàn bảng sinh viên, lệnh SQL được sử dụng là:
DROP TABLE STUDENT;