0% found this document useful (0 votes)
20 views

Lecture 02 - Slide - Introduction Data Modeling - For Student

Slide Lecture 2 SQL

Uploaded by

Ngọc Huyềnn
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views

Lecture 02 - Slide - Introduction Data Modeling - For Student

Slide Lecture 2 SQL

Uploaded by

Ngọc Huyềnn
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 65

Khoa học dữ liệu trong kinh tế và kinh doanh

Cơ sở dữ liệu
SQL dành cho Data Analytics

Bài 2: Giới thiệu về mô hình dữ liệu (Data Modeling)


Thiết kế cơ sở dữ liệu

Phần 1: Mô hình dữ liệu


(Data Modeling)
Mô hình dữ liệu
(Data Modeling)

Mô hình dữ liệu (Data Modeling) là xây dựng mô hình dữ liệu cho dữ liệu lưu trữ trong
CSDL
- Đặt trọng tâm vào các dữ liệu cần thiết và cách thức cần được lưu trữ
- Trực quan hóa việc trình bày dữ liệu và thực thi các quy tắc kinh doanh, tuân thủ và
chính sách trên dữ liệu.
- Đảm bảo tính nhất quán trong quy ước đặt tên, giá trị mặc định, ngữ nghĩa, bảo mật
mà vẫn đảm bảo chất lượng dữ liệu.

4
Mô hình dữ liệu
(Data Modeling)

Tại sao nên sử dụng Mô hình dữ liệu (Data Modeling)?

• Đảm bảo rằng tất cả các đối tượng dữ liệu theo yêu cầu của cơ sở dữ liệu được thể
hiện chính xác
• Giúp thiết kế cơ sở dữ liệu ở cấp độ khái niệm, logic và vật lý
• Giúp trình bày mối quan hệ giữa các bảng
• Cung cấp bức tranh rõ ràng về DB giúp Developer tạo DB vật lý
• Giúp xác định dữ liệu bị thiếu và dư thừa
• Giúp IT nâng cấp và duy trì DB nhanh hơn và rẻ hơn

5
Quy trình thiết kế cơ sở dữ liệu

Khảo sát nhu cầu Mô hình


và các nguyên tắc Mô hình logic Mô hình vật lý
khái niệm
trong kinh doanh

Mô hình dữ liệu

Tài liệu tham khảo: "Fundamentals of Database Systems" by Ramez Elmasri, Shamkant B. Navathe
- Part 2-Chaper 3,4 6
Quy trình thiết kế cơ sở dữ liệu

Mô hình khái niệm Mô hình logic Mô hình vật lý


(Conceptual Model Design) (Logical Model Design) (Physical Model Design)

7
Thiết kế cơ sở dữ liệu
Phần 2: Hiểu nhu cầu của người dùng & Trích xuất các quy tắc kinh doanh
Quy trình thiết kế cơ sở dữ liệu

Khảo sát nhu cầu Mô hình


và các nguyên tắc Mô hình logic Mô hình vật lý
khái niệm
trong kinh doanh

Mô hình dữ liệu

9
Quy tắc kinh doanh là gì?

Quy tắc kinh doanh mô tả các đối tượng, mối quan hệ và hành động mà một
doanh nghiệp thấy quan trọng.
Ví dụ:
▪ Nếu học sinh không đăng ký ít nhất một lớp học, trường Trạng thái được
thay đổi thành thành Không hoạt động.
▪ Nếu tổng giá trị đơn hàng lớn hơn $50 trước thuế và phí vận chuyển, đơn
hàng sẽ được vận chuyển miễn phí.
▪ Hồ sơ của khách hàng chỉ được tạo ra khi khách hàng thực hiện mua hàng có
bao gồm đơn đặt hàng.
Trên quan điểm cơ sở dữ liệu, quy tắc kinh doanh là những ràng buộc.

10
Xác định các quy tắc kinh doanh chính
Quy tắc kinh doanh không chỉ khó để xây dựng mà nguyên tắc kinh doanh còn có
thể thay đổi theo thời gian.

Ví dụ:

Đơn hàng chỉ được vận chuyển đến các tiểu bang có kho hàng bao gồm Colorado,
Kansas & Nebraska.
→ Quy tắc kinh doanh yêu cầu địa chỉ giao hàng của đơn hàng phải là CO, KS hoặc
NE.

Xác định các quy tắc kinh doanh chính và trích xuất chúng.

11
Xác định các quy tắc kinh doanh chính

Hãy tự hỏi mình hai câu hỏi:

- Thay đổi quy tắc có dễ dàng không?


- Quy tắc có khả năng thay đổi như thế nào?

Nếu một quy tắc có khả năng thay đổi thường xuyên, bạn cần tính toán các phương
án để thay đổi một cách dễ dàng.

12
Các loại quy tắc

Một số loại quy tắc cần được chú ý

▪ Danh sách giá trị


Ví dụ: các tiểu bang trong danh sách được phép vận chuyển.
▪ Thông số tính toán
Ví dụ: thời điểm hiện tại, những đơn hàng có giá trị trên $50 đô la sẽ được miễn
phí vận chuyển. Trong tương lại, liệu giá trị này có được tăng lên là $70, $100 đô
la hay không.
▪ Thông số hợp lệ
Ví dụ: sinh viên phải học từ 8 đến 16 tín chỉ. Liệu tương lai, số tín chỉ có nâng lên
12 đến 16 tín chỉ hay không?

13
Bài tập

Hãy xem xét danh sách các quy tắc kinh doanh này:

▪ Tạo hồ sơ khách hàng khi khách hàng đặt đơn hàng đầu tiên.
▪ Giảm giá 20% nếu khách hàng nữ đặt hàng trong ngày quốc tế phụ nữ.
▪ Hồ sơ khách hàng phải bao gồm số điện thoại.
▪ Giảm giá 10% nếu khách hàng thanh toán trước toàn bộ giá trị đơn hàng.

1. Xác định các quy tắc đơn giản hoặc dường như không thể thay đổi để chúng có
thể được tích hợp vào cơ sở dữ liệu.
2. Xác định các quy tắc có thể thay đổi hoặc phức tạp cần lưu ý.

14
Thiết kế cơ sở dữ liệu – Mô hình hóa dữ liệu

Phần 3: Mô hình khái niệm


(Conceptual Data Model)
Quy trình thiết kế cơ sở dữ liệu

Khảo sát nhu cầu Mô hình


và các nguyên tắc Mô hình logic Mô hình vật lý
khái niệm
trong kinh doanh

Mô hình dữ liệu

16
Tại sao cần mô hình khái niệm?

▪ Mô hình khái niệm tập trung vào nghiệp vụ kinh doanh, là phương thức giao tiếp
giữa đội ngũ IT và đội ngũ kinh doanh
▪ Thông qua quy tắc kinh doanh và định nghĩa của các thực thể được trình bày
trong Bảng thuật ngữ dữ liệu (Data Glossary), mô hình khái niệm đảm bảo các
bên hiểu cùng một khái niệm, tránh hiểu sai báo cáo

17
Tại sao cần mô hình khái niệm?

Ví dụ cho các định nghĩa, khái niệm trong kinh doanh


o Khách hàng là một cá nhân hoặc tổ chức đã mua ít nhất một trong các sản
phẩm.
o Khách hàng tiềm năng là một cá nhân hoặc một tổ chức chưa sở hữu bất kỳ sản
phẩm nào. Nhưng họ có khả năng quan tâm đến việc mua một hoặc nhiều sản
phẩm.

Mua hàng
Khách hàng tiềm năng Khách hàng

18
Mô hình thực thể quan hệ

▪ Mô hình thực thể quan hệ (E-R model): thể hiện một cách logic về dữ liệu cho tổ
chức hoặc một lĩnh vực kinh doanh.

▪ Sơ đồ thực thể quan hệ (E-R diagram): sơ đồ thể hiện mô hình thực thể quan hệ

19
Ví dụ của sơ đồ thực thể quan hệ

20
Ký hiệu E-R

Ký hiệu Ký hiệu
thực thể thuộc tính

Ký hiệu
mối quan hệ

21
Thực thể là gì?

Thực thể (Entity): một người, địa điểm, đối tượng, sự kiện hoặc khái niệm
trong môi trường người dùng mà tổ chức muốn duy trì dữ liệu.
Ví dụ:
▪ Người: nhân viên, sinh viên, bệnh nhân,...
▪ Địa điểm: cửa hàng, kho bãi,...
▪ Đối tượng: máy móc, ô tô,...
Kiểu thực thể: 3 loại mạnh, yếu, quan hệ
Ký hiệu: Hình chữ nhật

22
Thực thể là gì?

Kiểu thực thể Ví dụ


23
Một thực thể nên là?

NÊN LÀ:
▪ Đối tượng sẽ có nhiều bản ghi (instance) trong cơ sở dữ liệu
▪ Đối tượng sẽ bao gồm nhiều thuộc tính (attribute)
▪ Đối tượng mà cần được mô hình hóa

KHÔNG NÊN:
▪ Là kết quả của hệ thống cơ sở dữ liệu (ví dụ: báo cáo)
▪ Là người dùng hệ thống cơ sở dữ liệu

24
Bài tập

Xác định một loại thực thể dạng STUDENT và liệt kê 2 bản ghi (instance) của
nó.

Gợi ý: Bạn có thể liệt kê những thuộc tính (attribute) mà một loại thực thể
dưới dạng STUDENT phải có.

25
Thuộc tính (Attribute)

Thuộc tính (Attributes) – là tính chất hoặc đặc điểm của một thực thể.

Phân loại thuộc tính


▪ Thuộc tính đơn (Simple attribute) hoặc thuộc tính phức hợp (Composite
attribute)
▪ Thuộc tính đơn trị (Single-valued) hoặc thuộc tính đa trị (Multi-valued
Attribute)
▪ Thuộc tính được lưu trữ (Stored attribute) vs thuộc tính dẫn xuất (Derived
attribute)
▪ Thuộc tính định danh (Identifier attribute)

Ký hiệu: Tên thuộc tính bên trong thực thể (hình chữ nhật)
26
Thuộc tính (Attribute)

Thuộc tính đơn và thuộc tính phức hợp

Thuộc tính phức hợp


(Composite Attribute)

Thuộc tính đơn


(Simple Attributes) 27
Thuộc tính (Attribute)

Thuộc tính đa trị

Payroll_
Employee_Name
Address Date_ Years_
Employee_ID Skill
Employed employed
First Last Street Zip Thuộc tính đa trị
001 Jacky TAN
Hill Street
100
164607 May 01, 1999 C/C++/Java 19 (Multi-valued
002 Susan LIM
Stamford
178902 Oct 14, 2000 Java/.Net 18 attributes)
Road 80

28
Thuộc tính (Attribute)
Thuộc tính định danh/khóa (Identifier): Một thuộc tính (hoặc kết hợp các
thuộc tính) xác định duy nhất các trường hợp riêng lẻ của một loại thực thể.
Ký hiệu: gạch chân
Đặc điểm:
▪ Giá trị không thay đổi
▪ Giá trị không NULL
▪ Là giá trị đơn

Thuộc tính dự tuyển/không khóa (Candidate Identifier): thuộc tính có thể sử


dụng để định danh, miễn nó thỏa mãn các đặc điểm kể trên.
o Một thực thể có thể có nhiều thuộc tính dự tuyển (candidate identifier)
nhưng chỉ có thuộc tính định danh (identifier).

29
Bài tập

Loại thực thể (entity) STUDENT có các thuộc tính (attribute) sau: Id (duy
nhất), Name, Phone, Age, Activity, và No_of_Year
▪ Activity: đại diện cho một số hoạt động của sinh viên trong trường
▪ No_of_Year: số năm sinh viên đã tham gia vào hoạt động này
Giả định: Một học sinh nhất định có thể tham gia vào nhiều hơn một hoạt
động.
Tạo một mô hình thực thể (E-R Model) cho ngữ cảnh trên.

30
Mối quan hệ

▪ Kiểu quan hệ (Relationship type) với Bản ghi quan hệ (Instance


relationship)
o Kiểu quan hệ là sự liên kết có ý nghĩa giữa các loại thực thể với nhau.
o Kiểu quan hệ được mô hình hóa dưới dạng đường giữa các loại thực thể.
o Bản ghi quan hệ (Instance relationship) là tập hợp các bản ghi đơn lẻ
nằm trong cơ sở dữ liệu.

Thuộc tính của quan hệ: Mô tả các tính năng liên quan đến sự quan hệ giữa
các thực thể trong mối quan hệ.
Giữa hai thực thể (Entity) có thể có nhiều hơn một mối quan hệ
Ký hiệu: đường

31
Mối quan hệ với các thuộc tính

Khi thuộc tính thuộc một thực thể, mà thực thể đã xác định một quan hệ. Thuộc
tính sẽ phụ thuộc quan hệ đó.

32
Mối quan hệ với thuộc tính

Mỗi nhân viên cùng chung


Complete_Date và cùng chung Grade
cho tất cả các khóa học mà họ hoàn
thành

Tất cả nhân viên hoàn thành một khoá


học có cùng Grade và Complete_Date

Mỗi nhân viên có thể hoàn thành các


khoá học ở các Complete_Date khác
nhau
Mỗi khóa học có thể được học bởi
những nhân viên khác nhau ở các lớp và
Complete_Date khác nhau

33
Hai khái niệm quan trọng trong mối quan hệ

Thứ bậc quan hệ (Degree of relationship)


▪ Số lượng thực thể tham gia vào mối quan hệ

Thuộc tính của quan hệ (Cardinality of relationship)


▪ Mối quan hệ của các thực thể với nhau

34
Bậc của quan hệ
(Degree of Relationships)

Bậc của quan hệ (Degree of Relationships) là số lượng thực thể tham gia
vào mối quan hệ:
▪ Mối quan hệ đơn nhất (Unary relationship)
▪ Mối quan hệ nhị phân (Binary Relationship)
▪ Mối quan hệ bậc ba (Ternary Relationship)
▪ Có thể có các mối quan hệ nhiều ngôi hơn (Trường hợp hiếm gặp)

35
Bậc của quan hệ (Kí hiệu)

Đơn nhất
(Unary) Nhị phân Bậc ba
(Binary) (Ternary)

Một thực thể liên Các thực thể Các thực thể
quan đến một thuộc hai loại thuộc ba loại
thực thể khác khác nhau có khác nhau có
cùng loại liên quan với liên quan với
36
nhau nhau
Ví dụ

Mối quan hệ nhị phân giữa loại thực thể STUDENT và loại thực thể COURSE

STUDENT
COURSE
StudentID
Name Đăng kí CourseID
Major Title
Campus_Address

37
Thuộc tính của quan hệ
(Cardinality of Relationships)

Thuộc tính của quan hệ (Cardinality of Relationships) là số bản ghi của một
thực thể có thể hoặc phải được liên kết với từng bản ghi của một thực thể khác.

Bao gồm:
Một – Một (1 – 1): mỗi thực thể trong mối quan hệ sẽ có chính xác một thực thể
liên quan.
Một – nhiều(1 – N): một thực thể ở một bên của mối quan hệ có thể có nhiều
thực thể liên quan, nhưng một thực thể ở phía bên kia sẽ có tối đa một thực thể
liên quan.
Nhiều - nhiều (N - N): các thực thể ở cả hai phía của mối quan hệ có thể có
nhiều thực thể liên quan ở phía bên kia.

38
Thuộc tính của quan hệ
(Cardinality of Relationships)

Mối quan hệ một – một (1 - 1)

Kết hôn

39
Thuộc tính của quan hệ
(Cardinality of Relationships)

Mối quan hệ một – nhiều (1 – N)

Quản lý

40
Thuộc tính của quan hệ
(Cardinality of Relationships)

Mối quan hệ nhiều – nhiều (N - N)

Tham gia

41
Thuộc tính của quan hệ (Ký hiệu)

Kết hợp giữa thuộc tính và thứ bậc của quan hệ: quan hệ nhị phân

Phụ trách Bao gồm

Một – một Một – nhiều

Đăng ký

Nhiều – nhiều

42
Thuộc tính của quan hệ (Ký hiệu)

Kết hợp giữa thuộc tính và thứ bậc của quan hệ: quan hệ đơn nhất

Kết hôn Quản lý Đứng sau

Một – một Một – nhiều Một – một

43
Bài tập

Xác định mối quan hệ giữa thực thể SINH VIÊN và thực thể KHÓA HỌC:
▪ Mỗi sinh viên có thể đăng ký nhiều khóa học
▪ Một khóa học có thể có nhiều sinh viên

STUDENT
COURSE
StudentID
Name Registed_for CourseID
Major Title
Campus_Address

44
Thuộc tính ràng buộc
(Cardinality Constraints​)

Thuộc tính ràng buộc - số phiên bản của một thực thể có thể hoặc phải được quan hệ
với từng phiên bản của một thực thể khác.

Tối thiểu: một Tối thiểu: không


Tối đa: một Tối đa: một

Thuộc tính tối đa

Tối thiểu: một Tối thiểu: không


Tối đa: nhiều Tối đa: nhiều

Thuộc tính tối thiểu


45
Ví dụ
STUDENT
COURSE
StudentID
Name Registed_for CourseID
Major Title
Campus_Address
Một sinh viên có thể đăng ký không hoặc nhiều khóa học

STUDENT
COURSE
StudentID
Name Registed_for CourseID
Major Title
Campus_Address

Một khóa học phải được đăng ký bởi ít nhất một (hoặc nhiều) sinh viên 46
Bài tập

Thêm ký hiệu thuộc tính tối đa và tối thiểu cho hình dưới đây dựa trên các
ràng buộc đã được học.

1. Một nhân viên được quản lý bởi không/một


quản lý.
2. Một nhân viên quản lý không/một/nhiều nhân
viên khác

1. Một sản phẩm thuộc một dây chuyền sản


xuất
2. Một dây chuyền sản xuất chứa ít nhất
một sản phẩm
47
Thiết kế cơ sở dữ liệu

Phần 4: Ánh xạ thực thể quan hệ (ER) (1)


Quy trình thiết kế cơ sở dữ liệu

Khảo sát nhu cầu Mô hình


và các nguyên tắc Mô hình logic Mô hình vật lý
khái niệm
trong kinh doanh

Mô hình dữ liệu

49
Thiết kế mô hình logic

Thiết kế mô hình khái niệm


▪ Hiểu yêu cầu lưu trữ và truy cập dữ liệu.
▪ Không có mối quan hệ trực tiếp với các cơ sở dữ liệu.
Thiết kế mô hình logic
▪ Ánh xạ mô hình khái niệm được yêu cầu vào mô hình dữ liệu (Data Modeling)
quan hệ với hệ thống quản lý cơ sở dữ liệu.
▪ Tập trung vào mô hình hóa dữ liệu quan hệ.

50
Mô hình thực thể quan hệ (ER Model)

▪ Quan hệ (bảng) tương ứng với các loại thực thể.


▪ Các hàng tương ứng với các trường thực thể.
▪ Các cột tương ứng với các thuộc tính.
▪ GHI CHÚ: Relation – mối quan hệ (trong cơ sở dữ liệu quan hệ) KHÔNG giống với
Relation – quan hệ (trong mô hình ER)

51
Nhắc lại: Cơ sở dữ liệu quan hệ

Khóa chính (Primary Key): một thuộc tính (hoặc kết hợp các thuộc tính) chỉ có duy
nhất mỗi hàng trong một mối quan hệ.
• Khóa chính đơn (trường đơn)
• Khóa chính phức hợp (nhiều trường)

Khóa ngoại (Foreign Key): một thuộc tính (hoặc kết hợp các thuộc tính) trong một
mối quan hệ là khóa chính cho một mối quan hệ khác.

52
Ánh xạ sơ đồ ER vào các mối quan hệ

Ánh xạ ER tới các đối tượng cơ sở dữ liệu:


1. Ánh xạ thực thể quan hệ thông thường (Regular entities)
2. Ánh xạ thực thể quan hệ nhị phân (Binary relationships)
3. Ánh xạ thực thể kết hợp (Associative entities)
4. Ánh xạ thực thể quan hệ đơn nhất (Unary relationships)
5. Ánh xạ thực thể quan hệ bậc ba (Ternary relationships)

53
Ánh xạ các thực thể thông thường vào các mối quan hệ
(Mapping regular entities to relations)

Ánh xạ thực thể quan hệ thông thường


▪ Các thuộc tính đơn giản: Thuộc tính ER ánh xạ trực tiếp lên mối quan hệ
▪ Thuộc tính phức hợp: Chỉ sử dụng các thuộc tính thành phần đơn giản của chúng
▪ Thuộc tính đa giá trị: mỗi thuộc tính trở thành một mối quan hệ riêng biệt với khóa
ngoại được lấy từ thực thể cấp trên

54
Ánh xạ các thực thể thông thường vào các mối quan hệ
(Mapping regular entities to relations)

Thực thể CUSTOMER với các thuộc tính đơn giản → quan hệ CUSTOMER

Thực thể CUSTOMER có thuộc tính phức hợp

Thuộc tính
phức hợp

55
Ánh xạ các thực thể thông thường vào các mối quan hệ
(Mapping regular entities to relations)

Thực thể CUSTOMER với các thuộc tính đa giá trị

Thuộc tính đa giá trị


▪ Thuộc tính đa giá trị trở thành một mối quan hệ
riêng biệt với khóa ngoại
▪ quan hệ một - nhiều giữa EMPLOYEE và
EMPLOYEE_SKILL
56
Ánh xạ thực thể quan hệ nhị phân
(Mapping binary relationships)

▪ Một – Nhiều: khóa chính ở một bên trở thành khóa ngoại ở nhiều bên
▪ Nhiều – Nhiều: tạo mối quan hệ mới với các khóa chính của hai thực thể
làm khóa chính của nó.
▪ Một – Một: khóa chính ở phía bắt buộc trở thành khóa ngoại ở phía tùy
chọn

57
Ánh xạ thực thể quan hệ nhị phân
(Mapping binary relationships)

Một – Nhiều

Khóa ngoại

58
Ánh xạ thực thể quan hệ nhị phân
(Mapping binary relationships)

Một – Một

Khóa ngoại

59
Ánh xạ thực thể quan hệ nhị phân
(Mapping binary relationships)

Nhiều - Nhiều

Composite primary key

Foreign key

Foreign key

60
Bài tập

Ánh xạ thực thể quan hệ nhị phân

61
Tóm tắt lại kiến thức buổi học

Các khái niệm chính Mô hình thực thể quan hệ


• Sử dụng mô hình thực thể
• Quy tắc kinh doanh quan hệ để để đại diện cho
• Thực thể dữ liệu
• Loại thực thể/Phiên bản thực thể • Các thực thể trong môi
• Thuộc tính trường kinh doanh
• Giá trị nhận dạng (thuộc tính
chính) • Mối quan hệ giữa các thực
• Mối quan hệ thể
• Loại quan hệ • Thuộc tính của thực thể và
• Thuộc tính của quan hệ mối quan hệ

62
Tài liệu tham khảo

• Chapter 4,5,6 – "Beginning Database Design solutions" by Wrox Programmer

• Part 2 - Conceptual Data Modeling and Database Design - "Fundamentals of


Database Systems" by Ramez Elmasri, Shamkant B. Navathe

• Chapter 7 - Part 2 - Database Design and the E-R Model - "Database System
Concepts" by Abraham Silberschatz, Henry F. Korth, and S. Sudarshan

63
Thiết kế cơ sở dữ liệu

Giải đáp thắc mắc


XIN CẢM ƠN !

You might also like