Trang 93 Giáo trình: Phân tích thiết kế hệ thống Giảng viên: Lê Đắc Nhường G Chương 9 Thiết kế cơ sở dữ liệu vật lý 9.1. Các phương thức lưu trữ dữ liệu Có hai phương thức lưu trữ dữ liệu phổ biến là File và Cơ sở dữ liệu 9.1.1. File Là một tập hợp của các bản ghi tương tự nhau. Các file không có liên quan với nhau trừ khi được liên kết trong code của chương trình ngoài Ưu điểm: Dễ dàng thiết kế nếu chỉ dùng cho một ứng dụng Tối ưu về hiệu năng nếu chỉ dùng cho một ứng dụng Nhược điểm: Khó thích ứng hoặc khó dùng chung giữa nhiều ứng dụng Hay bị dư thừa dữ liệu (cùng một thông tin được lưu trữ trên nhiều file khác nhau) 9.1.2. Cơ sở dữ liệu Là một tập hợp của nhiều files (bảng) có quan hệ với nhau. Bản ghi của một file (hay bảng) có thể có mối quan hệ vật lý với một hay nhiều bản ghi ở các file (hay bảng) khác. Ưu điểm: Tách biệt dữ liệu khỏi logic chương trình do đó tăng tính thích ứng, khả chuyển của chương trình. Kiểm soát được quy mô, độ lớn của dữ liệu Tối ưu trong việc chia sẻ dùng chung giữa nhiều ứng dụng Giảm thiểu dư thừa dữ liệu Nhược điểm: Phức tạp hơn công nghệ file rất nhiều Ở khía cạnh nào đó truy xuất cơ sở dữ liệu thường chậm hơn so với truy xuất file Cần tuân thủ nhiều nguyên tắc khi thiết kế để có thể khai thác được lợi ích của cơ sở dữ liệu quan hệ Cần có chuyên gia sử dụng hệ quản trị cơ sở dữ liệu 9.2. Kiến trúc dữ liệu Kiến trúc dữ liệu mô tả cách thức: sử dụng file/cơ sở dữ liệu để lưu trữ dữ liệu công nghệ file/cơ sở dữ liệu được lựa chọn sử dụng Trang 94 Giáo trình: Phân tích thiết kế hệ thống Giảng viên: Lê Đắc Nhường G cơ cấu quản lý được thiết lập để quản lý các nguồn dữ liệu Thông thường dữ liệu được lưu trữ đồng thời bởi nhiều cách thức, phương tiện: Các files, Cơ sở dữ liệu cá nhân, cơ sở dữ liệu chung của nhóm, cơ sở dữ liệu giao dịch, Nhà kho dữ liệu (tổng hợp các nguồn) Hệ quản trị CSDL: Là một phần mềm dùng để quản lý việc tạo, truy nhập, kiểm soát, quản lý các đối tượng dữ liệu của một hay nhiều cơ sở dữ liệu. Phần nền tảng của một HQTCSDL là một bộ máy dữ liệu - data engine Ngôn ngữ định nghĩa dữ liệu (Data Definition Language - DDL) là một phần của bộ máy dùng để định nghĩa các bảng, trường, quan hệ Ngôn ngữ thao tác dữ liệu (Data Manipulation Language - DML) dùng để thêm, sửa, xoá và di chuyển giữa các trường trong cơ sở dữ liệu 9.3. Triển khai mô hình dữ liệu logic dựa trên một cơ sở dữ liệu quan hệ 9.3.1. Cơ sở dữ liệu quan hệ Là cơ sở dữ liệu lưu trữ và quản lý dữ liệu trong những bảng 2 chiều. Các bảng này có thể có quan hệ với nhau thông qua các trường khoá Đặc thù của cơ sở dữ liệu quan hệ: Mô hình dữ liệu vật lý (Schema) DDL và DML được thể hiện bởi ngôn ngữ SQL Triggers là các chương trình được nhúng cùng cơ sở dữ liệu và tự động thực thi khi cơ sở dữ liệu được cập nhật Thủ tục thường trú (Stored procedure) là chương trình được nhúng cùng cơ sở dữ liệu và thực thi từ câu lệnh của ứng dụng 9.3.2. Mô hình hoá dữ liệu Một mô hình dữ liệu tốt là mô hình trong đó: Mỗi thuộc tính mô tả một và chỉ một thực thể Mỗi thuộc tính chỉ tồn tại ở duy nhất một thực thể (trừ thuộc tính khoá ngoại) Để có được một mô hình dữ liệu tốt, ta tiến hành các bước chuẩn hoá (xem thêm phần phân tích hệ thống) Chuẩn hoá dữ liệu - Một thực thể logic hay một bảng vật lý được gọi là: Ở dạng chuẩn thứ nhất nếu không có thuộc tính (trường) nào có hai giá trị trong cùng một thể hiện Ở dạng chuẩn thứ hai nếu nó đã ở dạng chuẩn thứ nhất và giá trị các trường không phải là khoá chính hoàn toàn phụ thuộc vào khoá chính. Trang 95 Giáo trình: Phân tích thiết kế hệ thống Giảng viên: Lê Đắc Nhường G Ở dạng chuẩn thứ ba nếu nó đã ở dạng chuẩn thứ hai và giá trị các trường không phải khoá chính không phụ thuộc các trường không phải khoá chính khác Các bước tạo mô hình dữ liệu vật lý Xem lại mô hình dữ liệu logic Tạo bảng cho mỗi thực thể Tạo trường cho mỗi thuộc tính Tạo chỉ mục (index) cho mỗi khoá Thiết kế khoá ngoại cho các quan hệ Định nghĩa kích thước/kiểu dữ liệu, thuộc tính null, giá trị mặc định Đánh giá và thiết lập các ràng buộc Chú ý các công nghệ khác nhau cho các kiểu dữ liệu khác nhau Tạo câu lệnh SQL Tuỳ vào từng hệ quản trị CSDL, tạo CSDL tương ứng trên ngôn ngữ DDL. 9.4 Ví dụ thiết kế cơ sở dữ liệu vật lý Bài toán quản lý bãi trông gửi xe đã được xem xét các chương trước. Bây giờ ta sẽ chuyển các biểu đồ luồng dữ liệu mức logic sang biểu đồ luồng dữ liệu mức vật lý tương ứng. Thông qua biểu đồ luồng dữ liệu vật lý, chúng ta sẽ biết được những chức năng – tiến trình nào mà hệ thống (máy tính) sẽ đáp ứng, những tiến trình nào con người phải thực hiện. Bước 1: Xây dựng biểu đồ luồng dữ liệu vật lý a. Tiến trình “1.0 Nhận xe” Hình 9.1 Tiến trình 1.2 và 1.4 do máy thực hiện a1.Tiến trình "1.2. kiểm tra chỗ trống“ Xử lý theo lô mỗi khi có xe vào. Sau khi nhập vào tên loại xe, xác định số chỗ trống như sau: a2. Tiến trình "1.4. ghi sổ xe vào" Trang 96 Giáo trình: Phân tích thiết kế hệ thống Giảng viên: Lê Đắc Nhường G Xử lý theo lô mỗi khi có xe vào và còn chỗ trống Chỉ cần nhập số vé và số xe, tên loại xe đã nhập trước, ngày giờ vào được nhập tự động lấy từ thời gian của máy. b. Tiến trình “2.0 Trả xe”. Hình 9.2 Tiến trình 2.3 và 2.4 do máy thực hiện b1. Tiến trình “2.3. Thanh toán” Xử lý theo lô, mỗi khi có xe ra, vé xe kà thật và phù hợp với xe Sau khi nhập vào số vé, tìm ra số xe, bổ sung ngày giờ ra lấy từ ngày giờ hệ thống rồi tính tiền như sau: b2. Tiến trình “2.4 Ghi sổ xe ra” Là tiếp tục của tiến trình 2.3 Chỉ cần ghi lại các dữ liệu đã có về xe vừa ra lên máy c. Tiến trình “3.0 Giải quyết sự cố” Hình 9.3 Máy tính thực hiện tiến trình 3.1, 3.3, 3.4 c1. Tiến trình “3.1 Kiểm tra sổ” Xử lý theo lô mỗi khi có sự cố Trang 97 Giáo trình: Phân tích thiết kế hệ thống Giảng viên: Lê Đắc Nhường G Cần nhập số xe, tìm xe trong sổ và cho hiện lên hoặc thông báo không tìm thấy. c2. Tiến trình “3.3. Lập biên bản” Thực hiện sau khi xác định có sự cố thực Cập nhật nội dung biên bản theo mẫu trên máy c3. Tiến trình “3.4 Thanh toán” Thực hiện tiếp ngay sau tiến trình 3.3 nếu cần Cập nhật nội dung phiếu thanh toán theo mẫu trên máy. Bước 2: Đặc tả logic tiến trình Bước 3: Xây dựng các bảng trên cơ sở dữ liệu vật lý Bảng XEGUI Bảng GIAGUI . tích thiết kế hệ thống Giảng viên: Lê Đắc Nhường G Chương 9 Thiết kế cơ sở dữ liệu vật lý 9.1. Các phương thức lưu trữ dữ liệu Có hai phương thức lưu trữ dữ liệu phổ biến là File và Cơ sở. sử dụng hệ quản trị cơ sở dữ liệu 9.2. Kiến trúc dữ liệu Kiến trúc dữ liệu mô tả cách thức: sử dụng file /cơ sở dữ liệu để lưu trữ dữ liệu công nghệ file /cơ sở dữ liệu được lựa chọn sử. Các files, Cơ sở dữ liệu cá nhân, cơ sở dữ liệu chung của nhóm, cơ sở dữ liệu giao dịch, Nhà kho dữ liệu (tổng hợp các nguồn) Hệ quản trị CSDL: Là một phần mềm dùng để quản lý việc tạo,