Dept. of IS - FIT - HNUE
CHƯƠN II. MƠ HÌNH DỮ LIỆU QUAN HỆ
(RELATIONAL DATABASE MODEL)
TS. Lê Thị Tú Kiên
/>
Information Systems – FIT – HNUE
Giới thiệu
Nhiều hệ quản trị cơ sở dữ liệu dùng mơ hình CSDL quan hệ:
Oracle, SQL server, …
Mơ
hình này dựa trên cơ sở bản ghi
CSDL
Khuôn
Dữ
là tập hợp các bảng, mỗi bảng là tập các bản ghi
dạng của các bản ghi là cố định (hiếm khi thay đổi)
liệu được mô tả ở mức logic, không mô tả ở mức vật lý
Dept. of IS - FIT - HNUE
Nội dung
1.
Các khái niệm cơ bản
2.
Khóa của quan hệ
3.
Các thao tác cơ bản trên các quan hệ
Dept. of IS - FIT - HNUE
1. Các khái niệm cơ bản
Quan hệ (Relation)
Thuộc tính (Attribute)
Bộ (Tuple)
Miền (Domain)
Lược đồ quan hệ (Relation scheme)
Các tính chất đặc trưng của một quan hệ
Dept. of IS - FIT - HNUE
Quan hệ (relation)
Mỗi quan hệ là một bảng giá trị gồm các hàng và cột
biểu diễn thông tin của một thực thể hay một mối quan hệ
trong thế giới thực
Cột: thể hiện một thuộc tính của thực thể
Hàng:
Mỗi CSDL là một tập các quan hệ
Dept. of IS - FIT - HNUE
Quan hệ (relation)
Ví dụ quan hệ
nhan_vien
MANV
HO_TEN
NGAY_SINH
GIOI_TINH
MADV
LUONG
CMND
1
Phạm Văn Bình
30/04/1975
Nam
P1
1 500 000
1417589987
2
Hồng Lê Chi
28/03/1961
Nam
P2
2 300 000
1417894532
3
Nguyễn Thu Cúc
12/06/1955
Nữ
P1
1 700 000
1563298211
4
Lê Trần Dũng
10/09/1978
Nam
P4
3 100 000
1518987219
8
Phan Ái Khanh
15/08/1970
Nữ
P3
3 100 000
1718897245
10
Thân Như Thơ
21/11/1974
Nam
P1
2 500 000
1718987215
Dept. of IS - FIT - HNUE
Quan hệ (relation)
Ví dụ quan hệ
phong
MADV
TEN_PHONG
MATP
P1
Hành chính quản trị
10
P2
Nghiên cứu và phát triển
2
P3
Giám đốc
8
P4
Kĩ thuật
4
Dept. of IS - FIT - HNUE
Thuộc tính
Mỗi quan hệ có một số thuộc tính
Mỗi
thuộc tính là tên của một cột
Mỗi thuộc tính có một Miền chỉ ra tập các giá trị của thuộc tính
Dept. of IS - FIT - HNUE
Thuộc tính
Ví dụ, quan hệ phong có 3 thuộc tính: MADV, TEN_PHONG, MATP
Miền của MADV: tập các chuỗi có 2 kí tự, bắt đầu bằng chữ P
Miền của TEN_PHONG: tập các chuỗi có tối đa 30 kí tự
Miền của MATP: tập các số tự nhiên thuộc khoảng [0,1000]
Thuộc tính
phong
MADV
TEN_PHONG
MATP
P1
Hành chính quản trị
10
P2
Nghiên cứu và phát triển
2
P3
Giám đốc
8
P4
Kĩ thuật Dept. of IS - FIT - HNUE 4
Bộ (tuple)
Mỗi dòng trong một quan hệ được gọi là một bộ
Kích
thước cố định, là một danh sách có thứ tự của các giá trị
Một biến bộ có thể tham chiếu đến bất kì một bộ hợp lệ nào
trong quan hệ
Dept. of IS - FIT - HNUE
Bộ (tuple)
Ví dụ
Biến
bộ t tham chiếu đến bộ đầu tiên trong quan hệ phong
t[MADV]=P1, t[TEN_PHONG]=Hành chính quản trị, t[MATP]=10
phong
Bộ
MADV
TEN_PHONG
MATP
P1
Hành chính quản trị
10
P2
Nghiên cứu và phát triển
2
P3
Giám đốc
8
P4
Kĩ thuật
4
Dept. of IS - FIT - HNUE
Miền
Miền của một thuộc tính là một tập hợp các giá trị nguyên tố,
mỗi giá trị trong miền không thể phân chia trong phạm vi mơ
hình quan hệ
Để đặc tả một miền: cần chỉ ra tên miền, kiểu dữ liệu và khn
dạng dữ liệu
Miền của một thuộc tính có thể chứa giá trị null
trị của một số bộ tại một số thuộc tính nào đó có thể chưa biết
Khơng có giá trị nào thích hợp cho một thuộc tính của bộ nào đó
Giá
Dept. of IS - FIT - HNUE
Miền
Ví dụ, trong quan hệ phong
Miền của MADV kí hiệu D1, là tập các chuỗi có 2 kí tự, bắt đầu bằng chữ P
Miền của TEN_PHONG kí hiệu là D2, là tập các chuỗi có tối đa 30 kí tự
Miền của MATP kí hiệu là D3, là tập các số tự nhiên trong khoảng [1,1000]
phong
MADV
TEN_PHONG
MATP
P1
Hành chính quản trị
10
P2
Nghiên cứu và phát triển
2
P3
Giám đốc
8
P4
Kĩ thuật
4
Dept. of IS - FIT - HNUE
Miền
Ví dụ,
Miền
giá trị của các thuộc tính DIEN_THOAI, DIA_CHI khơng phải là
tập hợp các giá trị ngun tố
phong
MAD
V
TEN_PHONG
DIA_CHI
MATP
DIEN_THOA
PHUON
I
G
QUAN
P1
Hành chính quản trị
10
0249567100
Vĩnh Tuy
Hoàng Mai
P2
Nghiên cứu và phát
triển
2
0247895562
Trung Liệt
Đống Đa
P3
Giám đốc
8
0247567128
Mai Dịch
Cầu Giấy
P4
Kĩ thuật
4
0247568528
,
Dept. of IS - FIT - HNUE
0247568529
Mai Dịch
Cầu Giấy
Bộ và quan hệ
Một quan hệ trên một tập các thuộc tính là một tập con của tích
Descartes của một hay nhiều miền
phong
Ví dụ,
MADV
TEN_PHONG
là miền của MADV
P1
Hành chính quản trị
D2 là miền của TEN_PHONG
P2
Nghiên cứu và phát triển
D3 là miền của MA_TP
P3
Giám đốc
P4
Kĩ thuật
PHONG D1D2 D3
Mỗi bộ trong quan hệ PHONG chỉ ra mối quan hệ giữa tập các giá trị
D1
Dept. of IS - FIT - HNUE
MATP
10
2
8
4
Bộ và quan hệ
Mỗi quan hệ là một tập các bộ
Mỗi
bộ chỉ xuất hiện một lần
Nếu 2 bộ t1, t2 bằng nhau trên tất cả các thuộc tính thì t1, t2 là cùng một bộ
Thứ tự của các bộ trong một quan hệ là không quan trọng
Dept. of IS - FIT - HNUE
Lược đồ quan hệ (relation schemas)
Quan hệ nào cũng có một lược đồ
Một lược đồ quan hệ gồm:
Một tập các thuộc tính
Miền giá trị của mỗi thuộc tính
Cách viết
Xác định kiểu thơng tin cho các quan hệ
Nhiều quan hệ có thể có cùng một lược đồ
Tên của quan hệ được viết bằng chữ thường
Tên của lược đồ quan hệ được viết bằng chữ hoa
Cho quan hệ r và lược đồ quan hệ R:
Viết r(R) nghĩa là lược đồ của quan hệ r là R
Dept. of IS - FIT - HNUE
Lược đồ quan hệ (relation schemas)
Ví dụ
Lược đồ: PHONG(MADV, TEN_PHONG, MA_TP)
Quan hệ: phong
phong
MADV
TEN_PHONG
MATP
P1
Hành chính quản trị
10
P2
Nghiên cứu và phát triển
2
P3
Giám đốc
8
P4
Kĩ thuật
4
Dept. of IS - FIT - HNUE
Các tính chất đặc trưng của một quan hệ
Một quan hệ có một tên phân biệt với tên các quan hệ khác
Mỗi ô trong bảng (quan hệ) chứa một giá trị ngun tố
Mỗi thuộc tính trong quan hệ có một tên phân biệt
Các giá trị của một thuộc tính thuộc cùng một miền
Thứ tự các thuộc tính là khơng quan trọng
Khơng có 2 bộ giống hệt nhau trong một quan hệ
Thứ tự của các bộ không quan trọng về mặt lý thuyết
Dept. of IS - FIT - HNUE
Nội dung
1.
Các khái niệm cơ bản
2.
Khóa của quan hệ
3.
Các thao tác cơ bản trên các quan hệ
Dept. of IS - FIT - HNUE
Siêu khóa
Khóa được sử dụng để phân biệt các bộ trong một quan hệ
Một
siêu khóa là một tập các thuộc tính cho phép xác định duy nhất
một bộ trong mỗi quan hệ
Thêm các thuộc tính vào một siêu khóa, ta sẽ được một siêu khóa
khác
Dept. of IS - FIT - HNUE
Siêu khóa
Ví dụ, trong quan hệ nhan_vien
{MANV} là siêu khóa
{CMND} là siêu khóa
{MANV, HO_TEN} là siêu khóa
{CMND, HO_TEN, NGAY_SINH} là siêu khóa
{HO_TEN} khơng là siêu khóa
{HO_TEN, NGAY_SINH, GIOI_TINH, MADV_LUONG} khơng là siêu khóa
nhan_vien
MANV
HO_TEN
NGAY_SINH
GIOI_TINH
MADV
LUONG
CMND
1
Phạm Văn Bình
30/04/1975
Nam
P1
1 500 000
1417589987
2
Hồng Lê Chi
28/03/1961
Nam
P2
2 300 000
1417894532
3
Nguyễn Thu Cúc
12/06/1955
Nữ
P1
1 700 000
1563298211
4
Lê Trần Dũng
10/09/1978
Nam
P4
3 100 000
1518987219
8
Phan Ái Khanh
P3
3 100 000
1718897245
10
Thân Như Thơ
15/08/1970
Nữ
Dept. of IS - FIT - HNUE
21/11/1974
Nam
P1
2 500 000
1718987215
Khóa (khóa dự tuyển)
Khóa (khóa dự tuyển) của một lược đồ quan hệ là siêu khóa của
lược đồ này sao cho mọi tập con thực sự của nó khơng là siêu khóa
Khóa là thuộc tính của một lược đồ quan hệ chứ khơng phải cho từng
bộ riêng
Nghĩa là nó áp dụng cho tất cả các bộ trong các quan hệ của lược đồ
Dept. of IS - FIT - HNUE
Khóa (khóa dự tuyển)
Ví dụ, trong quan hệ nhan_vien
{MANV} là khóa (khóa dự tuyển)
{CMND} là khóa (khóa dự tuyển)
{MANV, HO_TEN} khơng là khóa
{MANV, HO_TEN, NGAY_SINH} là khơng là khóa
nhan_vien
MANV
HO_TEN
NGAY_SINH
GIOI_TINH
MADV
LUONG
CMND
1
Phạm Văn Bình
30/04/1975
Nam
P1
1 500 000
1417589987
2
Hồng Lê Chi
28/03/1961
Nam
P2
2 300 000
1417894532
3
Nguyễn Thu Cúc
12/06/1955
Nữ
P1
1 700 000
1563298211
4
Lê Trần Dũng
10/09/1978
Nam
P4
3 100 000
1518987219
8
Phan Ái Khanh
15/08/1970
Nữ
P3
3 100 000
1718897245
10
Thân Như Thơ
21/11/1974
Nam
P1
2 500 000
1718987215
Dept. of IS - FIT - HNUE
Khóa chính (primary key)
Một trong số các khóa dự tuyển được chọn làm khóa chính để xác
định tính duy nhất của các bộ trong một quan hệ
Việc chọn khóa dự tuyển nào làm khóa chính là tùy thuộc vào ngữ
nghĩa dữ liệu mà lược đồ mơ tả và mục đích của người sử dụng
CSDL
Dept. of IS - FIT - HNUE