23
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/4 Fresher Training Program Relational Database Management System Nguyen Minh Tien

Fresher Training Program Relational Database Management System

  • Upload
    vinnie

  • View
    36

  • Download
    0

Embed Size (px)

DESCRIPTION

Fresher Training Program Relational Database Management System. Nguyen Minh Tien. Learning approach. The following are strongly suggested for a better learning and understanding of this course: Noting down the key concepts in the class Analyze all the examples / code snippets provided - PowerPoint PPT Presentation

Citation preview

Page 1: Fresher Training Program Relational Database Management System

© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/4

Fresher Training Program

Relational Database Management System

Nguyen Minh Tien

Page 2: Fresher Training Program Relational Database Management System

© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/4

Learning approach

The following are strongly suggested for a better learning and understanding of this course: Noting down the key concepts in the class Analyze all the examples / code snippets provided Study and understand the self study topics Completion and submission of all the assignments, on time Completion of the self review questions in the lab guide Study and understand all the artifacts including the reference

materials / e-learning / supplementary materials specified Completion of the project (if application for this course) on time

inclusive of individual and group activities Taking part in the self assessment activities Participation in the doubt clearing sessions

Page 3: Fresher Training Program Relational Database Management System

© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/4

Training agenda

Normalization

Page 4: Fresher Training Program Relational Database Management System

© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/4

Chuẩn hóa dữ liệu (1)

Chuẩn hóa dữ liệu data normalization Chuẩn hóa dữ liệu là một quá trình thuận nghịch

từng bước để thay thế tập hợp các quan hệ cho trước thành các quan hệ có cấu trúc đơn giản hơn và chuẩn hơn.

Chuẩn hóa dữ liệu nhằm để cải tiến một thiết kế CSDL thỏa mãn các ràng buộc toàn vẹn và tránh dữ liệu bị lặp lại không cần thiết.

Page 5: Fresher Training Program Relational Database Management System

© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/4

Chuẩn hóa dữ liệu (2)

Mục đích của chuẩn hóa dữ liệu Loại bỏ các bất thường (anomaly) của một quan hệ

để có được các quan hệ có cấu trúc tốt hơn, nhỏ hơn.

Quan hệ có cấu trúc tốt (well-structured relation) Có sự dư thừa dữ liệu là tối thiểu. Cho phép người sử dụng thêm vào, cập nhật và xóa bỏ

dữ liệu mà không gây ra sự mâu thuẫn dữ liệu

Page 6: Fresher Training Program Relational Database Management System

© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/4

Phụ thuộc hàm

FD – Functional Dependency Cho r là một quan hệ, X và Y là hai tập thuộc

tính của r. Chúng ta nói “X xác định hàm Y” hoặc “Y phụ

thuộc hàm vào X”, ký hiệu là X Y và được gọi là phụ thuộc hàm nếu với mỗi giá trị của X trong r chỉ tương ứng với một giá trị của Y.

Khóa của một quan hệ xác định hàm các thuộc tính không khóa của quan hệ này

Page 7: Fresher Training Program Relational Database Management System

© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/4

Các loại phụ thuộc hàm

Phụ thuộc hàm riêng phần partial functional dependency X A được gọi là phụ thuộc hàm riêng phần nếu

tồn tại Y X để cho Y A.

Phụ thuộc hàm đầy đủ full functional dependency X A được gọi là phụ thuộc hàm đầy đủ nếu

không tồn tại Y X để cho Y A.

Phụ thuộc bắc cầu transitive dependency X A được gọi là phụ thuộc bắc cầu nếu tồn tại Y

để cho X Y, Y A, Y / X và A XY.

Page 8: Fresher Training Program Relational Database Management System

© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/4

Phụ thuộc hàm riêng phần

Phụ thuộc hàm riêng phần partial functional dependency X A được gọi là phụ thuộc hàm riêng phần nếu

tồn tại Y X để cho Y A.

Page 9: Fresher Training Program Relational Database Management System

© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/4

Phụ thuộc hàm đầy đủ

Phụ thuộc hàm đầy đủ full functional dependency X A được gọi là phụ thuộc hàm đầy đủ nếu

không tồn tại Y X để cho Y A.

Ví dụ:Phụ thuộc hàm {Mã SV, Mônhọc} Điểm là phụ thuộc hàm đầy đủ vì:

Mã SV ko thể xác định Điểm

Mônhọc ko thể xác định Điểm

Mã SV và Mônhọc mới xác định được Điểm

Page 10: Fresher Training Program Relational Database Management System

© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/4

Phụ thuộc bắc cầu

Phụ thuộc bắc cầu transitive dependency X A được gọi là phụ thuộc bắc cầu nếu tồn tại Y

để cho X Y, Y A, Y / X và A XY.

Ví dụ: SV(MaSV, Họtên, Mãlớp, Tênlớp, Khóahọc)

FSV = { f1:MaSV Họtên, Mãlớp, Tênlớp;

f2: Tênlớp Khóahọc}

Từ MaSV suy ra được Khóahọc

Hay nói cách khác {KhoaHoc} phụ thuộc bắc cầu vào {MaSV}

Page 11: Fresher Training Program Relational Database Management System

© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/4

Phụ thuộc hàm - Exp

Mãsv Họtên Mãlớp Tênlớp Mônhọc Điểm

S1 Tiến L1 MT01 M1 9

S1 Tiến L1 MT01 M2 7

S1 Tiến L1 MT01 M3 8

S2 Trúc L1 MT01 M1 9

S2 Trúc L1 MT01 M2 8

S3 Hiền L2 MT02 M1 5

Các phụ thuộc hàm: Khóa của R: {Mãsv, Mônhọc}Mãsv {Họtên, Mãlớp}Mãlớp Tênlớp{Mãsv, Mônhọc} Điểm

{Mãsv, Môn học} Họtên là phụ thuộc hàm riêng phần{Mãsv, Mônhọc} Điểm là phụ thuộc hàm đầy đủ

R

Page 12: Fresher Training Program Relational Database Management System

© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/4

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

Định nghĩaQuan hệ R ở dạng chuẩn 1 (1NF - First Normal Form) nếu:

Có khóa chính, và Không có nhóm lặp lại Không có thuộc tính đa trị/thuộc tính phức hợp

Page 13: Fresher Training Program Relational Database Management System

© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/4

Dạng chuẩn 1 (2)

R

Mãsv Họtên Mãlớp Tênlớp Điểmthi

S1 Tiến L1 MT01 M1 9

S1 Tiến L1 MT01 M2 7

S1 Tiến L1 MT01 M3 8

S2 Trúc L1 MT01 M1 9

S2 Trúc L1 MT01 M2 8

S3 Hiền L2 MT02 M1 5

Quan hệ R không ở dạng chuẩn 1 vì thuộc tính Điểmthi là thuộc tính phức hợp.

Page 14: Fresher Training Program Relational Database Management System

© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/4

Dạng chuẩn 1 (3)

R

Mãsv Họtên Mãlớp Tênlớp Mônhọc Điểm

S1 Tiến L1 MT01 M1 9

S1 Tiến L1 MT01 M2 7

S1 Tiến L1 MT01 M3 8

S2 Trúc L1 MT01 M1 9

S2 Trúc L1 MT01 M2 8

S3 Hiền L2 MT02 M1 5

Quan hệ R ở 1NF vì các thuộc tính của R không là thuộc tính đa trị, không là thuộc tính phức hợp.

Page 15: Fresher Training Program Relational Database Management System

© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/4

Dạng chuẩn 1 (4)

Các bất thường của quan hệ ở 1NF Thêm vào

Không thể thêm thông tin của sinh viên mới có mã là S4, tên là Thành, thuộc lớp có mã là L1 nếu sinh viên này chưa đăng ký học môn học nào cả.

Cập nhật Sửa tên của sinh viên có tên là Tiến với tên mới là

Thành sẽ phải sửa tất cả các hàng của sinh viên này. Xóa bỏ

Xóa thông tin sinh viên S3 đăng ký môn học M1 sẽ làm mất thông tin của sinh viên này.

Nguyên nhân Tồn tại thuộc tính không khóa phụ thuộc hàm riêng

phần vào khóa.

Page 16: Fresher Training Program Relational Database Management System

© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/4

Dạng chuẩn 2 – 2NF (1)

Định nghĩaQuan hệ R ở dạng chuẩn 2 (2NF - Second Normal Form) nếu R ở dạng chuẩn 1 và mọi thuộc tính không khóa đều phụ thuộc hàm đầy đủ vào mọi khóa của R.

Page 17: Fresher Training Program Relational Database Management System

© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/4

Dạng chuẩn 2 (2)

R

Mãsv Họtên Mãlớp Tênlớp Mônhọc Điểm

S1 Tiến L1 MT01 M1 9

S1 Tiến L1 MT01 M2 7

S1 Tiến L1 MT01 M3 8

S2 Trúc L1 MT01 M1 9

S2 Trúc L1 MT01 M2 8

S3 Hiền L2 MT02 M1 5

Các phụ thuộc hàm: Khóa của R: {Mãsv, Mônhọc}Mãsv {Họtên, Mãlớp}Mãlớp Tênlớp{Mãsv, Mônhọc} Điểm

Lược đồ quan hệ R không ở 2NF vì thuộc tính không khóa Họtên phụ thuộc hàm riêng phần vào khóa {Mãsv, Mônhọc}.

Page 18: Fresher Training Program Relational Database Management System

© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/4

Dạng chuẩn 2 (3)

R1

Mãsv Họtên Mãlớp Tênlớp

S1 Tiến L1 MT01

S2 Trúc L1 MT01

S3 Hiền L2 MT02

Mãsv Mônhọc Điểm

S1 M1 9

S1 M2 7

S1 M3 8

S2 M1 9

S2 M2 8

S3 M1 5

R2

Khóa của R1: Mãsv

Lược đồ quan hệ R1 và R2 đều ở 2NF vì các thuộc tính không khóa đều phụ thuộc hàm đầy đủ vào khóa.

Khóa của R2: {Mãsv, Mônhọc}

Page 19: Fresher Training Program Relational Database Management System

© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/4

Dạng chuẩn 2 (4)

Các bất thường của quan hệ ở 2NF Thêm vào

Không thể thêm thông tin của lớp L3 có tên là MT03 nếu chưa có sinh viên nào học lớp này.

Cập nhật Sửa tên của lớp có mã L1 với tên mới là MT_1 sẽ phải sửa

tất cả các hàng của lớp này. Xóa bỏ

Xóa thông tin của sinh viên có mã S3 sẽ làm mất thông tin của lớp L2.

Nguyên nhân Tồn tại thuộc tính không khóa phụ thuộc bắc cầu vào khóa.

Page 20: Fresher Training Program Relational Database Management System

© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/4

Dạng chuẩn 3 – 3NF

Định nghĩaQuan hệ R ở dạng chuẩn 3 (3NF- Third Normal Form) nếu R ở dạng chuẩn 1 và mọi thuộc tính không khóa đều không phụ thuộc bắc cầu vào một khóa của R.

Page 21: Fresher Training Program Relational Database Management System

© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/4

Dạng chuẩn 3 (2)

R1

Mãsv Họtên Mãlớp Tênlớp

S1 Tiến L1 MT01

S2 Trúc L1 MT01

S3 Hiền L2 MT02

Lược đồ quan hệ R1 không ở 3NF vì thuộc tính không khóa Tênlớp phụ thuộc bắc cầu vào khóa Mãsv.

Mãsv Mãlớp Mãlớp Tênlớp

Mãlớp / Mãsv Tênlớp {Mãsv, Mãlớp}

Page 22: Fresher Training Program Relational Database Management System

© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/4

Dạng chuẩn 3 (3)

R11

Mãlớp Tênlớp

L1 MT01

L2 MT02

Mãsv Họtên Mãlớp

S1 Tiến L1

S2 Trúc L1

S3 Hiền L2

R12

Khóa của R11: Mãlớp

Khóa của R12: Mãsv

Lược đồ quan hệ R11 và R12 đều ở 3NF vì các thuộc tính không khóa đều không phụ thuộc bắc cầu vào khóa.

Page 23: Fresher Training Program Relational Database Management System

© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/4

Q & A