Dạng chuẩn 3

Tạo cơ sở dữ liệu PostgreSQL

Darryl Reeves

Industry Assistant Professor, New York University

Định nghĩa Dạng chuẩn 3

Yêu cầu

  • Đáp ứng 2NF
  • Không có "phụ thuộc bắc cầu"
    • Tức là mọi cột không khóa chỉ phụ thuộc vào PRIMARY KEY
Tạo cơ sở dữ liệu PostgreSQL

Phụ thuộc bắc cầu

  • Liên quan 3 cột trong bảng
  • Cột X, Y, Z
  • cột X -> cột Y
  • cột Y -> cột Z
  • cột X -> cột Z
Tạo cơ sở dữ liệu PostgreSQL

Ví dụ: phân phòng cho học phần

id name teacher num
157 Algebra Maggie Winters 244
162 Physics Maggie Winters 244
321 Spanish I Jeremy Smith 309
497 History I Sarah Williams 313
613 Spanish II Jeremy Smith 309
  • course name -> teacher
  • teacher -> room number
  • course name -> room number
Tạo cơ sở dữ liệu PostgreSQL

Ví dụ: phân phòng cho học phần

id name teacher num
157 Algebra Maggie Winters 244
162 Physics Maggie Winters 244
321 Spanish I Jeremy Smith 309
497 History I Sarah Williams 313
613 Spanish II Jeremy Smith 309
  • course name -> teacher
  • teacher -> room number
  • course name -> room number
     (phụ thuộc bắc cầu)
    
Tạo cơ sở dữ liệu PostgreSQL

Ví dụ: phân phòng cho học phần

id name teacher num
157 Algebra Maggie Winters 244
162 Physics Maggie Winters 244
321 Spanish I Jeremy Smith 309
497 History I Sarah Williams 313
613 Spanish II Jeremy Smith 309
  1. Cập nhật số phòng
Tạo cơ sở dữ liệu PostgreSQL

Ví dụ: phân phòng cho học phần

id name teacher num
157 Algebra Maggie Winters 244
162 Physics Maggie Winters 244
321 Spanish I Jeremy Smith 309
497 History I Sarah Williams 313
613 Spanish II Jeremy Smith 309
  1. Cập nhật số phòng
  2. Thêm giảng viên mới
Tạo cơ sở dữ liệu PostgreSQL

Ví dụ: phân phòng cho học phần

id name teacher num
157 Algebra Maggie Winters 244
162 Physics Maggie Winters 244
321 Spanish I Jeremy Smith 309
497 History I Sarah Williams 313
613 Spanish II Jeremy Smith 309
  1. Cập nhật số phòng
  2. Thêm giảng viên mới
  3. Xóa toàn bộ học phần của một giảng viên
Tạo cơ sở dữ liệu PostgreSQL

Ví dụ: phân phòng cho học phần

Làm thế nào thay đổi cấu trúc dữ liệu để giảm các vấn đề này?

Tạo cơ sở dữ liệu PostgreSQL

Ví dụ: phân phòng cho học phần

Bảng teacher

id name room_num
1 Maggie Winters 244
2 Jeremy Smith 309
3 Sarah Williams 313
Tạo cơ sở dữ liệu PostgreSQL

Ví dụ: phân phòng cho học phần

Bảng teacher

id name room_num
1 Maggie Winters 244
2 Jeremy Smith 309
3 Sarah Williams 313

Bảng course_assignment

id name teacher_id
157 Algebra 1
162 Physics 1
321 Spanish I 2
497 History I 3
613 Spanish II 2
Tạo cơ sở dữ liệu PostgreSQL

Hãy luyện tập!

Tạo cơ sở dữ liệu PostgreSQL

Preparing Video For Download...