Tổng quan về cơ sở dữ liệu

Dữ liệu là gì?

Là các thông tin của đối tượng (người, vật, một khái niệm, sự việc…) được lưu trữ trên máy tính.

Dữ liệu được mô tả dưới nhiều dạng khác nhau (các ký tự, ký số, hình ảnh, ký hiệu, âm thanh…). Mỗi cách mô tả gắn với một ngữ nghĩa nào đó.

Dữ liệu về đối tượng có thể khác nhau, tùy thuộc vào ngữ cảnh. Ví dụ: dữ liệu về đối tượng sinh viên có thể khác nhau tùy vào mục đích quản lý:

  • Quản lý điểm: Tên, mã sinh viên, điểm môn 1, điểm môn 2, điểm môn 3
  • Quản lý nhân thân: Tên, địa chỉ, ngày sinh, quê quán, lớp

Cơ sở dữ liệu (Database)

Cơ sở dữ liệu (CSDL) là tập hợp dữ liệu được tổ chức có cấu trúc liên quan với nhau và được lưu trữ trong máy tính.

CSDL được thiết kế, xây dựng cho phép người dùng lưu trữ dữ liệu, truy xuất thông tin hoặc cập nhật dữ liệu.

CSDL được tổ chức có cấu trúc:

  • Các dữ liệu được lưu trữ có cấu trúc thành các bản ghi (record), các trường dữ liệu (field).
  • Các dữ liệu lưu trữ có mối quan hệ (relation) với nhau

Khả năng truy xuất thông tin từ CSDL: CSDL được cấu trúc để dễ dàng truy cập, quản lý và cập nhật.

tổng quan về cơ sở dữ liệu

Quản lý dữ liệu

Quản lý dữ liệu: là quản lý một số lượng lớn dữ liệu, bao gồm cả việc lưu trữ và cung cấp cơ chế cho phép Thao tác (thêm, sửa, xóa dữ liệu) và Truy vấn dữ liệu.

2 phương pháp quản lý dữ liệu:

  • Hệ thống quản lý bằng file
  • Hệ thống quản lý bằng CSDL

Quản lý dữ liệu bằng file

Dữ liệu được lưu trữ trong các file riêng biệt

Ví dụ: các chương trình lưu trữ thông tin bằng hệ thống các file dạng text

Nhược điểm của việc quản lý bằng file:

  • Dư thừa và mâu thuẫn dữ liệu
  • Kém hiệu quả trong truy xuất ngẫu nhiên hoặc xử lý đồng thời
  • Dữ liệu lưu trữ rời rạc
  • Gặp vấn đề về an toàn và bảo mật

Quản lý dữ liệu bằng CSDL

Quản lý dữ liệu bằng CSDL giúp dữ liệu được lưu trữ một cách hiệu quả và có tổ chức, cho phép quản lý dữ liệu nhanh chóng và hiệu quả

  • Lợi ích của hệ thống quản lý bằng CSDL:
  • Tránh dư thừa, trùng lặp dữ liệu
  • Đảm bảo sự nhất quán trong CSDL
  • Các dữ liệu lưu trữ có thể được chia sẻ
  • Có thể thiết lập các chuẩn trên dữ liệu
  • Duy trì tính toàn vẹn dữ liệu
  • Đảm bảo bảo mật dữ liệu

Các mô hình CSDL

  • Mô hình dữ liệu file phẳng (Flat file)
  • Mô hình dữ liệu mạng (Network model)
  • Mô hình dữ liệu phân cấp (Hierarchical model)
  • Mô hình dữ liệu quan hệ (Relational model)
  • Mô hình dữ liệu hướng đối tượng (Object-Oriented model)

Mô hình dữ liệu file phẳng

  • Mô hình này chỉ dùng cho các CSDL đơn giản
  • CSDL dạng file phẳng thường là file kiểu văn bản chứa dữ liệu dạng bảng
  • Ví dụ: một file phẳng thể hiện thông tin về Customer (Khách hàng) dưới dạng bảng của công ty Northwind Traders
Customer ID Company Name Contact First Name Contact Last Name Job  Title City State
6 Company F Francisco Pérez-Olaeta Purchasing Manager Milwaukee WI
26 Company Z Run Liu Accounting Assistant Miami FL

Mô hình dữ liệu phân cấp

  • Tổ chức theo hình cây, mỗi nút biểu diễn một thực thể dữ liệu.
  • Liên hệ dữ liệu thể hiện trên liên hệ giữa nút cha và nút con. Mỗi nút cha có thể có một hoặc nhiều nút con, nhưng mỗi nút con chỉ có thể có một nút cha.
  • Do đó mô hình phân cấp thể hiện các kiểu quan hệ:
    • 1-1
    • 1-N

tong-quan-csdl-mo-hinh-du-lieu-phan-cap

  • Hạn chế: Một nút con không thể có quá một nút cha -> Không biểu diễn được các quan hệ dữ liệu phức tạp

Mô hình dữ liệu mạng

  • Các file riêng biệt trong hệ thống file phẳng được gọi là các bản ghi . Tập hợp bản ghi cùng kiểu tạo thành một kiểu thực thể dữ liệu.
  • Các kiểu thực thể kết nối với nhau thông qua mối quan hệ cha-con.
  • Mô hình dữ liệu mạng biểu diễn bởi một đồ thị có hướng, và các mũi tên chỉ từ kiểu thực thể cha sang kiểu thực thể con.

tong-quan-csdl-mo-hinh-du-lieu-mang

Ưu điểm:

  • Dễ biểu diễn mô hình
  • Diễn đạt được các liên hệ dữ liệu phức tạp

Nhược điểm:

  • Truy xuất chậm
  • Không thích hợp với các CSDL có quy mô lớn

hình dữ liệu quan hệ

Trong mô hình dữ liệu quan hệ, không có các liên kết vật lý. Dữ liệu được biểu diễn dưới dạng bảng với các hàng và các cột:

  • CSDL là tập hợp các bảng (còn gọi là quan hệ)
  • Mỗi hàng là một bản ghi (record), còn được gọi là bộ (tuple)
  • Mỗi cột là một thuộc tính, còn được gọi là trường (field)

Dữ liệu trong hai bảng liên hệ với nhau thông qua các cột chung.

Có các toán tử để thao tác trên các hàng của bảng.

Ví dụ: mô hình dữ liệu quan hệ trong CSDL Northwind gồm 3 bảng: Customer, Order, Employee

tong-quan-csdl-mo-hinh-du-lieu-quan-he

hình dữ liệu hướng đối tượng

Ra đời vào khoảng đầu năm 90, dựa trên cách tiếp cận của phương pháp lập trình hướng đối tượng.

CSDL bao gồm các đối tượng:

  • Mỗi đối tượng bao gồm các thuộc tính, phương thức (hành vi) của đối tượng.
  • Các đối tượng trao đổi với nhau thông qua các phương thức.
  • Một đối tượng có thể được sinh ra từ việc thừa kế từ đối tượng khác, nạp chồng (hay định nghĩa lại) phương thức của đối tượng khác…

Ví dụ mô hình dữ liệu đối tượng “Customer”

tong-quan-csdl-mo-hinh-du-lieu-huong-doi-tuong

Hệ quản trị CSDL

  • Các mô hình CSDL đề cập đến các hình thức tổ chức lưu trữ và truy cập dữ liệu.
  • Hệ quản trị CSDL (DataBase Management System – DBMS) là các phần mềm giúp tạo các CSDL và cung cấp cơ chế lưu trữ, truy cập theo các mô hình CSDL.

Ví dụ:

  • SQL Server, Microsoft Access, Oracle là các hệ quản trị CSDL điển hình cho mô hình quan hệ.
  • IMS của IBM là hệ quản trị CSDL cho mô hình phân cấp
  • IDMS là hệ quản trị CSDL cho mô hình mạng

Những lợi ích DBMS mang lại:

  • Quản trị các CSDL
  • Cung cấp giao diện truy cập để che dấu các đặc tính phức tạp về mặt cấu trúc tổ chức dữ liệu vật lý
  • Hỗ trợ các ngôn ngữ giao tiếp. Ví dụ:
    • Ngôn ngữ mô tả, định nghĩa dữ liệu – DDL
    • Ngôn ngữ thao tác dữ liệu – DML
    • Ngôn ngữ truy vấn dữ liệu có cấu trúc – SQL
  • Có cơ chế an toàn, bảo mật cao

Hệ quản trị CSDL quan hệ

  • Hệ quản trị CSDL quan hệ (Relational DataBase Management System = RDBMS)
  • RDMBS là một dạng DBMS được sử dụng phổ biến nhất, trong đó tất cả dữ liệu được tổ chức chặt chẽ dưới dạng các bảng dữ liệu.
  • Tất cả các thao tác trên CSDL đều diễn ra trên các bảng.
  • Minh họa hệ quản trị CSDL quan hệ

he-quan-tri-csdl-quan-he

Người dùng liên quan đến RDBMS

Rất nhiều người dùng tham gia vào hệ thống RDBMS:

  •  Người quản trị CSDL (DataBase Administrator)
  •  Người thiết kế CSDL (DataBase Designer)
  •  Người phân tích hệ thống (System Analyst)
  • Người lập trình ứng dụng (Application Programmer)
  •  Người thiết kế và triển khai CSDL (DBMS Designer and Implementer)
  •  Người dùng cuối (End User)

Tại sao lại tập trung vào CSDL quan hệ?

  • Dễ dàng định nghĩa, duy trì và thao tác dữ liệu lưu trữ
  • Dễ dàng trích xuất dữ liệu
  • Dữ liệu được chuẩn hóa và được bảo vệ tốt
  • Nhiều nhà cung cấp cung cấp phần mềm
  • Dễ dàng chuyển đổi giữa nhà cung cấp và nhà triển khai
  • RDBMS là các sản phẩm trưởng thành và ổn định

Nhận xét