tek4

Độc lập dữ liệu trong hệ quản trị cơ sở dữ liệu – Data Independence

by - September. 19, 2021
Kiến thức
Học
<h1>Kh&aacute;i niệm</h1> <p>Độc lập dữ liệu trong hệ quản trị cơ sở dữ liệu l&agrave; một thuộc t&iacute;nh gi&uacute;p thay đổi lược đồ cơ sở dữ liệu ở một mức m&agrave; kh&ocirc;ng cần phải thay đổi lược đồ ở c&aacute;c mức cao hơn. T&iacute;nh độc lập về dữ liệu gi&uacute;p t&aacute;ch biệt dữ liệu so với tất cả c&aacute;c chương tr&igrave;nh sử dụng t&agrave;i nguy&ecirc;n dữ liệu.</p> <p>Trong DBMS c&oacute; hai loại độc lập dữ liệu:</p> <ol> <li>Độc lập dữ liệu mức vật l&yacute;</li> <li>Độc lập dữ liệu mức logic</li> </ol> <h1>C&aacute;c mức của cơ sở dữ liệu</h1> <p>Trước khi ch&uacute;ng ta t&igrave;m hiểu độc lập dữ liệu, ta sẽ t&igrave;m hiểu c&aacute;c mức trong cơ sở dữ liệu trước. Cơ sở dữ liệu c&oacute; 3 mức như trong sơ đồ b&ecirc;n dưới:</p> <ol> <li>Vật l&yacute; / B&ecirc;n trong</li> <li>Kh&aacute;i niệm</li> <li>B&ecirc;n ngo&agrave;i</li> </ol> <p><img style="width: 100%;" src="../../../public_files/a1897dc7-532a-4fa4-990e-be096f5e04c9" alt="post-doc-lap-du-lieu-trong-he-quan-tri-co-so-du-lieu-1" /></p> <p>H&atilde;y c&ugrave;ng xem x&eacute;t một v&iacute; dụ về cơ sở dữ liệu của một trường đại học.</p> <table style="border-collapse: collapse; width: 100%;" border="1"> <tbody> <tr> <td style="width: 50%;" width="312">Lược đồ mức b&ecirc;n ngo&agrave;i</td> <td style="width: 48.4743%;">View 1: Th&ocirc;ng tin kh&oacute;a học(IDKH:int,t&ecirc;nKH:string) <p>View 2: Th&ocirc;ng tin sinh vi&ecirc;n(ID:int. t&ecirc;nSV:string)</p> </td> </tr> <tr> <td style="width: 50%;">Lược đồ mức kh&aacute;i niệm</td> <td style="width: 48.4743%;">Sinh vi&ecirc;n(ID: int, t&ecirc;nSV: string, Đăngnhập: string, Tuổi: integer) <p>Kh&oacute;a học(ID: int, t&ecirc;nKH.string, sốTC:integer)</p> <p>Kh&oacute;a học đăng k&yacute;(ID: int, Điểm:string)</p> </td> </tr> <tr> <td style="width: 50%;">Lược đồ mức b&ecirc;n trong hay mức vật l&yacute;</td> <td style="width: 48.4743%;">C&aacute;c mối quan hệ được lưu trữ trong c&aacute;c tệp kh&ocirc;ng c&oacute; thứ tự. Chỉ mục được đặt tr&ecirc;n cột đầu ti&ecirc;n của thực thể Học sinh.</td> </tr> </tbody> </table> <h2>Độc lập dữ liệu vật l&yacute;</h2> <p>T&iacute;nh độc lập dữ liệu vật l&yacute; gi&uacute;p t&aacute;ch c&aacute;c mức kh&aacute;i niệm khỏi c&aacute;c mức nội bộ hay vật l&yacute;. N&oacute; cung cấp m&ocirc; tả logic về cơ sở dữ liệu m&agrave; kh&ocirc;ng cần x&aacute;c định cấu tr&uacute;c vật l&yacute;. So với t&iacute;nh độc lập logic, th&igrave; độc lập dữ liệu vật l&yacute; dễ d&agrave;ng để c&oacute; thể c&oacute; được.</p> <p>Với sự độc lập về vật l&yacute;, bạn c&oacute; thể dễ d&agrave;ng thay đổi cấu tr&uacute;c hoặc c&aacute;c thiết bị lưu trữ vật l&yacute; c&oacute; ảnh hưởng đến lược đồ kh&aacute;i niệm. Bất kỳ thay đổi n&agrave;o được thực hiện sẽ được tiếp nhận bởi việc &aacute;nh xạ giữa mức kh&aacute;i niệm v&agrave; mức vật l&yacute;. Sự độc lập dữ liệu mức vật l&yacute; đạt được nhờ sự tồn tại của mức vật l&yacute; của cơ sở dữ liệu v&agrave; sau đ&oacute; l&agrave; sự chuyển đổi từ mức kh&aacute;i niệm của cơ sở dữ liệu sang mức vật l&yacute;.</p> <p>V&iacute; dụ về c&aacute;c thay đổi trong độc lập dữ liệu vật l&yacute;:</p> <p>Do t&iacute;nh độc lập về vật l&yacute;, bất kỳ thay đổi n&agrave;o dưới đ&acirc;y cũng sẽ kh&ocirc;ng ảnh hưởng đến lớp kh&aacute;i niệm.</p> <ul> <li>Sử dụng thiết bị lưu trữ mới như ổ cứng hoặc băng từ.</li> <li>Sửa đổi c&aacute;c phương thức tổ chức tệp trong cơ sở dữ liệu.</li> <li>Chuyển sang c&aacute;c cấu tr&uacute;c dữ liệu kh&aacute;c nhau.</li> <li>Thay đổi phương thức truy cập.</li> <li>Sửa đổi c&aacute;c chỉ mục.</li> <li>C&aacute;c thay đổi sang c&aacute;c phương ph&aacute;p n&eacute;n hoặc phương ph&aacute;p băm.</li> <li>Thay đổi vị tr&iacute; của cơ sở dữ liệu từ ổ C sang ổ D.</li> </ul> <h2>Độc lập dữ liệu logic</h2> <p>Độc lập dữ liệu logic l&agrave; khả năng thay đổi sơ đồ mức kh&aacute;i niệm m&agrave; kh&ocirc;ng l&agrave;m ảnh hưởng tới c&aacute;c mức kh&aacute;c.</p> <ul> <li>C&aacute;c khung nh&igrave;n b&ecirc;n ngo&agrave;i</li> <li>API hoặc chương tr&igrave;nh b&ecirc;n ngo&agrave;i</li> </ul> <p>Bất kỳ thay đổi n&agrave;o được thực hiện sẽ được tiếp nhận bởi &aacute;nh xạ giữa mức b&ecirc;n ngo&agrave;i v&agrave; mức kh&aacute;i niệm. So với t&iacute;nh độc lập dữ liệu vật l&yacute;, việc đạt được sự độc lập về dữ liệu logic l&agrave; sẽ kh&oacute; hơn.</p> <p>V&iacute; dụ về c&aacute;c thay đổi trong độc lập dữ liệu logic:</p> <p>Do t&iacute;nh độc lập về logic, bất kỳ thay đổi n&agrave;o dưới đ&acirc;y sẽ kh&ocirc;ng ảnh hưởng đến mức b&ecirc;n ngo&agrave;i.</p> <ul> <li>C&oacute; thể th&ecirc;m, sửa đổi hoặc x&oacute;a một thuộc t&iacute;nh, thực thể hoặc mối quan hệ mới m&agrave; kh&ocirc;ng cần viết lại c&aacute;c chương tr&igrave;nh ứng dụng hiện c&oacute;.</li> <li>Hợp nhất hai bản ghi th&agrave;nh một.</li> <li>T&aacute;ch c&aacute;c bản ghi hiện c&oacute; th&agrave;nh hai hoặc nhiều bản ghi kh&aacute;c nhau.</li> </ul> <h1>Sự kh&aacute;c biệt giữa độc lập dữ liệu logic v&agrave; vật l&yacute;</h1> <p><img style="width: 100%;" src="../../../public_files/8159f673-dd67-4f76-bb80-0440f4331a86" alt="post-doc-lap-du-lieu-trong-he-quan-tri-co-so-du-lieu-2" /></p> <table style="border-collapse: collapse; width: 100%;" border="1"> <tbody> <tr> <td style="width: 48.4743%;" width="312">Độc lập dữ liệu logic</td> <td style="width: 48.4743%;" width="312">Độc lập dữ liệu vật l&yacute;</td> </tr> <tr> <td style="width: 48.4743%;" width="312">Chủ yếu quan t&acirc;m đến cấu tr&uacute;c hoặc thay đổi định nghĩa dữ liệu.</td> <td style="width: 48.4743%;" width="312">Chủ yếu quan t&acirc;m đến việc lưu trữ dữ liệu.</td> </tr> <tr> <td style="width: 48.4743%;" width="312">Kh&oacute; truy xuất dữ liệu v&igrave; chủ yếu phụ thuộc v&agrave;o cấu tr&uacute;c logic của dữ liệu.</td> <td style="width: 48.4743%;" width="312">Dễ d&agrave;ng truy xuất.</td> </tr> <tr> <td style="width: 48.4743%;" width="312">Rất kh&oacute; để đạt được độc lập dữ liệu logic.</td> <td style="width: 48.4743%;" width="312">Dễ d&agrave;ng đạt được sự độc lập dữ liệu vật l&yacute;.</td> </tr> <tr> <td style="width: 48.4743%;" width="312">Cần thực hiện c&aacute;c thay đổi trong lập tr&igrave;nh ứng dụng nếu c&aacute;c trường hoặc thuộc t&iacute;nh mới được th&ecirc;m v&agrave;o hay x&oacute;a khỏi cơ sở dữ liệu.</td> <td style="width: 48.4743%;" width="312">Sự thay đổi ở mức vật l&yacute; thường kh&ocirc;ng cần thay đổi ở mức lập tr&igrave;nh ứng dụng.</td> </tr> <tr> <td style="width: 48.4743%;" width="312">Việc sửa đổi ở c&aacute;c mức logic l&agrave; điều quan trọng khi cấu tr&uacute;c logic của cơ sở dữ liệu bị thay đổi.</td> <td style="width: 48.4743%;" width="312">C&aacute;c sửa đổi được thực hiện ở c&aacute;c mức vật l&yacute; c&oacute; thể cần hoặc kh&ocirc;ng để cải thiện hiệu suất của cấu tr&uacute;c.</td> </tr> <tr> <td style="width: 48.4743%;" width="312">Quan t&acirc;m đến lược đồ kh&aacute;i niệm</td> <td style="width: 48.4743%;" width="312">Quan t&acirc;m đến lược đồ vật l&yacute;</td> </tr> <tr> <td style="width: 48.4743%;" width="312">V&iacute; dụ về c&aacute;c thao t&aacute;c li&ecirc;n quan độc lập dữ liệu logic: Th&ecirc;m, Sửa đổi, X&oacute;a một thuộc t&iacute;nh mới</td> <td style="width: 48.4743%;" width="312">V&iacute; dụ về c&aacute;c thao t&aacute;c li&ecirc;n quan độc lập dữ liệu vật l&yacute;: Thay đổi về phương ph&aacute;p n&eacute;n, phương ph&aacute;p băm, thiết bị lưu trữ.</td> </tr> </tbody> </table> <h1>Ưu điểm của t&iacute;nh độc lập dữ liệu</h1> <ul> <li>Gi&uacute;p cải thiện chất lượng dữ liệu.</li> <li>Bảo tr&igrave; hệ thống cơ sở dữ liệu.</li> <li>Thực thi c&aacute;c ti&ecirc;u chuẩn v&agrave; cải thiện bảo mật cơ sở dữ liệu.</li> <li>Bạn kh&ocirc;ng cần phải thay đổi cấu tr&uacute;c dữ liệu trong lập tr&igrave;nh ứng dụng.</li> <li>Cho ph&eacute;p c&aacute;c nh&agrave; ph&aacute;t triển tập trung v&agrave;o cấu tr&uacute;c chung của cơ sở dữ liệu hơn l&agrave; quan t&acirc;m về việc triển khai mức vật l&yacute;.</li> <li>N&oacute; cho ph&eacute;p cải thiện trạng th&aacute;i kh&ocirc;ng bị hư hại hoặc kh&ocirc;ng bị chia cắt.</li> <li>Thực hiện c&aacute;c sửa đổi ở mức vật l&yacute; m&agrave; kh&ocirc;ng ảnh hưởng tới c&aacute;c mức kh&aacute;c để cải thiện hiệu suất của hệ thống.</li> </ul> <h1>T&oacute;m tắt</h1> <ul> <li>Độc lập dữ liệu l&agrave; thuộc t&iacute;nh của DBMS gi&uacute;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&agrave; kh&ocirc;ng cần thay đổi lược đồ ở c&aacute;c mức kh&aacute;c.</li> <li>Hai mức độc lập dữ liệu l&agrave;: Vật l&yacute; v&agrave; Logic</li> </ul> <hr /> <p style="text-align: center;"><em><strong>Fanpage Facebook:</strong>&nbsp;<a href="https://www.facebook.com/tek4.vn/">TEK4.VN</a></em>&nbsp;</p> <p style="text-align: center;"><em><strong>Tham gia cộng đồng để chia sẻ, trao đổi v&agrave; thảo luận:</strong>&nbsp;<a href="https://www.facebook.com/groups/tek4.vn/">TEK4.VN - Học Lập Tr&igrave;nh Miễn Ph&iacute;</a></em></p>