Computer >> Máy Tính >  >> Lập trình >> MySQL

Các loại phụ thuộc trong DBMS


Sự phụ thuộc trong DBMS là mối quan hệ giữa hai hoặc nhiều thuộc tính. Nó có các loại sau trong DBMS -

  • Sự phụ thuộc vào chức năng
  • Phụ thuộc đầy đủ chức năng
  • Sự phụ thuộc bắc cầu
  • Sự phụ thuộc nhiều giá trị
  • Phụ thuộc một phần

Chúng ta hãy bắt đầu với Sự phụ thuộc vào chức năng -

Sự phụ thuộc vào chức năng

Nếu thông tin được lưu trữ trong một bảng có thể xác định duy nhất một thông tin khác trong cùng một bảng, thì nó được gọi là Phụ thuộc chức năng. Hãy coi nó như một sự liên kết giữa hai thuộc tính của cùng một mối quan hệ.

Nếu P xác định Q theo chức năng thì

P -> Q

Hãy để chúng tôi xem một ví dụ -

EmpID
EmpName
EmpAge
E01
Amit
28
E02
Rohit
31


Trong bảng trên, EmpName phụ thuộc về mặt chức năng vào EmpID bởi vì EmpName chỉ có thể nhận một giá trị cho giá trị đã cho của EmpID:

EmpID -> EmpName


Tương tự được hiển thị bên dưới -

Các loại phụ thuộc trong DBMS

Phụ thuộc đầy đủ chức năng

Một thuộc tính có đầy đủ chức năng phụ thuộc vào một thuộc tính khác, nếu nó Phụ thuộc về mặt chức năng vào thuộc tính đó và không phụ thuộc vào bất kỳ tập hợp con thích hợp nào của nó.

Ví dụ:một thuộc tính Q hoàn toàn phụ thuộc vào chức năng của một thuộc tính P khác, nếu nó phụ thuộc chức năng vào P và không phụ thuộc vào bất kỳ tập con thích hợp nào của P.

Hãy để chúng tôi xem một ví dụ -

ProjectID
Chi phí dự án
001
1000
002
5000


EmpID
ProjectID
Ngày (chi cho dự án)
E099
001
320
E056
002
190


Các quan hệ trên cho biết:

EmpID, ProjectID, ProjectCost -> Ngày

Tuy nhiên, nó không hoàn toàn phụ thuộc vào chức năng.

Trong khi tập hợp con {EmpID, ProjectID} có thể dễ dàng xác định {Ngày} nhân viên đã chi cho dự án.

Điều này tóm tắt và đưa ra sự phụ thuộc đầy đủ chức năng của chúng ta -

{EmpID, ProjectID} -> (Ngày)


Phụ thuộc bắc cầu

Khi một mối quan hệ gián tiếp gây ra sự phụ thuộc chức năng thì nó được gọi là Sự phụ thuộc bắc cầu.

Nếu P -> Q và Q -> R đúng, thì P-> R là một phụ thuộc bắc cầu.

Sự phụ thuộc nhiều giá trị

Khi sự tồn tại của một hoặc nhiều hàng trong bảng ngụ ý một hoặc nhiều hàng khác trong cùng một bảng, thì phụ thuộc Nhiều giá trị xảy ra.

Nếu một bảng có các thuộc tính P, Q và R thì Q và R là các dữ kiện đa giá trị của P.

Nó được biểu thị bằng mũi tên kép -

-> ->


Ví dụ của chúng tôi:

P -> -> Q
Q -> -> R

Trong trường hợp trên, Phụ thuộc nhiều giá trị chỉ tồn tại nếu Q và R là các thuộc tính độc lập.

Phụ thuộc một phần

Phụ thuộc một phần xảy ra khi thuộc tính không chuẩn phụ thuộc về mặt chức năng vào một phần của khóa ứng viên.

Dạng chuẩn thứ 2 (2NF) loại bỏ sự phụ thuộc từng phần. Hãy để chúng tôi xem một ví dụ -

ID sinh viên
ProjectNo
Tên sinh viên
Tên dự án
S01
199
Katie
Vị trí Địa lý
S02
120
Ollie
Khám phá Cụm

Trong bảng trên, chúng ta có phụ thuộc một phần; hãy để chúng tôi xem làm thế nào -

Các thuộc tính khóa chính là StudentID ProjectNo.

Như đã nêu, các thuộc tính không phải nguyên tố, tức là Tên sinh viên ProjectName phải phụ thuộc về mặt chức năng vào một phần của khóa ứng cử viên, là Phụ thuộc một phần.

Tên sinh viên có thể được xác định bởi StudentID điều đó làm cho mối quan hệ Phụ thuộc một phần.

ProjectName có thể được xác định bởi ProjectID , mà mối quan hệ Phụ thuộc một phần.