Độc lập dữ liệu trong DBMS: Vật lý & logic với các ví dụ

Độc lập dữ liệu của DBMS là gì?

Độc lập dữ liệu được định nghĩa là một thuộc tính của DBMS giúp bạn thay đổi lược đồ cơ sở dữ liệu ở một cấp độ của hệ thống cơ sở dữ liệu mà không yêu cầu thay đổi lược đồ ở cấp độ cao hơn tiếp theo. Tính độc lập của dữ liệu giúp bạn tách biệt dữ liệu khỏi tất cả các chương trình sử dụng dữ liệu đó.

Bạn có thể sử dụng dữ liệu được lưu trữ này để tính toán và trình bày. Trong nhiều hệ thống, tính độc lập của dữ liệu là một chức năng thiết yếu đối với các thành phần của hệ thống.

Các loại độc lập dữ liệu

In DBMS có hai loại độc lập dữ liệu

  1. Độc lập dữ liệu vật lý
  2. Độc lập dữ liệu logic

Cấp độ cơ sở dữ liệu

Trước khi chúng ta tìm hiểu về Độc lập dữ liệu, việc ôn lại các Cấp cơ sở dữ liệu là rất quan trọng. Cơ sở dữ liệu có 3 cấp độ như trong sơ đồ bên dưới

  1. Vật lý/Nội bộ
  2. Khái niệm
  3. Bên ngoài
Cấp độ cơ sở dữ liệu
Các cấp độ của DBMS Archisơ đồ kiến ​​trúc

Hãy xem xét một ví dụ về cơ sở dữ liệu trường đại học. Ở các cấp độ khác nhau, đây là cách triển khai:

Loại lược đồ Thực hiện
Lược đồ bên ngoài

Xem 1: Thông tin khóa học(cid:int,cname:string)

Xem 2: studeninfo(id:int. name:string)

Shema khái niệm
Students(id: int, name: string, login: string, age: integer) 
Courses(id: int, cname:string, credits:integer) 
Enrolled(id: int, grade:string)
Lược đồ vật lý
  • Mối quan hệ được lưu trữ dưới dạng tập tin không có thứ tự.
  • Chỉ mục trên cột đầu tiên của Sinh viên.

Độc lập dữ liệu vật lý

Tính độc lập của dữ liệu vật lý giúp bạn tách biệt các cấp độ khái niệm khỏi cấp độ bên trong/vật lý. Nó cho phép bạn cung cấp mô tả logic về cơ sở dữ liệu mà không cần chỉ định cấu trúc vật lý. So với Độc lập logic, có thể dễ dàng đạt được tính độc lập về dữ liệu vật lý.

Với tính độc lập về mặt vật lý, bạn có thể dễ dàng thay đổi cấu trúc hoặc thiết bị lưu trữ vật lý có ảnh hưởng đến lược đồ khái niệm. Bất kỳ thay đổi nào được thực hiện sẽ được hấp thụ bởi sự ánh xạ giữa cấp độ khái niệm và cấp độ bên trong. Tính độc lập của dữ liệu vật lý đạt được nhờ sự hiện diện của cấp độ nội bộ của cơ sở dữ liệu và sau đó là sự chuyển đổi từ cấp độ khái niệm của cơ sở dữ liệu sang cấp độ nội bộ.

Ví dụ về các thay đổi trong Độc lập dữ liệu vật lý

Do tính độc lập về mặt vật lý, bất kỳ thay đổi nào dưới đây sẽ không ảnh hưởng đến lớp khái niệm.

  • Sử dụng thiết bị lưu trữ mới như Ổ cứng hoặc Băng từ
  • Sửa đổi kỹ thuật tổ chức tệp trong Cơ sở dữ liệu
  • Chuyển sang các cấu trúc dữ liệu khác nhau.
  • Thay đổi phương thức truy cập.
  • Sửa đổi chỉ mục.
  • Thay đổi kỹ thuật nén hoặc thuật toán băm.
  • Thay đổi vị trí cơ sở dữ liệu từ ổ C sang ổ D

Độc lập dữ liệu logic

Độc lập dữ liệu logic là khả năng thay đổi sơ đồ khái niệm mà không thay đổi

  1. Quan điểm bên ngoài
  2. API hoặc chương trình bên ngoài

Bất kỳ thay đổi nào được thực hiện sẽ được hấp thụ bởi sự ánh xạ giữa các cấp độ bên ngoài và cấp độ khái niệm.

Khi so sánh với tính độc lập của Dữ liệu Vật lý, việc đạt được tính độc lập về dữ liệu logic là một thách thức.

Ví dụ về các thay đổi trong Độc lập dữ liệu logic

Do tính độc lập về mặt logic, bất kỳ thay đổi nào dưới đây sẽ không ảnh hưởng đến lớp bên ngoài.

  1. Có thể thêm/sửa đổi/xóa một thuộc tính, thực thể hoặc mối quan hệ mới mà không cần viết lại các chương trình ứng dụng hiện có
  2. Hợp nhất hai bản ghi thành một
  3. Chia một bản ghi hiện có thành hai hoặc nhiều bản ghi

Sự khác biệt giữa độc lập dữ liệu vật lý và logic

Độc lập dữ liệu Logic Độc lập dữ liệu vật lý
Độc lập dữ liệu logic chủ yếu liên quan đến cấu trúc hoặc thay đổi định nghĩa dữ liệu. Chủ yếu liên quan đến việc lưu trữ dữ liệu.
Điều này khó khăn vì việc truy xuất dữ liệu chủ yếu phụ thuộc vào cấu trúc logic của dữ liệu. Thật dễ dàng để lấy lại.
So với tính độc lập logic về mặt vật lý thì rất khó để đạt được tính độc lập dữ liệu logic. So với Độc lập logic, việc đạt được sự độc lập về dữ liệu vật lý rất dễ dàng.
Bạn cần thực hiện các thay đổi trong chương trình Ứng dụng nếu các trường mới được thêm hoặc xóa khỏi cơ sở dữ liệu. Sự thay đổi ở cấp độ vật lý thường không cần thay đổi ở cấp độ chương trình Ứng dụng.
Việc sửa đổi ở mức logic là rất quan trọng bất cứ khi nào cấu trúc logic của cơ sở dữ liệu bị thay đổi. Những sửa đổi được thực hiện ở cấp độ nội bộ có thể cần hoặc không cần thiết để cải thiện hiệu suất của cấu trúc.
Liên quan đến lược đồ khái niệm Quan tâm đến lược đồ nội bộ
Ví dụ: Thêm/Sửa đổi/Xóa thuộc tính mới Ví dụ: thay đổi kỹ thuật nén, thuật toán băm, thiết bị lưu trữ, v.v.

Tầm quan trọng của tính độc lập dữ liệu

  • Giúp bạn cải thiện chất lượng dữ liệu
  • Bảo trì hệ thống cơ sở dữ liệu trở nên hợp lý
  • Thực thi các tiêu chuẩn và cải thiện bảo mật cơ sở dữ liệu
  • Bạn không cần thay đổi cấu trúc dữ liệu trong các chương trình ứng dụng
  • Cho phép các nhà phát triển tập trung vào cấu trúc chung của Cơ sở dữ liệu thay vì lo lắng về việc triển khai nội bộ
  • Nó cho phép bạn cải thiện trạng thái không bị hư hại hoặc không bị phân chia
  • Sự không nhất quán của cơ sở dữ liệu được giảm đi rất nhiều.
  • Dễ dàng thực hiện các sửa đổi ở cấp độ vật lý là cần thiết để cải thiện hiệu suất của hệ thống.

Tổng kết

  • Độc lập dữ liệu là thuộc tính của DBMS giúp bạn thay đổi Lược đồ cơ sở dữ liệu ở một cấp độ của hệ thống cơ sở dữ liệu mà không yêu cầu thay đổi lược đồ ở cấp độ cao hơn tiếp theo.
  • Hai mức độ độc lập dữ liệu là 1) Vật lý và 2) Logic
  • Tính độc lập của dữ liệu vật lý giúp bạn tách biệt các cấp độ khái niệm khỏi cấp độ bên trong/vật lý
  • Độc lập dữ liệu logic là khả năng thay đổi sơ đồ khái niệm mà không thay đổi
  • Khi so sánh với tính độc lập của dữ liệu vật lý, việc đạt được tính độc lập của dữ liệu logic là một thách thức
  • Độc lập dữ liệu Giúp bạn cải thiện chất lượng dữ liệu