Hệ quản trị cơ sở dữ liệu Microsoft Servers SQL. Hệ quản trị cơ sở dữ liệu SQL Server

Hệ thống Quản lý Dữ liệu

Hệ quản trị cơ sở dữ liệu như một bộ phận cấu thành của ngân hàng dữ liệu tự động

Trong các hệ thống thông tin hiện đại, thông tin thường được lưu trữ bằng các ngân hàng dữ liệu tự động. Databanks có thể rất lớn và chứa nhiều loại thông tin được sử dụng bởi một tổ chức.

Ngân hàng dữ liệu là một hệ thống thông tin sử dụng chung, cung cấp việc lưu trữ tập trung dữ liệu, cập nhật và phát hành dữ liệu theo yêu cầu của người sử dụng. Đây là một tổ hợp phần cứng và phần mềm của ngân hàng dữ liệu và nhân sự phục vụ nó. Cơ sở dữ liệu bao gồm:

một hoặc nhiều cơ sở dữ liệu;

hệ quản trị cơ sở dữ liệu (DBMS);

nhân sự ngân hàng dữ liệu.

Cơ sở dữ liệu là một tập hợp dữ liệu được tổ chức theo một quy cách nhất định, được lưu trữ trong các thiết bị lưu trữ của máy tính. Thông thường, dữ liệu được lưu trữ trên ổ cứng của máy chủ của tổ chức.

Nói chung, dữ liệu trong cơ sở dữ liệu (ít nhất là trong các hệ thống lớn) được liên kết và chia sẻ. Hai khía cạnh này, tích hợp và chia sẻ dữ liệu, là những lợi ích quan trọng nhất của việc sử dụng cơ sở dữ liệu trên thiết bị "lớn", và ít nhất một trong số đó, tích hợp, là một lợi thế của việc sử dụng chúng trên thiết bị "nhỏ".

Khái niệm tích hợp dữ liệu có nghĩa là khả năng biểu diễn cơ sở dữ liệu như một tổ hợp của một số tệp dữ liệu riêng biệt, loại bỏ hoàn toàn hoặc một phần sự dư thừa của việc lưu trữ thông tin.

Khái niệm về khả năng phân tách dữ liệu đề cập đến khả năng sử dụng các phần tử riêng lẻ được lưu trữ trong cơ sở dữ liệu bởi một số người dùng khác nhau. Điều này có nghĩa là mỗi người dùng sẽ có thể truy cập vào cùng một dữ liệu, thậm chí có thể đồng thời (truy cập song song). Sự tách biệt dữ liệu này, cho dù được truy cập song song hay tuần tự, một phần là do cơ sở dữ liệu có cấu trúc tích hợp.



Một trong những hệ quả của các đặc điểm cơ sở dữ liệu được đề cập ở trên (tích hợp và phân tách) là mỗi người dùng thường chỉ xử lý một phần nhỏ của toàn bộ cơ sở dữ liệu, và các phần được xử lý bởi những người dùng khác nhau có thể chồng chéo lên nhau một cách tùy ý. Nói cách khác, mỗi cơ sở dữ liệu được những người dùng khác nhau cảm nhận theo những cách khác nhau. Trên thực tế, ngay cả hai người dùng cơ sở dữ liệu làm việc với các phần giống nhau của cơ sở dữ liệu cũng có thể có quan điểm về họ rất khác nhau.

Cơ sở dữ liệu được đặc trưng bởi một mô hình dữ liệu, tức là hình thức tổ chức dữ liệu trong đó. Theo kiểu mô hình dữ liệu, cơ sở dữ liệu được chia thành mạng, phân cấp và quan hệ. Hiện tại, chỉ một cấu trúc quan hệ được sử dụng thực tế, trong đó cơ sở dữ liệu bao gồm một hoặc nhiều bảng hai chiều. Mỗi 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 ô trong cột bảng là đồng nhất, tức là tất cả các phần tử trong cột đều thuộc cùng một kiểu (số, ký tự, v.v.)

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

không có hàng nào giống hệt nhau trong bảng

thứ tự của các hàng và cột có thể tùy ý

Mô hình lưu trữ dữ liệu này đảm bảo sự thuận tiện khi sử dụng cơ sở dữ liệu trên máy tính. Cho rằng các bảng cơ sở dữ liệu có thể được liên kết trong các mối quan hệ nhất định, mô hình này đảm bảo tính toàn vẹn của dữ liệu và không có sự dư thừa lưu trữ. Do đó, nó được sử dụng trong hầu hết các cơ sở dữ liệu hiện đại.

Hệ quản trị cơ sở dữ liệu (DBMS) - một chương trình chuyên biệt hoặc một tập hợp các chương trình được thiết kế để tổ chức và duy trì cơ sở dữ liệu. Nó cung cấp khả năng lưu trữ dữ liệu và tương tác của người dùng với cơ sở dữ liệu, cho phép người dùng tìm kiếm, sắp xếp và lựa chọn thông tin trong cơ sở dữ liệu và cho một số người dùng thêm, xóa và sửa đổi các bản ghi trong cơ sở dữ liệu. Tùy thuộc vào cơ sở dữ liệu mà DBMS làm việc với, nó có thể là:

thứ bậc

quan hệ

quan hệ đối tượng

hướng đối tượng

Chúng ta sẽ xem xét các hệ quản trị cơ sở dữ liệu quan hệ.

Nhân viên ngân hàng dữ liệu là người quản trị ngân hàng dữ liệu và các kỹ sư và kỹ thuật viên điều hành phần cứng của ngân hàng dữ liệu.

Như vậy, hệ quản trị cơ sở dữ liệu là một bộ phận cần thiết của ngân hàng dữ liệu.

Máy chủ DBMS Microsoft SQL

Một trong những DBMS phổ biến nhất được sử dụng trong các tổ chức lớn là máy chủ Microsoft SQL, một DBMS của Microsoft. Nó sử dụng một mô hình dữ liệu quan hệ. Máy chủ Microsoft SQL là một DBMS máy khách-máy chủ, nó phù hợp để sử dụng trong các tổ chức lớn có máy chủ mạnh. Nền tảng dữ liệu MS SQL Server 2005 bao gồm các công cụ cơ sở dữ liệu sau:

Hỗ trợ cho dữ liệu có cấu trúc và phi cấu trúc (XML).

Dịch vụ sao chép: sao chép dữ liệu cho các ứng dụng dữ liệu di động và phân tán, tính sẵn sàng cao của hệ thống, khả năng mở rộng song song với các kho dữ liệu thứ cấp cho các giải pháp báo cáo doanh nghiệp và tích hợp với các hệ thống không đồng nhất, bao gồm cả cơ sở dữ liệu Oracle hiện có.

Dịch vụ thông báo: Khả năng thông báo nâng cao để phát triển và triển khai các ứng dụng có thể mở rộng có khả năng cung cấp các bản cập nhật thông tin kịp thời, được cá nhân hóa cho nhiều thiết bị di động và được kết nối.

Dịch vụ tích hợp: Khả năng trích xuất, chuyển đổi và tải để lưu trữ dữ liệu và tích hợp dữ liệu toàn doanh nghiệp.

Dịch vụ phân tích: Xử lý phân tích thời gian thực (OLAP) để phân tích nhanh, phức tạp các bộ dữ liệu lớn và hỗn hợp bằng cách sử dụng lưu trữ đa chiều.

Dịch vụ Báo cáo: Một giải pháp toàn diện để tạo, quản lý và cung cấp cả báo cáo dựa trên giấy truyền thống và báo cáo dựa trên WWW tương tác.

Công cụ quản lý: SQL Server bao gồm các công cụ quản lý để quản lý và cấu hình cơ sở dữ liệu nâng cao, cũng như tích hợp chặt chẽ với các công cụ như Microsoft Operations Manager (MOM) và Microsoft Systems Management Server (SMS). Các giao thức truy cập dữ liệu tiêu chuẩn giúp giảm đáng kể thời gian cần thiết để tích hợp dữ liệu SQL Server với các hệ thống hiện có. Ngoài ra, hỗ trợ cho các dịch vụ Web được tích hợp để cung cấp khả năng tương tác với các ứng dụng và nền tảng khác.

Công cụ phát triển: SQL Server cung cấp các công cụ phát triển tích hợp cho cơ sở dữ liệu, trích xuất dữ liệu, chuyển đổi và tải dữ liệu, truy xuất thông tin, OLAP và báo cáo được tích hợp chặt chẽ với Microsoft Visual Studio® để cung cấp khả năng phát triển ứng dụng từ đầu đến cuối. Mỗi hệ thống con chính của SQL Server đi kèm với mô hình đối tượng và bộ API riêng của nó để mở rộng hệ thống dữ liệu theo bất kỳ hướng nào dành riêng cho doanh nghiệp của bạn.

Các tính năng của DBMS này là các công cụ sau:

SQL Server Management Studio. SQL Server đơn giản hóa việc quản lý bằng cách cung cấp một bảng điều khiển quản lý tích hợp duy nhất để giám sát và quản lý SQL Server, Dịch vụ tích hợp, Dịch vụ phân tích, Dịch vụ báo cáo, Dịch vụ thông báo và cơ sở dữ liệu quan hệ SQL Mobile trên một số lượng lớn máy chủ và cơ sở dữ liệu phân tán. DBA có thể thực hiện nhiều tác vụ cùng lúc, bao gồm tạo và thực hiện truy vấn, xem các đối tượng máy chủ, quản lý một đối tượng, giám sát hoạt động của hệ thống và xem trợ giúp trực tuyến. SQL Server Management Studio cung cấp một môi trường phát triển để tạo, chỉnh sửa và quản lý tập lệnh cũng như các thủ tục được lưu trữ bằng cách sử dụng Transact-SQL, Biểu thức đa chiều (MDX), XMLA và SQL Server Mobile Edition. Management Studio dễ dàng tích hợp với hệ thống kiểm soát phiên bản. Management Studio cũng chứa các công cụ để lập lịch các tác vụ SQL Server Agent và quản lý các Kế hoạch bảo trì để tự động hóa các tác vụ bảo trì hàng ngày. Kết hợp các tác vụ quản lý và tạo trong một công cụ, cùng với khả năng quản lý tất cả các loại máy chủ, mang lại năng suất cải thiện cho người quản trị cơ sở dữ liệu.

Giám sát và điều chỉnh hiệu suất chủ động SQL Server cung cấp hơn 70 biện pháp mới về hiệu suất cơ sở dữ liệu nội bộ và sử dụng tài nguyên từ bộ nhớ, khóa và lập lịch đến các giao dịch và mạng và I / O đĩa. Các Chế độ xem Quản lý Động (DMV) này cung cấp tính minh bạch và khả năng hiển thị cao hơn về trạng thái của cơ sở dữ liệu và một khuôn khổ mạnh mẽ để chủ động theo dõi tình trạng và hiệu suất của cơ sở dữ liệu.

Đối tượng quản lý SQL Đối tượng quản lý SQL (SMO) là một tập hợp các đối tượng lập trình mới cung cấp chức năng hoàn chỉnh để quản lý cơ sở dữ liệu SQL Server. Trên thực tế, Management Studio được xây dựng trên SQL Management Objects. SMO được triển khai dưới dạng lắp ráp Microsoft .NET Framework. SMO có thể được sử dụng để tự động hóa các tác vụ quản trị SQL Server phổ biến như lấy cài đặt cấu hình theo chương trình, tạo cơ sở dữ liệu, chạy tập lệnh Transact-SQL, tạo công việc SQL Server Agent và lập lịch sao lưu. Mô hình đối tượng SMO là sự thay thế an toàn, đáng tin cậy và có thể mở rộng hơn cho Đối tượng quản lý phân tán (DMO) đã được bao gồm trong các phiên bản SQL Server trước.

Kết nối quản trị chuyên dụng SQL Server mang đến một kết nối quản trị chuyên dụng để truy cập vào máy chủ ngay cả khi nó không phản hồi hoặc không khả dụng. Điều này cho phép bạn chạy các chức năng chẩn đoán hoặc câu lệnh Transact-SQL để giải quyết các sự cố trên máy chủ. Kết nối quản trị được kích hoạt bởi các thành viên của vai trò máy chủ cố định sysadmin và chỉ có thể truy cập được thông qua tiện ích dòng lệnh SQLCMD, cục bộ hoặc từ một máy từ xa.

Hỗ trợ các dịch vụ Web Trong SQL Server, bạn có thể phát triển các dịch vụ Web XML ở cấp độ cơ sở dữ liệu bằng cách sử dụng SQL Server làm trình nghe HTTP. Điều này cung cấp một cách mới để truy cập các ứng dụng này tập trung vào các dịch vụ Web. Trong SQL Server 2005, bạn có thể sử dụng HTTP để truy cập trực tiếp vào SQL Server mà không cần sử dụng trình nghe trung gian như Microsoft Internet Information Services (IIS). SQL Server cung cấp giao diện dịch vụ Web để thực thi các câu lệnh SQL và gọi các hàm và thủ tục. Kết quả truy vấn được trả về ở định dạng XML và tại đây bạn có thể tận dụng cơ sở hạ tầng Dịch vụ Web Visual Studio.

Điều quan trọng cần lưu ý là MS SQL Server được thiết kế để hoạt động trên nền tảng Windows. Điều này hạn chế việc sử dụng nó trong các lĩnh vực hoạt động khác nhau. Ngoài ra, Microsoft tập trung vào việc giảm chi phí của DBMS, dẫn đến giảm hiệu quả của độ tin cậy và các công cụ bảo mật. Đây là một yếu tố quan trọng khi lựa chọn một DBMS cho một tổ chức.

DBMS Oracle

Một DBMS phổ biến khác là một hệ thống của Oracle. DBMS này cũng là máy khách-máy chủ, do đó nó được dành cho các công ty có mạng thông tin với máy chủ mạnh. DBMS này cũng sử dụng mô hình dữ liệu quan hệ, nhưng chứa các phần tử của mô hình dữ liệu hướng đối tượng. Đối với năm 2009, phiên bản mới nhất là Oracle 11g Release 2. Hãy xem xét các tính năng của chương trình này.

Khả năng mở rộng ứng dụng. Oracle Real Application Clusters, thế hệ tiếp theo của Oracle Parallel Server, cung cấp khả năng mở rộng ứng dụng minh bạch bằng cách chia sẻ nhanh chóng và hiệu quả bộ nhớ cache được phân cụm để truy cập dữ liệu nhất quán. Các cụm ứng dụng thực của Oracle cung cấp các tính năng sau:

Các ứng dụng đóng hộp có thể được thu nhỏ gần như tuyến tính và hoàn toàn minh bạch

Tương thích với tất cả các ứng dụng mà không cần phải xây dựng lại chúng

Sự phát triển nhanh chóng của các cụm, khả năng nhanh chóng thêm các nút và đĩa

Khôi phục thảm họa Oracle Data Guard cung cấp cho khách hàng một hệ thống khôi phục thảm họa nhanh chóng. Các hoạt động khôi phục trong Data Guard là theo trường hợp, dễ sử dụng và hoàn toàn tự động.

Cơ sở dữ liệu dự phòng vật lý Cơ sở dữ liệu dự phòng vật lý được thực hiện bằng cách chuyển các bản ghi giao dịch từ máy chủ chính sang máy chủ dự phòng. Các hoạt động từ các bản ghi này sau đó được thực thi vật lý bởi các công cụ khôi phục (một quá trình được gọi là "sau khi hoàn thành") để đối chiếu nội dung của máy chủ chính và dự phòng. Cơ sở dữ liệu dự phòng giống hệt cơ sở dữ liệu chính về cấu trúc vật lý và thậm chí có thể được sử dụng cho các hoạt động đọc.

Cơ sở dữ liệu dự phòng lôgic Oracle Data Guard giới thiệu một cơ chế dự phòng cơ sở dữ liệu mới, Cơ sở dữ liệu dự phòng lôgic, khác với cơ chế thực thi vật lý. Cả hai cơ sở dữ liệu dự phòng đều sử dụng nhật ký giao dịch làm đầu vào, nhưng thay vì sử dụng chúng trực tiếp, cơ sở dữ liệu logic ngoại suy các câu lệnh SQL từ chúng và thực thi chúng trên máy chủ dự phòng giống như các lệnh SQL thông thường. Do đó, cơ sở dữ liệu dự phòng có sẵn cho các hoạt động đọc và ghi bình thường.

Truyền dữ liệu không mất dữ liệu Oracle Data Guard có khả năng ghi lại đồng bộ hoặc không đồng bộ các bản cập nhật nhật ký giao dịch trực tiếp từ cơ sở dữ liệu chính sang chế độ chờ. Điều này cho phép chúng tôi cung cấp giải pháp khôi phục thảm họa toàn diện mà không cần dựa vào các sản phẩm của bên thứ ba để lưu trữ các bản sao trực tuyến của nhật ký khôi phục. Do đó, trong mọi tình huống, khách hàng có thể chắc chắn rằng cơ sở dữ liệu dự phòng của họ sẽ lưu lại tất cả các hoạt động được thực hiện cho đến khi thất bại.

Nhà môi giới bảo vệ dữ liệu Mô-đun Oracle cung cấp khả năng điều khiển, quản lý và tự động hóa cần thiết để hỗ trợ cơ sở dữ liệu dự phòng logic và vật lý. Ví dụ: anh ta có thể khôi phục cơ sở dữ liệu chính cho bất kỳ bản sao lưu nào trong một thao tác.

Phục hồi sau lỗi hệ thống

Cache Fusion cung cấp khả năng khôi phục thảm họa nhanh chóng dẫn đến tính khả dụng của ứng dụng và dữ liệu liên tục.

Các cụm ứng dụng thực Một kiến ​​trúc cụm cung cấp tính khả dụng cao hơn cấu hình nút đơn vì nó loại bỏ một nguồn lỗi duy nhất - máy chủ. Trong cấu hình cụm hai nút, trong trường hợp hệ thống gặp sự cố trên một nút, ứng dụng sẽ tiếp tục chạy trên nút còn lại.

Oracle Fail Safe - Cấu hình chuyển đổi dự phòng bốn nút cho Windows Oracle Fail Safe cung cấp khả năng sẵn sàng liên tục và bảo vệ sự cố hệ thống theo yêu cầu của doanh nghiệp điện tử trong kiến ​​trúc cụm dựa trên Windows NT và 2000. Oracle Fail Safe thực hiện khôi phục thảm họa cho cơ sở dữ liệu và máy chủ ứng dụng dưới dạng hai nút và trong Windows NT và 2000 cụm bốn nút.

Phục hồi nhanh tại một khoảng thời gian cụ thể Oracle sử dụng công nghệ Phục hồi dựa trên thời gian bắt đầu nhanh, cho phép quản trị viên cơ sở dữ liệu đặt giới hạn trên mong muốn cho thời gian khôi phục (tính bằng giây). Khi khởi động lại sau lỗi hệ thống hoặc sự cố, người dùng sẽ được kết nối lại với ứng dụng của họ không muộn hơn thời điểm này.

Chụp nhanh Hệ thống và Tiếp tục Hoạt động Thông thường, quản trị viên cơ sở dữ liệu phải đối mặt với sự lựa chọn điều tra nguyên nhân của sự cố hoặc khôi phục hệ thống nhanh hơn. Với Flash Freeze, quản trị viên có thể "chụp nhanh" trạng thái của hệ thống tại thời điểm bị lỗi, nhanh chóng khởi động lại cơ sở dữ liệu, sau đó phân tích dữ liệu ngoại tuyến.

Phục hồi từ lỗi người dùng. Oracle giúp dễ dàng khôi phục các lỗi của người dùng, bao gồm cả hậu quả của các lệnh không chính xác hoặc không theo trình tự.

Oracle Flashback Query Oracle Flashback Query cho phép người dùng và ứng dụng truy cập vào trạng thái của dữ liệu tại một thời điểm trong quá khứ. Với tùy chọn "backtracking" này, bạn có thể đặt ngày và giờ, sau đó tạo các truy vấn thông thường trên dữ liệu trông giống như chúng đã xem vào thời gian được chỉ định. Sau khi lỗi được tìm thấy, các hành động hoàn nguyên tương đối đơn giản có thể được thực hiện mà không cần sự can thiệp của quản trị viên cơ sở dữ liệu. Quan trọng hơn, việc khôi phục không gây ra bất kỳ độ trễ nào trong ứng dụng.

Phân tích chi tiết nhật ký hoạt động Bạn cũng có thể xác định nguyên nhân gây ra lỗi bằng cách kiểm tra nhật ký hoạt động của cơ sở dữ liệu. Tiện ích quan hệ Oracle LogMiner cho phép bạn đọc, phân tích cú pháp và diễn giải cả nhật ký trực tiếp và đã lưu trữ bằng giao diện SQL tiêu chuẩn. Với Oracle LogMiner, các DBA giờ đây sẽ có thể phân tích tất cả các thay đổi của cơ sở dữ liệu, bao gồm các hoạt động dữ liệu, định nghĩa và lệnh quản trị.

Hoạt động có thể tiếp tục Một số hoạt động kéo dài, chẳng hạn như tải dữ liệu hoặc các thay đổi phức tạp, có thể hết tài nguyên (chẳng hạn như dung lượng đĩa). Việc không hoàn thành các thao tác kéo dài có thể mất nhiều thời gian để tiếp tục. Oracle giải quyết vấn đề này bằng cách cho phép quản trị viên cơ sở dữ liệu trì hoãn các hoạt động không thể hoàn thành vào lúc này. Bằng cách hoãn hoạt động, quản trị viên có thể giải quyết vấn đề thiếu tài nguyên và sau đó tiếp tục hoạt động đang chờ xử lý từ nơi nó đã dừng lại.

Giảm sự chậm trễ theo kế hoạch. Oracle cho phép thực hiện tất cả các hoạt động bảo trì hệ thống theo kế hoạch mà không làm gián đoạn hoạt động bình thường của nó.

Thay đổi giản đồ mà không xóa quyền truy cập
Trong Oracle, bạn có thể xác định lại cấu trúc bảng, ngay cả khi chúng được hiển thị cho người dùng và ứng dụng.

Tổ chức lại các bảng và chỉ mục mà không cần đóng quyền truy cập
Oracle cũng có một cơ chế đơn giản để tổ chức lại và định nghĩa lại các bảng mà không làm gián đoạn quyền truy cập vào chúng. Điều này làm giảm độ trễ theo lịch trình, tăng tính khả dụng của ứng dụng, giảm phân mảnh ổ đĩa và cải thiện hiệu suất.

Thực hiện tất cả các thao tác trên một chỉ mục mà không cần đóng quyền truy cập

Trong Oracle, tất cả các chỉ mục bảng có thể được tạo và xây dựng lại ngay lập tức mà không làm gián đoạn quyền truy cập vào chúng. Nếu không có điều này, người dùng không thể chạy các ứng dụng của họ trong các hoạt động như vậy.

Tham số cơ sở dữ liệu động Các tham số cơ sở dữ liệu trong Oracle, xác định dung lượng bộ nhớ được sử dụng bởi máy chủ cơ sở dữ liệu, có thể được thay đổi nhanh chóng mà không làm gián đoạn truy cập. Trước đây, để thay đổi các cài đặt này, bạn phải đưa cơ sở dữ liệu ngoại tuyến và khởi động lại nó để các thay đổi có hiệu lực.

Giảm chi phí quản lý. Oracle đơn giản hóa việc quản lý xử lý dữ liệu với các công cụ sau:

Cấu hình tự động cho phép lưu các cài đặt sau khi tắt hệ thống. Các tính năng lưu trữ và khôi phục tự động mới giúp giảm đáng kể thời gian quản trị viên dành cho việc bảo trì hàng ngày.

Trang chủ> Chương trình

hệ thống quản lý cơ sở dữ liệu (DBMS) - một chương trình chuyên biệt (thường là một tập hợp các chương trình) được thiết kế để tổ chức và duy trì một cơ sở dữ liệu. Để tạo và quản lý một hệ thống thông tin, một DBMS là cần thiết ở mức độ tương tự như một trình dịch là cần thiết để phát triển một chương trình bằng ngôn ngữ thuật toán. Các chức năng chính của DBMS:

    quản lý dữ liệu trong bộ nhớ ngoài (trên đĩa); quản lý dữ liệu trong RAM bằng cách sử dụng bộ đệm đĩa; ghi nhật ký các thay đổi, sao lưu và phục hồi cơ sở dữ liệu sau các lỗi; hỗ trợ cho các ngôn ngữ cơ sở dữ liệu (ngôn ngữ định nghĩa dữ liệu, ngôn ngữ thao tác dữ liệu).
Cấu trúc DBMS:
    cốt lõi, chịu trách nhiệm quản lý dữ liệu trong bộ nhớ ngoài và RAM và ghi nhật ký, bộ xử lý ngôn ngữ cơ sở dữ liệu, cung cấp tối ưu hóa các yêu cầu trích xuất và thay đổi dữ liệu và tạo mã nội bộ thực thi độc lập với máy như một quy tắc, hệ thống con hỗ trợ thời gian chạy, diễn giải các chương trình thao tác dữ liệu tạo giao diện người dùng với DBMS cũng như chương trình dịch vụ(tiện ích bên ngoài) cung cấp một số tùy chọn bổ sung để duy trì hệ thống thông tin.

Phân loại DBMS

Theo loại cơ sở dữ liệu đang được quản lý, DBMS được chia thành:
    Mạng quan hệ phân cấp đối tượng quan hệ hướng đối tượng
Theo kiến ​​trúc của tổ chức lưu trữ dữ liệu:
    DBMS cục bộ (tất cả các phần của DBMS cục bộ được lưu trữ trên một máy tính) DBMS phân tán (các phần của DBMS có thể được lưu trữ trên hai hoặc nhiều máy tính)
Bằng cách truy cập cơ sở dữ liệu:
    Máy chủ tệp
Trong DBMS máy chủ tệp, tệp dữ liệu được đặt tập trung trên máy chủ tệp. Nhân DBMS nằm trên mỗi máy khách. Dữ liệu được truy cập qua mạng cục bộ. Đồng bộ hóa các lần đọc và cập nhật được thực hiện bằng các khóa tệp. Ưu điểm của kiến ​​trúc này là tải thấp trên CPU máy chủ và nhược điểm là tải cao trên mạng cục bộ Hiện tại, DBMS tệp-máy chủ được coi là lỗi thời. Ví dụ: MS Access, Borland Paradox.
    Máy khách-máy chủ
DBMS như vậy bao gồm một phần máy khách (là một phần của chương trình ứng dụng) và một máy chủ. Máy khách-máy chủ DBMS, không giống như máy chủ tệp, cung cấp quyền kiểm soát truy cập giữa người dùng và tải một chút mạng và máy khách. Máy chủ là một chương trình bên ngoài liên quan đến máy khách, và nếu cần, nó có thể được thay thế bằng một chương trình khác. Việc thiếu các DBMS máy khách-máy chủ thực tế là do sự tồn tại của máy chủ (điều này có hại cho các chương trình cục bộ - các DBMS nhúng trong đó thuận tiện hơn) và các tài nguyên máy tính lớn được máy chủ sử dụng. Ví dụ: Firebird, Interbase, MS SQL Server, Oracle, PostgreSQL, MySQL.
    Được nhúng
DBMS nhúng là một thư viện cho phép bạn lưu trữ một lượng lớn dữ liệu trên một máy cục bộ theo một cách thống nhất. Dữ liệu có thể được truy cập thông qua SQL hoặc thông qua các chức năng DBMS đặc biệt. DBMS nhúng nhanh hơn so với các máy khách-máy chủ thông thường và không yêu cầu cài đặt máy chủ, do đó, chúng có nhu cầu trong phần mềm cục bộ xử lý lượng lớn dữ liệu (ví dụ: hệ thống thông tin địa lý). Ví dụ: OpenEdge, SQLite, BerkeleyDB, một của các biến thể Firebird, một trong các biến thể MySQL, Sav Zigzag, Microsoft SQL Server Compact. Các hệ quản trị cơ sở dữ liệu được sử dụng phổ biến nhất là:
    Oracle Interbase MS SQL Server MS Access Visual FoxPro SyBase Paradox MySQL
Tập đoàn Oracle(NASDAQ: ORCL) là một trong những công ty lớn nhất của Hoa Kỳ, là nhà phát triển hệ quản trị cơ sở dữ liệu, công cụ phát triển cơ sở dữ liệu và hệ thống ERP. Nó đã dẫn đầu lịch sử của nó từ năm 1977, có các công ty con tại hơn 145 quốc gia trên thế giới. Tính đến năm 2005, có hơn 50.000 nhân viên Sản phẩm nổi tiếng nhất của Oracle Inc. là một DBMS cùng tên. Tuy nhiên, phạm vi lợi ích của tập đoàn không giới hạn ở các giải pháp tổ chức dữ liệu. Oracle đang từng bước nâng tầm ảnh hưởng của mình trên mọi lĩnh vực mà các doanh nghiệp vừa và lớn quan tâm: công cụ phát triển ứng dụng kinh doanh, công cụ tự động hóa, v.v.

Interbase

Interbase là một DBMS của Borland, InterBase dựa trên một dự án do Jim Starkey phát triển trong khi làm việc trên Datatrive DBMS. Jim tạo ra nó như một sự triển khai ý tưởng cơ sở dữ liệu nhiều phiên bản của mình. Vào thời điểm đó (1984) nó được gọi là JRD (Cơ sở dữ liệu quan hệ của Jim). Rõ ràng, kiến ​​trúc Rdb đã được lấy làm cơ sở, vì Jim Starkey là một trong những nhà phát triển DBMS này tại DEC. Năm 1985, Jim Starkey, vợ ông là Ann Harrison và Don DePalma đã thành lập Hệ thống cơ sở dữ liệu Groton (đó là lý do tại sao cơ sở dữ liệu InterBase cho đến gần đây mới có phần mở rộng gdb truyền thống - Groton DataBase). Sau một một loạt các hoạt động bán lại và thay đổi tên công ty thành InterBase Software Corporation, InterBase 2 được phát hành vào năm 1986. Cần phải nói rằng DBMS này chủ yếu được sử dụng trong các hệ thống nhúng quân sự và mục đích đặc biệt - ví dụ, nó vẫn được sử dụng trong hệ thống điều khiển của hệ thống tên lửa phóng nhiều lần MLPRS của Mỹ, cũng như Boeing để tính toán độ cứng đặc biệt của cánh. Năm 1988, Ashton-Tate mua 51% cổ phần của Interbase, và năm 1991 Ashton-Tate mua lại Borland. Cùng năm đó, InterBase 3. InterBase đã trở nên nổi tiếng với việc phát hành phiên bản 4 vào năm 1994. Vào thời điểm đó, nó là một DBMS rất mạnh cạnh tranh về khả năng và hiệu suất với MSSQL (6.5?) Và SyBase (5?). InterBase 5 được phát hành vào năm 1997 và vào năm 1998 InterBase 5.1.1 đã được đưa vào Delphi Bản phân phối 4 phần lớn đã xác định trước mức độ phổ biến của nó đối với các nhà phát triển Delphi và C ++ Builder Cuối năm 1999, 3 người chủ chốt trong InterBase (Bill Karwin, Paul Beach và Wayne Ostiguy) đã rời khỏi bộ phận Interbase. Bất ổn bùng phát tại các hội nghị Borland. Nhà hoạt động người Úc Helen Borrie đang tạo một danh sách những người bảo vệ IB có tên "Save InterBase" để ngăn IB ngừng hoạt động. Một nhóm IBDI (IB Developer’s Initiative) được thành lập để bảo vệ người dùng là nhà phát triển Interbase, những người sáng lập là Helen Borrie, Jason Wharton và Dalton Calford. Nhưng điều thú vị nhất xảy ra vào năm 2000. Borland đã phát hành phiên bản mã nguồn mở của InterBase 6.0, Phiên bản mã nguồn mở InterBase 6, theo Giấy phép Công khai của InterBase (IPL). Không có tài liệu nào được phát hành, không có hệ thống thử nghiệm, không có hệ thống xây dựng cho dự án - chỉ là một đống các nguồn chưa được biên dịch. Trên thực tế, Borland vào thời điểm đó đã từ bỏ việc phát triển thêm InterBase. Vào ngày 31 tháng 7 năm 2000, nhóm sáng kiến, với mong muốn nhận được sự hỗ trợ từ Borland, hoặc ít nhất là một vị trí rõ ràng, đã sao chép mã nguồn của InterBase 6 và thành lập dự án Firebird - một dự án Mã nguồn mở hoàn toàn dựa trên nguồn mã mở InterBase 6. Năm 2001, Borland một lần nữa quyết định phát triển InterBase. John Arthur trở thành giám đốc của bộ phận Interbase, và Charlie Caro trở thành nhà phát triển chính. Với phiên bản tiếp theo của InterBase (6.5), Borland dường như đã từ bỏ mô hình kinh doanh Nguồn mở. Một thời gian sau, hỗ trợ cho InterBase Open Source Edition đã chính thức ngừng hoàn toàn. Hiện tại, InterBase 2007 là phiên bản mới nhất. yêu cầu hệ thống thấp, với khả năng mở rộng đồng thời cho nhiều bộ xử lý, cộng với hệ thống giám sát được phát triển, bảng tạm thời, xác thực người dùng tích hợp sẵn, ghi nhật ký. Đa nền tảng được coi là một lợi thế truyền thống - InterBase hỗ trợ GNU / Linux, Microsoft Windows, Unix và Solaris.

Máy chủ MS SQL

Microsoft SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ (DBMS) được phát triển bởi Microsoft Corporation. Ngôn ngữ truy vấn chính được sử dụng là Transact-SQL, được tạo ra bởi Microsoft và Sybase. Transact-SQL là một triển khai của Ngôn ngữ truy vấn có cấu trúc chuẩn ANSI / ISO (SQL) với các phần mở rộng. Được sử dụng cho cơ sở dữ liệu quy mô vừa và nhỏ và trong 5 năm qua - đối với cơ sở dữ liệu quy mô doanh nghiệp lớn, cạnh tranh với các DBMS khác trong phân khúc thị trường này. Mã nguồn MS SQL Server (lên đến phiên bản 7.0) dựa trên mã Sybase SQL Server và điều này cho phép Microsoft tham gia vào thị trường cơ sở dữ liệu doanh nghiệp, nơi Oracle, IBM và sau này là chính Sybase cạnh tranh. Microsoft, Sybase và Ashton-Tate ban đầu hợp tác để tạo và tiếp thị phiên bản đầu tiên của chương trình, được gọi là SQL Server 1.0 cho OS / 2 (khoảng năm 1989), phiên bản này trên thực tế tương đương với Sybase SQL Server 3.0 cho Unix, VMS , v.v. Microsoft SQL Server 4.2 được phát hành vào năm 1992 như một phần của hệ điều hành Microsoft OS / 2 phiên bản 1.3. Việc phát hành chính thức Microsoft SQL Server phiên bản 4.21 cho Windows NT diễn ra đồng thời với việc phát hành chính Windows NT (phiên bản 3.1). Microsoft SQL Server 6.0 là phiên bản SQL Server đầu tiên được xây dựng dành riêng cho kiến ​​trúc NT và không có đầu vào từ quá trình phát triển của Sybase. Vào thời điểm Windows NT tham gia thị trường, Sybase và Microsoft đã phân tách và theo đuổi các mô hình sản phẩm phần mềm và kế hoạch tiếp thị của riêng họ. Microsoft đã tìm kiếm độc quyền đối với tất cả các phiên bản SQL Server dành cho Windows. Sybase sau đó đã đổi tên sản phẩm của mình thành Adaptive Server Enterprise để tránh nhầm lẫn với Microsoft SQL Server. Cho đến năm 1994, Microsoft đã nhận được ba thông báo bản quyền từ Sybase như một sự chứng minh nguồn gốc của Microsoft SQL Server. Sau khi chia tách, công ty đã thực hiện một số bản phát hành phần mềm độc lập. SQL Server 7.0 là máy chủ cơ sở dữ liệu đầu tiên có GUI quản trị thực sự. Để loại bỏ các khiếu nại của Sybase về vi phạm bản quyền, tất cả mã kế thừa đã được viết lại trong phiên bản thứ 7. Phiên bản hiện tại, Microsoft SQL Server 2005, được giới thiệu vào tháng 11 năm 2005. Việc ra mắt phiên bản diễn ra song song với sự ra mắt của Visual Studio 2005. Ngoài ra còn có phiên bản "rút gọn" của Microsoft SQL Server - Microsoft SQL Server Express; nó có sẵn để tải xuống và được phân phối miễn phí cùng với phần mềm sử dụng nó. Kể từ khi phát hành phiên bản trước của SQL Server (SQL Server 2000), việc phát triển môi trường phát triển tích hợp và một số hệ thống con bổ sung là một phần của SQL Server 2005 đã được thực hiện. Các thay đổi đã ảnh hưởng đến việc triển khai công nghệ ETL ( trích xuất, chuyển đổi và tải dữ liệu), là một phần của Dịch vụ tích hợp cấu phần SQL Server (SSIS), máy chủ cảnh báo, xử lý phân tích OLAP và thu thập thông tin có liên quan (cả hai đều có trong Dịch vụ phân tích của Microsoft) và một số dịch vụ nhắn tin, cụ thể là Service Broker và Dịch vụ Thông báo. Ngoài ra, các cải tiến về hiệu suất đã được thực hiện.

Truy cập MS

Microsoft Access là một DBMS quan hệ của Microsoft Corporation. Nó có một loạt các tính năng, bao gồm các truy vấn liên quan, sắp xếp theo các trường khác nhau, liên kết với các bảng và cơ sở dữ liệu bên ngoài. Nhờ ngôn ngữ VBA tích hợp, bạn có thể viết các ứng dụng hoạt động với cơ sở dữ liệu trong chính Access.

Visual FoxPro

Visual FoxPro (VFP) là một môi trường phát triển hệ quản trị cơ sở dữ liệu quan hệ trực quan hiện do Microsoft phát hành. Phiên bản mới nhất là 9.0. Sử dụng ngôn ngữ lập trình FoxPro. Môi trường phát triển phiên bản 7.0 có thể chạy trên hệ điều hành Windows 9x và hạt nhân NT, phiên bản 8.0 và 9.0 - chỉ trên Windows XP, 2000, 2003. Phiên bản 8.0 và 9.0 thời gian chạy chạy trên bất kỳ phiên bản nào của Windows, bắt đầu bằng 98. Ban đầu là FoxPro (tên gọi ban đầu FoxBASE) được Fox Software phát triển từ năm 1984. Năm 1992, Fox Technologies hợp nhất với Microsoft, các phiên bản mới của sản phẩm có thêm một số tính năng mới và tiền tố "Visual". Phiên bản mới nhất của FoxPro gốc, phiên bản 2.6, chạy trên Mac OS, DOS, Windows và Unix; đã có trong Visual FoxPro 3.0, danh sách các nền tảng được hỗ trợ đã được giảm xuống Mac OS và Windows, và trong các phiên bản mới hơn - chỉ dành cho Windows. Phiên bản hiện tại của Visual FoxPro dựa trên COM và Microsoft cho biết sẽ không có phiên bản .NET của sản phẩm. Có một dự án Sedna sẽ cho phép Visual FoxPro tương tác với .NET. Việc phát triển sản phẩm đã bị ngừng với SP2 cho phiên bản 9.0, sản phẩm sẽ được hỗ trợ cho đến năm 2015

Sybase Inc. - công ty tiên phong trong số các công ty chuyên phát triển cơ sở dữ liệu quan hệ, cũng như các sản phẩm khác liên quan đến thu thập, xử lý và lưu trữ dữ liệu. Ngoài tên công ty, "Sybase" cũng thường được dùng làm tên của sản phẩm được biết đến rộng rãi nhất, hệ thống quản lý cơ sở dữ liệu Adaptive Server Enterprise. Các kiến ​​trúc sư của Sybase là Tiến sĩ Robert Epstein và Tom Haggin, cả hai đều từng làm việc cho Briton Lee và Đại học California, Berkeley, trong Khoa Khoa học Máy tính. Berkeley đi tiên phong trong cơ sở dữ liệu quan hệ "University Ingres", cơ sở dữ liệu này đã trở thành chuẩn mực cho các cơ sở dữ liệu như Ingres (Computer Associates), Informix (IBM) và NonStop SQL (Tandem), cũng như cho hầu hết các hệ thống SQL ngày nay. Sybase đứng ở vị trí thứ hai trong số được sử dụng trong thế giới cơ sở dữ liệu, đứng ngay sau Oracle, sau khi ký hợp đồng cung cấp mã nguồn của cơ sở dữ liệu cho Microsoft để đưa ra thị trường một sản phẩm dựa trên nền tảng OS / 2 mang tên "SQL Server". Đồng thời, Sybase bắt đầu gọi cơ sở dữ liệu của mình là "Sybase SQL Server". Cho đến phiên bản 4.9, Sybase SQL Server và Microsoft SQL Server gần như giống hệt nhau. Tuy nhiên, do những bất đồng giữa các công ty liên quan đến vấn đề chia sẻ doanh thu, Sybase và Microsoft đã quyết định chấm dứt việc phát triển chung sản phẩm mặc dù có di sản chung rõ ràng là dạng ngôn ngữ thủ tục Transact-SQL (T-SQL) và cùng một kiến ​​trúc. . Sự khác biệt đáng kể là Sybase dựa trên kiến ​​trúc UNIX, trong khi Microsoft gần như ngay lập tức rời bỏ UNIX và tập trung hoàn toàn vào nền tảng Windows NT. Hiện tại, Sybase tiếp tục hỗ trợ và phát triển các phiên bản dành cho dòng Windows và các nền tảng UNIX khác nhau (IBM AIX, HP-UX, Sun Solaris, GNU / Linux và các nền tảng khác). Informix ra mắt. Ngày nay, Informix không còn là một công ty độc lập (nó đã được mua lại bởi IBM). Đánh giá theo khối lượng bán hàng, IBM đã trở thành người dẫn đầu trên thị trường cơ sở dữ liệu, Oracle đang ở rất gần, nhưng vẫn ở vị trí thứ hai. Vị trí thứ ba do hậu duệ của Sybase - Microsoft SQL Server chiếm giữ. Ngày nay, Sybase kém xa các đối thủ cạnh tranh chính trên thị trường cơ sở dữ liệu (InformationWeek báo cáo rằng công ty đã chiếm 3% thị phần vào tháng 3 năm 2005). Sybase đã sống lại dưới sự lãnh đạo của John Chen, người đã công bố một hướng đi mới cho công ty có tên "Unwired Enterprise". "Unwired Enterprise" là một ý tưởng thực hiện khái niệm cung cấp thông tin bất cứ lúc nào và bất cứ nơi nào, cho dù đó là thiết bị di động của nhân viên tại hiện trường, văn phòng hoặc máy tính ở nhà của anh ta. Để thực hiện khái niệm này, Sybase cung cấp sự kết hợp giữa dòng sản phẩm quản lý dữ liệu truyền thống và các sản phẩm "di động" mới của mình. Sybase đã mở rộng sâu rộng sang thị trường di động và không dây bằng cách mua lại các công ty di động nhỏ hơn như AvantGo và tích cực mở rộng sang thị trường châu Á, đặc biệt là Trung Quốc. Thông qua bộ phận di động của mình, iAnywhere Solutions, ra mắt vào năm 2000, Sybase đã trở thành công ty dẫn đầu thị trường về cơ sở dữ liệu di động với sản phẩm SQLAnywhere Studio. Máy chủ - máy chủ cho các ứng dụng di động dựa trên dịch vụ AvantGo và ReplicationServer - máy chủ sao chép dữ liệu giữa các máy chủ của các nhà cung cấp khác nhau. Sybase có sự hiện diện mạnh mẽ trong lĩnh vực chăm sóc sức khỏe và tài chính.

Paradox là một DBMS quan hệ hiện do Corel sản xuất. Một phần của WordPerfect Office. Nghịch lý cho DOS ban đầu được phát triển bởi Ansa-Software, được Borland mua lại vào tháng 9 năm 1987. Các phiên bản 3.5 và 4.5 là phổ biến nhất. Các phiên bản lên đến và bao gồm 3.5 dựa trên phiên bản 1.0 ban đầu; phiên bản 4.0 và 4.5 đã được tạo lại bằng cách sử dụng Borland C ++ và bao gồm một sơ đồ sử dụng bộ nhớ mới. Nghịch lý cho Windows, mặc dù sử dụng một phần mã phiên bản DOS - một sản phẩm khác đang được phát triển bởi một nhóm lập trình khác.

MySQL là một hệ quản trị cơ sở dữ liệu miễn phí (DBMS). MySQL thuộc sở hữu của Sun Microsystems, công ty phát triển và duy trì ứng dụng. Được phân phối theo Giấy phép Công cộng GNU và theo giấy phép thương mại của riêng mình, để lựa chọn. Ngoài ra, MySQL AB phát triển chức năng theo thứ tự của người dùng được cấp phép, chính nhờ thứ tự này mà cơ chế nhân bản đã xuất hiện trong hầu hết các phiên bản sớm nhất. MySQL là một giải pháp cho các ứng dụng vừa và nhỏ. Có trong LAMP. MySQL thường được sử dụng như một máy chủ được truy cập bởi các máy khách cục bộ hoặc từ xa, tuy nhiên, bản phân phối bao gồm một thư viện máy chủ nội bộ cho phép đưa MySQL vào các chương trình độc lập tìm kiếm, và các bảng InnoDB hỗ trợ các giao dịch ở cấp bản ghi cá nhân. Hơn nữa, MySQL đi kèm với một kiểu bảng EXAMPLE đặc biệt thể hiện cách tạo các kiểu bảng mới. Nhờ kiến ​​trúc mở và cấp phép GPL, các loại bảng mới liên tục được thêm vào cơ sở dữ liệu MySQL Vào ngày 26 tháng 2 năm 2008, Sun Microsystems đã mua lại MySQL AB với giá 1 tỷ đô la cho các chương trình con cấp thấp. Kết quả là, một giao diện SQL mới đã được phát triển, nhưng API được kế thừa từ mSQL. Tên "MySQL" xuất phát từ đâu vẫn chưa được biết chắc chắn. Các nhà phát triển đưa ra hai lựa chọn: hoặc vì hầu hết mọi sự phát triển của công ty đều bắt đầu bằng tiền tố My, hoặc để vinh danh một cô gái tên My, con gái của Michael Monty Widenius, một trong những người phát triển hệ thống logo MySQL dolphin được đặt tên "Sakila". Nó được chọn từ một danh sách lớn các "tên cá heo" do người dùng gợi ý. Tên "Sakila" được gửi bởi nhà phát triển Nguồn mở Ambrose Twebaze.

Hầu hết các doanh nghiệp hiện đại đã sử dụng hệ thống thông tin trong hơn một thập kỷ. Sẽ không quá lời khi nói rằng một trong những tài sản quý giá nhất của bất kỳ doanh nghiệp nào đã tồn tại trong ít nhất một hoặc hai năm là dữ liệu về các hoạt động của doanh nghiệp, dữ liệu này phải được lưu trữ để có được nhiều loại báo cáo và thống kê, và , gần đây, để tuân thủ các yêu cầu đối với hoạt động của công ty theo luật định. Đó là lý do tại sao các hệ thống quản lý cơ sở dữ liệu mà các công ty lưu trữ dữ liệu của họ và được điều khiển bởi các ứng dụng kinh doanh được sử dụng trong các công ty hiện nay phải chịu những yêu cầu rất cao.

Bài viết này dành cho các hệ quản trị cơ sở dữ liệu phổ biến nhất và các tính năng chính của chúng. Tiêu chí để lựa chọn DBMS cho đánh giá này là chúng được đề cập đến trong các báo cáo của các công ty phân tích chuyên phân tích thị trường về các danh mục phần mềm tương ứng.

Trong bài viết này, chúng tôi không xem xét các tính năng kỹ thuật chi tiết của từng DBMS - độc giả quan tâm đến chúng có thể tham khảo các nguồn tài liệu Internet liên quan hoặc tài liệu chuyên ngành.

Yêu cầu đối với DBMS hiện đại

Màn biểu diễn

Các nhiệm vụ mà các công ty hiện đại phải đối mặt đặt ra những yêu cầu khá cao đối với DBMS, không thể tưởng tượng được vài năm trước đây. Theo quan điểm của người dùng và quản trị viên DBMS, một trong những yêu cầu quan trọng nhất là hiệu suất cao, tức là khả năng xử lý nhanh các yêu cầu của người dùng và thực hiện các giao dịch. Một vai trò quan trọng trong vấn đề này được đóng bởi phương tiện tối ưu hóa việc thực thi các truy vấn và sử dụng các chỉ mục, cũng như tính dễ sử dụng của chúng. Một số DBMS chứa các công cụ thích hợp, trong khi một số khác chứa các thuật toán tích hợp sẵn được áp dụng tự động.

Hỗ trợ bảo mật

Ngoài hiệu suất, một trong những tính năng được yêu cầu nhiều nhất của DBMS hiện đại là hỗ trợ bảo mật tích hợp, nghĩa là khả năng cung cấp cho người dùng quyền truy cập để đọc và chỉnh sửa dữ liệu theo các quy tắc xác định trước được xác định trong nhiệm vụ đang được giải quyết, như cũng như sự bảo vệ đáng tin cậy của các bảng lưu trữ các quy tắc này. Các cách thực hiện yêu cầu này có thể khác nhau - từ mã hóa dữ liệu đến kiểm tra và phân tích kết quả của nó.

Theo một số báo cáo phân tích, hỗ trợ bảo mật DBMS của Oracle, DB2 và PostgreSQL được đánh giá cao nhất.

Khả năng mở rộng

Một yêu cầu quan trọng khác đối với DBMS có thể là khả năng mở rộng của nó, nghĩa là khả năng duy trì chức năng và hiệu suất của nó khi tải ngày càng tăng và các nâng cấp phần cứng tương ứng, chẳng hạn như mở rộng dung lượng RAM, tăng số lượng bộ xử lý và máy chủ phần cứng. Khi thêm tài nguyên, DBMS có thể mở rộng có thể nhận ra và sử dụng chúng, trong khi DBMS không thể mở rộng bỏ qua chúng và việc bổ sung chúng không làm tăng hiệu suất hoặc khả năng lưu trữ và xử lý nhiều dữ liệu hơn.

Khả năng mở rộng và hiệu suất của DBMS có mối quan hệ với nhau - nếu không có khả năng mở rộng, tốc độ tăng trưởng hiệu suất bị hạn chế và vào thời điểm hiện tại khi DBMS không thể đáp ứng nhu cầu ngày càng tăng của nhiệm vụ mà nó phục vụ ngay cả khi các tài nguyên bổ sung được thêm vào, thì điều này sẽ trở thành một vấn đề nghiêm trọng.

Cần lưu ý rằng một số hạn chế nhất định thuộc loại này (chẳng hạn như lượng dữ liệu tối đa, số lượng bản ghi trong bảng, số lượng người dùng) vốn có ở mức độ lớn hơn hoặc thấp hơn trong tất cả các DBMS và khi chúng gặp phải, suy giảm hiệu suất, lỗi, từ chối truy cập hoặc truy cập được quan sát. thực hiện các yêu cầu. Đó là lý do tại sao khả năng khắc phục những hạn chế như vậy bằng cách hỗ trợ kết nối các tài nguyên mới là quan trọng - cho đến việc tạo ra các cụm từ một số máy tính (chức năng này hiện được hỗ trợ bởi DB2 và Oracle).

Xử lý giao dịch chính xác

Một yêu cầu quan trọng khác là xử lý chính xác các giao dịch - các nhóm hoạt động tuần tự, là các đơn vị công việc hợp lý với dữ liệu. Các quy tắc để xử lý giao dịch chính xác lần đầu tiên được tác giả của mô hình dữ liệu quan hệ, Edgar Codd, mô tả dưới tên viết tắt ACID (Atomicity, Consistency, Isolation, Durability).

Thuộc tính Atomicity (tính nguyên tử) có nghĩa là giao dịch là khối nhỏ nhất, không thể phân chia của thuật toán thay đổi dữ liệu. Nói cách khác, bất kỳ phần nào (hoạt động con) của một giao dịch đều được thực hiện hoặc không phần nào trong số chúng được thực hiện. Nếu giao dịch không thể được hoàn thành đầy đủ, kết quả của tất cả các hành động đã thực hiện cho đến nay phải bị hủy bỏ và hệ thống trở lại trạng thái ban đầu (hành động này được gọi là khôi phục giao dịch).

Thuộc tính Nhất quán có nghĩa là một giao dịch đã hoàn thành để dữ liệu ở trạng thái nhất quán.

Thuộc tính Isolation có nghĩa là trong quá trình thực hiện một giao dịch, các quy trình khác sẽ không “nhìn thấy” dữ liệu ở trạng thái trung gian. Ví dụ: nếu một giao dịch thay đổi một số trường trong cơ sở dữ liệu cùng một lúc, thì một truy vấn khác được thực hiện trong quá trình thực hiện giao dịch sẽ không trả về một số trường này với giá trị mới và những trường khác với giá trị ban đầu.

Thuộc tính Độ bền có nghĩa là bất kể sự xuất hiện của lỗi kỹ thuật, các thay đổi được thực hiện bởi một giao dịch đã hoàn thành thành công sẽ vẫn được lưu sau khi hệ thống hoạt động trở lại.

Theo một số báo cáo phân tích, các nhà phát triển và quản trị viên đưa ra đánh giá cao nhất cho việc xử lý chính xác các giao dịch trong các công ty DBMS là Oracle và IBM. Tuy nhiên, Microsoft SQL Server cũng được đánh giá cao theo quan điểm này.

Những yêu cầu khác

Để phát triển cấu trúc cơ sở dữ liệu và thiết kế truy vấn, thông thường sử dụng các công cụ chuyên dụng - công cụ mô hình hóa dữ liệu. Các công cụ như vậy có thể được sản xuất bởi cả các nhà cung cấp DBMS và các nhà cung cấp độc lập. Sự hỗ trợ của DBMS bởi các nhà sản xuất các công cụ này, cũng như tính khả dụng của chúng trong phạm vi phần mềm của nhà sản xuất DBMS, được coi là một yêu cầu quan trọng đối với các hệ quản trị cơ sở dữ liệu hiện đại. Ví dụ, danh mục sản phẩm khổng lồ của Oracle như công cụ tạo mô hình Oracle Designer và công cụ dành cho nhà phát triển JDeveloper miễn phí, chứa các công cụ mô hình hóa, được các nhà phát triển giải pháp cơ sở dữ liệu Oracle đánh giá cao, cũng như sự sẵn có của hỗ trợ mô hình dữ liệu trong Visio bởi các nhà phát triển của Các giải pháp dựa trên Microsoft SQL. Máy chủ.

Nhiều DBMS hiện đại chứa các công cụ quản trị trong gói. Ngoài ra, các công cụ quản trị cơ sở dữ liệu của bên thứ ba như Embarcadero và Quest Software thường có sẵn. DBMS càng phổ biến và chính sách làm việc với các đối tác của nhà sản xuất càng linh hoạt thì càng có nhiều công cụ quản trị dành cho DBMS này trên thị trường. Theo quan điểm này, các nhà lãnh đạo là Oracle và Microsoft - những công ty này cung cấp các công cụ quản trị tốt cùng với DBMS của họ và có quá đủ các công cụ quản trị cho các DBMS này từ các nhà sản xuất độc lập trên thị trường. MySQL và PostgreSQL cũng đang hoạt động tốt với các công cụ - là cơ sở dữ liệu mã nguồn mở, chúng được hỗ trợ bởi các cộng đồng nhà phát triển sản xuất các công cụ quản trị.

Yêu cầu hỗ trợ XML gần đây đã trở nên quan trọng đối với người dùng DBMS hiện đại và các nhà phát triển các giải pháp dựa trên chúng, vì XML là tiêu chuẩn thực tế để tạo tài liệu và trao đổi dữ liệu giữa nhiều ứng dụng. Khả năng đọc và tạo các tài liệu XML hiện đã có trong hầu hết các DBMS hiện đại.

Hỗ trợ đa nền tảng rất quan trọng đối với các nhà phát triển ứng dụng làm việc trong môi trường không đồng nhất và quan trọng nhất đối với các công ty lớn thường có cơ sở hạ tầng CNTT rất đa dạng. Hầu hết các DBMS hiện đại đều hỗ trợ nhiều nền tảng. Ngoại lệ là DBMS của Microsoft - danh sách các nền tảng mà họ hỗ trợ chỉ bao gồm các phiên bản Windows khác nhau.

Tất cả các DBMS quan hệ hiện đại đều hỗ trợ ngôn ngữ truy vấn SQL. Đối với các ngôn ngữ khác, chúng có thể được sử dụng để viết mã máy chủ trong DBMS do Microsoft, Oracle sản xuất, cũng như trong DBMS PostgreSQL.

DBMS doanh nghiệp từ các nhà sản xuất hàng đầu

Máy chủ động Informix

Phiên bản đầu tiên của DBMS Informix quan hệ (INFORMation trên unIX) được phát hành vào năm 1981. Các phiên bản hiện đại của DBMS này (có tên hiện tại là Máy chủ động Informix) được đặc trưng bởi tốc độ xử lý giao dịch cao, độ tin cậy cao và dễ quản trị.

Thông thường, Informix Dynamic Server được sử dụng trong các doanh nghiệp lớn, chủ yếu là trong các chuỗi bán lẻ lớn và các công ty viễn thông - một số hệ thống thanh toán rất phổ biến đã được tạo ra trên cơ sở DBMS này.

Máy chủ động Informix hiện thuộc sở hữu của IBM. Phiên bản mới nhất của DBMS này có hiệu suất cao, khả năng mở rộng, tính khả dụng, hỗ trợ sao chép nâng cao, cũng như hỗ trợ cho các cụm, cân bằng tải, xử lý các giao dịch cạnh tranh, kiểm soát truy cập vào dữ liệu dựa trên nhãn bảo mật (lên đến giá trị của các ô riêng lẻ ), Hỗ trợ XML và tạo các giải pháp SOA. Máy chủ cơ sở dữ liệu đi kèm với công cụ IBM Data Studio, bao gồm các công cụ tạo biểu mẫu Informix 4GL, công cụ hỗ trợ máy chủ Blade và các công cụ xây dựng ứng dụng máy khách hướng đối tượng.

Các kế hoạch phát triển tiếp theo cho Informix Dynamic Server bao gồm cải tiến các công cụ hỗ trợ sao chép, cải thiện hiệu suất, tự động hóa các tác vụ khác nhau liên quan đến quản trị cơ sở dữ liệu và các công cụ để đơn giản hóa cấu hình.

DB2 của IBM

Phiên bản đầu tiên của DB2 được IBM tạo ra vào năm 1983 cho máy tính lớn MVS và là DBMS đầu tiên hỗ trợ ngôn ngữ SQL, được phát triển bởi tác giả của mô hình dữ liệu quan hệ E.F. Codd.

Phiên bản hiện tại của DB2 là DBMS quan hệ đối tượng và hỗ trợ các hệ điều hành Linux, UNIX và Windows trên các nền tảng phần cứng khác nhau, cũng như các hệ điều hành IBM khác nhau. Nó hỗ trợ nén dữ liệu, dự đoán sự cố và hỗ trợ XML.

Mặc dù cả Informix Dynamic Server và DB2 đều được thiết kế cho các doanh nghiệp lớn và thuộc sở hữu của cùng một công ty IBM, chúng cùng tồn tại tốt do thực tế là chúng được thiết kế để giải quyết các vấn đề khác nhau. Nếu Informix Dynamic Server chủ yếu được thiết kế để tạo ra các giải pháp yêu cầu xử lý giao dịch hiệu suất cao, thì các nhiệm vụ chính được giải quyết bằng cách sử dụng DB2 là tạo và vận hành các kho dữ liệu và xử lý các truy vấn phức tạp.

Các tính năng bảo mật của DB2 được người dùng đánh giá cao cùng với hiệu suất và khả năng mở rộng.

Microsoft SQL Server

Cơ sở dữ liệu Microsoft SQL Server được tạo ra là kết quả của một dự án hợp tác giữa Microsoft và Sybase vào năm 1990. Một vài năm sau, các công ty này bắt đầu phát triển DBMS của riêng họ dựa trên mã được tạo chung và phiên bản 7.0 của sản phẩm này đã được tạo ra mà không có sự tham gia của Sybase. Các phiên bản của DBMS này chỉ tồn tại cho các hệ điều hành của Microsoft.

Các tính năng chính của phiên bản SQL Server mới nhất là OLAP và các công cụ xử lý dữ liệu phân tích, công cụ lưu trữ dữ liệu không gian địa lý, cũng như các công cụ quản trị dễ sử dụng, tổ chức nhân rộng và hỗ trợ cụm.

Người tiêu dùng chính của Microsoft SQL Server là các doanh nghiệp vừa và lớn, mặc dù các phiên bản của DBMS này dành cho các công ty nhỏ cũng được sử dụng thành công.

MySQL

Phiên bản đầu tiên của MySQL được phát hành vào năm 1995 bởi các nhà phát triển nhận thấy cơ sở dữ liệu thương mại quá đắt. Là một cơ sở dữ liệu mã nguồn mở, MySQL đã trở nên vô cùng phổ biến với 50.000 lượt tải xuống bản phân phối của nó mỗi ngày. Máy chủ MySQL có thể được sử dụng tự do. Ngoại lệ là khi DBMS là một phần của sản phẩm thương mại, trong trường hợp này MySQL nên được cấp phép. Hỗ trợ kỹ thuật của sản phẩm cũng được trả tiền.

MySQL được sử dụng trong một loạt các giải pháp Internet, như một DBMS nhúng, trong các ứng dụng viễn thông và trong một số ứng dụng kinh doanh khác.

Các tính năng của DBMS này là độ tin cậy, hiệu suất cao và dễ sử dụng. Kiến trúc của nó cho phép bạn từ bỏ các chức năng không cần thiết để giải quyết một vấn đề cụ thể và do đó tăng hiệu suất ứng dụng - thống kê khảo sát cho thấy 80% người dùng DBMS này chỉ sử dụng 30% khả năng của nó.

MySQL hiện thuộc sở hữu của Sun Microsystems, công ty cung cấp các dịch vụ giá trị gia tăng cho MySQL cho phép MySQL chạy trên các máy chủ của Sun và với các giải pháp phần mềm của Sun.

Cơ sở dữ liệu Oracle 10g và 11g

Phiên bản đầu tiên của Oracle DBMS được tạo ra vào năm 1979 và trở thành DBMS thương mại duy nhất tại thời điểm đó cho phép các nhà phát triển ứng dụng kinh doanh ngừng tạo các giải pháp lưu trữ của riêng họ và chuyển sang các giải pháp phổ quát hoạt động trên các nền tảng khác nhau. Đến giữa những năm 1980, Tập đoàn Oracle đã trở thành công ty dẫn đầu thị trường và duy trì vị trí dẫn đầu kể từ đó.

Các phiên bản mới nhất của DBMS này được phân biệt bởi độ tin cậy cao, tính sẵn sàng, bảo mật và hiệu suất, cũng như các công cụ quản trị thuận tiện. DBMS này chủ yếu dành cho các doanh nghiệp lớn, cũng như cho các công ty mà việc xử lý giao dịch và lưu trữ dữ liệu là rất quan trọng, bao gồm cả các doanh nghiệp vừa và nhỏ. Chúng tôi cũng ghi nhận sự hỗ trợ tích cực của Oracle đối với các nhà phát triển sử dụng công nghệ .NET và Java, cũng như tính khả dụng của công cụ Application Express để tạo các ứng dụng web dựa trên Oracle DBMS.

PostgreSQL

PostgreSQL DBMS, giống như DBMS của Oracle, có thể được phân loại là một sản phẩm kỳ cựu - các phiên bản đầu tiên của sản phẩm sau này trở thành cái mà ngày nay được gọi là PostgreSQL xuất hiện từ những năm 80. PostgreSQL là mã nguồn mở từ năm 1996.

Mục đích chính của PostgreSQL là thực hiện các tác vụ cho các doanh nghiệp lớn yêu cầu mức độ bảo mật và độ tin cậy cao. DBMS này được sử dụng bởi các cơ quan chính phủ ở nhiều quốc gia, cũng như trong các ngành và lĩnh vực yêu cầu xử lý lượng lớn dữ liệu và các giao dịch đáng tin cậy (chẳng hạn như nghiên cứu di truyền, công nghệ thông tin địa lý, các ứng dụng cho lĩnh vực tài chính).

PostgreSQL DBMS bao gồm một mô-đun cốt lõi và tùy chọn do cộng đồng nhà phát triển tạo ra và cung cấp nhiều chức năng. Tuy nhiên, việc sử dụng một số lượng lớn các mô-đun cùng một lúc có thể làm cho DBMS này khó cấu hình, và ngoài ra, vẫn chưa có công cụ phân tích dữ liệu nào giữa các mô-đun đó. Tuy nhiên, các trình cắm thêm có sẵn cho các ngôn ngữ thủ tục, cho phép bạn tạo mã phía máy chủ và thêm chức năng bổ sung vào DBMS.

Trong số các cơ sở dữ liệu mã nguồn mở, PostgreSQL là cơ sở dữ liệu có khả năng mở rộng cao nhất (nó hỗ trợ tối đa 32 bộ xử lý, trong khi khả năng mở rộng của MySQL bị giới hạn ở 12). Hiện tại, các kế hoạch để phát triển thêm DBMS này bao gồm cải thiện hiệu suất, cải thiện các công cụ hỗ trợ cụm và khôi phục sau các lỗi.

Sybase Adaptive Server Enterprise

DBMS của Sybase ban đầu là kết quả của một dự án hợp tác giữa Microsoft và Sybase bắt đầu vào những năm 1980. Sau đó, các công ty này bắt đầu các dự án riêng biệt để phát triển thêm sản phẩm chung này và vào giữa những năm 90, Sybase SQL Server được đổi tên thành Doanh nghiệp Máy chủ Thích ứng.

Đặc điểm của Adaptive Server Enterprise là độ tin cậy, chi phí tối ưu và hiệu suất cao. Trong những năm gần đây, sự phát triển của sản phẩm này đã tập trung vào các tính năng an toàn và cải tiến hiệu suất. Đó là tính bảo mật, hiệu suất và khả năng mở rộng được người dùng và quản trị viên của DBMS này đánh giá cao nhất hiện nay.

Vì vậy, chúng tôi đã xem xét các tính năng chính của các hệ quản trị cơ sở dữ liệu phổ biến nhất. Bạn có thể tìm hiểu về việc phát hành các phiên bản mới và các tính năng của phiên bản sau từ các khối tin tức của chúng tôi và những đổi mới thú vị nhất trong thế giới DBMS sẽ được đề cập trong các ấn phẩm riêng biệt.

Cập nhật lần cuối: 24/06/2017

SQL Server là một trong những hệ quản trị cơ sở dữ liệu (DBMS) phổ biến nhất trên thế giới. DBMS này phù hợp với nhiều loại dự án: từ các ứng dụng nhỏ đến các dự án tải trọng lớn.

SQL Server được tạo ra bởi Microsoft. Phiên bản đầu tiên ra mắt vào năm 1987. Và phiên bản hiện tại là phiên bản 16, được phát hành vào năm 2016 và sẽ được sử dụng trong hướng dẫn hiện tại.

SQL Server từ lâu đã là hệ quản trị cơ sở dữ liệu dành riêng cho Windows, nhưng kể từ phiên bản 16 hệ thống này cũng đã có trên Linux.

SQL Server được đặc trưng bởi các tính năng như:

    Màn biểu diễn. SQL Server rất nhanh.

    Độ tin cậy và độ an toàn. SQL Server cung cấp mã hóa dữ liệu.

    Sự đơn giản. DBMS này tương đối dễ làm việc và quản lý.

Khía cạnh trung tâm trong MS SQL Server, cũng như trong bất kỳ DBMS nào, là cơ sở dữ liệu. Cơ sở dữ liệu là một kho dữ liệu được tổ chức theo một cách nhất định. Không có gì lạ khi cơ sở dữ liệu đại diện vật lý một tệp trên đĩa cứng, mặc dù ánh xạ như vậy là không cần thiết. Hệ quản trị cơ sở dữ liệu hoặc DBMS được sử dụng để lưu trữ và quản trị cơ sở dữ liệu. Và chỉ MS SQL Server là một trong những DBMS như vậy.

MS SQL Server sử dụng mô hình quan hệ để tổ chức cơ sở dữ liệu. Mô hình cơ sở dữ liệu này được phát triển vào năm 1970 bởi Edgar Codd. Và ngày nay nó thực sự là tiêu chuẩn để tổ chức cơ sở dữ liệu.

Mô hình quan hệ liên quan đến việc lưu trữ dữ liệu dưới dạng bảng, mỗi bảng bao gồm các hàng và cột. Mỗi hàng lưu trữ một đối tượng riêng biệt và các cột chứa các thuộc tính của đối tượng này.

Khóa chính được sử dụng để xác định từng hàng trong bảng. Khóa chính có thể là một hoặc nhiều cột. Sử dụng khóa chính, chúng ta có thể tham chiếu đến một hàng cụ thể trong bảng. Theo đó, hai hàng không được có cùng một khóa chính.

Thông qua các khóa, một bảng có thể được liên kết với một bảng khác, nghĩa là, các liên kết có thể được tổ chức giữa hai bảng. Và bản thân bảng có thể được biểu diễn dưới dạng một quan hệ ("quan hệ").

SQL (Ngôn ngữ truy vấn có cấu trúc) được sử dụng để tương tác với cơ sở dữ liệu. Máy khách (ví dụ: một chương trình bên ngoài) gửi một yêu cầu trong SQL bằng cách sử dụng một API đặc biệt. DBMS thông dịch và thực thi yêu cầu một cách chính xác, sau đó gửi kết quả đến máy khách.

SQL ban đầu được phát triển bởi IBM cho một hệ thống cơ sở dữ liệu có tên là System / R. Đồng thời, bản thân ngôn ngữ này được gọi là SEQUEL (Ngôn ngữ truy vấn tiếng Anh có cấu trúc). Mặc dù sau đó cả cơ sở dữ liệu và ngôn ngữ đều không được xuất bản chính thức, nhưng theo truyền thống, thuật ngữ SQL thường được phát âm là "phần tiếp theo".

Năm 1979, Relational Software Inc. đã phát triển hệ quản trị cơ sở dữ liệu đầu tiên, được gọi là Oracle và sử dụng ngôn ngữ SQL. Do thành công của sản phẩm này, công ty được đổi tên thành Oracle.

Sau đó, các hệ thống cơ sở dữ liệu khác bắt đầu xuất hiện sử dụng SQL. Kết quả là vào năm 1989, Viện Tiêu chuẩn Quốc gia Hoa Kỳ (ANSI) đã hệ thống hóa ngôn ngữ này và xuất bản tiêu chuẩn đầu tiên của nó. Sau đó, tiêu chuẩn được cập nhật và bổ sung định kỳ. Lần cập nhật cuối cùng diễn ra vào năm 2011. Nhưng bất chấp sự tồn tại của một tiêu chuẩn, các nhà cung cấp DBMS thường sử dụng các triển khai ngôn ngữ SQL của riêng họ, các ngôn ngữ này hơi khác nhau.

Có hai loại ngôn ngữ SQL: PL-SQL và T-SQL. PL-SQL được sử dụng trong các hệ thống cơ sở dữ liệu như Oracle và MySQL. T-SQL (Transact-SQL) được sử dụng trong SQL Server. Đó là lý do tại sao T-SQL sẽ được xem xét trong khuôn khổ của hướng dẫn hiện tại.

Tùy thuộc vào tác vụ mà lệnh T-SQL thực hiện, nó có thể là một trong các loại sau:

    DDL (Ngôn ngữ định nghĩa dữ liệu). Loại này bao gồm các lệnh khác nhau tạo cơ sở dữ liệu, bảng, chỉ mục, thủ tục được lưu trữ, v.v. Nói chung, dữ liệu được xác định.

    Cụ thể, chúng ta có thể tham khảo các lệnh sau cho loại này:

    • CREATE: tạo các đối tượng cơ sở dữ liệu (chính cơ sở dữ liệu, bảng, chỉ mục, v.v.)

      ALTER: Thay đổi các đối tượng cơ sở dữ liệu

      DROP: loại bỏ các đối tượng cơ sở dữ liệu

      TRUNCATE: xóa tất cả dữ liệu khỏi bảng

    DML (Ngôn ngữ thao tác dữ liệu / Ngôn ngữ thao tác dữ liệu). Loại này bao gồm các lệnh để chọn dữ liệu, cập nhật chúng, thêm, xóa - nói chung, tất cả những lệnh đó mà chúng ta có thể quản lý dữ liệu.

    Loại này bao gồm các lệnh sau:

    • CHỌN: tìm nạp dữ liệu từ cơ sở dữ liệu

      CẬP NHẬT: cập nhật dữ liệu

      INSERT: thêm dữ liệu mới

      DELETE: xóa dữ liệu

    DCL (Ngôn ngữ điều khiển dữ liệu / Ngôn ngữ điều khiển truy cập dữ liệu). Loại này bao gồm các lệnh quản lý quyền truy cập dữ liệu. Cụ thể, đây là các lệnh sau:

    • GRANT: cấp quyền truy cập dữ liệu

      REVOKE: Thu hồi quyền truy cập dữ liệu

Hệ quản trị cơ sở dữ liệu (DBMS)- đây là một tập hợp phổ biến của các thành phần phần mềm khác nhau của cơ sở dữ liệu và chính cơ sở dữ liệu, chứa các thành phần sau:

    ứng dụng cơ sở dữ liệu;

    thành phần khách hàng;

    máy chủ cơ sở dữ liệu;

    cơ sở dữ liệu thực tế.

Ứng dụng cơ sở dữ liệu là phần mềm có mục đích đặc biệt được phát triển và thực hiện bởi người dùng hoặc các công ty phần mềm bên thứ ba. Ngược lại, thành phần khách hàng là một phần mềm cơ sở dữ liệu mục đích chung được phát triển và thực hiện bởi một công ty cơ sở dữ liệu. Sử dụng các thành phần máy khách, người dùng có thể truy cập dữ liệu được lưu trữ trên máy tính cục bộ hoặc từ xa.

Máy chủ cơ sở dữ liệu thực hiện nhiệm vụ quản lý dữ liệu được lưu trữ trong cơ sở dữ liệu. Khách hàng tương tác với máy chủ cơ sở dữ liệu bằng cách gửi các truy vấn đến nó. Máy chủ xử lý từng yêu cầu mà nó nhận được và gửi kết quả đến máy khách thích hợp.

Các khả năng của DBMS

Nói chung, một cơ sở dữ liệu có thể được nhìn nhận từ hai khía cạnh - người dùng và hệ thống cơ sở dữ liệu. Người dùng xem cơ sở dữ liệu là một tập hợp các dữ liệu liên quan đến logic, nhưng đối với hệ thống cơ sở dữ liệu, nó chỉ đơn giản là một chuỗi các byte thường được lưu trữ trên đĩa. Mặc dù đây là hai quan điểm hoàn toàn khác nhau, nhưng có điểm chung giữa chúng: một hệ thống cơ sở dữ liệu phải cung cấp không chỉ một giao diện cho phép người dùng tạo cơ sở dữ liệu và truy xuất hoặc sửa đổi dữ liệu, mà còn cả các thành phần hệ thống để quản lý dữ liệu được lưu trữ. Do đó, hệ thống cơ sở dữ liệu cần cung cấp các khả năng sau:

    giao diện người dùng khác nhau;

    độc lập dữ liệu vật lý;

    độc lập dữ liệu logic;

    tối ưu hóa truy vấn;

    toàn vẹn dữ liệu;

    đồng thời kiểm soát;

    sao lưu và phục hồi;

    bảo mật cơ sở dữ liệu.

Tất cả các tính năng này được mô tả ngắn gọn trong các phần sau.

Giao diện người dùng đa dạng

Hầu hết các cơ sở dữ liệu được thiết kế và triển khai để được sử dụng bởi các loại người dùng khác nhau với các mức độ hiểu biết khác nhau. Vì lý do này, hệ thống cơ sở dữ liệu phải cung cấp một số giao diện người dùng riêng biệt. Giao diện người dùng có thể là đồ họa hoặc văn bản.

Trong giao diện đồ họa, đầu vào được thực hiện bằng bàn phím hoặc chuột và đầu ra được thực hiện dưới dạng đồ họa trên màn hình. Một biến thể của giao diện văn bản thường được sử dụng trong các hệ thống cơ sở dữ liệu là giao diện dòng lệnh, qua đó người dùng nhập thông tin đầu vào bằng cách gõ lệnh trên bàn phím và hệ thống hiển thị kết quả đầu ra ở định dạng văn bản trên màn hình.

Độc lập dữ liệu vật lý

Độc lập dữ liệu vật lý có nghĩa là các ứng dụng cơ sở dữ liệu độc lập với cấu trúc vật lý của dữ liệu được lưu trữ trong cơ sở dữ liệu. Tính năng quan trọng này cho phép bạn thay đổi dữ liệu được lưu trữ mà không cần phải thực hiện bất kỳ thay đổi nào đối với các ứng dụng cơ sở dữ liệu.

Ví dụ: nếu dữ liệu được sắp xếp đầu tiên theo một tiêu chí và sau đó được sắp xếp lại theo tiêu chí khác, việc thay đổi dữ liệu vật lý sẽ không ảnh hưởng đến các ứng dụng cơ sở dữ liệu hiện có hoặc lược đồ của nó (mô tả cơ sở dữ liệu được tạo bằng ngôn ngữ định nghĩa dữ liệu của hệ thống cơ sở dữ liệu).

Tính độc lập dữ liệu logic

Khi xử lý tệp bằng ngôn ngữ lập trình truyền thống, tệp được khai báo bởi các chương trình ứng dụng, vì vậy bất kỳ thay đổi nào đối với cấu trúc của tệp thường yêu cầu thực hiện các thay đổi tương ứng đối với tất cả các chương trình sử dụng nó.

Hệ thống cơ sở dữ liệu cung cấp tính độc lập của tệp logic, nghĩa là, nói cách khác, cấu trúc logic của cơ sở dữ liệu có thể được thay đổi mà không cần thực hiện bất kỳ thay đổi nào đối với các ứng dụng cơ sở dữ liệu. Ví dụ, việc thêm một thuộc tính vào cấu trúc đối tượng đã tồn tại trong hệ thống cơ sở dữ liệu có tên là Person (ví dụ: địa chỉ) chỉ yêu cầu các sửa đổi đối với cấu trúc logic của cơ sở dữ liệu chứ không phải các ứng dụng hiện có. (Tuy nhiên, các ứng dụng sẽ cần được sửa đổi để sử dụng cột mới.)

Tối ưu hóa Truy vấn

Hầu hết các hệ thống cơ sở dữ liệu đều chứa một thành phần con được gọi là người tối ưu hóa, xem xét một số chiến lược khả thi để thực hiện yêu cầu dữ liệu và chọn chiến lược hiệu quả nhất trong số đó. Chiến lược đã chọn được gọi là yêu cầu kế hoạch thực hiện. Trình tối ưu hóa đưa ra quyết định dựa trên các yếu tố như kích thước của các bảng đang được truy vấn, các chỉ mục hiện có và các toán tử logic (VÀ, HOẶC hoặc KHÔNG) được sử dụng trong mệnh đề WHERE.

Toàn vẹn dữ liệu

Một trong những thách thức mà hệ thống cơ sở dữ liệu phải đối mặt là xác định dữ liệu không nhất quán về mặt logic và ngăn không cho nó được đưa vào cơ sở dữ liệu. (Ví dụ về dữ liệu như vậy sẽ là ngày "30 tháng 2" hoặc thời gian "5:77:00".) Ngoài ra, đối với hầu hết các tác vụ trong thế giới thực được thực hiện bằng hệ thống cơ sở dữ liệu, có Ràng buộc hoàn toànđiều đó phải đúng với dữ liệu. (Ví dụ về ràng buộc toàn vẹn sẽ là yêu cầu số nhân sự của nhân viên phải là một số nguyên có năm chữ số.)

Tính toàn vẹn của dữ liệu có thể được người dùng thực thi trong chương trình ứng dụng hoặc hệ quản trị cơ sở dữ liệu. Ở mức tối đa có thể, nhiệm vụ này phải được thực hiện bởi DBMS.

Đồng thời kiểm soát

Hệ thống cơ sở dữ liệu là một hệ thống phần mềm đa người dùng, có nghĩa là nhiều ứng dụng người dùng truy cập cơ sở dữ liệu cùng một lúc. Do đó, mọi hệ thống cơ sở dữ liệu phải có một số loại cơ chế để quản lý các nỗ lực sửa đổi dữ liệu của nhiều ứng dụng cùng một lúc. Sau đây là một ví dụ về sự cố có thể xảy ra nếu hệ thống cơ sở dữ liệu không được trang bị cơ chế quản lý như vậy:

    Có 1.500 đô la trong tài khoản ngân hàng số 3811 tại ngân hàng X.

    Chủ tài khoản này, bà A và ông B, đến các chi nhánh khác nhau của ngân hàng và đồng thời rút 750 đô la mỗi người từ tài khoản.

    Số tiền còn lại trong tài khoản # 3811 sau các giao dịch này phải là $ 0 và trong mọi trường hợp là $ 750.

Tất cả các hệ thống cơ sở dữ liệu phải có các cơ chế cần thiết để xử lý các tình huống như vậy, cung cấp khả năng kiểm soát đồng thời.

Sao lưu và khôi phục

Hệ thống cơ sở dữ liệu phải được trang bị một hệ thống con để khôi phục các lỗi trong phần mềm và phần cứng. Ví dụ: nếu cập nhật 100 hàng của bảng cơ sở dữ liệu không thành công, thì hệ thống con khôi phục phải khôi phục mọi bản cập nhật đã được thực hiện để duy trì tính nhất quán của dữ liệu.

Bảo mật cơ sở dữ liệu

Các khái niệm bảo mật cơ sở dữ liệu quan trọng nhất là xác thực và ủy quyền. Xác thực là quá trình xác thực thông tin đăng nhập của người dùng để ngăn chặn người dùng trái phép sử dụng hệ thống. Xác thực được thực hiện phổ biến nhất bằng cách yêu cầu người dùng nhập tên người dùng và mật khẩu của họ. Hệ thống xác nhận thông tin này để quyết định xem người dùng có được phép đăng nhập hay không. Quá trình này có thể được tăng cường bằng cách sử dụng mã hóa.

Ủy quyền là một quy trình được áp dụng cho những người dùng đã có quyền truy cập vào hệ thống để xác định quyền sử dụng các tài nguyên nhất định của họ. Ví dụ, chỉ quản trị viên mới có thể truy cập thông tin về cấu trúc cơ sở dữ liệu và danh mục hệ thống của một thực thể cụ thể.

Hệ thống cơ sở dữ liệu quan hệ

Cơ sở dữ liệu Microsoft SQL Server là một hệ thống cơ sở dữ liệu quan hệ. Khái niệm về hệ thống cơ sở dữ liệu quan hệ lần đầu tiên được đưa ra vào năm 1970 bởi Edgar F. Codd trong "A Relational Model of Data for Large Shared Data Banks". Không giống như các hệ thống cơ sở dữ liệu trước đây (mạng và phân cấp), các hệ thống cơ sở dữ liệu quan hệ dựa trên mô hình dữ liệu quan hệ có một lý thuyết toán học mạnh mẽ.

Mô hình dữ liệu là một tập hợp các khái niệm, mối quan hệ giữa chúng và các giới hạn của chúng được sử dụng để biểu diễn dữ liệu trong một bài toán trong thế giới thực. Khái niệm trung tâm của mô hình dữ liệu quan hệ là bảng. Do đó, theo quan điểm của người dùng, một cơ sở dữ liệu quan hệ chỉ chứa các bảng và không có gì khác. Bảng bao gồm cột (một hoặc nhiều) và hàng (không hoặc nhiều hơn). Mỗi giao điểm của hàng và cột của bảng luôn chứa đúng một giá trị dữ liệu.

Làm việc với cơ sở dữ liệu demo trong các bài viết sau

Cơ sở dữ liệu SampleDb được sử dụng trong các bài viết của chúng tôi đại diện cho một công ty nhất định bao gồm các phòng ban (bộ phận) và nhân viên (worker). Mỗi nhân viên chỉ thuộc về một bộ phận và một bộ phận có thể chứa một hoặc nhiều nhân viên. Nhân viên làm việc theo dự án (project): tại bất kỳ thời điểm nào, mỗi nhân viên bận đồng thời trong một hoặc nhiều dự án, và một hoặc nhiều nhân viên có thể làm việc trên mỗi dự án.

Thông tin này được trình bày trong cơ sở dữ liệu SampleDb (tìm thấy trong các nguồn) thông qua bốn bảng:

Bộ phận Nhân viên Dự án Works_on

Việc tổ chức các bảng này được thể hiện trong các hình bên dưới. Bảng Phòng ban đại diện cho tất cả các phòng ban trong một công ty. Mỗi bộ phận có các thuộc tính (cột) sau:

Bộ phận (Số, Tên bộ phận, Vị trí)

Thuộc tính Number đại diện cho số lượng duy nhất của mỗi phòng ban, thuộc tính DepartmentName đại diện cho tên của nó và thuộc tính Location đại diện cho vị trí. Bảng Nhân viên đại diện cho tất cả nhân viên trong công ty. Mỗi nhân viên có các thuộc tính (cột) sau:

Nhân viên (Id, FirstName, LastName, DepartmentNumber)

Thuộc tính Id đại diện cho số nhân sự duy nhất của mỗi nhân viên, thuộc tính FirstName và LastName đại diện cho họ và tên của nhân viên, và thuộc tính DepartmentNumber đại diện cho số lượng bộ phận mà nhân viên đó làm việc.

Tất cả các dự án của công ty được trình bày trong bảng Dự án, bao gồm các cột (thuộc tính) sau:

Dự án (ProjectNumber, ProjectName, Budget)

Cột ProjectNumber cho biết một số dự án có một chữ số, trong khi cột ProjectName và Budget cho biết tên và ngân sách của dự án, tương ứng.

Bảng Works_on chỉ ra mối quan hệ giữa nhân viên và dự án:

Works_on (EmpId, ProjectNumber, Job, EnterDate)

Cột EmpId cho biết số lượng nhân sự của nhân viên và cột ProjectNumber cho biết số lượng dự án mà anh ta tham gia. Sự kết hợp các giá trị của hai cột này luôn là duy nhất. Các cột Job và EnterDate cho biết vị trí và thời gian bắt đầu công việc của nhân viên trong dự án này, tương ứng.

Sử dụng cơ sở dữ liệu SampleDb làm ví dụ, chúng ta có thể mô tả một số thuộc tính chính của hệ thống cơ sở dữ liệu quan hệ:

    Các hàng của bảng không được sắp xếp theo bất kỳ thứ tự cụ thể nào.

    Ngoài ra, các cột của bảng không được sắp xếp theo bất kỳ thứ tự cụ thể nào.

    Mỗi cột của bảng phải có một tên duy nhất trong bất kỳ bảng nhất định nào. Nhưng các bảng khác nhau có thể chứa các cột có cùng tên. Ví dụ, bảng Phòng chứa một cột Số và một cột có cùng tên tồn tại trong bảng Dự án.

    Mỗi phần tử dữ liệu bảng phải chứa một giá trị. Điều này có nghĩa là bất kỳ ô nào tại giao điểm của các hàng và cột của bảng không bao giờ chứa bất kỳ bộ giá trị nào.

    Mỗi bảng chứa ít nhất một cột có giá trị xác định thuộc tính mà không có hai hàng nào chứa cùng một tổ hợp giá trị cho tất cả các cột của bảng. Trong mô hình dữ liệu quan hệ, một cột như vậy được gọi là chìa khóa ứng viên. Nếu bảng chứa nhiều khóa ứng viên, nhà phát triển chỉ định một trong số chúng là khóa chính cái bàn này. Ví dụ: khóa chính của bảng Phòng ban sẽ là cột Số và khóa chính của bảng Nhân viên sẽ là Id. Cuối cùng, khóa chính của bảng Works_on sẽ là sự kết hợp của các cột EmpId và ProjectNumber.

    Bảng không bao giờ chứa các hàng giống nhau. Nhưng tính chất này chỉ tồn tại trên lý thuyết, bởi vì Cơ sở dữ liệu và tất cả các hệ thống cơ sở dữ liệu quan hệ khác cho phép các hàng giống hệt nhau tồn tại trong một bảng.

SQL - ngôn ngữ cơ sở dữ liệu quan hệ

Ngôn ngữ cơ sở dữ liệu quan hệ trong SQL Server được gọi là Giao dịch SQL. Nó là một biến thể của ngôn ngữ cơ sở dữ liệu quan trọng nhất hiện nay - Ngôn ngữ SQL (Ngôn ngữ truy vấn có cấu trúc - ngôn ngữ truy vấn có cấu trúc). Nguồn gốc của ngôn ngữ SQL có liên quan mật thiết đến một dự án có tên là System R, do IBM phát triển và triển khai từ đầu những năm 80 của thế kỷ trước. Thông qua dự án này, người ta đã chứng minh rằng, sử dụng cơ sở lý thuyết của công trình của Edgar F. Codd, có thể tạo ra một hệ thống cơ sở dữ liệu quan hệ.

Không giống như các ngôn ngữ lập trình truyền thống như C #, C ++ và Java, SQL là định hướng thiết lập. Các nhà phát triển của ngôn ngữ cũng gọi nó là định hướng ghi. Điều này có nghĩa là trong SQL, bạn có thể truy vấn dữ liệu từ nhiều hàng của một hoặc nhiều bảng chỉ bằng một câu lệnh. Đây là một trong những ưu điểm quan trọng nhất của ngôn ngữ SQL, cho phép bạn sử dụng ngôn ngữ này ở cấp độ logic cao hơn so với các ngôn ngữ lập trình truyền thống.

Một thuộc tính quan trọng khác của ngôn ngữ SQL là tính chất phi thủ tục của nó. Bất kỳ chương trình nào được viết bằng ngôn ngữ thủ tục (C #, C ++, Java) mô tả từng bước cách thực hiện một tác vụ nhất định. Ngược lại, SQL, giống như bất kỳ ngôn ngữ phi thủ tục nào khác, mô tả những gì người dùng muốn. Do đó, hệ thống có trách nhiệm tìm ra cách thích hợp để đáp ứng yêu cầu của người dùng.

Ngôn ngữ SQL chứa hai ngôn ngữ con: DDL (Ngôn ngữ định nghĩa dữ liệu)DML (Ngôn ngữ thao tác dữ liệu). Các lệnh DDL cũng được sử dụng để mô tả các lược đồ bảng cơ sở dữ liệu. Ngôn ngữ DDL chứa ba câu lệnh SQL phổ biến: CREATE, ALTER và DROP. Các hướng dẫn này được sử dụng để tạo, sửa đổi và xóa các đối tượng cơ sở dữ liệu, chẳng hạn như cơ sở dữ liệu, bảng, cột và chỉ mục.

Không giống như ngôn ngữ DDL, ngôn ngữ DML bao gồm tất cả các hoạt động thao tác dữ liệu. Bốn hoạt động phổ biến luôn được sử dụng để thao tác với cơ sở dữ liệu: trích xuất, chèn, xóa và sửa đổi dữ liệu (CHỌN, CHÈN, XÓA, CẬP NHẬT).