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

Trong cuộc sống hàng ngày của chính chúng ta bây giờ, ta đều sử dụng hệ thống cơ sở dữ liệu mà ta chỉ là chưa biết mà thôi. Ví dụ như việc đọc báo, xem phim thì mỗi trang mà ta truy cập thì đều có một hệ thống lưu trữ dữ liệu và khi ta click vào sẽ hiện ra.

Khái niệm của cơ sở dữ liệu (CSDL) là một hệ thống các thông tin có liên quan mật thiết đến nhau, có cấu trúc được lưu trữ trên các thiết bị lưu trữ nhằm thỏa mãn nhu cầu khai thác thông tin đồng thời của nhiều người dùng hay nhiều chương trình ứng dụng chạy cùng một lúc với những mục đích khác nhau. Những dữ liệu này chứa thông tin của một đối tượng nào đó (trường học, bệnh viện, ngân hàng,…). Chúng được lưu trữ trên bộ nhớ máy tính nhằm đáp ứng nhu cầu khai thác thông tin của nhiều người dùng với các mục đích khác nhau.

Sự khác nhau lớn nhất giữa CSDL với dữ liệu thông thường chính là tính cấu trúc của CSDL, được sắp xếp một cách có hệ thống. Nếu chỉ là dữ liệu thì chúng chỉ là bất kỳ thông tin nào và sẽ không được sắp xếp hay có trật tự gì cả. Việc sử dụng CSDL sẽ giúp chúng ta rất nhiều trong việc khắc phục những điểm yếu của việc lưu dữ liệu dưới dạng truyền thống. Ví dụ như:

  • Giảm tối đa được việc trùng lặp thông tin, đem lại một tính nhất quán và đồng bộ dữ liệu.
  • Cho phép ta truy xuất dữ liệu với nhiều cách khác nhau cũng như từ nhiều người khác nhau và nhiều ứng dụng khác nhau.
  • Tăng khả năng chia sẻ thông tin. Ví dụ như ta ở Mỹ nhưng đặt hệ thống dữ liệu ở Việt Nam thì không sao cả ta chỉ cần đăng nhập vào thì hoàn toàn có thể vào hệ thống để đọc thông tin.

Tuy nhiên có lợi thì phải có hại, việc sử dụng CSDL cũng có một số mặt có thể gọi là khuyết điểm mà ta phải đảm bảo như sau:

  • Tính chất chia sẻ cao vì vậy phải đảm bảo được tính bản quyền của dữ liệu. Nếu để mất bản quyền thì khá là phiền đấy! Từ đây sẽ dẫn đến vấn đề tranh chấp thông tin mà ta cũng cần phải để tâm tới.
  • Bảo mật được quyền khai thác thông tin.
  • Không một thứ gì là hoàn hảo vì vậy đôi lúc nó cũng xảy ra một số lỗi. Dù là khách quan hay chủ quan thì ta phải đảm bảo việc an toàn dữ liệu và không bị mất dữ liệu nhé!

2. Hệ quản trị cơ sở dữ liệu là gì?

Khi sử dụng hệ thống CSDL thì ta cần có một hệ quản trị cơ sở dữ liệu (hệ QTCSDL – DataBase Management System). Hiện nay có rất nhiều hệ quản trị CSDL như MYSQL, SQL SERVER, Oracle, MS Access.Trong loạt bài này ta sẽ tìm hiểu hệ quản trị CSDL MYSQL.

Mysql là một hệ quản trị CSDL được sử dụng rất rộng rãi trên thế giới, đặc biệt là các ứng dụng website và nó thường đi kết hợp với ngôn ngữ lập trình PHP để xây dựng các ứng dụng website. Nó phù hợp với tất cả các ứng dụng lớn và nhỏ. Các hệ thống web ưa chuộng MYSQL là tại vì tốc độ xử lý của nó cao, tính dễ sử dụng và thương thích với các hệ điều hành thông dụng hiện nay như Linix, Window, … Một điều nữa là nó miễn phí để tải xuống và sử dụng. Mysql có sử dụng ngôn ngữ truy vấn T-SQL để thao tác dữ liệu. Thông tin ngày càng nhiều và phức tạp hơn khiến cho việc quản lý và khai thác CSDL gặp nhiều khó khăn. Sự có mặt của hệ quản trị cơ sở dữ liệu (hệ QTCSDL – DataBase Management System) đã giúp việc tạo lập và khai thác thông tin hiệu quả hơn.

Nói cách khác, hệ QTCSDL là phần mềm tương tác với người dùng cuối, sử dụng chính CSDL để thu thập và phân tích. Phần mềm DataBase Management System (DBMS) này bao gồm các tiện ích cốt lõi được sử dụng để quản trị CSDL. CSDL, hệ QTCSDL và các ứng dụng liên quan đến chúng có thể được coi là “hệ thống cơ sở dữ liệu”. Nhờ có hệ quản trị cơ sở dữ liệu, việc truy cập bởi nhiều người dùng trong cùng một lúc trở nên dễ dàng hơn. Điều này khắc phục được nhược điểm của cơ sở dữ liệu là chỉ cho phép một lượng nhỏ người dùng truy cập vào những thời điểm khác nhau.

Các website nổi tiếng như Facebook, Google, Yahoo, Twitter, Youtue đều đang sử dụng MySQL để lưu trữ thông tin. Điều này cho thấy mức độ phổ biến của MySQL như thế nào.

3. Chức năng của hệ quản trị cơ sở dữ liệu

Dữ liệu trong cơ sở dữ liệu MySQL được lưu trữ trong các bảng. Bảng là một tập hợp các dữ liệu có liên quan và nó bao gồm các cột và hàng. Cụ thể một số chức năng của hệ quản trị CSDL:

  • Cung cấp môi trường tạo lập cơ sở dữ liệu: người dùng sẽ được cấp một ngôn ngữ định nghĩa dữ liệu để mô tả, khai báo kiểu dữ liệu và các cấu trúc dữ liệu.
  • Cung cấp môi trường cập nhật và khai thác dữ liệu: một hệ quản trị cơ sở dữ liệu cung cấp cho người dùng ngôn ngữ thao tác dữ liệu để diễn tả các yêu cầu. Thao tác dữ liệu gồm: cập nhật (thêm, sửa, xóa dữ liệu) và khai thác (tìm kiếm, truy xuất dữ liệu).
  • Cung cấp công cụ điều khiển truy cập vào CSDL: Nhằm đảm bảo thực hiện một số yêu cầu cơ bản của hệ cơ sở dữ liệu. Bao gồm các công việc: đảm bảo an ninh, phát hiện và ngăn chặn hành động truy cập bất hợp pháp. Đồng thời duy trì tính nhất quán của dữ liệu, điều khiển và tổ chức các hoạt động truy cập. Đôi khi sẽ khôi phục CSDL khi có sự cố liên quan đến phần cứng hay phần mềm và quản lý chi tiết các mô tả dữ liệu.

4. Những người sẽ làm việc với hệ CSDL

Những người quản trị cơ sở dữ liệu: thực hiện các hoạt động quản lý tài nguyên. Đôi khi là cấp phát quyền truy cập, cấp phần mềm, phần cứng, cài đặt CSDL vật lý và duy trì hoạt động của hệ thống.

Nhân viên lập trình ứng dụng: sẽ xây dựng các chương trình ứng dụng nhằm đáp ứng các nhu cầu khai thác của người dùng.

Người dùng cuối: thường được phân nhóm để truy cập và khai thác các thông tin khác nhau từ CSDL.Nếu bạn không có máy chủ PHP với Cơ sở dữ liệu MySQL, bạn có thể tải xuống miễn phí tại đây: https://www.mysql.com/ Các bạn cũng có thể tìm hiểu về một số công ty sử dụng MYSQL tại : https://www.mysql.com/customers/

5. Cách thức hoạt động của MYSQL

MySQL hoạt động dựa trên mô hình client-server. Máy chủ MySQL là cốt lõi của MySQL, sẽ xử lý toàn bộ các hướng dẫn CSDL hoặc các lệnh. Máy chủ MySQL có sẵn, được xem là một chương trình riêng biệt để có thể sử dụng trong môi trường mạng client-server. Nó còn được xem như một thư viện có thể được liên kết với các ứng dụng riêng biệt.

MySQL sẽ hoạt động song song cùng với một số chương trình tiện ích hỗ trợ MySQL. Các lệnh khi được gửi đến máy chủ MySQL sẽ thông qua máy khách MySQL, được cài đặt trên máy tính.

MySQL lúc đầu được phát triển để có thể xử lý được CSDL lớn một cách nhanh chóng. Mặc dù MySQL chỉ được cài đặt trên một máy, nhưng nó lại có thể gửi CSDL đến nhiều vị trí khác nhau, vì người dùng có thể truy cập bằng các giao diện máy khách MySQL khác nhau. Các giao diện này sẽ gửi các câu lệnh SQL đến server và sau đó hiển thị kết quả.