Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
5 views

Lecture 03 - Slide - Data Normalization - For Student

Slide lecture 3 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)
5 views

Lecture 03 - Slide - Data Normalization - For Student

Slide lecture 3 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/ 35

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

Cơ sở dữ liệu
SQL dành cho Phân tích Dữ liệu

Bài 3: Chuẩn hóa cơ sở dữ liệu


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

3
Mô hình hóa dữ liệu

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


Nhắc lại: 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 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ệ.

5
Ánh xạ sơ đồ thực thể quan hệ ER

Ánh xạ thực thể quan hệ tới các đối tượng cơ sở dữ liệu:


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

6
Ánh xạ quan hệ thực thể kết hợp
(Mapping associative entities)

Mã định danh không được chỉ định:


▪ Khóa chính mặc định cho kết hợp quan hệ bao gồm các khóa chính của
hai thực thể (giống như trong mối quan hệ nhiều-nhiều)

Mã định danh được chỉ định:


▪ Mã định danh được chỉ định trở thành khóa chính

7
Ánh xạ quan hệ thực thể kết hợp
(Mapping associative entities)

Thực thể kết hợp SHIPMENT với thuộc tính giá trị nhận dạng

Thuộc tính giá trị nhận dạng

8
Ánh xạ quan hệ thực thể kết hợp
(Mapping associative entities)

Thực thể kết hợp SHIPMENT khi có thuộc tính giá trị nhận dạng

Mã định danh trở


thành khóa chính

9
Ánh xạ quan hệ thực thể kết hợp
(Mapping associative entities)

Thực thể kết hợp ORDER_LINE khi không có thuộc tính giá trị nhận dạng

10
Ánh xạ quan hệ thực thể kết hợp
(Mapping associative entities)

Thực thể kết hợp ORDER_LINE khi không có thuộc tính giá trị nhận dạng

Khóa chính bao gồm các


khóa chính của hai thực thể

11
Ánh xạ quan hệ thực thể đơn nhất
(Mapping unary relationships)

▪ Một – Nhiều & Một – Một: Khóa ngoại đệ quy trong cùng một mối quan hệ.

▪ Nhiều – Nhiều : hai mối quan hệ


o Một cho loại thực thể.
o Một cho mối quan hệ quan hệ trong đó khóa chính có hai thuộc tính, cả
hai đều được lấy từ khóa chính của thực thể.

12
Ánh xạ quan hệ thực thể đơn nhất
(Mapping unary relationships)

Quan hệ Một – Nhiều

13
Ánh xạ quan hệ thực thể đơn nhất
(Mapping unary relationships)

Quan hệ Nhiều – Nhiều

14
Bài tập

Ánh xạ quan hệ thực thể đơn nhất

15
Ánh xạ quan hệ thực thể bậc ba và quan hệ bậc n
(Mapping ternary (and n-ary) relationships

▪ Mỗi thực thể có một quan hệ và một thực thể kết hợp
▪ Thực thể kết hợp có khóa ngoại cho từng thực thể trong một quan hệ

Ví dụ: Làm sao để chuyển quan hệ thực thể bậc ba thành quan hệ thông thường?

16
Ánh xạ quan hệ thực thể bậc ba và quan hệ bậc n
(Mapping ternary (and n-ary) relationships

Treatment_Date và Treatment_Time cần ở trong một khóa chính phức hợp do


cùng là một bệnh nhân có thể khám cùng một bác sĩ nhiều lần trong nhiều ngày

17
Bài tập: Ánh xạ quan hệ thực thể bậc ba

Một trường đại học cần có bản ghi thông tin của môn học, khóa học mà
giảng viên đã giảng dạy

18
Mô hình hóa dữ liệu

Phần 2: Chuẩn hóa dữ liệu


(Data Normalization)
Chuẩn hóa dữ liệu và tại sao cần chuẩn hóa dữ liệu?

Xem xét một mối quan hệ Nhiều – Nhiều:


▪ Tại sao quan hệ Nhiều – Nhiều phải được ánh xạ thành một quan hệ mới?
▪ Tại sao không sử dụng một mối quan hệ để lưu trữ tất cả dữ liệu được thu thập từ
sơ đồ E-R?

20
Lý do cần phải Chuẩn hóa dữ liệu
Ví dụ, chúng ta có một quan hệ như sau:

Điều gì sẽ xảy ra nếu


▪ Thêm nhân viên mới/khóa học mới
▪ Sa thải nhân viên
▪ Thay đổi một số thông tin của một số khóa học

21
Lý do cần phải Chuẩn hóa dữ liệu
Vấn đề xảy ra khi không Chuẩn hóa dữ liệu:
▪ Bạn không thể thêm một nhân viên mới vào mối quan hệ, khi nhân viên đó
không tham gia vào khóa học
▪ Nếu loại bỏ nhân viên có ID là 140 thì chúng ra sẽ mất thông tin về sự tồn tại
của lớp Tax Acc
▪ Khi tăng lượng cho nhân viên có ID là 100 thì phải cập nhật nhiều bản ghi

Tại sao những bất thường này tồn tại?

22
Chuẩn hóa dữ liệu
Chuẩn hóa cơ sở dữ liệu là Quá trình cấu trúc cơ sở dữ liệu, thường là cơ
sở dữ liệu quan hệ, phù hợp với một loạt các hình thức được gọi là bình
thường để giảm dư thừa dữ liệu và cải thiện tính toàn vẹn dữ liệu.

Ba dạng chuẩn hóa dữ liệu: 1NF, 2NF & 3NF

▪ Dạng chuẩn 1 (1NF)

▪ Dạng chuẩn 2 (2NF)

▪ Dạng chuẩn 3 (3NF)

23
Dạng chuẩn 1
(Normalization Form 1)

▪ Không có thuộc tính đa giá trị


▪ Mọi giá trị thuộc tính đều mang tính nguyên tử (atomicity)
-> Tất cả các quan hệ (bảng) đều ở Dạng chuẩn 1.

24
Dạng chuẩn 2
(Normalization Form 2)

▪ 1NF + Các thuộc tính không khoá phải phụ thuộc hàm đầy đủ vào khoá chính.
▪ Phụ thuộc hàm hiện (Functional dependency): Giá trị của một thuộc tính, hoặc kết
hợp các thuộc tính, (yếu tố quyết định) xác định giá trị của một thuộc tính khác.

▪ Phụ thuộc hàm ẩn (Partial functional dependency): là một loại phụ thuộc hàm.
Tuy nhiên, có một thuộc tính không khóa là phụ thuộc vào một phần của khóa dự
tuyển (bao gồm cả khóa chính) nhưng không phải toàn bộ khóa dự tuyển
(candidate key).

25
Phụ thuộc hàm hiện

Ví dụ: Ta có một số phụ thuộc


▪ EmpID -> Name, DeptName, Salary
▪ CourseID -> CourseTitle
▪ EmpID, CourseID -> DateCompleted

Và chúng ta cũng có phụ thuộc hàm ẩn:


▪ Name chỉ phụ thuộc vào EmpID, nó phải phụ thuộc vào tất cả các khóa ứng viên
(EmpID & CourseID).
▪ Trường hợp tương tự với DeptName, Salary & CourseTitle.

26
Dạng chuẩn 2
(Normalization Form 2)

Phân tách mối quan hệ thành ba mối quan hệ riêng biệt

EmpID Name DeptName Salary Không có phụ


Emp
thuộc hàm ẩn

Emp_Course EmpID CourseID DateCompleted

Course CourseID CourseTitle

Mũi tên màu đỏ: khóa ngoại


Mũi tên màu xanh: phụ thuộc hàm hiện
27
Dạng chuẩn 3
(Normalization Form 3)

▪ Dạng chuẩn 2 + không có phụ thuộc bắc cầu.


▪ Phụ thuộc bắc cầu là sự phụ thuộc hoàn toàn giữa hai (hoặc nhiều) thuộc tính
không khóa.

28
Ví dụ của Dạng chuẩn 3

▪ Order_ID -> Order_Date, Customer_ID, Customer_Name, Customer_Address


-> Không có phụ thuộc bộ phận (Trong Dạng chuẩn 2)
▪ Customer_ID -> Customer_Name, Customer_Address nhưng Customer_ID
không phải là chìa khóa ứng cử (Bởi vì giá trị của nó không phải là duy nhất)
-> Phụ thuộc bắc cầu (Không phải dạng chuẩn 3)
29
Cách xử lý

▪ Order_ID -> Order_Date, Customer_ID.


▪ Customer_ID -> Customer_Name, Customer_Address
-> không phụ thuộc bắc cầu, cả 2 mối quan hệ đều ở dạng chuẩn 3.

30
Mô hình hóa dữ liệu

Phần 3: Thực hành chuẩn hóa dữ liệu


Bài tập

Làm việc nhóm, chuẩn hóa bảng dữ liệu excel thành 1NF, 2NF và 3NF

32
Tài liệu tham khảo

• Chapter 7 – "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

33
SQL dành cho Phân tích Dữ liệu

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


XIN CẢM ƠN !

You might also like