SlideShare una empresa de Scribd logo
1 de 48
Descargar para leer sin conexión
Bài 5:
CHUẨN HÓA CƠ SỞ DỮ LIỆU
Giới thiệu ngôn ngữ SQL
Giới thiệu Oracle SQL
Tìm hiểu các nhóm ngôn ngữ của SQL
Hệ thống bài cũ
Giới thiệu ngôn ngữ SQL
Giới thiệu Oracle SQL
Tìm hiểu các nhóm ngôn ngữ của SQL
Slide 5 -Chuẩn hóa cơ sở dữ liệu 2
Các bất thường khi cập nhật dữ liệu
Giải thích sự cần thiết phải chuẩn hóa dữ liệu
Tìm hiểu một số khái niệm:
Khóa của quan hệ
Phụ thuộc hàm
Tìm hiểu quy trình chuẩn hóa CSDL
Tìm hiểu 3 dạng chuẩn: 1NF, 2NF, 3NF
Trình tự chuẩn hóa theo 3 dạng chuẩn
Tìm hiểu khái niệm khử chuẩn
Mục tiêu bài học hôm nay
Các bất thường khi cập nhật dữ liệu
Giải thích sự cần thiết phải chuẩn hóa dữ liệu
Tìm hiểu một số khái niệm:
Khóa của quan hệ
Phụ thuộc hàm
Tìm hiểu quy trình chuẩn hóa CSDL
Tìm hiểu 3 dạng chuẩn: 1NF, 2NF, 3NF
Trình tự chuẩn hóa theo 3 dạng chuẩn
Tìm hiểu khái niệm khử chuẩn
Slide 5 -Chuẩn hóa cơ sở dữ liệu 3
Ví dụ với CSDL là bảng hóa đơn (INVOICE) cho khách hàng như
sau:
Các bất thường khi cập nhật dữ liệu
Slide 5 -Chuẩn hóa cơ sở dữ liệu 4
Bất thường khi thêm dữ liệu:
Không thể thêm một khách hàng vào CSDL nếu khách hàng
không mua một mặt hàng nào.
Bất thường khi cập nhật dữ liệu:
Muốn thay đổi địa chỉ của khách hàng, phải thay đổi địa chỉ trên
tất cả các hóa đơn của khách hàng đó bởi vì địa chỉ của khách
hàng lưu trữ dư thừa trong tất cả các hóa đơn của khách hàng.
Các bất thường khi cập nhật dữ liệu
Bất thường khi thêm dữ liệu:
Không thể thêm một khách hàng vào CSDL nếu khách hàng
không mua một mặt hàng nào.
Bất thường khi cập nhật dữ liệu:
Muốn thay đổi địa chỉ của khách hàng, phải thay đổi địa chỉ trên
tất cả các hóa đơn của khách hàng đó bởi vì địa chỉ của khách
hàng lưu trữ dư thừa trong tất cả các hóa đơn của khách hàng.
Slide 5 -Chuẩn hóa cơ sở dữ liệu 5
Bất thường khi xóa dữ liệu:
Nếu xóa hóa đơn cuối cùng của một khách hàng thì tất cả dữ
liệu về khách hàng đó bị mất.
Các bất thường khi cập nhật dữ liệu
Bất thường khi xóa dữ liệu:
Nếu xóa hóa đơn cuối cùng của một khách hàng thì tất cả dữ
liệu về khách hàng đó bị mất.
Slide 5 -Chuẩn hóa cơ sở dữ liệu 6
Mục đích của chuẩn hóa CSDL là nhóm các thuộc tính
vào các quan hệ nhằm giảm thiểu dư thừa dữ liệu,
loại bỏ các bất thường khi cập nhật CSDL.
-> Cần có các bước chuẩn hoá dữ liệu từ một CSDL chưa
chuẩn hóa sang chuẩn hóa.
Dạng chưa chuẩn hóa (unnormalized form - UNF): quan
hệ chưa chuẩn hóa là quan hệ chứa các bộ dữ liệu bị lặp
lại giá trị.
Sự cần thiết phải chuẩn hóa CSDL
Mục đích của chuẩn hóa CSDL là nhóm các thuộc tính
vào các quan hệ nhằm giảm thiểu dư thừa dữ liệu,
loại bỏ các bất thường khi cập nhật CSDL.
-> Cần có các bước chuẩn hoá dữ liệu từ một CSDL chưa
chuẩn hóa sang chuẩn hóa.
Dạng chưa chuẩn hóa (unnormalized form - UNF): quan
hệ chưa chuẩn hóa là quan hệ chứa các bộ dữ liệu bị lặp
lại giá trị.
Slide 5 -Chuẩn hóa cơ sở dữ liệu 7
Bảng hóa đơn (INVOICE) ở trên biểu diễn dưới dạng bảng như sau.
Bảng này ở dạng không chuẩn
Ví dụ
Slide 3 - Truy vấn cơ sở dữ liệu trên form 8
Bảng này được chuẩn hóa bằng cách tách thành hai bảng như sau:
Ví dụ
Slide 3 - Truy vấn cơ sở dữ liệu trên form 9
Khóa (Primary Key) là một (một nhóm) thuộc tính của
quan hệ cho phép xác định mỗi bộ khác nhau trong
quan hệ.
Ví dụ:
Trong quan hệ SINHVIEN: MaSV, HoTenSV, NgaySinh, DiaChi thì
thuộc tính khóa là MaSV.
Khái niệm khóa của quan hệ
Khóa (Primary Key) là một (một nhóm) thuộc tính của
quan hệ cho phép xác định mỗi bộ khác nhau trong
quan hệ.
Ví dụ:
Trong quan hệ SINHVIEN: MaSV, HoTenSV, NgaySinh, DiaChi thì
thuộc tính khóa là MaSV.
Slide 5 -Chuẩn hóa cơ sở dữ liệu 10
Cho hai thuộc tính A và B
B được gọi là phụ thuộc hàm vào A nếu có không quá
một giá trị của thuộc tính B liên kết với một giá trị của
thuộc tính A.
Khái niệm phụ thuộc hàm
Cho hai thuộc tính A và B
B được gọi là phụ thuộc hàm vào A nếu có không quá
một giá trị của thuộc tính B liên kết với một giá trị của
thuộc tính A.
Slide 5 -Chuẩn hóa cơ sở dữ liệu 11
Định nghĩa cách khác:
Cho r là một quan hệ được định nghĩa trên lượt đồ quan hệ R.
X và Y là hai tập con (khác rỗng) các thuộc tính của R. Ta nói X
xác định hàm Y, ký hiệu: X  Y là một phụ thuộc hàm định
nghĩa trên R nếu: ∀ t1, t2 ∈ r(R): t1(X) = t2(X) ⇒ t1(Y) = t2(Y)
Ví dụ:
Quan hệ SINHVIEN: MASV, HOTENSV, NAMSINH có phụ thuộc
MASV, HOTENSV  NAMSINH
Khái niệm phụ thuộc hàm
Định nghĩa cách khác:
Cho r là một quan hệ được định nghĩa trên lượt đồ quan hệ R.
X và Y là hai tập con (khác rỗng) các thuộc tính của R. Ta nói X
xác định hàm Y, ký hiệu: X  Y là một phụ thuộc hàm định
nghĩa trên R nếu: ∀ t1, t2 ∈ r(R): t1(X) = t2(X) ⇒ t1(Y) = t2(Y)
Ví dụ:
Quan hệ SINHVIEN: MASV, HOTENSV, NAMSINH có phụ thuộc
MASV, HOTENSV  NAMSINH
Slide 5 -Chuẩn hóa cơ sở dữ liệu 12
Quy trình chuẩn hóa dữ liệu
Quan hệ chưa được
chuẩn hóa
Quan hệ ở dạng
chuẩn I
Loại bỏ các thuộc tính lặp và đa trị
Loại bỏ các thuộc tính phụ thuộc bộ
phận
Slide 5 -Chuẩn hóa cơ sở dữ liệu 13
Quan hệ ở dạng
chuẩn II
Quan hệ ở dạng
chuẩn III
Quan hệ được chuẩn
hóa hoàn toàn
Loại bỏ các thuộc tính phụ thuộc bộ
phận
Loại bỏ các thuộc tính phụ thuộc
bắc cầu
Áp dụng các dạng chuẩn khác
Chuẩn hóa là quá trình phân rã lược đồ quan hệ dựa
trên một tập phụ thuộc hàm nhằm đảm các lược đồ
quan hệ thoả mãn 2 tính chất:
Trùng lắp dữ liệu ít nhất
Khả năng gây ra bất thường khi cập nhật được giảm thiểu.
Các dạng chuẩn:
Dạng chuẩn 1 (1NF)
Dạng chuẩn 2 (2NF)
Dạng chuẩn 3 (3NF)
Chuẩn hóa CSDL
Chuẩn hóa là quá trình phân rã lược đồ quan hệ dựa
trên một tập phụ thuộc hàm nhằm đảm các lược đồ
quan hệ thoả mãn 2 tính chất:
Trùng lắp dữ liệu ít nhất
Khả năng gây ra bất thường khi cập nhật được giảm thiểu.
Các dạng chuẩn:
Dạng chuẩn 1 (1NF)
Dạng chuẩn 2 (2NF)
Dạng chuẩn 3 (3NF)
Slide 5 -Chuẩn hóa cơ sở dữ liệu 14
Xét bảng dữ liệu đơnvị sau:
Ta thấy trường ĐịaĐiểm của đơn vị 5 chứa các thuộc tính đa trị
(nhiều hơn 1 giá trị) có 3 nơi là: Nam Định, Hà Nội, Bắc Ninh vì
vậy bảng dữ liệu này chưa đạt dạng chuẩn hóa.
Ví dụ 1 dạng chưa chuẩn
Xét bảng dữ liệu đơnvị sau:
Ta thấy trường ĐịaĐiểm của đơn vị 5 chứa các thuộc tính đa trị
(nhiều hơn 1 giá trị) có 3 nơi là: Nam Định, Hà Nội, Bắc Ninh vì
vậy bảng dữ liệu này chưa đạt dạng chuẩn hóa.
Slide 5 -Chuẩn hóa cơ sở dữ liệu 15
Xét bảng dữ liệu NHÂN VIÊN_DỰÁN:
Ta thấy nhóm thuộc tính {Tênnhânviên, sốgiờ} bị lặp lại nhiều lần
trong các dự án khác nhau. Vì vậy cơ sở dữ liệu này chưa đạt
chuẩn hóa.
Ví dụ 2 dạng chưa chuẩn
Xét bảng dữ liệu NHÂN VIÊN_DỰÁN:
Ta thấy nhóm thuộc tính {Tênnhânviên, sốgiờ} bị lặp lại nhiều lần
trong các dự án khác nhau. Vì vậy cơ sở dữ liệu này chưa đạt
chuẩn hóa.
Slide 5 -Chuẩn hóa cơ sở dữ liệu 16
Xét bảng dữ liệu Invoice
Đây là 1 hóa đơn của 1 khách hàng, Nếu có thêm 1 hóa đơn khác thì các
thuộc tính {Product No, Description, Quantity, Unit Price, Extended Mount}
sẽ lặp lại trong các hóa đơn khác vì vậy bảng này chưa đạt dạng chuẩn hóa.
Ví dụ 3 dạng chưa chuẩn
Xét bảng dữ liệu Invoice
Đây là 1 hóa đơn của 1 khách hàng, Nếu có thêm 1 hóa đơn khác thì các
thuộc tính {Product No, Description, Quantity, Unit Price, Extended Mount}
sẽ lặp lại trong các hóa đơn khác vì vậy bảng này chưa đạt dạng chuẩn hóa.
Slide 5 -Chuẩn hóa cơ sở dữ liệu 17
Khái niệm: Lược đồ quan hệ R được gọi là 1NF nếu và
chỉ nếu tất cả các thuộc tính của R thoả mãn cả 3 điều
kiện sau:
Là nguyên tố
Giá trị của các thuộc tính trên các bộ là đơn trị, không chứa
nhóm lặp.
Không có một thuộc tính nào có giá trị mà có thể tính toán được
từ một số thuộc tính khác.
Dạng chuẩn 1 (1NF)
Khái niệm: Lược đồ quan hệ R được gọi là 1NF nếu và
chỉ nếu tất cả các thuộc tính của R thoả mãn cả 3 điều
kiện sau:
Là nguyên tố
Giá trị của các thuộc tính trên các bộ là đơn trị, không chứa
nhóm lặp.
Không có một thuộc tính nào có giá trị mà có thể tính toán được
từ một số thuộc tính khác.
Slide 5 -Chuẩn hóa cơ sở dữ liệu 18
Ví dụ 1: Một lược đồ quan hệ đạt chuẩn 1NF
Dạng chuẩn 1 (1NF)
MSKH TÊNKH TP PVC MSMH TÊNMH ĐG SL
S1
S1
S1
S2
S2
S3
S4
An
An
An
Hòa
Hoà
Thanh
Trang
HCM
HCM
HCM
HN
HN
NT
NT
01
01
01
02
02
03
03
P1
P2
P3
P1
P3
P2
P2
Táo
Chanh
Táo
Chanh
Táo
Chanh
Chanh
650
500
450
650
450
500
500
300
200
400
100
300
200
210
Slide 5 -Chuẩn hóa cơ sở dữ liệu 19
S1
S1
S1
S2
S2
S3
S4
An
An
An
Hòa
Hoà
Thanh
Trang
HCM
HCM
HCM
HN
HN
NT
NT
01
01
01
02
02
03
03
P1
P2
P3
P1
P3
P2
P2
Táo
Chanh
Táo
Chanh
Táo
Chanh
Chanh
650
500
450
650
450
500
500
300
200
400
100
300
200
210
Ví dụ 2: Quan hệ sau được chuẩn hóa về dạng chuẩn 1
Dạng chuẩn 1 (1NF)
Họ Tên
Nguyễn Văn
Trần Duy
Hưng
An
Họ và tên
Họ Tên
Không nguyên tố
nguyên tố
Slide 5 -Chuẩn hóa cơ sở dữ liệu 20
Nguyễn Văn
Trần Duy
Hưng
An
Họ và tên
Nguyễn Văn Hưng
Trần Duy An
Họ Tên
Nguyễn Văn
Trần Duy
Hưng
An
nguyên tố
Nguyên tắc chung: Loại bỏ thuộc tính lặp hoặc đa trị
Các bước thực hiện:
Tách nhóm thuộc tính lặp / đa trị sang một bảng mới.
Khóa của bảng mới là Khóa của bảng ban đầu và khóa nhóm lặp
Bảng còn lại là bảng gồm có khóa và các thuộc tính còn lại.
Ví dụ: cho quan hệ
Với A1 là khóa chính của quan hệ, {A4,A5,A5} là thuộc tính lặp.
Quan hệ R sẽ được tách thành 2 quan hệ R1, R2
Quy tắc chuyển bảng từ dạng chưa chuẩn về chuẩn 1 NF
Nguyên tắc chung: Loại bỏ thuộc tính lặp hoặc đa trị
Các bước thực hiện:
Tách nhóm thuộc tính lặp / đa trị sang một bảng mới.
Khóa của bảng mới là Khóa của bảng ban đầu và khóa nhóm lặp
Bảng còn lại là bảng gồm có khóa và các thuộc tính còn lại.
Ví dụ: cho quan hệ
Với A1 là khóa chính của quan hệ, {A4,A5,A5} là thuộc tính lặp.
Quan hệ R sẽ được tách thành 2 quan hệ R1, R2
Slide 5 -Chuẩn hóa cơ sở dữ liệu 21
Cho bảng ĐƠN VỊ
Ta có quan hệ sau R(MãsốĐV, TênDV, MãsốNQL, {Địa điểm} )
Thuộc tính đa trị là {Địa điểm} quan hệ này được tách thành:
R1(MãsốĐV, Địa điểm )
R2(MãsốĐV, TênDV, MãsốNQL)
Ví dụ 1 đưa bảng dữ liệu về dạng chuẩn 1NF
Cho bảng ĐƠN VỊ
Ta có quan hệ sau R(MãsốĐV, TênDV, MãsốNQL, {Địa điểm} )
Thuộc tính đa trị là {Địa điểm} quan hệ này được tách thành:
R1(MãsốĐV, Địa điểm )
R2(MãsốĐV, TênDV, MãsốNQL)
Slide 5 -Chuẩn hóa cơ sở dữ liệu 22
Cho bảng NHÂNVIÊN_DỰÁN
Quan hệ này là R(MãsốDA, TênDA, {Tênnhânviên, Số giờ} )
Thuộc tính lặp là {Tênnhânviên, Số giờ} quan hệ được tách thành:
R1(MãsốĐV, Tênnhânviên, Số giờ)
R2(MãsốĐV, TênDA)
Ví dụ 2 đưa bảng dữ liệu về dạng chuẩn 1NF
Cho bảng NHÂNVIÊN_DỰÁN
Quan hệ này là R(MãsốDA, TênDA, {Tênnhânviên, Số giờ} )
Thuộc tính lặp là {Tênnhânviên, Số giờ} quan hệ được tách thành:
R1(MãsốĐV, Tênnhânviên, Số giờ)
R2(MãsốĐV, TênDA)
Slide 5 -Chuẩn hóa cơ sở dữ liệu 23
Xét bảng INVOICE được viết thành quan hệ sau (thêm Invoice Number làm
thuộc tính khóa cho bảng Invoice vì mỗi hóa đơn có Số hóa đơn là Khóa)
R(Invoice Number (PK), Customer Number, Customer Name, Customer
Address, Customer City, Customer State, Customer Zip Code, Customer
Phone, Terms, Ship Via, Order Date, {Product Number, Product Description,
Quantity, Unit Price, Extended Amount, Total Order Amount })
Thuộc tính lặp được bôi đỏ và đặt trong dấu { } quan hệ được tách
R1-INVOICE (Invoice Number (PK), Product Number,
Product Description, Quantity, Unit Price, Extended Amount,
Total Order Amount)
R2-INVOICE LINE ITEM (Invoice Number (PK), Customer
Number, Customer Name, Customer Address, Customer City,
Customer State, Customer Zip Code, Customer Phone, Terms,
Ship Via, Order Date)
Ví dụ 3 đưa bảng dữ liệu về dạng chuẩn 1NF
Xét bảng INVOICE được viết thành quan hệ sau (thêm Invoice Number làm
thuộc tính khóa cho bảng Invoice vì mỗi hóa đơn có Số hóa đơn là Khóa)
R(Invoice Number (PK), Customer Number, Customer Name, Customer
Address, Customer City, Customer State, Customer Zip Code, Customer
Phone, Terms, Ship Via, Order Date, {Product Number, Product Description,
Quantity, Unit Price, Extended Amount, Total Order Amount })
Thuộc tính lặp được bôi đỏ và đặt trong dấu { } quan hệ được tách
R1-INVOICE (Invoice Number (PK), Product Number,
Product Description, Quantity, Unit Price, Extended Amount,
Total Order Amount)
R2-INVOICE LINE ITEM (Invoice Number (PK), Customer
Number, Customer Name, Customer Address, Customer City,
Customer State, Customer Zip Code, Customer Phone, Terms,
Ship Via, Order Date)
Slide 5 -Chuẩn hóa cơ sở dữ liệu 24
Kết quả bảng được tách thành hai bảng như sau
Ví dụ 3 đưa bảng dữ liệu về dạng chuẩn 1NF(tiếp)
Slide 5 -Chuẩn hóa cơ sở dữ liệu 25
Quan hệ R được gọi là đạt dạng chuẩn 2 nếu đã là 1NF và tất
cả các thuộc tính không khóa đều phụ thuộc hàm đầy đủ
vào khóa.
Thuộc tính không khóa: là thuộc tính không tham gia vào bất kỳ khoá
nào.
Dạng chuẩn 2 (2NF)
Quan hệ R được gọi là đạt dạng chuẩn 2 nếu đã là 1NF và tất
cả các thuộc tính không khóa đều phụ thuộc hàm đầy đủ
vào khóa.
Thuộc tính không khóa: là thuộc tính không tham gia vào bất kỳ khoá
nào.
Slide 5 -Chuẩn hóa cơ sở dữ liệu 26
Quy tắc chuẩn hóa từ 1NF - 2NF:
Bước 1: Loại bỏ các thuộc tính không khoá phụthuộc vào một bộ phận
khoá chính và tách thành ra một bảng riêng, khoá chính của bảng là bộ
phận khoá mà chúng phụ thuộc vào.
Bước 2: Các thuộc tính còn lại lập thành một quan hệ, khóa chính của nó
là khóa chính ban đầu.
Quy tắc chuẩn hóa từ 1NF - 2NF
Quy tắc chuẩn hóa từ 1NF - 2NF:
Bước 1: Loại bỏ các thuộc tính không khoá phụthuộc vào một bộ phận
khoá chính và tách thành ra một bảng riêng, khoá chính của bảng là bộ
phận khoá mà chúng phụ thuộc vào.
Bước 2: Các thuộc tính còn lại lập thành một quan hệ, khóa chính của nó
là khóa chính ban đầu.
Slide 5 -Chuẩn hóa cơ sở dữ liệu 27
Quy tắc chuẩn hóa từ 1NF - 2NF
Slide 5 -Chuẩn hóa cơ sở dữ liệu 28
Ví dụ: cho quan hệ R(MSKH, TÊNKH, TP, PVC, MSMH, TÊNMH, ĐG, SL) và
tập phụ thuộc hàm F được định nghĩa trên R:
Quan hệ này được tách thành các quan hệ sau
R1(MSKH, TÊNKH, TP, PVC)
R2(MSKH, MSMH, TÊNMH, ĐG, SL)
Trong R2 chứa phụ thuộc hàm {MSMH} {TÊNMH, ĐG} tách thành
R21(MSMH, TÊNMH, ĐG)
R22(MSKH, MSMH,SL)
Ví dụ 1 tách chuẩn từ 1NF-2NF
Ví dụ: cho quan hệ R(MSKH, TÊNKH, TP, PVC, MSMH, TÊNMH, ĐG, SL) và
tập phụ thuộc hàm F được định nghĩa trên R:
Quan hệ này được tách thành các quan hệ sau
R1(MSKH, TÊNKH, TP, PVC)
R2(MSKH, MSMH, TÊNMH, ĐG, SL)
Trong R2 chứa phụ thuộc hàm {MSMH} {TÊNMH, ĐG} tách thành
R21(MSMH, TÊNMH, ĐG)
R22(MSKH, MSMH,SL)
Slide 5 -Chuẩn hóa cơ sở dữ liệu 29
Tách thành các quan hệ sau
Ví dụ 1 tách chuẩn từ 1NF-2NF (tiếp)
Slide 5 -Chuẩn hóa cơ sở dữ liệu 30
Quan hệ này được tách thành các quan hệ sau
Ví dụ 2 tách chuẩn từ 1NF-2NF
Quan hệ này được tách thành các quan hệ sau
Slide 5 -Chuẩn hóa cơ sở dữ liệu 31
Kết quả tách ta được 3 bảng sau
Ví dụ 2 tách chuẩn từ 1NF-2NF
Slide 5 -Chuẩn hóa cơ sở dữ liệu 32
Xét Quan hệ INVOICE LINE ITEM:
(Invoice Number (PK), Product Number (PK), Product Description,
Quantity, Unit Price, Extended Amount)
Ta thấy có phụ thuộc hàm vào một phần của khóa như sau
{Product Number} -> {Product Description, Unit Price}
Quan hệ này được tách thành 2 quan hệ sau:
PRODUCT (Product Number,Product Description, Unit Price)
INVOICE LINE ITEM (Invoice Number (PK), Product Number (PK),
Quantity, ExtAmount)
Ví dụ 3 tách chuẩn từ 1NF-2NF
Xét Quan hệ INVOICE LINE ITEM:
(Invoice Number (PK), Product Number (PK), Product Description,
Quantity, Unit Price, Extended Amount)
Ta thấy có phụ thuộc hàm vào một phần của khóa như sau
{Product Number} -> {Product Description, Unit Price}
Quan hệ này được tách thành 2 quan hệ sau:
PRODUCT (Product Number,Product Description, Unit Price)
INVOICE LINE ITEM (Invoice Number (PK), Product Number (PK),
Quantity, ExtAmount)
Slide 5 -Chuẩn hóa cơ sở dữ liệu 33
Cho quan hệ R, F là tập phụ thuộc hàm định nghĩa trên
R.
R được gọi là đạt dạng chuẩn 3 nếu thoả mãn các điều
kiện sau:
R phải đạt dạng chuẩn 2NF
Mọi thuộc tính không khoá không phụ thuộc bắc cầu vào khóa
(tức là tất cả các thuộc tính phải được suy ra trực tiếp từ khóa).
Dạng chuẩn 3 (3NF)
Cho quan hệ R, F là tập phụ thuộc hàm định nghĩa trên
R.
R được gọi là đạt dạng chuẩn 3 nếu thoả mãn các điều
kiện sau:
R phải đạt dạng chuẩn 2NF
Mọi thuộc tính không khoá không phụ thuộc bắc cầu vào khóa
(tức là tất cả các thuộc tính phải được suy ra trực tiếp từ khóa).
Slide 5 -Chuẩn hóa cơ sở dữ liệu 34
Ví dụ: quan hệ R(MSKH, TÊNKH, TP, PVC), FR =
{MSKH } {TÊNKH, TP,PVC} MSKH là khóa chính
{TP}  PVC}
chưa đạt chuẩn NF3 vì có thuộc tính PVC được suy ra từ
thuộc tính TP (không phải là khóa).
Dạng chuẩn 3 (3NF)
Ví dụ: quan hệ R(MSKH, TÊNKH, TP, PVC), FR =
{MSKH } {TÊNKH, TP,PVC} MSKH là khóa chính
{TP}  PVC}
chưa đạt chuẩn NF3 vì có thuộc tính PVC được suy ra từ
thuộc tính TP (không phải là khóa).
Slide 5 -Chuẩn hóa cơ sở dữ liệu 35
Quy tắc chuẩn hóa về NF3:
Bước 1: Loại bỏ các thuộc tính phụ thuộc bắc cầu ra khỏi quan
hệ và tách chúng thành một quan hệ riêng có khoá chính là
thuộc tính bắc cầu.
Bước 2: Các thuộc tính còn lại lập thành một quan hệ có khóa
chính là quan hệ ban đầu.
Quy tắc chuẩn hóa về 3NF
Quy tắc chuẩn hóa về NF3:
Bước 1: Loại bỏ các thuộc tính phụ thuộc bắc cầu ra khỏi quan
hệ và tách chúng thành một quan hệ riêng có khoá chính là
thuộc tính bắc cầu.
Bước 2: Các thuộc tính còn lại lập thành một quan hệ có khóa
chính là quan hệ ban đầu.
Slide 5 -Chuẩn hóa cơ sở dữ liệu 36
Quy tắc chuẩn hóa về 3NF
Slide 5 -Chuẩn hóa cơ sở dữ liệu 37
Ví dụ: Quan hệ R(MSKH, TÊNKH, TP, PVC) được tách thành 2 bảng
R-VC (TP, PVC)
R-KHÁCHHÀNG (MSKH, TÊNKH, TP)
Ví dụ 1 chuyển sang chuẩn 3NF
Slide 5 -Chuẩn hóa cơ sở dữ liệu 38
Quan hệ này được tách thành các quan hệ sau
Ví dụ 2 chuyển sang chuẩn 3NF
Quan hệ này được tách thành các quan hệ sau
Slide 5 -Chuẩn hóa cơ sở dữ liệu 39
Ví dụ 2 chuyển sang chuẩn 3NF
Slide 5 -Chuẩn hóa cơ sở dữ liệu 40
Xét quan hệ INVOICE đã được tách như sau:
INVOICE: Invoice Number (PK), Customer Number, Customer Name,
Customer Address, Customer City, Customer State, Customer Zip Code,
Customer Phone, Terms, Ship Via, Order Date, Total Order Amount
Ta thấy có chứa thuộc tính bắc cầu sau
{Customer Number} -> {Customer Name, Customer Address,
Customer City, Customer State, Customer Zip Code, Customer Phone}
Bảng này được tách thành hai bảng sau:
CUSTOMER (Customer Number, Customer Name, Customer
Address, Customer City, Customer State, Customer Zip Code, Customer
Phone )
INVOICE (Invoice Number (PK), Customer Number, Terms, Ship
Via, Order Date, Total Order Amount)
Ví dụ 3 chuyển sang chuẩn 3NF
Xét quan hệ INVOICE đã được tách như sau:
INVOICE: Invoice Number (PK), Customer Number, Customer Name,
Customer Address, Customer City, Customer State, Customer Zip Code,
Customer Phone, Terms, Ship Via, Order Date, Total Order Amount
Ta thấy có chứa thuộc tính bắc cầu sau
{Customer Number} -> {Customer Name, Customer Address,
Customer City, Customer State, Customer Zip Code, Customer Phone}
Bảng này được tách thành hai bảng sau:
CUSTOMER (Customer Number, Customer Name, Customer
Address, Customer City, Customer State, Customer Zip Code, Customer
Phone )
INVOICE (Invoice Number (PK), Customer Number, Terms, Ship
Via, Order Date, Total Order Amount)
Slide 5 -Chuẩn hóa cơ sở dữ liệu 41
Cách làm:
Chuẩn hóa quan hệ INVOICE về dạng chuẩn 1NF
Tiếp tục chuẩn hóa về dạng 2NF
Chuẩn hóa về dạng 3NF
Ví dụ
Cách làm:
Chuẩn hóa quan hệ INVOICE về dạng chuẩn 1NF
Tiếp tục chuẩn hóa về dạng 2NF
Chuẩn hóa về dạng 3NF
Slide 5 -Chuẩn hóa cơ sở dữ liệu 42
Sau khi chuyển sang dạng chuẩn 1NF, CSDL sẽ gồm hai
quan hệ như sau:
Quan hệ INVOICE: Invoice Number (PK), Customer Number,
Customer Name, Customer Address, Customer City, Customer
State, Customer Zip Code, Customer Phone, Terms, Ship Via,
Order Date, Total Order Amount
Quan hệ INVOICE LINE ITEM: Invoice Number (PK), Product
Number (PK), Product Description, Quantity, Unit Price,
Extended Amount
Chuẩn hóa về 1NF
Sau khi chuyển sang dạng chuẩn 1NF, CSDL sẽ gồm hai
quan hệ như sau:
Quan hệ INVOICE: Invoice Number (PK), Customer Number,
Customer Name, Customer Address, Customer City, Customer
State, Customer Zip Code, Customer Phone, Terms, Ship Via,
Order Date, Total Order Amount
Quan hệ INVOICE LINE ITEM: Invoice Number (PK), Product
Number (PK), Product Description, Quantity, Unit Price,
Extended Amount
Slide 5 -Chuẩn hóa cơ sở dữ liệu 43
Ví dụ 2: Quan hệ INVOICE được phân rã về dạng 2NF
như sau:
INVOICE: Invoice Number (PK), Customer Number, Customer
Name, Customer Address, Customer City, Customer State,
Customer Zip Code, Customer Phone, Terms, Ship Via, Order
Date, Total Order Amount
INVOICE LINE ITEM: Invoice Number (PK), Product Number
(PK), Quantity, Sale Unit Price, Extended Amount
PRODUCT: Product Number (PK), Product Description, List Unit
Price
Chuẩn hóa về NF2
Ví dụ 2: Quan hệ INVOICE được phân rã về dạng 2NF
như sau:
INVOICE: Invoice Number (PK), Customer Number, Customer
Name, Customer Address, Customer City, Customer State,
Customer Zip Code, Customer Phone, Terms, Ship Via, Order
Date, Total Order Amount
INVOICE LINE ITEM: Invoice Number (PK), Product Number
(PK), Quantity, Sale Unit Price, Extended Amount
PRODUCT: Product Number (PK), Product Description, List Unit
Price
Slide 5 -Chuẩn hóa cơ sở dữ liệu 44
Quan hệ INVOICE được phân rã về dạng 3NF như sau:
INVOICE: Invoice Number (PK), Customer Number, Terms,
Ship Via, Order Date
INVOICE LINE ITEM: Invoice Number (PK), Product Number
(PK), Quantity, Sale Unit Price
PRODUCT: Product Number (PK), Product Description, List Unit
Price
CUSTOMER : Customer Number (PK), Customer Name,
Customer Address, Customer City, Customer State, Customer
Zip Code, Customer Phone
Chuẩn hóa về 3NF
Quan hệ INVOICE được phân rã về dạng 3NF như sau:
INVOICE: Invoice Number (PK), Customer Number, Terms,
Ship Via, Order Date
INVOICE LINE ITEM: Invoice Number (PK), Product Number
(PK), Quantity, Sale Unit Price
PRODUCT: Product Number (PK), Product Description, List Unit
Price
CUSTOMER : Customer Number (PK), Customer Name,
Customer Address, Customer City, Customer State, Customer
Zip Code, Customer Phone
Slide 5 -Chuẩn hóa cơ sở dữ liệu 45
Bài tập
Slide 5 -Chuẩn hóa cơ sở dữ liệu 46
Đáp án R1(F,I,J), R2(A,E,F,G,H), R3(A,B,C,D)
Bài tập về nhà: Giảng viên yêu cầu sinh viên làm chuẩn hóa cơ sơ dữ liệu
UTLA Academic Tracking và Computer Books Company trong sách
sau đó nộp lại cho giảng viên.
Quá trình chuẩn hóa làm tăng thêm số lượng các bảng và các liên kết.
Khi người sử dụng CSDL gặp vấn đề về hiệu suất mà không thể được
giải quyết được bằng các phương tiện khác (chẳng hạn như điều chỉnh
các cơ sở dữ liệu hoặc nâng cấp phần cứng) -> Cần phải khử chuẩn.
Các bước khử chuẩn:
Kết hợp lại các quan hệ đã chia để thỏa mãn các quy tắc chuẩn hóa
Lưu trữ dữ liệu dư thừa trong các bảng
Lưu trữ dữ liệu tóm tắt trong các bảng
Khử chuẩn (Denormalization)
Quá trình chuẩn hóa làm tăng thêm số lượng các bảng và các liên kết.
Khi người sử dụng CSDL gặp vấn đề về hiệu suất mà không thể được
giải quyết được bằng các phương tiện khác (chẳng hạn như điều chỉnh
các cơ sở dữ liệu hoặc nâng cấp phần cứng) -> Cần phải khử chuẩn.
Các bước khử chuẩn:
Kết hợp lại các quan hệ đã chia để thỏa mãn các quy tắc chuẩn hóa
Lưu trữ dữ liệu dư thừa trong các bảng
Lưu trữ dữ liệu tóm tắt trong các bảng
Slide 5 -Chuẩn hóa cơ sở dữ liệu 47
Các thao tác trên dữ liệu (thêm, sửa, xóa) trên CSDL chưa chuẩn
hóa có thể gây ra các bất thường trên CSDL.
Chuẩn hóa CSDL để đảm bảo dữ liệu không dư thừa và loại bỏ các
bất thường trên CSDL
3 bước chuẩn hóa thông thường:
Chuẩn hóa về dạng 1NF: Loại bỏ dữ liệu dư thừa
Chuẩn hóa về dạng 2NF: Loại bỏ các phụ thuộc hàm bộ phận
Chuẩn hóa về dạng 3NF: Loại bỏ các phụ thuộc hàm bắc cầu
Tổng kết bài học
Các thao tác trên dữ liệu (thêm, sửa, xóa) trên CSDL chưa chuẩn
hóa có thể gây ra các bất thường trên CSDL.
Chuẩn hóa CSDL để đảm bảo dữ liệu không dư thừa và loại bỏ các
bất thường trên CSDL
3 bước chuẩn hóa thông thường:
Chuẩn hóa về dạng 1NF: Loại bỏ dữ liệu dư thừa
Chuẩn hóa về dạng 2NF: Loại bỏ các phụ thuộc hàm bộ phận
Chuẩn hóa về dạng 3NF: Loại bỏ các phụ thuộc hàm bắc cầu
Slide 5 -Chuẩn hóa cơ sở dữ liệu 48

Más contenido relacionado

La actualidad más candente

Mô hình hóa dữ liệu mức quan niệm
Mô hình hóa dữ liệu mức quan niệm Mô hình hóa dữ liệu mức quan niệm
Mô hình hóa dữ liệu mức quan niệm nataliej4
 
91684060 356-cau-trắc-nghiệm-csdl-2
91684060 356-cau-trắc-nghiệm-csdl-291684060 356-cau-trắc-nghiệm-csdl-2
91684060 356-cau-trắc-nghiệm-csdl-2tranquanthien
 
Phụ thuộc hàm và các dạng chuẩn - dhcntt
Phụ thuộc hàm và các dạng chuẩn - dhcnttPhụ thuộc hàm và các dạng chuẩn - dhcntt
Phụ thuộc hàm và các dạng chuẩn - dhcnttanhhuycan83
 
Giáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tinGiáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tinVõ Phúc
 
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thôngBáo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thôngHuyen Pham
 
Bài giảng cơ sở dữ liệu
Bài giảng cơ sở dữ liệuBài giảng cơ sở dữ liệu
Bài giảng cơ sở dữ liệutrieulongweb
 
đồ áN phân tích thiết kế hệ thống quản lý bán hàng siêu thị
đồ áN phân tích thiết kế hệ thống quản lý bán hàng siêu thịđồ áN phân tích thiết kế hệ thống quản lý bán hàng siêu thị
đồ áN phân tích thiết kế hệ thống quản lý bán hàng siêu thịThanh Hoa
 
Phân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàngPhân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàngleemindinh
 
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UML
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UMLPHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UML
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UMLDang Tuan
 
Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT
Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPTBài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT
Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPTMasterCode.vn
 
Do an xay_dung_website_thuong_mai_dien_tu
Do an xay_dung_website_thuong_mai_dien_tuDo an xay_dung_website_thuong_mai_dien_tu
Do an xay_dung_website_thuong_mai_dien_tuThiênĐàng CôngDân
 
Hệ thống quản lý rạp chiếu phim
Hệ thống quản lý          rạp chiếu phimHệ thống quản lý          rạp chiếu phim
Hệ thống quản lý rạp chiếu phimvennguyennoinho
 
Hd th sql server_tuan5_n_khanh
Hd th sql server_tuan5_n_khanhHd th sql server_tuan5_n_khanh
Hd th sql server_tuan5_n_khanhHai Rom
 
lý thuyết cơ sở dữ liệu phân tán
lý thuyết cơ sở dữ liệu phân tánlý thuyết cơ sở dữ liệu phân tán
lý thuyết cơ sở dữ liệu phân tánNgo Trung
 
Giới thiệu về Rational Rose và Các diagram
Giới thiệu về Rational Rose và Các diagramGiới thiệu về Rational Rose và Các diagram
Giới thiệu về Rational Rose và Các diagramHuy Vũ
 
Lý thuyết thiết kế CSDL
Lý thuyết thiết kế CSDL Lý thuyết thiết kế CSDL
Lý thuyết thiết kế CSDL nataliej4
 
Chương 4. Chuẩn hóa cơ sở dữ liệu
Chương 4. Chuẩn hóa cơ sở dữ liệu Chương 4. Chuẩn hóa cơ sở dữ liệu
Chương 4. Chuẩn hóa cơ sở dữ liệu Hoa Le
 

La actualidad más candente (20)

Mô hình hóa dữ liệu mức quan niệm
Mô hình hóa dữ liệu mức quan niệm Mô hình hóa dữ liệu mức quan niệm
Mô hình hóa dữ liệu mức quan niệm
 
91684060 356-cau-trắc-nghiệm-csdl-2
91684060 356-cau-trắc-nghiệm-csdl-291684060 356-cau-trắc-nghiệm-csdl-2
91684060 356-cau-trắc-nghiệm-csdl-2
 
Phụ thuộc hàm và các dạng chuẩn - dhcntt
Phụ thuộc hàm và các dạng chuẩn - dhcnttPhụ thuộc hàm và các dạng chuẩn - dhcntt
Phụ thuộc hàm và các dạng chuẩn - dhcntt
 
Giáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tinGiáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tin
 
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thôngBáo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
 
Bài giảng cơ sở dữ liệu
Bài giảng cơ sở dữ liệuBài giảng cơ sở dữ liệu
Bài giảng cơ sở dữ liệu
 
đồ áN phân tích thiết kế hệ thống quản lý bán hàng siêu thị
đồ áN phân tích thiết kế hệ thống quản lý bán hàng siêu thịđồ áN phân tích thiết kế hệ thống quản lý bán hàng siêu thị
đồ áN phân tích thiết kế hệ thống quản lý bán hàng siêu thị
 
Phân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàngPhân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàng
 
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UML
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UMLPHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UML
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UML
 
Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT
Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPTBài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT
Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT
 
Do an xay_dung_website_thuong_mai_dien_tu
Do an xay_dung_website_thuong_mai_dien_tuDo an xay_dung_website_thuong_mai_dien_tu
Do an xay_dung_website_thuong_mai_dien_tu
 
Hệ thống quản lý rạp chiếu phim
Hệ thống quản lý          rạp chiếu phimHệ thống quản lý          rạp chiếu phim
Hệ thống quản lý rạp chiếu phim
 
Hd th sql server_tuan5_n_khanh
Hd th sql server_tuan5_n_khanhHd th sql server_tuan5_n_khanh
Hd th sql server_tuan5_n_khanh
 
lý thuyết cơ sở dữ liệu phân tán
lý thuyết cơ sở dữ liệu phân tánlý thuyết cơ sở dữ liệu phân tán
lý thuyết cơ sở dữ liệu phân tán
 
Giới thiệu về Rational Rose và Các diagram
Giới thiệu về Rational Rose và Các diagramGiới thiệu về Rational Rose và Các diagram
Giới thiệu về Rational Rose và Các diagram
 
Lý thuyết thiết kế CSDL
Lý thuyết thiết kế CSDL Lý thuyết thiết kế CSDL
Lý thuyết thiết kế CSDL
 
Chương 4. Chuẩn hóa cơ sở dữ liệu
Chương 4. Chuẩn hóa cơ sở dữ liệu Chương 4. Chuẩn hóa cơ sở dữ liệu
Chương 4. Chuẩn hóa cơ sở dữ liệu
 
C2 2
C2 2C2 2
C2 2
 
Thuật toán K mean
Thuật toán K meanThuật toán K mean
Thuật toán K mean
 
Uml hà
Uml hàUml hà
Uml hà
 

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

Data Normalization - How to normalize database from 1nf to bcnf
Data Normalization - How to normalize database from 1nf to bcnfData Normalization - How to normalize database from 1nf to bcnf
Data Normalization - How to normalize database from 1nf to bcnfHiuLimPhm
 
Bài 6: Mô hình hóa dữ liệu
Bài 6: Mô hình hóa dữ liệuBài 6: Mô hình hóa dữ liệu
Bài 6: Mô hình hóa dữ liệuMasterCode.vn
 
Cơ sở dữ liệu PTIT slide 3
Cơ sở dữ liệu PTIT slide 3Cơ sở dữ liệu PTIT slide 3
Cơ sở dữ liệu PTIT slide 3NguynMinh294
 
Bài 2 1 Mô hình hóa dl.ppt
Bài 2 1 Mô hình  hóa dl.pptBài 2 1 Mô hình  hóa dl.ppt
Bài 2 1 Mô hình hóa dl.pptDngDonTun
 
Bài 2 1 Mô hình hóa dl.ppt
Bài 2 1 Mô hình  hóa dl.pptBài 2 1 Mô hình  hóa dl.ppt
Bài 2 1 Mô hình hóa dl.pptDngDonTun
 
Cơ sở dữ liệu PTIT slide 5
Cơ sở dữ liệu PTIT slide 5 Cơ sở dữ liệu PTIT slide 5
Cơ sở dữ liệu PTIT slide 5 NguynMinh294
 
Cơ sở dữ liệu đại học
Cơ sở dữ liệu đại họcCơ sở dữ liệu đại học
Cơ sở dữ liệu đại họcChu TheKop
 
Chuanhoa complete
Chuanhoa completeChuanhoa complete
Chuanhoa completePhùng Duy
 
Chuong_ChuanHoaCSDL_CC.pptx
Chuong_ChuanHoaCSDL_CC.pptxChuong_ChuanHoaCSDL_CC.pptx
Chuong_ChuanHoaCSDL_CC.pptxVyNguyen654339
 
C10 chuanhoacsdl
C10 chuanhoacsdlC10 chuanhoacsdl
C10 chuanhoacsdlVan Chau
 
Chap03.ppsx
Chap03.ppsxChap03.ppsx
Chap03.ppsxTonMnh13
 
Cơ sở dữ liệu PTIT slide 6
Cơ sở dữ liệu PTIT slide 6Cơ sở dữ liệu PTIT slide 6
Cơ sở dữ liệu PTIT slide 6NguynMinh294
 
Mô hình dữ liệu quan hệ Các khái niệm của mô hình quan hệ Ràng buộc toàn vẹn ...
Mô hình dữ liệu quan hệ Các khái niệm của mô hình quan hệ Ràng buộc toàn vẹn ...Mô hình dữ liệu quan hệ Các khái niệm của mô hình quan hệ Ràng buộc toàn vẹn ...
Mô hình dữ liệu quan hệ Các khái niệm của mô hình quan hệ Ràng buộc toàn vẹn ...BangNgoVanCong
 
Cơ sở dữ liệu PTIT slide 7
Cơ sở dữ liệu PTIT slide 7 Cơ sở dữ liệu PTIT slide 7
Cơ sở dữ liệu PTIT slide 7 NguynMinh294
 

Similar a Bài 5: Chuẩn hóa cơ sở dữ liệu (20)

Data Normalization - How to normalize database from 1nf to bcnf
Data Normalization - How to normalize database from 1nf to bcnfData Normalization - How to normalize database from 1nf to bcnf
Data Normalization - How to normalize database from 1nf to bcnf
 
Bài 6: Mô hình hóa dữ liệu
Bài 6: Mô hình hóa dữ liệuBài 6: Mô hình hóa dữ liệu
Bài 6: Mô hình hóa dữ liệu
 
Com201 slide 6
Com201   slide 6Com201   slide 6
Com201 slide 6
 
Cơ sở dữ liệu PTIT slide 3
Cơ sở dữ liệu PTIT slide 3Cơ sở dữ liệu PTIT slide 3
Cơ sở dữ liệu PTIT slide 3
 
Bài 2 1 Mô hình hóa dl.ppt
Bài 2 1 Mô hình  hóa dl.pptBài 2 1 Mô hình  hóa dl.ppt
Bài 2 1 Mô hình hóa dl.ppt
 
Bài 2 1 Mô hình hóa dl.ppt
Bài 2 1 Mô hình  hóa dl.pptBài 2 1 Mô hình  hóa dl.ppt
Bài 2 1 Mô hình hóa dl.ppt
 
Cơ sở dữ liệu PTIT slide 5
Cơ sở dữ liệu PTIT slide 5 Cơ sở dữ liệu PTIT slide 5
Cơ sở dữ liệu PTIT slide 5
 
Cơ sở dữ liệu đại học
Cơ sở dữ liệu đại họcCơ sở dữ liệu đại học
Cơ sở dữ liệu đại học
 
Chuanhoa complete
Chuanhoa completeChuanhoa complete
Chuanhoa complete
 
Chuong_ChuanHoaCSDL_CC.pptx
Chuong_ChuanHoaCSDL_CC.pptxChuong_ChuanHoaCSDL_CC.pptx
Chuong_ChuanHoaCSDL_CC.pptx
 
C10 chuanhoacsdl
C10 chuanhoacsdlC10 chuanhoacsdl
C10 chuanhoacsdl
 
Com201 slide 2
Com201   slide 2Com201   slide 2
Com201 slide 2
 
Chap03.ppsx
Chap03.ppsxChap03.ppsx
Chap03.ppsx
 
Phan6
Phan6Phan6
Phan6
 
Bai giang he qtdl
Bai giang he qtdlBai giang he qtdl
Bai giang he qtdl
 
Cơ sở dữ liệu PTIT slide 6
Cơ sở dữ liệu PTIT slide 6Cơ sở dữ liệu PTIT slide 6
Cơ sở dữ liệu PTIT slide 6
 
Com201 slide 7
Com201   slide 7Com201   slide 7
Com201 slide 7
 
Mô hình dữ liệu quan hệ Các khái niệm của mô hình quan hệ Ràng buộc toàn vẹn ...
Mô hình dữ liệu quan hệ Các khái niệm của mô hình quan hệ Ràng buộc toàn vẹn ...Mô hình dữ liệu quan hệ Các khái niệm của mô hình quan hệ Ràng buộc toàn vẹn ...
Mô hình dữ liệu quan hệ Các khái niệm của mô hình quan hệ Ràng buộc toàn vẹn ...
 
Chuan
ChuanChuan
Chuan
 
Cơ sở dữ liệu PTIT slide 7
Cơ sở dữ liệu PTIT slide 7 Cơ sở dữ liệu PTIT slide 7
Cơ sở dữ liệu PTIT slide 7
 

Más de MasterCode.vn

Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vnPd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vnMasterCode.vn
 
Why apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vnWhy apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vnMasterCode.vn
 
Dzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vnDzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vnMasterCode.vn
 
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vnGoogle công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vnMasterCode.vn
 
Nghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vnNghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vnMasterCode.vn
 
Lập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnLập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnMasterCode.vn
 
Pd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnPd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnMasterCode.vn
 
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnPd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnMasterCode.vn
 
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnPdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnMasterCode.vn
 
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnPd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnMasterCode.vn
 
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vnPd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vnMasterCode.vn
 
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vnPd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vnMasterCode.vn
 
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vnPdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vnMasterCode.vn
 
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vnPdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vnPdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vnPdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vnPdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vnPdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vnPdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vnPdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 

Más de MasterCode.vn (20)

Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vnPd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
 
Why apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vnWhy apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vn
 
Dzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vnDzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vn
 
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vnGoogle công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
 
Nghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vnNghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vn
 
Lập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnLập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vn
 
Pd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnPd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vn
 
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnPd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
 
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnPdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
 
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnPd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
 
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vnPd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
 
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vnPd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
 
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vnPdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
 
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vnPdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vnPdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vnPdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vnPdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vnPdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vnPdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vnPdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
 

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

  • 1. Bài 5: CHUẨN HÓA CƠ SỞ DỮ LIỆU
  • 2. Giới thiệu ngôn ngữ SQL Giới thiệu Oracle SQL Tìm hiểu các nhóm ngôn ngữ của SQL Hệ thống bài cũ Giới thiệu ngôn ngữ SQL Giới thiệu Oracle SQL Tìm hiểu các nhóm ngôn ngữ của SQL Slide 5 -Chuẩn hóa cơ sở dữ liệu 2
  • 3. Các bất thường khi cập nhật dữ liệu Giải thích sự cần thiết phải chuẩn hóa dữ liệu Tìm hiểu một số khái niệm: Khóa của quan hệ Phụ thuộc hàm Tìm hiểu quy trình chuẩn hóa CSDL Tìm hiểu 3 dạng chuẩn: 1NF, 2NF, 3NF Trình tự chuẩn hóa theo 3 dạng chuẩn Tìm hiểu khái niệm khử chuẩn Mục tiêu bài học hôm nay Các bất thường khi cập nhật dữ liệu Giải thích sự cần thiết phải chuẩn hóa dữ liệu Tìm hiểu một số khái niệm: Khóa của quan hệ Phụ thuộc hàm Tìm hiểu quy trình chuẩn hóa CSDL Tìm hiểu 3 dạng chuẩn: 1NF, 2NF, 3NF Trình tự chuẩn hóa theo 3 dạng chuẩn Tìm hiểu khái niệm khử chuẩn Slide 5 -Chuẩn hóa cơ sở dữ liệu 3
  • 4. Ví dụ với CSDL là bảng hóa đơn (INVOICE) cho khách hàng như sau: Các bất thường khi cập nhật dữ liệu Slide 5 -Chuẩn hóa cơ sở dữ liệu 4
  • 5. Bất thường khi thêm dữ liệu: Không thể thêm một khách hàng vào CSDL nếu khách hàng không mua một mặt hàng nào. Bất thường khi cập nhật dữ liệu: Muốn thay đổi địa chỉ của khách hàng, phải thay đổi địa chỉ trên tất cả các hóa đơn của khách hàng đó bởi vì địa chỉ của khách hàng lưu trữ dư thừa trong tất cả các hóa đơn của khách hàng. Các bất thường khi cập nhật dữ liệu Bất thường khi thêm dữ liệu: Không thể thêm một khách hàng vào CSDL nếu khách hàng không mua một mặt hàng nào. Bất thường khi cập nhật dữ liệu: Muốn thay đổi địa chỉ của khách hàng, phải thay đổi địa chỉ trên tất cả các hóa đơn của khách hàng đó bởi vì địa chỉ của khách hàng lưu trữ dư thừa trong tất cả các hóa đơn của khách hàng. Slide 5 -Chuẩn hóa cơ sở dữ liệu 5
  • 6. Bất thường khi xóa dữ liệu: Nếu xóa hóa đơn cuối cùng của một khách hàng thì tất cả dữ liệu về khách hàng đó bị mất. Các bất thường khi cập nhật dữ liệu Bất thường khi xóa dữ liệu: Nếu xóa hóa đơn cuối cùng của một khách hàng thì tất cả dữ liệu về khách hàng đó bị mất. Slide 5 -Chuẩn hóa cơ sở dữ liệu 6
  • 7. Mục đích của chuẩn hóa CSDL là nhóm các thuộc tính vào các quan hệ nhằm giảm thiểu dư thừa dữ liệu, loại bỏ các bất thường khi cập nhật CSDL. -> Cần có các bước chuẩn hoá dữ liệu từ một CSDL chưa chuẩn hóa sang chuẩn hóa. Dạng chưa chuẩn hóa (unnormalized form - UNF): quan hệ chưa chuẩn hóa là quan hệ chứa các bộ dữ liệu bị lặp lại giá trị. Sự cần thiết phải chuẩn hóa CSDL Mục đích của chuẩn hóa CSDL là nhóm các thuộc tính vào các quan hệ nhằm giảm thiểu dư thừa dữ liệu, loại bỏ các bất thường khi cập nhật CSDL. -> Cần có các bước chuẩn hoá dữ liệu từ một CSDL chưa chuẩn hóa sang chuẩn hóa. Dạng chưa chuẩn hóa (unnormalized form - UNF): quan hệ chưa chuẩn hóa là quan hệ chứa các bộ dữ liệu bị lặp lại giá trị. Slide 5 -Chuẩn hóa cơ sở dữ liệu 7
  • 8. Bảng hóa đơn (INVOICE) ở trên biểu diễn dưới dạng bảng như sau. Bảng này ở dạng không chuẩn Ví dụ Slide 3 - Truy vấn cơ sở dữ liệu trên form 8
  • 9. Bảng này được chuẩn hóa bằng cách tách thành hai bảng như sau: Ví dụ Slide 3 - Truy vấn cơ sở dữ liệu trên form 9
  • 10. Khóa (Primary Key) là một (một nhóm) thuộc tính của quan hệ cho phép xác định mỗi bộ khác nhau trong quan hệ. Ví dụ: Trong quan hệ SINHVIEN: MaSV, HoTenSV, NgaySinh, DiaChi thì thuộc tính khóa là MaSV. Khái niệm khóa của quan hệ Khóa (Primary Key) là một (một nhóm) thuộc tính của quan hệ cho phép xác định mỗi bộ khác nhau trong quan hệ. Ví dụ: Trong quan hệ SINHVIEN: MaSV, HoTenSV, NgaySinh, DiaChi thì thuộc tính khóa là MaSV. Slide 5 -Chuẩn hóa cơ sở dữ liệu 10
  • 11. Cho hai thuộc tính A và B B được gọi là phụ thuộc hàm vào A nếu có không quá một giá trị của thuộc tính B liên kết với một giá trị của thuộc tính A. Khái niệm phụ thuộc hàm Cho hai thuộc tính A và B B được gọi là phụ thuộc hàm vào A nếu có không quá một giá trị của thuộc tính B liên kết với một giá trị của thuộc tính A. Slide 5 -Chuẩn hóa cơ sở dữ liệu 11
  • 12. Định nghĩa cách khác: Cho r là một quan hệ được định nghĩa trên lượt đồ quan hệ R. X và Y là hai tập con (khác rỗng) các thuộc tính của R. Ta nói X xác định hàm Y, ký hiệu: X  Y là một phụ thuộc hàm định nghĩa trên R nếu: ∀ t1, t2 ∈ r(R): t1(X) = t2(X) ⇒ t1(Y) = t2(Y) Ví dụ: Quan hệ SINHVIEN: MASV, HOTENSV, NAMSINH có phụ thuộc MASV, HOTENSV  NAMSINH Khái niệm phụ thuộc hàm Định nghĩa cách khác: Cho r là một quan hệ được định nghĩa trên lượt đồ quan hệ R. X và Y là hai tập con (khác rỗng) các thuộc tính của R. Ta nói X xác định hàm Y, ký hiệu: X  Y là một phụ thuộc hàm định nghĩa trên R nếu: ∀ t1, t2 ∈ r(R): t1(X) = t2(X) ⇒ t1(Y) = t2(Y) Ví dụ: Quan hệ SINHVIEN: MASV, HOTENSV, NAMSINH có phụ thuộc MASV, HOTENSV  NAMSINH Slide 5 -Chuẩn hóa cơ sở dữ liệu 12
  • 13. Quy trình chuẩn hóa dữ liệu Quan hệ chưa được chuẩn hóa Quan hệ ở dạng chuẩn I Loại bỏ các thuộc tính lặp và đa trị Loại bỏ các thuộc tính phụ thuộc bộ phận Slide 5 -Chuẩn hóa cơ sở dữ liệu 13 Quan hệ ở dạng chuẩn II Quan hệ ở dạng chuẩn III Quan hệ được chuẩn hóa hoàn toàn Loại bỏ các thuộc tính phụ thuộc bộ phận Loại bỏ các thuộc tính phụ thuộc bắc cầu Áp dụng các dạng chuẩn khác
  • 14. Chuẩn hóa là quá trình phân rã lược đồ quan hệ dựa trên một tập phụ thuộc hàm nhằm đảm các lược đồ quan hệ thoả mãn 2 tính chất: Trùng lắp dữ liệu ít nhất Khả năng gây ra bất thường khi cập nhật được giảm thiểu. Các dạng chuẩn: Dạng chuẩn 1 (1NF) Dạng chuẩn 2 (2NF) Dạng chuẩn 3 (3NF) Chuẩn hóa CSDL Chuẩn hóa là quá trình phân rã lược đồ quan hệ dựa trên một tập phụ thuộc hàm nhằm đảm các lược đồ quan hệ thoả mãn 2 tính chất: Trùng lắp dữ liệu ít nhất Khả năng gây ra bất thường khi cập nhật được giảm thiểu. Các dạng chuẩn: Dạng chuẩn 1 (1NF) Dạng chuẩn 2 (2NF) Dạng chuẩn 3 (3NF) Slide 5 -Chuẩn hóa cơ sở dữ liệu 14
  • 15. Xét bảng dữ liệu đơnvị sau: Ta thấy trường ĐịaĐiểm của đơn vị 5 chứa các thuộc tính đa trị (nhiều hơn 1 giá trị) có 3 nơi là: Nam Định, Hà Nội, Bắc Ninh vì vậy bảng dữ liệu này chưa đạt dạng chuẩn hóa. Ví dụ 1 dạng chưa chuẩn Xét bảng dữ liệu đơnvị sau: Ta thấy trường ĐịaĐiểm của đơn vị 5 chứa các thuộc tính đa trị (nhiều hơn 1 giá trị) có 3 nơi là: Nam Định, Hà Nội, Bắc Ninh vì vậy bảng dữ liệu này chưa đạt dạng chuẩn hóa. Slide 5 -Chuẩn hóa cơ sở dữ liệu 15
  • 16. Xét bảng dữ liệu NHÂN VIÊN_DỰÁN: Ta thấy nhóm thuộc tính {Tênnhânviên, sốgiờ} bị lặp lại nhiều lần trong các dự án khác nhau. Vì vậy cơ sở dữ liệu này chưa đạt chuẩn hóa. Ví dụ 2 dạng chưa chuẩn Xét bảng dữ liệu NHÂN VIÊN_DỰÁN: Ta thấy nhóm thuộc tính {Tênnhânviên, sốgiờ} bị lặp lại nhiều lần trong các dự án khác nhau. Vì vậy cơ sở dữ liệu này chưa đạt chuẩn hóa. Slide 5 -Chuẩn hóa cơ sở dữ liệu 16
  • 17. Xét bảng dữ liệu Invoice Đây là 1 hóa đơn của 1 khách hàng, Nếu có thêm 1 hóa đơn khác thì các thuộc tính {Product No, Description, Quantity, Unit Price, Extended Mount} sẽ lặp lại trong các hóa đơn khác vì vậy bảng này chưa đạt dạng chuẩn hóa. Ví dụ 3 dạng chưa chuẩn Xét bảng dữ liệu Invoice Đây là 1 hóa đơn của 1 khách hàng, Nếu có thêm 1 hóa đơn khác thì các thuộc tính {Product No, Description, Quantity, Unit Price, Extended Mount} sẽ lặp lại trong các hóa đơn khác vì vậy bảng này chưa đạt dạng chuẩn hóa. Slide 5 -Chuẩn hóa cơ sở dữ liệu 17
  • 18. Khái niệm: Lược đồ quan hệ R được gọi là 1NF nếu và chỉ nếu tất cả các thuộc tính của R thoả mãn cả 3 điều kiện sau: Là nguyên tố Giá trị của các thuộc tính trên các bộ là đơn trị, không chứa nhóm lặp. Không có một thuộc tính nào có giá trị mà có thể tính toán được từ một số thuộc tính khác. Dạng chuẩn 1 (1NF) Khái niệm: Lược đồ quan hệ R được gọi là 1NF nếu và chỉ nếu tất cả các thuộc tính của R thoả mãn cả 3 điều kiện sau: Là nguyên tố Giá trị của các thuộc tính trên các bộ là đơn trị, không chứa nhóm lặp. Không có một thuộc tính nào có giá trị mà có thể tính toán được từ một số thuộc tính khác. Slide 5 -Chuẩn hóa cơ sở dữ liệu 18
  • 19. Ví dụ 1: Một lược đồ quan hệ đạt chuẩn 1NF Dạng chuẩn 1 (1NF) MSKH TÊNKH TP PVC MSMH TÊNMH ĐG SL S1 S1 S1 S2 S2 S3 S4 An An An Hòa Hoà Thanh Trang HCM HCM HCM HN HN NT NT 01 01 01 02 02 03 03 P1 P2 P3 P1 P3 P2 P2 Táo Chanh Táo Chanh Táo Chanh Chanh 650 500 450 650 450 500 500 300 200 400 100 300 200 210 Slide 5 -Chuẩn hóa cơ sở dữ liệu 19 S1 S1 S1 S2 S2 S3 S4 An An An Hòa Hoà Thanh Trang HCM HCM HCM HN HN NT NT 01 01 01 02 02 03 03 P1 P2 P3 P1 P3 P2 P2 Táo Chanh Táo Chanh Táo Chanh Chanh 650 500 450 650 450 500 500 300 200 400 100 300 200 210
  • 20. Ví dụ 2: Quan hệ sau được chuẩn hóa về dạng chuẩn 1 Dạng chuẩn 1 (1NF) Họ Tên Nguyễn Văn Trần Duy Hưng An Họ và tên Họ Tên Không nguyên tố nguyên tố Slide 5 -Chuẩn hóa cơ sở dữ liệu 20 Nguyễn Văn Trần Duy Hưng An Họ và tên Nguyễn Văn Hưng Trần Duy An Họ Tên Nguyễn Văn Trần Duy Hưng An nguyên tố
  • 21. Nguyên tắc chung: Loại bỏ thuộc tính lặp hoặc đa trị Các bước thực hiện: Tách nhóm thuộc tính lặp / đa trị sang một bảng mới. Khóa của bảng mới là Khóa của bảng ban đầu và khóa nhóm lặp Bảng còn lại là bảng gồm có khóa và các thuộc tính còn lại. Ví dụ: cho quan hệ Với A1 là khóa chính của quan hệ, {A4,A5,A5} là thuộc tính lặp. Quan hệ R sẽ được tách thành 2 quan hệ R1, R2 Quy tắc chuyển bảng từ dạng chưa chuẩn về chuẩn 1 NF Nguyên tắc chung: Loại bỏ thuộc tính lặp hoặc đa trị Các bước thực hiện: Tách nhóm thuộc tính lặp / đa trị sang một bảng mới. Khóa của bảng mới là Khóa của bảng ban đầu và khóa nhóm lặp Bảng còn lại là bảng gồm có khóa và các thuộc tính còn lại. Ví dụ: cho quan hệ Với A1 là khóa chính của quan hệ, {A4,A5,A5} là thuộc tính lặp. Quan hệ R sẽ được tách thành 2 quan hệ R1, R2 Slide 5 -Chuẩn hóa cơ sở dữ liệu 21
  • 22. Cho bảng ĐƠN VỊ Ta có quan hệ sau R(MãsốĐV, TênDV, MãsốNQL, {Địa điểm} ) Thuộc tính đa trị là {Địa điểm} quan hệ này được tách thành: R1(MãsốĐV, Địa điểm ) R2(MãsốĐV, TênDV, MãsốNQL) Ví dụ 1 đưa bảng dữ liệu về dạng chuẩn 1NF Cho bảng ĐƠN VỊ Ta có quan hệ sau R(MãsốĐV, TênDV, MãsốNQL, {Địa điểm} ) Thuộc tính đa trị là {Địa điểm} quan hệ này được tách thành: R1(MãsốĐV, Địa điểm ) R2(MãsốĐV, TênDV, MãsốNQL) Slide 5 -Chuẩn hóa cơ sở dữ liệu 22
  • 23. Cho bảng NHÂNVIÊN_DỰÁN Quan hệ này là R(MãsốDA, TênDA, {Tênnhânviên, Số giờ} ) Thuộc tính lặp là {Tênnhânviên, Số giờ} quan hệ được tách thành: R1(MãsốĐV, Tênnhânviên, Số giờ) R2(MãsốĐV, TênDA) Ví dụ 2 đưa bảng dữ liệu về dạng chuẩn 1NF Cho bảng NHÂNVIÊN_DỰÁN Quan hệ này là R(MãsốDA, TênDA, {Tênnhânviên, Số giờ} ) Thuộc tính lặp là {Tênnhânviên, Số giờ} quan hệ được tách thành: R1(MãsốĐV, Tênnhânviên, Số giờ) R2(MãsốĐV, TênDA) Slide 5 -Chuẩn hóa cơ sở dữ liệu 23
  • 24. Xét bảng INVOICE được viết thành quan hệ sau (thêm Invoice Number làm thuộc tính khóa cho bảng Invoice vì mỗi hóa đơn có Số hóa đơn là Khóa) R(Invoice Number (PK), Customer Number, Customer Name, Customer Address, Customer City, Customer State, Customer Zip Code, Customer Phone, Terms, Ship Via, Order Date, {Product Number, Product Description, Quantity, Unit Price, Extended Amount, Total Order Amount }) Thuộc tính lặp được bôi đỏ và đặt trong dấu { } quan hệ được tách R1-INVOICE (Invoice Number (PK), Product Number, Product Description, Quantity, Unit Price, Extended Amount, Total Order Amount) R2-INVOICE LINE ITEM (Invoice Number (PK), Customer Number, Customer Name, Customer Address, Customer City, Customer State, Customer Zip Code, Customer Phone, Terms, Ship Via, Order Date) Ví dụ 3 đưa bảng dữ liệu về dạng chuẩn 1NF Xét bảng INVOICE được viết thành quan hệ sau (thêm Invoice Number làm thuộc tính khóa cho bảng Invoice vì mỗi hóa đơn có Số hóa đơn là Khóa) R(Invoice Number (PK), Customer Number, Customer Name, Customer Address, Customer City, Customer State, Customer Zip Code, Customer Phone, Terms, Ship Via, Order Date, {Product Number, Product Description, Quantity, Unit Price, Extended Amount, Total Order Amount }) Thuộc tính lặp được bôi đỏ và đặt trong dấu { } quan hệ được tách R1-INVOICE (Invoice Number (PK), Product Number, Product Description, Quantity, Unit Price, Extended Amount, Total Order Amount) R2-INVOICE LINE ITEM (Invoice Number (PK), Customer Number, Customer Name, Customer Address, Customer City, Customer State, Customer Zip Code, Customer Phone, Terms, Ship Via, Order Date) Slide 5 -Chuẩn hóa cơ sở dữ liệu 24
  • 25. Kết quả bảng được tách thành hai bảng như sau Ví dụ 3 đưa bảng dữ liệu về dạng chuẩn 1NF(tiếp) Slide 5 -Chuẩn hóa cơ sở dữ liệu 25
  • 26. Quan hệ R được gọi là đạt dạng chuẩn 2 nếu đã là 1NF và tất cả các thuộc tính không khóa đều phụ thuộc hàm đầy đủ vào khóa. Thuộc tính không khóa: là thuộc tính không tham gia vào bất kỳ khoá nào. Dạng chuẩn 2 (2NF) Quan hệ R được gọi là đạt dạng chuẩn 2 nếu đã là 1NF và tất cả các thuộc tính không khóa đều phụ thuộc hàm đầy đủ vào khóa. Thuộc tính không khóa: là thuộc tính không tham gia vào bất kỳ khoá nào. Slide 5 -Chuẩn hóa cơ sở dữ liệu 26
  • 27. Quy tắc chuẩn hóa từ 1NF - 2NF: Bước 1: Loại bỏ các thuộc tính không khoá phụthuộc vào một bộ phận khoá chính và tách thành ra một bảng riêng, khoá chính của bảng là bộ phận khoá mà chúng phụ thuộc vào. Bước 2: Các thuộc tính còn lại lập thành một quan hệ, khóa chính của nó là khóa chính ban đầu. Quy tắc chuẩn hóa từ 1NF - 2NF Quy tắc chuẩn hóa từ 1NF - 2NF: Bước 1: Loại bỏ các thuộc tính không khoá phụthuộc vào một bộ phận khoá chính và tách thành ra một bảng riêng, khoá chính của bảng là bộ phận khoá mà chúng phụ thuộc vào. Bước 2: Các thuộc tính còn lại lập thành một quan hệ, khóa chính của nó là khóa chính ban đầu. Slide 5 -Chuẩn hóa cơ sở dữ liệu 27
  • 28. Quy tắc chuẩn hóa từ 1NF - 2NF Slide 5 -Chuẩn hóa cơ sở dữ liệu 28
  • 29. Ví dụ: cho quan hệ R(MSKH, TÊNKH, TP, PVC, MSMH, TÊNMH, ĐG, SL) và tập phụ thuộc hàm F được định nghĩa trên R: Quan hệ này được tách thành các quan hệ sau R1(MSKH, TÊNKH, TP, PVC) R2(MSKH, MSMH, TÊNMH, ĐG, SL) Trong R2 chứa phụ thuộc hàm {MSMH} {TÊNMH, ĐG} tách thành R21(MSMH, TÊNMH, ĐG) R22(MSKH, MSMH,SL) Ví dụ 1 tách chuẩn từ 1NF-2NF Ví dụ: cho quan hệ R(MSKH, TÊNKH, TP, PVC, MSMH, TÊNMH, ĐG, SL) và tập phụ thuộc hàm F được định nghĩa trên R: Quan hệ này được tách thành các quan hệ sau R1(MSKH, TÊNKH, TP, PVC) R2(MSKH, MSMH, TÊNMH, ĐG, SL) Trong R2 chứa phụ thuộc hàm {MSMH} {TÊNMH, ĐG} tách thành R21(MSMH, TÊNMH, ĐG) R22(MSKH, MSMH,SL) Slide 5 -Chuẩn hóa cơ sở dữ liệu 29
  • 30. Tách thành các quan hệ sau Ví dụ 1 tách chuẩn từ 1NF-2NF (tiếp) Slide 5 -Chuẩn hóa cơ sở dữ liệu 30
  • 31. Quan hệ này được tách thành các quan hệ sau Ví dụ 2 tách chuẩn từ 1NF-2NF Quan hệ này được tách thành các quan hệ sau Slide 5 -Chuẩn hóa cơ sở dữ liệu 31
  • 32. Kết quả tách ta được 3 bảng sau Ví dụ 2 tách chuẩn từ 1NF-2NF Slide 5 -Chuẩn hóa cơ sở dữ liệu 32
  • 33. Xét Quan hệ INVOICE LINE ITEM: (Invoice Number (PK), Product Number (PK), Product Description, Quantity, Unit Price, Extended Amount) Ta thấy có phụ thuộc hàm vào một phần của khóa như sau {Product Number} -> {Product Description, Unit Price} Quan hệ này được tách thành 2 quan hệ sau: PRODUCT (Product Number,Product Description, Unit Price) INVOICE LINE ITEM (Invoice Number (PK), Product Number (PK), Quantity, ExtAmount) Ví dụ 3 tách chuẩn từ 1NF-2NF Xét Quan hệ INVOICE LINE ITEM: (Invoice Number (PK), Product Number (PK), Product Description, Quantity, Unit Price, Extended Amount) Ta thấy có phụ thuộc hàm vào một phần của khóa như sau {Product Number} -> {Product Description, Unit Price} Quan hệ này được tách thành 2 quan hệ sau: PRODUCT (Product Number,Product Description, Unit Price) INVOICE LINE ITEM (Invoice Number (PK), Product Number (PK), Quantity, ExtAmount) Slide 5 -Chuẩn hóa cơ sở dữ liệu 33
  • 34. Cho quan hệ R, F là tập phụ thuộc hàm định nghĩa trên R. R được gọi là đạt dạng chuẩn 3 nếu thoả mãn các điều kiện sau: R phải đạt dạng chuẩn 2NF Mọi thuộc tính không khoá không phụ thuộc bắc cầu vào khóa (tức là tất cả các thuộc tính phải được suy ra trực tiếp từ khóa). Dạng chuẩn 3 (3NF) Cho quan hệ R, F là tập phụ thuộc hàm định nghĩa trên R. R được gọi là đạt dạng chuẩn 3 nếu thoả mãn các điều kiện sau: R phải đạt dạng chuẩn 2NF Mọi thuộc tính không khoá không phụ thuộc bắc cầu vào khóa (tức là tất cả các thuộc tính phải được suy ra trực tiếp từ khóa). Slide 5 -Chuẩn hóa cơ sở dữ liệu 34
  • 35. Ví dụ: quan hệ R(MSKH, TÊNKH, TP, PVC), FR = {MSKH } {TÊNKH, TP,PVC} MSKH là khóa chính {TP}  PVC} chưa đạt chuẩn NF3 vì có thuộc tính PVC được suy ra từ thuộc tính TP (không phải là khóa). Dạng chuẩn 3 (3NF) Ví dụ: quan hệ R(MSKH, TÊNKH, TP, PVC), FR = {MSKH } {TÊNKH, TP,PVC} MSKH là khóa chính {TP}  PVC} chưa đạt chuẩn NF3 vì có thuộc tính PVC được suy ra từ thuộc tính TP (không phải là khóa). Slide 5 -Chuẩn hóa cơ sở dữ liệu 35
  • 36. Quy tắc chuẩn hóa về NF3: Bước 1: Loại bỏ các thuộc tính phụ thuộc bắc cầu ra khỏi quan hệ và tách chúng thành một quan hệ riêng có khoá chính là thuộc tính bắc cầu. Bước 2: Các thuộc tính còn lại lập thành một quan hệ có khóa chính là quan hệ ban đầu. Quy tắc chuẩn hóa về 3NF Quy tắc chuẩn hóa về NF3: Bước 1: Loại bỏ các thuộc tính phụ thuộc bắc cầu ra khỏi quan hệ và tách chúng thành một quan hệ riêng có khoá chính là thuộc tính bắc cầu. Bước 2: Các thuộc tính còn lại lập thành một quan hệ có khóa chính là quan hệ ban đầu. Slide 5 -Chuẩn hóa cơ sở dữ liệu 36
  • 37. Quy tắc chuẩn hóa về 3NF Slide 5 -Chuẩn hóa cơ sở dữ liệu 37
  • 38. Ví dụ: Quan hệ R(MSKH, TÊNKH, TP, PVC) được tách thành 2 bảng R-VC (TP, PVC) R-KHÁCHHÀNG (MSKH, TÊNKH, TP) Ví dụ 1 chuyển sang chuẩn 3NF Slide 5 -Chuẩn hóa cơ sở dữ liệu 38
  • 39. Quan hệ này được tách thành các quan hệ sau Ví dụ 2 chuyển sang chuẩn 3NF Quan hệ này được tách thành các quan hệ sau Slide 5 -Chuẩn hóa cơ sở dữ liệu 39
  • 40. Ví dụ 2 chuyển sang chuẩn 3NF Slide 5 -Chuẩn hóa cơ sở dữ liệu 40
  • 41. Xét quan hệ INVOICE đã được tách như sau: INVOICE: Invoice Number (PK), Customer Number, Customer Name, Customer Address, Customer City, Customer State, Customer Zip Code, Customer Phone, Terms, Ship Via, Order Date, Total Order Amount Ta thấy có chứa thuộc tính bắc cầu sau {Customer Number} -> {Customer Name, Customer Address, Customer City, Customer State, Customer Zip Code, Customer Phone} Bảng này được tách thành hai bảng sau: CUSTOMER (Customer Number, Customer Name, Customer Address, Customer City, Customer State, Customer Zip Code, Customer Phone ) INVOICE (Invoice Number (PK), Customer Number, Terms, Ship Via, Order Date, Total Order Amount) Ví dụ 3 chuyển sang chuẩn 3NF Xét quan hệ INVOICE đã được tách như sau: INVOICE: Invoice Number (PK), Customer Number, Customer Name, Customer Address, Customer City, Customer State, Customer Zip Code, Customer Phone, Terms, Ship Via, Order Date, Total Order Amount Ta thấy có chứa thuộc tính bắc cầu sau {Customer Number} -> {Customer Name, Customer Address, Customer City, Customer State, Customer Zip Code, Customer Phone} Bảng này được tách thành hai bảng sau: CUSTOMER (Customer Number, Customer Name, Customer Address, Customer City, Customer State, Customer Zip Code, Customer Phone ) INVOICE (Invoice Number (PK), Customer Number, Terms, Ship Via, Order Date, Total Order Amount) Slide 5 -Chuẩn hóa cơ sở dữ liệu 41
  • 42. Cách làm: Chuẩn hóa quan hệ INVOICE về dạng chuẩn 1NF Tiếp tục chuẩn hóa về dạng 2NF Chuẩn hóa về dạng 3NF Ví dụ Cách làm: Chuẩn hóa quan hệ INVOICE về dạng chuẩn 1NF Tiếp tục chuẩn hóa về dạng 2NF Chuẩn hóa về dạng 3NF Slide 5 -Chuẩn hóa cơ sở dữ liệu 42
  • 43. Sau khi chuyển sang dạng chuẩn 1NF, CSDL sẽ gồm hai quan hệ như sau: Quan hệ INVOICE: Invoice Number (PK), Customer Number, Customer Name, Customer Address, Customer City, Customer State, Customer Zip Code, Customer Phone, Terms, Ship Via, Order Date, Total Order Amount Quan hệ INVOICE LINE ITEM: Invoice Number (PK), Product Number (PK), Product Description, Quantity, Unit Price, Extended Amount Chuẩn hóa về 1NF Sau khi chuyển sang dạng chuẩn 1NF, CSDL sẽ gồm hai quan hệ như sau: Quan hệ INVOICE: Invoice Number (PK), Customer Number, Customer Name, Customer Address, Customer City, Customer State, Customer Zip Code, Customer Phone, Terms, Ship Via, Order Date, Total Order Amount Quan hệ INVOICE LINE ITEM: Invoice Number (PK), Product Number (PK), Product Description, Quantity, Unit Price, Extended Amount Slide 5 -Chuẩn hóa cơ sở dữ liệu 43
  • 44. Ví dụ 2: Quan hệ INVOICE được phân rã về dạng 2NF như sau: INVOICE: Invoice Number (PK), Customer Number, Customer Name, Customer Address, Customer City, Customer State, Customer Zip Code, Customer Phone, Terms, Ship Via, Order Date, Total Order Amount INVOICE LINE ITEM: Invoice Number (PK), Product Number (PK), Quantity, Sale Unit Price, Extended Amount PRODUCT: Product Number (PK), Product Description, List Unit Price Chuẩn hóa về NF2 Ví dụ 2: Quan hệ INVOICE được phân rã về dạng 2NF như sau: INVOICE: Invoice Number (PK), Customer Number, Customer Name, Customer Address, Customer City, Customer State, Customer Zip Code, Customer Phone, Terms, Ship Via, Order Date, Total Order Amount INVOICE LINE ITEM: Invoice Number (PK), Product Number (PK), Quantity, Sale Unit Price, Extended Amount PRODUCT: Product Number (PK), Product Description, List Unit Price Slide 5 -Chuẩn hóa cơ sở dữ liệu 44
  • 45. Quan hệ INVOICE được phân rã về dạng 3NF như sau: INVOICE: Invoice Number (PK), Customer Number, Terms, Ship Via, Order Date INVOICE LINE ITEM: Invoice Number (PK), Product Number (PK), Quantity, Sale Unit Price PRODUCT: Product Number (PK), Product Description, List Unit Price CUSTOMER : Customer Number (PK), Customer Name, Customer Address, Customer City, Customer State, Customer Zip Code, Customer Phone Chuẩn hóa về 3NF Quan hệ INVOICE được phân rã về dạng 3NF như sau: INVOICE: Invoice Number (PK), Customer Number, Terms, Ship Via, Order Date INVOICE LINE ITEM: Invoice Number (PK), Product Number (PK), Quantity, Sale Unit Price PRODUCT: Product Number (PK), Product Description, List Unit Price CUSTOMER : Customer Number (PK), Customer Name, Customer Address, Customer City, Customer State, Customer Zip Code, Customer Phone Slide 5 -Chuẩn hóa cơ sở dữ liệu 45
  • 46. Bài tập Slide 5 -Chuẩn hóa cơ sở dữ liệu 46 Đáp án R1(F,I,J), R2(A,E,F,G,H), R3(A,B,C,D) Bài tập về nhà: Giảng viên yêu cầu sinh viên làm chuẩn hóa cơ sơ dữ liệu UTLA Academic Tracking và Computer Books Company trong sách sau đó nộp lại cho giảng viên.
  • 47. Quá trình chuẩn hóa làm tăng thêm số lượng các bảng và các liên kết. Khi người sử dụng CSDL gặp vấn đề về hiệu suất mà không thể được giải quyết được bằng các phương tiện khác (chẳng hạn như điều chỉnh các cơ sở dữ liệu hoặc nâng cấp phần cứng) -> Cần phải khử chuẩn. Các bước khử chuẩn: Kết hợp lại các quan hệ đã chia để thỏa mãn các quy tắc chuẩn hóa Lưu trữ dữ liệu dư thừa trong các bảng Lưu trữ dữ liệu tóm tắt trong các bảng Khử chuẩn (Denormalization) Quá trình chuẩn hóa làm tăng thêm số lượng các bảng và các liên kết. Khi người sử dụng CSDL gặp vấn đề về hiệu suất mà không thể được giải quyết được bằng các phương tiện khác (chẳng hạn như điều chỉnh các cơ sở dữ liệu hoặc nâng cấp phần cứng) -> Cần phải khử chuẩn. Các bước khử chuẩn: Kết hợp lại các quan hệ đã chia để thỏa mãn các quy tắc chuẩn hóa Lưu trữ dữ liệu dư thừa trong các bảng Lưu trữ dữ liệu tóm tắt trong các bảng Slide 5 -Chuẩn hóa cơ sở dữ liệu 47
  • 48. Các thao tác trên dữ liệu (thêm, sửa, xóa) trên CSDL chưa chuẩn hóa có thể gây ra các bất thường trên CSDL. Chuẩn hóa CSDL để đảm bảo dữ liệu không dư thừa và loại bỏ các bất thường trên CSDL 3 bước chuẩn hóa thông thường: Chuẩn hóa về dạng 1NF: Loại bỏ dữ liệu dư thừa Chuẩn hóa về dạng 2NF: Loại bỏ các phụ thuộc hàm bộ phận Chuẩn hóa về dạng 3NF: Loại bỏ các phụ thuộc hàm bắc cầu Tổng kết bài học Các thao tác trên dữ liệu (thêm, sửa, xóa) trên CSDL chưa chuẩn hóa có thể gây ra các bất thường trên CSDL. Chuẩn hóa CSDL để đảm bảo dữ liệu không dư thừa và loại bỏ các bất thường trên CSDL 3 bước chuẩn hóa thông thường: Chuẩn hóa về dạng 1NF: Loại bỏ dữ liệu dư thừa Chuẩn hóa về dạng 2NF: Loại bỏ các phụ thuộc hàm bộ phận Chuẩn hóa về dạng 3NF: Loại bỏ các phụ thuộc hàm bắc cầu Slide 5 -Chuẩn hóa cơ sở dữ liệu 48