Bài giảng Công nghệ phần mềm - Chương 3: Thiết kế dữ liệu cung cấp cho người học các kiến thức: Mở đầu, thiết kế dữ liệu với tính đúng đắn, thiết kế dữ liệu và yêu cầu chất lượng. Mời các bạn cùng tham khảo nội dung chi tiết.
NHẬP MÔN CÔNG NGHỆ PHẦN MỀM Chương 4: Thiết kế liệu Nội dung Mở đầu Mục tiêu Kết Quá trình thiết kế Thiết kế liệu với tính đắn Thiết kế liệu yêu cầu chất lượng Tính tiến hóa Tính hiệu tốc độ Tính hiệu lưu trữ 1.1 Mục tiêu • Mô tả cách thức tổ chức để: – – – – – Lưu trữ liệu PM Chọn lọc liệu cần thiết Thay đổi liệu (tham số, miền giá trị) dễ dàng Dữ liệu không trùng lắp, lưu trữ tốn Truy xuất nhanh 1.1 Mục tiêu (tt) • Có dạng lưu trữ chính: – – • Lưu trữ dạng Tập tin Lưu trữ dạng CSDL Lưu trữ dạng tập tin – Thường thích hợp với số PM • • • • Chú trọng nhiều vào xử lý hình thức giao diện Thường thông tin tiếp nhận xử lý Vị dụ: game nhỏ, … Lưu trữ dạng CSDL thơng dụng 1.2 Kết • Gồm loại thông tin: – Thông tin tổng quát – Thông tin chi tiết • Thơng tin tổng qt: – Danh sách bảng liệu • Việc lưu trữ cần bảng bảng nào? – Danh sách liên kết • Các bảng liệu có quan hệ (liên kết) sao? • Thơng tin chi tiết: – Mô tả chi tiết thành phần lưu trữ Sơ đồ logic • Là sơ đồ cho phép thể hiện: – hệ thống bảng liệu với quan hệ chúng • Các ký hiệu dùng sơ đồ: Tên bảng Bảng (quan hệ) Liên kết (xác định nhất) Quan hệ 1-N Tên quan hệ A B Một phần tử A quan hệ phần tử B ngược lại phần tử B quan hệ với nhiều phần tử A Con Tên Linh Liên Thu Tiến Mã Mẹ 1 2 Mẹ Mã Tên Lan Thanh Quan hệ m-n A C DOC_GIA MaDG TenDG DG01 Huy DG02 Thành B Mỗi phần tử A có quan hệ với nhiều phần tử B ngược lại phần tử B có quan hệ với nhiều phần tử A MUON MaDG MaSach DG01 DG01 DG02 DG02 DG02 S01 S02 S01 S02 S03 SACH MaSach S01 S02 S03 TenSach VB.NET C#.NET C++.NET Quan hệ m-n Bảng thuộc tính cho phép mơ tả chi tiết thành phần sơ đồ logic theo dạng sau: Thành phần: Ý nghĩa: Stt Thuộc tính Kiểu Miền giá trị Ý nghĩa Thành Phần:DOC_GIA Ý nghĩa: Lưu trữ thông tin đọc giả Stt Thuộc tính Kiểu Miền giá trị MaDG Chuỗi Tối đa ký tự LoaiDG Chuỗi Có loại “X”, “Y” HoTen Chuỗi Tối đa 40 ký tự NgaySinh Ngày Tuổi từ 18 đến 55 NgayLapThe Ngày Địa Chuỗi Ý nghĩa Loại đọc giả Tối đa 60 ký tự Ví dụ: Bảng thuộc tính Thành Phần:SACH Ý nghĩa: Lưu trữ thơng tin Sách Stt Thuộc tính Kiểu Miền giá trị MaSach Chuỗi Tối đa ký tự TheLoai Chuỗi Có thể loại “A”, “B”, “C” TenSach Chuỗi Tối đa 40 ký tự NgayNhap Ngày >= Ngày TacGia Chuỗi Tối đa 40 ký tự NamXuatBan Số Ý nghĩa Thành Phần:MUON Ý nghĩa: Lưu trữ thông tin việc mượn trả Sách Stt Thuộc tính Kiểu Miền giá trị MaDG Chuỗi Tối đa ký tự MaSach Chuỗi Tối đa ký tự NgayMuon Ngày Sau ngày nhận sách NgayTra Ngày Sau ngày mượn sách Ý nghĩa 10 3.1 Tính tiến hóa • Các bước tiến hành: – Bước 1: Chọn YC xem xét thay đổi có qui định, biểu mẫu liên quan • • – – Nếu qui định, biểu mẫu có chứa tham số bổ sung tham số vào bảng tham số Nếu qui định biểu mẫu có thơng tin mà miền giá trị rời rạc (chỉ có số giới hạn giá trị) tạo bảng tương ứng Bước 2: Quay lại bước xem xét đầy đủ YC Bước 3: Tạo bảng RBNC cho qui định 28 3.1 Tính tiến hóa • Ghi chú: – – – Sau bước thiết phải xem xét lại tổ chức bảng Bổ sung tham số khơng thiết vào BTS mà bổ sung vào bảng khác xét thấy thích hợp Thứ tự xem xét YC theo thứ tự từ đầu đến cuối 29 Ví dụ • Ví dụ 1: Xét PM quản lý Thư viên Yêu cầu sau: – – – – – – – – Tiếp nhận nhân viên Lập thẻ độc giả Tiếp nhận sách Cho mượn sách Nhận trả sách Lập phiếu thu tiền phạt Ghi nhận sách Thanh lý sách 30 3.2 Tính hiệu tốc độ • Phạm vi xem xét: – Thêm thuộc tính vào bảng • • – Các thơng tin phải • • dùng để lưu trữ thơng tin tính tốn trước (tốn nhiều thời gian truy xuất bảng lớn) tự động cập nhật có thay đổi thông tin gốc liên quan Các bước tiến hành: – – Bước 1: Chọn YC xem xét cần bổ sung thơng tin nhớ phụ để tăng tốc độ thực xử lý liên quan Bước 2: Quay lại bước xét đầy đủ YC 31 3.2 Tính hiệu tốc độ • Ghi chú: – Sau bước thiết phải • STT lập bảng danh sách thuộc tính tính tốn với thơng tin liên quan Thuộc tính Bảng thuộc tính Xử lý tự động cập nhật SoSachDangMuo n DOC_GIA Cho mượn sách Nhận trả sách TinhTrangTraTre DOC_GIA Khởi động PM TinhTrangSach SACH Cho mượn sách Nhận trả sách 32 3.2 Tính hiệu tốc độ • Nếu thơng tin gốc thường xun bị thay đổi: – – • Việc tăng tốc độ truy xuất dẫn đến – • việc bổ sung thuộc tính tính tốn để tăng tốc độ thực ý nghĩa (thậm chí theo chiều ngược lại) lưu trữ không tối ưu Thứ tự xem xét YC theo thứ tự từ đầu đến cuối 33 Ví dụ: • Ví dụ 1: Xét PM quản lý Thư viên 34 3.3 Tính hiệu (lưu trữ) • Phạm vi xem xét: – – Việc tổ chức lại CSDL, khơng xem xét nén, mã hóa, … Tổ chức lại CSDL ý bảng sau: • • Khối lượng liệu lớn, phát sinh thường xuyên Khóa gồm nhiều thuộc tính 35 3.3 Tính hiệu (lưu trữ) • Các bước tiến hành: – – Bước 1: Lập danh sách bảng cần xem xét để tối ưu hóa lưu trữ Bước 2: Đối với bảng có khối lượng liệu lớn tối ưu thuộc tính bảng • • • Xét thuộc tính mà việc lưu trữ chưa tối ưu kiểu chuỗi Tối ưu hóa lưu trữ tùy theo trường hợp cụ thể Nếu chuỗi có kích thước lớn giá trị sử dụng nhiều lần mẫu tin khác tách bảng tổ chức lại cấu trúc 36 3.3 Tính hiệu (lưu trữ) • Các bước tiến hành: – Bước 3: Tối ưu hóa bảng mà khóa bảng bao gồm nhiều thuộc tính • • • Phân rã bảng xét A thành bảng B C B: chứa thuộc tính mà giá trị lặp lại nhiều lần lần thực cơng việc B cần có khóa riêng C: chứa thuộc tính cịn lại khóa B 37 Ví dụ: • • • MUON(MaDG, MaSach, NgayMuon, NgayTra) phân rã thành MUON(MaMuon, MaDG, NgayMuon) CT_MUON(MaMuon, MaSach, NgayTra) 38 Ví dụ: MaDG MaSach NgayMuon NgayTra DG1 S1 13/10/07 15/10/07 DG1 S2 13/10/07 18/10/07 DG1 S3 13/10/07 DG1 S4 13/10/07 20/10/07 DG1 S5 13/10/07 25/10/07 MaMuon M1 MaMuon MaDG DG1 MaSach NgayMuon 13/10/07 NgayTra M1 S1 15/10/07 M1 S2 18/10/07 M1 S3 M1 S4 20/10/07 M1 S5 25/10/07 39 Ví dụ: • Ghi chú: – Việc phân rã giúp cho lưu trữ tối ưu nhiên • • Tốc độ truy xuất chậm Việc thực xử lý khó khăn (thuật giải phức tạp hơn) – Cần cân nhắc trước thực việc phân rã • Thơng thường bảng có số cột trùng DL > số dòng trùng DL > nên tách bảng 40 Tạo mã: • Nếu mã tồn sẳn TGT: – • Chương trình tự động phát sinh theo cơng thức TGT Nếu mã chưa tồn tại: – – Chương trình phát sinh tự động (Auto Number) Phát sinh theo công thức người thiết kế đưa 41 Hỏi & Đáp 42 ... sách Thanh lý sách 22 Thiết kế liệu với YC chất lượng 3. 1 Tính tiến hóa 3. 2 Tính hiệu (tốc độ) 3. 3 Tính hiệu (lưu trữ) 23 3.1 Tính tiến hóa • Phạm vi xem xét: – – • Các tham số qui định biểu mẫu... CT_MUON(MaMuon, MaSach, NgayTra) 38 Ví dụ: MaDG MaSach NgayMuon NgayTra DG1 S1 13/ 10/07 15/10/07 DG1 S2 13/ 10/07 18/10/07 DG1 S3 13/ 10/07 DG1 S4 13/ 10/07 20/10/07 DG1 S5 13/ 10/07 25/10/07 MaMuon M1... không tối ưu Thứ tự xem xét YC theo thứ tự từ đầu đến cuối 33 Ví dụ: • Ví dụ 1: Xét PM quản lý Thư viên 34 3. 3 Tính hiệu (lưu trữ) • Phạm vi xem xét: – – Việc tổ chức lại CSDL, khơng xem xét nén,