Giới thiệu về Mối quan hệ Cơ sở dữ liệu

Mục lục:

Giới thiệu về Mối quan hệ Cơ sở dữ liệu
Giới thiệu về Mối quan hệ Cơ sở dữ liệu
Anonim

Thuật ngữ cơ sở dữ liệu quan hệ và quan hệ mô tả cách dữ liệu trong bảng được kết nối. Cơ sở dữ liệu quan hệ bao gồm một loạt hai hoặc nhiều bảng được liên kết bởi một khóa cụ thể. Cơ sở dữ liệu quan hệ khác với cơ sở dữ liệu phi cấu trúc, vốn phổ biến trong các sáng kiến dữ liệu lớn. Cơ sở dữ liệu quan hệ có xu hướng yêu cầu các quy tắc nghiêm ngặt về cách các bảng được xác định và điều gì tạo nên mối quan hệ hợp lệ giữa các bảng.

Image
Image

Các loại Mối quan hệ Cơ sở dữ liệu

Mối quan hệ cho phép bạn mô tả các kết nối giữa các bảng cơ sở dữ liệu theo những cách mạnh mẽ. Các mối quan hệ này sau đó có thể được tận dụng để thực hiện các truy vấn bảng chéo mạnh mẽ, được gọi là JOIN.

Có ba loại mối quan hệ cơ sở dữ liệu, mỗi loại được đặt tên theo số hàng của bảng có liên quan đến mối quan hệ. Mỗi trong số ba kiểu quan hệ này tồn tại giữa hai bảng.

  • Mối quan hệ một-mộtxảy ra khi mỗi mục nhập trong bảng đầu tiên chỉ có một đối trong bảng thứ hai. Mối quan hệ một-một hiếm khi được sử dụng vì thường hiệu quả hơn nếu đặt tất cả thông tin vào một bảng duy nhất. Một số nhà thiết kế cơ sở dữ liệu tận dụng mối quan hệ này bằng cách tạo các bảng chứa một tập hợp con dữ liệu từ một bảng khác.
  • Mối quan hệ một-nhiềulà kiểu quan hệ cơ sở dữ liệu phổ biến nhất. Chúng xảy ra khi mỗi bản ghi trong Bảng A tương ứng với một hoặc nhiều bản ghi trong Bảng B, nhưng mỗi bản ghi trong Bảng B chỉ tương ứng với một bản ghi trong Bảng A. Ví dụ: mối quan hệ giữa bảng Giáo viên và bảng Học sinh ở trường tiểu học cơ sở dữ liệu có thể là mối quan hệ một-nhiều vì mỗi học sinh chỉ có một giáo viên, nhưng mỗi giáo viên có một số học sinh. Thiết kế một-nhiều này giúp loại bỏ dữ liệu trùng lặp.
  • Mối quan hệ nhiều-nhiềuxảy ra khi mỗi bản ghi trong Bảng A tương ứng với một hoặc nhiều bản ghi trong Bảng B và mỗi bản ghi trong Bảng B tương ứng với một hoặc nhiều bản ghi trong Bảng A. Ví dụ: mối quan hệ giữa bảng Giáo viên và bảng Khóa học có thể là nhiều-nhiều vì mỗi giáo viên có thể hướng dẫn nhiều hơn một khóa học và mỗi khóa học có thể có nhiều người hướng dẫn.

Bottom Line

Mối quan hệ tự tham chiếu xảy ra khi chỉ có một bảng tham gia. Một ví dụ phổ biến là bảng Nhân viên chứa thông tin về người giám sát của mỗi nhân viên. Mỗi người giám sát cũng là một nhân viên và có một người giám sát. Trong trường hợp này, có mối quan hệ tự tham chiếu từ một đến nhiều, vì mỗi nhân viên có một người giám sát, nhưng mỗi người giám sát có thể có nhiều hơn một nhân viên.

Tạo Mối Quan Hệ Với Chìa Khóa Nước Ngoài

Bạn tạo mối quan hệ giữa các bảng bằng cách chỉ định khóa ngoại. Khóa này cho cơ sở dữ liệu quan hệ biết các bảng có liên quan như thế nào. Trong nhiều trường hợp, một cột trong Bảng A chứa các khóa chính được tham chiếu từ Bảng B.

Hãy xem xét ví dụ về bảng Giáo viên và Học sinh. Bảng Giáo viên chứa ID, tên và cột khóa học:

Người hướng dẫn Giáo_viên Khóa học
001 John Doe Anh
002 Jane Schmoe Toán

Bảng Sinh viên bao gồm cột ID, tên và khóa ngoại:

StudentID Sinh viên_Tên Thầy_FK
0200 Lowell Smith 001
0201 Brian Ngắn 001
0202 Corky Mendez 002
0203 Monica Jones 001

Cột Teacher_FKtrong bảng Sinh viên tham chiếu đến giá trị khóa chính của một giảng viên trong bảng Giáo viên. Thông thường, các nhà thiết kế cơ sở dữ liệu sử dụng PK hoặc FK trong tên cột để xác định khóa chính hoặc cột khóa ngoại.

Hai bảng này minh họa mối quan hệ một-nhiều giữa giáo viên và học sinh.

Mối quan hệ và Chính trực tham chiếu

Sau khi thêm khóa ngoại vào bảng, hãy tạo ràng buộc cơ sở dữ liệu để thực thi tính toàn vẹn tham chiếu giữa hai bảng. Bước này đảm bảo rằng mối quan hệ giữa các bảng vẫn nhất quán. Khi một bảng có khóa ngoại đối với bảng khác, tính toàn vẹn tham chiếu yêu cầu mọi giá trị khóa ngoại trong Bảng B phải tham chiếu đến bản ghi hiện có trong Bảng A.

Thực hiện các mối quan hệ

Tùy thuộc vào cơ sở dữ liệu của bạn, bạn sẽ triển khai mối quan hệ giữa các bảng theo những cách khác nhau. Microsoft Access cung cấp một trình hướng dẫn cho phép bạn liên kết các bảng và cũng thực thi tính toàn vẹn của tham chiếu.

Nếu bạn đang viết SQL trực tiếp, trước tiên hãy tạo bảng Giáo viên, khai báo cột ID là khóa chính:

TẠO BẢNG Giáo viên (Người hướng dẫn INT AUTO_INCREMENT PRIMARY KEY, Giáo viên_Tên VARCHAR (100), Khóa học VARCHAR (100));

Khi bạn tạo bảng Học sinh, bạn khai báo cột Giáo viên_FK là khóa ngoại tham chiếu đến cột ID Người hướng dẫn trong bảng Giáo viên:

TẠO BẢNG Sinh viên (StudentID INT AUTO_INCREMENT PRIMARY KEY, Student_Name VARCHAR (100), Teacher_FK INT, NGOẠI KHÓA (Teacher_FK) TÀI LIỆU THAM KHẢO Giáo viên (GuiductorID)));

Sử dụng các mối quan hệ để tham gia các bảng

Sau khi tạo một hoặc nhiều mối quan hệ trong cơ sở dữ liệu của bạn, hãy tận dụng sức mạnh của chúng bằng cách sử dụng truy vấn SQL JOIN để kết hợp thông tin từ nhiều bảng. Kiểu nối phổ biến nhất là SQL INNER JOIN, là một phép nối đơn giản. Kiểu kết hợp này trả về tất cả các bản ghi đáp ứng điều kiện kết hợp từ một hoặc nhiều bảng.

Ví dụ: điều kiện JOIN này trả về Sinh viên_Nên, Giáo viên_Nên và Khóa học, trong đó khóa ngoại trong bảng Sinh viên khớp với khóa chính trong bảng Giáo viên:

CHỌN Học sinh, Học sinh_Tên, Giáo viên, Giáo viên_Tên, Giáo viên. Chuẩn bị

TỪ Học sinh

INNER THAM GIA Giáo viênTRÊN Học sinh. Teacher_FK=Giáo viên. InstructorID;

Câu lệnh này tạo ra một bảng như sau:

Sinh viên_Tên Giáo_viên Khóa học
Lowell Smith John Doe Anh
Brian Ngắn John Doe Anh
Corky Mendez Jane Schmoe Toán
Monica Jones John Doe Anh

Đề xuất: