Insert or Drag and Drop your Image
THIẾT KẾ VÀ TỔ CHỨC DỮ LIỆU
Jens Martensson
NỘI DUNG
1.
Tổng quan
2.
Kết quả thiết kế
3.
Quá trình thiết kế
4.
Phương pháp thiết kế dữ liệu
Jens Martensson
2
4.1. Tổng quan
•
Mục tiêu chính của thiết kế dữ liệu là mô tả cách thức tổ chức lưu trữ các dữ liệu của phần mềm.
Có hai dạng lưu trữ chính:
•
Dạng tập tin: Chỉ thích hợp với các phần mềm đặc thù (từ điển, trò chơi
…) chỉ chú trọng nhiều vào xử lý, hình thức giao diện, khơng chú trọng
nhiều đến việc lưu trữ dữ liệu. Trong quá trình sử dụng phần mềm, dữ liệu được
tiếp nhận và xử lý ngay.
•
Dạng cơ sở dữ liệu: dữ liệu được lưu trữ trong các hệ quản trị CSDL, theo cấu trúc logic, giúp người dùng có
thể quản trị và truy xuất thơng tin.
Jens Martensson
3
4.2. Kết quả của thiết kế
•
Dữ liệu phần mềm được lưu trữ dưới 2 dạng:
•
•
Tổng qt: Cung cấp góc nhìn tổng quan về các thành phần lưu trữ:
•
Danh sách bảng dữ liệu: liên quan đến việc lưu trữ các bảng dữ liệu cụ thể.
•
Danh sách liên kết: hiện thực các mối liên kết dữ liệu gữa các bảng dữ liệu.
Thông tin chi tiết:
•
•
Danh sách các thuộc tính của từng thành phần: các thông tin cần lưu trữ của
thành phần
Miền giá trị toàn vẹn : liên quan đến các quy định về tính hợp lệ của các thơng
tin được lưu trữ
Jens Martensson
4
4.2. Kết quả của thiết kế
•
Sơ đồ luận lý biểu diễn thơng tin tổng qt
•
Bảng thuộc tính và miền giá trị mô tả chi tiết các thành phần trong sơ đồ, được thể hiện bởi hệ thống các bảng dữ liệu và mối
liên kết giữa chúng
•
Các ký hiệu:
•
Mũi tên từ A đến B: 1 phần tử A xác định duy nhất 1 phần tử B, ngược
lại,
1 phần tử B có thể tương ứng với nhiều phần tử A.
Jens Martensson
5
4.2. Kết quả của thiết kế
•
Ví dụ: Với phần mềm quản lý thư viện sơ đồ luận lý:
•
Theo sơ đồ được tổ chức 3 bảng (DOCGIA, MUONSACH, SACH):
Jens Martensson
6
4.2. Kết quả của thiết kế
•
Bảng thuộc tính: mơ tả chi tiết các thành phần trong sơ đồ luận lý theo mẫu:
Jens Martensson
7
4.2. Kết quả của thiết kế
•
Bảng miền giá trị: mơ tả các phạm vi giá trị giữa các thuộc tính cùng một thành phần hay nhiều thành
phần khác nhau
Jens Martensson
8
4.2. Kết quả của thiết kế
•
•
Ghi chú: Bảng thuộc tính mô tả chi tiết thành phần cần lưu trữ, được dùng trong báo cáo về thiết kế
dữ liệu của phần mềm.
Mơ hình dữ liệu được biểu diễn bằng lược đồ quan hệ, mỗi quan hệ được biểu diễn theo định dạng:
Tên bảng(danh sách cá thuộc tính)
Ví dụ:
DOCGIA(MDG,HoTen,LoaiDG,NgaySinh, NgayLapThe, DiaChi)
SACH(MSACH,TenSach,TheLoai,NgayNhap,TacGia,NhaXuatBan,NamXuatBan)
MUON(MDG, MSACH, NgayMuon, NgayTra)
Jens Martensson
9
4.2. Kết quả của thiết kế
Jens Martensson
10
4.3. Q trình thiết kế
•
•
•
Có 2 cách tiếp cận để thiết kế dữ liệu:
Phương pháp trực tiếp: Từ các yêu cầu, tạo trực tiếp sơ đồ luận lý gồm các bảng thuộc tính và bảng
miền giá trị.
Phương pháp gián tiếp: Từ các u cầu, tạo mơ hình quan niệm, sau đó tạo sơ đồ luận lý, bảng
thuộc tính, bảng miền giá trị.
Jens Martensson
11
4.3. Q trình thiết kế
•
Thiết kế dữ liệu gồm 3 bước:
•
Thiết kế đảm bảo tính đúng đắn: Đảm bảo đầy đủ và chính xác về mặt ngữ nghĩa các thơng tin liên quan đến các cơng việc
trong u cầu.
•
Thiết kế đảm bảo yêu cầu chất lượng: Đảm bảo tính đúng đắn nhưng thỏa mãn thêm các yêu cầu chất lượng (tiến hóa, tốc
độ nhanh, lưu trữ tối ưu) và bảo đảm tính đúng đắn khi cải tiến sơ đồ luận lý.
•
Thiết kế đảm bảo yêu cầu hệ thống: Đảm bảo tính đúng đắn và các yêu cầu chất lượng khác nhưng thỏa mãn thêm các yêu
cầu hệ thống (phân quyền, cấu hình phần cứng, mơi trường phần mềm …)
Jens Martensson
12
4.3. Q trình thiết kế
•
Ví dụ: thiết kế dữ liệu cho phần mềm Quản lý thư viện, bằng phương pháp trực tiếp:
•
Các bảng thuộc tính
DOCGIA(MDG, MLDG, HoTen, NgaySinh, DiaChi, DienThoai)
SACH(MSACH, MTG, MNXB, MLSACH, MNN, TenSach, NgayMua, SoTrang)
PHIEU_MUON(MPHM, NgayMuon)
CHI_TIET_MUON(MPHM, MSACH, NgayTra)
Jens Martensson
13
4.3. Q trình thiết kế
•
Ví dụ: thiết kế dữ liệu cho phần mềm Quản lý thư viện, bằng phương pháp trực tiếp:
•
Các bảng thuộc tính
LOAI_SACH(MLSACH, TenLS, GhiChu)
LOAI_DOC_GIA(MLDG, TenLoaiDocGia, GhiChu)
NHA_XUAT_BAN(MNXB, TenNhaXuatBan, GhiChu)
TAC_GIA(MTG, Ten, GhiChu)
NGON_NGU(MNN, Ten, GhiChu)
Jens Martensson
14
4.3. Quá trình thiết kế
Jens Martensson
15
4.3. Q trình thiết kế
•
•
Bằng phương pháp gián tiếp, ngồi kết quả cuối cùng tương tự phương pháp trực tiếp, cịn kết quả
trung gian là mơ hình quan niệm dữ liệu như sau:
Sơ đồ lớp đối tượng với 2 đối tượng: Sách, Độc giả và 1 quan hệ mượn giữa 2 lớp đối tượng trên.
Jens Martensson
16
4.3. Q trình thiết kế
•
Ví dụ 2: Xét phần mềm với 4 yêu cầu: Lập thẻ độc giả, Nhận sách, Cho mượn sách, Trả sách
•
Thiết kế dữ liệu với tính đúng đắn:
•
Sơ đồ luận lý
•
Chi tiết các bảng:
DOC_GIA(MDG,MLDG,HoTen, NgaySinh, DiaChi,DienThoai)
SACH(MSACH,MTG,MNXB,MLSACH,MNN, TenSach, NgayMua,
SoTrang)
MUON_SACH(MDG, MSACH, NgayMuon, NgayTra, TienPhat)
Jens Martensson
17
4.3. Q trình thiết kế
•
Thiết kế dữ liệu với tính tiến hóa
•
Sơ đồ luận lý
•
Chi tiết các bảng:
DOC_GIA (MDG, MLDG, HoTen, NgaySinh, DiaChi, DienThoai, NgayHetHan)
SACH (MSACH, Tensach, MTL, NgayNhap, TacGgia, NamXuatBan,
NhaXuatBan)
MUON_SACH (MDG, MSACH, NgayMuon, NgayTra, TienPhat)
THE_LOAI (MTL, TenTheLoai, GhiChu)
LOAI_DG (MLDG, TenLoaiDocGia, GhiChu)
Jens Martensson
18
4.3. Q trình thiết kế
•
Thiết kế với tính hiệu quả (truy xuất nhanh)
•
Sơ đồ luận lý
•
Bảng thuộc tính
DOC_GIA(MDG,MLDG, HoTen, NgaySinh, DiaChi, DienThoai, NgayHetHan, SoSachMuon, TinhTrangTra)
SACH (MSACH,TenSach,MTL,NgayNhap,TacGia,NamXuatBan, NhaXuatBan, TinhTrangMuon)
MUON_SACH (MDG, MSACH, NgayMuon, NgayTra, TienPhat)
THE_LOAI (MTL, TenTheLoai, GhiChu)
LOAI_DOC_GIA(MLDG, TenLDG, GhiChu)
Jens Martensson
19
4.3. Q trình thiết kế
•
Thiết kế dữ liệu với tính hiệu quả (lưu trữ tối ưu)
•
Sơ đồ luận lý
•
Chi tiết các bảng thuộc tính
DOC_GIA(MDG, MLDG, HoTen, NgaySinh, DiaChi, DienThoai,
NgayHetHan, SoSachMuon, TinhTrangTra)
SACH(MSACH, Tensach, MTL,NgayNhap, TacGia,NamXuatBan,
NhaXuanBan, TinhTrangMuon)
Jens Martensson
20
4.3. Q trình thiết kế
•
Thiết kế dữ liệu với tính hiệu quả (lưu trữ tối ưu)
•
Sơ đồ luận lý
•
Chi tiết các bảng thuộc tính
MUON_SACH(MDG, MSACH, NgayMuon, NgayTra, TienPhat)
CHI_TIET_MUON(MMUON, MSACH, NgayTra, TienPhat)
THE_LOAI(MTL, TenTheLoai, GhiChu)
LOAI_DOC_GIA(MLDG, TenLoaiDocGia, GhiChu)
Jens Martensson
21
4.3. Q trình thiết kế
•
Thiết kế dữ liệu với u cầu phân quyền hệ thống
•
Sơ đồ luận lý
•
Chi tiết các bảng
DOC_GIA(MDG, MLDG, HoTen, NgaySinh, NgayHetHan, DiaChi,
DienThoaiNguoiLapThe, SoSachMuon, TinhTrangTra)
SACH(MSACH, Tensach, MTL, NgayNhap, TacGia,NamXuatBan,
NhaXuanBan, TinhTrangMuon)
MUON_SACH(MDG, MSACH, NgayMuon, NgayTra, TienPhat)
Jens Martensson
22
4.3. Q trình thiết kế
•
Thiết kế dữ liệu với u cầu phân quyền hệ thống
•
CHI_TIET_MUON(MMUON, MSACH, NgayTra, TienPhat)
•
THE_LOAI(MTL, TenTheLoai, GhiChu)
•
LOAI_DOC_GIA(MLDG, TenLoaiDocGia, GhiChu)
•
NGUOI_DUNG(MND, HoTen, Ghichu)
•
CHUC_NANG(MCN, Ten_ChucNang, GhiChu
•
QUYEN_HAN(MND, MCN)
Jens Martensson
23
4.4. Phương pháp thiết kế dữ liệu
•
Phương pháp trực tiếp
•
Phương pháp gián tiếp
Jens Martensson
24
4.4.1. Phương pháp trực tiếp
•
•
Bước 1
•
Lập sơ đồ với 1 thành phần duy nhất,
•
Đánh giá tính đúng đắn so với yêu cầu, chuyển sang bước 2 nếu cần.
Bước 2
•
Tách 1 số thuộc tính để tạo ra các thành phần mới,
•
Xác định liên kết giữa các thành phần,
•
Đánh giá tính đúng đắn so với yêu cầu, lặp lại bước 2 nếu cần.
Jens Martensson
25