z Thêm các bảng dữ liệu cần thiết cho thiết kế kiểm soátz Xem xét các mỗi bảng quan hệ trong mô hình quan hệ có trở thành một bảng dữ liệu trong hệ quản trị CSDL hay không.. Phân tích sử
Trang 1Phân tích thiết kế
hệ thống
Lớp Tin học 3 05/09/07 - 08/10/07
Nguyễn Hoài Anh
Khoa công nghệ thông tin Học viện kỹ thuật quân sự
nguyenhoaianh@yahoo.com
Trang 2Bμi 4 ThiÕt kÕ d÷ liÖu
• ThiÕt kÕ c¬ së d÷ liÖu vËt lý
Trang 3I Tổng quan
z Mục đích
z Trong phần thiết kế tổng thể đã quan tâm đến dữ liệu nh−ng đó chỉ
là thiết kế logic, trong phần này chúng ta quan tâm đến thiết kế vật
lý của dữ liệu
z Thiết kế logic của dữ liệu là xét riêng rẽ dữ liệu và vật lý nhằm phát hiện quan hệ nội tại của từng dữ liệu Dữ liệu đó chỉ cần đủ, không trùng lặp và không nhập nhằng.
z Thiết kế vật lý của dữ liệu quan tâm thêm hai khía cạnh tiện lợi và nhanh chóng
z Mục đích của thiết kế CSDL là xây dựng cơ sở dữ liệu từ biểu đồcấu trúc dữ liệu có thông tin đầy đủ và cho phép truy nhập nhanh
Trang 4z Thêm các bảng dữ liệu cần thiết cho thiết kế kiểm soát
z Xem xét các mỗi bảng quan hệ trong mô hình quan hệ có trở thành một bảng dữ liệu trong hệ quản trị CSDL hay không.
z Cài đặt dữ liệu của hệ thống: có 2 cách
z Dựa trên hệ quản trị CSDL có sẵn mối quan hệ, có ngôn ngữ định nghĩa dữ liệu riêng cho phép khai báo cấu trúc dữ liệu.
z Sử dụng tệp: người dùng phải biết tổ chức tệp của mình Các hệ quản lý tệp
không giúp quản lý CSDL
Trang 5II Ph©n tÝch sö dông d÷ liÖu
kh«ng Nh÷ng thuéc tÝnh nh− vËy gäi lµ thuéc tÝnh t×nh huèng.
Trang 6II Phân tích sử dụng dữ liệu
z Bổ sung thuộc tính tình huống
z Tách một kiểu thực thể thành nhiều file vì không phải bao giờ cũng
dùng hết các thuộc tính trong một lần truy nhập
z Lặp lại các thuộc tính từ file khác
z Lập các file chỉ dẫn để truy nhập nhanh tuỳ thuộc nhu cầu xử lý.
Trang 7II Phân tích sử dụng dữ liệu
z Nghiên cứu yêu cầu truy nhập
z Các yêu cầu thông tin cho từng chức năng đã đ−ợc xem xét trongDFD Tuy nhiên, trong DFD không chỉ ra cách thức truy cập dữ liệu
z ở đây cần chỉ rõ cách thức truy cập dữ liệu gồm các thông tin
z Thông tin đầu vào ?
z Truy nhập file nào ?
z Sử dụng khoá nào ?
z Thao tác gì ? (Tạo mới, cập nhật, đọc, xoá)
Trang 8II Phân tích sử dụng dữ liệu
z Nghiên cứu yêu cầu truy nhập
z Ví dụ Xét tiến trình “Lập phiếu đòi sách m−ợn quá hạn”
z Việc thực hiện tiến trình này đòi hỏi một số truy nhập tới một phầncủa mô hình dữ liệu trong hệ thống quản lý th− viện
Trang 9II Phân tích sử dụng dữ liệu
z Nghiên cứu yêu cầu truy nhập
z Tiến trình “Lập phiếu đòi sách m−ợn quá hạn” chứa các yêu cầutruy nhập dữ liệu sau
z Yêu cầu 1: biết số thẻ, yêu cầu tìm số cá biệt những quyển sách có
(Ngày trả = Null) và (Ngày hẹn trả < Ngày hiện thời)
z Yêu cầu 2: biết số thẻ, yêu cầu tìm tên bạn đọc và địa chỉ bạn đọc
z Yêu cầu 3: biết số cá biêt, yêu cầu tìm tên sách, Tác giả, Nhà XB và Năm XB
z Ta có thể phân tích và xây dựng các biểu đồ sử dụng dữ liệu chocác yêu cầu nh− sau
z Yêu cầu 1:
Bảng dữ liệu: M−ợn/Trả
Khóa tìm kiếm: Số thẻ
Tra cứu: Số cá biệt, Ngày trả, Ngày hẹn trả
Tần suất truy nhập: 50 lần /tuần
Trang 10II Phân tích sử dụng dữ liệu
z Nghiên cứu yêu cầu truy nhập
z Ta có thể phân tích và xây dựng các biểu đồ sử dụng dữ liệu chocác yêu cầu nh− sau
z Yêu cầu 2:
Bảng dữ liệu: bạn đọc
Khóa tìm kiếm: Số thẻ
Tra cứu: Tên bạn đọc, địa chỉ bạn đọc
Tần suất truy nhập: 50 lần /tuần
z Yêu cầu 3:
Bảng dữ liệu: Sách
Khóa tìm kiếm: Số cá biệt
Tra cứu: Tên sách, tác giả, nhà XB, Năm XB
Tần suất truy nhập: 50 lần /tuần
Trang 11II Ph©n tÝch sö dông d÷ liÖu
z Nghiªn cøu yªu cÇu truy nhËp
z ViÖc nghiªn cøu c¸c yªu cÇu truy nhËp ph¶i ®−îc lÆp l¹i cho tÊt c¶c¸c chøc n¨ng xö lý cña hÖ thèng Cuèi cïng cã thÓ tæng hîp l¹i c¸c kÕt qu¶ vµo m« h×nh d÷ liÖu
z Qua sù tæng hîp nµy ta cã thÓ nhËn xÐt ®−îc
z B¶ng nµo cã nhu cÇu truy nhËp cao
z Khãa t×m kiÕm nµo ®−îc sö dông nhiÒu
z C¸c côm tr−êng nµo th−êng ®−îc tra cøu cïng nhau
z C¸c nhËn xÐt nµy cho phÐp ta chia c¾t l¹i cÊu tróc c¸c b¶ng d÷ liÖu
Trang 12II Ph©n tÝch sö dông d÷ liÖu
z Nghiªn cøu yªu cÇu truy nhËp
z C¸c kÕt nèi kh«ng hÒ ®−îc sö dông (tøc lµ nh·n cña kÕt nèi kh«ng
®−îc lµm khãa t×m kiÕm cho mét b−íc truy nhËp nµo) th× sÏ ®−îc
Trang 13II Ph©n tÝch sö dông d÷ liÖu
z Thªm c¸c b¶ng quan hÖ phôc vô cho kiÓm so¸t hÖ thèng
z Tïy thuéc vµo qu¸ tr×nh thiÕt kÕ kiÓm so¸t ë b−íc tr−íc, ë ®©y sÏthªm vµo c¸c b¶ng d÷ liÖu phôc vô kiÓm so¸t hÖ thèng
Trang 14II Phân tích sử dụng dữ liệu
z Đánh giá không gian lưu trữ
bảng dữ liệu Thông tin này cần được bổ sung vào mô tả bảng.
thể tăng lên hay giảm đi theo thời gian
khoảng thời gian nào đó ứng với một chu trình hoạt động của hệ thống.
z Ví dụ: trong hệ thống quản lý thư viện người ta thường lấy chu kỳ thời gian
là 1 năm
z Sau 1 năm bạn đọc cần gia hạn lại thẻ
z đầu năm thường được xem xét kinh phí để mua sách
z Cuối năm thanh lý sách cũ, xử lý sách lâu ngày, xử lý bạn đọc có nhiều sách quá hạn…
lớn tới việc lựa chọn thiết bị lưu trữ sau này.
Trang 15III Thiết kế cơ sở dữ liệu vật lý
z Thiết kế CSDL là tiến trình tạo ra các định nghĩa dữ liệu cho hệ thống và thiết lập cấu trúc các file dữ liệu chính trong hệ thống
z Trong tiến trình thiết kế CSDL vật lý người ta thường phải sử dụng các thông tin về những ràng buộc thực hiện như
z Môi trường phần cứng, phần mềm của người sử dụng
z Thời gian đáp ứng các yêu cầu
z Điều kiện kiểm soát và điều kiện an toàn của hệ thống
Trang 16III Thiết kế cơ sở dữ liệu vật lý
z Ngoài ra, các chi tiết về phân tích và sử dụng dữ liệu
z Mô hình quan hệ
z DFD hệ thống
cũng cần thiết cho quá trình thiết kế CSDL vật lý.
z Môi trường phần cứng, phần mềm của người sử dụng
z Thời gian đáp ứng các yêu cầu
z Điều kiện kiểm soát và điều kiện an toàn của hệ thống
Trang 17III ThiÕt kÕ c¬ së d÷ liÖu vËt lý
Trang 18III ThiÕt kÕ c¬ së d÷ liÖu vËt lý
z ViÖc thiÕt kÕ CSDL vËt lý dùa trªn nÒn t¶ng cña mét
Trang 19III ThiÕt kÕ c¬ së d÷ liÖu vËt lý
z Khi thiÕt kÕ CSDL vËt lý nhµ thiÕt kÕ ph¶i lưu ý vÒ an toµn vµ toµn vÑn d÷ liÖu.
z Tæ hîp ®ưîc c¸c kiÓm tra an toµn vµ toµn vÑn cÇn thiÕt bªn trong b¶n th©n CSDL.
z §iÒu b¾t buéc lµ d÷ liÖu kh«ng chÝnh x¸c vµ kh«ng nhÊt qu¸n ph¶i kh«ng ®ưîc lµm háng CSDL, th©m nhËp tr¸i phÐp vµo th«ng tin CSDL ph¶i bÞ ng¨n chÆn.
Trang 20III Thiết kế cơ sở dữ liệu vật lý
z Tổ chức các phương thức truy nhập
z Tổ chức là cài đặt vật lý các phần tử trên giá mang
z Phương thức truy nhập là phương thức tìm kiếm các phần tử trêngiá mang
z Tổ chức tuần tự – Truy nhập tuần tự
z Các phần tử đặt liên tiếp trên giá mang
z Để truy nhập đến phần tử n phải đi qua n-1 phần tử trước nó
z Thao tác
z Tra cứu phần tử một cách tuần tự
z Bổ sung vào cuối tệp
z Loại bỏ: chỉ loại bỏ logic (đánh dấu xoá)
z Cập nhật: sao chép sang nơi khác đồng thời cập nhật
Trang 21III Thiết kế cơ sở dữ liệu vật lý
z Tổ chức trực tiếp – truy nhập trực tiếp
z Truy nhập trực tiếp vào một phần tử không phải qua các phần tửkhác
z Mỗi phần tử mang một khoá tìm kiếm, khoá này nhận diện duy nhấtmột phần tử Việc truy nhập khoá tìm kiếm thực hiện bởi một hàmtrực truy để chỉ ra địa chỉ vật lý của phần tử
z Thao tác
z Tra cứu trực tiếp
z Bổ sung giá trị khoá là vị trí cất giữ Nếu còn chỗ thì ghi vào, nếu không thì ghi sang buồng tràn
z Loại bỏ: sửa lại các khoá tìm kiếm nếu phần tử ở giữa tệp hay loại trực tiếp nếu phần tử ở cuối tệp
z Cập nhật: truy nhập trực tiếp vào phần tử
Trang 22III Thiết kế cơ sở dữ liệu vật lý
z Tổ chức tuần tự có chỉ dẫn – Truy nhập tuần tự hay truy nhập trực tiếp
z Các phần tử vẫn đặt liên tiếp trên giá mang nh−ng mỗi phần
tử lại có một khoá nhận diện để truy nhập trực tiếp.
z Thao tác
z Tra cứu tuần tự, trực tiếp
z Loại bỏ: logic
z Cập nhật: truy nhập trực tiếp vào phần tử
Trang 23III Thiết kế cơ sở dữ liệu vật lý
z Tổ chức móc nối – Truy nhập theo kiểu móc nối
z Mỗi phần tử chứa địa chỉ của phần tử tiếp theo đôi khi chứa
địa chỉ của phần tử liền trước đó (điều này phụ thuộc vào người lập trình)
z Thao tác
z Nhận xét
z Đường truy nhập thông qua thuộc tính kết nối.
Trang 24III Thiết kế cơ sở dữ liệu vật lý
z Chuyển mô hình dữ liệu thành file dữ liệu
z Cấu trúc lưu trữ vật lý phụ thuộc theo mô hình của cơ sở dữ liệu: môhình quan hệ, mô hình mạng hay mô hình phân cấp
z ở đây ta chỉ nghiên cứu đến cách thức chuyển đổi trong mô hìnhquan hệ
z Mỗi bảng trong lược đồ logic chuyển đổi trực tiếp thành một quan hệ (mỗi trường thành một thuộc tính của quan hệ) ngoài ra có thể thêm vào các thuộc tính tình huống.
z Không có cài đặt gì đặt biệt đối với các kết nối giữa các bảng, ngoại trừ sự có mặt của khoá ngoài
z Một ngôn ngữ định nghĩa dữ liệu cho phép định nghĩa các quan hệ, các lệnh
trong một ngôn ngữ thao tác dữ liệu cho phép lưu trữ và tìm kiếm các dữ liệu dựa trên các phép toán của đại số quan hệ.
Trang 25Th¶o luËn