PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Phần 1:
Tổng quan hệ thống thông tin (HTTT)
Phần 2: PT&TKHT hướng cấu trúc
Phần 3: PT&TK HT hướng đối tượng
1
Phần 2:PT&TK HT HƯỚNG CẤU TRÚC
CHƯƠNG 1: Khởi tạo lập kế hoạch
CHƯƠNG 2: Phân tích hệ thống
CHƯƠNG 3: Thiết kế hệ thống
2
CHƯƠNG 3. THIẾT KẾ HỆ THỐNG
1.
2.
3.
4.
Mô hình dữ liệu quan hệ
Thiết kế CSDL vật lý
Thiết kế CSDL phân tán
Thiết kế chương trình
3
2. THIẾT KẾ CSDL VẬT LÝ
•
Gđ này cung cấp các đặc tả về CSDL giúp cho các
nhà lập trình sau này. Gồm 2 phần:
Lựa chọn công nghệ lưu trữ để trợ giúp việc quản lý dl
bao gồm: HĐH, hệ QTCSDL, các công cụ truy nhập dữ
liệu
• Chuyển các qhệ của mô hình dl qhệ ( mô hình dl logic)
thành các bảng dl.
•
•
Khi thiết kế ta chú trọng vào 2 mục tiêu sau:
Tiết kiệm được không gian lưu trữ
Thời gian truy nhập dl để tương tác với hệ thống là nhỏ
nhấ
t
4
•
•
2. THIẾT KẾ CSDL VẬT LÝ
•
Trong phần này ta chú ý vào nhiệm vụ thứ 2:
a.
b.
Thiết kế các trường
Thiết kế các bản ghi vật lý
c.
d.
Thiết kế file vật lý
Thiết kế CSDL vật lý
5
a. Thiết kế các trường
•
Khi chuyển từ mô hình logic sang mô hình vật lý, tương
ứng:
•
Gộp một hay nhiều qhệ thành một bảng
•
Chia một qhệ thành một hay nhiều bảng tùy thuộc vào kích thước
của các thuộc tính trong qhệ
•
Một thuộc tính có thể được chia thành 1 hay nhiều trường
VD: Họ tên-> Họ+tên
•
Các vấn đề cần quan tâm
•
Chọn kiểu dữ liệu
•
Các kỹ thuật mã hóa và nén dữ liệu
•
Kiểm tra tính toàn vẹn dữ liệu
6
Chọn kiểu dữ liệu
•
Mỗi một hệ quản trị sẽ cung cấp một số kiểu dữ liệu nhất
định.
•
Khi chọn ta quan tâm tới các mục tiêu sau:
•
Tiết kiệm không gian nhớ (Sẽ tiết kiệm được cả bộ nhớ RAM)
VD: SMALLINT thay chi INTEGER, nhưng phải để ý đến thời
gian tồn tại của hệ thống
•
Biểu diễn được mọi giá trị có thể
•
Cải thiện tính toàn vẹn: Kiểm tra sơ bộ được giá trị đầu vào
Ví dụ: tuổi !>200, ngày giao!
•
Hỗ trợ các thao tác dữ liệu
VD: kiểu số tính nhanh hơn kiểu ký tự, hay kiểu date thay cho
kiểu CHAR(6)
7
Các kỹ thuật mã hóa và nén dữ liệu
•
Một số thuộc tính có miền giá trị thưa thớt :
VD: Nan/nữ-> 0/1, True/False
Thứ 2,3,...,CN-> 2,3,...,7,1
•
Mã hóa phân cấp:
•
•
Nếu DL là phân cấp ta dùng một dãy ký tự gồm nhiều
nhóm, xắp từ trái qua phải, trong đó mỗi nhóm đại diện
cho 1 cấp từ trên xuống
Có 2 loại mã: cấp cố định hoặc biến thiên (Số ký tự
cho mỗi cấp)
VD: 111- Tiền mặt 1111- Tiền tại quĩ, 1112- Tiền gửi NH
RAMUSA01- Ram 8MB xuất sứ ở mỹ
RAMUSA02- Ram 16MB xuất sứ ở mỹ
8
Các kỹ thuật mã hóa và nén dữ liệu
•
Mã liên tiếp:
Được tạo theo qui tắc là 1 dãy liên tục:
VD: 1,2,3,...
A,B,C,...
Mã này đơn giản , có thể tự động hóa được. Nhưng
không cho phép chèn vào giữa hay không gợi nhớ về đối
tượng.
•
Mã gợi nhớ:
Mã này thường dùng một số ký hiệu để chỉ đặc trưng
của đối tượng
VD: USD, VND Hay F:Female- M:male
9
Các kỹ thuật mã hóa và nén dữ liệu
•
Mã thành phần ngữ nghĩa:
Mỗi mã được chia làm nhiều phần, mỗi phần mô tả một
đặc trưng nhất định của đối tượng như: Phân loại, địa
danh
VD:
www.telematic.com.vn
www.ccc.com.vn
Nhược điểm: mã này rất cồng kềnh, nếu không chọn ổn
định thì rất khó sử dụng
10
Các kỹ thuật mã hóa và nén dữ liệu
•
Nén dữ liệu:
•
Là làm giảm không gian lưu trữ dữ liệu bằng các thuật
toán tìm mẫu và thay thế nó bằng chuỗi ký tự ngắn hơn
•
Người lập trình có thể tự viết hay áp dụng một số thuật
toán có sẵn
11
Kiểm tra tính toàn vẹn dữ liệu
•
Để hạn chế một số sai sót khi nhập liệu, ta đưa ra
một số cơ chế sau:
•
Giá trị ngầm định:
Là một giá trị gán sẵn cho trường khi nhập, chỉ trong một số
trường hợp mới thay đổi
VD: Ngày nhập chứng từ
•
Kiểm tra khuôn dạng
Vd: $ 999,999.99
•
Kiểm tra giới hạn
0
0<=điểm<=10, số nguyên
12
Kiểm tra tính toàn vẹn dữ liệu
•
Kiểm tra tính toàn vẹn tham chiếu
HSHS( MaHS,hoten)
Diem(MaHS, Mamon,diem,lanthi)
Mon(Mamon,tenmon)
•
Kiểm tra giá trị rỗng
VD: trường khóa
•
Phát hiện và khôi phục dữ liệu mất:
•
Theo dõi dữ liệu mất, cảnh báo để người sử dụng nhập lại
•
Tạo một cơ chế ước lượng hay khôi phục hoặc cho phép bỏ
qua giá trị mất
13
2. THIẾT KẾ CSDL VẬT LÝ
Thiết kế các trường
a.
b.
Thiết kế các bản ghi vật lý
c.
d.
Thiết kế file vật lý
Thiết kế CSDL vật lý
14
b. Thiết kế bản ghi
Một bản ghi vật lý là một nhóm các trường được đặt kề
nhau trong vùng nhớ và được gọi ra cùng nhau như 1 đơn
vị.
•
Thiết kế bản ghi vật lý là để đạt 2 mục đích :
•
Hiệu quả sử dụng không gian nhớ thứ cấp
•
•
Tốc độ truy cập dữ liệu
HĐH đọc hay ghi dl vào bộ nhớ thứ cấp theo trang, do đó để
tiết kiệm không gian nhớ và t/g truy cập ta phải phi chuẩn 1
số qhệ.
•
Chia một quan hệ thành 2 hay nhiều quan hệ
•
Gộp 2 thực thể -> 1 thự15c thể
b. Thiết kế bản ghi
•
•
•
Trường có chiều dài cố định:
Nếu mọi trường có chiều dài cố định thì việc thiết kế sẽ
dễ dàng.
Kỹ thuật xác định vị trí (positional technique) thường sử
dụng để tìm kiếm bản ghi.
•
Trường có chiều dài thay đổi:
Tách các trường có độ dài cố định vào 1 file
VD : memo
16
2. THIẾT KẾ CSDL VẬT LÝ
a.
b.
Thiết kế các trường
Thiết kế các bản ghi vật lý
c.
d.
Thiết kế file vật lý
Thiết kế CSDL vật lý
17
c. Thiết kế file vật lý
File là một vùng nào đó trong bộ nhớ thứ cấp được dùng để
lưu các bản ghi vật lý
• Tính trong suốt:
Trong một số trường hợp phần mềm cho phép ta lưu 1 file ở nhiều
vị trí khác nhau, nhưng người sử dụng không biết và không quan
tâm, nhưng người lập trình cần quan tâm để tổ chức sao cho tiết
kiệm thời gian truy cập
•
Ta quan tâm tới các phần sau:
Các loại file
• Con trỏ
Phương pháp truy cập
• Cách tổ chức file
18
• Kiểm soát
file
•
•
Các loại file
•
File dữ liệu (Data master file):
Là file chứa dữ liệu nghiệp vụ liên quan đến mô hình
logic của hệ thống-> luôn tồn tại nhưng nội dung thay
đổi
•
File tham chiếu từ 1 bảng( Lookup table):
Là một danh sách dữ liệu được tham chiếu từ 1 số trường
trong 1 hay nhiều file dữ liệu.
•
File giao dịch:
Là file dữ liệu tạm thời phục vụ các hoạt động hàng ngày
của 1 tổ chức, file này thường được thiết kế để xử lý dữ
liệu nhanh. Ví dụ ở bưu 19điện
Các loại file
File làm việc:
•
Là file lưu các kết quả trung gian và thường được xóa đi
khi không cần thiết. Hay dùng khi in.
•
File bảo vệ:
Là file lưu lại các file quan trọng có nguy cơ bị sai,
thường dùng trong các hoạt động xử lý, cập nhật, hay
xóa dữ liệu
•
File lịch sử:
File này thường dùng lưu các dữ liệu cũ, ít khi sử dụng,
dùng làm tăng hiệu quả không gian nhớ, giảm kích thước
file sử dụng.
20
VD: Khách sạn, hay quản lý nhân sự
Con trỏ
•
•
•
Tổ chức file: Dùng 1 trong 2 cấu trúc
Tuần tự: Ghi bản ghi này ngay sau bản ghi khác
Con trỏ: Trong một số trường hợp cấu trúc tuần tự có thể
bị bẻ gãy, để tìm phần tiếp theo của nó ta dùng con trỏ là
một trường của dữ liệu sử dụng để định vị phần tiếp theo
21
Các phương pháp truy cập
•
•
Hệ điều hành hỗ trợ 2 phương pháp truy nhập
Phương pháp trực tiếp: Xử dụng tính toán để xác định vị
trí chính xác của bản ghi
•
Phương pháp gián tiếp: Hỗ trợ việc tìm bản ghi thứ n
xuất phát từ 1 vị trí hiện thời của con trỏ.
•
Thường sử dụng sự hỗ trợ của hệ quản trị CSDL
22
Tổ chức file
Tổ chức file là kỹ thuật xắp xếp các bản ghi của file
trong bộ nhớ thứ cấp
• Tổ chức file cần phải tính đến các tiêu chuẩn sau
Lấy dữ liệu nhanh
• Thông lượng giao dịch xử lý lớn
• Sử dụng hiệu quả không gian nhớ
• Tránh sai sót và mất dữ liệu
• Tối ưu hóa nhu cầu tổ chức file
Đáp ứng tốt nhu cầu tăng trưởng DL
•
•
•
An toàn
Các tiêu chuẩn trên thường đối kháng-> lựa chọn đảm
23
Tổ chức file tuần tự
Trong t/c tuần tự các file được xắp tuần tự theo thứ
tự khoá chính.
•
•
Việc tìm kiếm đơn giản theo khoá chính.
Nhược: mỗi khi thay đổi dữ liệu như thêm, xoá ta phải
ghi lại file
STT
1
2
3
5
Họ tên
Nguyễn Lan Anh
Nguyễn Ngọc Anh
Lê Hải An
Đỗ Phương Nga
VD:
24
Tổ chức file chỉ số
Các bản ghi trong file được xắp tuỳ ý, file chỉ số
được tạo ra cho phép xác định vị trí của các bản ghi
trong file gốc.
•
•
Việc tìm kiếm rất nhanh, dựa vào file chỉ số, mỗi khi
thay đổi dữ liệu ta chỉ cần thay đổi trong file chỉ số
Nhược: Tốn thêm không gian lưu trữ cho các file chỉ số
25