III.5. Lập lược đồ dữ liệu với mô hình quan hệ ........

Một phần của tài liệu BÀI GIẢNG MÔN HỌC PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG THÔNG TIN (Trang 31)

Quan hệ

- Cho D1,D2,...,Dn là n miền giá trị, không nhất thiết khác nhau. Một quan hệ R trên các miền D1,D2,...,Dn là một tập con của tích Đề các giữa các miền đó.

R ⊆ D1 X D2 X...X Dn

Mỗi bộ của R có dạng <d1,d2,..,dn> với di ∈ Di

Nếu viết ra tất cả các bộ phần tử của quan hệ, mỗi phần tử trên 1 dòng thì ta có một bảng 2 chiều:

m : Số các cột, gọi là cấp của quan hệ m : Số các òng, gọi là bản số của quan hệ. Thí dụ : D1 : Tập người

D2 : Tập số nguyên dương

Quan hệ R ⊆ D1 X D1 X D2, trong đó mỗi bộ (a, b, k) diễn tả một cuộc hôn nhân ”anh a lấy chị b vào năm k”

Cột 1 Cột 2 Cột 3 Giáp Nam An Thu Huệ Thuỷ 1972 1980 1985

- Thuộc tính: Tên cột gọi là thuộc tính của quan hệ Thí dụ: Đặt tên thuộc tính của quan hệ trên như sau:

Chồng Vợ Năm kết hôn

Giáp

An Thuỷ 1985 - Các tính chất của quan hệ

+ Giá trị đưa vào cột phải đơn nhất

+ Các giá trị đưa vào cột phải thuộc một miền giá trị + Không có bất kỳ 2 dòng giống nhau

- Khóa chính của quan hệ là một hay một nhón thuộc tính mà giá trị của nó xác định duy nhất mỗi dòng trong quan hệ

- Khóa ngoài của quan hệ là một hay một vài thuộc tính của quan hệ, nhưng là khóa chính của 1 quan hệ khác.

Lược đồ quan hệ

- Nếu thêm vào hay bớt đi một dòng trong quan hệ thì tính chất của quan hệ không thay đổi.

- Lược đồ quan hệ là cách biểu diễn khái quát hóa quan hệ Ký hiệu: Tên (Danh sách thuộc tính)

Ví dụ: SinhViên(Mã SV, Tên SV, Địa chỉ)

Đối sánh quan hệ với kiểu thục thể

- Một kiểu thực thể là một quan hệ

- Tuy nhiên, một quan hệ mang ý nghĩa phức tạp hơn nhiều kiểu thực thể.

P hụ t huộ c hà m

Định nghĩa

Cho lược đồ quan hệ R xác định trên tập thuộc tính Ai. X,Y là hai tập thuộc tính, X⊆ Ai, Y⊆ Ai. Ta nói rằng X xác định hàm Y (hay Y phụ thuộc hàm vào X) nếu với mọi bộ t1, t2 ∈ R.

Nếu t1 (X) = t2 (X) thì ta đều có t1 (Y) = t2 (Y). Ký hiệu: X Y

Ví dụ: Mã SV { Tên SV, Ngày sinh, Lớp, Khoa} {Mã SV, Mã MH} { Tên SV, Ngày sinh, Lớp, Khoa, Điểm}

Tính chất

• Tính phản xạ: Nếu B⊆ A thì A B (adsbygoogle = window.adsbygoogle || []).push({});

• Tính tăng trưởng: Nếu A B thì AC BC

• Tính bắc cầu: Nếu A B và B C thì A C

• Tính phân rã: Nếu A B và D⊆ B thì A D

• Tính gộp: Nếu A B và A C thì A BC

C huẩ n hó a q ua n hệ và c á c d ạ ng c huẩ n

Chuẩn hóa là quá trình chuyển một quan hệ có cấu trúc dữ liệu phức hợp thành các quan hệ có cấu trúc dữ liệu đơn giản hơn và vững chắc.

Khuyểt tật của các quan hệ

- Sự dư thừa thông tin: Đó là sự lặp lại cùng một thông tin nhiểu lần ở nhiều chỗ. Nguồn gốc là sự có mặt của một phụ thuộc hàm A B mà A không phải là khóa.

Ví dụ: Điểm SV (Mã SV, Mã MH, Tên SV, Điểm) Mã SV,Mã MH -> Tên SV,Điểm

Mã SV -> Tên SV

- Khuyết tật khi cập nhật: Khi muốn điều chỉnh 1 thông tin mà thông tin đó lại xuất hiện trên nhiều dòng của quan hệ, ta phải tìm kiếm, mất thời gian. Ví dụ: ta muốn điều chỉnh Tên SV ở quan hệ Điểm SV nói trên. - Khuyết tật khi bổ xung thông tin:

Ví dụ: SinhViên (Mã SV, Tên SV, Mã MH,Điểm) Ta không thể bổ xung bộ (Mã SV,Tên SV)

Chuẩn hóa quan hệ

(1) Quan hệ chưa chuẩn hóa:

- Quan hệ chưa chuẩn hóa là quan hệ có chứa thuộc tính lặp. Ví dụ: Lược đồ quan hệ Đơn hàng(Số đơn, Mã khách, Tên KH, Địa chỉ, Ngày đặt, Mã hàng*, Tên hàng*, Đơn vị*, Số lượng*)

(2) Quan hệ ở dạng chuẩn 1:

- Là quan hệ không chứa thuộc tính lặp

- Tách một quan hệ chưa chuẩn hóa thành quan hệ ở dạng chuẩn 1 + Quan hệ 1: Gồm các thuộc tính lặp và phần khóa xác định chúng + Quan hệ 2: Gồm các thuộc tính còn lại và khóa chính

Ví dụ: Quan hệ trên được tách thành 2 quan hệ:

QH1 (Số đơn, Mã khách, Tên KH, Địa chỉ, Ngày đặt, Mã hàng) QH2 (Mã hàng, Tên hàng, Đơn vị, Số lượng)

(3) Quan hệ ở dạng chuẩn 2: - Là quan hệ:

+ Ở dạng chuẩn 1

+ Không tồn tại các thuộc tính không khóa phụ thuộc vào một phần khóa chính.

+ Quan hệ 1: Gồm các thuộc tính phụ thuộc vào 1 phần khóa chính và phần khóa xác định chúng.

+ Quan hệ 2: Gồm các thuộc tính còn lại và khóa chính. Ví dụ: Quan hệ Điểm:

Điểm (Mã SV, Tên SV, Địa chỉ, Mã MH,Tên MH, Điểm) Mã SV,Mã MH ->Tên SV, Địa chỉ, Tên MH, Điểm

Mã MH -> Tên MH

Mã SV -> Tên SV, Địa chỉ

Tách thành 3 quan hệ ở dạng chuẩn 2 qua 2 phép tách QH1(Mã MH,Tên MH) QH2(Mã SV, Tên SV, Địa chỉ) QH3(Mã SV,Mã MH,Điểm) (4) Quan hệ ở dạng chuẩn 3: - Là quan hệ: + Ở dạng chuẩn 2

+ Không tồn tại các thuộc tính không khóa phụ thuộc bắc cầu vào khóa chính (qua một thuộc tính gọi là thuộc tính cầu). (adsbygoogle = window.adsbygoogle || []).push({});

- Tách một quan hệ ở dạng chuẩn 2 thành quan hệ ở dạng chuẩn 3 + Quan hệ 1: Gồm các thuộc tính phụ thuộc bắc cầu và thuộc tính cầu.

+ Quan hệ 2: Gồm các thuộc tính còn lại và thuộc tính cầu Ví dụ: Quan hệ Đơn hàng:

Đơn hàng (Số đơn, Mã khách, Tên khách, Địa chỉ, Ngày đặt) Số đơn -> Mã khách, Tên khách, Địa chỉ, Ngày đặt

Mã khách -> Tên khách, Địa chỉ Tách thành 2 quan hệ

QH1(Mã khách, Tên khách, Địa chỉ) QH2(Số đơn, Mã khách, Ngày đặt)

Một phần của tài liệu BÀI GIẢNG MÔN HỌC PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG THÔNG TIN (Trang 31)