43
Một vớ dụ về cơ sở dữ liệu quan hệ: khi mở bảng Bảng điểm, ta thấy cỏc dấu + , nhấp vào dấu + ta sẽ thấy đầy đủ thụng tin của thớ sinh. Cú được điều này là do ta đó liờn kết bảng Bảng điểm với bảng hồ sơ bằng trường số bỏo danh, do đú, mọi thụng tin của thớ sinh trong trường hồ sơ, trừ số bỏo danh sẽ được hiển thị.
Quan hệ trong CSDLQuan hệ trong CSDL Quan hệ trong CSDL
44
Để hiểu rừ quan hệ giữa cỏc bảng được tạo ra như thế nào thỡ ta phải hiểu rừ khúa chớnh của bảng ( tức Primary key ).
Primary key là một trường dựng để phõn biệt cỏc bản ghi trong một bảng. Cú nghĩa là giỏ trị của cỏc bản ghi trong primary key phải khỏc nhau. Mỗi bảng nhất thiết phải cú một khúa chớnh. Nếu bạn khụng tạo khúa chớnh cho một bảng thỡ Access sẽ tự động tạo cho bạn một khúa chớnh và mặc định giỏ trị của khúa chớnh là Autonumber.
Khúa chớnh giỳp cho ta cú thể tạo được mối liờn hệ giữa cỏc bảng với nhau. Primary key giỳp ta tạo ra tớnh toàn vẹn quy chiếu (Referential Integrity).
Nếu trường của cả hai bảng dựng để liờn kết mà khụng phải khúa chớnh thỡ ta khụng thể tạo được một liờn kết toàn vẹn quy chiếu. Do đú sẽ gõy ra lộn xộn cả trong form, query, report, và sẽ khụng xỏc định được nếu dữ liệu bị nhập sai kiểu.
Quan hệ trong CSDLQuan hệ trong CSDL Quan hệ trong CSDL
45
Toàn vẹn quy chiếu nghĩa là dữ liệu nhập vào trường được sử dụng để liờn kết hai bảng phải khớp nhau giữa bảng này với bảng khỏc.
Bảng chứa khúa chớnh quy định loại dữ liệu nào được phộp nhập vào trường trong bảng kia. Nếu bạn khụng cú dữ liệu trong trường khúa chớnh thỡ khụng thể nhập dữ liệu vào trong khúa ngoài ( foreign key ) vỡ nú khụng thể tạo được mối quan hệ và dĩ nhiờn tớnh toàn vẹn của nú khụng được đảm bảo. Khi tạo mối liờn kết giữa cỏc bảng, Access sẽ hỏi ta xem cú muốn bắt buộc tớnh tũan vẹn quy chiếu khụng thỡ tốt nhất ta nờn chọn.
Bắt buộc tớnh tũan vẹn quy chiếu (Enforcing Referential integrity ) là cỏch làm để chắc chắn là dữ liệu được nhập chớnh xỏc vào bảng thứ hai.
Khi tớnh tũan vẹn quy chiếu bị vi phạm khi nhập dữ liệu (nghĩa là giỏ trị nhập vào bảng thứ hai khụng cú mối liờn kết với bảng chớnh ) thỡ một bảng lỗi xuất hiện. Bảng này cho ta biết giỏ trị bạn nhập vào trường liờn kết khụng cú trong bản ghi của bảng khỏc cú liờn hệ với nú.
Tốt nhất nếu bạn muốn nhập thờm giỏ trị thỡ đầu tiờn bạn phải nhập vào bảng chứa khúa chớnh, sau đú mới nhập vào bảng kia.
Quan hệ trong CSDLQuan hệ trong CSDL Quan hệ trong CSDL
46
Vớ dụ muốn thờm vào trong hồ sơ một bản ghi cú mó ngành là QHI, một thụng bỏo lỗi sẽ xuất hiện, lỗi xảy ra khụng phải do bạn nhập sai kiểu dữ liệu mà là do giỏ trị bạn nhập vào ( QHI ) khụng tồn tại trong trường mó ngành trong bảng Bảng điểm cú liờn kết với nú.
Quan hệ trong CSDLQuan hệ trong CSDL Quan hệ trong CSDL
47
Để tạo một mối quan hệ ( Relationship) giữa hai bảng thỡ nhất thiết trường dựng để liờn kết của bảng thứ nhất phải là Primary key.
Khúa chớnh là trường số bỏo danh.
Vớ dụ muốn tạo mối liờn hệ giữa bảng điểm và bảng Hồ sơ, ta phải chọn trường liờn kết của bảng điểm là số bỏo danh.