Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 21

Chương 3

MÔ HÌNH QUAN HỆ
Nội dung
I. Quan hệ - Lược đồ quan hệ
II. Khoá của quan hệ
III. Chuyển mô hình E-R sang mô
hình quan hệ

2
I. Quan hệ - Lược đồ quan hệ
1. Quan hệ (Relation)
 Là bảng mà không có dòng nào giống nhau, mỗi
dòng của bảng được gọi là bộ (tuple) và mỗi cột của
bảng được ký hiệu bằng một tên được gọi là thuộc
tính của quan hệ.
Ví dụ: Xét quan hệ có tên là NHANVIEN
1 cột là 1 thuộc tính của nhân viên
TENNV HONV NGSINH DCHI PHAI LUONG PHG

Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5


Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 4
Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4
Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 5

1 dòng là 1 nhân viên (Hay là một bộ)


Nếu gọi Dom(Ai) là tập các giá trị có thể có của Ai (miền trị của
Ai), i=1..n. Thì quan hệ r trên tập thuộc tính {A1, A2, …, An}:
rDom(A ) x Dom(A ) x … x Dom(A ) 3
2. Lược đồ quan hệ (Relational Schema)
 Tập tất cả các thuộc tính cần quản lý của một đối tượng cùng mối liên hệ giữa
chúng được gọi là lược đồ quan hệ.
 Lược đồ quan hệ R với tập thuộc tính U={A1,A2,…,An} và tập ràng buộc SCU
được viết là R=<U,SC> hay viết tắt là R(A1,A2,...,An)
Ví dụ:
Sinhvien = <U, SC>
U = {MaSV, Hoten, Ngaysinh}
SC: MaSV xác định duy nhất (khoá của Sinhvien)

4
2. Lược đồ quan hệ…
 Một tập các lược đồ quan hệ trong một hệ thống
thông tin thì được gọi là một mô hình cơ sở dữ liệu
quan hệ (có thể được gọi tắt là mô hình quan hệ,
hay: lược đồ cơ sở dữ liệu quan hệ). DiemHP
Khoa #MaSV
Ví dụ: #MaKhoa #MaMH
TenKhoa Diem
SDT
MaTrK SinhVien
#MaSV
HoTen MH
NgSinh #MaMH
QueQuan TenMH
MaLop
Lop
#MaLop
TenLop Day GiaoVien
SiSo MaGV #MaGV
MaKhoa #MaLop HoTen
#MaMH SDT
ThuocKhoa
5
2. Lược đồ quan hệ…

 Tập hợp các quan hệ (hiện hành) của các lược đồ


quan hệ trong một mô hình quan hệ thì được gọi là
cơ sở dữ liệu quan hệ.
Ví dụ:
MaPhong TenPhong
4 Phòng Kế Toán
5 Phòng Hành Chính

6
II. Khoá của quan hệ
1. Định nghĩa
 Cho quan hệ r của lược đồ quan hệ R với tập thuộc
tính U = {A1, A2, …, An}.
 Tập K  U (K) được gọi là khoá của r nếu nó
thoả mãn cả 2 điều kiện:
- Với mọi bộ tr đều có giá trị khác nhau trên K, khi đó K
được gọi là siêu khoá của r.
- K’  K (tập con thực sự của K): K’ là siêu khoá của r.
Ví dụ: Cho r= A B C r có 2 khoá là: {A}
a b b và {B,C}
b b a
c a a 7
II. Khoá của quan hệ…
 Nhận xét:
- X được gọi là khoá của lược đồ quan hệ R nếu X là khoá
của mọi quan hệ r trên lược đồ quan hệ R.
- Giá trị của khóa dùng để nhận biết một bộ trong quan hệ
- Khóa được xây dựng dựa vào ý nghĩa của một số thuộc
tính trong quan hệ
- Lược đồ quan hệ có thể có nhiều khóa

8
II. Khoá của quan hệ…
2. Khoá chính (Primary key) của một lược đồ
quan hệ:
 Một lược đồ quan hệ phải có đúng một khóa chính
do người thiết kế cơ sở dữ liệu quy ước.
 Khóa chính của một lược đồ quan hệ thường được
sử dụng cho việc tham chiếu dữ liệu.
 Các thuộc tính khóa chính phải có giá trị khác null
 Ta ký hiệu # ở ngay trước tên các thuộc tính của
khóa chính
Ví dụ: Lop
#MaLop
TenLop
9
II. Khoá của quan hệ…
3. Khóa ngoài (foreign key) của một lược đồ
quan hệ:
 Cho 2 lược đồ quan hệ R,S. Gọi PK là khoá chính
của S. Xét FK là tập các thuộc tính khác rỗng của R.
Khi đó, ta gọi FK là khoá ngoài của lược đồ quan hệ
R tham chiếu đến S nếu cơ sở dữ liệu luôn thỏa
mãn 2 điều kiện sau:
- Miền trị của FK là trùng với miền trị của PK.
- Giá trị của FK hoặc là NULL hoặc phải bằng một giá trị
hiện có nào đó của PK.
Ví dụ: SinhVien Lop
#MaSV #MaLop Khóa chính
HoTen TenLop
NgaySinh
Khóa ngoài HocTai 10
III.Chuyển đổi mô hình E-R sang mô hình quan hệ

Bước 1: Chuyển đổi các tập thực thể thành các


lược đồ quan hệ
 Mỗi tập thực thể E được chuyển thành lược đồ
quan hệ R có cùng tên và cùng tập thuộc tính.

MaSV SinhVien
HoTen #MaSV
Sinhvien
HoTen
Ngaysinh Ngaysinh

11
III. Chuyển đổi …
 Lưu ý: Nếu E có thuộc tính đa trị A thì trong lược đồ
quan hệ, phải tạo thêm lược đồ quan hệ mới S để
biểu diễn thuộc tính đa trị này. Trong đó:
- US = {PKR, A}
- S có khoá ngoài là PKS tham chiếu đến PKR của R.

MaSV SinhVien SoThich


HoTen #MaSV #MaSV
Sinhvien
HoTen #SoThich
Sothich

12
III. Chuyển đổi …
Bước 2: Chuyển đổi mối quan hệ Is – a
IdNguoi
HoTen
Nguoi
NgaySinh
DTB Luong

HB SinhVien GiaoVien BienChe

Có 2 cách chuyển đổi:


C1: Không sử dụng lược đồ quan hệ biễu diễn lớp cha
SinhVien GiaoVien
#MaSV #MaGV
HoTen HoTen
NgaySinh NgaySinh
DTB Luong
HB BienChe
13
III. Chuyển đổi …
Bước 2: Chuyển đổi mối quan hệ Is – a
IdNguoi
HoTen
Nguoi
NgaySinh
DTB Luong

HB SinhVien GiaoVien BienChe

Có 2 cách chuyển đổi:


C2: Bổ sung khoá ngoài cho các lược đồ quan hệ biễu diễn lớp con
SinhVien Nguoi GiaoVien
#MaSV #IdNguoi #MaGV
DTB HoTen Luong
HB NgaySinh BienChe

14
III. Chuyển đổi …
Bước 3: Chuyển đổi mối quan hệ nhị nguyên 1-1
 Bổ sung khoá ngoài cho một trong hai lược đồ quan
hệ
MaGV
MaLop
(0,1) (1,1)
HT GiaoVien ChuNhiem Lop
TenLop
NS

GiaoVien Lop
#MaGV #MaLop
HT TenLop
NS MaGVCN

15
III. Chuyển đổi …
Bước 4: Chuyển đổi mối quan hệ nhị nguyên 1-n
 Bổ sung khoá ngoài cho lược đồ quan hệ tương ứng
với “phía nhiều”.

MaSV (1,1) (n, n) MaLop


HT SinhVien HocTai Lop
NS TenLop

SinhVien Lop
#MaSV #MaLop
HT TenLop
NS
MaLop
16
III. Chuyển đổi …
Bước 5: Chuyển đổi mối quan hệ nhị nguyên n-n
 Tạo một quan hệ mới có:
- Tên quan hệ là tên của mối quan hệ
- Thuộc tính là những thuộc tính khóa của các tập thực
thể liên quan và thuộc tính của mối quan hệ

GiaoVien Day MH
#MaGV #MaGV #MaMH
HT #MaMH TenMH
NS Nam
III. Chuyển đổi …
Bước 6: Chuyển đổi mối quan hệ phản xạ
 Được thực hiện tương tự như việc chuyển đổi mối
quan hệ nhị nguyên 1-1, 1-n, n-n
Id_Nguoi Vo(0,1)
HT
1-1 NS
Nguoi
Chong(0,1)
KetHon

Nguoi
#Id_Nguoi
HT
NS
Id_VoChong
18
III. Chuyển đổi …
Bước 6: Chuyển đổi mối quan hệ phản xạ

Id_Nguoi Con(0,1)
HT
1-n NS
Nguoi
Bo(0,1)
Lacha

Nguoi
#Id_Nguoi
HT
NS
Id_Bo

19
III. Chuyển đổi …
Bước 6: Chuyển đổi mối quan hệ phản xạ

Id_Nguoi YeuAi(0,1)
HT
n-n
TG
Nguoi Yeu
NS
AiYeu(0,1)

Nguoi Yeu
#Id_Nguoi #Id_YeuAi
HT #Id_AiYeu
NS TG

20
III. Chuyển đổi …
Bước 7: Chuyển đổi mối quan hệ đa nguyên
 Tương tự như phương pháp chuyển đổi mối quan
NamHoc
hệ nhị nguyên n-n.
MaGV
(n,n) (n,n) MaMH
HT
GiaoVien Day MH TenMH
NS
(n,n)
MaLop
Lop TenLop
Lop
#MaLop Day
TenLop GiaoVien
MaGV
#MaGV
#MaLop
MH HT
#MaMH
#MaMH NS
NamHoc
TenMH 21

You might also like