1
Mô hình hóa dữ liệu (Data Modeling)
LƯỢC ĐỒ QUAN HỆ THỰC THỂ CƠ BẢN
(ENTITY RELATIONSHIP DIAGRAM –ERD)
2
Mục tiêu
Diễn tả được các thành phần và ký hiệu cơ bản của lược
đồ
Giải thích được các kiểu quan hệ khác nhau giữa các
kiểu thực thể
Kỹ năng mô hình hóa các bài toán nghiệp vụ cơ bản
Vẽ được lược đồ ER cơ bản
3
Nội dung
Các thành phần cơ bản của lược đồ ER Phân loại kiểu thực thể Mối quan hệ giữa các thực thể
4
Case study
Hệ thống quản lý sinh viên của trường đại
học Cần phát triển CSDL SinhVien
5
Các thành phần của lược đồ ER
Thực thể (entity)
Thuộc tính (attribute)
Mối quan hệ (relationship) giữa các thực thể
Lượng số (Cardinality)
6
Thực thể - Entity
Thực thể là đối tượng chính cần thu thập và
lưu trữ
Thực thể có thể là
Con người như nhân viên, sinh viên,.. Nơi chốn như thành phố, đất nước,.. Sự kiện như mua hàng, trả lương,.. Khái niệm như môn học, tài khoản,…
7
Quy ước đặt tên thực thể
Dùng danh từ (noun) Có ý nghĩa và liên quan đến nghiệp vụ
CUSTOMER, STUDENT, PATIENT CITY, STORE, WAREHOUSE SALE, EXAM, REGISTRATION COURSE, ACCOUNT, CLASS
Ví dụ đặt tên thực thể Con người Nơi chốn Sư kiện Khái niệm
8
Kiểu thưc thể - Entity Type
Kiểu thực thể: là một tập hợp các thực thể có
cùng tính chất.
Thực thể là một thành viên (member) hay thể
hiện (instance) của một kiểu thực thể
Hoa
Minh
Anh
Kiểu thực thể Student
9
Thuộc tính - Attribute
Thuộc tính là tính chất của kiểu thực thể hay
mối quan hệ giữa các kiểu thực thể.
Mỗi kiểu thực thể nên có
Một vài thuộc tính và một thuộc tính xác định (identifier attribute) thường được gọi là khóa chính (primary key)
10
Thuộc tính của STUDENT và COURSE
STUDENT
COURSE
CourseID
Student ID
Course Name
Student Name
Description
Home Address
No of Credits
Phone Number
Semester
SSN
Major
11
Mối quan hệ - Relationship
Mối quan hệ có nghĩa giữa các kiểu thực thể Bậc của mối quan hệ: là số kiểu thực thể tham
gia vào mối liên kết Mối quan hệ 1 ngôi Mối quan hệ 2 ngôi Mối quan hệ 3 ngôi
12
Quy ước đặt tên mối quan hệ
Tên của thực thể và thuộc tính nên là danh từ Tên quan hệ nên là cụm động từ như
Assigned To, Teaches, Supplies… diễn tả hành động
Tránh các động từ chung chung như has, is
related to
13
Ký hiệu cơ bản
Ký hiệu Kiểu thực thể
CLASS COURSE
Thuộc tính Xác định
offers
ClassNo ClassLocation StartDate
CourseNo CrsDesc CrsUnit
Tên quan hệ
Thuộc tính
14
Các loại thuộc tính
Thuộc tính đơn (single) và thuộc tính phức
(composite)
Thuộc tính đơn trị (single value) và đa trị (multi-
value)
15
Thuộc tính phức
Thuộc tính phức (composite): có thể phân
thành nhiều thành phần
STUDENT
STUDENT
Student ID Student Name Home Address Phone Number
Thuộc tính phức
Student ID Student Name Home Address (Street, City, Postal code) Phone Number
16
Thuộc tính đa trị
Có thể có nhiều giá trị đối với mỗi thực thể
STUDENT
Nam - Đọc sách - Xem phim
Hoa - Nấu ăn - Chạy bộ - Đọc sách
Student ID Student Name Home Address {Habit} Phone Number
Bảo - Chơi bóng - Chạy bộ
17
Lượng số - Cardinality
Lượng số chỉ sự ràng buộc về số thực thể
tham gia vào mối quan hệ
Xác định lượng số tối thiểu và tối đa cả 2
phía của mối quan hệ
18
Lược đồ điển hình Instance diagram
Class
Class 1
Class 2
Class 3
Class 4
19
Phân loại lượng số
Phân loại lượng số
Giới hạn của lượng số
Bắt buộc
Lượng số tối thiểu ≥1
Tùy chọn
Lượng số tối thiểu ≥0
1-M
Lượng số tối đa = 1 ở 1 phía và lượng số tối đa >1 ở phía còn lại
M-N
Lượng số tối đa >1 ở cả 2 phía
1-1
Lượng số tối đa = 1 ở cả 2 phía
20
Phân loại lượng số
Dựa vào lượng số tối thiểu và tối đa
Lượng số tối thiểu 1 hay nhiều chỉ đến mối
quan hệ bắt buộc (mandatory)
Quan hệ bắt buộc tạo ra sự phụ thuộc tồn
tại (existence dependency).
21
Ký hiệu Lượng số
Ký hiệu bên trong: Lượng số tối thiểu
Lượng số nhiều
Lượng số 1
COURSE
CLASS
Has
CourseNo CrsDesc CrsUnit Lượng số 0
ClassNo ClassLocation StartDate
02/01/2017
Ký hiệu bên ngoài: Lượng số tối đa
22
Phân loại thực thể
Kiểu thực thể mạnh (strong entity type) Kiểu thực thể yếu (weak entity type): không có
khóa chính riêng Một phần khóa chính phải mượn từ khóa chính của
một kiểu thực thể khác
Phụ thuộc xác định (Identification Dependency): mối quan hệ giữa thực thể yếu và thực thể chính.
23
Ví dụ về Thực thể yếu
Khóa chính BldgNo+RoomNo
Lượng số của thực thể yêu luôn là (1,1)
BUILDING
ROOM
Contains
RoomNo RoomCapacity
BldgNo BldgName BldgLocation
Ví dụ quan hệ M-N có thuộc tính
EnrollsIn
CLASS STUDENT
StdNo StdName
ClassNo ClassLocation ClassTime
Grade
25
Tóm tắt
Nhận dạng được các thành phần của lược đồ
ER cơ bản là bước đầu tiên trong quá trình mô hình hóa dữ liệu
Kiểu thực thể kết hợp Associative entity type
Nếu quan hệ M-N có thuộc tính có thể được thay thế bởi kiểu thực thể kết hợp (associative entity type) Mối quan hệ M-N được chuyển thành 2 mối quan
hệ 1-M
Ví dụ quan hệ M-N với thuộc tính
EnrollsIn
STUDENT CLASS
StdNo StdName
ClassNo ClassLocation ClassTime
CLASS
STUDENT
Enrollment
StdNo StdName
Grade
ClassNo ClassLocation ClassTime
Registers
Grants
Thực thể kết hợp
28
Nội dung
Các thành phần cơ bản của lược đồ ER Phân loại kiểu thực thể Mối quan hệ giữa các thực thể
Quan hệ 1 ngôi
PreReqTo
COURSE
CourseNo CrsDesc
Quan hệ 1 ngôi
Cần phân biệt quan hệ 1 ngôi là M-N hay 1-M
IS480
PreReqTo
IS461 COURSE IS300 IS320
IS460
CourseNo CrsDesc
Quan hệ 1 ngôi
Cần phân biệt quan hệ 1 ngôi là M-N hay 1-M
Faculty4
Supervises FACULTY Faculty2
Faculty1 Faculty5
Faculty3
FacNo FacName
Quan hệ nhiều ngôi (M-way)
Quan hệ kết nối từ hai kiểu thực thể trở
lên
FACULTY SUPPLIER PROJECT
PartNo PartName SuppNo SuppName ProjNo ProjName
Uses
Quan hệ 3 ngôi (Ternary Relationship)
Kiểu thực thể kết hợp trong quan hệ 3 ngôi
Thay thế bằng 1 kiểu thực thể kết hợp và 3
mối quan hệ 1-M
PART SUPPLIER PROJECT
PartNo PartName SuppNo SuppName ProjNo ProjName
Uses
Kiểu thực thể kết hợp trong quan hệ 3 ngôi
PART SUPPLIER PROJECT
PartNo PartName SuppNo SuppName ProjNo ProjName
Uses Uses
Proj-uses
Part-uses
35
Textbook
Chapter 7 textbook 1 – page 200 Chapter 5 textbook of Manino – page 159