Slide bài giảng HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU của trường Đại học Lâm Nghiệp cung cấp cho người học những kiến thức cơ bản có liên quan đến cơ sở dữ liệu. Những kiến thức này được biên soạn thành 4 chương cơ bản: CHƯƠNG I: TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU. CHƯƠNG II: MÔ HÌNH QUAN HỆ. CHƯƠNG III: NGÔN NGỮ SQL. CHƯƠNG IV: MÔ HÌNH THỰC THỂ MỐI LIÊN HỆ.
Trang 1NGUYỄN NHẬT MINH
Trang 2 CHƯƠNG I TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU.
CHƯƠNG II: MÔ HÌNH QUAN HỆ.
CHƯƠNG III: NGÔN NGỮ SQL.
CHƯƠNG IV MÔ HÌNH THỰC THỂ MỐI LIÊN
HỆ
Trang 3CHƯƠNG I TỔNG QUAN VỀ
CƠ SỞ DỮ LIỆU
Trang 4Mục tiêu
• Trình bày những khái niệm cơ bản về
cơ sở dữ liệu
• Mô tả một bức tranh tổng quan về một
cơ sở dữ liệu, tổ chức, thao tác và ứng dụng của cơ sở dữ liệu
Trang 51.1 HỆ CƠ SỞ DỮ LIỆU
Trang 61.1.1 Cơ sở dữ liệu:
• Một cơ sở dữ liệu là một tập hợp
các dữ liệu có liên quan với nhau,
mô hình hoá các đối tượng của
một phần thế giới thực (một công
ty, một trường học,v v) Dữ liệu là
những sự kiện có thể ghi lại được
và có ý nghĩa
Trang 7Ví dụ: Quản lý việc học tập trong
một trường đại học
• Các dữ liệu là các thông tin về sinh viên,
về các môn học, điểm thi….được tổ chức thành các bảng và lưu giữ chúng vào sổ sách hoặc sử dụng một phần mềm máy tính để lưu giữ chúng trên máy tính Ta có một tập các dữ liệu có liên quan đến nhau
và mang nhiều ý nghĩa, đó là một cơ sở
dữ liệu.
Trang 81.1.2 Các tính chất của một cơ
sở dữ liệu
• Một cơ sở dữ liệu biểu thị một khía cạnh nào đó của thế
giới thực Những thay đổi của thế giới thực phải được phản ánh một cách trung thực vào trong cơ sở dữ liệu.
• Một cơ sở dữ liệu là một tập hợp dữ liệu liên kết với
nhau một cách logic và mang một ý nghĩa cố hữu nào
đó
• Một cơ sở dữ liệu được thiết kế và được phổ biến cho
một mục đích riêng Nó có một nhóm người sử dụng có chủ định và có một số ứng dụng được xác định phù hợp với mối quan tâm của người sử dụng
• Một cơ sở dữ liệu có thể có qui mô tùy ý và có độ phức
tạp thay đổi
Trang 91.1.3 Hệ quản trị cơ sở dữ liệu
Các loại thuộc tính
• Thuộc tính tên gọi là thuộc tính cho tên gọi của
cá thể, nhờ nó ta nhận biết được cá thể
• Thuộc tính nhận dạng là một hay nhiều thuộc
tính cho phép phân biệt được cá thể này với cá thể khác
• Thuộc tính đa trị là thuộc tính mà một cá thể có
thể nhận nhiều hơn một giá trị Biểu thị trong mô hình thuộc tính đa trị là một hình ellipse kép
Trang 101.1.3 Hệ quản trị cơ sở dữ liệu
• Một hệ quản trị cơ sở dữ liệu là một tập hợp chương trình giúp cho người sử dụng tạo ra, bảo trì và khai thác một cơ sở
dữ liệu Nó là một hệ thống phần mềm phổ dụng, làm dễ quá trình định nghĩa , xây dựng và thao tác cơ sở dữ liệu cho các ứng dụng khác nhau
• Định nghĩa một cơ sở dữ liệu bao gồm việc đặc tả các kiểu dữ liệu, các cấu trúc và các ràng buộc cho các dữ liệu sẽ được lưu trữ trong cơ sở
• Xây dựng một cơ sở dữ liệu là quá trình lưu trữ các dữ liệu
trên các phương tiện lưu trữ được hệ quản trị cơ sở dữ liệu kiểm soát
• Thao tác một cơ sở dữ liệu bao gồm các chức năng như truy vấn cơ sở dữ liệu để lấy ra các dữ liệu cụ thể, cập nhật cơ sở
dữ liệu để phản ánh các thay đổi trong thế giới nhỏ và tạo ra các báo cáo từ các dữ liệu
• Người ta gọi cơ sở dữ liệu và hệ quản trị cơ sở dữ liệu bằng một thuật ngữ chung là hệ cơ sở dữ liệu (database system).
Trang 11
Hình 1.1 : Môi trường đơn giản của
Định nghĩa dữ liệu được luu trữ (meta – data )
Dữ liệu được lưu trữ Phần mềm để truy cập dữ liệu được lưu giữ
Trang 121.1.4 Các đặc trưng của giải pháp
cơ sở dữ liệu
• Bản chất tự mô tả của hệ cơ sở dữ liệu : Hệ thống cơ sở dữ
liệu không chỉ gồm có bản thân cơ sở dữ liệu mà còn có cả định nghĩa hoặc mô tả đầy đủ về cấu trúc cơ sở dữ liệu và
các ràng buộc
• Sự độc lập giữa chương trình và dữ liệu : Cấu trúc của các
tệp dữ liệu được lưu trữ trong từ điển tách rời với các
chương trình truy cập
• Hỗ trợ các khung nhìn dữ liệu nhiều thành phần : Một cơ sở
dữ liệu có nhiều người sử dụng, mỗi một người có thể đòi hỏi một cách nhìn thông tin hoặc một khung nhìn (view)
khác nhau Một hệ quản trị cơ sở dữ liệu nhiều người sử dụng phải cung cấp nhiều công cụ để định nghĩa các khung nhìn nhiều thành phần
• Chia sẻ dữ liệu và nhiều người sử dụng : Một hệ quản trị cơ
sở dữ liệu nhiều người sử dụng phải cho phép nhiều người
sử dụng truy cập đồng thời đến cơ sở dữ liệu.
Trang 131.1.5 Các khả năng của một hệ quản trị cơ sở dữ liệu
• Kiểm tra sự dư thừa: Dư thừa dữ liệu nghĩa là cùng một
dữ liệu được lưu trữ nhiều lần trong cơ sở dữ liệu Sự dư thừa dẫn đến nhiều vấn đề: cập nhật, xoá hay sửa đổi dữ liệu
• Hạn chế các truy cập không được phép: Khi có nhiều
người sử dụng dùng chung một hệ cơ sở dữ liệu, sẽ có một số người sử dụng không được phép truy cập tất cả thông tin của hệ thống Hệ quản trị cơ sở dữ liệu cung
cấp một hệ thống con cấp phép và an ninh Người quản trị hệ thống có thể sử dụng hệ thống con này để tạo ra
các tài khoản cho người sử dụng và hạn chế truy cập trên các tài khoản đó
• Cung cấp việc lưu trữ lâu dài cho các cấu trúc dữ liệu:
Các đối tượng dữ liệu phải được lưu trữ lâu dài để phục
vụ cho nhiều chương trình khác nhau
• Cho phép tham chiếu và hành động bằng cách sử dựng
các quy tắc : Các hệ quản trị có thể cung cấp các quy tắc
suy diễn để suy diễn ra các thông tin mới từ các dữ liệu được lưu giữ.
Trang 14• Cung cấp nhiều giao diện người sử dụng: Các giao diện
đó là các ngôn ngữ truy vấn cho người sử dụng bình
thường, giao diện ngôn ngữ lập trình cho các người lập trình ứng dụng, giao diện bảng chọn hoặc mẫu biểu (gọi
là giao diện người dùng đồ hoạ) cho những người sử
dụng độc lập,v v
• Biểu diễn các mối liên hệ phức tạp giữa các dữ liệu: Một
cơ sở dữ liệu có thể gồm nhiều dữ liệu liên kết với nhau theo nhiều cách Một hệ quản trị cơ sở dữ liệu phải có
khă năng biểu diễn các mối liên hệ phức tạp giữa các dữ liệu cũng như việc rút ra hoặc cập nhật các dữ liệu có
liên quan với nhau một cách dễ dàng và có hiệu quả
• Áp đặt các ràng buộc toàn vẹn: Nhiều ứng dụng cơ sở
dữ liệu có một số ràng buộc toàn vẹn phải thoả mãn đối với các dữ liệu Hệ quản trị cơ sở dữ liệu cung cấp các khả năng định nghĩa và áp đặt các ràng buộc đó
• Cung cấp việc sao lưu và phục hồi: Việc khi thác và sử
dụng hệ thống cơ sở dữ liệu không thể tránh khỏi các
hỏng hóc về phần cứng và phần mềm Sau mỗi lần hỏng hóc, dữ liệu cần phải được phục hồi Hệ thống con sao lưu và phục hồi của hệ quản trị cơ sở dữ liệu có nhiệm
vụ đó
Trang 151.2 NGƯỜI SỬ DỤNG HỆ
CƠ SỞ DỮ LIỆU
Trang 16• Người quản trị hệ cơ sở dữ liệu ( Database Administrator
– DBA ): là người chịu trách nhiệm quản lý các tài nguyên
là cơ sở dữ liệu, hệ quản trị cơ sở dữ liệu và các phần
mềm liên quancác tài nguyên đó Người này chịu trách
nhiệm về việc cho phép truy cập cơ sở dữ liệu, tổ chức và hướng dẫn việc sử dụng cơ sở dữ liệu, cấp các phần
mềm và phần cứng theo yêu cầu.
• Người thiết kế cơ sở dữ liệu (Database Designer): Người
này chịu trách nhiệm xác định các dữ liệu sẽ được lưu giữ trong cơ sở, chọn các cấu trúc thích hợp để biểu diễn và lưu giữ các dữ liệu đó Người thiết kế có trách nhiệm giao thiệp với những người sử dụng tương lai để hiểu được các đòi hỏi của họ và đưa ra một thiết kế thỏa mãn các
yêu cầu đó
• Những người sử dụng (End User): Những người sử dụng
là những người mà công việc của họ đòi hỏi truy cập đến
cơ sở dữ liệu để truy vấn, cập nhật và sinh ra các thông tin Có thể chia những người sử dụng thành hai nhóm
Trang 171.3 MÔ HÌNH CS DỮ LIỆU,
LƯỢC ĐỒ VÀ THỂ HIỆN
Một mô hình cơ sở dữ liệu là một tập hợp các khái
niệm dùng để biểu diễn các cấu trúc của cơ sở dữ
liệu Cấu trúc của một cơ sở dữ liệu là các kiểu dữ liệu, các mối liên kết và các ràng buộc phải tuân
theo trên các dữ liệu Nhiều mô hình còn có thêm
một tập hợp các phép toán cơ bản để đặc tả các
thao tác trên cơ sở dữ liệu.
Trang 181.3.1 Các loại mô hình cơ sở dữ liệu.
• Mô hình dữ liệu mức quan niệm cung cấp các khái niệm gắn liền với cách cảm nhận dữ liệu của nhiều người sử dụng Các
mô hình này tập trung vào bản chất logic của biểu diễn dữ
liệu, nó quan tâm đến cái được biểu diễn trong cơ sở dữ liệu chứ không phải cách biểu diễn dữ liệu.
• Mô hình dữ liệu thể hiện, chúng cung cấp những khái niệm
mà người sử dụng có thể hiểu được và không xa với cách tổ chức dữ liệu bên trong máy tính Người ta còn gọi loại mô
hình dữ liệu này là loại mô hình dữ liệu mức logic Các mô hình dữ liệu thể hiện che dấu một số chi tiết về việc lưu trữ
dữ liệu nhưng có thể được cài đặt trực tiếp trên hệ thống máy tính
• Mô hình dữ liệu vật lý cung cấp các khái niệm mô tả chi tiết về việc các dữ liệu được lưu trữ trong máy tính như thế nào
Các mô hình dữ liệu vật lý mô tả cách lưu trữ dữ liệu trong
máy tính giới thiệu các thông tin như khuôn dạng bản ghi, sắp xếp bản ghi, đường truy cập,…
Trang 191.3.2 Lược đồ và Thể hiện của CSDL
• Mô tả của một cơ sở dữ liệu được gọi là lược đồ cơ sở
dữ liệu , nó được xác định rõ trong quá trình thiết kế cơ
sở dữ liệu và không bị thay đổi thường xuyên Có thể
xem lược đồ cơ sở dữ liệu như là bộ khung của cơ sở
dữ liệu
• Các thông tin được lưu trữ trong cơ sở dữ liệu tại một
thời điểm được gọi là một thể hiện (instance ) hay trạng
• Hệ quản trị cơ sở dữ liệu có trách nhiệm đảm bảo rằng mỗi trạng thái cơ sở dữ liệu là một trạng thái vững chắc, nghĩa là một trạng thái thỏa mãn cấu trúc và các ràng
buộc được đặc tả trong lược đồ Vì vậy, việc đặc tả một lược đồ đúng đắn cho hệ quản trị cơ sở dữ liệu là một việc làm cực kỳ quan trọng và lược đồ phải được thiết
kế một cách cẩn thận
Trang 201.4 KIẾN TRÚC HỆ CƠ SỞ DỮ
LIỆU VÀ ĐỘC LẬP DỮ LIỆU
Trang 211.4.1 Kiến trúc ba lược đồ
• Mục đích của kiến trúc ba lược đồ là tách rời các ứng dụng của
người dùng và cơ sở dữ liệu vật lý Trong kiến trúc này, các
lược đồ có thể được xác định ở ba mức:
• A Mức trong (internal level) có một lược đồ trong (internal
schema): mô tả cấu trúc lưu trữ vật lý của cơ sở dữ liệu Nó sử dụng một mô hình dữ liệu vật lý và mô tả các chi tiết đầy đủ
của việc lưu trữ dữ liệu và các đường dẫn truy cập đối với cơ
sở dữ liệu
• B Mức quan niệm (conceptual level) có một lược đồ quan
niệm: Nó mô tả cấu trúc của toàn bộ cơ sở dữ liệu cho một
cộng đồng người sử dụng Lược đồ quan niệm che dấu các chi tiết của cấu trúc lưu trữ vật lý và tập trung vào mô tả các thực thể, các kiểu dữ liệu, các mối liên kết, các thao tác của người
sử dụng và các ràng buộc
• C Mức ngoài hoặc mức khung nhìn gồm một số các lược đồ
ngoài hoặc các khung nhìn của người dùng Mỗi lược đồ ngoài
mô tả một phần của cơ sở dữ liệu mà một nhóm người sử
dụng quan tâm và che dấu đối với nhóm này phần còn lại của
cơ sở dữ liệu
Trang 22Minh hoạ mô hình kiến trúc ba mức
LƯỢC ĐỒ QUAN NIỆM
LƯỢC ĐỒ TRONG
CƠ SỞ DỮ LIỆU ĐƯỢC LƯU GIỮ
Trang 231.4.2 Sự độc lập dữ liệu
• Độc lập dữ liệu có thể định nghĩa như là khả
năng thay đổi lược đồ tại một mức của một hệ
cơ sở dữ liệu mà không làm thay đổi lược đồ ở mức cao hơn tiếp theo Có hai loại độc lập dữ liệu:
• A.Độc lập dữ liệu lôgic : đó là khả năng làm thay đổi lược đồ quan niệm mà không làm thay đổi các lược đồ ngoài hoặc các chương trình ứng dụng
• B.Độc lập dữ liệu vật lý: đó là khả năng thay đổi lược đồ trong mà không làm thay đổi các lược
đồ quan niệm hoặc các lược đồ ngoài
Trang 24CHƯƠNG II: MÔ HÌNH QUAN HỆ
Mô hình quan hệ được Ted Codd đưa ra đầu tiên vào năm
1970 và gây được chú ý ngay tức khắc vì tính đơn giản và các cơ sở toán học của nó Mô hình quan hệ sử dụng khái niệm quan hệ toán học như là khối xây dựng cơ sở và có cơ
sở lý thuyết của nó trong lý thuyết tập hợp và logic vị từ bậc nhất Trong chương này chúng ta sẽ nghiên cứu các khái
niệm cơ bản về mô hình quan hệ
Trang 252.1 CÁC KHÁI NIỆM CỦA MÔ HÌNH
QUAN HỆ
Mô hình quan hệ là một cách tổ chức dữ liệu ở dạng bảng hay các quan hệ gồm ba thành phần sau:
• A Cấu trúc dữ liệu: được tổ chức dưới dạng
bảng hay quan hệ
• B Thao tác dữ liệu: Những phép toán mạnh
(ngôn ngữ truy vần - SQL) để thực hiện các thao tác trên dữ liệu
• C Tích hợp dữ liệu: các qui tắc nghiệp vụ nhằm duy trì tính toàn vẹn dữ liệu khi chúng được thao tác
Trang 262.1.1 Quan hệ, thuộc tính, miền
• Quan hệ: là một bảng dữ liệu hai chiều Mỗi quan hệ là tập hợp các cột mỗi cột được đặt duy nhất một cái tên và một số tuỳ ý các hàng không được đặt tên Một quan hệ
là sự mô tả một tập hợp các đối tượng trong thế giới
thực ta gọi là thực thể.
• Thuộc tính:, các đối tượng được mô tả trong quan hệ
có chung những đặc trưng nào đó Các cột trong quan
hệ nhằm mô tả các đặc trưng hay thuộc tính của các
thực thể, mỗi cột biểu thị một đặc trưng.
• Nhóm lặp là một hay một số thuộc tính có giá trị khác
nhau trên các hàng nhưng các giá trị ở các thuộc tính
khác lại trùng nhau
• Bản ghi: Mỗi hàng trong quan hệ chứa dữ liệu biểu thị
thông tin của một đối tượng cụ thể, mỗi hàng của một quan hệ được gọi là một bộ (tube) hay cũng gọi là bản ghi (record).
Trang 27Ví dụ Quan hệ SINHVIÊN
Trang 28• Lược đồ quan hệ: Khi thay đổi dữ liệu trong bảng
thì các tính chất của quan hệ không thay đổi, khi ta loại bỏ tất cả các hàng dữ liệu ra khỏi bảng, khi đó chúng ta có một bộ khung của quan hệ, bộ khung này được gọi là lược đồ quan hệ
• Để mô tả một lược đồ quan hệ ta qui ước viết tên của quan hệ bằng chữ in hoa và sau đó là danh
sách các thuộc tính trong dấu ngoặc đơn, các
thuộc tính được viết bằng chữ thường và phân tách bởi dấu phẩy
• Ví dụ quan hệ SINHVIEN trên ta có lược đồ quan
hệ
SINHVIEN(Họtên, Mãsố, Ngàysinh, Giớitính, Lớp, Môn, Điểm)
Trang 29• Miền giá trị: Mỗi thuộc tính trong lược đồ
quan hệ có thể nhận những giá trị dữ liệu trên một tập nào đó, tập đó gọi là miền giá trị (nói vắn tắt là miền trị) của thuộc tính.
• Ví dụ: Trong quan hệ SINHVIEN thì thuộc tính Họtên là tập dẫy chữ cái có độ dài
nhỏ hơn 25; Giớitính là tập hai giá trị
“nam”, “nữ”; Điểm là tập hợp các số
nguyên từ 0 đến 10.
Trang 302.1.2 Các đặc trưng của các quan hệ
• A Giá trị đưa vào mỗi cột là đơn nhất: Giá trị dữ liệu đưa
vào một cột tương ứng với một hàng là đơn nhất thuộc
miền trị của thuộc tính
• B Các giá trị đưa vào một cột phải thuộc cùng một
miền dữ liệu
• Ví dụ các dữ liệu đưa vào cột điểm phải là các số nguyên
từ 0 đến 10, không thể đưa vào các chữ như ”chín” hay
”bảy”
• C Mỗi dòng là duy nhất trong bảng
• D Thứ tự các cột là không quan trọng: Các cột có thể
đổi chỗ cho nhau mà không làm thay đổi ý nghĩa của
chúng, cột được xác định bằng tên chứ không phải bởi thứ
tự của nó.
• E Thứ tự các hàng không quan trọng: Các hàng đưa
vào bảng có thể có thứ tự tuỳ ý
Trang 31V í dụ về b ảng không phải là một
quan hệ
Trang 322.2 KHÁI NIỆM VỀ CÁC
DẠNG CHUẨN
Trang 332.2.1 Quan hệ có cấu trúc tốt
• Một quan hệ có cấu trúc tốt là quan hệ có chứa số dư thừa dữ liệu ít
nhất và cho phép người dùng thêm, xoá, hay sửa đổi những hàng trong bảng mà không gây ra lỗi hoặc sự không nhất quán.
Một quan hệ không có cấu trúc tốt:
Trang 342.2.2 Khái niệm về các dạng chuẩn
• Một dạng chuẩn của một quan hệ là một trạng thái của nó có thể xác định được nhờ một số qui tắc nhất định Các qui tắc này liên quan đến việc kiểm tra sự phụ thuộc giữa các thuộc tính trong một quan hệ Sự tồn tại một số quan hệ phụ
thuộc đặc biệt là nguyên nhân gây ra các dị
thường Chuẩn hoá là việc đưa các lược đồ
quan hệ về các dạng chuẩn có cấu trúc tốt để
tránh các dị thường Người ta đã xác định được một số các dạng chuẩn mà chúng ta sẽ xem xét sau đây Trước hết ta cần một số khái niệm liên quan
Trang 35a Phụ thuộc hàm
• Cho quan hệ R và hai tập con khác nhau A và B
của tập thuộc tính Ta nói rằng tập thuộc tính B phụ thuộc hàm vào tập thuộc tính A hay A xác đinh B nếu với mỗi hàng của quan hệ R các giá trị của A xác định duy nhất các giá trị của B và được ký hiệu A → B
Ta có thể định nghĩa sự phụ thuộc hàm một cách hình thức như sau:
• Nếu X là tập con của tập thuộc tính, ta ký
hiệu ti[X] là các giá trị ở hàng ti trên tập thuộc
tính X, khi đó A → B nếu t1 và t2 là hai hàng bất
kỳ của R mà có t1[A]=t2[A] kéo theo t1[B]=t2[B]
Trang 36Hệ tiên đề Armstrong (Tham khảo)
Gọi R(U) là lược đồ quan hệ với U ={A1, A2, …,An} là tập thuộc tính X, Y, Z,W ⊆ U Hệ tiên đề Armstrong phát biểu như sau:
• 1 Phản xạ: Nếu Y ⊆ X thì X Y (A1)
• 2 Tăng trưởng: Nếu Z ⊆ U và X Y thì X ∪ Z Y ∪ Z (A2)
• 3 Bắc cầu: Nếu X Y và Y Z thì X Z (A3)
Từ hệ tiên đề Armstrong có thể suy ra một số luật sau:
• 4 Luật hợp: nếu X Y và X Z thì X Y∪Z
• 5 Luật tựa bắc cầu: nếu X Y và W∪Y Z thì X∪W Z
• 6 Luật tách: Nếu X Y và Z ⊆ Y thì X Z
Trang 37b Khoá dự tuyển, khoá chính và khoá ngoại
Khoá dự tuyển – Candidate key
Khoá dự tuyển của một quan hệ là một hay một tập con
các thuộc tính mà giá trị của nó xác định duy nhất mỗi
hàng của quan hệ Các thuộc tính này được gọi là thuộc tính khoá
Khoá dự tuyển có hai tính chất sau:
• Tính xác định duy nhất: Với mỗi hàng giá trị trên khoá
dự tuyển là duy nhất (không có hai hàng có giá trị trên
các thuộc tính khoá trùng nhau), trong khi đó các các
thuộc tính không phải là khoá phụ thuộc hàm vào các
thuộc tính khoá.
• Tính không dư thừa: Nếu bỏ đi bất kỳ thuộc tính khoá
nào của khoá dự tuyển thì sẽ phá huỷ tính duy nhất của
nó.
Trang 38• Khoá chính - primary key: Là khoá dự tuyển được chọn làm khoá
của quan hệ
Trong số khoá dự tuyển nêu trên của quan hệ SINHVIEN, rõ ràng
nếu ta chọn (Mãsv) làm khoá thì tốt hơn.
Để chọn một khoá chính ta nên theo nguyên tắc sau:
• Khoá nên có số ít nhất các thuộc tính Nếu tốt nhất là chỉ gồm một thuộc tính
• Nếu khoá có nhiều thuộc tính, nên tạo ra thuộc tính thay chúng làm kháo cho quan hệ.
• Nếu khoá cấu tạo từ nhiều thuộc tính, nên tránh sử dụng các thuộc tính dễ thay đổi theo thời gian như tên địa danh chẳng hạn.
Như vậy khoá chính dùng để tính nhận dạng duy nhất bản ghi trong quan hệ
Trang 39Khoá ngoại - foreign key:
Một khoá được dùng trong một quan hệ (bảng)
để làm đại diện cho giá trị của khoá chính trong một bảng có liên hệ
Trong khi khoá chính thì chỉ chứa các giá trị duy nhất thì khoá ngoại có thể chứa các giá trị giống nhau
Ví dụ, mã sinh viên (MãSV) là khoá chính trong bảng SINHVIEN (mỗi sinh viên có một mã duy nhất), còn MãSV trong bảng SINHVIEN_MON được xem như là khoá ngoại, mỗi sinh viên có thể tham gia nhiều môn, vì vậy giá trị MASV
trong bảng SINHVIEN_MON có thể trùng lặp
Trang 40+ Không có thuộc tính không khoá nào có thể phụ
thuộc vào các thuộc tính không khoá khác Nói cách khác, mỗi thuộc tính trong một bản ghi sẽ chứa thông tin về thực thể được xác định bởi khoá chính.