0
Blog

19 Tháng Chín, 2022

Database là gì? Phân biệt các mô hình cơ sở dữ liệu quan trọng

Là cụm từ ngày càng phổ biến trong thế giới ngày nay, nhưng database thường được sử dụng như một cách thay thế cho từ “dữ liệu” chứ chưa thực sự gần với định nghĩa của nó. Vậy cơ sở dữ liệu hay database là gì? Và có những mô hình cơ sở dữ liệu quan trọng, phổ biến nào trong các hệ thống hiện đại?

Database là gì?

Database, hay cơ sở dữ liệu (CSDL), là toàn bộ dữ liệu, thông tin, tệp tin… của một chương trình máy tính hoặc một hệ thống nào đó.

CSDL không đơn giản chỉ là data, là tập hợp các thông tin một cách vô tội vạ. Thay vào đó, CSDL phải có cấu trúc sao cho tối ưu cho quá trình truy xuất, tìm kiếm và xử lý thông tin của hệ thống.

database là gì

Mục tiêu phục vụ của CSDL là cho các hệ thống quản lý vĩ mô, database cần phải có khả năng mở rộng, thu nhập nhiều hơn hoặc loại bỏ thông tin mà vẫn không phá vỡ cấu trúc của mình.

Từ khi khoa học máy tính bắt đầu, đến nay con người đã phát triển và thử nghiệm rất nhiều mô hình quản lý dữ liệu khác nhau. Mỗi loại trong số chúng đều có những ưu điểm, nhược điểm và mục đích riêng, đôi khi chỉ phù hợp với một hệ thống, chương trình, hoặc một tệp dữ liệu nhất định.

Tuy nhiên, hiện nay có 4 mô hình CSDL quan trọng, phổ biến, và được ứng dụng rộng rãi trên thế giới.

Các mô hình CSDL quan trọng

Mô hình phân cấp (hierarchical model)

Ra mắt vào những năm 60 của thế kỷ trước, mô hình phân cấp là một trong những database model lâu đời và phổ biến nhất.

Mô hình phân cấp có cấu trúc đơn giản, bao gồm các hộp (boxes) và các dòng (lines). Hộp chứa các bản ghi (records) dữ liệu của hệ thống trong khi các dòng mô tả mối quan hệ giữa những chiếc hộp khác nhau.

Yếu tố phân cấp nằm ở chỗ sơ đồ mô hình trông như một cây thông với bản ghi mẹ ở trên cùng, kết nối với các bản ghi con, và sơ đồ ngày càng mở rộng theo chiều xuất phát. Nhiều bản ghi con khác nhau sẽ trỏ về cùng một bản ghi mẹ, nhưng không thể có chiều ngược lại.

mô hình phân cấp

Trong những chiếc hộp là tập hợp của các trường thông tin của bản ghi, và mỗi trường chỉ có thể chứa 1 giá trị dữ liệu.

Việc này giúp mô hình phân cấp có tính rõ ràng, mạch lạc cao, tuy nhiên lại khá đơn giản do số lượng dữ liệu ít.

Do đó, mô hình phân cấp thường được áp dụng trong những hệ thống tương đối đơn giản, tiêu biểu nhất là các tổ chức nhân sự.

Ví dụ: một công ty chia làm nhiều bộ phận và mỗi bộ phận sẽ quản lý một số lượng nhân viên nhất định. Khi đó, các bộ phận trong công ty sẽ là các box bản ghi mẹ, còn nhân viên sẽ là các trường thuộc tính trong mỗi box. Giữa các phòng ban sẽ có các line để thể hiện mối quan hệ của chúng như thế nào trong công ty.

Nhận xét

Mô hình CSDL phân cấp khá đơn giản và dễ hiểu, giúp bạn nhanh chóng xây dựng và điều chỉnh chúng khi cần. Đây là một mô hình để bắt đầu học và thực tập quản lý dữ liệu, lập trình những phần mềm, hệ thống đơn giản, quy mô nhỏ.

Tuy nhiên, vì sự giản đơn của mình mà mô hình phân cấp chỉ thực sự phù hợp đối với những hệ thống nhỏ, ít phức tạp, như ví dụ về quản lý nhân sự phía trên. Khi dữ liệu có quá nhiều thuộc tính cần ghi nhớ, mô hình này sẽ bị quá tải và không thể đáp ứng được.

Mô hình mạng lưới dữ liệu (network model)

Phức tạp hơn một chút so với mô hình phân cấp chính là mô hình mạng lưới dữ liệu (network), hay còn gọi là mô hình mạng dữ liệu có cấu trúc tổ chức thành một đồ thị có định hướng.

Nghe qua cái tên bạn cũng có thể hình dung được tổ chức của network model sẽ như thế nào.

mô hình mạng lưới dữ liệu

Thực tế thì các giao điểm trong một mô hình mạng lưới dữ liệu được gọi là các “đỉnh”, còn các liên kết giữa chúng là những “cung”.

“Đỉnh” là các bản ghi dữ liệu và là tập hợp của nhiều trường thông tin khác nhau, được nối với nhau bằng các “cung” có ghi chi tiết mối quan hệ của chúng.

Từ đó các “đỉnh” được nối lại với nhau, hình thành một mạng lưới (web) với hằng hà sa số các nút giao điểm.

Để so sánh, mô hình phân cấp chỉ cho phép tình trạng một bản ghi mẹ có nhiều mối quan hệ với các bản ghi con. Trong khi đó, mô hình mạng lưới dữ liệu cho phép mỗi bản ghi có nhiều mối quan hệ khác nhau.

Điều này mạng lại sự đa dạng, linh hoạt, và biểu diễn chính xác các tính chất thực tế của các thông tin dữ liệu.

Nhận xét

Trong những chương trình hay hệ thống lớn, CSDL thường đồ sộ và phức tạp hơn rất nhiều, một thông tin có thể sẽ có tác động với hàng chục thông tin khác.

Do đó, mô hình mạng lưới dữ liệu là lựa chọn phù hợp hơn trong những hệ thống quy mô lớn. Network model là một sự nâng cấp trực tiếp, thay thế cho mô hình phân cấp vốn rất giản đơn, nguyên thủy.

Ngoài ra, cho dù phức tạp nhưng bạn có thể nhanh chóng truy xuất thông tin trong network model bằng phép duyệt đồ thị navigation.

Tuy nhiên, mô hình mạng lưới dữ liệu cũng chứa đựng vô số các con trỏ giữa những bản ghi, đòi hỏi người sử dụng phải có chuyên môn và kinh nghiệm để quản lý CSDL một cách hiệu quả.

Mô hình dữ liệu hướng đối tượng (object-oriented model)

Mô hình dữ liệu hướng đối tượng (object-oriented model, viết tắt là OOM) được phát triển cùng lúc và dành riêng cho phương pháp lập trình hướng đối tượng (object-oriented programming).

Đây là một mô hình quản lý dữ liệu thuộc hàng “trẻ tuổi” nhất và, tuy không phải phổ biến nhất, nhưng cần được học tập và sử dụng trong một số trường hợp nhất định.

Với OOM, CSDL của bạn sẽ chứa các đối tượng (objects) khác nhau. Mỗi object đều đi kèm với những dữ liệu liên quan đến nó, chẳng hạn như các trường và các thuộc tính.

mô hình dữ liệu hướng đối tượng

Object còn có thể có những thông tin độc quyền của riêng nó, chỉ tồn tại trong mô hình dữ liệu hướng đối tượng, điển hình là thông tin về khởi tạo và kết thúc các đối tượng hay về sự ứng dụng các đối tượng đó trong hệ thống.

Tuy nhiên điều quan trọng nhất mà OOM mang lại là việc lưu vĩnh viễn thông tin của đối tượng vào CSDL. Đây là điều bắt buộc đối với lập trình hướng đối tượng, để khi chương trình kết thúc thì mọi thông tin về object vẫn còn nguyên vẹn và sẵn sàng được sử dụng lại ở lần tiếp theo.

Nhận xét

Nhờ vào việc lưu thông tin object vĩnh viễn mà OOD được ứng dụng trong những chương trình đòi hỏi cao về hiệu năng, chứa các tính toán phức tạp, và yêu cầu truy xuất thông tin tốc độ cao.

Ngoài ra, mô hình dữ liệu hướng đối tượng cho phép định nghĩa những đối tượng cực kỳ phức tạp, phù hợp với sự phát triển không thể lường trước được của công nghệ. Nó cũng cho phép sử dụng các phép toán phức tạp để ghi chép, định nghĩa đối tượng dữ liệu, như bao đóng (encapsulation), kế thừa (heritage), đa hình (polymorphism)…

Mặt khác, nhược điểm lớn nhất của mô hình quản lý CSDL này là sự phức tạp được đẩy lên mức độ cao nhất. Người dùng cần tích lũy kiến thức và kinh nghiệm thì mới có thể sử dụng được mô hình này, song song đó cũng cần phải hiểu biết về lập trình định hướng đối tượng.

Mô hình quan hệ dữ liệu (relational model)

Cuối cùng, mô hình quan hệ dữ liệu (relational model) có lẽ là một trong những mô hình phổ biến và toàn diện nhất hiện nay.

Các mô hình quản lý CSDL nổi tiếng hiện nay đều ứng dụng mô hình quan hệ dữ liệu, điển hình là MySQL, PostgreSQL, MariaDB, Microsoft SQL Server, và cả Oracle.

Đặc điểm của mô hình quan hệ dữ liệu chính là việc lưu trữ dữ liệu theo hàng (tuple – chứa các bản ghi), cột (column – chứa giá trị), và cùng nhau chúng tạo thành các bảng (table – các mối quan hệ).

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

Cấu trúc này cho phép mô hình quan hệ dữ liệu quản lý được tất cả các thuộc tính của dữ liệu và vô số các mối liên kết của chúng, mà lại không tạo ra sự rối rắm như ở dạng mạng lưới network.

Nhận xét

Mô hình quan hệ dữ liệu có rất nhiều cải tiến, ưu điểm vượt trội, giúp nó trở thành lựa chọn lý tưởng trong hầu hết các trường hợp.

Ưu điểm của mô hình quan hệ dữ liệu chính là ACID Atomicity, Consistency, Isolation, và Durability. Nói chung, mô hình này đảm bảo tính hiệu lực và độ tin cậy của dữ liệu, khi các thay đổi thông tin không làm ảnh hưởng tới những dữ liệu khác trong hệ thống.

Ngoài ra, relational model cung cấp sự linh hoạt cao cho CSDL, cho phép bạn thêm thắt, chỉnh sửa, và xóa bỏ bất kỳ thông tin nào mà không làm ảnh hưởng tới những dữ liệu còn lại. Tuy vậy, nó vẫn rất dễ sử dụng, dễ làm quen và học hỏi, phù hợp cho cả người có kinh nghiệm lẫn người mới bắt đầu làm quen với CSDL.

Bên cạnh đó, mô hình quan hệ dữ liệu còn hỗ trợ tối ưu cho làm việc nhóm khi mà nhiều người có thể chỉnh sửa database trong cùng một thời điểm mà vẫn không làm CSDL bị trùng lặp hay hư hỏng.

Trên đây là chia sẻ của Mona Host về khái database là gì, cũng như các mô hình quản lý dữ liệu quan trọng và phổ biến nhất hiện nay. Có thể thấy mô hình quan hệ dữ liệu hiện đang được ưa chuộng nhất và được sử dụng cho hầu hết các hệ thống. Tuy nhiên, mô hình phân cấp, mạng lưới, và hướng đối tượng vẫn có những ứng dụng riêng, phù hợp cho những mục đích cụ thể khác.

Xem thêm: Phân loại và chức năng của các loại máy chủ phổ biến

Bài viết liên quan

Dịch vụ thiết kế
website chuyên nghiệp

Sở hữu website với giao diện đẹp, độc quyền 100%, bảo hành trọn đời với khả năng
mở rộng tính năng linh hoạt theo sự phát triển doanh nghiệp ngay hôm nay!

Liên hệ Mona
Giỏ hàng của bạn

Giỏ hàng trống!