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

Chương 4: MÔ HÌNH QUAN HỆ - RELATIONAL MODEL pptx

64 1,3K 4
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Chương 4: Mô hình Quan Hệ - Relational Model
Trường học Trường Đại học Công Nghệ Thông Tin - ĐHQG Hà Nội
Chuyên ngành Hệ quản trị cơ sở dữ liệu
Thể loại Giáo trình
Thành phố Hà Nội
Định dạng
Số trang 64
Dung lượng 0,91 MB

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

Nội dung

Các loại khoá quan hệ Relational Keyskhông có một tập con thực sự bất kỳ K’  K lại là một siêu khoá  Tính duy nhất uniqueness: các giá trị của K trong các bộ của r là duy nhất  Tính t

Trang 1

Chương 4

MÔ HÌNH QUAN HỆ - RELATIONAL MODEL

Trang 3

Mô hình dữ liệu quan hệ (Relational data model)

 Các khái niệm liên quan đến cấu trúc dữ liệu dưới dạng dòng

và cột như quan hệ, bộ, thuộc tính, khóa chính, khóa ngoại,

 Được xây dựng trên cơ sở của phép toán tập hợp và phép toán quan hệ.

 Ràng buộc toàn vẹn quan hệ.

hình quan hệ

3

Trang 4

Mô hình dữ liệu quan hệ (Relational data model)

Quan hệ (relation) là một bảng dữ liệu hai chiều gồm nhiều hàng

(mẫu tin hay bản ghi) và nhiều cột (thuộc tính hoặc vùng tin) Mỗi cột tương ứng với một thuộc tính của thực thể Mỗi dòng chứa các giá trị dữ liệu của một đối tượng cụ thể thuộc thực thể

 Mỗi hàng là duy nhất: không thể có hai hàng có cùng các giá trị ở tất cả vùng tin.

 Thứ tự của các hàng và cột là không quan trọng.

4

Trang 5

Bài 4 TH107 5

Trực quan về Quan hệ

 Ví dụ : Để quản lý điểm sv, nếu ta lưu trữ theo bảng sau thì không đúng với mô hình quan hệ vì

TCTH01 Sơn TCTHA THVP Tin Học Văn Phòng 6.0

TCTH01 Sơn TCTHA CSDL Cơ Sở Dữ Liệu 5.0

TCTH02 Lan TCTHA CSDL Cơ Sở Dữ Liệu 3.0

Thuộc tính

Bộ

• Ta không thể lưu trữ một SV mới khi SV này chưa có điểm thi.

• Khi cần sửa đổi ten thì phải sửa tất cả các dòng có liên quan đến SV này.

• Khi có nhu cầu xóa điểm thi một SV kéo theo khả năng xóa luôn họ tên

Sv đó.

• Để lưu trữ đúng mô hình quan hệ, ta có thể lưu trữ thành các bảng như sau

Trang 7

Mô hình dữ liệu quan hệ (Relational data model)

 Bộ

của một lược đồ quan hệ

MA

HOC BONG

99001 TRAN AN TRUE 15-03-1977 CÑTH2B T GIANG 120000

99002 NGUYEN HA TRUE 25-04-1986 TCTH29C TPHCM 120000

Trang 8

Mô hình dữ liệu quan hệ (Relational data model)

Khóa quan hệ là một tập nhỏ nhất các thuộc tính dùng để xác

định duy nhất một hàng.

Khóa thường được sử dụng làm chỉ mục (index) của bảng dữ

liệu để làm tăng tốc độ xử lý của truy vấn.

 Một quan hệ phải có ít nhất một khóa và có thể có nhiều khóa.

Các thuộc tính thuộc một khóa được gọi là thuộc tính khóa (prime attribute), các thuộc tính còn lại trong lược đồ quan hệ được gọi là các thuộc tính không khóa (nonprime attribute).

 Các thuộc tính khóa được gạch dưới.

Các thuộc tính khóa không được có giá trị rỗng (null value).

8

Trang 9

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

 Lược đồ quan hệ bao gồm:

 Tên quan hệ

 Tên các thuộc tính cùng với tên domain tương ứng.

 Các ràng buộc bảo toàn ( integrity constraint): là các hạn chế trên các quan hệ của lược đồ này.

 Domain : là 1 tập hợp các giá trị cho phép của 1 hay nhiều thuộc tính, thường là 1 tập con cuả kiểu dữ liệu Ký hiệu dom(A)  miền trị của thuộc tính A

Trang 10

Lược đồ quan hệ (relation schema)

 Cho A 1 , A 2 , , A n là tên các thuộc tính thuộc các miền D 1 , D 2 , , D n

 Lược đồ quan hệ R với 1 tập thuộc tính {A 1 , A 2 , , A n }

R(A 1 , A 2 , , A n )

 Gọi U={A 1 , A 2 , , A n } là tập các thuộc tính của lược đồ quan hệ R

 Mỗi lược đồ quan hệ luôn kèm một tân từ để diễn tả ý nghĩa của nó

 Biểu diễn 1 lược đồ quan hệ:

TÊN_QUAN_HỆ( thuộc tính 1, thuộc tính 2,…)

Ví dụ : lược đồ quan hệ Employee có 3 thuộc tính

NHANVIEN(MANV, Ten, MaPb, Luong)

Tân từ: Mỗi nhân viên có một MaNV duy nhất dùng để nhận diện TenNV, MaPB và Lương.

10

Trang 11

Quan hệ (Relation)

 Gọi D = D1  D2 … Dn

 Quan hệ r trên lược đồ quan hệ R được ký hiệu r(R) là một tập hữu hạn các ánh xạ {t1,t2, ,tp} từ R vào D với điều kiện mọi ánh xạ t  r thì t[Ai] Di, 1 ≤ i ≤ n

 Quan hệ r là một thể hiện quan hệ (relation instance) của R tại

NV01 Nguyễn Trung Tiến 25 t1

Quan hệ NHANVIEN trên tập các thuộc tính R={Manv, HoTenNV, Tuoi) là một quan hệ 3 ngôi.

t1(NV01, ‘Nguyễn Trung Tiến’, 25) = t1(R) là một bộ của quan hệ

NHANVIEN

Trang 12

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

 Lược đồ cơ sở dữ liệu

hệ là duy nhất

Lược đồ cơ sở dữ liệu:

Emp (Empnum, Name, Sal, Tax, Mgrnum, Deptnum)

Dept (Deptnum, Name, Area, Mgrnum)

Supplier (Snum, Name, City)

Supply (Snum, Pnum, Deptnum, Quan)

12

Trang 13

Cơ sở dữ liệu quan hệ (Relational database)

 Cơ sở dữ liệu quan hệ (relational database):

Trang 14

Cấu trúc dữ liệu quan hệ (tt)

1 quan hệ nhất phân (unary relation)

2 quan hệ nh ị phân (binary relation)

3 quan hệ tam phân (ternary relation)

n quan hệ n phân (ternary relation)

14

số sẽ thay đổi khi thêm hay xoá các tuple (hàng)

Trang 15

Khoá quan hệ (Relational Keys)

thuộc tính dùng để xác định duy nhất một bộ của quan hệ

Trang 16

Các loại khoá quan hệ (Relational Keys)

không có một tập con thực sự bất kỳ K’  K lại là một siêu

khoá

 Tính duy nhất (uniqueness): các giá trị của K trong các bộ

của r là duy nhất

 Tính tối giản (irreducibility hay minimality) không có tập

con thực sự K’  K lại có tính duy nhất

16

Trang 17

Các loại khoá quan hệ (Relational Keys)

Khóa đơn (simple key): là khóa có một thuộc tính

Khóa phức hợp (composite key): là khóa có nhiều hơn một

thuộc tính

Khóa chính (primary key): là một khóa dự tuyển được

chọn để xác định duy nhất một bộ của quan hệ Khóa chính

có thể chỉ có 1 thuộc tính hay khóa phức hợp

SINHVIEN(Masv, Tensv, Ngaysinh, Phai, Malop)

17

Trang 18

 Định nghĩa khóa theo quan hệ toán học:

K= {Aj1, Aj2,…, Ajn} với j1, j2, jn là các số nguyên phân biệt nằm trong khoảng từ 1 đến m, phải thỏa mãn đồng thời 2 điều kiện sau:

Trang 19

 Các khóa dự tuyển (candidate key) còn lại sau khi chọn khóa chính

được gọi là khóa khác (alternate key)

Khóa ngoại (foreign key): là 1 thuộc tính hay 1 tập thuộc tính của

1 quan hệ tham chiếu đến khóa dự tuyển của 1 quan hệ khác hay

của cùng 1 quan hệ

Khóa mượn (borrowed key): là 1 khóa dự tuyển có chứa khóa

ngoại

 Xét các lược đồ quan hệ sau:

Employee(Emp_ID, Name, Dept_Name, Salary)

Training(Emp_ID, Course, Date_Completed)

Trang 20

Mô hình dữ liệu quan hệ (Relational data model)

Ví dụ: Ta hãy xem lược đồ quan hệ sau:

 Xe(SODANGBO,QUICACH,

HINHDANG,MAUSAC,SOSUON,SOMAY,MAXE,QUOCGIA)

 Siêu khóa: (SOSUON,QUICACH),

 Khóa chỉ định: (SODANGBO,QUOCGIA), (SOSUON), (SOMAY),

(MAXE)

 Khóa chính: MAXE

 Thuộc tính khóa: SODANGBO,QUOCGIA, SOSUON, SOMAY, MAXE

 Thuộc tính không khóa: QUICACH, HINHDANG, MAUSAC

 Khóa của Sv là (MASV), Khoá của Mh là (MAMH), khoá của Kh là

(MAKHOA), khóa của Kq là (MASV,MAMH) khóa của Lop là

MALOP, trong Lop thuộc tính MAKHOA là khóa ngoại

20

Trang 21

Các ràng buộc toàn vẹn (Integrity constraints)

 Một số ràng buộc dựa vào các quy tắc nghiệp vụ Các ràng buộc này thường nằm trong phần requirement Document của ứng dụng.

 Nhân viên không thể có lương cao hơn giám đốc

 Sinh viên phải thỏa mãn các điều kiện tiên quyết mới được đăng

21

Trang 22

Toàn vẹn dữ liệu (Data integrity)

 Mục đích của ràng buộc (constraint): để duy trì tính chính xác (accurary) và toàn vẹn dữ liệu (data integrity) trong CSDL

integrity

22

Trang 23

Bảo toàn thực thể (Entity Integrity)

 Bảo toàn thực thể dùng để bảo đảm tính duy nhất của mỗi hàng trong bảng

giá trị của khóa chính phải luôn hợp lệ

không được có giá trị rỗng (null)”

Trang 24

Bảo toàn miền (Domain Integrity)

thuộc tính

số các yêu cầu sau: Tên thuộc tính, Kiểu dữ liệu, Độ dài dữ liệu, khuôn dạng của dữ liệu, các giá trị giới hạn cho phép,

ý nghĩa, có duy nhất hay không, có cho phép giá trị rỗng hay không.

 “Tất cả giá trị xuất hiện trong một thuộc tính của

một quan hệ phải cùng một miền trị”

24

Trang 25

 Được thể hiện trong SQL server thông qua các ràng buộc sau:

25

Bảo toàn miền (Domain Integrity)

Trang 26

Toàn vẹn tham chiếu Referential integrity

 Toàn vẹn tham chiếu dùng để xác định mối quan hệ giữa các bảng khi thêm hay xóa các hàng trong bảng

 Mục đích: duy trì tính nhất quán (consistency) giữa các bộ của 2 quan hệ.

 Trong SQL server, thì toàn vẹn tham chiếu dựa vào mối quan hệ giữa khóa ngoại và khóa chính của các bảng.

 Bảng chứa khóa chính: được gọi là bảng chính (primary table)

 Bảng chứa khóa ngoại: được gọi là bảng quan hệ (related table)

 Nó bảo đảm giá trị khóa phải thống nhất (consistent) giữa các bảng Không thể tham chiếu đến 1 giá trị không tồn tại và nều giá trị khóa thay đổi thì tất cả tham chiếu đến giá trị khóa này cũng

Trang 27

Toàn vẹn tham chiếu Referential integrity

sau:

có bản ghi tương ứng trong bảng chính

các bản ghi tương ứng trong bảng quan hệ bị mất tham chiếu

tham chiếu bởi 1 số bản ghi trong bảng quan hệ

27

Trang 28

Toàn vẹn tham chiếu (Reference Integrity)

2 quan hệ

 “ Nếu tồn tại 1 khóa ngoại trong 1 quan hệ, thì mỗi giá trị khóa ngoại phải tương ứng với 1 giá trị khóa chính trong một quan hệ khác (hoặc trong cùng quan hệ này) hoặc giá trị khóa ngoại phải là giá trị rỗng”

28

Trang 29

N

Trang 30

Ví dụ về khóa ngoại

30

Trang 31

Tính toàn vẹn do người dùng xác định

(User-defined integrity)

quy tắc nghiệp vụ của tổ chức mà không thuộc vào các loại toàn vẹn khác

thuộc vào mỗi DBMS

Trang 32

Quan hệ có cấu trúc tốt (Well-structured relation)

 Là một quan hệ có dư thừa dữ liệu là tối thiểu và cho phép người sử dụng thêm, xóa hay sửa đổi các bộ của quan hệ mà không bị sai hay mâu thuẫn dữ liệu (data inconsistency)

32

Trang 33

Bất thường dữ liệu (Data anomaly)

thừa dữ liệu

33

Trang 34

trong quan hệ, nếu nhân viên này được tăng lương

có duy nhất 1 nhân viên, nếu nhân viên này bị xóa

 Employee có phải là quan hệ cấu trúc tốt???Sửa lại

34

Employee(Emp_ID, Name, Dept_Name, Salary, CourseID)

Course (CourseID, Date_Completed)

Trang 35

Chuyển đổi từ ERD thành các quan hệ

Sự tương ứng với mô hình ER

một kiểu mối liên kết nhiều - nhiều

thể hiện mối liên kết nhiều - nhiều

cùng nghĩa với từ mối quan hệ (relationship) trong mô hình ER

35

Trang 36

Chuyển đổi từ ERD thành các quan hệ

Các bước chuyển từ ERD sang mô hình quan hệ

 Bước 1: chuyển đổi kiểu thực thể thông thường (regular

entity)

entity)

 Bước 2: Chuyển đổi kiểu thực thể yếu (weak entity) Bước 2: Chuyển đổi kiểu thực thể yếu (weak entity)

 Bước 3: Chuyển đổi mối liên kết 2 ngôi

 Bước 4: Chuyển đổi kiểu thực thể kết hợp

 Bước 5: chuyển đổi mối liên kết 1 ngôi

 Bước 6: chuyển đổi mối liên kết 3 ngôi

 Bước 7: chuyển đổi mối liên kết siêu kiểu / kiểu con

36

Trang 37

Bước 1: chuyển đổi kiểu thực thể thông thường (regular entity)

 Mỗi kiểu thực thể thông thường (không phải kiểu thực thể yếu) được chuyển thành 1 quan hệ (bảng) Khoá chính của kiểu thực thể trở thành khoá chính của bảng Các thuộc tính của kiểu thực thể trở thành các cột của bảng

Trang 38

Bước 1: chuyển đổi kiểu thực thể thông thường (regular entity)

thành các thuộc tính trong quan hệ

Trang 41

Bước 2: Chuyển đổi kiểu thực thể yếu (weak entity)

 Mỗi thực thể yếu chuyển thành 1 quan hệ Thuộc tính xác định của kiểu thực thể chủ được đưa vào như là 1 thuộc tính của quan hệ

 Khóa chính cuả quan hệ = thuộc tính xác định của thực thể chủ + thuộc tính xác định của thực thể yếu 41

Chuyển đổi từ ERD thành các quan hệ

Trang 43

Bước 3: Chuyển đổi mối liên kết 2 ngôi

phía 1 được đưa vào làm khoá ngoại của kiểu thực thể phía

M

43

Chuyển đổi từ ERD thành các quan hệ

Trang 44

CUSTOMER( Customer_ID , Customer_Name)

ORDER( Order_ID, Order_Date, Customer_ID)

Trang 45

Bước 3: Chuyển đổi mối liên kết 2 ngôi

chính của quan hệ mới bao gồm khóa chính của 2 quan hệ tương ứng với kiểu thực thể tham gia vào mối liên kết

45

Chuyển đổi từ ERD thành các quan hệ

Trang 46

MATERIAL( Material_ID , Cost)

SUPPLIES(Material_ID, Vendor_ID, Unit_Price)

VENDOR( Vendor_ID , Vendor_Name)

Trang 47

Bước 3: Chuyển đổi mối liên kết 2 ngôi

 Với mối liên kết 1-1: là 1 trường hợp đặc biệt của 1-M Khoá chính của 1 trong 2 quan hệ sẽ được đưa vào làm khoá ngoại của quan hệ kia

chính của kiểu thực thể bắt buộc vào làm khoá ngoại của quan hệ tương ứng với kiểu thực thể nhiệm ý

47

Chuyển đổi từ ERD thành các quan hệ

Trang 48

Hình 1.4.6 - Mô hình ER và mô hình quan hệ của vấn đề Người lái xe và bằng lái

Mô hình ER

Lược đồ CSDL

NGƯỜI LÁI XE (mã người lái xe, tên, địa chỉ, ngày sinh)

BẰNG LÁI(mã bằng lái, loại bằng lái, ngày hết hạn, mã người lái xe)

sở hữu được sở hữu bởi

NGƯỜI LÁI XE (mã người lái xe, tên, địa chỉ, ngày sinh, mã bằng lái)

BẰNG LÁI(mã bằng lái, loại bằng lái, ngày hết hạn)

hay

Ví dụ về quan hệ 1-1

Chuyển đổi từ ERD thành các quan hệ

Trang 49

Chuyển đổi từ ERD thành các quan hệ

Biến đổi mối liên kết hai ngôi có lượng số một - một

Trang 50

Bước 4: Chuyển đổi kiểu thực thể kết hợp

hợp

riêng, khoá chính của quan hệ mới bao gồm khoá chính của 2 quan hệ tương ứng với 2 kiểu thực thể có liên quan

thuộc tính này được dùng làm khoá chính cho quan hệ

Chuyển đổi từ ERD thành các quan hệ

Trang 51

Ví dụ về kiểu thực thể kết hợp

51

CUSTOMER(Customer_ID, Customer_Name, )

SHIPMENT(Shipment_No, Customer_ID, Vendor_ID,Date,…)

VENDOR( Vendor_ID, Address,… )

Trang 52

Bước 5: chuyển đổi mối liên kết 1 ngôi

mối liên kết này để tham chiếu đến các trị của khoá chính của quan hệ (khoá ngoại và khoá chính phải cùng miền trị)

52

Chuyển đổi từ ERD thành các quan hệ

Trang 53

Chuyển đổi từ ERD thành các quan hệ

Trang 54

Bước 5: chuyển đổi mối liên kết 1 ngôi

quan hệ:

 Một quan hệ diễn tả chính mối liên kết với khoá chính bao gồm 2 thuộc tính lấy từ khoá chính của quan hệ tương ứng

54

Chuyển đổi từ ERD thành các quan hệ

Trang 55

Ví dụ mối liên kết 1 ngôi M-N

55

ITEM(Item_No, Name, Unit_Cost)

CONTAINS(Item_No, Component_No, Quantity)

ITEM

Item_ID

Unit_Cost Name

Contains Quantity

Chuyển đổi từ ERD thành các quan hệ

Trang 56

Bước 6: chuyển đổi mối liên kết 3 ngôi

chuyển thành 4 quan hệ: 3 quan hệ cho 3 kiểu thực thể liên quan và 1 quan hệ cho mối liên kết

Trang 57

Bước 6: chuyển đổi mối liên kết 3 ngôi

“Mỗi kỹ sư dùng 1 case book khác nhau cho mỗi project mà họ tham gia Các kỹ sư không dùng chung case book khi làm cùng 1 project”

Eng_No, Proj_No  Book_NoBook_No, Proj_No  Eng_NoEng_No, Book_No  Proj_No

57

Chuyển đổi từ ERD thành các quan hệ

Trang 60

Bước 6: chuyển đổi mối liên kết 3 ngôi

“Sinh viên làm đề tài theo sự hướng dẫn của giáo sư Không giáo sư nào hướng dẫn cùng 1 sinh viên làm nhiều hơn 1 đề tài Không sinh viên nào làm 1 đề tài với nhiều hơn 1 giáo sư”

 3 kiểu thực thể: Teacher, Student, Project

 2 khoá candidate, có thể chọn 1 trong 2 khoá làm khoá chính

60

Chuyển đổi từ ERD thành các quan hệ

Trang 61

Ví dụ về quan hệ 3 ngôi 1:1:N

61

STUDENT(Stud_No,…) PROJECT(Proj_No,…) TEACHER(Tea_No,…)

SUPERVISES(Tea_No, Stud_No, Proj_No,…)

PROJECT

STUDENT

TEACHER

SupervisesChuyển đổi từ ERD thành các quan hệ

Trang 62

Bước 7: chuyển đổi mối liên kết siêu kiểu/ kiểu con

con

siêu kiểu cùng với thuộc tính riêng của từng kiểu con

62

Chuyển đổi từ ERD thành các quan hệ

Trang 63

EMPLOYEE

Address

Date_Hired Employee_Name

Hourly_Rate

Employee_No

Employee_Type

SALARIEDE MPLOYEE

SALARIEDE MPLOYEE

Ngày đăng: 04/07/2014, 22:20

HÌNH ẢNH LIÊN QUAN

Hình 1.4.6 - Mô hình ER và mô hình quan hệ của vấn đề Người lái xe và bằng lái 48 - Chương 4: MÔ HÌNH QUAN HỆ - RELATIONAL MODEL pptx
Hình 1.4.6 Mô hình ER và mô hình quan hệ của vấn đề Người lái xe và bằng lái 48 (Trang 48)

TỪ KHÓA LIÊN QUAN

w