Khái niệm
Độc lập dữ liệu trong hệ quản trị cơ sở dữ liệu là một thuộc tính giúp thay đổi lược đồ cơ sở dữ liệu ở một mức mà không cần phải thay đổi lược đồ ở các mức cao hơn. Tính độc lập về dữ liệu giúp tách biệt dữ liệu so với tất cả các chương trình sử dụng tài nguyên dữ liệu.
Trong DBMS có hai loại độc lập dữ liệu:
- Độc lập dữ liệu mức vật lý
- Độc lập dữ liệu mức logic
Các mức của cơ sở dữ liệu
Trước khi chúng ta tìm hiểu độc lập dữ liệu, ta sẽ tìm hiểu các mức trong cơ sở dữ liệu trước. Cơ sở dữ liệu có 3 mức như trong sơ đồ bên dưới:
- Vật lý / Bên trong
- Khái niệm
- Bên ngoài
Hãy cùng xem xét một ví dụ về cơ sở dữ liệu của một trường đại học.
Lược đồ mức bên ngoài | View 1: Thông tin khóa học(IDKH:int,tênKH:string)
View 2: Thông tin sinh viên(ID:int. tênSV:string) |
Lược đồ mức khái niệm | Sinh viên(ID: int, tênSV: string, Đăngnhập: string, Tuổi: integer)
Khóa học(ID: int, tênKH.string, sốTC:integer) Khóa học đăng ký(ID: int, Điểm:string) |
Lược đồ mức bên trong hay mức vật lý | Các mối quan hệ được lưu trữ trong các tệp không có thứ tự. Chỉ mục được đặt trên cột đầu tiên của thực thể Học sinh. |
Độc lập dữ liệu vật lý
Tính độc lập dữ liệu vật lý giúp tách các mức khái niệm khỏi các mức nội bộ hay vật lý. Nó cung cấp mô tả logic về cơ sở dữ liệu mà không cần xác định cấu trúc vật lý. So với tính độc lập logic, thì độc lập dữ liệu vật lý dễ dàng để có thể có được.
Với sự độc lập về vật lý, bạn có thể dễ dàng thay đổi cấu trúc hoặc cá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 tiếp nhận bởi việc ánh xạ giữa mức khái niệm và mức vật lý. Sự độc lập dữ liệu mức vật lý đạt được nhờ sự tồn tại của mức vật lý của cơ sở dữ liệu và sau đó là sự chuyển đổi từ mức khái niệm của cơ sở dữ liệu sang mức vật lý.
Ví dụ về các thay đổi trong độc lập dữ liệu vật lý:
Do tính độc lập về vật lý, bất kỳ thay đổi nào dưới đây cũng 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 các phương thức 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 các chỉ mục.
- Các thay đổi sang các phương pháp nén hoặc phương pháp băm.
- Thay đổi vị trí của 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ơ đồ mức khái niệm mà không làm ảnh hưởng tới các mức khác.
- Các khung nhìn bên ngoài
- 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 tiếp nhận bởi ánh xạ giữa mức bên ngoài và mức khái niệm. So với tính độc lập dữ liệu vật lý, việc đạt được sự độc lập về dữ liệu logic là sẽ khó hơn.
Ví dụ về các thay đổi trong độc lập dữ liệu logic:
Do tính độc lập về logic, bất kỳ thay đổi nào dưới đây sẽ không ảnh hưởng đến mức bên ngoài.
- Có thể thêm, sửa đổi hoặc 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ó.
- Hợp nhất hai bản ghi thành một.
- Tách các bản ghi hiện có thành hai hoặc nhiều bản ghi khác nhau.
Sự khác biệt giữa độc lập dữ liệu logic và vật lý
Độc lập dữ liệu logic | Độc lập dữ liệu vật lý |
Chủ yếu quan tâm đến cấu trúc hoặc thay đổi định nghĩa dữ liệu. | Chủ yếu quan tâm đến việc lưu trữ dữ liệu. |
Khó truy xuất dữ liệu vì chủ yếu phụ thuộc vào cấu trúc logic của dữ liệu. | Dễ dàng truy xuất. |
Rất khó để đạt được độc lập dữ liệu logic. | Dễ dàng đạt được sự độc lập dữ liệu vật lý. |
Cần thực hiện các thay đổi trong lập trình ứng dụng nếu các trường hoặc thuộc tính mới được thêm vào hay xóa khỏi cơ sở dữ liệu. | Sự thay đổi ở mức vật lý thường không cần thay đổi ở mức lập trình ứng dụng. |
Việc sửa đổi ở các mức logic là điều quan trọng khi cấu trúc logic của cơ sở dữ liệu bị thay đổi. | Các sửa đổi được thực hiện ở các mức vật lý có thể cần hoặc không để cải thiện hiệu suất của cấu trúc. |
Quan tâm đến lược đồ khái niệm | Quan tâm đến lược đồ vật lý |
Ví dụ về các thao tác liên quan độc lập dữ liệu logic: Thêm, Sửa đổi, Xóa một thuộc tính mới | Ví dụ về các thao tác liên quan độc lập dữ liệu vật lý: Thay đổi về phương pháp nén, phương pháp băm, thiết bị lưu trữ. |
Ưu điểm của tính độc lập dữ liệu
- Giúp cải thiện chất lượng dữ liệu.
- Bảo trì hệ thống cơ sở dữ liệu.
- 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 phải thay đổi cấu trúc dữ liệu trong lập 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 hơn là quan tâm về việc triển khai mức vật lý.
- Nó cho phép cải thiện trạng thái không bị hư hại hoặc không bị chia cắt.
- Thực hiện các sửa đổi ở mức vật lý mà không ảnh hưởng tới các mức khác để cải thiện hiệu suất của hệ thống.
Tóm tắt
- Độc lập dữ liệu là thuộc tính của DBMS giúp thay đổi lược đồ cơ sở dữ liệu ở một mức của hệ thống cơ sở dữ liệu mà không cần thay đổi lược đồ ở các mức khác.
- Hai mức độc lập dữ liệu là: Vật lý và Logic
P/s: Đến đây là kết thúc của bài, mong mọi người luôn ủng hộ tek4 nhé!