Tải bản đầy đủ (.pdf) (37 trang)

Bài giảng cơ sở dữ liệu chương 3 mô hình dữ liệu quan hệ

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.25 MB, 37 trang )

Chương 3
Mô hình dữ liệu quan hệ
(The Relational Database Model)

1


Quá trình thiết kế CSDL
DBMS

Bài
toán
Thực tế

Mô hình
E-R

Mô hình
CSDL
Quan hệ
DB

2


Giới thiệu
 Mô hình Cơ sở dữ liệu Quan hệ (gọi tắt là Mô hình Quan hệ)
do E.F Codd đề xuất năm 1971.
 Mô hình Quan hệ thể hiện dữ liệu dưới góc độ logic. Cung
cấp một cấu trúc dữ liệu đơn giản và đồng bộ.
 Các Hệ quản trị CSDL quan hệ (RDBMS) được xây dựng dựa


trên lý thuyết mô hình quan hệ.

3


Giới thiệu
 Mô hình này bao gồm:
• Các khái niệm nhằm mô tả dữ liệu dưới dạng dòng và cột
như quan hệ, bộ, thuộc tính, khóa chính, khoá ngoại, ...
• Các phép toán thao tác với dữ liệu: Đại số quan hệ.
• Ràng buộc toàn vẹn quan hệ.

4


Quan hệ (Relation)
• Các thông tin lưu trữ trong CSDL được tổ chức thành bảng
(table) 2 chiều gọi là quan hệ

5


Quan hệ (Relation)
Quan hệ (thể hiện cho một tập thực thể) gồm:
- Tên của quan hệ: NHANVIEN.
- Tập hợp các cột (thể hiện các thuộc tính): Cố định, được đặt tên, có kiểu
dữ liệu riêng.
- Tập hợp các dòng (thể hiện một thực thể): có tính chất thay đổi theo
thời gian.
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

Tên quan hệ là NHANVIEN
6


Thuộc tính (Attribute)
 Tên các cột của quan hệ.
 Mô tả ý nghĩa cho các giá trị tại cột đó.
 Tất cả các dữ liệu trong cùng 1 một cột đều có chung một
kiểu dữ liệu.

Thuộc tính

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

7


Bộ (Tuple)
• Là các dòng của quan hệ (trừ dòng tiêu đề - tên của các thuộc
tính).
• Thể hiện dữ liệu cụ thể của các thuộc tính trong quan hệ.

<Tung, Nguyen, 12/08/1955, 638 NVC, Q5, Nam, 40000, 5>
Dữ liệu cụ thể
của thuộc tính

8


Bộ (Tuple)
* Thứ tự các bộ trong quan hệ là không quan trọng
HONV

TENNV

NGSINH

DCHI


PHAI

LUONG

PHG

Nguyen

Tung

12/08/1955

638 NVC Q5

Nam

40000

5

Bui

Hang

07/19/1968

332 NTH Q1

Nu


25000

4

Le

Nhu

06/20/1951

291 HVH QPN

Nu

43000

4

Nguyen

Hung

09/15/1962

null

Nam

38000


5

• Thứ tự giữa các giá trị trong một bộ là quan trọng
Bộ <Nguyen, Tung, 12/08/1955, 638 NVC Q5, Nam, 40000, 5>
khác
Bộ <Nguyen, Tung, 12/08/1955, 638 NVC Q5, 40000, Nam, 5>

9


Bộ (Tuple)
- 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.

10


Lược đồ (relation schema)
 Lược đồ quan hệ:
 Ký hiệu: R(A1, A2,..., An)
 R: Tên của quan hệ.
 A1, A2,…, An: Danh sách các thuộc tính của quan hệ.

Lược đồ quan hệ

NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHG)

Tập hợp các thuộc tính

11


Lược đồ (relation schema)
- Mỗi lược đồ quan hệ luôn kèm một tân từ để diễn tả ý
nghĩa của nó.
Ví dụ:
 Tân từ:
Mỗi Sinh viên thuộc một khoa, học một môn học thì có kết
quả thi môn học đó.
 Ký hiệu:
Ketqua( MASV, MAMH, MAKHOA, DIEMTHI)

12


Lược đồ (relation schema)
- Lược đồ Cơ sở dữ liệu : Tập hợp các lược đồ quan hệ trong
cùng một Cơ sở dữ liệu.
Lược đồ CSDL

NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHG)
PHONGBAN(MAPHG, TENPHG, TRPHG, NG_NHANCHUC)
DIADIEM_PHG(MAPHG, DIADIEM)
THANNHAN(MA_NVIEN, TENTN, PHAI, NGSINH, QUANHE)
DEAN(TENDA, MADA, DDIEM_DA, PHONG)

13



Kiểu dữ liệu và Miền giá trị (Domain)
- Các thuộc tính được phân biệt qua tên gọi và phải thuộc vào một
kiểu dữ liệu nhất đònh (số, chuỗi, ngày tháng, logic, hình ảnh,…).
Kiểu dữ liệu ở đây là kiểu đơn. Trong cùng một đối tượng không
được có hai thuộc tính cùng tên.
-Thông thường mỗi thuộc tính chỉ chọn lấy giá trò trong một tập con
của kiểu dữ liệu và tập hợp con đó gọi là miền giá trò của thuộc tính
đó.
- Ví dụ :
Thuộc tính ngày trong tháng thì có kiểu dữ liệu là số nguyên,
miền giá trò của nó là 1 đến (tối đa là) 31.
Điểm thi của sinh viên chỉ là các số nguyên từ 0 đến 10.
Họ tên: Tập hợp các dãy chữ cái có độ dài <= 30.
Tuổi: Tậ p các số ngun nằm trong khoảng từ 1 đến 80.
Giới tính: Tập hợp gồm hai giá trị “Nam”, “N ữ”.
14


Ký hiệu
• Lược đồ quan hệ
– Cho A1, A2, …, An là các thuộc tính
– Có các miền giá trị D1, D2, …, Dn tương ứng
– Ta có:
Ký hiệu: R(A1:D1, A2:D2, …, An:Dn) là một lược đồ quan hệ.
Bậc của lược đồ quan hệ là số lượng thuộc tính trong lược đồ
Ví dụ:
NHANVIEN(MANV:integer, TENNV:string, HONV:string,
NGSINH:date, DCHI:string, PHAI:string, LUONG:integer, PHONG:integer)

 NHANVIEN là một lược đồ bậc 8 mô tả đối tượng nhân

viên
 MANV là một thuộc tính có miền giá trị là số nguyên
 TENNV là một thuộc tính có miền giá trị là chuỗi ký tự15


Ký hiệu
- Một quan hệ r của lược đồ quan hệ R(A1, A2, …, An),
ký hiệu r(R), là một tập các bộ r = {t1, t2, …, tk}
-Trong đó mỗi ti là 1 danh sách có thứ tự của n giá trị
ti=<v1, v2, …, vn>
-Mỗi vj là một phần tử của miền giá trị DOM(Aj) hoặc giá trị rỗng.
- Giá trị thứ i của bộ t, tương ứng với thuộc tính Ai được ký hiệu là
t[Ai] .
TENNV

HONV

NGSINH

DCHI

PHAI

LUONG

PHG

t1

Tung


Nguyen

12/08/1955

638 NVC Q5

Nam

40000

5

t2

Hang

Bui

07/19/1968

332 NTH Q1

Nu

25000

4

t3


Nhu

Le

06/20/1951

291 HVH QPN

Nu

43000

4

t4

Hung

Nguyen

09/15/1962

null

Nam

38000

5


vi

16


Khóa (Key)
Gọi S là một tập các thuộc tính của lược đồ quan hệ R.
 S được gọi là một siêu khóa (superkey) của lược đồ quan hệ
R, nếu với hai bộ bất kỳ trong R thì giá trị của các thuộc tính
trong S là khác nhau.

17


Khóa (Key)
* Lược đồ:

Monhoc(Mamon, Tenmon, Sotiet)

* Quan hệ:

rMonhoc
Mamon
THVP
LTC
CSDL1
CSDL2

Tenmon

Tin hoc văn phòng
Lập trình C
Co so du lieu
Co so du lieu

Sotiet
30
60
45
45

Siêu khóa: {Mamon}, {Mamon, Tenmon}, {Mamon, Sotiet},
{Mamon, Tenmon, Sotiet}
18


Khóa (Key)
* Lược đồ:

Ketqua(MaSV, MaMH, Makhoa, Diemthi)

* Quan hệ:

rKetqua
MaSV
99001
99002
99001
99005


MaMH
CSDL
CSDL
THVP
THVP

Makhoa
CNTT
CNTT
CNTT
AV

Diemthi
3.0
8.0
6.0
5.0

Siêu khóa: {MaSV, MaMH}, {MaSV,MaMH,Makhoa},…

19


Khóa (Key)
* Lược đồ:
* Quan hệ:

MaSV

Sinhvien(MaSV, Hoten, Phai, soCMND)

rSinhvien

Hoten

Phai

soCMND

99001 Nguyen van anh

Nam 01245012

99002 Tran Le Tuan

Nam 02209875

99003 Nguyen Thi Hong Nu
99004 Do van Thuan

04563711

Nam

Siêu khóa : {MaSV} , {MaSV, Hoten}, … ,
{soCMND} , {soCMND, Hoten},…
20


Khóa (Key)
Gọi S là một tập các thuộc tính của lược đồ quan hệ R.

 Siêu khoá có ít thuộc tính nhất được gọi là khóa (Primary
key) hay khóa dự tuyển (candidate key). Một lược đồ quan hệ
có thể có nhiều khóa (khóa dự tuyển).
 Một khóa được chọn để cài đặt gọi là khóa chính (primary
key). Không chứa giá trị NULL.
 Khóa phức (composite key) là khóa chính có nhiều hơn một
thuộc tính

21


Khóa (Key)
* Lược đồ:
* Quan hệ:

MaSV

Sinhvien(MaSV, Hoten, Phai, soCMND)
rSinhvien

Hoten

Phai

soCMND

99001 Nguyen van anh

Nam 01245012


99002 Tran Le Tuan

Nam 02209875

99003 Nguyen Thi Hong Nu
99004 Do van Thuan

04563711

Nam

Siêu khóa : {MaSV} , {MaSV, Hoten}, … ,
{soCMND} , {soCMND, Hoten},…
Khóa (khóa dự tuyển): {MaSV} , {soCMND}
Khóa chính : {MaSV}

22


Khóa (Key)
* Lược đồ:

Monhoc(Mamon, Tenmon, Sotiet)

* Quan hệ:

rMonhoc
Mamon
THVP
LTC

CSDL1
CSDL2

Tenmon
Tin hoc văn phòng
Lập trình C
Co so du lieu
Co so du lieu

Sotiet
30
60
45
45

Siêu khóa : {Mamon}, {Mamon, Tenmon}, {Mamon, Sotiet},
{Mamon, Tenmon, Sotiet}
Khóa (khóa dự tuyển, khóa chính) : {Mamon}

23


Khóa (Key)
* Lược đồ:

Ketqua(MaSV, MaMH, Makhoa, Diemthi)

* Quan hệ:

rKetqua

MaSV
99001
99002
99001
99005

MaMH
CSDL
CSDL
THVP
THVP

Makhoa
CNTT
CNTT
CNTT
AV

Diemthi
3.0
8.0
6.0
5.0

Siêu khóa: {MaSV, MaMH}, {MaSV,MaMH,Makhoa},…
Khóa (khóa dự tuyển, khóa chính , khóa phức): {MaSV, MaMH}
24


Khóa chính (Primary key)

 Tính chất:
- Khóa chính là cơ sở để nhận biết các bộ.
- Các thuộc tính khóa chính phải có giá trị khác null.
- Các thuộc tính khóa chính thường được gạch dưới.
 Ký hiệu:

NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHONG)

25


×