Một số khái niệm cơ bản về cơ sở dữ liệu (Database) dành cho người mới bắt đầu tìm hiểu.
Cơ sở dữ liệu (Database)
là các file lưu trữ dữ liệu theo một cấu trúc nào đó.
Như ta thấy với các file dữ liệu lưu trữ ở NotePad hay Word thì thường mình không nhìn thấy cấu trúc trong đó.
Khi mở file excel với các sheet (bảng tính) và trong sheet có các bảng (Table) ta bắt đầu nhìn thấy cấu trúc của dữ liệu đó gồm các cột và dòng.
Tại mỗi cột thường có một kiểu dữ liệu nào đó như dạng số (VD: doanh thu, số lượng đơn hàng, ..) dạng văn bản (địa chỉ, họ tên,…) dạng ngày tháng ….
Đây là dạng CSDL đơn giản nhất chúng ta có thể quan sát thấy.
Khi dữ liệu lớn hơn hoặc có cấu trúc phức tạp hơn ta bắt đầu lưu trữ dưới các dạng phức tạp hơn và cần một phần mềm chuyên dùng để quản lý.
Với các dữ liệu cần có cấu trúc chặt trẽ ta hay sử dụng cơ sở dữ liệu dạng quan hệ.
Đây là một dạng cấu trúc dữ liệu được sử dụng phổ biến hiện nay để lưu trữ thông tin.
Cơ sở dữ liệu có một tính chất như:
Lưu trữ dữ liệu có tổ chức.
Người dùng truy cập trên máy tính.
Lưu trữ dưới dạng bảng (với dữ liệu có cấu trúc)
Một CSDL có thể bao gồm 1 hoặc nhiều bảng khác nhau.
Các cột trong bảng gọi là các trường dữ liệu.
Hệ quản trị cơ sở dữ liệu (DBMS Database Management System)
là phần mềm quản lý cơ sở dữ liệu như phần mềm Microsoft Excel sẽ khác với file Excel.
DBMS thì sẽ giúp chúng ta quản lý:
Tạo CSDL, cấu trúc các bảng dữ liệu
Cho phép cập nhật dữ liệu (thêm, sửa, xóa) thông qua các câu lệnh. DBMS sẽ giúp ta đưa dữ liệu và các file lưu trữ và quản lý các điều kiện ràng buộc (về kiểu dữ liệu, quan hệ,…)
Người dùng chỉ cần viết yêu cầu truy vấn và hệ quản trị CSDL sẽ tìm cách tổng hợp thông tin
Tạo thủ tục, Hàm theo yêu cầu
Cho phép nhiều người dùng truy cập vào CSDL cùng lúc
Đảm bảo tính phân quyền và bảo mật dữ liệu với người dùng
Ví dụ về sự khác biệt giữa DMBS và RDBMS
Hệ quản trị cơ sở dữ liệu quan hệ (RDBMS Relational Database Management System)
là DBMS chuyên cho dữ liệu quan hệ.
Có các hãng phần mềm cung cấp giải pháp này với các tên RDBMS như:
MySQL Server
Sql Server
Oracle,….
Một số RDBMS thông dụng
Mô hình dữ liệu
là một hình vẽ mô phỏng cho ta nhìn thấy tổng quan về cơ sở dữ liệu đó.
Như ta vào một khu trung tâm thương mại thì có bản vẽ chỉ đường hoặc khi ta xây dựng hoặc nâng cấp tòa nhà thì có bản vẽ thiết kế vậy.
Trong mô hình dữ liệu thường sẽ có các thông tin về:
Các bảng dữ liệu
Các trường dữ liệu và các thông tin của nó (khóa, kiểu dữ liệu, có được để trống hay không,…)
Các mối quan hệ giữa các bảng
Bạn có thể tìm hiểu thêm ở đây: Sơ đồ mối quan hệ thực thể
Ví dụ về mô hình dữ liệu
SQL Ngôn ngữ truy vấn có cấu trúc (Structured Query Language)
là một ngôn ngữ để làm việc với dữ liệu có cấu trúc.
Như trong Excel chúng ta sử dụng các hàm hay ngôn ngữ VBA,
để làm việc với CSDL chúng ta cần dùng một ngôn ngữ để giao tiếp giữa người và máy.
Ngôn ngữ SQL được sử dụng thường xuyên với các CSDL có cấu trúc.
SQL cho phép chúng ta:
Truy vấn SQL theo nhiều cách, sử dụng các câu lệnh bằng tiếng Anh.
Người sử dụng có thể truy cập dữ liệu từ hệ thống quản trị CSDL quan hệ.
Cho phép người dùng mô tả dữ liệu.
Cho phép người dùng định nghĩa dữ liệu trong CSDL và thao tác khi cần.
Cho phép người dùng tạo và xóa CSDL và bảng.
Cho phép người dùng tạo một view, stored procedure, function trong một CSDL.
Cho phép người dùng phân quyền trên tables, procedures, và views.
Trên đây là một số khái niệm cơ bản khi làm việc với CSDL.
Để hiểu chi tiết hơn, các bạn có thể đặt thêm câu hỏi ở phần bình luận để mình trao đổi thêm nhé
Ví dụ về cơ sở dữ liệu ở mức độ cao hơn là kho dữ liệu