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

Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 2 - Nguyễn Nhật Minh

29 9 0

Đ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 29
Dung lượng 219,86 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 2: Mô hình quan hệ trình bày các khái niệm của mô hình quan hệ; khái niệm về các dạng chuẩn; các ràng buộc quan hệ, lược đồ cơ sở dữ liệu quan hệ. Đây là một tài liệu rất hữu ích dành cho các bạn sinh viên ngành Công nghệ thông tin dùng làm tài liệu tham khảo phục vụ học tập và nghiên cứu.

Trang 1

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 2

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 3

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 4

Ví dụ Quan hệ SINHVIÊN

SINHVIÊN Họtên Mã số Ngàysinh Giớitính Lớp Môn Điểm

Lê Văn Vân 4515202 12/09/84 Nữ 49 KTLN Toán 7 Phạm Thế Anh 4610503 15/05/85 Nam 51 QTKD Toán 7 Hoàng Thanh Tùng 4516802 21/03/84 Nam 50 Kế toán Tin 9 Phạm Thế Anh 4610503 15/05/85 Nam 51 QTKD CSDL 8

Đỗ Trần Cung 4521402 20/01/84 Nam 50 Kế toán Triết 8

Trang 5

• 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 6

• 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 7

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 8

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

quan hệ

SINHVIÊN Họtên Mã số Ngàysinh Giớitính Lớp Môn Điểm

Lê Văn Vân 4515202 12/09/84 Nữ 49 KTLN Toán 7 Hoàng Thanh Tùng 4516802 21/03/84 Nam 50 Kế toán Tin 9

Trang 9

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

DẠNG CHUẨN

Trang 10

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.

SINHVIÊN Họtên Mã số Ngàysinh Giớitính Lớp Môn Điểm

Lê Văn Vân 4515202 12/09/84 Nữ 49 KTLN Toán 7 Phạm Thế Anh 4610503 15/05/85 Nam 51 QTKD Toán 7 Hoàng Thanh Tùng 4516802 21/03/84 Nam 50 Kế toán Tin 9 Phạm Thế Anh 4610503 15/05/85 Nam 51 QTKD CSDL 8

Đỗ Trần Cung 4521402 20/01/84 Nam 50 Kế toán Triết 8 Một quan hệ không có cấu trúc tốt:

Trang 11

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 12

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à

Ta có thể định nghĩa sự phụ thuộc hàm một cách hình thức như sau:

hiệu ti[X] là các giá trị ở hàng ti trên tập thuộc

kỳ của R mà có t1[A]=t2[A] kéo theo t1[B]=t2[B]

Trang 13

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à XY thì X Z Y Z (A2)

3 Bắc cầu: Nếu XY và YZ thì XZ (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 14

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 15

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

Trang 16

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 17

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

Trang 18

2.2.3 Chuẩn hoá các lược đồ quan hệ

Chuẩn hoá là quá trình chuyển một quan

hệ có cấu trúc phức hợp thành các quan

hệ có cấu trúc đơn giản hơn Thc hiện quá trình chuẩn hoá, ta bắt đầu việc kiểm tra dạng chuẩn từ thấp đến cao và thực hiện việc tách quan hệ phức hợp thành các

quan hệ đơn giản hơn

Trang 19

Nếu quan hệ không là chuẩn 1

Có nghĩa là QH có chứa các thuộc tính lặp Khi đó ta tách thành hai quan hệ :

lặp và phần khoá xác định chúng

còn lại và toàn bộ khoá nhưng không chứa thuộc tính lặp

Trang 20

Ví dụ, cho lược đồ quan hệ:

DONHANG(sốđơn, mãkhách, tênkh, địachỉkh, ngàyđặt, mãhàng*,

tênhàng*, đơnvịtính*, môtả*, sốlượng*)

Trong quan hệ ta đánh dấu * các thuộc tính lặp.

Quan hệ DONHANG được tách thành hai quan hệ sau :

• Quan hệ 1: gồm các thuộc tính các thuộc tính lặp và phần khoá xác định chúng

HÀNGĐẶT(sốđơn, mãhàng, tênhàng, đơnvịtính, môtả, sốlượng)

• Quan hệ 2: Gồm các thuộc tính còn lại và phần khoá xác định

chúng:

DONHANG(sốđơn, mãkhách, tênkh, địachỉkh, ngàyđặt)

Trang 21

Nếu quan hệ không là chuẩn 2,

Có nghĩa là QH có chứa các thuộc tính

không khoá phụ thuộc vào một phần của khoá Khi đó ta tách thành hai quan hệ :

không khoá phụ thuộc vào một phần khoá

và phần khoá xác định chúng

lại và toàn bộ khoá chính

Trang 22

Ví dụ: Quan hệ DONHANG(sốđơn, mãkhách, tênkh,

địachỉkh, ngàyđặt) là quan hệ ở dạng chuẩn 1 nhưng

chưa là chuẩn 2.

Các phụ thuộc hàm:

(sốđơn)(mãkhách, ngàyđặt) ; (mãkhách) (tênkh,

địachỉkh) Kéo theo khoá quan hệ này là (sốđơn,

mãkhách).

• Phụ thuộc hàm (mãkhách) (tênkh, địachỉkh) này cho

thấy hai thuộc tính không khoá phụ thuộc vào một

phần khoá.

Vậy quan hệ DONHANG(sốđơn, mãkhách, tênkh, địachỉkh,

ngàyđặt) được tách thành hai quan hệ:

(1) KHÁCH(mãkhách, tênkh, địachỉkh)

(2) DONHANG(sốđơn, mãkhách, ngàyđặt)

Trang 23

Nếu quan hệ không là chuẩn 3,

Khi quan hệ ở dạng chuẩn 2 nhưng chưa ở dạng chuẩn 3, có nghĩa là trong quan hệ tồn tại các thuộc tính không khoá phụ thuộc vào các thuộc tính không khoá khác Để đưa về dạng chuẩn 3

ta tách quan hệ như sau:

• Quan hệ thứ nhất: Gồm các thuộc tính không khoá và các thuộc tính không khoá khác (gọi là thuộc tính cầu) xác định chúng

• Quan hệ thứ hai: Gồm các thuộc tính còn lại và thuộc tính gọi là thuộc tính cầu nói trên

Trang 24

Ví dụ: cho lược đồ VẬNCHUYỂN(sốvậnđơn,

khohàng, nơiđến, khoảngcách)

• Các phụ thuộc hàm: ( sốvậnđơn) ( khohàng,

Xác định được khoá là (vậnđơn).

• Rõ ràng trong quan hệ này (khoảngcách)

thuộc tính không khoá nhưng lại phụ thuộc vào các thuộc tính không khoá khác là (khohàng,

lược đồ:

(1) HÀNHTRÌNH(khohàng, nơiđến, khoảngcách)

(2) VẬNCHUYỂN(sốvậnđơn, khohàng, nơiđến)

Trang 25

2.3 CÁC RÀNG BUỘC QUAN

HỆ, LƯỢC ĐỒ CSDL QUAN HỆ

Trong phần này chúng ta thảo luận về các hạn chế trên các dữ liệu trong một lược đồ

cơ sở dữ liệu quan hệ Các hạn chế đó

được gọi là các ràng buộc Có các loại ràng buộc : ràng buộc miền, ràng buộc khoá, ràng buộc toàn vẹn thực thể và ràng buộc toàn

vẹn tham chiếu

Trang 26

2.3.1 Các ràng buộc miền

• Các ràng buộc miền chỉ ra rằng giá trị của mỗi thuộc tính

A phải là một giá trị nguyên tử thuộc miền giá trị thuộc kiểu dữ liệu nào đó

Các kiểu dữ liệu liên kết với các miền bao gồm:

• các kiểu dữ liệu số chuẩn cho các số nguyên ( short

integer, integer, long integer),

• các số thực ( float, double precision float )

• Ngoài ra còn các kiểu dữ liệu ký tự (dãy ký tự với độ dài

cố định, dãy ký tự với độ dài thay đổi ),

• ngày, thời gian (Date, Time)

• tiền tệ (currency)

• Các loại miền khác có thể là các miền con của một kiểu

dữ liệu hoặc một kiểu dữ liệu đếm được trong đó mọi giá trị có thể được liệt kê rõ ràng

Trang 27

2.3.2 Ràng buộc khoá

Thông thường, có tồn tại các tập con của các thuộc tính của một lược đồ quan hệ có tính chất là không có hai bộ nào ở trong mọi trạng thái quan hệ r của R có cùng một tổ hợp giá trị cho các thuộc tính của nó

Giả sử chúng ta ký hiệu một tập con như vậy là SK; khi đó với hai

bộ khác nhau bất kỳ t1 và t2 trong một trạng thái quan hệ r của

R chúng ta có ràng buộc là t1[SK]  t2[SK] Tập hợp thuộc tính SK như vậy được gọi là một siêu khoá (superkey) của

lược đồ quan hệ R Một siêu khoá SK xác định rõ một ràng

buộc về tính duy nhất , phát biểu rằng không có hai bộ khác nhau trong một trạng thái r của R có cùng một giá trị cho SK Mỗi quan hệ có it nhất là một siêu khoá mặc định, đó là tập

hợp tất cả các thuộc tính của nó

với tính chất là nếu bỏ đi bất kỳ thuộc tính A nào ra khỏi K thì

sẽ còn lại một tập K không phải là siêu khoá của R

Trang 28

2.3.4 Toàn vẹn thực thể, toàn vẹn

tham chiếu và khoá ngoài

khoá chính phải luôn luôn có giá trị xác định,

nghĩa là không được phép có giá trị null

Các ràng buộc khoá và ràng buộc toàn vẹn thực thể được chỉ ra trên các quan hệ riêng rẽ

• Ràng buộc toàn vẹn tham chiếu được chỉ ra

giữa hai quan hệ để duy trì sự tương ứng giữa các bộ của hai quan hệ

Trang 29

Lược đồ và sơ đồ tham chiếu

DỰÁN( TênDA, MãsốDA, ĐịađiểmDA, Mã sốĐV)

NHÂNVIÊN_DỰÁN( MãsốNV, MãsốDA, Sốgiờ)

PHỤTHUỘC( MãsốNV, TênCon, Giớitính, Ngàysinh)

Ngày đăng: 09/05/2021, 22:19

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm