30/09/2018, 21:46

Cần giúp về 2NF,3NF,BCNF trong SQL

bác nào rảnh có thể teamviwer giảng em 2NF,3NF,BCNF trong SQL với ạ

Ngân Béo viết 00:01 ngày 01/10/2018

Bạn học KHTN TPHCM phải không?

Nguyễn Ngọc Lâm viết 23:54 ngày 30/09/2018

không bạn ạ

Nguyễn Ngọc Lâm viết 23:53 ngày 30/09/2018

bác có thể giúp e đc không ạ

Ngân Béo viết 00:00 ngày 01/10/2018

Không phải thì thôi.

Vu Van Chung viết 23:48 ngày 30/09/2018

Đây là các chuẩn cơ sở dữ liệu trong hệ cơ sở dữ liệu mà nhỉ?

Nguyễn Ngọc Lâm viết 23:47 ngày 30/09/2018

vâng bác

LazyCat viết 23:52 ngày 30/09/2018

Tài liệu mình tổng hợp lâu rồi, bạn chịu khó đọc

Database Normalization (DN): Nhằm mục đích LOẠI BỎ DỮ LIỆU THỪA và TRÁNH BẤT THƯỜNG KHI CẬP NHẬT DỮ LIỆU (modify, insert, delete)

First Normal Form (1NF): loại bỏ trùng lặp và đa trị

- Rules:
    + Giá trị ở bất cứ ô nào đều phải là prime (atomic) (value that cannot be decomposed)
    + Giá trị ở mỗi ô đều phải là ĐƠN TRỊ

- How to normalize:
    + non-prime: tách trường non-prime thành các trường prime nhỏ hơn
    + multiple-values, repeating-value: tách thành quan hệ mới (bảng mới)

Second Normal Form (2NF): loại bỏ các phụ thuộc hàm

- Rules:
    + Tuân theo 1NF
    + Mọi thuộc tính không khóa PHỤ THUỘC HÀM ĐẦY ĐỦ vào KHÓA CHÍNH

- How to normalize:
    Tách các trường không khóa PHỤ THUỘC HÀM BỘ PHẬN cùng với cái KHÓA BỘ PHẬN đó ra 
    tạo thành một quan hệ mới ngoài quan hệ ban đầu

Third Normal Form (3NF): loại bỏ các phụ thuộc bắc cầu

- Rules:
    + Tuân theo 2NF
    + Không có trường không khóa nào PHỤ THUỘC BẮC CẦU vào KHÓA CHÍNH

- How to normalize:
    Tách các thuộc tính bắc cầu ra làm quan hệ mới, dùng trường ở giữa "cầu" làm khóa chính
    cho quan hệ mới đấy

Boyce-Codd Normal Form (BCBF - 3.5NF): loại bỏ các phụ thuộc hàm của trường KHÓA
- Rules:
+ Tuân theo 3NF
+ Không có trường KHÓA nào PHỤ THUỘC HÀM vào một trường KHÔNG KHÓA
- How to normalize:
+ Tách các trường KHÔNG KHÓA (1) và trường KHÓA (2) bị phụ thuộc hàm bởi (1)
ra thành một quan hệ mới
+ Loại bỏ (2) ra khỏi bộ KHÓA CHÍNH của quan hệ ban đầu
+ Thêm (1) vào bộ KHÓA CHÍNH của quan hệ ban đầu

  • Functional Dependency(FD):
    Cho quan hệ R; X, Y là tập các thuộc tính trên R.

    X->Y là 1 ràng buộc: với 2 bộ bất kì t1, t2 trong thể hiện của R (trong một bảng thực thể của quan hệ R) ta có
    nếu t1[X] = t2[X] thì t1[Y] = t2[Y]

==> Tóm lại là X sẽ KHÓA, còn Y là 1 trường phụ thuộc vào khóa.
Từ giá trị của 1 khóa (X) ta sẽ xác định DUY NHẤT được một giá trị bên trường Y

  • Full Functional Dependency (FFD):
    Nó là FD mà mọi trường trong tập X đều tham gia vào việc xác định trường Y,
    nếu bỏ đi bất kì một trường X thì ta sẽ không còn xác định được trường Y nữa

  • Partial Functional Dependency (PFD):
    Ngược lại với FFD, đối với PFD khi ta có thể bỏ một trường trong X mà từ X
    ta vẫn có thể xác định được ra trường Y

  • Transitive Functional Dependency (TFD):
    X -> Y, Z nhưng trong đó Y -> Z
    Vì vậy gọi trường Z phụ thuộc hàm bắc cầu qua khóa X

T Nguyen viết 23:54 ngày 30/09/2018

đọc mấy sách trong trường về sql ấy . chi tiết lắm . sách ptit thử coi

Bài liên quan
0