Database system là gì

Database system là gì

Cơ sở dữ liệu (Database) là gì? SQL là gì?

Trước khi bắt đầu tìm hiểu sâu về Cơ sở dữ liệu, và vai trò của SQL khi quản lý, vận hành Cơ sở dữ liệu, chúng ta cần phải hiểu rõ các khái niệm cơ bản sau.

Dữ liệu là tất cả thông tin của sự vật mà chúng ta thu thập được. Những thông tin này sẽ phản ánh một cách chính xác sự vật dưới nhiều góc độ khác nhau, và có thể sử dụng cho mục đích nghiên cứu, phân tích sự vật đó. Dữ liệu có thể là bất kì chỉ số nào (tên, tuổi, chiều cao, cân nặng,…) và cũng có thể ở dưới bất kì dạng nào (hình chụp, tập tin ảnh, pdf, …)

Cơ sở dữ liệu là tập hợp các dữ liệu một cách có hệ thống. Cơ sở dữ liệu có công dụng lưu trữ và phân bổ dữ liệu, qua đó giúp việc quản lý dữ liệu trở nên hiệu quả và có hệ thống hơn. Sau đây là 1 số ví dụ để giúp bạn hiểu rõ hơn về công dụng của Cơ sở dữ liệu. Bạn cũng có thể xem qua một số ví dụ sau đây để hiểu rõ hơn về Cơ sở dữ liệu.

Steam lưu trữ các dữ liệu về loại game bạn thường chơi, địa chỉ email, ngày sinh, giới tính để giới thiệu những tựa game phù hợp nhất với sở thích của bạn. Facebook là mạng xã hội lớn nhất hiện nay, đồng nghĩa với việc số lượng dữ liệu mà Facebook cần lưu trữ là cực kì khổng lồ. Những dữ liệu Facebook nắm giữ bao gồm những thông tin cá nhân của người dùng, ngoài ra còn có thêm sở thích và hành vi của người dùng khi tham gia Facebook, cũng như những tin nhắn và những dữ liệu khác liên quan đến quảng cáo.

Hệ thống quản lý cơ sở dữ liệu (Database Management System) là tập hợp của những chương trình cho phép người dùng truy cập vào Cơ sở dữ liệu. Ngoài việc kiểm soát những truy cập vào cơ sở dữ liệu, hệ thống này còn cho phép người dùng trích xuất và sử dụng dữ liệu cho nhiều mục đích khác nhau như phân tích, nhận định và báo cáo.

Hệ thống quản lý cơ sở dữ liệu không phải là một khái niệm mới lạ trên thế giới. Thực tế, hệ thống này đã lần đầu tiên được đưa vào sử dụng vào thập niên 60 của thế kỉ trước. Với việc công nghệ ngày càng phát triển, những phần mềm quản lý cơ sở dữ liệu đã được nâng cấp rất nhiều so với trước kia. Hiện nay, các nhà phát triển đang hướng đến nhiều hơn về Trải nghiệm người dùng (UX) với việc sử dụng dễ dàng hơn, nhanh hơn nhưng vẫn có đầy đủ những tính năng cần thiết.

Database system là gì
Sự đa dạng của Database Management System

Hãy cùng chúng tôi xem qua cách mà Hệ thống cơ sở dữ liệu phát triển qua thời gian nhé.

Đây là hệ thống quản lý cơ sở dữ liệu được hình thành theo mối quan hệ giữa các loại dữ liệu. Hiện tại, hệ thống quản lý cơ sở dữ liệu loại này không còn được sử dụng rộng rãi như trước nữa. Cấu trúc của hệ thống quản lý cơ sở dữ liệu dạng phân tầng có thể được mô tả giống một cái cây, với nhiều nhánh khác nhau tượng trưng cho những trường dữ liệu (Data field) khác nhau.

Đây là hệ thống quản lý cơ sở dữ liệu hỗ trợ mối quan hệ nhiều-nhiều (many-to-many relationship). Hệ thống này thường được sử dụng đối với những cơ sở dữ liệu với cấu trúc phức tạp. Ví dụ điển hình nhất của kiểu hệ thống cơ sở dữ liệu này là Server RDM.

Đây là hệ thống hỗ trợ lưu trữ loại dữ liệu mới hiện nay. Trong đó, dữ liệu được lưu trữ dưới dạng đối tượng (Object). Những đối tượng (Object) này có thuộc tính như giới tính, tuổi tác, v…v và những phương thức để xác định dữ liệu được dùng làm gì. Một ví dụ cho kiểu hệ thống quản lý cơ sở dữ liệu theo kiểu đối tượng là PostgreSQL.

Structured Query Language (SQL) là ngôn ngữ chuẩn để làm việc với Cơ sở dữ liệu kiểu quan hệ. Những phần mềm SQL sẽ giúp các thao tác cơ bản với cơ sở dữ liệu như Chèn (Insert), Tìm kiếm (Search), Cập nhật (Update), Xóa (Delete) hiệu quả hơn.

Ngoài những thao tác cơ bản đó, SQL còn đóng vai trò quan trọng trong việc Tối ưu (Optimizing) và Bảo trì (Maintenance) cơ sở dữ liệu.

Những cơ sở dữ liệu dạng quan hệ như MySQL, Oracle, Server Ms SQL, Sybase đều sử dụng SQL.

Các cơ sở dữ liệu kể trên đều sử dụng những cú pháp SQL gần như giống nhau. Phải chăng sự khác biệt chỉ đến từ những cú pháp đặc biệt để tạo nên điểm đặc biệt của mỗi chương trình. Một ví dụ của cú pháp SQL:

SELECT * FROM Members WHERE Age > 30

NoSQL là một danh mục mới của Hệ thống quản lý cơ sở dữ liệu. Thuộc tính chính của NoSQL là không phụ thuộc vào khái niệm của Cơ sở dữ liệu quan hệ. Do đó, NoSQL nghĩa là “Không chỉ SQL” (Not only SQL).

Khái niệm của cơ sở dữ liệu NoSQL phát triển cùng với những ông lớn của ngành công nghệ trực tuyến với một khối lượng khổng lồ các dữ liệu cần xử lý như Google, Facebook, Amazone, v..v.

Cụ thể, khi bạn sử dụng cơ sở dữ liệu quan hệ với một lượng dữ liệu không lồ, hệ thống sẽ bắt đầu có dấu hiệu phản hồi chậm hơn. Để giải quyết tình trạng này, hiển nhiên chúng ta có thể nâng cấp những phần cứng hiện tại của hệ thống. Tuy nhiên, một phương án khác cho tình trạng này là phân phối cơ sở dữ liệu trên các host khác nhau để tăng tốc độ truyền tải.. Cơ sở dữ liệu NoSQL là những cơ sở dữ liệu “không quan hệ” và có thể nhận rộng tốt hơn cơ sở dữ liệu dang quan hệ. Hệ thống này không sử dụng SQL để xử lý dữ liệu, và cũng không tuân theo một cách khắc khe lược đồ (schema) như trong mô hình quan hệ.

Với những ưu điểm của cơ sở dữ liệu NoSQL, bạn có thể đang tự hỏi tại sao chúng ta cần phải học SQL nữa?

Thật ra, cơ sở dữ liệu NoSQL là những hệ thống chuyên biệt và được sử dụng một cách có giới hạn cho những tình huống đặc biệt. Do đó, NoSQL phù hợp hơn với những người cần phải xử lý một lượng dữ liệu không lồ. Còn lại phần lớn những công ty đều sử dụng cơ sở dữ liệu kiểu quan hệ cũng nhưng những công cụ liên quan.

SQL có những ưu điểm sau đây:

  • Cơ sở dữ liệu SQL có hệ thống lưu trữ và quản lý dữ liệu ổn định. Đây là điều thiết yếu cho bất kì doanh nghiệp nào.
  • Cơ sở dữ liệu SQL hỗ trợ tốt hơn trong việc theo dõi dữ liệu. Hệ thống SQL sẽ chỉ cho người dùng thấy những dữ liệu mà họ được phân quyền, còn những dữ liệu khác sẽ bị ẩn đi.
  • Cơ sở dữ liệu SQL có mô hình bảo mậ t tốt hơn so với NoSQL.

Ngoài ra, trên thế giới hiện nay vẫn còn rất nhiều doanh nghiệp đang sử dụng hệ thống cơ sở dữ liệu SQL. Do đó, nhu cầu cho những chuyên gia về hệ thống này vẫn đang rất cao và cần thiết.

Leave a Comment

Posted on April 17, 2018

Một cơ sở dữ liệu – CSDL(DataBase): Là một kho dữ liệu được tổ chức theo một nguyên tắc nào đó. Đó là một tập hợp các tập tin có liên quan với nhau, được thiết kế nhằm làm giảm thiểu sự dư thừa dữ liệu, đảm bảo tính tin cậy khi truy xuất dữ liệu. Các tập tin này chứa các thông tin biểu diễn các đối tượng trong một ứng dụng thế giới thực.
Ví dụ: Cơ sở dữ liệu lưu giữ thông tin của một trường đại học như : khoa, giảng viên, sinh viên, khóa học,…
Hệ quản trị cơ sở dữ liệu (tiếng Anh: Database Management System DBMS), là phần mềm hay hệ thống được thiết kế để quản trị một cơ sở dữ liệu. Cụ thể, các chương trình thuộc loại này hỗ trợ khả năng lưu trữ, sửa chữa, xóa và tìm kiếm thông tin trong một cơ sở dữ liệu (CSDL). Có rất nhiều loại hệ quản trị CSDL khác nhau: từ phần mềm nhỏ chạy trên máy tính cá nhân cho đến những hệ quản trị phức tạp chạy trên một hoặc nhiều siêu máy tính.
Ví dụ: Một DBMS có thể quản trị cơ sở dữ liệu của một trường đại học cũng như những cơ sở dữ liệu có ý nghĩa khác như : cơ sở dữ liệu phục vụ tổng thu nhập quốc gia, một cơ sở dữ liệu liên hợp quốc về dữ liệu địa lý thế giới,v..v…
– Một hệ cơ sở dữ liệu (HCSDL/ DBS: DataBase System) là một phần mềm cho phép xây dựng một HQTCSDL.
Các DBMS thông dụng: Visual FoxPro, Microsoft Access, SQL Server, DB2, Oracle … hầu hết các DBMS hiện nay đều dựa trên mô hình quan hệ

2. Các chức năng của hệ quản trị cơ sở dữ liệu – DBMS:

+ Lưu trữ dữ liệu
+ Tạo ra và duy trì CSDL
+ Cho phép nhiều người dùngtruy xuất đồng thời
+ Hỗ trợ tính bảo mật và riêng tư
+ Cho phép xem và xử lý dữ liệu lưu trữ
+ Cho phép cập nhật và lưu trữ dữ liệu sau khi cập nhật
+ Cung cấp một cơ chế chỉ mục (index) hiệu quả để truy cập nhanh các dữ liệu lựa chọn
+ Cung cấp tính nhất quán giữa các bản ghi khác nhau
+ Bảo vệ dữ liệu khỏi mất mát bằng các quá trình sao lưu (backup) và phục hồi (recovery).

3. Ưu điểm và nhược điểm của DBMS:

– Ưu điểm của DBMS:
Quản lý được dữ liệu dư thừa.
Đảm báo tính nhất quán cho dữ liệu.
Tạo khả năng chia sẻ dữ liệu nhiều hơn.
Cải tiến tính toàn vẹn cho dữ liệu.
– Nhược điểm Hệ quản trị cơ sở dữ liệu:
HQTCSDL tốt thì khá phức tạp.
HQTCSDL tốt thường rất lớn chiếm nhiều dung lượng bộ nhớ.
Giá cả khác nhau tùy theo môi trường và chức năng.
HQTCSDL được viết tổng quát cho nhiều người dùng thì thường chậm.

4. Một số  vấn đề bất lợi cần xử lý của hệ cơ sở dữ liệu – DBMS là gì

  • Dư thừa dữ liệu và tính không nhất quán (Data redundancy and inconsistency) :

Do các file và các trình ứng dụng được tạo ra bởi các người lập trình khác nhau, nên các file có định dạng khác nhau, các chương trình được viết trong các ngôn ngữ lập trình khác nhau, cùng một thông tin có thể được lưu giữ trong các file khác nhau. Tính không thống nhất và dư thừa này sẽ làm tăng chi phí truy xuất và lưu trữ, hơn nũa, nó sẽ dẫn đến tính không nhất quán của dữ liệu: các bản sao của cùng một dữ liệu có thể không nhất quán .

  • Khó khăn trong việc truy xuất dữ liệu:

Môi trường của hệ thống xử lý file thông thường không cung cấp các công cụ cho phép truy xuất thông tin một cách hiệu quả và thuận lợi.

  • Sự cô lập dữ liệu(Data isolation) :

Các giá trị dữ liệu được lưu trữ trong cơ sở dữ liệu phải thoả mãn một số các ràng buộc về tính nhất quán của dữ liệu ( ràng buộc nhất quán / consistency contraints ).
Trong hệ thống xử lý file thông thường, rất khó khăn trong việc thay đổi các chương trình để thoả mãn các yêu cầu thay đổi ràng buộc. Vấn đề trở nên khó khăn hơn khi các ràng buộc liên quan đến các hạng mục dữ liệu nằm trong các file khác nhau.

  • Các vấn đề về tính nguyên tử (Atomicity problems):

Tính nguyên tử của một hoạt động (giao dịch) là: hoặc nó được hoàn tất trọn vẹn hoặc không có gì cả . Điều này có nghĩa là một hoạt động (giao dịch) chỉ làm thay đổi các dữ liệu bền vững khi nó đã hoàn tất (kết thúc thành công) nếu không, giao dịch không để lại một dấu vết nào trên CSDL. Trong hệ thống xử lý file thông thường khó đảm bảo được tính chất này.

  • Tính bất thường trong truy xuất cạnh tranh :

Một hệ thống cho phép nhiều người sử dụng cập nhật dữ liệu đồng thời, có thể dẫn đến kết quả là dữ liệu không nhất quán. Điều này đòi hỏi một sự giám sát. Hệ thống xử lý file thông thường không cung cấp chức năng này.

  • Vấn đề an toàn (Security problems):

một người sử dụng hệ cơ sở dữ liệu không cần thiết và cũng không có quyền truy xuất tất cả các dữ liệu. Vấn đề này đòi hỏi hệ thống phải đảm bảo được tính phân quyền, chống truy xuất trái phép … Các bất lợi nêu trên đã gợi mở sự phát triển các DBMS. Phần sau của giáo trình sẽ đề cập đến các quan niệm và các thuật toán được sử dụng để phát triển một hệ cơ sở dữ liệu nhằm giải quyết các vấn đề nêu trên. Các bài việt có thể xem thêm:

Khái niệm dịch vụ ngân hàng bán lẻ


Đặc điểm của dịch vụ ngân hàng bán lẻ
Kinh nghiệm về phát triển dịch vụ ngân hàng bán lẻ