Mô hình dữ liệu quan hệ (Relational Data Model) – Ths Thái Bảo Trân – Đh Công Nghệ Thông Tin

 SINHVIEN(MaSV,Hoten,Gioitinh,Noisinh,Malop)
 Tân từ: Mỗi sinh viên có một mã sinh viên để phân biệt với các sinh iên khác. Cần lưu trữ họ tên, giới tính, nơi sinh và thuộc lớp nào.
2.7 Lược đồ CSDLVí dụ: Lược đồ CSDL quản lý giáo vụ

Ví dụ: Lược đồ CSDL quản lý giáo vụ

Tân từ: mỗi sinh viên phân biệt với nhau bằng mã sinh viên, lưu trữ họ tên, ngày sinh, iới tính, nơi sinh, thuộc lớp nào.
LOP (MALOP, TENLOP, TRGLOP, SISO, MAGVCN)
Tân từ: mỗi lớp gồm có mã lớp, tên lớp, học viên làm lớp trưởng của lớp, sỉ số lớp và iáo viên chủ nhiệm.
KHOA (MAKHOA, TENKHOA, NGTLAP, TRGKHOA)
Tân từ: mỗi khoa cần lưu trữ mã khoa, tên khoa, ngày thành lập khoa và trưởng khoa
(cũng là một giáo viên thuộc khoa).
MONHOC (MAMH, TENMH, TCLT, TCTH, MAKHOA)
Tân từ: mỗi môn học cần lưu trữ tên môn học, số tín chỉ lý thuyết, số tín chỉ thực hành à khoa nào phụ trách.
DIEUKIEN (MAMH, MAMH_TRUOC)
Tân từ: có những môn học sinh viên phải có kiến thức từ một số môn học trước

 Là tập hợp gồm các lược đồ quan hệ và các mối liên hệ giữa chúng trong cùng một HT quản lý.SINHVIEN (MASV, HO, TEN, NGSINH, GIOITINH, NOISINH, MALOP)Tân từ: mỗi sinh viên phân biệt với nhau bằng mã sinh viên, lưu trữ họ tên, ngày sinh, iới tính, nơi sinh, thuộc lớp nào.LOP (MALOP, TENLOP, TRGLOP, SISO, MAGVCN)Tân từ: mỗi lớp gồm có mã lớp, tên lớp, học viên làm lớp trưởng của lớp, sỉ số lớp và iáo viên chủ nhiệm.KHOA (MAKHOA, TENKHOA, NGTLAP, TRGKHOA)Tân từ: mỗi khoa cần lưu trữ mã khoa, tên khoa, ngày thành lập khoa và trưởng khoa(cũng là một giáo viên thuộc khoa).MONHOC (MAMH, TENMH, TCLT, TCTH, MAKHOA)Tân từ: mỗi môn học cần lưu trữ tên môn học, số tín chỉ lý thuyết, số tín chỉ thực hành à khoa nào phụ trách.DIEUKIEN (MAMH, MAMH_TRUOC)Tân từ: có những môn học sinh viên phải có kiến thức từ một số môn học trước

GIAOVIEN(MAGV,HOTEN,HOCVI,HOCHAM,GIOITINH,NGSINH,NGVL,
HESO, MUCLUONG, MAKHOA)
Tân từ: mã giáo viên để phân biệt giữa các giáo viên, cần lưu trữ họ tên, học vị, ọc hàm, giới tính, ngày sinh, ngày vào làm, hệ số, mức lương và thuộc một khoa.
GIANGDAY(MALOP,MAMH,MAGV,HOCKY, NAM,TUNGAY,DENNGAY)
Tân từ: mỗi học kỳ của năm học sẽ phân công giảng dạy: lớp nào học môn gì do iáo viên nào phụ trách.
KETQUATHI (MASV, MAMH, LANTHI, NGTHI, DIEM, KQUA)
Tân từ: lưu trữ kết quả thi của sinh viên: sinh viên nào thi môn học gì, lần thi thứ mấy, gày thi là ngày nào, điểm thi bao nhiêu và kết quả là đạt hay không đạt.

 

Tóm tắt các ký hiệu

3. Ràng buộc toàn vẹn


 RBTV (Integrity Constraint) là những:
 Qui tắc,
 Điều kiện,
 Ràng buộc ần được thỏa mãn trong một thể hiện của CSDL uan hệ.
 RBTV được mô tả khi định nghĩa lược đồ quan hệ
 RBTV được kiểm tra khi các quan hệ có thay đổi
3.1 Siêu khóa (super key)
3.2 Khóa (key)
3.3 Khóa chính (primary key)
3.4 Tham chiếu
3.5 Khóa ngoại (foreign key)
3.1 Siêu khóa (super key)
 Siêu khóa: là một tập con các thuộc tính của Q+ à giá trị của chúng có thể phân biệt 2 bộ khác hau trong cùng một thể hiện TQ bất kỳ.

 Siêu khóa là tập các thuộc tính dùng để xác định ính duy nhất của mỗi bộ trong quan hệ
 Một quan hệ có ít nhất một siêu khóa (Q+) và có hể có nhiều siêu khóa.

 RBTV (Integrity Constraint) là những: Qui tắc, Điều kiện, Ràng buộc ần được thỏa mãn trong một thể hiện của CSDL uan hệ. RBTV được mô tả khi định nghĩa lược đồ quan hệ RBTV được kiểm tra khi các quan hệ có thay đổi3.1 Siêu khóa (super key)3.2 Khóa (key)3.3 Khóa chính (primary key)3.4 Tham chiếu3.5 Khóa ngoại (foreign key) Siêu khóa: là một tập con các thuộc tính của Q+ à giá trị của chúng có thể phân biệt 2 bộ khác hau trong cùng một thể hiện TQ bất kỳ. Siêu khóa là tập các thuộc tính dùng để xác định ính duy nhất của mỗi bộ trong quan hệ Một quan hệ có ít nhất một siêu khóa (Q+) và có hể có nhiều siêu khóa.

3.2 Khóa (key)
 Khóa: K là khóa của quan hệ R, thỏa mãn 2 điều kiện:
– K là một siêu khóa.
– K là siêu khóa “nhỏ nhất” (chứa ít thuộc tính nhất và hác rỗng) nghĩa là:

 Ví dụ 1: SINHVIEN (MASV, HOTEN, NGSINH, GIOITINH, NOISINH, MALOP)
 Các siêu khóa của quan hệ SINHVIEN là:
{MaSV};{MaSV,Hoten};{Hoten};{Hoten,Gioitinh};{Noisinh,Hoten};
{MaSV,Hoten,Gioitinh,Noisinh}…
 => Khóa của quan hệ SINHVIEN có thể là: {MaSV}; {Hoten}
 Ví dụ 2: GIANGDAY(MALOP,MAMH,MAGV,HOCKY, NAM,TUNGAY,DENNGAY)
 Khóa của quan hệ GIANGDAY là:
K={MaGV,MaMH,MaLop}
=> Thuộc tính khóa sẽ là: MaGV,MaMH,MaLop

 Khóa: K là khóa của quan hệ R, thỏa mãn 2 điều kiện:– K là một siêu khóa.– K là siêu khóa “nhỏ nhất” (chứa ít thuộc tính nhất và hác rỗng) nghĩa là: Thuộc tính tham gia vào một khóa gọi là thuộc tính hóa, ngược lại là thuộc tính không khóa. Ví dụ 1: SINHVIEN (MASV, HOTEN, NGSINH, GIOITINH, NOISINH, MALOP) Các siêu khóa của quan hệ SINHVIEN là:{MaSV};{MaSV,Hoten};{Hoten};{Hoten,Gioitinh};{Noisinh,Hoten};{MaSV,Hoten,Gioitinh,Noisinh}…=> Khóa của quan hệ SINHVIEN có thể là: {MaSV}; {Hoten} Ví dụ 2: GIANGDAY(MALOP,MAMH,MAGV,HOCKY, NAM,TUNGAY,DENNGAY) Khóa của quan hệ GIANGDAY là:K={MaGV,MaMH,MaLop}=> Thuộc tính khóa sẽ là: MaGV,MaMH,MaLop

Ví dụ: Các siêu khóa của quan hệ SINHVIEN là: {MaSV};{MaSV,Hoten};{Hoten};{Noisinh,Hoten}…

 Giá trị của khóa dùng để nhận biết một bộ trong uan hệ.
 Khóa là một đặc trưng của lược đồ quan hệ, hông phụ thuộc vào thể hiện quan hệ.
 Khóa được xây dựng dựa vào ý nghĩa của một số huộc tính trong quan hệ.
 Lược đồ quan hệ có thể có nhiều khóa.
3.3 Khóa chính (primary key)
 Định nghĩa: Khi cài đặt trên một DBMS cụ thể, ếu quan hệ có nhiều hơn một khóa, ta chỉ ược chọn một và gọi là khóa chính
 Ký hiệu: Các thuộc tính nằm trong khóa chính hi liệt kê trong quan hệ phải được gạch dưới.
 Ví dụ:
– SINHVIEN (MaSV,Hoten,Gioitinh,Noisinh,Malop)
– GIANGDAY(Magv,Mamh,Malop,Hocky,Nam)
3.4 Tham chiếu
 Một bộ trong quan hệ R, tại thuộc tính A nếu nhận một giá trị từ ột thuộc tính B của quan hệ S, ta gọi R tham chiếu S
– Bộ được tham chiếu phải tồn tại trước
3.5 Khóa ngoại
Xét 2 lược đồ R và S
 Gọi FK là tập thuộc tính khác rỗng của R
 FK là khóa ngoại (Foreign Key) của R khi:
 Các thuộc tính trong FK phải có cùng miền giá trị với ác thuộc tính khóa chính của S
 Giá trị tại FK của một bộ t1R
Hoặc bằng giá trị tại khóa chính của một bộ t2S
Hoặc bằng giá trị rỗng
 Ví dụ: Cho 2 quan hệ
LOP (Malop,Tenlop,Siso,Khoahoc)
SINHVIEN(MaSV,Hoten,Gioitinh,Noisinh,Malop)
 Thuộc tính Malop trong quan hệ LOP là khóa chính ủa quan hệ LOP.
 Thuộc tính Malop trong quan hệ SINHVIEN là khóa goại, tham chiếu đến Malop trong quan hệ LOP

Xét 2 lược đồ R và S Gọi FK là tập thuộc tính khác rỗng của R FK là khóa ngoại (Foreign Key) của R khi: Các thuộc tính trong FK phải có cùng miền giá trị với ác thuộc tính khóa chính của S Giá trị tại FK của một bộ t1RHoặc bằng giá trị tại khóa chính của một bộ t2SHoặc bằng giá trị rỗng Ví dụ: Cho 2 quan hệLOP (Malop,Tenlop,Siso,Khoahoc)SINHVIEN(MaSV,Hoten,Gioitinh,Noisinh,Malop) Thuộc tính Malop trong quan hệ LOP là khóa chính ủa quan hệ LOP. Thuộc tính Malop trong quan hệ SINHVIEN là khóa goại, tham chiếu đến Malop trong quan hệ LOP

Nhận xét
 Trong một lược đồ quan hệ, một thuộc tính vừa có thể tham gia ào khóa chính, vừa tham gia vào khóa ngoại.
 Khóa ngoại có thể tham chiếu đến khóa chính trên cùng một lược ồ quan hệ.
 Có thể có nhiều khóa ngoại tham chiếu đến cùng một khóa chính.
 Ràng buộc tham chiếu = Ràng buộc khóa ngoại
 Ví dụ:

4. Các đặc trưng của quan hệ


 Thứ tự các bộ trong quan hệ là không quan trọng

 Thứ tự các bộ trong quan hệ là không quan trọng

 Thứ tự giữa các giá trị trong một bộ là quan trọng

 Mỗi giá trị trong một bộ
– Hoặc là một giá trị nguyên tố
– Hoặc là một giá trị rỗng (null)
 Không có bộ nào trùng nhau

5. Chuyển đổi ERD quan hệ
 B1: Chuyển đổi các tập thực thể thành các lược đồ uan hệ
 B2: Chuyển đổi các mối quan hệ:
 Một – Một
 Một – Nhiều
 Nhiều – Nhiều
 B3: Chuyển đổi các tập thực thể yếu thành các quan hệ
 B4: Chuyển đổi thuộc tính đa trị thành một quan hệ
 B4: Chuyển đổi mối quan hệ đa ngôi thành một quan hệ

B1) Các tập thực thể (trừ tập thực thể yếu): Chuyển thành các quan hệ có cùng tên và tập thuộc tính

B1) Các tập thực thể (trừ tập thực thể yếu): Chuyển thành các quan hệ có cùng tên và tập thuộc tính

B2) Chuyển đổi mối quan hệ: Một-Một
– Hoặc thêm vào quan hệ này thuộc tính khóa của quan hệ kia
– Hoặc thêm thuộc tính khóa vào cả 2 quan hệ

B2) Chuyển đổi mối quan hệ: Một-Một– Hoặc thêm vào quan hệ này thuộc tính khóa của quan hệ kia– Hoặc thêm thuộc tính khóa vào cả 2 quan hệ

B2) Mối quan hệ: Một-Nhiều Thêm vào quan-hệ-một thuộc tính khóa của quan-hệ-nhiều

B2) Mối quan hệ: Một-Nhiều Thêm vào quan-hệ-một thuộc tính khóa của quan-hệ-nhiều

B2) Mối quan hệ: Nhiều-Nhiều Tạo một quan hệ mới có:

B2) Mối quan hệ: Nhiều-Nhiều Tạo một quan hệ mới có:

 Tên quan hệ là tên của mối quan hệ

B3) Thực thể yếu Chuyển thành một quan hệ:

B3) Thực thể yếu Chuyển thành một quan hệ:

Có cùng tên với thực thể yếu

Thêm vào thuộc tính khóa của quan hệ liên quan

B4) Thuộc tính đa trị
Chuyển thành một quan hệ:
 Có cùng tên với thuộc tính đa trị
 Thuộc tính khóa của quan hệ này là khóa ngoài của uan hệ chứa thuộc tính đa trị

B4) Thuộc tính đa trịChuyển thành một quan hệ: Có cùng tên với thuộc tính đa trị Thuộc tính khóa của quan hệ này là khóa ngoài của uan hệ chứa thuộc tính đa trị

B5) Liên kết đa ngôi (n>2)
Chuyển thành một quan hệ:
 Có cùng tên với tên mối liên kết đa ngôi
 Khóa chính là tổ hợp các khóa của tập các thực thể ham gia liên kết

B5) Liên kết đa ngôi (n>2)Chuyển thành một quan hệ: Có cùng tên với tên mối liên kết đa ngôi Khóa chính là tổ hợp các khóa của tập các thực thể ham gia liên kết

 Thuộc tính là những thuộc tính khóa của các tập thực thể liên quanTổng kết

Ví dụ: Chuyển đổi mô hình E-R sau thành mô hình quan hệ:

 SINH VIÊN (Mã SV, Họ tên SV, Địa chỉ, NTTN, Mã lớp)
 LỚP (Mã lớp, Tên lớp, Sĩ số, Mã khoa)
 KHOA (Mã khoa, Tên khoa, Ngày thành lập)

Ví dụ: Chuyển đổi mô hình E-R sau thành mô hình quan hệ:Ví dụ 1: SINH VIÊN (Mã SV, Họ tên SV, Địa chỉ, NTTN, Mã lớp) LỚP (Mã lớp, Tên lớp, Sĩ số, Mã khoa) KHOA (Mã khoa, Tên khoa, Ngày thành lập)

 

Xem thêm Cơ Sở Dữ Liệu – Đh Công Nghệ Thông Tin – Ths Thái Bảo Trân

 Thứ tự giữa các giá trị trong một bộ là quan trọng

 Trong một lược đồ quan hệ, một thuộc tính vừa có thể tham gia ào khóa chính, vừa tham gia vào khóa ngoại. Khóa ngoại có thể tham chiếu đến khóa chính trên cùng một lược ồ quan hệ. Có thể có nhiều khóa ngoại tham chiếu đến cùng một khóa chính. Ràng buộc tham chiếu = Ràng buộc khóa ngoại Ví dụ:

Nhận xét Giá trị của khóa dùng để nhận biết một bộ trong uan hệ. Khóa là một đặc trưng của lược đồ quan hệ, hông phụ thuộc vào thể hiện quan hệ. Khóa được xây dựng dựa vào ý nghĩa của một số huộc tính trong quan hệ. Lược đồ quan hệ có thể có nhiều khóa. Định nghĩa: Khi cài đặt trên một DBMS cụ thể, ếu quan hệ có nhiều hơn một khóa, ta chỉ ược chọn một và gọi là khóa chính Ký hiệu: Các thuộc tính nằm trong khóa chính hi liệt kê trong quan hệ phải được gạch dưới. Ví dụ:– SINHVIEN (MaSV,Hoten,Gioitinh,Noisinh,Malop)– GIANGDAY(Magv,Mamh,Malop,Hocky,Nam) Một bộ trong quan hệ R, tại thuộc tính A nếu nhận một giá trị từ ột thuộc tính B của quan hệ S, ta gọi R tham chiếu S– Bộ được tham chiếu phải tồn tại trước

Ví dụ 2: Lược đồ quan hệ SINHVIEN SINHVIEN(MaSV,Hoten,Gioitinh,Noisinh,Malop) Tân từ: Mỗi sinh viên có một mã sinh viên để phân biệt với các sinh iên khác. Cần lưu trữ họ tên, giới tính, nơi sinh và thuộc lớp nào.