Cơ sở dữ liệu Database
Cơ sở dữ liệu (database) là một tập hợp của dữ liệu được tổ chức sao cho dễ dàng truy cập cũng như cập nhật. Một cơ sở dữ liệu được tổ chức thành các bảng, các bảng lưu trữ thông tin theo cấu trúc của nó.
Ví dụ bạn tạo ra trang web kiểu như Youtube, trong đó hẳn nó chứa nhiều loại thông tin như các video, tên người dùng, password, bình luận ... Nếu vậy bạn có thể xây dựng một CSDL gồm các bảng như bang1
lưu trữ thông tin về người dùng, bang2
lưu trữ các video, bang3
lưu trữ các bình luận ...
Bảng cơ sơ sử liệu - Database table
Một bảng nó lưu trữ và hiện thị thông tin với cấu trúc gồm có các cột
và các hàng
, rất giống với bảng tính Excel.
Cơ sở dữ liệu sẽ có nhiều bảng, mỗi bảng được thiết kế với mục đích lưu trữ một loại thông tin nhất định. Tưởng tượng, bạn cần tạo ra một bảng CSDL chứa tên và số điện thoại người dùng. Đầu tiên, cần có cột với tên cột là FirstName
, tiếp theo là cột LastName
, TelephoneNumber
, bảng có một tập hợp số trường riêng, dựa trên số dữ liệu sẽ được lưu.
Ví dụ:
FirstName | LastName | TelephoneNumber |
---|---|---|
Minh | Nguyen Van | 8468645655 |
Long | Vu | 486456145656 |
Linh | Tran Van | 415614564156 |
Khóa chính Primary Key
Trong bảng, trường nào (cột) được đặt là khóa chính primary key
thì trường đó là duy nhất cho từng dữ liệu theo dòng (mỗi dòng gọi là một record
).
Khóa chính Primary Key có các đặc tính sau:
- Là duy nhất cho mỗi cột, dòng khác nhau thì giá trị này khác nhau
- Không được nhận giá trị rỗng NULL
- Mỗi bảng chí có một trường được thiết lập là khóa chính
Ví dụ bảng trên thêm trường ID
là khóa chính, thì bảng có dạng:
ID | FirstName | LastName | TelephoneNumber |
---|---|---|---|
1 | Minh | Nguyen Van | 8468645655 |
2 | Long | Vu | 486456145656 |
3 | Linh | Tran Van | 415614564156 |
Cơ sở dữ liệu thực hành mẫu
Các bài học sẽ thực hành trên một CSDL mẫu, gồm các bảng đơn giản - dữ liệu hóa quản lý bán hàng của một cửa hàng đơn giản. Cấu trúc dữ liệu gồm các bảng quan hệ như hình dưới, bạn có thể tải về tại:
- Dữ liệu mẫu SQLite: db.sqlite
- Dữ liệu mẫu MS Access: db.accdb
- Dữ liệu mẫu (chứa script) cho MySQL: script_create_db_mysql.sq
- Dữ liệu mẫu (chứa script) cho MS SQL Server: script_create_db_sqlserver.sq
SQL là gì?
SQL viết tắt của từ Structured Query Language (ngôn ngữ truy vấn có cấu trúc). Ngôn ngữ SQL được dùng để tương tác với cơ sở dữ liệu, từ truy vấn lấy thông tin, đến cập nhật (thêm mới, cập nhật thông tin mới, xóa ...).
Với SQL bạn có thể:
- chèn, cập nhật, xóa các dòng dữ liệu
- tạo ra cơ sở dữ liệu mới
- lấy thông tin CSDL ...
Ngôn ngữ SQL là một tiêu chuẩn ANSI (American National Standards Institute), có một số sự khác nhau nhỏ cho từng phiên bản của ngôn ngữ này.
Hầu hết các hệ quản trị CSDL quan hệ hiện nay đều hỗ trợ các lệnh chính của SQL
Chương trình cơ sở dữ liệu, hệ quản trị CSDL
Các cơ sở dữ liệu được quản lý, vận hành bởi các chương trình về cơ sở dữ liệu (hệ quản trị CSDL), có rất nhiều loại chương trình mà bạn lựa chọn cho phù hợp với mục đích ứng dụng của bạn, có thể kể ra như:
Oracle RDBMS
thiết kế cho doanh nghiệp, dữ liệu phức tạp và lớnMicrosoft SQL Server
hệ quản trị rất tốt, nhanh của MicrosoftIBM DB2
Teradata
MySQL
phù hợp với các ứng dụng vừa và nhỏ, có phiên bản miễn phíPostgreSQL
Microsoft Access
hệ CSDL đi cùng bộ MS OfficeMariaDB
giống MySQL, nguồn mở, miễn phíSQLite
dữ liệu nhỏ, mọi thứ đã có sẵn trong file CDSL (kèm SQL database engine)
Mức độ phổ biến của các hệ quản trị cơ sở dữ liệu
Như vậy bạn cần chọn ứng dụng website (destop ...) của mình dùng CSDL nào. Hiện nay với website phổ biến là MySQL
, Microsoft SQL Server
, MariaDB
...
Chọn cái nào thì cần đảm bảo hệ thống của bạn đã cài đặt hệ quản trị đó, ví dụ muốn làm việc với MySQL thì cần cài đặt MySQL server ...
Khi đã chọn được hệ quản trị CSDL, để tương tác với nó bạn sẽ dùng các lệnh SQL
.
Thi hành lệnh SQL
bạn có thể nhập và chạy lệnh SQL
từ trình quản lý CSDL mà hệ quản trị đó cung cấp, hoặc tùy thuộc vào ngôn ngữ lập trình bạn viết code để chạy các lệnh SQL
Ví dụ:
mysql console : giao diện làm việc với MySQL từ dòng lệnh
Giao diện công cụ Mysql Workbench bạn cần cài thêm, để quản lý MySQL và nhập chạy các lệnh SQL
Microsft Access cũng có giao diện cho phép nhập các lệnh SQL trực tiếp bên cạnh cách xây dựng lệnh SQL bằng các công cụ trực quan
Với Microsoft SqlServer thì công cụ quản lý có tên Microsoft SqlServer Management Studio rất mạnh, trực quan, bạn có thể nhập lệnh SQL và chạy trên công cụ này
Với SQLite có nhiều công cụ cài thêm để tương tác trực tiếp, ví dụ như SQLite Administrator
Các công cụ trên để bản quản lý các CSDL một cách trực tiếp thi hành các lệnh SQL
, ngoài ra phần chính là tương tác với CSDL từ mã lập trình, thì bạn cần kết nối từ mã của bạn, việc này tùy thuộc vào từng ngôn ngữ lập trình như PHP, C# ...