Entity Relationship Diagram (ERD) là lược đồ thể hiện cấu trúc trừu tượng hóa của dữ liệu trong tổ chức, dựa trên khái niệm thực thể (entity) và quan hệ (relationship) giữa các thực thể, để nhằm thể hiện nội dung, ý nghĩa của dữ liệu trong hệ thống
Trang 1Chương 5 Entity Relationship Diagram 1
DFD và Processing Logic chỉ ra làm thế nào, ở đâu và khi nào dữ liệu được xử lý, nhưng không chỉ ra định nghĩa, cấu trúc và các quan hệ của dữ liệu.
Entity Relationship Diagram (ERD) là lược đồ thể hiện cấu trúc trừu tượng hóa của dữ liệu trong tổ chức, dựa trên khái niệm thực thể (entity) và quan hệ (relationship) giữa các
thực thể, để nhằm thể hiện nội dung, ý nghĩa của dữ liệu
trong hệ thống.
Trang 2Chương 5 Thực thể (Entity) 2
Thực thể: là một tập hợp tất cả các đối tượng trong thế giới
thực có chung một số đặc điểm hoặc tính chất nào đó.
Ví dụ các thực thể:
“Nhân viên” (Ma so_NV, Ten_NV, Ngay sinh_NV,
So_CMND,Hoc vi_NV, Bac luong_NV)
“Sinh viên” (Ma so_SV, Ten_SV, He dao tao_SV, nien
khoa_NV)
“Môn học” (ten_MH, noi dung_MH, thoi luong_MH).
“Thành phố ”(Ten_TP, quoc gia).
Một thực thể bao gồm nhiều thể hiện.
Thể hiện: là đối tượng cụ thể được mô tả trong thực thể
Ví dụ :
Môn “Anh văn” là một thể hiện của thực thể “Môn học”.
TP.HCM, Hà Nội là các thể hiện của thực thể “Thành phố”.
Trang 3Chương 5 Thực thể (Entity) 3
Thuộc tính: là đặc điểm, tính chất của thực thể mà người ta
muốn biết khi nghĩ về thực thể
Ví dụ:
Các thuộc tính của thực thể “Sinh viên” là Ma so_SV,
Ten_SV, He dao tao_SV, nien khoa_NV
Các thuộc tính của thực thể “Nhân viên” là Ma so_NV,
Ten_NV, Ngay sinh_NV, So_CMND,Hoc vi_NV, Bac luong_NV
Miền giá trị của thuộc tính (MGT): là tập hợp các giá trị
hợp lệ của thuộc tính đó Ví dụ:
Ngày sinh_NV : Date
MGT(Ngay sinh_NV) là tập hợp 01/01/1900 đến 01/01/1995
Trang 4Chương 5 Thực thể (Entity) 4
Khóa: là 1 hoặc 1 bộ gồm nhiều thuộc tính của thực thể mà
giá trị của nó được dùng để phân biệt các thể hiện của thực
thể Ví dụ:
• Ma so_NV là 1 thuộc tính dùng để phân biệt các nhân
viên (là các thể hiện) của thực thể NhânViên Nếu biết
Ma so_NV của 1 nhân viên, ta sẽ tìm được các thông tin khác về nhân viên đó dựa trên các thuộc tính còn lại của thực thể Nhân viên, như Ten_NV, Ngay sinh_NV,
So_CMND,Hoc vi_NV, Bac luong_NV.
• Giá trị của khóa không được rỗng, trùng nhau, hoặc thay đổi khi thể hiện tương ứng với khóa vẫn còn tồn tại trong thực thể.
Trang 5Chương 5 Các ký hiệu trong lược đồ ERD 5
Entity Attribute Key Multivalue
Ví dụ: một nhân viên có 1 mã nhân viên dùng để phân
biệt Cơ quan chỉ quan tâm quản lý tên nhân viên, địa chỉ nhà riêng, và các kỹ năng của từng nhân viên Thực thể
nhân viên được diển tả như sau:
Nhân viên
Emp_ID Emp_Name Emp_Adress Emp_Skill
Trang 6Chương 5 Thuộc tính đa trị 6
là một thuộc tính có nhiều giá trị được sử dụng đồng thời để
mô tả cho một thể hiện của thực thể
Ví dụ: thuộc tính “Emp_Skill” trong thực thể Nhân viên gồm Emp_ID, Emp_Name, Emp_Skill: Một nhân viên có thể có nhiều kỹ năng, khi đó EMP_skill có nhiều giá trị khác nhau
Trang 7Chương 5 Quan hệ (Relationship) 7
Là mối liên kết giữa một hoặc nhiều thực thể, để chỉ ra sự liên quan về nội dung (và ý nghĩa) giữa các thể hiện trong quan hệ Ví dụ:
• “Mỗi SINH VIÊN đăng ký nhiều MÔN HỌC”: Quan hệ giữa thực thể Sinh viên và thực thể Môn học là việc đăng ký môn học của sinh viên.
• Nơi sinh là mối quan hệ giữa thực thể Nhân viên và Thành Phố.
Bản số của quan hệ (cardinality): là số lượng thể hiện của thực thể tối thiểu và tối đa tham gia vào mối quan hệ Do đó chúng ta có trường hợp sau : [0,1];[0,n];[1,1],[1,n];[m,n],isa với m<=n.
Trang 8Chương 5 Cardinality 8
Mỗi thể hiện của A có đúng 1 thể hiện tương ứng ở B theo quan hệ R1 (cardinality = [1,1])
Mỗi thể hiện của A chỉ có 1 thể hiện tương ứng ở B, hoặc không có thể hiện tương ứng theo quan hệ R2 (cardinality
= [0,1])
Mỗi thể hiện của A có ít nhất là 1 và tối
đa là N thể hiện tương ứng ở B theo quan hệ R3 (cardinality = [1,N])
Mỗi thể hiện của A có tối đa là N thể hiện tương ứng ở B, hoặc không có thể hiện tương ứng theo quan hệ R4 (cardinality = [0,N])
Trang 9Chương 5 Quan hệ bộ đôi 9
Trang 10Chương 5 Quan hệ bộ đôi 10
One to One (1:1)
“Một nhân viên chỉ sinh ra (duy nhất) tại một thành phố.”
One to Many (0:N)
“Tại một thành phố có thể không có ai sinh ra cả và cũng có thể có
n người sinh ra.”
Many to Many (M:N)
“Một nhân viên có hộ khẩu tại một hoặc nhiều thành phố Tại một thành phố có thể không có hoặc nhiều nhân viên có hộ khẩu.”
Trang 11Chương 5 Cách diễn đạt khác của Bản số 11
Bản số (1,1): Một sinh viên học ít nhất là 1 lớp và nhiều nhất là 1 lớp
Bản số (1,n): Một lớp có ít nhất là 1 sinh viên và nhiều nhất là n sinh viên
Một người phải ở và chỉ ở trong một nhà, khi đó bản số của các tập
thực thể NGƯỜI và NHÀ qua mối quan hệ Ở là (1,1) -(1,n)
Trang 12Chương 5 Quan hệ bộ 3 12
GOODS
“Một nhà cung cấp có thể bán nhiều mặt hàng cho nhiều khách hàng; khách hàng có thể mua hàng từ nhiều nhà
cung cấp khác nhau ”
Trang 13Chương 5 Quan hệ bộ 3 13
sinh viên A thi một môn học B lần thứ mấy và được bao nhiêu điểm.
Trang 14Chương 5 Quan hệ đệ quy 14
hôn với một người khác”
“Một nhân viên có duy nhất một thủ trưởng trực tiếp và người thủ trưởng này
không có cấp trên, một nhân viên là thủ trưởng có tối đa n nhân viên quản lý”
Là mối quan hệ được định nghĩa trên một thực thể
Trang 15Chương 5 Quan hệ đệ quy 15
Trang 16Chương 5 ISA Entity (thực thể cha-con) 16
Cho hai tập thực thể A và B Ta nói A có mối quan hệ ISA với B nếu mỗi thực thể trong A cũng là một thực thể trong B (còn gọi là A là con của B).
Ký hiệu
Trang 17Chương 5 ISA Entity (thực thể cha-con) 17
Ví dụ: Tập thực thể NHÂNVIÊN có tập thực thể
ĐẢNGVIÊN, BỘĐỘI là tập thực thể con.
Vậy: ĐẢNGVIÊN ISA NHÂNVIÊN
BỘĐỘI ISA NHÂNVIÊN
Kí hiệu:
Trang 18Chương 5 Cách thiết lập lược đồ ERD 18
1 Định nghĩa các thực thể , dựa trên vai trò, ý nghĩa của thực
thể đối với hệ thống Nên chọn danh từ để dùng làm tên cho thực thể, vd: MONHOC, SINHVIEN, KHOA,
2 Định nghĩa các quan hệ giữa các thực thể Tên của các
quan hệ thường được diễn tả bằng động từ để chỉ các hành động, sự kiện liên kết các thể hiện trong các thực thể có quan hệ nhau.
3 Xác định các thuộc tính của thực thể và quan hệ Thuộc
tính của thực thể (hoặc quan hệ) là những đặc tính mà tất cả các thể hiện của thực thể (hoặc quan hệ) đều có Thêm thuộc tính để tăng tính mô tả, hoặc để có thê dữ liệu phân biệt các thể hiện Bỏ bớt thuộc tính nếu chúng dư thừa
hoặc không liên quan đến vai trò, ý nghĩa của thực thể
trong hệ thống.
4 Xác định cardinality cho mỗi quan hệ.
Trang 19Chương 5 Bài tập vẽ ERD 19
1 Mỗi bệnh nhân có một hồ sơ bệnh án, mỗi hồ sơ bệnh án chỉ thuộc
về 1 bệnh nhân
2 Mỗi nhân viên thuộc 1 phòng, một phòng có ít nhất 1 hay nhiều
nhân viên Không có nhân viên nào không thuộc phòng nào
3 Một tác phẩm phải thuộc 1 thể loại Một thể loại có nhiều tác phẩm
4 Một nhân viên (có thể) tham gia 1 hoặc nhiều dự án Một dự án có
nhiều nhân viên tham gia
5 Một giảng viên dạy nhiều môn học Một môn học có thể có nhiều
giảng viên dạy
6 Mỗi sinh viên sau mỗi lần thi một môn học sẽ có một điểm xác định
cho lần thi đó
7 Trong siêu thị, các quầy hàng bán nhiều mặt hàng, mỗi mặt hàng có
một gía niêm yết tại quầy hàng đó
Trang 20Chương 5 Bài tập vẽ ERD 20
Bệnh nhân (1,1) Có (1,1) Hồ sơ bệnh án
Phòng Thuộc
Tác phẩm (1,1) Thuộc (1,n) Thể loại
Dự án
Tham gia
Trang 21Chương 5 Bài tập vẽ ERD 21
Trang 22Chương 5 Bài tập vẽ ERD 22
Hàng hóa được xuất cảng trong các container và mỗi container được
định danh bởi số của container, đích đến và kích cở của nó Đại lý
vận chuyển (Shipping Agent) chịu trách nhiệm gom nhóm các
container vào một lô hàng và cho lô hàng một số định danh và giá trị của lô Các con tàu, xác định bởi số của con tàu và quốc gia đăng ký,
thực hiện các chuyến hải trình, mỗi chuyến hải trình mang một số lô
hàng đi đến đích của chúng Mỗi chuyến hải trình được cho số hải trình và trọng tải Hãy vẽ luợc đồ ERD chỉ ra tất cả các thực thể,
thuộc tính, và quan hệ
Để vẽ các ERD, chúng ta cần xác định các thực thể trước, sau đó là quan
hệ giữa các thực thể, và cuối cùng là các thuộc tính cho thực thể và quan hệ Các từ gạch dưới là các thực thể, và các động từ in nghiêng
là các quan hệ giữa các thực thể Trong mô tả không nêu rõ
cardinality (số quan hệ), do đó số quan hệ có thể được cho bằng cách suy diễn hợp lý
Trang 23Chương 5 Bài tập vẽ ERD 23
Container
No_ConDest_ConSize_Con
Thực hiện
(1,n)
(1,n) (1,n)
(1,n) (1,n)
(1,n) (1,n)
Chứa
(1,n)
Trang 24Chương 5 Ví dụ về lược đồ ERD 24
Trang 25Information processor
Thiết kế hệ thống
Computer Based Information System
Information System
DBMS Reports
Trang 26Chương 5 Thiết kế forms/reports 26
Forms : khuông mẫu nhận dữ liệu vào hệ thống.
Reports : khuông mẫu thông tin cho người sử dụng.
Xác định thông tin nội bộ hoặc bên ngoài tổ chức
Mẫu biểu (forms/reports) phải phù hợp với phạm vi sử
dụng (bên trong/bên ngoài tổ chức).
Tài liệu xoay vòng : Là tài liệu sử dụng cho cả nội bộ và bên
ngoài, từ tổ chức ra khách hàng và quay về.
• Phiếu bảo hành, thẻ tín dụng, hóa đơn định kỳ.
• Barcode, vạch từ, vi mạch là phương tiện hổ trợ tự động hóa đọc hoặc ghi dữ liệu cho các loại tài liệu này.
CBIS
Trang 27Chương 5 Tương tác trên form 27
Prev Next First Last
Search
Add item Delete item
Update CancelNew
Order list
Price
2.5(23 MAY 1998)
Trang 28Chương 5 Tương tác trên form 28
1 Nội dung và thứ tự nhập liệu phải phù hợp với thông tin
trên các loại tài liệu bằng giấy mà người sử dụng có.
2 Dữ liệu phải có khuông mẫu để kiểm tra khi nhập liệu:
• Dữ liệu phải thuộc miền giá trị hợp lệ.
• Phải bảo toàn các liên kết giữa các bảng.
3 Dữ liệu và các điều khiển nhập liệu phải nhất quán.
• Mỗi ô nhập liệu (và điều khiển) trên form phải có tên
gọi (nhãn, label) để phân biệt dữ liệu hoặc điều khiển khác nhau.
• Nếu dữ liệu (hoặc điều khiển) xuất hiện trên nhiều form
khác nhau thì tên gọi của nó vẫn không thay đổi.
• Các điều khiển nhập liệu phải phù hợp với nội dung của
dữ liệu và các quy tắc quản lý của tổ chức.
Trang 29Chương 5 Tương tác trên report 29
Pine Valley Furniture
Detail customer account information Page : 2 of 2
Today : 11-OCT-98
Customer number: 1273
Name: Contemporary Design
DATE PURCHASE PAYMENT CURRENTBALANCE
Trang 30Chương 5 Thiết kế cơ sở dữ liệu 30
1 Chuyển đổi từ ERD sang các bảng quan hệ (table) và các quan hệ
giữa các bảng (relationship), để phù hợp với các hệ quản trị CSDL phổ biến hiện nay là loại Relational Database(RD)
2 Thiết lập các cơ chế ràng buộc toàn vẹn dữ liệu để ngăn chặn các
thao tác có thể gây sai sót trên CSDL
3 Chuẩn hóa các bảng quan hệ để bảo đãm toàn vẹn dữ liệu
4 Trộn các bảng quan hệ để tránh trùng lặp dữ liệu giữa các bảng
5 Mã hóa hoặc nén dữ liệu lưu trữ , để giữ bí mật thông tin, tránh
trùng lặp dữ liệu, hoặc giảm bớt không gian lưu trữ dữ liệu
6 Tổ chức lưu trữ để thuận tiện truy xuất và sao lưu phục hồi khi có
sự cố, hư hỏng trên CSDL
Trang 31Chương 5 Relation (bảng quan hệ) 31
Là một cấu trúc bảng mô tả cho 1 thực thể
• Mỗi cột ứng với mỗi thuộc tính, gọi là Field (trường)
• Mỗi hàng ứng với mỗi thể hiện, gọi là Record (mẫu tin)
• Vd: EMPLOYEE2 (Emp_ID, Name, Dept_Name, Salary,
Course_Title, Date_Complete) Emp_ID, Course_Title là một khóa chính kết hợp từ 2 thuộc tính của bảng quan hệ
Trang 32Chương 5 Relation (bảng quan hệ) 32
Không phải tất cả các bảng dữ liệu đều là quan hệ; nó phải
thoả mãn các điều kiện sau:
1 Mỗi bảng có 1 tên duy nhất
2 Mỗi thuộc tính trong bảng có 1 tên duy nhất
3 Mỗi dòng là duy nhất Không thể có 2 dòng có tất cả
các cột đều giống nhau.
4 Mỗi giá trị của thuộc tính là nguyên tố Thuộc tính
‘composite’ là thuộc tính kết hợp nhiều thuộc tính Vd: Địa_chỉ = Số_nhà + Đường + Phường + Quận + Tp
Các bảng quan hệ được tạo ra từ việc chuyển đổi lược đồ
ERD sang bảng.
Trang 33Chương 5 Chuyển thực thể sang bảng 33
Quy tắc 1: Mỗi tập thực thể trong mô hình quan niệm
dữ liệu được chuyển thành một bảng quan hệ có :
Tên: là tên của tập thực thể.
Thuộc tính và khoá: thuộc tính và khóa là thuộc tính
và khóa của tập thực thể.
Khoá ngoại: có thể có thêm.
Trang 34Chương 5 Thực thể sang bảng: 1.Single attribute 34
Trang 35Chương 5 Thực thể sang bảng: 2.Composite attribute 35
Customer_ID Customer_Name Street
CUSTOMER
City State Zip
Trang 36Chương 5 Thực thể sang bảng: 3.Multivalue attribute 36
Trang 37Chương 5 Thực thể sang bảng: 4.Weak-entity 37
Trang 38Chương 5 Chuyển quan hệ 2 ngôi 1:N 38
Qui tắc 2: Tập thực thể tham gia vào mối quan hệ hai ngôi không có thuộc tính riêng, có quan hệ R[1,N] (mối quan hệ một - nhiều) thì quan
hệ sinh ra bởi tập thực thể ở nhánh 1 sẽ nhận thuộc tính khóa của tập
thực thể ở nhánh N làm khóa ngoại.
Customer_NameCUSTOMER
Submits
Order_ID ORDER Order_Date
1
N
Trang 39Chương 5 Chuyển quan hệ 2 ngôi 1:N 39
Customer_ID Customer_Name Customer_Address
CUSTOMER
Order_ID Customer_ID Order_Date
ORDER
Foreign key
Trang 40Chương 5 Chuyển quan hệ 2 ngôi 1:N 40
Trang 41Chương 5 Chuyển quan hệ 2 ngôi M:N 41
Qui tắc 3: Tập thực thể tham gia vào mối quan hệ hai ngôi có quan
hệ R[M,N] thì bảng quan hệ mới sinh ra có:
Tên: là tên của mối quan hệ
Khoá: là khóa của tất cả các tập thực thể tham gia vào mối quan
hệ - có thể có khóa riêng của mối quan hệ - có thuộc tính là các thuộc tính riêng của nó (nếu có)
Trang 42Chương 5 Chuyển quan hệ 2 ngôi M:N 42
Unit_Of_Measure
RAWMATERIALSRAWMATERIALS
Trang 43Chương 5 Chuyển quan hệ 2 ngôi M:N 43
Material_ID Standard_Cost Unit_Of_Measure
Trang 44Chương 5 Chuyển tập thực thể con trong mối quan hệ ISA44
Qui tắc 4: Tập thực thể con trong mối quan hệ ISA của mô hình
thực thể mối quan hệ được chuyển thành một quan hệ: có tên là tên của tập thực thể con; có các thuộc tính là các thuộc tính của tập thực thể con;
và có khóa là khóa của tập thực thể cha
Ví dụ :
Trang 45Chương 5 Chuyển quan hệ 2 ngôi 1:1 45
Optional
Mandatory
NameNURSE
In_Charge
Center_Name CENTERCENTERCARECARE Location
Date_Assigned
Trang 46Chương 5 Chuyển quan hệ 2 ngôi 1:1 46
Nurse_ID Name Date_Of_Birth
Trang 47Chương 5 Chuyển thực thể quan hệ 47
Customer_ID CUSTOMER Customer_Name
Shipment_No
Amount
Date
SHIIPMENT
Trang 48Chương 5 Chuyển thực thể quan hệ 48
Trang 49Chương 5 Ràng buộc toàn vẹn 49
Ràng buộc trên miền giá trị của mỗi field
• Mỗi thuộc tính của thực thể được quy định một miền gía trị hợp lệ Các giá trị nằm ngoài miền giá trị này là các giá trị vô nghĩa đối với thực thể, cần phải loại bỏ.Ví dụ: thuộc tính Nam/Nữ chỉ có 2 gía trị
Ràng buộc toàn vẹn thực thể (và bảo toàn các liên kết)
• Không có khóa chính nào có thể rỗng – tất cả các khóa chính phải
có chứa dữ liệu để phân biệt các dòng (mẫu tin) trong bảng
• Bảo toàn liên kết khi thêm, xoá, sửa dữ liệu để không mất dữ liệu
Để tăng tính toàn vẹn dữ liệu, đồng thời các bảng quan hệ có cấu trúc tốt (chứa tối thiểu dữ liệu dư thừa + cấu trúc cho phép thiết lập các
ràng buộc toàn vẹn thực thể), người ta cần phải chuẩn hóa các bảng quan hệ
Trang 50Chương 5 Các bước chuẩn hóa bảng quan hệ 50
Bảng có các thuộc tính đa trị
Bảng có các thuộc tính đa trị Bỏ thuộc tính đa trị
Bỏ thuộc tính
đa trị
Bảng ở dạng chuẩn 1(1st normal form)
Bảng ở dạng chuẩn 1(1st normal form)
Bảng ở dạng chuẩn 2(2nd normal form)
Bảng ở dạng chuẩn 2(2nd normal form)
Bảng ở dạng chuẩn 3(3rd normal form)
Bảng ở dạng chuẩn 3(3rd normal form)