Tải bản đầy đủ (.pdf) (39 trang)

Bài giảng Chương 9: Thiết kế tầng quản lý dữ liệu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.98 MB, 39 trang )

Chương 9: Thiết kế tầng quản lý dữ liệu

1


2


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


Các định dạng lưu trữ dữ liệu

4


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


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


Ví dụ về CSDL quan hệ

7


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 tồ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


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


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 tốn từ dữ liệu của một hay nhiều
bảng

10


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


Á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



Các quy tắc ánh xạ các đối tượng thuộc tầng miền bài tố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 ngồ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


- 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 ngồ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


Ví dụ minh họa q 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


Tối ưu hóa CSDL quan hệ

16


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


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


Các bước thực hiện q trình chuẩn hóa.

19


Ví dụ minh họa dạng chuẩn 0

20


Ví dụ minh họa dạng chuẩn 1

21


Ví dụ minh họa dạng chuẩn 1

22



Ví dụ minh họa dạng chuẩn 2

23


Ví dụ minh họa dạng chuẩn 2

24


Ví dụ minh họa dạng chuẩn 3

25


×