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