1. Trang chủ
  2. » Công Nghệ Thông Tin

SLIDE: HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

127 717 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 127
Dung lượng 805 KB

Nội dung

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 1

NGUYỄ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 3

CHƯƠNG I TỔNG QUAN VỀ

CƠ SỞ DỮ LIỆU

Trang 4

Mụ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 5

1.1 HỆ CƠ SỞ DỮ LIỆU

Trang 6

1.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 7

Ví 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 8

1.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 9

1.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 10

1.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 12

1.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 13

1.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 15

1.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 17

1.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 18

1.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 19

1.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 20

1.4 KIẾN TRÚC HỆ CƠ SỞ DỮ

LIỆU VÀ ĐỘC LẬP DỮ LIỆU

Trang 21

1.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 22

Minh 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 23

1.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 24

CHƯƠ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 25

2.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 26

2.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 27

Ví 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 30

2.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 31

V í dụ về b ảng không phải là một

quan hệ

Trang 32

2.2 KHÁI NIỆM VỀ CÁC

DẠNG CHUẨN

Trang 33

2.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 34

2.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 35

a 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 36

Hệ 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 YZ

• 5 Luật tựa bắc cầu: nếu X Y và WY Z thì XW Z

• 6 Luật tách: Nếu X Y và Z Y thì X Z

Trang 37

b 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 39

Khoá 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.

Ngày đăng: 09/04/2015, 20:38

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w