Xem mẫu

  1. Chương 9: Thiết kế tầng quản lý dữ liệu 1
  2. 2
  3. Tầng quản lý dữ liệu Tầng quản lý dữ liệu bao gồm thao tác và truy cập dữ liệu và thiết kế thực sự về lưu trữ dữ liệu của hệ thống. - Quá trình thiết kề tầng dữ liệu bao gồm 4 bước: 1. Chọn định dạng lưu trữ các đối tương để hỗ trợ hệ thống. Các định dạng lưu trữ bao gồm tệp (tệp chủ, tệp giao tác, tệp lịch sử, tệp tra cứu,…), cơ sở dữ liệu (csdl quan hệ, quan hệ - đối tượng, đối tượng). 2. Ánh xạ các đối tượng từ tầng miền bài toán (problem domain layer) sang định dạng lưu trữ dữ liệu đã lựa chọn. 3. Tối ưu hóa định dạng lưu trữ dữ liệu 4. Thiết kế các lớp truy cập và thao tác dữ liệu 3
  4. Các định dạng lưu trữ dữ liệu 4
  5. Các định dạng lưu trữ dữ liệu có thể được sử dụng để lưu trữ các đối tượng: - Các tệp - CSDL quan hệ - CSDL quan hệ-đối tượng - CSDL hướng đối tượng 5
  6. CSDL quan hệ - Tập các bảng: Bao gồm các trường xác định các thực thể Khóa chính có duy nhất các giá trị ở mỗi dòng của bảng Khóa ngoại lai là khóa chính của bảng khác - Các bảng có quan hệ với nhau: Trường khóa chính của một bảng là một trường của bảng khác thì được gọi là khóa ngoại lai Các quan hệ được thiêt lập bởi một khóa ngoại lai của một bảng kêt nối với khóa chính của một bảng khác 6
  7. Ví dụ về CSDL quan hệ 7
  8. Hệ quản trị cơ sở dữ liệu quan hệ (DBMS) - Là phần mềm để tạo lập và xử lý một cơ sở dữ liệu - Hệ quản trị cơ sở dữ liệu quan hệ là hệ quản trị cơ sở dữ liệu quản trị cơ sở dữ liệu quan hệ - Hệ quản trị cơ sở dữ liệu quan hệ luôn hỗ trợ tính toàn vẹn tham chiếu. Ý tưởng đảm bảo rằng các giá trị kết nối các bảng với nhau thông qua các khóa chính và khóa ngoại lai là hợp lệ và thực sự đồng bộ 8
  9. Ví dụ về ràng buộc tham chiếu dữ liệu: - Số hiệu khách hàng là khóa chính của bảng khách hàng - Số hiệu khách hàng lại là khoa ngoại lai của bảng đơn hàng - Một sự vi phạm sự toàn vẹn tham chiếu sẽ xảy ra nếu một đơn hàng được nhập vào bảng đơn hàng cho một số hiệu khách hàng chưa được nhập vào bảng khách hàng trước đó - Mỗi hệ quản trị cơ sở dữ liệu quan hệ ngăn cấm việc nhập những bản ghi như vậy 9
  10. Ngôn ngữ truy vấn có cấu trúc (SQL) - Đây là ngôn ngữ chuẩn để truy cập dữ liệu dưới dạng bảng - Các lệnh SQL Commands - Tạo lập, soạn thảo, hủy các bảng(Create, edit, and delete tables) - Bổ sung, soạn thảo và xóa dữ liệu (Add, edit, ,delete data) - Hiển thị dữ liệu từ một hay nhiều bảng - Hiển thị dữ liệu được tính toán từ dữ liệu của một hay nhiều bảng 10
  11. Việc lựa chọn định dạng lưu trữ nào cho hệ thống nên dựa trên bảng đánh giá các định dạng lưu trữ dựa trên các tiêu chí khác nhau. 11
  12. Ánh xạ các đối tượng thuộc tầng miền bài toán sang các định dạng lưu trữ dữ liệu 12
  13. Các quy tắc ánh xạ các đối tượng thuộc tầng miền bài toán sang mô hình CSDL quan hệ: - Rule 1: Ánh xạ mỗi lớp cụ thể (conrete class, lớp được dùng để tạo ra đối tượng) thuộc tầng miền bài toán thành một bảng dữ liệu. - Rule 2: Ánh xạ các thuộc tính đơn trị thành các thuộc tính trong bảng tương ứng. - Rule 3: Ánh xạ các phương thức trong mỗi lớp thành các thủ tục lưu trú (trên hệ quản trị CSDL) hoăc thành các chương trình con trong chương trình ứng dụng. - Rule 4: Ánh xạ các quan hệ liên kết và kết hợp có lực lượng tham gia liên kết hai phía là một – một thành một thuộc tính khóa ngoài vào của một bảng trong quan hệ (cụ thể: lấy thuộc tính khóa của bảng bên này đặt vào bảng bên kia làm khóa ngoài để tạo liên kết một – một giữa hai bảng, ngược lại). - Rule 5: Ánh xạ thuộc tính đa trị thành một bảng mới và tạo liên kết một - nhiều từ bảng gốc tới các bảng mới. 13
  14. - Rule 6: Ánh xạ những quan hệ liên kết và kết hợp có lực lượng tham gia quan hệ ở hai phía là nhiều – nhiều bằng cách tạo một bảng mới. Bảng này có khóa chính là các thuộc tính chính khóa của hai bảng gốc và các thuộc tính riêng của liên kết. - Rule 7: Với những quan hệ kiên kết và kết hợp có lực lượng tham gia liên kết hai phía là một – nhiều, lấy các thuộc tính khóa chính từ bên một (1..1 hay 0..1) của quan hệ đưa vào bảng phía nhiều (1..* hoặc 0..*) để tạo thành khóa ngoài liên kết hai bảng. - Rule 8: Đảm bảo rằng các khóa chính của lớp con cũng chính là khóa chính của lớp cha hoặc làm phẳng kế thừa. 14
  15. Ví dụ minh họa quá trình ánh xạ các lớp trong bài toán đặt lịch hẹn khám sang biểu đồ cơ sở dữ liệu quan hệ. 15
  16. Tối ưu hóa CSDL quan hệ 16
  17. Tối ưu hóa lưu trữ Mục tiêu tối ưu hóa lưu trữ: - Loại bỏ dư thừa dữ liệu vì dư thừa dữ liệu gây lãng phí bộ nhớ lưu trữ và sinh ra các dị thường khi cập nhật dữ liệu (xem lại môn CSDL) - Trong bảng nếu có chứa giá trị null, ngữ nghĩa của giá trị null đó rất khó để diễn tả. 17
  18. Chuẩn hóa dữ liệu: - Chuẩn hóa dữ liệu như là một tiêu chí để đánh giá một CSDL quan hệ. - Việc đưa các bảng về các dạng chuẩn sẽ giúp giảm đi các dư thừa dữ liệu. - Bốn mức độ chuẩn hóa đầu tiên của bảng dữ liệu bao gồm: - Dạng chuẩn 0 (0NF): không có điều kiện chuẩn hóa nào thỏa mãn - Chuẩn 1 (1NF): Không có các thuộc tính đa trị - Chuẩn 2 (2NF): mọi thuộc tính không khóa phải phụ thuộc đầy đủ vào khóa chính. - Chuẩn 3 (3NF): mọi thuộc tính không khóa không phụ thuộc bắc cầu vào khóa chính. 18
  19. Các bước thực hiện quá trình chuẩn hóa. 19
  20. Ví dụ minh họa dạng chuẩn 0 20
nguon tai.lieu . vn