Quan hệ - Lược đồ quan hệ 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
Trang 1Chương 3
MÔ HÌNH QUAN HỆ
Trang 2Nộ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ệ
Trang 31 cột là 1 thuộc tính của nhân viên
1 dòng là 1 nhân viên (Hay là một bộ)
I Quan hệ - Lược đồ quan hệ
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ệ
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
Ví dụ: Xét quan hệ có tên là NHANVIEN
1 Quan hệ (Relation)
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}:
Trang 42 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)
Trang 52 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ệ).
Ví dụ:
GiaoVien
#MaGV HoTen SDT ThuocKhoa
Lop
#MaLop TenLop SiSo MaKhoa
Khoa
#MaKhoa TenKhoa SDT MaTrK SinhVien
#MaSV HoTen NgSinh QueQuan MaLop
DiemHP
#MaSV
#MaMH Diem
Trang 7II Khoá của quan hệ
- 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}
Trang 8II 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
Trang 9II 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
#MaLop TenLop
Trang 10II 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.
Trang 11III.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
Sinhvien
MaSV HoTen Ngaysinh
SinhVien
#MaSV HoTen Ngaysinh
Trang 12III 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.
Sinhvien
MaSV HoTen Sothich
SinhVien
#MaSV HoTen
SoThich
#MaSV
#SoThich
Trang 13III Chuyển đổi …
Bước 2: Chuyển đổi mối quan hệ Is – a
Nguoi
DTB HB
Luong BienChe
IdNguoi HoTen NgaySinh
SinhVien
#MaSV HoTen NgaySinh DTB
HB
GiaoVien
#MaGV HoTen NgaySinh Luong BienChe
Có 2 cách chuyển đổi:
Trang 14III Chuyển đổi …
Bước 2: Chuyển đổi mối quan hệ Is – a
Nguoi
DTB HB
Luong BienChe
IdNguoi HoTen NgaySinh
Có 2 cách chuyển đổi:
SinhVien
#MaSV #IdNguoiNguoi GiaoVien#MaGV
Trang 15III 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ệ
NS
Lop
#MaLop TenLop MaGVCN
Trang 16III 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
HT
NS
MaLop TenLop
Trang 17III 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ệ
Trang 18III 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
Nguoi
#Id_Nguoi
1-1
Trang 19III Chuyển đổi …
Bước 6: Chuyển đổi mối quan hệ phản xạ
Nguoi
#Id_Nguoi HT
NS Id_Bo
1-n
Trang 20III Chuyển đổi …
Bước 6: Chuyển đổi mối quan hệ phản xạ
Trang 21III 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
Lop
MaLop TenLop (n,n)
GiaoVien
#MaGV HT
MH
#MaMH
Lop
#MaLop TenLop