Cơ sở dữ liệu quan hệ

Khái niệm về cơ sở dữ liệu

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

    Trong lĩnh vực Công nghệ thông tin, cơ sở dữ liệu là một tập hợp có cấu trúc các dữ liệu liên quan đến nhau, được lưu trữ dưới dạng điện tử, nhằm phục vụ cho việc truy xuất, quản lý và xử lý thông tin một cách hiệu quả. Dữ liệu trong cơ sở dữ liệu thường được tổ chức theo các mô hình xác định, điển hình như mô hình quan hệ.

    Một số ví dụ về cơ sở dữ liệu

    • Cơ sở dữ liệu dân cư: Lưu trữ thông tin cá nhân của công dân như họ tên, ngày sinh, địa chỉ, số CCCD.
    • Cơ sở dữ liệu ngân hàng: Quản lý tài khoản khách hàng, giao dịch, lịch sử tín dụng.
    • Cơ sở dữ liệu bản đồ: Lưu trữ dữ liệu không gian cho quy hoạch đô thị, tài nguyên thiên nhiên, giao thông.
    • Cơ sở dữ liệu y tế: Quản lý hồ sơ bệnh án điện tử, kết quả khám chữa bệnh.
    • Cơ sở dữ liệu giáo dục: Theo dõi học sinh, sinh viên, kết quả học tập, khóa học.
  2. Vai trò của cơ sở dữ liệu

    Cơ sở dữ liệu đóng vai trò trung tâm trong hầu hết các hệ thống thông tin hiện đại, bao gồm:

    • Lưu trữ dữ liệu lâu dài, có tổ chức và có khả năng mở rộng.
    • Hỗ trợ truy xuất, tìm kiếm và cập nhật thông tin một cách nhanh chóng.
    • Đảm bảo tính toàn vẹn, bảo mật và an toàn của dữ liệu.
    • Hỗ trợ phân tích dữ liệu, thống kê, báo cáo và ra quyết định.
    • Hỗ trợ tích hợp hệ thống, làm nền tảng để xây dựng hệ thống thông tin như ERP, CRM, MIS, v.v.
    • Cung cấp dữ liệu đầu vào cho các hệ thống trí tuệ nhân tạo (AI) và học máy (Machine Learning).
  3. Đặc điểm của cơ sở dữ liệu

    • Tính có cấu trúc: Dữ liệu được sắp xếp khoa học, dễ tổ chức và tìm kiếm.
    • Tính linh hoạt: Dễ dàng điều chỉnh cấu trúc hoặc mở rộng chức năng.
    • Khả năng mở rộng: Thích ứng với sự tăng trưởng của hệ thống.
    • Tính toàn vẹn: Đảm bảo thông tin lưu trữ là chính xác, hợp lệ.
    • Tính nhất quán: Tránh xung đột dữ liệu trong môi trường đa người dùng.
    • Truy xuất nhanh: Tiết kiệm thời gian, tối ưu hiệu suất của hệ thống.
    • Quản lý giao dịch: Đảm bảo dữ liệu không bị sai lệch khi xảy ra lỗi trong quá trình giao dịch.
    • Đa người dùng: Tăng hiệu quả làm việc trong hệ thống lớn.
    • Tính bảo mật: Phân quyền truy cập rõ ràng, bảo vệ dữ liệu nhạy cảm.
    • Sao lưu & phục hồi: Đảm bảo an toàn khi hệ thống gặp sự cố.
  4. Các phương pháp tổ chức dữ liệu

    1. Tổ chức dữ liệu theo tập tin

      Đây là hình thức lưu trữ đơn giản, phổ biến trước khi các hệ quản trị cơ sở dữ liệu (DBMS) ra đời.

      1. Đặc điểm

        • Phụ thuộc giữa ứng dụng và dữ liệu.
        • Dễ xảy ra tranh chấp khi có nhiều ứng dụng cùng truy cập.
        • Thiếu sự nhất quán, ví dụ cùng là Tỉnh/Thành phố nhưng nơi ghi là “Hà Nội”, nơi ghi là “Thành phố Hà Nội”.
        • Thừa hoặc trùng lặp dữ liệu.
        • Dữ liệu phân tán ở nhiều tập tin hoặc định dạng dẫn đến việc truy vấn, bổ sung, cập nhật dữ liệu khó khăn.
        • Tính an toàn, bảo mật thấp.
      2. Phương pháp tổ chức

        • Tuần tự (Sequential): Dữ liệu được lưu trữ liên tiếp nhau, phù hợp truy cập tuần tự.
        • Chỉ mục (Indexed): Dữ liệu đi kèm với chỉ số để tăng tốc truy xuất.
        • Băm (Hashed): Dùng hàm băm để định vị nhanh bản ghi.
        • Cấu trúc cây (Tree-based, ví dụ: B+-tree): Dễ cân bằng, tối ưu tìm kiếm.
    2. Tổ chức dữ liệu trong cơ sở dữ liệu

      1. Đặc điểm

        • Đơn giản và thực hiện dễ dàng mặc dù vẫn xảy ra tình trạng trùng lặp dữ liệu.
        • Độc lập giữa ứng dụng và cơ sở dữ liệu – Cơ sở dữ liệu thay đổi nhưng không ảnh hưởng tới ứng dụng.
        • Tăng tính nhất quán và giảm thiểu trùng lặp dữ liệu từ đó giảm thiểu sai sót.
        • Nâng cao chất lượng của dữ liệu.
        • Dễ dàng truy cập và chia sẻ dữ liệu.
        • Đơn giản hóa công việc và rút ngắn thời gian phát triển cũng như triển khai ứng dụng.
        • Dễ dàng thiết lập và thực thi các cơ chế phân quyền,bảo mật hệ thống.
        • Vận hành, bảo trì và nâng cấp hệ thống dễ dàng.
      2. Phương pháp tổ chức

        • Cơ sở dữ liệu quan hệ (Relational): Dữ liệu tổ chức theo bảng, đây là phương pháp được dùng phổ biến nhất.
        • Cơ sở dữ liệu hướng đối tượng: Dữ liệu lưu dưới dạng đối tượng.
        • Cơ sở dữ liệu phân tán: Dữ liệu phân bố ở nhiều nơi nhưng hoạt động như một thể thống nhất.
        • Cơ sở dữ liệu bán cấu trúc: Dữ liệu có cấu trúc linh hoạt như XML, JSON.
        • Cơ sở dữ liệu NoSQL: Dữ liệu không theo mô hình bảng, phù hợp Big Data (Document, Key-Value, Graph).
      3. Khi kích thước dữ liệu tăng, hiệu suất hệ thống có thể bị ảnh hưởng nếu không có biện pháp tối ưu truy vấn, lập chỉ mục hoặc phân vùng dữ liệu phù hợp.