You are on page 1of 124

CHƢƠN III

THIẾT KẾ CSDL LOGIC

TS. Lê Thị Tú Kiên


kienltt@hnue.edu.vn
http://fit.hnue.edu.vn/~kienltt/HeCSDL/

Information Systems – FIT – HNUE


Giới thiệu
2

 Lựa chọn một hệ quản trị CSDL để cài đặt CSDL

 Chuyển đổi các thiết kế CSDL mức khái niệm sang mô hình
dữ liệu của hệ quản trị CSDL đã lựa chọn

Dept. of IS - 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 là tập hợp các bảng, mỗi bảng là tập các bản ghi

 Khuôn dạng của các bản ghi là cố định (hiếm khi thay đổi)

 Dữ 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

I. Mô hình dữ liệu quan hệ

II. Chuyển đổi mô hình thực thể liên kết sang mô hình
dữ liệu quan hệ

III. Phụ thuộc hàm và Khóa

IV. Dạng chuẩn và chuẩn hóa

Dept. of IS - FIT - HNUE


Nội dung

I. Mô hình dữ liệu quan hệ

II. Chuyển đổi mô hình thực thể liên kết sang mô hình
dữ liệu quan hệ

III. Phụ thuộc hàm và Khóa

IV. Dạng chuẩn và chuẩn hóa

Dept. of IS - FIT - HNUE


I. Mô hình dữ liệu quan hệ
1. Các khái niệm cơ bản

2. Khóa của quan hệ

3. Ràng buộc dữ liệu

4. Các thao tác cơ bản trên các quan hệ

5. Các ngôn ngữ thao tác trên 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
 Hàng: 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ể

 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 Hoà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 4
Dept. of IS - FIT - HNUE
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
MADV TEN_PHONG MATP
P1 Hành chính quản trị 10
Bộ 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à khuôn
dạng dữ liệu

Dept. of IS - FIT - HNUE


Miền

 Miền của một thuộc tính có thể chứa giá trị null
 Giá 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 đó

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ị nguyên tố

phong
 
DIA_CHI
MAD DIEN_THOA
TEN_PHONG MATP PHUON
V I QUAN
G
P1 Hành chính quản trị 10 0249567100 Vĩnh Tuy Hoàng Mai

P2 Nghiên cứu và phát 2 0247895562 Trung Liệt Đống Đa


triển
P3 Giám đốc 8 0247567128 Mai Dịch Cầu Giấy

P4 Kĩ thuật 4 0247568528 Mai Dịch Cầu Giấy


,
0247568529
Dept. of IS - FIT - HNUE
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 MATP
P1 Hành chính quản trị 10
 D1 là miền của MADV P2 Nghiên cứu và phát triển 2
P3 Giám đốc 8
 D2 là miền của TEN_PHONG
P4 Kĩ thuật 4
 D3 là miền của MA_TP
 PHONG  D1D2 D3
 Mỗi bộ trong quan hệ PHONG chỉ ra mối quan hệ giữa tập các giá trị
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 đồ


 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 đồ

 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

 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)

 Cách viết
 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ị nguyên 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
2. Khóa của quan hệ

1. Siêu khóa

2. Khóa

3. Khóa chính

Dept. of IS - FIT - HNUE


Siêu khóa (Super key)

 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ụ

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 Hoà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


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
MANV HO_TEN NGAY_SINH GIOI_TINH MADV LUONG CMND

nhan_vien 1 Phạm Văn Bình 30/04/1975 Nam P1 1 500 000 1417589987


2 Hoà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ơ Dept. of IS -Nam
21/11/1974 FIT - HNUE 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

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)

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 Hoà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


Khóa chính (primary key)

 Ví dụ, trong quan hệ nhan_vien


 Có 2 khóa dự tuyển:{MANV}, {CMND}

 {MANV} được chọn làm khóa chính

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 Hoà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)

 Các thuộc tính của khóa chính thường được liệt kê ở đầu danh sách,
trong lược đồ quan hệ. Các thuộc tính thuộc khóa chính được gạch
chân

 Những thuộc tính không thuộc khóa chính không được gạch chân

 Ví dụ
 NHAN_VIEN(MANV, HO_TEN, NGAY_SINH, GIOI_TINH, MADV,
LUONG, CMND)

 PHONG(MADV, TEN_PHONG, MATP)


Dept. of IS - FIT - HNUE
Khóa chính (primary key)

 Trong một quan hệ, không có hai bộ bất kỳ có cùng khóa chính

 Ví dụ (không vi phạm)
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 Hoà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)

 Trong một quan hệ, không có hai bộ bất kỳ có cùng khóa chính
 Ví dụ (vi phạm)
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 Hoàng Lê Chi 28/03/1961 Nam P2 2 300 000 1417894532

 1 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


Siêu khóa và quan hệ

 Siêu khóa của một lược đồ là một tập thuộc tính cho phép xác định
duy nhất một bộ trong mỗi quan hệ trên lược đồ

 U: tập thuộc tính, R(U): lược đồ quan hệ trên U, quan hệ r: một thể
hiện của lược đồ R(U), KU là một siêu khóa của R(U)
 t1, t2 r, nếu t1[K]= t2[K] thì t1[U]= t2[U]

Dept. of IS - FIT - HNUE


Khóa ngoài (foreign key)

 Khóa ngoài của một lược đồ quan hệ là một tập hợp gồm một hay
nhiều thuộc tính là khóa chính của một lược đồ quan hệ khác

Dept. of IS - FIT - HNUE


Khóa ngoài (foreign key)
 Ví dụ, NHAN_VIEN(MANV, HO_TEN, NGAY_SINH, GIOI_TINH, MADV,
LUONG, CMND)

 Khóa ngoài là MADV

 Thuộc tính MADV của lược đồ NHAN_VIEN tham chiếu đến khóa chính
(MADV) của lược đồ PHONG
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 Hoà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
Khóa ngoài (foreign key)

 Ví dụ, PHONG(MADV, TEN_PHONG, MATP)


 Khóa ngoài là MATP

 MATP tham chiếu đến khóa chính (MANV) của lược đồ NHAN_VIEN

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
Ràng buộc của khóa ngoài

 Các giá trị của MADV trong quan hệ nhan_vien phải là tập con
của các giá trị của MADV trong quan hệ phong

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 Hoà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


Ràng buộc của khóa ngoài

 Tập các giá trị của MATP trong quan hệ phong phải là tập con
của tập các giá trị MANV trong quan hệ nhan_vien

MADV TEN_PHONG MATP


phong
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


3. Các ràng buộc CSDL

 Ràng buộc khóa


 Ràng buộc toàn vẹn thực thể
 Ràng buộc toàn vẹn tham chiếu
 Ràng buộc toàn vẹn ngữ nghĩa

Dept. of IS - FIT - HNUE


4. Các thao tác cơ bản trên các quan hệ

 Các phép toán cập nhật:

 Thêm bộ

 Xóa bộ

 Sửa đổi nội dung của bộ

 Các phép tìm kiếm thông tin: NN thao tác dữ liệu

Dept. of IS - FIT - HNUE


Thêm bộ

 Phép thêm bộ được dùng để thêm một hay nhiều bộ mới vào
một quan hệ

 Một số ràng buộc có thể bị vi phạm khi thêm bộ


 Ràng buộc khóa

 Ràng buộc toàn vẹn thực thể

 Ràng buộc về miền dữ liệu của thuộc tính

 Ràng buộc toàn vẹn tham chiếu


Dept. of IS - FIT - HNUE
Cách ứng xử khi phép thêm bộ vi phạm
ràng buộc
 Loại bỏ phép thêm bộ nếu nó vi phạm một hay nhiều ràng buộc

 Hệ quản trị CSDL kiểm tra nguyên nhân loại bỏ phép thêm bộ,
để thông báo cho người dùng. Từ đó, người dùng sẽ tự điều
chỉnh thông tin của bộ mới cho phù hợp

Dept. of IS - FIT - HNUE


Ví dụ phép thêm bộ

 INSERT(phong; “P5”, “Kinh doanh”, 3)


phong phong
MADV TEN_PHONG MATP
MADV TEN_PHONG MATP
P1 Hành chính quản trị 10
P1 Hành chính quản trị 10
P2 Nghiên cứu và phát triển 2
P2 Nghiên cứu và phát triển 2 
P3 Giám đốc 8
P3 Giám đốc 8
P4 Kĩ thuật 4
P4 Kĩ thuật 4
P5 Kinh doanh 3

Dept. of IS - FIT - HNUE


Vi phạm ràng buộc khóa

 INSERT(phong; “P2”, “Kế toán”, 1)


phong phong
MADV TEN_PHONG MATP
MADV TEN_PHONG MATP
P1 Hành chính quản trị 10
P1 Hành chính quản trị 10
P2 Nghiên cứu và phát triển 2
P2 Nghiên cứu và phát triển 2 
P3 Giám đốc 8
P3 Giám đốc 8
P4 Kĩ thuật 4
P4 Kĩ thuật 4
P5 Kinh doanh 3
P5 Kinh doanh 3
P2 Kế toán 1

Dept. of IS - FIT - HNUE


Vi phạm ràng buộc toàn vẹn thực thể

 INSERT(phong; “null”, “Kế toán”, 1)


phong phong
MADV TEN_PHONG MATP
MADV TEN_PHONG MATP
P1 Hành chính quản trị 10
P1 Hành chính quản trị 10
P2 Nghiên cứu và phát triển 2
P2 Nghiên cứu và phát triển 2 
P3 Giám đốc 8
P3 Giám đốc 8
P4 Kĩ thuật 4
P4 Kĩ thuật 4
P5 Kinh doanh 3
P5 Kinh doanh 3
null Kế toán 1

Dept. of IS - FIT - HNUE


Vi phạm ràng buộc về miền dữ liệu của
thuộc tính
 INSERT(phong; 6, “Kế toán”, 1)
phong phong
MADV TEN_PHONG MATP
MADV TEN_PHONG MATP
P1 Hành chính quản trị 10
P1 Hành chính quản trị 10
P2 Nghiên cứu và phát triển 2
P2 Nghiên cứu và phát triển 2 
P3 Giám đốc 8
P3 Giám đốc 8
P4 Kĩ thuật 4
P4 Kĩ thuật 4
P5 Kinh doanh 3
P5 Kinh doanh 3
6 Kế toán 1

Dept. of IS - FIT - HNUE


Vi phạm ràng buộc toàn vẹn tham chiếu

 INSERT(phong; “P6”, “Kế toán”, 11)


phong phong
MADV TEN_PHONG MATP
MADV TEN_PHONG MATP
P1 Hành chính quản trị 10
P1 Hành chính quản trị 10
P2 Nghiên cứu và phát triển 2
P2 Nghiên cứu và phát triển 2 
P3 Giám đốc 8
P3 Giám đốc 8
P4 Kĩ thuật 4
P4 Kĩ thuật 4
P5 Kinh doanh 3
P5 Kinh doanh 3
P6 Kế toán 11

Dept. of IS - FIT - HNUE


Xóa bộ

 Phép xóa dùng để loại bỏ một hay nhiều bộ trong một quan hệ

 Một số ràng buộc có thể bị vi phạm khi xóa bộ


 Ràng buộc toàn vẹn tham chiếu

Dept. of IS - FIT - HNUE


Cách ứng xử khi phép xóa bộ vi phạm
ràng buộc toàn vẹn tham chiếu
 Có 3 cách ứng xử:
 Loại bỏ phép xóa bộ

 Xóa lan truyền. Nghĩa là, xóa các bộ tham chiếu đến bộ được chỉ
định xóa ban đầu

 Thay đổi giá trị của thuộc tính gây ra vi phạm

Dept. of IS - FIT - HNUE


Ví dụ phép xóa bộ

 DELETE<phong; TEN_PHONG=“Kinh doanh”>


phong phong
MADV TEN_PHONG MATP
MADV TEN_PHONG MATP
P1 Hành chính quản trị 10
P1 Hành chính quản trị 10
P2 Nghiên cứu và phát triển 2
P2 Nghiên cứu và phát triển 2 
P3 Giám đốc 8
P3 Giám đốc 8
P4 Kĩ thuật 4
P4 Kĩ thuật 4
P5 Kinh doanh 3

Dept. of IS - FIT - HNUE


Phép xóa bộ vi phạm ràng buộc tham
chiếu
 DELETE<phong; MADV=“P1”>
phong nhan_vien
MADV TEN_PHON MATP MANV HO_TEN NGAY_SINH GIOI_TINH MADV LUONG CMND
G 1 Phạm Văn 30/04/1975 Nam P1 1 500 000 1417589987
P1 Hành chính 10 Bình
quản trị 2 Hoàng Lê Chi 28/03/1961 Nam P2 2 300 000 1417894532
P2 Nghiên cứu 2 3 Nguyễn Thu 12/06/1955 Nữ P1 1 700 000 1563298211
và phát triển Cúc
P3 Giám đốc 8 4 Lê Trần Dũng 10/09/1978 Nam P4 3 100 000 1518987219

P4 Kĩ thuật 4 8 Phan Ái 15/08/1970 Nữ P3 3 100 000 1718897245


Khanh
10 Thân Như 21/11/1974 Nam P1 2 500 000 1718987215
Thơ
Dept. of IS - FIT - HNUE
Sửa đổi nội dung của bộ

 Phép sửa đổi được dùng để thay đổi các giá trị tại một số thuộc
tính của một số bộ

 Một số ràng buộc có thể bị vi phạm khi sửa bộ


 Ràng buộc khóa

 Ràng buộc toàn vẹn thực thể

 Ràng buộc về miền dữ liệu của thuộc tính

 Ràng buộc toàn vẹn tham chiếu


Dept. of IS - FIT - HNUE
Cách ứng xử khi phép sửa đổi nội dung
bộ không phù hợp
 Loại bỏ phép sửa đổi nội dung bộ nếu nó vi phạm một hay
nhiều ràng buộc

 Hệ quản trị CSDL kiểm tra nguyên nhân loại bỏ phép sửa đổi
nội dung bộ, để thông báo cho người dùng. Từ đó, người dùng
sẽ tự điều chỉnh thông tin cập nhật cho phù hợp

Dept. of IS - FIT - HNUE


Ví dụ phép sửa đổi nội dung bộ

 MODIFY<phong; MADV=“P1”; TEN_PHONG=“Hành chính tổng hợp”>

phong phong
MADV TEN_PHONG MATP MADV TEN_PHONG MATP
P1 Hành chính quản trị 10 Hành chính tổng hợp
 P1 10
P2 Nghiên cứu và phát triển 2 P2 Nghiên cứu và phát triển 2
P3 Giám đốc 8 P3 Giám đốc 8
P4 Kĩ thuật 4 P4 Kĩ thuật 4

Dept. of IS - FIT - HNUE


Phép sửa đổi nội dung bộ không hợp lệ

 MODIFY<phong; TEN_PHONG=“Nghiên cứu và phát triển”;


MADV=“P1”>
phong phong
MADV TEN_PHONG MATP MADV TEN_PHONG MATP
Hành chính tổng hợp Hành chính tổng hợp
P1 10  P1 10
P2 Nghiên cứu và phát triển 2 P1 Nghiên cứu và phát triển 2
P3 Giám đốc 8 P3 Giám đốc 8
P4 Kĩ thuật 4 P4 Kĩ thuật 4

Dept. of IS - FIT - HNUE


Phép sửa đổi nội dung bộ không hợp lệ

 MODIFY<phong; TEN_PHONG=“Nghiên cứu và phát triển”;


MADV=“null”>

phong phong
MADV TEN_PHONG MATP
MADV TEN_PHONG MATP
P1 Hành chính tổng hợp 10
P1 Hành chính tổng hợp 10
P2 Nghiên cứu và phát triển 2  null Nghiên cứu và phát triển 2
P3 Giám đốc 8
P3 Giám đốc 8
P4 Kĩ thuật 4
P4 Kĩ thuật 4

Dept. of IS - FIT - HNUE


Phép sửa đổi nội dung bộ không hợp lệ

 MODIFY<phong; TEN_PHONG=“Nghiên cứu và phát triển”;


MADV=8>

phong phong
MADV TEN_PHONG MATP
MADV TEN_PHONG MATP
P1 Hành chính tổng hợp 10
P1 Hành chính tổng hợp 10
8 Nghiên cứu và phát triển 2
P2 Nghiên cứu và phát triển 2 
P3 Giám đốc 8
P3 Giám đốc 8
P4 Kĩ thuật 4
P4 Kĩ thuật 4

Dept. of IS - FIT - HNUE


Phép sửa đổi nội dung bộ không hợp lệ

 MODIFY<phong; MADV=“P2”; MATP=11>


phong phong
MADV TEN_PHONG MATP
MADV TEN_PHONG MATP
P1 Hành chính tổng hợp 10
P1 Hành chính tổng hợp 10
P2 Nghiên cứu và phát triển 11
P2 Nghiên cứu và phát triển 2 
P3 Giám đốc 8
P3 Giám đốc 8
P4 Kĩ thuật 4
P4 Kĩ thuật 4

Dept. of IS - FIT - HNUE


5. Các ngôn ngữ thao tác dữ liệu

 Ngôn ngữ đại số quan hệ

 Ngôn ngữ tân từ

Dept. of IS - FIT - HNUE


Mục tiêu
 Biểu diễn một câu hỏi (truy vấn) trên CSDL quan hệ dưới dạng
 Biểu thức ngôn ngữ đại số quan hệ
 Biểu thức ngôn ngữ tân từ biến bộ hoặc biến miền

 Nhận biết được sự tương đương giữa hai ngôn ngữ hình thức đại số
quan hệ và ngôn ngữ tân từ
 Hai ngôn ngữ hình thức là cơ sở của ngôn ngữ SQL

Dept. of IS - FIT - HNUE


Ngôn ngữ đại số quan hệ

Dept. of IS - FIT - HNUE


Giới thiệu
 Là một trong hai ngôn ngữ hình thức của mô hình dữ liệu quan hệ
 Là ngôn ngữ có tính thủ tục
 Mỗi câu hỏi được biểu diễn thông qua việc áp dụng có thứ tự một tập các phép
toán

 Các phép toán


 Tập hợp: phép hợp, phép giao, phép hiệu và phép tích đề các
 Quan hệ: phép toán quan hệ như phép chọn, phép chiếu, phép kết nối, phép
chia

Dept. of IS - FIT - HNUE


Hai quan hệ khả hợp

 Hai quan hệ là khả hợp nếu chúng cùng xác định trên một tập
thuộc tính.

r1 r2
STT Ho Ten GioiTinh STT Ho Ten GioiTinh

1 Trần A Nam 1 Trần D Nữ

2 Trần B Nam 2 Trần E Nữ

3 Trần C Nam

Dept. of IS - FIT - HNUE


Phép hợp

 r1  r2 = { t | t r1 hoặc t r2}
STT Ho Ten GioiTinh
r1  r2
r1
STT Ho Ten GioiTinh
1 Trần A Nam

2 Trần B Nam 1 Trần A Nam

3 Trần C Nam 2 Trần B Nam

3 Trần C Nam
STT Ho Ten GioiTinh
r2
1 Trần D Nữ
1 Trần D Nữ
2 Trần E Nữ
2 Trần E Nữ Dept. of IS - FIT - HNUE
Phép giao

 r1  r2 = { t | t r1 và t r2}
r1 Ho Ten GioiTinh r2 Ho Ten GioiTinh

Trần E Nữ Trần B Nam

Trần B Nam Trần E Nữ

Trần C Nam Trần C Nữ

Ho Ten GioiTinh

r1  r2 Trần B Nam

Trần E Dept. of IS Nữ
- FIT - HNUE
Phép hiệu
 r1 - r2 = { t | t r1 và t r2}
r1 Ho Ten GioiTinh r2 Ho Ten GioiTinh

Trần E Nữ Trần B Nam

Trần B Nam Trần E Nữ

Trần C Nam Trần C Nữ

r1 - r2 r2 – r1
Ho Ten GioiTinh Ho Ten GioiTinh
Trần C Nam Trần
Dept. of IS - FIT - HNUE C Nữ
Phép tích đề các

 Bộ ghép nối
r1 xác định trên U1 và r2 xác định trên U2

t1= (a1, a2, ..., an)  r1 và t2 = (b1, b2, …, bm)  r2

 (t1,t2) = (a1, a2, ..., an, b1, b2, …, bm)

Ví dụ: U1= {Ho, Ten, GioiTinh}, U2 = {SBD, DiaChi}

r1/U1 và r2/U2

t1 = (Trần, A, Nam) và t2 = (SF001, Hà nội)


Dept. of IS - FIT - HNUE
 (t1, t2) = (Trần, A, Nam, SF001, Hà nội)
Phép tích đề các

 Định nghĩa phép tích đề các

r1 x r2 = {t= (a1, a2, ..., an, b1, b2, …, bm) |

(a1, a2, ..., an)  r1 và (b1, b2, …, bm)  r2 }

Dept. of IS - FIT - HNUE


Ví dụ phép tích đề các
r1 Ho
r1 x r2
Trần
Ho Ten GioiTinh
Đỗ
Nguyễn Trần A Nữ
Trần B Nam
r2 Ten GioiTinh Đỗ A Nữ
Đỗ B Nam
A Nữ
Nguyễn A Nữ
B Nam
Nguyễn B
Dept. of IS - FIT - HNUE
Nam
Phép chia

 r1r2 = {t | t= (am+1, am+2, ..., an):


 (a1, a2, ..., am)  r2,
(a1, a2, ..., am, am+1, am+2, ..., an)  r1}

Dept. of IS - FIT - HNUE


Ví dụ phép chia

r1 r2
MaSV MaMonHoc Diem MaMonHoc

HP1
SP1 HP1 5.0
HP2
SP1 HP2 7.5
HP3
SP2 HP3 4.5

SP1 HP3 8.0


Cho biết những mã sinh viên đã
SP2 HP2 7.5 có điểm tất cả các học phần?
Dept. of IS - FIT - HNUE
Ví dụ phép chia

r1 r3  MaSV, MaMonHoc(r1)

MaSV MaMonHoc Diem MaSV MaMonHoc

SP1 HP1 5.0 SP1 HP1

SP1 HP2 7.5 SP1 HP2

SP2 HP3 4.5 SP2 HP3

SP1 HP3 8.0 SP1 HP3

SP2 HP2 7.5 SP2 HP2


Dept. of IS - FIT - HNUE
Ví dụ phép chia

r3 r2
MaSV MaMonHoc
MaMonHoc
HP1
SP1 HP1
HP2
SP1 HP2
HP3
SP2 HP3
r3 r2
SP1 HP3
MaSV
SP2 HP2
SP1
Dept. of IS - FIT - HNUE
Phép chiếu

 Bộ thu gọn
 r: xác định trên tập thuộc tính U
 X: một tập con thuộc tính của tập U
 tr
 t[X]: chỉ một thu gọn của bộ t trên tập thuộc tính X
Ví dụ
U={Ho, Ten, GioiTinh}
X={Ho, Ten} t[X]=(Trần, A)
t=(Trần, A, Nam) Dept. of IS - FIT - HNUE
Phép chiếu

 Định nghĩa phép chiếu


X(r) = {t[X] | t  r}
r X={Ho, Ten} X(r)
Ho Ten GioiTinh Ho Ten

Trần E Nữ Trần E

Trần B Nam Trần B

Trần C Nam Trần C


Dept. of IS - FIT - HNUE
Phép chọn
r
 F(r) = {t | t  r và F(t) đúng} Ho Ten GioiTinh
F: biểu thức logic xác định trên miền giá trị Trần E Nữ
của các thuộc tính thuộc tập U
Trần B Nam

Trần C Nam

F(r) Ho Ten GioiTinh

Trần B Nam F: GioiTinh = „Nam‟

Trần C Nam

Dept. of IS - FIT - HNUE


Phép kết nối

 r1ABr2 = {(t,q) | t  r1, q  r2


và t[A]  q[B] đúng}
Trong đó
r1/U1 và r2/U2
 : <, , =, , >, 
A  U1 và B U2
Các giá trị của A và B có thể so sánh được với nhau
A  B: biểu thức lôgic xây dựng trên phép so sánh
 được gọi là toán tử kết nối
Dept. of IS - FIT - HNUE
Ví dụ phép kết nối
r1 r2
Ho Ten NamLenLuong MocTangLuong GhiChu
Trần E 2001 2001
Trần B 2000
Trần C 2004

r1  NamLenLuong  MocTangLuong r2

Ho Ten NamLenLuong MocTangLuong GhiChu

Trần E 2001 2001


Trần B 2000 2001

Dept. of IS - FIT - HNUE


Phép kết nối bằng và tự nhiên

 Phép kết nối bằng


 Nếu  là toán tử kết nối bằng “=”

 Phép kết nối tự nhiên


 Nếu hai quan hệ r1 và r2 kết nối bằng tại hai thuộc tính cùng tên và một
trong 2 thuộc tính đó được bỏ đi trong kết quả
 Kí hiệu: r1*r2 hoặc r1 r2

Dept. of IS - FIT - HNUE


Ví dụ phép kết nối bằng

r1 r2
Ho Ten NamLenLuong MocTangLuong GhiChu
Trần E 2001 2001
Trần B 2000
Trần C 2004
r1  NamLenLuong  MocTangLuong r2

Ho Ten NamLenLuong MocTangLuong GhiChu

Trần E 2001 2001

Dept. of IS - FIT - HNUE


Ví dụ phép kết nối tự nhiên
r1 r2

SBD Ho Ten GioiTinh SBD Diem


SP1 Trần A Nam SP1 4.5
SP2 Trần B Nam SP2 7.5
SP3 6.0
SP3 Trần C Nam

r1 *r2 SBD Ho Ten GioiTinh Diem


SP1 Trần A Nam 4.5
SP2 Trần B Nam 7.5
SP3 Trần C Nam 6.0
Dept. of IS - FIT - HNUE
Phép kết nối ngoài trái
r1 r2
Ho Ten NamLenLuong MocTangLuong
Trần E 2001 2001
Trần B 2000
2005
Trần C 2004

r1  NamLenLuong  MocTangLuong r2
Ho Ten NamLenLuong MocTangLuong

Trần E 2001 2001


Trần B 2000 2001
Trần C 2004 null

r1<ABr2 = {(t,q) ABr2 hoặc ((t, null, … , null)qr 2, t[A]  q[B] sai)}
Dept. of IS - FIT - HNUE
Phép kết nối ngoài phải

r1>ABr2 = {(t,q)  r1ABr2 hoặc ((null, … , null, q)tr1, t[A]  q[B] sai)}
r1 r2
Ho Ten NamLenLuong MocTangLuong
Trần E 2001 2001
Trần B 2000
2005
Trần C 2004

r1  NamLenLuong  MocTangLuong r2
Ho Ten NamLenLuong MocTangLuong

Trần E 2001 2001


Trần B 2000 2001
null null null 2005
Dept. of IS - FIT - HNUE
Phép đổi tên quan hệ
Tên_mới[(danh_sách_thuộc tính)] Biểu_thức_đại_số_quan_hệ
r1 SBD Ho Ten GioiTinh r2 SBD Diem
SP1 Trần A Nam SP1 4.5
SP2 Trần B Nam SP2 7.5
SP3 Trần C Nam SP3 6.0

r1 *r2 SBD Ho Ten GioiTinh Diem


KKQTG SP1 Trần A Nam 4.5
SP2 Trần B Nam 7.5
SP3 Trần C Nam 6.0

KQ
KQTG  r1*r2 SBD Họ Tên
KQ(SBD, Họ, Tên)   (SBD, Ho, Ten)KQTG SP1 Trần A
SP2 Trần B
SP3 Trần C
Dept. of IS - FIT - HNUE
Ví dụ minh họa
Sử dụng các biểu thức đại số quan hệ biểu diễn câu hỏi

Dept. of IS - FIT - HNUE


Cơ sở dữ liệu quan hệ mẫu

NHAN_VIEN PHONG

CHAM_CONG

DU_AN

Dept. of IS - FIT - HNUE


Ví dụ 1

 Cho biết tên của dự án có mã là D4?

TEN_DA(MA_DA=“D4”(DU_AN))

MA_DA=“D4”(DU_AN)

Dept. of IS - FIT - HNUE


Ví dụ 2
 Cho biết họ tên và lương của các nhân viên làm việc ở phòng “Nghiên cứu
và phát triển”?

NHAN_VIEN * PHONG

Dept. of IS - FIT - HNUE


Ví dụ 2

HOTEN, LUONG(TEN-PHONG=“Nghiên cứu và phát triển”(NHAN_VIEN * PHONG))

TEN-PHONG=“Nghiên cứu và phát triển” (NHAN_VIEN * PHONG)

Dept. of IS - FIT - HNUE


Ví dụ 2

Cách 2:
HOTEN, LUONG(NHAN_VIEN*
(MA-DV(TEN-PHONG=“Nghiên cứu và phát triển”(PHONG))))

Dept. of IS - FIT - HNUE


Ví dụ 2

HOTEN, LUONG(NHAN_VIEN * (MA_DV((TEN-PHONG=“Nghiên cứu và phát triển” (PHONG)))

NHAN_VIEN * (MA_DV(TEN-PHONG=“Nghiên cứu và phát triển” (PHONG)))

MA_DV( TEN-PHONG=“Nghiên cứu và phát triển” (PHONG))

TEN-PHONG=“Nghiên cứu và phát triển”(PHONG) Dept. of IS - FIT - HNUE


Ví dụ 3

 Với mỗi dự án thực hiện ở “TT khí tượng thủy văn HN”, hãy cho biết mã số
dự án đồng thời cho biết họ tên, ngày sinh của trưởng phòng quản lý dự án
này?

Dept. of IS - FIT - HNUE


Ví dụ 3

 Cách 1
KQTG  MA-DA, MA-DV(DIA-DIEM-DA=“TT Khí tượng thủy văn HN” (DU_AN))

KETQUA  MA-DA, HO-TEN, NG-SINH(NHAN_VIEN⋈MA-NV=MA-TP (PHONG*KQTG))

 Cách 2
KQTG  NHAN_VIEN⋈MA-NV=MA-TP (DU_AN * PHONG)

KETQUA  MA-DA, HO-TEN, NG-SINH( DIA-DIEM-DA=“TT Khí tượng thủy văn HN” (KQTG))

Dept. of IS - FIT - HNUE


Ví dụ 3

MA-DA, HO-TEN, NG-SINH(NHAN_VIEN⋈MA-NV=MA-TP (PHONG*KQTG))

PHONG*(KQTG)

KQTG  MA-DA, MA-DV(DIA-DIEM-DA=“TT Khí tượng thủy văn HN”(DU_AN)

Dept. of IS - FIT - HNUE


Phép gộp nhóm

Dept. of IS - FIT - HNUE


Định nghĩa

[<các thuộc tính cơ sở để gộp nhóm>]F<danh sách hàm kết tập>(r)

 F là kí hiệu của phép gộp nhóm


 r là một quan hệ
 Các thuộc tính cơ sở để gộp nhóm
 Là những thuộc tính thuộc quan hệ r
 Những bộ có cùng giá trị trên các thuộc tính này sẽ được gộp vào cùng một
nhóm.

Dept. of IS - FIT - HNUE


Định nghĩa

[<các thuộc tính cơ sở để gộp nhóm>] F <danh sách hàm kết tập> (r)

 Các hàm kết tập


 <hàm>(<thuộc tính>)
 SUM, AVERAGE, MAX, MIN, COUNT
 Thuộc tính thuộc quan hệ r

Dept. of IS - FIT - HNUE


Định nghĩa

[<các thuộc tính cơ sở để gộp nhóm>] F <danh sách hàm kết tập> (r)

 Quan hệ kết quả


 Các thuộc tính cơ sở để gộp nhóm
 Các thuộc tính tương ứng với các phần tử trong danh sách hàm kết tập

Dept. of IS - FIT - HNUE


Ví dụ 1

 Cho biết trung bình lương của công ty X?

FAVERAGE(LUONG)(NHAN_VIEN)

Dept. of IS - FIT - HNUE


Ví dụ 2

 Cho biết trung bình lương của từng phòng?

MA_DVFAVERAGE(LUONG)(NHAN_VIEN)

Dept. of IS - FIT - HNUE


Ví dụ 3

 Cho biết trung bình lương của các nhân viên nam và trung bình
lương của các nhân viên nữ trong từng phòng?

MA_DV, GIOI_TINHFAVERAGE(LUONG)(NHAN_VIEN)

Dept. of IS - FIT - HNUE


Ngôn ngữ tân từ

Dept. of IS - FIT - HNUE


Giới thiệu

 Là ngôn ngữ có tính phi thủ tục


 Cho phép mô tả các câu hỏi mà không cần quan tâm chúng thực
hiện như thế nào
 Là ngôn ngữ có ảnh hưởng lớn đến các ngôn ngữ thương
mại nhự SQL (Structure Query Language), QBE (Query By
Example)
 Hai loại ngôn ngữ tân từ
 Ngôn ngữ tân từ biến bộ
 Ngôn ngữ tân từ biến miền Dept. of IS - FIT - HNUE
Ngôn ngữ tân từ biến bộ

Dept. of IS - FIT - HNUE


Phép tính biến bộ đơn giản

{x | ĐK(x)}
 x là một biến bộ và có miền giá trị là một quan hệ của CSDL
 ĐK(x) là một biểu thức lôgic có chứa biến bộ x
 Quan hệ kết quả:
 các bộ t của quan hệ là miền giá trị cho biến x và làm cho biểu thức ĐK(x) đúng

Dept. of IS - FIT - HNUE


Ví dụ

 Ví dụ 1

{x | NHAN_VIEN(x) AND x.LUONG >=3000000}

 Ví dụ 2

{x.HO_TEN, x.MA_DV | NHAN_VIEN(x) AND x.LUONG >=3000000}

Dept. of IS - FIT - HNUE


Phép tính biến bộ tổng quát

{xi.A1, xj.A2, …, xk.An | ĐK(x1, x2, …, xn, xn+1, …, xn+m)}

Trong đó:
x1, x2, …, xn, xn+1, …, xn+m : các biến bộ
Aq: một thuộc tính của quan hệ (q = 1…n)
ĐK(): công phức phép tính bộ

Dept. of IS - FIT - HNUE


Các công thức nguyên tố của ĐK()

 r(x): miền giá trị của biến bộ x là tập tất cả các bộ trên quan hệ r
 xi.A  xj.B với : <, <=,>, >=,, =
 xi.A  c hoặc c  xj.B với c là hằng số

Dept. of IS - FIT - HNUE


Các luật tạo nên ĐK()

 Mỗi công thức nguyên tố là một công thức.


 Nếu F1, F2 là công thức thì (F1 AND F2), (F1 OR F2), NOT(F1),
NOT(F2) cũng là công thức.
 Nếu F là công thức thì (x)(F) cũng là công thức.
 Nếu F là công thức thì (x)(F) cũng là công thức.

Dept. of IS - FIT - HNUE


Ví dụ 1
 Cho biết tên của dự án có mã là D4?

{x.TEN_DA DU_AN(x) AND x.MA_DA=„D4‟}

Dept. of IS - FIT - HNUE


Ví dụ 2

 Cho biết họ tên và lương của các nhân viên làm việc ở phòng
„Nghiên cứu và phát triển‟?

{x.HO_TEN, x.LUONG y (NHAN_VIEN(x) AND PHONG(y)


AND x.MA_DV = y.MA_DV
AND y.TEN_PHONG = „Nghiên cứu và phát triển‟ ) }

Dept. of IS - FIT - HNUE


Ví dụ 3

 Với mỗi dự án thực hiện ở „TT khí tượng thủy văn HN‟, hãy cho biết
mã số dự án đồng thời cho biết họ tên, ngày sinh của trưởng phòng
quản lý dự án này?

{x.MA_DA, z.HO_TENy(DU_AN(x) AND PHONG(y) AND NHAN_VIEN(z)


AND x.MA_DV = y.MA_DV AND y.MA_TP = z.MANV
AND x.DIA_DIEM_DA = „TT Khí tượng thủy văn HN‟)}

Dept. of IS - FIT - HNUE


Ngôn ngữ tân từ biến miền

Dept. of IS - FIT - HNUE


Ngôn ngữ tân từ biến miền

 Dựa trên lý thuyết logic tân từ cấp 1.


 Sử dụng biến miền, nhận giá trị là một phần tử của một miền
thuộc tính trong quan hệ, trong công thức phép tính biến
miền.
 Phải sử dụng n biến miền trong công thức phép tính miền để
tạo ra quan hệ kết quả có n thành phần.

Dept. of IS - FIT - HNUE


Biểu thức tổng quát phép tính miền

 {(X1,X2, ... ,Xn ) | ĐK(X1,X2, ... ,Xn,Xn+1,…Xn+m)}

 Xi là biến miền, có miền giá trị là tập giá trị của một thuộc tính trong
một quan hệ
 ĐK(X1,X2, ... ,Xn, Xn+1,…Xn+m) là công thức phép tính miền

Dept. of IS - FIT - HNUE


Ví dụ 1
 Cho biết tên của dự án có mã là D4?

{tenX  ma_daX diadiemX ma_dvX


(DU_AN(ma_daX, tenX, diadiemX, ma_dvX)
AND ma_daX=„D4‟)}

{tenX   diadiemX ma_dvX


(DU_AN(„D4‟,tenX, diadiemX, ma_dvX))}

Dept. of IS - FIT - HNUE


Ví dụ 2
 Cho biết họ tên và lương của các nhân viên làm việc ở phòng “Nghiên cứu và
phát triển”?

{ho_tenX, luongXma_nvX ngay_sinhX gioi_tinhX ma_dvX ma_tpX

(PHONG (ma_dvX, “Nghiên cứu và phát triển”, ma_tpX)

AND NHAN_VIEN(ma_nvX, ho_tenX, ngay_sinhX, gioi_tinhX,

ma_dvX, luongX))}

Dept. of IS - FIT - HNUE


Ví dụ 3

 Với mỗi dự án thực hiện ở “TT khí tượng thủy văn HN”, hãy cho biết
mã số dự án đồng thời cho biết họ tên, ngày sinh của trưởng phòng
quản lý dự án này?
{ma_daX, ho_tenX ten_daX  ma_dvX ten_phongX ma_tpX
ngay_sinhX gioi_tinhX luongX
(DU_AN (ma_daX, ten_daX, “TT khí tượng thủy văn HN”, ma_dvX)
AND PHONG (ma_dvX, ten_phongX, ma_tpX)
AND NHAN_VIEN (ma_tpX, ho_tenX, ngay_sinhX, gioi_tinhX, ma_dvX, luongX)) }

Dept. of IS - FIT - HNUE


So sánh đại số quan hệ và tân từ

 Tính phi thủ tục ở ngôn ngữ tân từ cao hơn ngôn ngữ đại số
quan hệ.
 Khả năng biểu thị câu hỏi của ngôn ngữ đại số quan hệ và ngôn
ngữ tân từ là tương đương nhau.
 Hầu hết các ngôn ngữ hỏi của CSDL quan hệ ngoài các phép
toán cơ bản còn có thêm một số phép toán mở rộng như hàm
kết tập, phép gộp nhóm.

Dept. of IS - FIT - HNUE


I. Mô hình dữ liệu quan hệ
1. Các khái niệm cơ bản

2. Khóa của quan hệ

3. Ràng buộc dữ liệu

4. Các thao tác cơ bản trên các quan hệ

5. Các ngôn ngữ thao tác trên quan hệ


Dept. of IS - FIT - HNUE
Nội dung

I. Mô hình dữ liệu quan hệ

II. Chuyển đổi mô hình thực thể liên kết sang mô hình
dữ liệu quan hệ

III. Phụ thuộc hàm và Khóa

IV. Dạng chuẩn và chuẩn hóa

Dept. of IS - FIT - HNUE

You might also like