1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Phân tích, thiết kế hệ thống thông tin Chương 7 Thiết kế thành phần DỮ LIỆU

11 243 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

Định dạng
Số trang 11
Dung lượng 298,94 KB

Nội dung

M ở đầ u mục tiêu thiết kế thành phần dữ li u cách thức lưu trữ, cập nhật và khai thác dữ liệ yêu cầu chất lượng chính xác đầy đủ HIỆU QUẢ HOW Ts... Thiết kế thành phần dữ li u Ts.

Trang 1

Tr ườ ng Đạ i h ọ c S ư ph ạ m thành ph ố H ồ Chí Minh

Khoa Công ngh ệ thông tin

Phân tích, thi ế t k ế

h ệ th ố ng thông tin

Ch ươ ng 7 : Thi ế t k ế thành ph ầ n D Ữ LI Ệ U

Ts Nguy ễ n An T ế Nguy ễ n Thúy Ng ọ

Ts Ng An T ế - Ng Thúy Ng ọ c [PTTK - HT 3.2011 - 2012 HK1] Ch ươ ng 7: Thi ế t k ế thành ph ầ n D Ữ Ệ 2

M ụ c tiêu

 Hiểu rõ những khái niệm cơ bản của mô hình dữ li u quan hệ

 Nắm vững phương pháp thiết kế CSDL theo mô hình quan hệ

N ộ i dung

1 Mở đầu

2 Mô hình d ữ li u quan h ệ (tóm t ắ t)

3 Thi ế t k ế thành ph ầ n d ữ li u

1 M ở đầ u

sơ đồ quan niệm DL (E-R)

DỮ LIỆ

m ứ c nh ậ n th ứ c

quan

ni ệ m

lu ậ n lý

t ổ ch ứ c

v t lý

THI Ế T K

PHÂN TÍCH

s ơ đồ

quan h ệ DL (Relational)

t ổ ch ứ c CSDL

Trang 2

Ts Ng An T ế - Ng Thúy Ng ọ c [PTTK - HT 3.2011 - 2012 HK1] Ch ươ ng 7: Thi ế t k ế thành ph ầ n D Ữ Ệ 5

1 M ở đầ u

 mục tiêu thiết kế thành phần dữ li u

 cách thức lưu trữ, cập nhật và khai thác dữ liệ

 yêu cầu chất lượng

 chính xác

 đầy đủ

 HIỆU QUẢ

HOW

Ts Ng An T ế - Ng Thúy Ng ọ c [PTTK - HT 3.2011 - 2012 HK1] Ch ươ ng 7: Thi ế t k ế thành ph ầ n D Ữ Ệ 6

N ộ i dung

1 M ở đầ u

2 Mô hình dữ li u quan hệ (tóm tắt)

3 Thi ế t k ế thành ph ầ n d ữ li u

2 Mô hình d ữ li ệ u quan h ệ

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

 thuộc tính (attribute)

 b (tuple)

 quan hệ (relation), bảng (table)

 siêu khóa (superkey)

 khóa nội (candidate key), khóa chính (primary key)

 khóa ngoại (foreign key)

 phụ thuộc hàm (functional dependency)

 các dạng chuẩn

 d ng chuẩn 1, dạng chuẩn 2, dạng chuẩn 3, dạng chuẩn BCK

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

 thuộc tính (attribute)

 tên

 kiểu dữ liệ

 miền giá trị : có chứa thêm giá trị đặc biệt null

 ký hiệu

 thuộc tính : A1, A2, A3, …

 tập hợp các thuộc tính : {A1, A2, A3, … , An} hay A1A2A3…An

 miền giá trị c a thuộc tính : MGT(A)

Trang 3

Ts Ng An T ế - Ng Thúy Ng ọ c [PTTK - HT 3.2011 - 2012 HK1] Ch ươ ng 7: Thi ế t k ế thành ph ầ n D Ữ Ệ 9

2.1 Các khái ni ệ m c ơ b ả n (tt.)

 b (tuple), mẩu tin/bản ghi (record)

 vectơ gồm giá trị c a các thuộc tính

 ký hiệu

 b / mẩu tin : q = (a1, a2, a3, … , an), ai∈ MGT(Ai)

Ts Ng An T ế - Ng Thúy Ng ọ c [PTTK - HT 3.2011 - 2012 HK1] Ch ươ ng 7: Thi ế t k ế thành ph ầ n D Ữ Ệ 10

2.1 Các khái ni ệ m c ơ b ả n (tt.)

 quan hệ (relation), bảng (table)

 tập hợp các mẩu tin

 ký hiệu

 quan hệ / bảng : T(A1, A2, A3, … , An)

 lưu ý : gộp chung 2 khái niệm “lược đồ” (cấu trúc) và “quan hệ” (dữ

li u)

2.1 Các khái ni ệ m c ơ b ả n (tt.)

 siêu khóa (super key)

 tập hợp thuộc tính dùng để phân biệt 2 mẩu tin bất kỳ

 Ví d ụ : KET_QUA(masv, mamh, lanthi, diem) có 2 siêu khóa

S1 = {masv, mamh, lanthi}, S2 = {masv, mamh, lanthi, diem}

 khóa chỉ định / khóa n ộ i (candidate key)

 siêu khóa tối tiể

 Ví d ụ : KET_QUA(masv, mamh, lanthi)

 thuộc tính khóa : không lấy giá trị null

 thuộc tính không khóa

 khóa chính (primary key) = khóa n ộ i v ớ i ý ngh ĩ a cài đặ t : g ọ i t ắ t là “khóa”

2.1 Các khái ni ệ m c ơ b ả n (tt.)

 khóa ngoại (foreign key) Cho 2 quan hệ : 1) T(A1, … , An), P = {A1, … , An}, KT: tập thuộc tính khóa của T 2) R(B1, … , Bm), Q = {B1, … , Bm}, KR: tập thuộc tính khóa của R

 khóa ngoại tham chiếu R[KR] ⊆ T[KT] nếu : KT⊆ Q \ KR

(khóa của T là thuộc tính không khóa của R)

Ví d ụ : PHIEU_DH[makh] ⊆ KHACHHANG[makh]

 khóa ngoại phân cấp R[KT] ⊆ T[KT] nếu : KT⊆ KR

(khóa của T nằm trong khóa của R)

Ví d ụ : CTIET_HDON[sohd] ⊆ HOADON[sohd]

Trang 4

Ts Ng An T ế - Ng Thúy Ng ọ c [PTTK - HT 3.2011 - 2012 HK1] Ch ươ ng 7: Thi ế t k ế thành ph ầ n D Ữ Ệ 13

2.1 Các khái ni ệ m c ơ b ả n (tt.)

 phụ thuộc hàm (functional dependency)

 Cho quan hệ : T(A1, A2, … , An), Q = {A1, A2, … , An}

X, Y, Z ⊆ Q : (X ≠ ∅ ≠ Y) và (X ∪ Y ∪ Z = Q)

f : X → Y được gọi là một phụ thuộc hàm trên T nếu :

∀ q1,q2∈ T, (q1.X = q2.X) ⇒ (q1.Y = q2.Y)

Khi đó, ta nói : X xác đị nh hàm Y hay Y ph ụ thu ộ c hàm X

Ví d ụ : T = HOADON, sohd → ngayhd, sotienhd

 phụ thuộc hàm hiể n nhiên : f : X → X

 phụ thuộc hàm nguyên tố

 f : X → Y là nguyên tố n u : ∃ X’ ⊂ X : X’ → Y

Ts Ng An T ế - Ng Thúy Ng ọ c [PTTK - HT 3.2011 - 2012 HK1] Ch ươ ng 7: Thi ế t k ế thành ph ầ n D Ữ Ệ 14

2.1 Các khái ni ệ m c ơ b ả n (tt.)

 hệ luật dẫn Amstrong

Giả sử : X, Y, W, Z ⊆ Q = {A1, A2, … , An}

 luật phản xạ : (Y ⊆ X) ⇒ X → Y

 luật phân rã : (X → Y) ∧ (Z ⊆ Y) ⇒ X → Z

 luật hội : (X → Y) ∧ (X → Z) ⇒ X → YZ

 luật bắc cầu : (X → Y) ∧ (Y → Z) ⇒ X → Z

 luật bắc cầu giả : (X → Y) ∧ (WY → Z) ⇒ XW → Z

 luật thêm vào : (X → Y) ∧ (Z ⊆ W) ⇒ XW → YZ

 luật phân rã cho phép giả sử v phải của mọi phụ thuộc hàm đều chỉ chứa duy nhất 1 thuộc tính

2.1 Các khái ni ệ m c ơ b ả n (tt.)

 Cho T(A1, A2, … , An), Q = {A1, A2, … , An}, F = { f : X → Y },

 bao đóng (closure) của F, ký hiệu F+, là tập hợp tất cả các PTH có thể

suy diễn từ F dựa vào hệ luật dẫn Amstrong

 bao đóng của tập thuộc tính X dựa trên F, ký hiệu XF, là tập hợp các

thuộc tính phụ thuộc vào X

XF = { Ai∈ Q | X → Ai∈ F+}

2.2 Các d ạ ng chu ẩ n

 chất lượng thiết kế CSDL

 sự trùng lắp thông tin

 sự nhất quán về dữ liệ

Trang 5

Ts Ng An T ế - Ng Thúy Ng ọ c [PTTK - HT 3.2011 - 2012 HK1] Ch ươ ng 7: Thi ế t k ế thành ph ầ n D Ữ Ệ 17

2.2 Các d ạ ng chu ẩ n (tt.)

 thuộc tính đơn

 chỉ có thể truy xuất toàn bộ giá trị c a thuộc tính (“nguyên từ

 dạng chuẩn 1 (DC1)

 DC1 thể hiện cấu trúc phẳng

Quan hệ T(A1, A2, … , An) ở DC1 nếu :

m ọ i thu ộ c tính Ai đề u là thu ộ c tính đơ n

Ts Ng An T ế - Ng Thúy Ng ọ c [PTTK - HT 3.2011 - 2012 HK1] Ch ươ ng 7: Thi ế t k ế thành ph ầ n D Ữ Ệ 18

2.2 Các d ạ ng chu ẩ n (tt.)

 thuộc tính Aiphụ thuộc đầy đủ vào tập thuộc tính X nếu :

 Ai∈ XF

 X → Ailà nguyên tố

 dạng chuẩn 2 (DC2)

Quan hệ T(A1, A2, … , An) ở DC2 nếu :

a) T ở DC1 và

b) m ọ i thu ộ c tính không khóa đề u ph ụ thu ộ c đầ y đủ vào các khóa

Ví dụ : PHIEU_DH(sodh, ngaydh, makh, mahh, soluongdh) không ở DC2

2.2 Các d ạ ng chu ẩ n (tt.)

 thuộc tính Aiphụ thuộc bắc cầu vào tập thuộc tính X nếu

∃∃∃∃ Y Q :

 (X → Y ∈ F+) ∧ (Y → Ai∈ F+)

 Y → X ∉ F+

 Ai∉ X ∪ Y

Khi đó, X → Aig i là PTH bắc cầ

 dạng chuẩn 3 (DC3)

Quan hệ T(A1, A2, … , An) ở DC3 nếu :

a) T ở DC2 và

b) m ọ i thu ộ c tính không khóa đề u KHÔNG ph ụ thu ộ c b ắ c c ầ

vào b ấ t k ỳ khóa nào

2.2 Các d ạ ng chu ẩ n (tt.)

 Dạng chuẩn BCK (DC-BCK)

Quan hệ T(A1, A2, … , An) ở DC-BCK nếu :

m ọ i PTH không hi ể n nhiên đề u có v ế trái ch ứ a khóa

Trang 6

Ts Ng An T ế - Ng Thúy Ng ọ c [PTTK - HT 3.2011 - 2012 HK1] Ch ươ ng 7: Thi ế t k ế thành ph ầ n D Ữ Ệ 21

N ộ i dung

1 M ở đầ u

2 Mô hình d ữ li u quan h ệ (tóm t ắ t)

3 Thiết kế thành phần dữ li u

Ts Ng An T ế - Ng Thúy Ng ọ c [PTTK - HT 3.2011 - 2012 HK1] Ch ươ ng 7: Thi ế t k ế thành ph ầ n D Ữ Ệ 22

3 Thi ế t k ế thành ph ầ n d ữ li ệ u

 mô hình

 mô hình quan hệ

 phương pháp lập sơ đồ quan hệ dữ li u

 áp dụng các qui tắc chuyển đổi s ơ đồ quan niệm dữ liệu sang sơ đồ quan hệ dữ liệ (bảo đảm các bảng ở DC3)

 công cụ tin học

 DB-Main

 PowerDesigner

3 Thi ế t k ế thành ph ầ n d ữ li ệ u (tt.)

B1.

Chuy ể n đổ i

s ơ đồ quan ni ệ m d ữ li ệ

B1.

Chuyển đổi

sơ đồ quan niệm dữ liệ

B2.

Hoàn ch ỉ nh

s ơ đồ quan h ệ d ữ li ệ

B2.

Hoàn chỉnh

sơ đồ quan hệ dữ liệ

B3.

Mô t ả ràng bu ộ

ở m ứ c thi ế t k ế

B3.

Mô tả ràng buộ

ở mức thiết kế

3.1 Chuy ể n đổ i s ơ đồ quan ni ệ m DL

 Qui tắc #1

a) Lo ạ i th ự c th ể T quan h ệ T’

b) Thu ộ c tính c ủ a T thu ộ c tính c ủ a T’

c) Khóa c ủ a T khóa c ủ a T’

Trang 7

Ts Ng An T ế - Ng Thúy Ng ọ c [PTTK - HT 3.2011 - 2012 HK1] Ch ươ ng 7: Thi ế t k ế thành ph ầ n D Ữ Ệ 25

3.1 Chuy ể n đổ i s ơ đồ quan ni ệ m DL (tt.)

 Lưu ý với qui tắc #1

 n u bản số max của thuộc tính > 1

 t ă ng kích th ướ c c ủ a thu ộ c tính trong T’, ho ặ

 t ạ o thêm quan h ệ T’’ v ớ i khóa c ủ a T’’ có ch ứ a khóa c ủ a T’

Ts Ng An T ế - Ng Thúy Ng ọ c [PTTK - HT 3.2011 - 2012 HK1] Ch ươ ng 7: Thi ế t k ế thành ph ầ n D Ữ Ệ 26

3.1 Chuy ể n đổ i s ơ đồ quan ni ệ m DL (tt.)

 Qui tắc #2

a) N ế u các nhánh c ủ a lo ạ i m ố i k ế t h ợ p K đề u có b ả n s ố max là n

thì K s ẽ đượ c chuy ể n thành m ộ t quan h ệ g m các thu ộ c tính c ủ a K

c ộ ng thêm thu ộ c tính khóa c ủ a các lo ạ i th ự c th ể tham gia vào K b) Khóa c ủ a quan h ệ m ớ i g ồ m khóa c ủ a m ỗ i lo ạ i th ự c th ể tham gia vào K

3.1 Chuy ể n đổ i s ơ đồ quan ni ệ m DL (tt.)

 Lưu ý với qui tắc #2

 n u một nhánh của K có bản số min > 0 thì trong B3 phải bổ sung mộ

ràng buộc liên quan đến bản số min này

 Ví d ụ :

 “M ỗ i công trình ph ả đượ c th ự c hi ệ n b ở i ít nh ấ t 1 nhà NC”

3.1 Chuy ể n đổ i s ơ đồ quan ni ệ m DL (tt.)

 Qui tắc #3

a) N ế u lo ạ i m ố i k ế t h ợ p K mà nhánh A có b ả n s ố max là 1 và

nhánh B còn l ạ i có b ả n s ố max là n thì lo ạ i b ỏ K kh ỏ i s ơ đồ

quan h ệ và thêm các thu ộ c tính khóa c ủ a B vào quan h ệ tương

ứ ng v ớ i A (khóa c ủ a B s ẽ tr thành khóa ngo ạ i c ủ a A).

b) N ế u K có các thu ộ c tính thì chúng c ũ ng đượ c thêm vào quan h ệ tương ứ ng v ớ i A

Trang 8

Ts Ng An T ế - Ng Thúy Ng ọ c [PTTK - HT 3.2011 - 2012 HK1] Ch ươ ng 7: Thi ế t k ế thành ph ầ n D Ữ Ệ 29

3.1 Chuy ể n đổ i s ơ đồ quan ni ệ m DL (tt.)

 Lưu ý với qui tắc #3

 Nếu bản số c a nhánh A là (1,1) thì các thuộc tính mới thêm vào quan

hệ tương ứng với A sẽ có đặc tính NOT NULL

Ts Ng An T ế - Ng Thúy Ng ọ c [PTTK - HT 3.2011 - 2012 HK1] Ch ươ ng 7: Thi ế t k ế thành ph ầ n D Ữ Ệ 30

3.1 Chuy ể n đổ i s ơ đồ quan ni ệ m DL (tt.)

 Qui tắc #4

N ế u lo ạ i m ố i k ế t h ợ p K mà các nhánh đề u có b ả n s ố max là 1

thì áp d ụ ng qui t ắ c 3 cho m ộ t trong các nhánh (tùy ch ọ n).

3.1 Chuy ể n đổ i s ơ đồ quan ni ệ m DL (tt.)

 Qui tắc #5

Ví d ụ :

N ế u có nhi ề u lo ạ i MKH đị nh ngh ĩ a trên hai lo ạ i th ự c th ể thì có

th ể chuy ể n đổ i l ầ n l ượ t t ừ ng lo ạ i MKH và chú ý đặ t tên phân

bi ệ t cho các thu ộ c tính.

3.1 Chuy ể n đổ i s ơ đồ quan ni ệ m DL (tt.)

 Qui tắc #6 (Chuyên biệt hóa – Tổng quát hóa)

Cách 1 : T ạ o m ộ t quan h ệ duy nh ấ t, g ồ m t ấ t c ả nh ữ ng thu ộ c tính c ủ a các lo ạ i th ự c th ể cha và con.

Cách 2 : Chuy ể n đổ i m ỗ i lo ạ i th ự c th ể CON thành m ộ t quan h ệ

riêng, trong đ ó khóa c ủ a m ỗ i quan h ệ này ph ả i ch ứ a thêm các thu ộ c tính khóa c ủ a quan h ệ tương ứ ng v ớ i lo ạ i th ự c th ể CHA.

Trang 9

Ts Ng An T ế - Ng Thúy Ng ọ c [PTTK - HT 3.2011 - 2012 HK1] Ch ươ ng 7: Thi ế t k ế thành ph ầ n D Ữ Ệ 33

3.1 Chuy ể n đổ i s ơ đồ quan ni ệ m DL (tt.)

 Qui tắc #7 (Loại MKH phản thân / đệ qui)

Ví d ụ :

Sau khi chuy ể n đổ i lo ạ i th ự c th ể thành quan h ệ , b ổ sung thêm

m ộ t thu ộ c tính phân c ấ p vào quan h ệ này.

Ts Ng An T ế - Ng Thúy Ng ọ c [PTTK - HT 3.2011 - 2012 HK1] Ch ươ ng 7: Thi ế t k ế thành ph ầ n D Ữ Ệ 34

3.2 Hoàn ch ỉ nh s ơ đồ quan h ệ DL

 thêm, bớt các quan hệ

 thêm, bớt các thuộc tính

 kiểm tra các dạng chuẩn

 các quan hệ đạt DC3 (tối thiểu) : dữ liệu không bị trùng lắ

3.3 Mô t ả RB d ữ li ệ u ở m ứ c thi ế t k ế

 phân loại các RB ở mức thiết kế

 tương tự phần phân tích

 kiểm tra RB

 đầy đủ

 hiệu quả

 khi nào ph ả i ki ể m tra RB r ?

 vào th ờ i i ể m t, ph ả i ki ể m tra nh ữ ng RB nào ?

3.3 Mô t ả RB d ữ li ệ u ở m ứ c thi ế t k ế (tt.)

 Bảng tầm ảnh hưởng : RB về miền giá trị của thuộc tính

Thao tác Quan h ệ Thêm S a Xóa

Trang 10

Ts Ng An T ế - Ng Thúy Ng ọ c [PTTK - HT 3.2011 - 2012 HK1] Ch ươ ng 7: Thi ế t k ế thành ph ầ n D Ữ Ệ 37

3.3 Mô t ả RB d ữ li ệ u ở m ứ c thi ế t k ế (tt.)

 Bảng tầm ảnh hưởng : RB giữa các thuộc tính trong cùng quan hệ

Thao tác Quan h ệ Thêm S a Xóa

Ts Ng An T ế - Ng Thúy Ng ọ c [PTTK - HT 3.2011 - 2012 HK1] Ch ươ ng 7: Thi ế t k ế thành ph ầ n D Ữ Ệ 38

3.3 Mô t ả RB d ữ li ệ u ở m ứ c thi ế t k ế (tt.)

 Bảng tầm ảnh hưởng : RB giữa các bộ (mẩu tin) trong cùng quan hệ

 Lưu ý : KHÔNG được sửa giá trị thuộc tính khóa

Thao tác Quan h ệ Thêm S a Xóa

3.3 Mô t ả RB d ữ li ệ u ở m ứ c thi ế t k ế (tt.)

 Bảng tầm ảnh hưởng : RB khóa ngoại

Thao tác Quan h ệ Thêm S a Xóa

3.3 Mô t ả RB d ữ li ệ u ở m ứ c thi ế t k ế (tt.)

 Bảng tầm ảnh hưởng TỔNG HỢP

Quan h ệ

RB

Trang 11

Ts Ng An T ế - Ng Thúy Ng ọ c [PTTK - HT 3.2011 - 2012 HK1] Ch ươ ng 7: Thi ế t k ế thành ph ầ n D Ữ Ệ 41

Th ắ c m ắ c

Ts Ng An T ế - Ng Thúy Ng ọ c [PTTK - HT 3.2011 - 2012 HK1] Ch ươ ng 7: Thi ế t k ế thành ph ầ n D Ữ Ệ 42

Th ả o lu ậ n – Bài t ậ p nhóm

 thiết kế thành phần dữ li u của HT3 quản lý đơn đặt hàng

 lập sơ đồ quan hệ dữ liệ

 mô tả ràng buộc dữ liệu ở mức thiết kế

 lập bảng tẩm ảnh hưởng tổng hợp

Ngày đăng: 12/04/2015, 14:07

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

TÀI LIỆU LIÊN QUAN

w