– Xây dựng kiểu thực thể mới: Các nhóm thuộc tính lặp được tách ra kết hợp với thuộc tính định danh của thực thể trên tạo nên các thực thể mới.. Xây dựng mô hình thực thể - liên kết tiế
Trang 1Chương 4: CÁC MÔ HÌNH VÀ PHƯƠNG TIỆN DIỄN TẢ DỮ LIỆU
z Mã hoá dữ liệu (Coding)
z Mô hình thực thể - liên kết E-R (Entity Relationship Model)
z Mô hình quan hệ (Relational Model)
z Xây dựng mô hình dữ liệu logic
Trang 24.1 MÃ HOÁ DỮ LIỆU
4.1.1 Khái niệm mã hoá
Mã hoá là việc gán một tên gọi vắn tắt cho một đối tượng nào đó Mỗi đối tượng gồm nhiều thuộc tính khác nhau nên yêu cầu mã hoácho các đối tượng là một yêu cầu cần thiết Ngoài ra mã hoá còn là
hình thức chuẩn hoá dữ liệu và bảo mật dữ liệu đặc biệt trong các hệthống xử lý bằng máy tính
Ví dụ: Số CMND → Xác định một công dân
Biển số xe → Xác định một xe chiếc xe
Trang 34.1 MÃ HOÁ DỮ LIỆU
4.1.2 Chất lượng của việc mã hoá
Để đánh giá chất lượng của việc mã hoá, ta dựa vào các tiêu chí:
– Không nhập nhằng: Thể hiện ánh xạ 1-1 từ tập đối tượng được
mã hoá vào tập mã
– Thích ứng với phương thức sử dụng: Thực hiện bằng thủ công
nên dễ hiểu, đơn giản Thực hiện bằng máy tính, đòi hỏi phải chặt chẽ
Trang 44.1 MÃ HOÁ DỮ LIỆU
4.1.3 Các kiểu mã hoá
a, Mã hoá liên tiếp
Dùng các số nguyên liên tiếp để mã
Ưu điểm: Không nhập nhằng, đơn giản, mở rộng phía sau được.
Nhược điểm: Không xen được, thiếu tính gợi ý, cần có bảng tương ứng
giữa mà và đối tượng, không phân theo nhóm
Trang 6Ưu điểm: Không nhập nhằng, mở rộng, xen thêm được, được dùng khá
phổ biến, phân nhóm được
Nhược điểm: Dài, thao tác nặng nề, không cố định, có thể bị bảo hoà.
Trang 84.1 MÃ HOÁ DỮ LIỆU
4.1.3 Các kiểu mã hoá
e, Mã diễn nghĩa
Gán một tên viết tắt cho mỗi đối tượng, giúp ta hiểu được về đối tượng đó
Ví dụ: VIE – Việt Nam
Tha – Thái Lan
Sin – Singapore
Ưu điểm: Tiện lợi cho xử lý bằng tay
Nhược điểm: Khó giải mã được bằng máy tính.
Trang 94.1 MÃ HOÁ DỮ LIỆU
4.1.3 Lựa chọn kiểu mã hoá
Việc lựa chọn kiểu mã hoá cần dựa vào các yếu tố sau:
– Nghiên cứu việc sử dụng mã sau này
– Nghiên cứu số lượng đối tượng được mã hoá để lường trước sựphát triển
– Nghiên cứu sự phân bố thống kê để phân lớp
– Thoả thuận người dùng
– Thử nghiệm trước khi dùng chính thức
Trang 104.2 MÔ HÌNH THỰC THỂ - LIÊN KẾT
4.2.1 Khái niệm
Mô hình thực thể - liên kết là đồ thị biểu diễn các thực thể và mối quan hệ giữa chúng Nó là công cụ xây dựng lược đồ dữ liệu khái niệm của cơ sở dữ liệu Mô hình gồm 3 thành phần:
z Các kiểu thực thể
z Các thuộc tính của mỗi kiểu thực thể
z Liên kết giữa các kiểu thực thể
Trang 114.2 MÔ HÌNH THỰC THỂ - LIÊN KẾT
4.2.2 Thực thể và kiểu thực thể
Thực thể: Thực thể là một đối tượng cụ thể hay trừu tượng mà ta muốn
phản ánh nó trong hệ thống thông tin
Kiểu thực thể: Là một tập hợp các thực thể có cùng đặc trưng, cùng bản
chất, được mô tả theo cùng một cấu trúc.(Sau này ta đồng nhất thực thể với kiểu thực thể)
Ví dụ: Khách hàng, Sinh viên,…
Thể hiện thực thể (Instance): Là dữ liệu về một thực thể cụ thể
Ví dụ: Một thể hiện thực thể của thực thể SINH VIÊN là một sinh viên
cụ thể, chẳng hạn: (‘08123’, ‘Nguyễn Văn Tý’)
Trang 13z Thuộc tính tên gọi: Giá trị cho tên gọi 1 thể hiện thực thể.
Ví dụ: Họ và tên là thuộc tính tên gọi của thực thể SINH VIÊN
z Thuộc tính định danh: Giá trị của nó xác định duy nhất mỗi thể hiện
thực thể Thuộc tính định danh có thể chọn từ thuộc tính của thực thểhay có thể được thêm vào
Ví dụ: Mã mặt hàng là thuộc tính định danh của thực thể MẶT HÀNG
Biển số xe là thuộc tính định danh của thực thể XE MÁY
z Thuộc tính mô tả: Là các thuộc tính còn lại.
z Thuộc tính lặp: Là thuộc tính có nhiều giá trị.
Trang 144.2 MÔ HÌNH THỰC THỂ - LIÊN KẾT
4.2.3 Thuộc tính (attribute)
Cách biểu diễn
- Bằng hình elip, theo ký pháp sau:
- Tên thuộc tính là danh từ
Trang 154.2 MÔ HÌNH THỰC THỂ - LIÊN KẾT
4.2.3 Thuộc tính (attribute)
Ví dụ
Trang 16z Liên kết Một – Một (1-1): Hai kiểu thực thể A, B có liên kết 1-1 với nhau
nếu ứng với mỗi thể hiện thực thể trong A có một thể hiện thực thể
trong B và ngược lại
Trang 174.2 MÔ HÌNH THỰC THỂ - LIÊN KẾT
4.2.4 Liên kết thực thể (tiếp)
z Liên kết một – nhiều ( 1-N): Kiểu thực thể A có liên kết 1-N với kiểu
thực thể B nếu ứng với mỗi thể hiện thực thể trong A có nhiều thể hiện thực thể trong B, ứng với một thể hiện thực thể trong B chỉ có một thểhiện thực thể trong A
z Liên kết nhiều – nhiều (N-N) Hai kiểu thực thể A, B có liên kết N-N với
nhau nếu ứng với mỗi thể hiện thực thể trong A có nhiều thể hiện thực thể trong B và ngược lại
Trang 214.2 MÔ HÌNH THỰC THỂ - LIÊN KẾT
3.3.5 Xây dựng kiểu thực thể mới từ các thuộc tính lặp
Những thực thể có thuộc tính lặp ta cần tách ra thành các thực thểvới thuộc tính đơn
Cách thực hiện như sau:
– Tách các thuộc tính lặp ra khỏi thực thể Phần còn lại là các thuộc tính đơn của thực thể
– Xây dựng kiểu thực thể mới: Các nhóm thuộc tính lặp được tách ra kết hợp với thuộc tính định danh của thực thể trên tạo nên các
thực thể mới Xác định các thuộc tính định danh và đặt tên thích hợp cho các kiểu thực thể này
– Xác định liên kết: Liên kết giữa thực thể mới với thực thể ban đầu
là liên kết 1 -N (đầu nhiều ở thực thể mới) Tên liên kết là: Có
Trang 224.2 MÔ HÌNH THỰC THỂ - LIÊN KẾT
3.3.5 Xây dựng kiểu thực thể mới từ các thuộc tính lặp
Ví dụ 1:
Trang 234.2 MÔ HÌNH THỰC THỂ - LIÊN KẾT
3.3.5 Xây dựng kiểu thực thể mới từ các thuộc tính lặp
Ví dụ 2:
Trang 254.2 MÔ HÌNH THỰC THỂ - LIÊN KẾT
4.2.6 Xây dựng mô hình thực thể - liên kết ( tiếp)
Các bước xây dựng:
- Liệt kê, chính xác hóa và lựa chọn các thuộc tính
- Xác định các thực thể, các thuộc tính và định danh của chúng
- Xác định các liên kết thực thể và thuộc tính
- Vẽ mô hình
- Chuẩn hóa và rút gọn mô hình
Trang 264.2 MÔ HÌNH THỰC THỂ - LIÊN KẾT
4.2.6 Xây dựng mô hình thực thể - liên kết ( tiếp)
a, Liệt kê, chính xác hóa và lựa chọn các thuộc tính
Liệt kê:
- Xét danh sách các hồ sơ dữ liệu
- Với mỗi hồ sơ ta ghi tên hồ sơ và các mục dữ liệu (thuộc tính) của nó
- Việc liệt kê phải đảm bảo đầy đủ, không được bỏ sót
Chính xác hóa
- Tên gọi mỗi thuộc tính mang đầy đủ ý nghĩa (có một nghĩa duy nhất)
- Hai thuộc tính khác nhau phải có ý nghĩa khác nhau
Chọn lọc
- Mỗi thuộc tính cần phải đặc trưng cho một loại hồ sơ được xét
- Mỗi thuộc tính chỉ được chọn một lần
- Mỗi thuộc tính phải là sơ cấp
Trang 274.2 MÔ HÌNH THỰC THỂ - LIÊN KẾT
4.2.6 Xây dựng mô hình thực thể - liên kết ( tiếp)
a, Liệt kê, chính xác hóa và lựa chọn các mục tin cơ sở
Công cụ sử dụng
Trang 284.2 MÔ HÌNH THỰC THỂ - LIÊN KẾT
4.2.6 Xây dựng mô hình thực thể - liên kết ( tiếp)
a, Liệt kê, chính xác hóa và lựa chọn các mục tin cơ sở
Trong đó:
– <Cột 1> ghi tên hồ sơ tài liệu và liệt kê các thuộc tính của nó;
– <Cột 2> viết gọn tên thuộc tính ở <cột 1>, phải ngắn gọn, có tính gợi ý;
– <Cột 3 (1)> đánh dấu các thuộc tính bị loại (thuộc tính dư thừa);
– <Cột 4 (2)> đánh dấu các thuộc tính được chọn của thực thể(trình bày ở mục b);
– <Cột 5 (3)> đánh dấu các thuộc tính của liên kết (trình bày ở mục c).
Trang 294.2 MÔ HÌNH THỰC THỂ - LIÊN KẾT
b, Xác định các thực thể, các thuộc tính và định danh của chúng
– Tìm các thuộc tính tên gọi Mỗi thuộc tính tên gọi sẽ cho tương ứng
– Xác định thuộc tính định danh trong số các thuộc tính của thực thể
(xét cột 3 bảng 2) Nếu không có thuộc tính có thể làm định danh
thì thêm một thuộc tính mới làm định danh
® Lặp lại quá trình này để xác định các thực thể còn lại.
Trang 304.2 MÔ HÌNH THỰC THỂ - LIÊN KẾT
b, Xác định các thực thể, các thuộc tính và định danh của chúng
Công cụ sử dụng: (BẢNG 2)
Trong đó:
z <Cột 1> ghi tên thuộc tính tên gọi được xác định tại BẢNG 1
z <Cột 2> ghi tên thực thể (Tìm tên phù cho thực thể ứng với thuộc tính tên gọi tại cột 1)
z <Cột 3> Liệt kê các thuộc tính của thực thể (Nếu không có thuộc tính định danh ta có
thể thêm vào)
z <Cột 4> Ghi chú cho thuộc tính định danh ở <cột 3> Nếu là thuộc tính định danh có sẵn
ta đánh dấu “X” còn thuộc tính định danh thêm vào ta ghi “thêm vào”.
Trang 314.2 MÔ HÌNH THỰC THỂ - LIÊN KẾT
c, Xác định các liên kết thực thể và thuộc tính của nó
* Tìm các liên kết thực thể tương tác
- Trong các thuộc tính còn lại trong bảng liệt kê ta tìm tất cả các động
từ Nếu có một số động từ cùng chỉ một hoạt động trên thực tế thìchỉ cần chọn lấy một
- Với mỗi động từ nhận được bằng cách trả lời các câu hỏi sau đây:
Trang 324.2 MÔ HÌNH THỰC THỂ - LIÊN KẾT
c, Xác định các liên kết thực thể và thuộc tính của nó
- Đánh dấu để loại đi các thuộc tính vừa chọn
Lặp lại quá trình này để xác định các liên kết thực thể còn lại
Để xác định các liên kết thực thể và thuộc tính của nó ta sử dụng bảng sau cho mỗi động từ tìm được:
Trang 334.2 MÔ HÌNH THỰC THỂ - LIÊN KẾT
c, Xác định các liên kết thực thể và thuộc tính của nó
* Tìm các liên kết thực thể dạng sở hữu hay phụ thuộc
Xét từng cặp thực thể và tìm xem có mối quan hệ phụ thuộc hay
sở hữu giữa chúng hay không Mối quan hệ này thường được thể hiện
bằng các động từ: thuộc, của, ở, là, Nếu cặp thực thể đang xét có
tồn tại liên kết thì xem xét các thuộc tính còn lại có thuộc tính nào làthuộc tính của liên kết này thì chọn nó và đánh dấu để loại bỏ
Trang 344.2 MÔ HÌNH THỰC THỂ - LIÊN KẾT
c, Xác định các liên kết thực thể và thuộc tính của nó
* Tìm các liên kết thực thể dạng sở hữu hay phụ thuộc
Để xác định các liên kết thực thể dạng sở hữu hay phụ thuộc vàthuộc tính của nó ta sử dụng bảng sau:
Trang 354.2 MÔ HÌNH THỰC THỂ - LIÊN KẾT
d, Vẽ mô hình thực thể - liên kết
- Vẽ các thực thể và các liên kết thực thể;
- Nối các thực thể với liên kết thực thể mà nó tham gia;
- Bố trí lại biểu đồ sao cho cân đối và có ít đường cắt nhau;
- Bổ sung các thuộc tính cho thực thể và liên kết thực thể;
- Gạch chân các thuộc tính định danh;
- Xác định bản số của thực thể
Trang 36*, Rút gọn mô hình
Về nguyên tắc, mô hình càng ít thực thể càng tốt Vì vậy, cần rút gọn biểu đồ trong trường hợp có thể Thực thể trong mô hình có thể được rút gọn nếu nó có những đặc trưng sau:
– Thực thể chỉ có một thuộc tính;
– Liên kết mà nó tham gia là bậc hai và không có thuộc tính;
– Liên kết mà nó tham gia là một – nhiều (nó ở phía một)
Trang 374.3 MÔ HÌNH DỮ LIỆU QUAN HỆ
– Trừu tượng hoá cao
– Hạn chế được tính dư thừa dữ liệu
Trang 384.3 MÔ HÌNH DỮ LIỆU QUAN HỆ
4.3.2 Một số khái niệm cơ bản
Trang 394.3 MÔ HÌNH DỮ LIỆU QUAN HỆ
4.3.3 Chuẩn hóa lược đồ quan hệ
4.3.3.1 Khái niệm chuẩn hoá
Chuẩn hóa là việc tách một lược đồ quan hệ R thành các lược đồquan hệ 3NF với phép tách không mất mát thông tin
4.3.3.2 Phương pháp chuẩn hóa
– Phương pháp phân tích (phân rã)
– Phương pháp tổng hợp
Trang 404.3 MÔ HÌNH DỮ LIỆU QUAN HỆ
a, Phương pháp phân tích (phân rã)
Đầu vào: - Danh sách thuộc tính
Trang 414.3 MÔ HÌNH DỮ LIỆU QUAN HỆ
a, Phương pháp phân tích (phân rã)
Cách tiến hành
(1) Tách một danh sách thuộc tính thành các kiểu thực thể 1NF
– Tách các nhóm thuộc tính lặp (không đơn) Phần còn lại là một kiểu thực thể 1NF Tìm khoá của nó
– Xây dựng kiểu thực thể mới: Mỗi kiểu thực thể gồm một nhóm lặp tách ra cùng với khoá của kiểu thực thể trên Tìm khoá của kiểu thực thể này.
Trang 424.3 MÔ HÌNH DỮ LIỆU QUAN HỆ
Trang 434.3 MÔ HÌNH DỮ LIỆU QUAN HỆ
Ví dụ:
Hãy chuẩn hóa lược đồ quan hệ trên thành các lược đồ 3NF?
Trang 444.3 MÔ HÌNH DỮ LIỆU QUAN HỆ
Bài giải
Trang 454.3 MÔ HÌNH DỮ LIỆU QUAN HỆ
Trang 46b, Phương pháp tổng hợp
Đầu vào: - Danh sách thuộc tính
- Tập phụ thuộc hàm
Đầu ra: Tập các lược đồ 3NF
Phương pháp : Nhóm các thuộc tính thành các kiểu thực thể 3NF
Công cụ: Sử dụng đồ thị có hướng gọi là đồ thị phụ thuộc hàm.
Cách tiến hành:
- Lập một đồ thị có hướng gọi là đồ thị phụ thuộc hàm
+ Mỗi thuộc tính là một nút
+ Mỗi nhóm thuộc tính là vế trái của một phụ thuộc hàm là một nút
+ Nếu có một phụ thuộc hàm dạng X → Y, ta vẽ một cung từ X đến Y.
- Loại bỏ các cung khép kín (loại các phụ thuộc hàm không trực tiếp).
- Dùng hình chữ nhật để khoanh vùng các kiểu thực thể Mỗi nút trong lấy làm khoá, gộp cùng với các con của nó lập thành một kiểu thực thể 3NF.
Trang 474.3 MÔ HÌNH DỮ LIỆU QUAN HỆ
4.3.4 Vẽ biểu đồ mô hình quan hệ
4.3.4.1 Xác định các liên kết
a, Xây dựng ma trận thực thể/khóa xác định liên kết
– Mỗi lược đồ quan hệ là một cột của ma trận
– Mỗi thuộc tính khoá của một lược đồ quan hệ nào đó là một hàng của ma trận
– Các ô của ma trận được xác đinh như sau:
+ Chữ "K" vào ô là giao của một lược đồ quan hệ với thuộc tính khoá chính của nó
+ Chữ "C" vào ô là giao của một lược đồ quan hệ với thuộc tính khoá ngoại của nó
Trang 484.3 MÔ HÌNH DỮ LIỆU QUAN HỆ
4.3.4 Vẽ biểu đồ mô hình quan hệ
4.3.4.1 Xác định các liên kết
Trang 494.3 MÔ HÌNH DỮ LIỆU QUAN HỆ
4.3.4 Vẽ biểu đồ mô hình quan hệ
4.3.4.1 Xác định các liên kết
b) Rút ra các liên kết
Từ ma trận trên ta rút ra các liên kết giữa các lược đồ:
– Xét lần lượt từng lược đồ quan hệ
– Các ô "K" được xác định, nhìn vào các ô khác trên cùng dòng Nếu gặp ô “K” hoặc “C” thì xác định một liên kết
– Xác định kiểu liên kết: Nếu trên cột của lược đồ đang xét chỉ chứa một giá trị “K” duy nhất thì lược đồ ở đầu “Một”; còn lại, lược đồ ở
đầu “Nhiều” (Liên kết Nhiều – Nhiều được loại bỏ)
Trang 504.3 MÔ HÌNH DỮ LIỆU QUAN HỆ
4.3.4 Vẽ biểu đồ mô hình quan hệ
4.3.4.2 Vẽ biểu đồ
Trang 514.3 MÔ HÌNH DỮ LIỆU QUAN HỆ
4.3.4 Vẽ biểu đồ mô hình quan hệ
4.3.4.1 Xác định các liên kết
Ví dụ:
Trang 524.4 Chuyển các thực thể và liên kết thực thể sang các lược đồ quan hệ
4.4.1 Chuyển các thực thể
Trang 534.4 Chuyển các thực thể và liên kết thực thể sang các lược đồ quan hệ
4.4.2 Chuyển các liên kết thực thể
– Nếu là liên kết bậc 2, dạng Một – Nhiều và không có thuộc tính
riêng: Bổ sung khóa của lược đồ quan hệ tương ứng với thực thểbên Một vào lược đồ quan hệ tương ứng với thực thể bên Nhiều
để trở thành khóa ngoại của quan hệ này;
– Nếu là liên kết bậc 2, dạng Một – Một và không có thuộc tính riêng: Chỉ cần chọn một trong hai thực thể làm bên nhiều và thực hiện như trường hợp trên;
– Các trường hợp còn lại, chỉ cần tạo ra 1 lược đồ quan hệ mới với tập thuộc tính là các thuộc tính định danh của các thực thể tham gia vào liên kết và các thuộc tính của liên kết Xác định khóa cho lược đồ quan hệ mới
Trang 544.5 Xây dựng mô hình dữ liệu logic
4.5.1 Từ mô hình thực thể - liên kết
Đầu vào: Mô hình thực thể liên kết
Đầu ra: Biểu đồ mô hình quan hệ
Các bước tiến hành:
– Chuyển các thực thể và liên kết thực thể sang các lược đồ quan hệ
– Chuẩn hóa các lược đồ quan hệ nhận được (nếu chưa ở 3NF)
– Tích hợp các lược đồ quan hệ nhận được
z Loại đi những lược đồ quan hệ trùng nhau
z Gộp các lược đồ quan hệ có cùng khóa Sau khi gộp cần kiểm tra lại dạng chuẩn của lược đồ quan hệ vừa gộp và có thể chuẩn hóa nếu cần thiết.
– Vẽ biểu đồ mô hình quan hệ và xác định bản số của liên kết
Trang 554.5 Xây dựng mô hình dữ liệu logic
4.5.2 Từ danh sách hồ sơ tài liệu sử dụng
Đầu vào: các hồ sơ tài liệu sử dụng
Đầu ra: Biểu đồ mô hình quan hệ
Cách tiến hành:
z Bước 1: Thành lập danh sách thuộc tính xuất phát
Danh sách xuất phát có thể được xây dựng từ một hay một số hồ sơ tài liệu sử dụng (nếu chúng có quan hệ logic với nhau)
z Bước 2: Tu chỉnh lại danh sách xuất phát
– Loại bỏ các tên đồng nghĩa
– Loại bỏ các thuộc tính tính toán
– Loại bỏ các thuộc tính tích luỹ
– Thay thế các thuộc tính không đơn bởi các thuộc tính đơn
Trang 564.5 Xây dựng mô hình dữ liệu logic
4.5.2 Từ danh sách hồ sơ tài liệu sử dụng
z Bước 3: Xác các phụ thuộc hàm trên danh sách thuộc tính
z Bước 4: Chuẩn hoá
Sử dụng bảng tài liệu/ kiểu thực thể
z Bước 5: Lặp lại các bước từ 1 đến 4 trên các hồ sơ tài liệu sử dụng
khác
z Bước 6: Tích hợp các lược đồ nhận được
z Bước 7: Xác định các mối liên kết (sử dụng ma trận thực thể/ khóa)
z Bước 8: Vẽ biểu đồ mô hình quan hệ