Cơ sở dữ liệu là gì?

7151

Bài viết được sự cho phép của tác giả Khiêm Lê

Cơ sở dữ liệu là một trong những môn học đại cương của ngành IT, bất kể bạn học chuyên ngành gì thì bạn cũng phải học Cơ sở dữ liệu. Vậy thì trong bài viết này, mình sẽ giới thiệu đến các bạn cơ sở dữ liệu là gì, vì sao cần có cơ sở dữ liệu, ưu và nhược điểm của việc sử dụng cơ sở dữ liệu. Hãy cùng bắt đầu thôi!

Các vấn đề trong quản lý

Giả sử trong một công ty có nhiều phòng ban khác nhau, mỗi phòng ban sẽ quản lý danh sách nhân viên của phòng ban đó, danh sách này bao gồm tất cả các thông tin cần thiết của một nhân viên. Riêng phòng nhân sự sẽ quản lý toàn bộ thông tin nhân viên của cả công ty. Các vấn đề phát sinh trong việc quản lý rời rạc như vậy như sau:

Trùng lặp dữ liệu

Phòng nhân sự đã quản lý toàn bộ thông tin của nhân viên trong công ty rồi, nhưng các phòng bạn khác cũng có một danh sách quản lý khác. Dĩ nhiên là thông tin các nhân viên của phòng ban đó đã có trong danh sách của phòng nhân sự rồi. Vậy nên việc quản lý rời rạc như vậy sẽ gây lãng phí rất nhiều tài nguyên.

Dữ liệu không đồng bộ

Việc có nhiều thông tin bị trùng lặp như trên sẽ dẫn đến việc đồng bộ dữ liệu cực kỳ khó khăn. Ví dụ như khi cần sửa thông tin của một nhân viên nào đó, người quản lý của các phòng ban mà nhân viên đó trực thuộc sẽ phải sửa lại toàn bộ.

Trong lúc sửa đổi thông tin như vậy, không thể đảm bảo thông tin được cập nhật lại đúng và có phòng ban nào quên cập nhật hay không. Như vậy, khi cần sử dụng thông tin của nhân viên đó, người quản lý không biết được là phòng ban nào mới có dữ liệu chính xác về nhân viên đó để sử dụng.

Không an toàn

Việc lưu trữ nhiều bản khác nhau ở nhiều nơi là cực kỳ không an toàn. Hãy thử nghĩ xem thông tin của một nhân viên bao gồm cả thông tin nhạy cảm như số CMND, số hộ chiếu… mà lưu trữ nhiều nơi như vậy thì không chắc được tất cả các phòng ban đều có thể đảm bảo dữ liệu đó an toàn, không bị lộ ra ngoài.

Lọc và tìm kiếm thông tin

Nếu như quản lý danh sách bằng Excel hay Access hay các phần mềm tương tự, việc lọc và tìm kiếm thông tin khá dễ dàng. Tuy nhiên, nếu các bạn muốn tìm kiếm, lọc theo nhiều trường thông tin khác nhau, nhóm thông tin, thực hiện các advance filter thì sẽ rất phức tạp.

Hay cổ xưa hơn là lưu trữ trên giấy, việc lọc và tìm kiếm thông tin với một danh sách cực kỳ dài sẽ là điều bất khả thi.

Để khắc phục các vấn đề trên, dùng chung một cơ sở dữ liệu sẽ là cách tối ưu nhất, vậy thì cơ sở dữ liệu là gì?

  12 Thư viện JavaScript trực quan hoá dữ liệu hot nhất năm 2023
  Làm việc với cơ sở dữ liệu trong Laravel

Cơ sở dữ liệu là gì?

Cơ sở dữ liệu (Database) là một tập các dữ liệu có tổ chức, thường được lưu trong các hệ thống máy tính. Hay có thể hiểu đơn giản nó chính là thông tin được lưu trữ trong máy tính. Có hai loại cơ sở dữ liệu là cơ sở dữ liệu quan hệ và cơ sở dữ liệu phi quan hệ.

Việc làm Database hấp dẫn cho bạn

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

Đối với cơ sở dữ liệu quan hệ, dữ liệu được cấu trúc thành các bảng, mỗi bảng gồm có các hàng và các cột, mỗi dữ liệu được thêm vào phải đảm bảo cấu trúc đúng như đã quy định của bảng đó. Dữ liệu sẽ được ghi thông quan ngôn ngữ truy vấn SQL (Structured Query Language). Các cơ sở dữ liệu quan hệ có thể kể đến như MS SQL Server, MySQL, Oracle…

Cơ sở dữ liệu là gì?
Lược đồ cơ sở dữ liệu quan hệ

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

Cơ sở dữ liệu phi quan hệ (thường được gọi là NoSQL database) là cơ sở dữ liệu không cần quy định trước cấu trúc, mỗi dữ liệu có thể có các trường thông tin khác nhau (lưu trữ cấu trúc khá giống với json). Cơ sở dữ liệu phi quan hệ thì không dùng ngôn ngữ truy vấn. Một số cơ sở dữ liệu phi quan hệ có thể kể đến như MongoDB, CouchDB…

Để quản lý các cơ sở dữ liệu này, ta sử dụng các hệ quản trị cơ sở dữ liệu hay còn gọi là DBMS (Database Management System). Các hệ quản trị này cung cấp cho chúng ta các tiện ích để tương tác với cơ sở dữ liệu và hầu hết thời gian là chúng ta làm việc với DBMS để quản lý cơ sở dữ liệu.

Trong môn học Cơ sở dữ liệu trên đại học, các bạn sẽ được dạy cơ sở dữ liệu quan hệ. Từ những kiến thức đó, các bạn có thể dễ dàng tự học thêm cơ sở dữ liệu phi quan hệ, vì cơ sở dữ liệu phi quan hệ thao tác dễ dàng hơn nhiều so với cơ sở dữ liệu quan hệ.

Ưu điểm

Như đã nói việc sử dụng cơ sở dữ liệu sẽ giải quyết được các vấn đề đã đặt ra ở đầu bài viết.

Khi cả công ty dùng chung một cơ sở dữ liệu, các phòng ban khác có thể dễ dàng truy cập vào database và lấy thông tin khi họ cần, điều này giúp tránh được việc trùng lập dữ liệu, gây lãng phí tài nguyên.

Khi đã dùng chung cơ sở dữ liệu, thông tin được cập nhật trên cơ sở dữ liệu thì khi người dùng lấy dữ liệu, dữ liệu sẽ được đảm bảo đồng bộ hoàn toàn.

Việc tìm kiếm thông tin cũng vô vùng dễ dàng khi dữ liệu đã được quản lý bởi DBMS, chúng ta có thể thêm filter, tìm kiếm, gom nhóm các thông tin lại với nhau bằng cách dùng câu truy vấn.

Thông tin được quản lý ở một nơi duy nhất, đảm bảo việc bảo mật dữ liệu, tránh rò rỉ thông tin. Ngoài ra có thể phân quyền cho người dùng, ai có thể truy cập dữ liệu, ai không được.

Nhược điểm

Đương nhiên thứ gì cũng có hai mặt, việc sử dụng cơ sở dữ liệu cũng có một số nhược điểm sau:

Việc dùng chung cơ sở dữ liệu khi xảy ra sự cố, toàn bộ dữ liệu sẽ bị mất hoàn toàn. Tuy nhiên nhược điểm này có thể dễ dàng khắc phục bằng cách sao lưu dữ liệu thường xuyên.

Việc dùng chung cơ sở dữ liệu khi có quá nhiều truy vấn sẽ gây nghẽn, sập hệ thống. Tuy nhiên, trong thực tế, lượng truy vấn đến cơ sở dữ liệu đã được ước tính và đầu tư vào cấu hình máy chủ cho phù hợp.

Tổng kết

Vậy là trong bài này mình đã giới thiệu đến các bạn về cơ sở dữ liệu là gì, các ưu và nhược điểm khi sử dụng cơ sở dữ liệu để quản lý dữ liệu.

Mọi ứng dụng trong thực tế đều được xây dựng dựa trên cơ sở dữ liệu, cơ sở dữ liệu có xây dựng tốt thì mới đảm bảo app chạy tốt, nếu cơ sở dữ liệu mà bị sự cố thì app của bạn coi như cũng không sử dụng được. Vậy nên đừng chủ quan, hãy cố gắng học thật tốt môn này nha.

Nếu có chỗ nào mình viết sai thì các bạn hãy comment phía bên dưới để mình được biết nhé. Cảm ơn các bạn đã đọc bài viết!

Bài viết gốc được đăng tải tại khiemle.dev

Có thể bạn quan tâm:

Xem thêm IT Jobs in Vietnam hấp dẫn trên TopDev