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

Bài giảng Cơ sở dữ liệu - Chương 1: Mô hình dữ liệu quan hệ

56 15 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 56
Dung lượng 1,01 MB

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 Cơ sở dữ liệu - Chương 1: Mô hình dữ liệu quan hệ bao gồm những nội dung về các khái niệm cơ bản, các thao tác cơ bản trên quan hệ, các phép toán tập hợp, các phép toán quan hệ. Mời các bạn tham khảo.

Trang 1

MÔ HÌNH DỮ LIỆU QUAN HỆ

1 Các khái niệm cơ bản

2 Các thao tác cơ bản trên quan hệ

3 Các phép toán tập hợp

4 Các phép toán quan hệ

Trang 2

1 CÁC KHÁI NIỆM CƠ BẢN

1.1 Thuộc tính (Attribute)

1.2 Quan hệ (Relation)

1.3 Bộ giá trị (Tuple)

1.4 Lược đồ quan hệ (Relation Schema)

1.5 Thể hiện của quan hệ

1.6 Khóa (Key)

1.7 Phụ thuộc hàm (Functional Dependency)

1.8 Ràng buộc toàn vẹn (Integrity Constraint)

Trang 3

1.1 Thuộc tính (Attribute)

Thuộc tính là một tính chất riêng biệt của một đối

tượng cần được lưu trữ trong CSDL để phục vụ cho việc khai thác dữ liệu về đối tượng

Trang 4

1.1 Thuộc tính (TT)

Các đặc trưng của thuộc tính:

 Tên gọi (Name)

 Kiểu dữ liệu (Data Type)

 Miền giá trị (Domain)

Trang 5

1.1 Thuộc tính (TT)

Tên thuộc tính

-Có tính chất gợi nhớ

-Đặt đúng quy định của hệ QTCSDL

-Không nên đặt quá dài

Nếu không cần lưu ý đến ngữ nghĩa thì tên thuộc tính thường được ký hiệu bằng các chữ cái A, B, C, D,

…, còn X, Y, Z, W, … dùng thay cho 1 nhóm

Trang 6

1.1 Thuộc tính (TT)

Kiểu dữ liệu (Data Type): Mỗi thuộc tính đều phải

thuộc một kiểu dữ liệu nhất định

Trang 7

1.1 Thuộc tính (TT)

Một số kiểu dữ liệu trong SQL Server

Bit Số nguyên 1 Kiểu bit – giá trị 0 hoặc 1

Int Số nguyên 4 -2,147,483,648  +2,147,483,648

SmallInt Số nguyên 2 -32768  32767

Decimal Số thực V -1038 –1  1038 -1

Float Số thực 8 -1.79E+308  +1.79E+308

DateTime Ngày giờ 8 1/1/1753  31/12/9999

VarChar Ký tự V Chiều dài thay đổi

Trang 8

1.1 Thuộc tính (TT)

Miền giá trị (Domain): Mỗi thuộc tính chỉ chọn

những giá trị trong một tập hợp con của kiểu dữ

liệu Tập hợp các giá trị mà một thuộc tính A có thể nhận được gọi là miền giá trị của A

 Ký hiệu Dom(A), MGT(A)

Trong nhiều hệ QTCSDL, người ta đưa thêm vào

Trang 10

1.3 Bộ giá trị (Tuple)

 Một bộ giá trị là các thông tin của một đối tượng

thuộc quan hệ Bộ giá trị còn được gọi là mẫu tin (Record),dòng (Row)

 Về mặt hình thức, một bộ q là một vectơ gồm n

thành phần thuộc tập hợp con của tích Đề-các miền giá trị của các thuộc tính, thỏa mãn tân từ của quan hệ

 q = (a1, , an)  (MGT(A1) x x MGT(An))

Trang 11

1.4 Lược đồ quan hệ

Lược đồ quan hệ là sự trừu tượng hóa của quan hệ,

một sự trừu tượng hóa ở mức độ cấu trúc của một bảng hai chiều

 Khi nói tới lược đồ quan hệ tức là đề cập tới cấu trúc tổng quát của một quan hệ

 Khi đề cập tới quan hệ thì đó là một bảng có cấu trúc cụ thể hoặc một định nghĩa cụ thể trên một

lược đồ quan hệ với các bộ giá trị của nó

Trang 12

1.5 Thể hiện của quan hệ

Thể hiện (hoặc tình trạng) của quan hệ R, ký hiệu

bởi TR, là tập hợp các bộ giá trị của quan hệ R vào một thời điểm

 Tại những thời điểm khác nhau thì quan hệ sẽ có những thể hiện khác nhau

Ví dụ: Quan hệ MÔN-HỌC

Trang 13

1.6 Khóa (Key)

Siêu khóa của lược đồ quan hệ Q là tập hợp các

thuộc tính có thể dùng làm cơ sở để phân biệt 2 bộ khác nhau tùy ý trong 1 quan hệ bất kỳ được định nghĩa trên lược đồ quan hệ Q

 1 lược đồ có ít nhất 1 siêu khóa và có thể có nhiều siêu khóa

Ví dụ: SINHVIEN (MaSV, HoTen, NSinh, DC)

 Siêu khóa: {MaSV}, {MaSV, HoTen}, {MaSV, NSinh}, …

Trang 14

1.6 Khóa (Key) (TT)

Khóa chỉ định: Trong số những siêu khóa của 1 lược

đồ quan hệ Q, chúng ta chọn ra những Siêu khóa

“nhỏ nhất” gọi là khóa chỉ định (Khóa nội).

 1 lược đồ có ít nhất 1 khóa chỉ định và có thể có

nhiều khóa chỉ định

Ví dụ: SINHVIEN (MaSV, HoTen, NSinh, DC)

 Khóa chỉ định: {MaSV}

Trang 15

1.6 Khóa (Key) (TT)

Khóa chính (Primary Key): Trong trường hợp lược

đồ quan hệ Q có nhiều khóa chỉ định, khi cài đặt trên 1 hệ QTCSDL, user chọn 1 khóa chỉ định làm

khóa chính, những khóa còn lại gọi là Khóa tương

đương.

Thuộc tính có tham gia vào 1 khóa gọi là thuộc

tính khóa, ngược lại – thuộc tính không khóa.

 Thuộc tính khóa không chứa giá trị NULL

 Không sửa đổi giá trị thuộc tính khóa

Trang 16

1.6 Khóa (Key) (TT)

Khóa ngoại (Foreign Key): Giả sử có 2 quan hệ

R, S Một tập thuộc tính K của R được gọi là khóa

ngoại của R nếu K là khóa nội của S.

Trang 17

1.7 Phụ thuộc hàm

Quan hệ R được định nghĩa trên tập thuộc tính U = {A1, A2, , An} X, Y  U là 2 tập con của tập

thuộc tính U Nếu tồn tại một ánh xạ f: X  Y thì

ta nói rằng X xác định hàm Y, hay Y phụ thuộc hàm vào X và ký hiệu là X  Y

Ví dụ: SINHVIEN (MaSV, HoTen, NSinh, DC)

 Ta có Pth: MaSV  HoTen

Trang 18

1.8 Ràng buộc toàn vẹn

Ràng buộc toàn vẹn (RBTV) là một quy tắc định

nghĩa trên một (hay nhiều) quan hệ do môi trường ứng dụng quy định Đó chính là quy tắc để đảm bảo tính nhất quán của dữ liệu trong CSDL

 Mỗi RBTV được định nghĩa bằng một thuật toán

trong CSDL

Ví dụ: NHANVIEN (MaNV, HoTen, HSL, DC)

 Ta có RBTV: HSL phải >=1 và <=10

Trang 19

2 CÁC THAO TÁC CƠ BẢN

2.1 Phép thêm (INSERT)

2.2 Phép xóa (DELETE)

2.3 Phép sửa (UPDATE)

Trang 21

 Bộ mới không phù hợp với lược đồ quan hệ: sai thứ

tự, sai kiểu hoặc độ lớn của các thuộc tính

 Một số giá trị của bộ mới không thuộc miền giá trị của thuộc tính tương ứng

Trang 24

2.3 Phép sửa (UPDATE)

 Một số hệ QTCSDL đưa ra nhiều câu lệnh khác

nhau để sửa dữ liệu: EDIT, UPDATE

 Trong ngôn ngữ hình thức, phép sửa đổi giá trị các

Trang 26

3.1 Phép hội (Union)

Hội của 2 quan hệ R và S – được ký hiệu là R  S

-là một quan hệ Q có cùng thứ tự thuộc tính như

trong quan hệ R và S, được định nghĩa như sau:

Q = R  S = {t / t  R hoặc t  S }

 Nói cách khác, hội của 2 quan hệ R và S là 1 quan

hệ có các bộ giá trị bằng gộp các bộ giá trị của cả R

và S; những bộ giá trị trùng nhau chỉ được giữ lại 1 bộ

Trang 28

3.1 Phép hội (Union)

Maso HoTen Phai ChucVu

100 Nguyen Van Nam Nam GD

101 Hoang Thi Xuan Nu KTT

103 Dang Ngoc Chien Nam TK

Maso HoTen Phai ChucVu

221 Do Huu Ngoc Nam PP

101 Hoang Thi Xuan Nu KTT

Maso HoTen Phai ChucVu

Ví dụ

DS ĐƠNVỊ A

DS ĐƠNVỊ B

DS CTY

Trang 29

3.2 Phép giao (Intersection)

Giao của 2 quan hệ R và S - được ký hiệu là R  S,

là một quan hệ Q có cùng thứ tự thuộc tính như

trong quan hệ R và S, được định nghĩa như sau:

Q = R  S = {t / t  R và t  S }

 Nói cách khác, Giao của 2 quan hệ R và S là 1 quan

hệ với các bộ giá trị là các bộ giống nhau của cả 2 quan hệ R và S

Trang 31

3.2 Phép giao (Intersection)

Maso HoTen Phai ChucVu

100 Nguyen Van Nam Nam GD

101 Hoang Thi Xuan Nu KTT

103 Dang Ngoc Chien Nam TK

Maso HoTen Phai ChucVu

221 Do Huu Ngoc Nam PP

101 Hoang Thi Xuan Nu KTT

Ví dụ

DS ĐƠNVỊ A

DS ĐƠNVỊ B

DS CTY

Trang 32

3.3 Phép trừ (Minus)

Hiệu của 2 quan hệ R và S – được ký hiệu là R - S,

là một quan hệ Q có cùng thứ tự thuộc tính như

trong quan hệ R và S, được định nghĩa như sau:

Q = R - S = {t / t  R và t  S }

 Nói cách khác, hiệu của 2 quan hệ R và S là 1 quan

hệ với các bộ giá trị là các bộ giá trị của R sau khi

đã loại bỏ các bộ có trong quan hệ S

Trang 34

3.3 Phép trừ (Minus)

Maso HoTen Phai ChucVu

100 Nguyen Van Nam Nam GD

101 Hoang Thi Xuan Nu KTT

103 Dang Ngoc Chien Nam TK

Maso HoTen Phai ChucVu

221 Do Huu Ngoc Nam PP

101 Hoang Thi Xuan Nu KTT

Ví dụ

DS ĐƠNVỊ A

DS ĐƠNVỊ B

Trang 35

3.4 Tích Đềcác (Cartesian Product)

 R (A1, A2, , An) và S (B1, B2, , Bm) là hai quan

hệ có số bộ giá trị hữu hạn Tích Đề-các của hai

quan hệ R và S, được ký hiệu là R x S, là một quan

hệ Q xác định trên tập thuộc tính của R và S (với n + m thuộc tính) và được định nghĩa như sau:

Q = R x S = {t / t có dạng (a 1 , , a n , b 1 , , b m ) trong đó

(a 1 , , a n )  R và (b 1 , , b m )  S }

 Như vậy, nếu R có n1 bộ giá trị và S có n2 bộ giá

trị, thì Q sẽ có n1 x n2 bộ giá trị

Trang 37

3.5 Phép chia (Division)

 R là quan hệ n ngôi và S là quan hệ m ngôi (n > m

và S ≠  ), có m thuộc tính chung (giống nhau về mặt ngữ nghĩa, hoặc các thuộc tính có thể so sánh được) giữa R và S Phép chia 2 quan hệ R và S, ký hiệu là R÷ S, là một quan hệ Q có n - m ngôi được định nghĩa như sau:

Q = R  S = { t /u  S, (t,u)  R }

Trang 38

3.5 Phép chia (Division)

 Ví dụ:

R (A, B, C, D) S (C, D) R÷ S= (A, B)

Trang 39

Hỏi: Cho biết các Phi công lái được cả

3 loại máy bay 100, 101, 103

Trả lời: Đó là thương của phép chia

QH KHẢ-NĂNG cho quan hệ BAY(MSMB)

MÁY-Kết quả: là quan hệ PHI-CÔNG có 1

100 101 103

Trang 40

3.6 Phép bù (complement)

 Cho quan hệ R (A1, , An) với các miền giá trị là MGT(Ai) Phép bù của quan hệ R là quan hệ Q, ký hiệu là  R, được Đ/N:

Q= R= { t (a 1 , , a n ) , a i  MGT(A i )  i=1 n / t  R }

 Gồm tất cả các bộ có thể có của tích Đề-các miền giá trị MGT(Ai) nhưng chưa có mặt trong thể hiện của quan hệ R

 Trong thực tế rất ít hệ quản trị CSDL cài đặt phép

Trang 43

4.1 Phép chiếu (Projection)

 Giả sử R là 1 quan hệ xác định trên tập thuộc tính

U = {A1, , An } X  U Phép chiếu quan hệ R trên tập các thuộc tính X là 1 quan hệ Q xác định trên

tập thuộc tính X, ký hiệu là R [X], được định nghĩa như sau:

Q = R [X] = { q /  t  R: q = t.X }

 Ký hiệu: X(R)

 Nếu X ={Ai1, Aim } thì viết cụ thể là Ai1 Aim(R)

Trang 44

4.1 Phép chiếu (Projection)

Ngữ nghĩa: Trích từ R một số thuộc tính nào đó để

tạo thành một quan hệ mới Số ngôi của quan hệmới này bằng số thuộc tính của tập con X Các bộgiá trị của các cột được trích nếu giống nhau sẽđược loại bỏ để chỉ giữ lại một bộ duy nhất

Trang 45

4.1 Phép chiếu (Projection)

Ví dụ:

Cho R(ABCD), X={A,B}, Y={A,C}

R(ABCD) X(R)=(AB) Y(R)=(AC)

Trang 47

4.2 Phép chọn (Selection)

 Giả sử R (A1, An) là 1 quan hệ, và F là 1 điều

kiện dựa trên tập con thuộc tính R+=

{A1, An} Đánh giá điều kiện F trên bộ giá trị t 

R được ký hiệu là F(t) Phép chọn các bản ghi của

R thỏa mãn điều kiện F là 1 quan hệ Q có cùng

ngôi với R, ký hiệu là F(R) được định nghĩa nhưsau:

Q = F (R) = {t  R / F(t) = đúng }

 Ký hiệu:  (R)

Trang 48

4.2 Phép chọn (Selection)

Ý nghĩa: Cho phép chọn những mẫu tin thỏa mãn

một điều kiện F nào đó để đưa vào quan hệ kết quả

 Điều kiện F là một biểu thức lôgíc cho kết quả

đúng (True) hoặc sai (False); nó là tổ hợp (dùng

các phép toán , , ) của các biểu thức lôgic cơ

sở

 Mỗi biểu thức cơ sở chứa một phép so sánh: <, <=,

>, >=, = và  (<>) có dạng:

Trang 51

4.3 Phép  - kết (Theta – Join)

Xếp cạnh nhau:

 Có 2 quan hệ R (A1, , An) và S (B1, , Bm)

 t = (a1, , an) là 1 bộ giá trị của R và u = (b1, , bm)

là 1 bộ giá trị của S Gọi v là bộ ghép nối u vào t

(hay bộ giá trị t và u được "xếp cạnh nhau") được

định nghĩa như sau:

v = (t, u) = (a 1 , , a n , b 1 , , b m )

Trang 52

4.3 Phép  - kết (Theta – Join)

 A  R+ và B  S+ là 2 thuộc tính có thể so sánh được

 Gọi  là 1 trong các phép toán so sánh {<, <=, >,

>=, =,  }

 Phép kết nối 2 quan hệ R với S trên các thuộc tính

A và B với phép so sánh  được định nghĩa qua:

AB

R |><| S = {v = (t, u)  t  R , u  S và t.A  u.B}

Trang 53

4.3 Phép  - kết (Theta – Join)

 Phép kết nối 2 quan hệ R và S có thể xem như được thực hiện qua 2 bước:

Bước 1: Tích Descartes 2 quan hệ R và S.

Bước 2: Chọn các bộ giá trị thỏa mãn điều kiện A

 B.

Trang 55

4.4 Phép kết tự nhiên

 Nếu  là phép toán so sánh bằng nhau (=) thì ta gọi

đó là phép kết nối bằng (Equi Join).

 Nếu các thuộc tính so sánh là giống tên nhau thìtrong kết quả của phép kết nối sẽ loại bỏ đi 1 trong

2 thuộc tính đó, khi đó phép kết nối được gọi là

phép kết nối tự nhiên (Natural Join)

 Ký hiệu: R * S

Ngày đăng: 11/05/2021, 03:58

TỪ KHÓA LIÊN QUAN

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