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 241 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

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ọc Ts. Ng. An Tế - Ng. Thúy Ngọc [PTTK - HT3.2011 - 2012.HK1] Chương 7: Thiết kế thành phần DỮ LIỆU 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ệ Ts. Ng. An Tế - Ng. Thúy Ngọc [PTTK - HT3.2011 - 2012.HK1] Chương 7: Thiết kế thành phần DỮ LIỆU 3 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 - HT3.2011 - 2012.HK1] Chương 7: Thiết kế thành phần DỮ LIỆU 4 1. Mở đầu sơ đồ quan niệm DL (E-R) DỮ LIỆU 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 Ts. Ng. An Tế - Ng. Thúy Ngọc [PTTK - HT3.2011 - 2012.HK1] Chương 7: Thiết kế thành phần DỮ LIỆU 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ệu  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 - HT3.2011 - 2012.HK1] Chương 7: Thiết kế thành phần DỮ LIỆU 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 Ts. Ng. An Tế - Ng. Thúy Ngọc [PTTK - HT3.2011 - 2012.HK1] Chương 7: Thiết kế thành phần DỮ LIỆU 7 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 Ts. Ng. An Tế - Ng. Thúy Ngọc [PTTK - HT3.2011 - 2012.HK1] Chương 7: Thiết kế thành phần DỮ LIỆU 8 2.1 Các khái niệm cơ bản  thuộc tính (attribute)  tên  kiểu dữ liệu  miền giá trị : có chứa thêm giá trị đặc biệt null  ký hiệu  thuộc tính : A 1 , A 2 , A 3 , …  tập hợp các thuộc tính : {A 1 , A 2 , A 3 , … , A n } hay A 1 A 2 A 3 …A n  miền giá trị của thuộc tính : MGT(A) Ts. Ng. An Tế - Ng. Thúy Ngọc [PTTK - HT3.2011 - 2012.HK1] Chương 7: Thiết kế thành phần DỮ LIỆU 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 = (a 1 , a 2 , a 3 , … , a n ), a i ∈MGT(A i ) Ts. Ng. An Tế - Ng. Thúy Ngọc [PTTK - HT3.2011 - 2012.HK1] Chương 7: Thiết kế thành phần DỮ LIỆU 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(A 1 , A 2 , A 3 , … , A n )  lưu ý : gộp chung 2 khái niệm “lược đồ” (cấu trúc) và “quan hệ” (dữ liệu) Ts. Ng. An Tế - Ng. Thúy Ngọc [PTTK - HT3.2011 - 2012.HK1] Chương 7: Thiết kế thành phần DỮ LIỆU 11 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ểu  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” Ts. Ng. An Tế - Ng. Thúy Ngọc [PTTK - HT3.2011 - 2012.HK1] Chương 7: Thiết kế thành phần DỮ LIỆU 12 2.1 Các khái niệm cơ bản (tt.)  khóa ngoại (foreign key) Cho 2 quan hệ : 1) T(A 1 , … , A n ), P = {A 1 , … , A n }, K T : tập thuộc tính khóa của T 2) R(B 1 , … , B m ), Q = {B 1 , … , B m }, K R : tập thuộc tính khóa của R  khóa ngoại tham chiếu R[K R ] ⊆ T[K T ] nếu : K T ⊆ Q \ K R (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[K T ] ⊆ T[K T ] nếu : K T ⊆ K R (khóa của T nằm trong khóa của R) Ví dụ : CTIET_HDON[sohd] ⊆ HOADON[sohd] Ts. Ng. An Tế - Ng. Thúy Ngọc [PTTK - HT3.2011 - 2012.HK1] Chương 7: Thiết kế thành phần DỮ LIỆU 13 2.1 Các khái niệm cơ bản (tt.)  phụ thuộc hàm (functional dependency)  Cho quan hệ : T(A 1 , A 2 , … , A n ), Q = {A 1 , A 2 , … , A n } 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 : ∀q 1 ,q 2 ∈T, (q 1 .X = q 2 .X) ⇒ (q 1 .Y = q 2 .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 - HT3.2011 - 2012.HK1] Chương 7: Thiết kế thành phần DỮ LIỆU 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 Ts. Ng. An Tế - Ng. Thúy Ngọc [PTTK - HT3.2011 - 2012.HK1] Chương 7: Thiết kế thành phần DỮ LIỆU 15 2.1 Các khái niệm cơ bản (tt.)  Cho T(A 1 , A 2 , … , A n ), Q = {A 1 , A 2 , … , A n }, 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 X F + , là tập hợp các thuộc tính phụ thuộc vào X X F + = { A i ∈Q | X → A i ∈ F + } Ts. Ng. An Tế - Ng. Thúy Ngọc [PTTK - HT3.2011 - 2012.HK1] Chương 7: Thiết kế thành phần DỮ LIỆU 16 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ệu Ts. Ng. An Tế - Ng. Thúy Ngọc [PTTK - HT3.2011 - 2012.HK1] Chương 7: Thiết kế thành phần DỮ LIỆU 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(A 1 , A 2 , … , A n ) ở DC1 nếu : mọi thuộc tính A i đều là thuộc tính đơn Ts. Ng. An Tế - Ng. Thúy Ngọc [PTTK - HT3.2011 - 2012.HK1] Chương 7: Thiết kế thành phần DỮ LIỆU 18 2.2 Các dạng chuẩn (tt.)  thuộc tính A i phụ thuộc đầy đủ vào tập thuộc tính X nếu :  A i ∈ X F +  X → A i là nguyên tố  dạng chuẩn 2 (DC2) Quan hệ T(A 1 , A 2 , … , A n ) ở 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 Ts. Ng. An Tế - Ng. Thúy Ngọc [PTTK - HT3.2011 - 2012.HK1] Chương 7: Thiết kế thành phần DỮ LIỆU 19 2.2 Các dạng chuẩn (tt.)  thuộc tính A i phụ thuộc bắc cầu vào tập thuộc tính X nếu ∃ ∃∃ ∃Y ⊆ ⊆⊆ ⊆ Q :  (X → Y ∈ F + ) ∧ (Y → A i ∈ F + )  Y → X ∉ F +  A i ∉ X ∪ Y Khi đó, X → A i gọi là PTH bắc cầu  dạng chuẩn 3 (DC3) Quan hệ T(A 1 , A 2 , … , A n ) ở 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ầu vào bất kỳ khóa nào Ts. Ng. An Tế - Ng. Thúy Ngọc [PTTK - HT3.2011 - 2012.HK1] Chương 7: Thiết kế thành phần DỮ LIỆU 20 2.2 Các dạng chuẩn (tt.)  Dạng chuẩn BCK (DC-BCK) Quan hệ T(A 1 , A 2 , … , A n ) ở DC-BCK nếu : mọi PTH không hiển nhiên đều có vế trái chứa khóa Ts. Ng. An Tế - Ng. Thúy Ngọc [PTTK - HT3.2011 - 2012.HK1] Chương 7: Thiết kế thành phần DỮ LIỆU 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 - HT3.2011 - 2012.HK1] Chương 7: Thiết kế thành phần DỮ LIỆU 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ệu (bảo đảm các bảng ở DC3)  công cụ tin học  DB-Main  PowerDesigner Ts. Ng. An Tế - Ng. Thúy Ngọc [PTTK - HT3.2011 - 2012.HK1] Chương 7: Thiết kế thành phần DỮ LIỆU 23 3. Thiết kế thành phần dữ liệu (tt.) B1. Chuyển đổi sơ đồ quan niệm dữ liệu B1. Chuyển đổi sơ đồ quan niệm dữ liệu B2. Hoàn chỉnh sơ đồ quan hệ dữ liệu B2. Hoàn chỉnh sơ đồ quan hệ dữ liệu B3. Mô tả ràng buộc ở mức thiết kế B3. Mô tả ràng buộc ở mức thiết kế Ts. Ng. An Tế - Ng. Thúy Ngọc [PTTK - HT3.2011 - 2012.HK1] Chương 7: Thiết kế thành phần DỮ LIỆU 24 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’ Ts. Ng. An Tế - Ng. Thúy Ngọc [PTTK - HT3.2011 - 2012.HK1] Chương 7: Thiết kế thành phần DỮ LIỆU 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ặc  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 - HT3.2011 - 2012.HK1] Chương 7: Thiết kế thành phần DỮ LIỆU 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 Ts. Ng. An Tế - Ng. Thúy Ngọc [PTTK - HT3.2011 - 2012.HK1] Chương 7: Thiết kế thành phần DỮ LIỆU 27 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ột ràng buộc liên quan đến bản số min này  Ví dụ :  “Mỗi công trình phải được thực hiện bởi ít nhất 1 nhà NC” Ts. Ng. An Tế - Ng. Thúy Ngọc [PTTK - HT3.2011 - 2012.HK1] Chương 7: Thiết kế thành phần DỮ LIỆU 28 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 Ts. Ng. An Tế - Ng. Thúy Ngọc [PTTK - HT3.2011 - 2012.HK1] Chương 7: Thiết kế thành phần DỮ LIỆU 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 - HT3.2011 - 2012.HK1] Chương 7: Thiết kế thành phần DỮ LIỆU 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). Ts. Ng. An Tế - Ng. Thúy Ngọc [PTTK - HT3.2011 - 2012.HK1] Chương 7: Thiết kế thành phần DỮ LIỆU 31 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. Ts. Ng. An Tế - Ng. Thúy Ngọc [PTTK - HT3.2011 - 2012.HK1] Chương 7: Thiết kế thành phần DỮ LIỆU 32 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. Ts. Ng. An Tế - Ng. Thúy Ngọc [PTTK - HT3.2011 - 2012.HK1] Chương 7: Thiết kế thành phần DỮ LIỆU 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 - HT3.2011 - 2012.HK1] Chương 7: Thiết kế thành phần DỮ LIỆU 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ắp Ts. Ng. An Tế - Ng. Thúy Ngọc [PTTK - HT3.2011 - 2012.HK1] Chương 7: Thiết kế thành phần DỮ LIỆU 35 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 ? Ts. Ng. An Tế - Ng. Thúy Ngọc [PTTK - HT3.2011 - 2012.HK1] Chương 7: Thiết kế thành phần DỮ LIỆU 36 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 T + + Ts. Ng. An Tế - Ng. Thúy Ngọc [PTTK - HT3.2011 - 2012.HK1] Chương 7: Thiết kế thành phần DỮ LIỆU 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 T + + Ts. Ng. An Tế - Ng. Thúy Ngọc [PTTK - HT3.2011 - 2012.HK1] Chương 7: Thiết kế thành phần DỮ LIỆU 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 T + + Ts. Ng. An Tế - Ng. Thúy Ngọc [PTTK - HT3.2011 - 2012.HK1] Chương 7: Thiết kế thành phần DỮ LIỆU 39 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 T_CHA + T_CON + + Ts. Ng. An Tế - Ng. Thúy Ngọc [PTTK - HT3.2011 - 2012.HK1] Chương 7: Thiết kế thành phần DỮ LIỆU 40 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 T 1 . . . T n T S X T S X R 1 + + + R 2 + + + . . . + + + R m + + + [...]...Th c m c 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 u 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 Ts Ng An T - Ng Thúy Ng c [PTTK - HT3.2011 - 2012.HK1] Chương 7: Thi t k thành ph n D LI U 41 Ts Ng An T - Ng Thúy Ng c [PTTK - HT3.2011 - 2012.HK1] Chương 7: Thi t k thành ph n D LI U 42 . 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ọc Ts 2012.HK1] Chương 7: Thiết kế thành phần DỮ LIỆU 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ệu  mô tả ràng buộc dữ liệu ở mức thiết. Chương 7: Thiết kế thành phần DỮ LIỆU 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

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

Xem thêm: 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

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

TÀI LIỆU LIÊN QUAN

w