Chương 2
Chương 2
Mô hình liên kết–thực thể
Mô hình liên kết–thực thể
1
Nội dung
Nội dung
Mô hình liên kết thực thể
Quá trình thiết kế mô hình dữ liệu ý niệm
Sơ đồ ER
◦
Thực thể và kiểu thực thể
◦
Thuộc tính
◦
Mối liên kết
◦
Kiểu thực thể kết hợp
2
3
Tập hợp các yêu cầu
và phân tích
Thiết kế khái niệm
Thế giới thực
Thiết kế lô gic
Thiết kế vật lý
Các yêu cầu CSDL
Lược đồ khái niệm (mô hình dữ liệu bậc cao)
Mô hình ER được dùng để xây dựng mô hình dữ liệu ý niệm
(Conceptual data modeling)
Mô hình ER như 1 công cụ để trao đổi ý tưởng giữa nhà
thiết kế và người dùng cuối trong giai đoạn phân tích. Nó
độc lập với DBMS và quá trình thi công database.
5
Tầm quan trọng của mô hình
Tầm quan trọng của mô hình
hóa dữ liệu
hóa dữ liệu
Giúp thâu tóm các đặc tính dữ liệu, nắm bắt quy tắc
nghiệp vụ (business rule) và các ràng buộc (constraint)
trong quá trình mô hình hóa dữ liệu
Thu thập dữ liệu
Hệ thống được thiết kế theo hướng dữ liệu (data-oriented)
sẽ ổn định hơn hướng xử lý dữ liệu (process oriented)
6
Sơ đồ liên kết – thưc thể
Sơ đồ liên kết – thưc thể
Mô hình ER được diễn tả bằng sơ đồ liên kết thực thể
(entity relationship diagram - ERD)
Ba phần tử cơ bản:
◦
Ví dụ: kiểu thực thể Customer có các điển hình là Tom và
Peter. Mỗi Customer đều có mã khách khác nhau, và có thể
thực hiện các dịch vụ như đặt hàng, thanh toán tiền ….
9
Các kiểu thực thể
Các kiểu thực thể
Kiểu thực thể mạnh ( strong entity type): tồn tại độc lập
với những kiểu thực thể khác
Kiểu thực thể yếu ( weak entity type): tồn tại phụ thuộc
vào kiểu thực thể khác
Ví dụ:
◦
EMPLOYEE là kiểu thực thể mạnh.
◦
DEPENDENT là kiểu thực thể yếu, lệ thuộc vào
EMPLOYEE.
10
Cách đặt tên và ký hiệu
Cách đặt tên và ký hiệu
Mỗi kiểu thực thể phải có một tên gọi, nên là danh từ số ít
và viết chữ hoa.
Ký hiệu của các kiểu thực thể
11
EMPLOYEE DEPENDENT
Thực thể mạnh
Kiểu thực thể và đầu vào/ra của hệ
thống
thống
14
TREASURER
EXPENSE
REPORT
ACCOUNT
EXPENSE
Manages
Gives_to
Summaries
Has
Kiểu thực thể và đầu vào/ra của hệ
Kiểu thực thể và đầu vào/ra của hệ
thống
thống
Có cần theo dõi dữ liệu về Treasurer?
Treasurer là người nhập dữ liệu về tài chính, các khoản chi
tiêu và nhận báo cáo là user của CSDL.
Chỉ có 1 treasurer duy nhất dữ liệu về treasurer không cần
theo dõi.
Treasurer không phải là 1 data entity
Một thực thể thực sự thì sẽ phải có nhiều instance
15
Ví dụ: kiểu thực thể STUDENT có các thuộc tính như
Student_ID, Student_Name, Address, Major.
STUDENT Student_ID, Student_Name,…
18
Các kiểu thuộc tính
Các kiểu thuộc tính
Thuộc tính đơn (simple attribute): là thuộc tính không thể
phân nhỏ được.
Ví dụ: Color, Weight, HorsePower
Thuộc tính phức hợp (composite attribute): là thuộc tính có
thể phân thành nhiều thành phần
Ví dụ: Thuộc tính Address bao gồm các thành phần Street,
District, City
19
Các kiểu thuộc tính (tt)
Các kiểu thuộc tính (tt)
Thuộc tính đơn trị (single valued attribute)
Thuộc tính đa trị (multivalued attribute): có thể có nhiều
hơn một trị cho một thể hiện của thực thể
Ví dụ: Thực thể COURSE có thuộc tính Teacher đa trị, một
môn học có thể được dạy bởi nhiều hơn 1 thầy cô.
20
Các kiểu thuộc tính (tt)
Các kiểu thuộc tính (tt)
Mối liên kết - Relationship
Mối liên kết (relationship) diễn tả sự kết hợp giữa một hay
nhiều kiểu thực thể với nhau.
Kiểu liên kết ( relationship type) là một sự kết hợp có ý
nghĩa giữa các kiểu thực thể
Một thể hiện (instance) của một kiểu liên kết là một sự kết
hợp giữa các thể hiện của các kiểu thực thể tham gia vào
mối liên kết đó
24
Ví dụ
Ví dụ
25
STUDENT
COURSE
Completes
•
Thuộc tính Date_Completed nên đặt ở
đâu trong lược đồ trên?
Là 1 thuộc tính của mối liên kết
Completed (thích hợp hơn là thuộc tính
của 2 thực thể STUDENT và COURSE)
Date_Completed