Xin chào mọi người!
Trước tiên, MySQL ở đây không phải là tên một món ăn hay một vật cụ thể 🙂
Chủ đề hôm nay là “MySQL” trong lập trình
MySQL là gì?
- MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở (Relational Database Management System, viết tắt RDBMS)
- Hoạt động theo mô hình client-server. RBBMS là một phần mềm hay dịch vụ dùng để tạo và quản lý các cơ sở dữ liệu (Database) theo hình thức quản lý các mối liên hệ giữa chúng.
- MySQL là một trong số các phần mềm RDBMS. RDBMS và MySQL. Các trang web lớn như Facebook, Twitter, YouTube, Google, và Yahoo! đều dùng MySQL cho mục đích lưu trữ dữ liệu.
Database
- Database là tập hợp dữ liệu theo cùng một cấu trúc. Hình ảnh, video, nhạc mp3 là dữ liệu, thư viện lưu ảnh là “cơ sở dữ liệu”.
- Cơ sở dữ liệu, hay “database”, là nơi chứa và sắp đặt dữ liệu. Dữ liệu được đặt trong một bộ dữ liệu chung, “dataset”, được tổ chức sắp xếp giống như một bảng vậy.
- Mỗi “bảng” này có liên hệ với nhau. Relational (liên hệ) trong RDBMS có ý nghĩa như vậy.
- Nếu phần mềm không hỗ trợ mô hình dữ liệu quan hệ với nhau như vậy thì gọi là “DBMS” không phải “RDBMS”.
Mô hình Client-server
- Máy tính cài đặt và chạy phần mềm RDBMS được gọi là client (máy khách).
- Mỗi khi chúng cần truy cập dữ liệu, chúng kết nối tới máy chủ (server) RDBMS. Cách thức này chính là mô hình “client-server”
MySQL Server
- MySQL Server là máy tính hay một hệ các máy tính cài đặt phần mềm MySQL dành cho server để giúp bạn lưu trữ dữ liệu trên đó, máy khách có thể truy cập vào quản lý.
- Dữ liệu này được đặt trong các bảng, và các bảng có mối liên hệ với nhau.
- MySQL server nhanh, an toàn, đáng tin cậy.
- Phần mềm MySQL miễn phí và được phát triển, phân phối và hỗ trợ bởi Oracle Corporation.
MySQL Client
- MySQL client điển hình là đoạn mã PHP script trên một máy tính hay trên cùng server dùng để kết nối tới cơ sở dữ liệu MySQL database.
- Phpmyadmin cũng là một MySQL client có giao diện người dùng.
- Một số công cụ miễn phí dùng làm MySQL là:
- MySQL Workbench (Mac, Windows, Linux), Miễn phí, mã nguồn mở
- Sequel Pro (Mac), miễn phí, mã nguồn mở
- HeidiSQL (Windows; chạy trên Mac hoặc Linux bằng WINE emulator), miễn phí
- phpMyAdmin (web app), miễn phí, mã nguồn mở
SQL
- MySQL và SQL không giống nhau.
- MySQL là một trong các phần mềm RDBMS, hoạt động theo mô hình client-server.
- Nhưng, làm thế nào client và server liên lạc với nhau trong môi trường của RDBMS? Chúng sử dụng ngôn ngữ truy vấn có cấu trúc chung – Structured Query Language (SQL).
- Nếu bắt gặp một thương hiệu nào đó có SQL kèm theo, như PostgreSQL, Microsoft SQL server, chúng thường là những thương hiệu sử dụng syntax (cú phaps) của SQL.
- Bản thân MySQL được viết bằng C và C++
Lệnh SQL thao tác với server thực hiện hành động:
- Truy vấn dữ liệu – data query: yêu cầu một thông tin cụ thể trong database có sẵn.
- Điều hành dữ liệu – data manipulation: thêm, xóa, sửa, sắp xếp, và các tác vụ điều hành khác để chỉnh sửa dữ liệu, giá trị, và cách hiển thị.
- Loại dữ liệu – data identity: định nghĩa loại dữ liệu, như là đổi từ dữ liệu số thành số nguyên.
- Quyền truy cập data – data access control: cung cấp biện pháp bảo mật để bảo vệ dữ liệu, bao gồm việc quyết định ai có thể xem thông tin dữ liệu nào trong database
- Những lệnh SQL cơ bản và nâng cao trong W3schools: https://www.w3schools.com/sql/default.asp
Điểm mạnh của MySQL nằm ở “Linh hoạt dễ dùng, hiệu năng cao, tiêu chuẩn trong ngành và an toàn”.