Database hay còn gọi là dữ liệu nền tảng hay cơ sở dữ liệu (CSDL). Một database là một tập hợp tổ chức các dữ liệu. Đây là bộ sưu tập các lược đồ (Schema), bảng (Tables), truy vấn (Query), báo cáo (Report), và các đối tượng khác.
Database là gì ?
Mỗi ngày, chúng ta gặp gỡ rất nhiều con người, sự vật, sự việc và tiếp cận rất nhiều thông tin thuộc nhiều lĩnh vực trong cuộc sống. Tuy nhiên, chúng ta không cần phải nhớ hết tất cả các thông tin. Từ vô vàn thông tin đó, chúng ta lọc ra những thông tin cần thiết và hữu ích để lưu lại. Đây là data (dữ liệu).
Tuỳ theo từng nhu cầu và mục đích sử dụng, lượng data lưu lại của mỗi người sẽ khác nhau. Hình thức data vô cùng phong phú: chữ viết, con số, kí hiệu, hình ảnh, âm thanh,…
Database là một tập hợp những data (dữ liệu) có liên quan với nhau . Database được duy trì dưới dạng một tập hợp các tập tin trong hệ điều hành hay được lưu trữ trong các hệ quản trị cơ sở dữ liệu.
Những database điển hình là danh sách học sinh trong lớp, bảng chấm công nhân viên, danh sách kiểm kê hàng hoá,…
Đặc điểm của CSDL
Một CSDL là 1 tập hợp DL liên kết với nhau 1 cách logic và mang 1 ý nghĩa nào đó; được thiết kế phổ biến cho 1 mục đích riêng có nhóm người sử dụng.
Có thể hiểu một cách đơn giản hơn, ví dụ với 1 ứng dụng web, sẽ có 3 phần:
1. Phần mã lập trình bởi lập trình viên: Đây là phần giúp website hoạt động theo đúng ý định của người chủ website.
2. Phần dữ liệu đa phương tiện (Media): Là video, Hình ảnh và các file dữ liệu người dùng khác.
3. Phần CSDL: Là nơi lưu trữ toàn bộ phần nội dung text, là các bài viết mà admin của website đăng lên. Ví dụ như lưu thông tin mô tả sản phẩm, lưu nội dung giới thiệu công ty, lưu thông tin đơn hàng…vv
Ở một phạm vi rộng, có thể thấy CSDL hiện diện trong tất cả các lĩnh vực của cuộc sống hàng ngày:
– CSDL lưu trữ danh bạ điện thoại trong smartphone của người dùng.
– CSDL lưu trữ danh sách bạn bè trên facebook.
– CSDL lưu trữ danh sách địa chỉ email trên gmail.
– CSDL lưu trữ email cho người dùng trên gmail, yahoo mail…vv.
– CSDL lưu trữ thêm hàng triệu tin nhắn của người dùng trên facebook, Zalo.
– CSDL lưu trữ lịch sử đặt xe trên các ứng dụng như Grab, Fastgo, Uber…vv
– CSDL hàng ngày giúp lưu trữ thêm hàng trăm ngàn giao dịch gửi/nhận tiền trong ngân hàng.
– CSDL hàng ngày giúp lưu trữ thêm lịch sử hàng tỷ cuộc gọi trên các mạng di động.
…..
CSDL hiện diện ở tất cả các ứng dụng trên nền tảng công nghệ thông tin. Có đến 99.99% các ứng dụng cần tới CSDL. Từ CSDL dạng đơn giản như CSDL dạng file text, dạng file đơn giản như microsoft access, sql lite cho đến các CSDL loại siêu lớn như SQLServer, Oracle, các database dạng No-SQL….
Ảnh chụp cơ sở dữ liệu MySQL hiển thị thông quan công cụ phpMyAdmin trong cPane
Phân loại CSDL:
CSDL dạng file: dữ liệu được lưu trữ dưới dạng các file có thể là text, *.dbf.
CSDL quan hệ: dữ liệu được lưu trữ trong các bảng dữ liệu gọi là các thực thể, giữa các thực thể này có mối liên hệ với nhau gọi là các quan hệ, mỗi quan hệ có các thuộc tính, trong đó có một thuộc tính là khóa chính lưu giá trị duy nhất không bị trùng lặp. Các hệ quản trị hỗ trợ CSDL quan hệ như: MS SQL server, Oracle, MySQL…
CSDL hướng đối tượng: dữ liệu cũng được lưu trữ trong các bảng dữ liệu nhưng các bảng có bổ sung thêm các tính năng hướng đối tượng như lưu trữ thêm các hành vi, nhằm thể hiện hành vi của đối tượng. Mỗi bảng xem như một lớp dữ liệu, một dòng dữ liệu trong bảng là một đối tượng. Các hệ quản trị có hỗ trợ CSDL hướng đối tượng như: MS SQL server, Oracle, Postgres
CSDL bán cấu trúc: dữ liệu được lưu dưới dạng XML, với định dạng này thông tin mô tả về đối tượng thể hiện trong các tag. Đây là CSDL có nhiều ưu điểm do lưu trữ được hầu hết các loại dữ liệu khác nhau nên CSDL bán cấu trúc là hướng mới trong nghiên cứu và ứng dụng.
Có nhiều loại CSDL chạy trên cả 2 nền tảng Linux và Microsoft Window (MySQL-MariaDB, Oracle, Postgres…vv), ngược lại có nhiều database chỉ chạy được trên 1 nền tảng, ví dụ SQLServer chỉ chạy được trên Microsoft Window.