1. Trang chủ
  2. » Giáo án - Bài giảng

phân tích thiết kế hệ thống thông tin

59 304 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phân Tích Thiết Kế Hệ Thống Thông Tin
Tác giả Nguyễn Công Hoan
Người hướng dẫn GV: Tăng Mỹ Thảo
Trường học Trường Đại Học
Thể loại Luận văn
Định dạng
Số trang 59
Dung lượng 540 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Mục tiêu• Hiểu rõ, mô tả lại toàn bộ dữ liệu của hệ thống • Chuẩn bị cho việc cài đặt thành phần dữ liệu trong hệ thống ⇒ Đưa ra các mô hình dữ liệu  Mô hình dữ liệu quan niệm  Mô hìn

Trang 1

PHÂN TÍCH THIẾT KẾ

HỆ THỐNG THÔNG TIN

GV: Tăng Mỹ Thảo : Nguyễn Công Hoan (last updated)

Trang 2

Chương 3

PHÂN TÍCH VÀ THIẾT KẾ THÀNH PHẦN DỮ LIỆU

Trang 3

Mục tiêu

Trang 4

Mục tiêu

• Hiểu rõ, mô tả lại toàn bộ dữ liệu của hệ thống

• Chuẩn bị cho việc cài đặt thành phần dữ liệu trong

hệ thống

Đưa ra các mô hình dữ liệu

 Mô hình dữ liệu quan niệm

 Mô hình dữ liệu logic

Trang 5

Khái niệm mô hình dữ liệu

• Các khái niệm trong một mô hình dữ liệu được

xây dựng bởi cơ chế trừu tượng hóa và mô tả

bằng ngôn ngữ hay biểu diễn đồ họa

• Một tập hợp các khái niệm được dùng để diễn tả tập các đối tượng dữ liệu cũng như những mối

quan hệ giữa chúng trong hệ thống thông tin cần tin học hóa

• Là cầu nối giữa thế giới thực với mô hình cơ sở

dữ liệu bên trong máy tính

Trang 6

Mô hình dữ liệu mức khái niệm

• Mục tiêu: hiểu rõ thành phần dữ liệu của hệ thống

(các thực thể/đối tượng dữ liệu và quan hệ của chúng)

 Mô hình thực thể kết hợp

 Sơ đồ lớp, đối tượng dữ liệu

Trang 7

Mô hình thực thể kết hợp (ERD – Entity Relationship Diagrams)

Các khái niệm cơ bản

Mối kết hợp nhiều ngôi

Chuyên biệt hóa, tổng quát hóa

RBTV

Trang 8

Thực thể

• Là thể hiện của mọi đối tượng mà nhận diện được

từ tổ chức (giống như bộ trong quan hệ)

• Thực thể hay còn gọi là đối tượng

• Ví dụ: nhân viên A, mặt hàng B, đơn đặt hàng C, …

Trang 9

KHÁCH HÀNG MAKH

TENKH DIACHI DIENTHOAI HONNHAN

Trang 10

ĐƠN ĐẶT HÀNG

MAĐĐH NGAYLAP

1-n 1-1

Trang 11

Mối kết hợp, bản số

• Bản số: thể hiện số lượng các thực thể thuộc một

lớp thực thể ở nhánh bên kia có liên hệ với một thực thể ở nhánh bên này của mối kết hợp [0-1], [0-n], [1-1], [1-n]

• Thuộc tính (riêng): Trong một số trường hợp nào

đó mối kết hợp có thể có những thuộc tính riêng của nó.

• Khóa: khóa của mối kết hợp thường là tổ hợp

khóa của các lớp thực thể tham gia vào mối kết

hợp. ĐƠN ĐẶT HÀNG

MADDH NGAYDAT NGAYGIAODUKIEN

HÀNG HÓA

MAHANG TENHANG

Đặt hàng

1-n 0-n

Trang 12

• Nhấn mạnh rằng sự tồn tại của lớp đối tượng này phụ thuộc

hoàn toàn vào lớp đối tượng kia

Trang 13

Lớp thực thể thành phần (composition)

• Thể hiện mối kết hợp: một thực thể thuộc lớp này

là một thành phần của một thực thể thuộc lớp kia.

• Quan hệ thành phần bao gồm hàm ý phụ thuộc.

• Giống như mối kết hợp bình thường, ta có thể đặt

tên cho mối kết hợp hoặc một hướng của mối kết hợp.

 Ví dụ:

 Lớp thực thể “Xe máy”

 Lớp thực thể “Bánh xe”, “Động cơ”, “Đèn trước”, “Đèn sau”, …

Trang 15

(0,n) (0,n)

(0,n)

ĐIỂM

Trang 17

⇒ thuộc tính chung

quan hệ thừa kế

MS_NV TEN_NV NTNS

… Thuộc tính đặc thù của nhân viên sản xuất

MS_NV TEN_NV NTNS

… Thuộc tính đặc thù của nhân viên văn phòng

Thực thể chuyên biệt

Trang 19

Mô tả các RBTV

• RBTV: là những quy tắc kiểm tra nhằm đảm bảo

tính đúng đắn của dữ liệu khi thực hiện các thao tác thêm , xóa , sửa

• RBTV hỗ trợ thêm về khả năng diễn đạt ngữ nghĩa

trên mô hình E-R.

RBTV thường có thể phát biểu bằng ngôn ngữ tự nhiên (mức quan niệm), ngôn ngữ hình thức (mức logic), hay thuật giải (mức vật lý)

Xác định các RBTV trên dữ liệu của HTTT hoàn toàn có thể thực hiện được dựa trên việc phân loại các ràng buộc toàn vẹn

Trang 21

RBTV – Một thực thể

• Miền giá trị thuộc tính

Ví dụ:

CTDDH.soluongdh > 0 (số lượng các mặt hàng có trong chi tiết đơn đặt hàng phải lớn hơn 0)

CTDDH.dongia > 0 (đơn giá của các mặt hàng có trong chi tiết đơn đặt hàng phải lớn hơn 0).

Trang 22

RBTV – Một thực thể

• Ràng buộc liên thuộc tính: Một trong những dạng

thức đặc biệt của loại ràng buộc toàn vẹn này là ràng buộc về khóa (phụ thuộc hàm suy từ khóa).

Trang 23

RBTV – Một thực thể

• Ràng buộc liên bộ: giữa nhiều thực thể trong cùng

một lớp thực thể hay giữa nhiều bộ trong cùng

một quan hệ.

• Ví dụ: Trong thực thể tồn kho hàng hóa

TONKHO(MAHANG, THANG, NAM, TONDAUKY,

TONCUOIKY) thì số lượng tồn đầu phải bằng số lượng tồn cuối của tháng trước đó.

Trang 24

RBTV – Nhiều thực thể

• Ràng buộc liên thuộc tính, liên thực thể:

 Ví dụ: Ngày đặt hàng của một đơn đặt hàng phải nhỏ hơn (trước) ngày giao hàng trên phiếu giao hàng cho đơn đặt hàng tương ứng

• Ràng buộc liên bộ, liên thực thể:

 Ví dụ: Số lượng tồn của một mặt hàng bằng tổng các chi tiết nhập hàng trừ tổng chi tiết xuất hàng liên quan đền mặt hàng đó.

Trang 25

Xây dựng mô hình quan niệm

• Xác định các loại thực thể.

 Con người, tổ chức

(vd: sinh viên, nhân viên, phòng ban, khoa, …)

 Vật thể, phi vật thể

(vd: Hàng hóa, xe, máy bay, tài khoản, hóa đơn, …)

• Xác định các mối kết hợp: dựa trên đặc tả yêu cầu

thực tế cũng như business logic của ứng dụng

• Kiểm tra, hoàn chỉnh mô hình quan niệm dữ liệu.

• Mô tả các ràng buộc toàn vẹn trên mô hình E-R.

Trang 26

Các nguyên tắc kiểm tra

mô hình quan niệm dữ liệu

• Tên thuộc tính: xuất hiện chỉ 1 lần trong toàn mô hình.

• Một thuộc tính có một giá trị duy nhất trong một thể hiện

của loại thực thể hay mối kết hợp.

• Mỗi thể hiện của một mối kết hợp được hình thành từ một

thể hiện của các TT/ MKH cấp trên mà nó được định nghĩa.

Trang 27

Các nguyên tắc kiểm tra

mô hình quan niệm dữ liệu

Trang 28

Các nguyên tắc kiểm tra

mô hình quan niệm dữ liệu

Số xe -> màu, công suất, … Loại xe -> màu, công suất, …

Trang 29

Bài tập ERD

Bài 1:

Quản lý thông tin khách uống bia, loại bia và quán bia nhằm cho biết các thông tin sau:

a/ Loại bia ưa thích nhất của mỗi khách.

b/ Các khách uống bia của các quán

c/ Loại bia ở mỗi quán

Xây dựng ERD.

Trang 30

Bài tập ERD

Bài 2:

Một công ty bảo hiểm cần xây dựng CSDL để quản lý

công việc hoạt động của mình CSDL phải thỏa mãn

các yêu cầu:

a/ Mỗi nhân viên cần có các thông tin Tên, Lương, Địa chỉ

b/ Mỗi người quản lý sẽ quản lý ít nhất 1 nhân viên

c/ Mỗi nhân viên sẽ quản lý nhiều khách hàng.

d/ Mỗi khách hàng cần biết các thông tin Tên, Địa chỉ,

Trang 31

Xây dựng ERD

Trang 32

Mô hình dữ liệu mức logic

Mục tiêu: chuẩn bị cho việc cài đặt CSDL của hệ thống

 Mô hình dữ liệu quan hệ (Hệ quản trị CSDL quan hệ)

 Mô hình dữ liệu HĐT (Hệ quản trị CSDL HĐT)

Trang 33

Mô hình dữ liệu mức logic

• Xây dựng mô hình quan hệ dữ liệu (tổ chức dữ

liệu) từ mô hình thực thể kết hợp (quan niệm dữ liệu).

• Tối ưu hóa mô hình quan hệ dữ liệu.

• Mô tả các ràng buộc toàn vẹn ở mức thiết kế tổ

chức (thường dùng ngôn ngữ toán học).

• Thiết kế các khung nhìn dữ liệu (views) , cũng như các chỉ mục (index) được sử dụng trong xử lý sau này.

Trang 34

Mô hình quan hệ

• Mô hình dữ liệu quan hệ (Relational Data Model):

do Edgar Frank "Ted" Codd đề xuất năm 1970 Nền tảng cơ bản của nó là khái niệm lý thuyết tập hợp trên các quan hệ

Trang 35

Chuyển ERD thành RDM

• b1 Chuyển các khái niệm chuyên biệt hóa, tổng

• b2 Chuyển thực thể quan hệ.

• b3 Chuyển các mối kết hợp bậc 1 quan hệ.

• b4 Chuyển các mối kết hợp bậc i quan hệ (i = bậc trước +1)

• Lặp lại bước 4 cho đến khi hết các mối kết hợp.

• b5 Nhập tất cả các quan hệ cùng khóa lại với nhau.

• b6 Chuẩn hóa các quan hệ.

• b7 Xem xét các RBTV.

Trang 36

• Lưu ý ở B1: Chuyên biệt, tổng quát hóa → Quan hệ

Trang 37

Chuyển thành Tổng quát hóa

Trang 38

Chuyển ERD thành RDM

Lưu ý: Trong trường hợp này khi chuyển cần cộng thêm một ràng buộc toàn vẹn (để đảm bảo về mặt ngữ nghĩa với mô hình ban đầu).

Trang 39

ĐỀ ÁN

Trang 40

Chuyển ERD thành RDM

Chuyên biệt hóa: trong trường hợp số thuộc tính riêng >= 3

Chuyển thành Chuyên biệt hóa

NV MA_NV

HOTEN

NV_CANBO NV_TK -

- Số thuộc tính riêng > 3

-

-Số thuộc tính riêng > 3

Trang 41

Chuyển ERD thành RDM

• Một số điều cần lưu ý ở bước 3 + bước 4

Ví dụ: Một cửa hàng mua bán đồ thời trang cần

quản lý giá bán của các bộ quần áo.

 Mỗi áo vét và quần chỉ được thuộc một “bộ 2” duy nhất

 Mỗi “bộ 2” có thể kết hợp với 1 áo gilê để tạo nên một

Trang 42

Chuyển ERD thành RDM

 ÁO VÉT (MA_AV, MAU_AV, KIEU_AV, …)

 QUẦN (MA_Q, MAU_Q, KIEU_Q, …)

 ÁO GILÊ (MA_GILE, MAU_GILE)

 Bộ 2 (MA_AV, MA_Q, Giá Bộ 2)

 Bộ 3 (MA_AV, MA_Q, MA_GILE, Giá Bộ 3)

– Trong quan hệ “Bộ 2” có 2 phụ thuộc hàm sau:

MA_AV → MA_Q MA_Q → MA_AV

– Có 2 phụ thuộc hàm này là do cách đánh chỉ số là (0, 1)

Trang 43

Chuyển ERD thành RDM

Lưu ý: Bản số có chỉ số “tối đa” là 1 -> chỉ phụ

thuộc hàm từ đó đi ra

Trang 45

Chuẩn hóa mô hình dữ liệu quan hệ

 Thêm bớt các quan hệ

 Thêm bớt các thuộc tính

Trang 46

Chuẩn hóa mô hình dữ liệu quan hệ

• Thêm bớt các bảng

 Các bảng dữ liệu chỉ có 1 thuộc tính thường sẽ bị loại bỏ.

 Chúng ta cần cân nhắc xem có nên hay không khi

thêm/bớt các bảng trung gian sử dụng để lưu trữ những kết quả xử lý trung gian hay để tổng hợp dữ liệu.

(Ví dụ quan hệ tồn kho trong bài toán bán hàng)

 Hiệu chỉnh các RBTV sau khi thêm/hủy bảng thuộc tính

Trang 47

Chuẩn hóa mô hình dữ liệu quan hệ

• Thêm/bớt các thuộc tính

 Ví dụ: trong ứng dụng “quản lý mua bán hàng” Trong các bảng CTĐĐH (Chi tiết đơn đặt hàng), CTHĐBL (chi tiết hóa đơn bán lẻ), CTPGH(chi tiết phiếu giao hàng), CTPNH(chi tiet phiếu nhập hàng), … chúng ta có thể loại bỏ thuộc

tính Dongia (đơn giá) Như vậy mỗi khi cần thông tin đơn giá thì chúng ta sẽ gọi thực hiện một thủ tục tính đơn giá

 Ví dụ: Khi chúng ta loại bỏ thuộc tính Dongia trong bảng CTĐĐH thì đồng thời chúng ta cũng phải loại bỏ luôn ràng buộc toàn vẹn sau:

CTĐĐH.thanhtien = CTĐĐH.Soluong * CTĐĐH.Dongia

Trang 48

Mô tả các RBTV ở mức thiết kế logic

• Những điều kiện ứng dụng cần thỏa mãn tại mọi

 RBTV trên nhiều quan hệ

 RBTV liên quan hệ, liện thuộc tính

 RBTV liên quan hệ, liên bộ

Trang 49

Mô tả các RBTV ở mức thiết kế logic

• Mô tả 1 RBTV

 Diễn giải

 Biểu diễn bằng ngôn ngữ hình thức

 Bối cảnh, bảng tầm ảnh hưởng

Trang 50

 Giới tính của nhân viên là nam hoặc nữ

 ∀ n ∈ NHANVIEN: n.GIOITINH in {‘Nam’, ‘Nữ’}

Trang 51

+ (A) : có thể vi phạm RBTV khi thao tác trên thuộc tính A

- (*) : không thể vi phạm RBTV do thao tác không thực hiện được

Trang 52

Mô tả RBTV

• Ví dụ:

Hay n1[MANV] ≠ n2[MANV]

Không thể sửa

Trang 53

• HDBL (Ma_hdbl, Ngayhdbl, Hotenkh, Diachikh)

• PCT (Ma_pct, Ngaypct, Thanhtien, Diengiai, Ma_kh)

• PTT (Ma_ptt, Ngayptt, Thanhtien, Diengiai, Ma_kh)

• CTPNH (Ma_pnh, Ma_hh, Soluong, Thanhtien)

• CTDDH (Ma_ddh, Ma_hh, Soluong, Thanhtien)

• CTPGH (Ma_pgh, Ma_hh, Soluong, Thanhtien)

• CTHDBL (Ma_hdbl, Ma_hh, Soluong, Thanhtien)

• CONGNO (Ma_kh, thangnamcn, Sonodk, Tienno, Tienthu)

Trang 54

Ví dụ về các RBTV

RBTV1: Giá trị của các thuộc tính số

lượng(soluong), thành tiền (thanhtien) trong

quan hệ chi tiết đơn đặt hàng (ctddh) phải lớn

Trang 55

Ví dụ về các RBTV

RBTV 2: Trong quan hệ tồn kho (TONKHO) thì giá trị của thuộc tính tồn đầu kỳ (Tondk) của tháng này phải bằng số lượng tồn đầu kỳ (Tondk) của tháng trước đó cộng cho số lượng nhập trừ cho số lượng xuất của tháng trước đó đối với mặt hàng liên quan đang xét.

Trang 58

Xây dựng mô hình dữ liệu mức vật lý

Tạo cơ sở dữ liệu (create database).

Tạo các bảng dữ liệu (create tables).

Tạo các ràng buộc dữ liệu.

Thiết kế, cài đặt các views.

Cài đặt các thủ tục xử lý trong DBMS chẳng hạn như Store procedure hay Triggers để kiểm tra và tự động xử

lý khi có những thao tác dữ liệu vi phạm các ràng buộc toàn vẹn đề ra.

Trang 59

Bài tập

• Chuyển các mô hình ERD đã xây dựng (bài tập 1,

2, 3 về ERD) sang mô hình quan hệ.

• Suy nghĩ về bài toán bán hàng trong trường hợp

một đơn đặt hàng có thể trả tiền nhiều lần bằng các hóa đơn khác nhau.

• Thực hành: chọn một hệ DBMS để cài đặt mô hình

quan hệ cũng như hiện thực các RBTV.

Ngày đăng: 14/08/2014, 00:11

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w