Tải bản đầy đủ (.ppt) (72 trang)

CƠ SỞ DỮ LIỆU

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 (7.49 MB, 72 trang )




1. Cơ sở dữ liệu quan hệ
2. Ngôn ngữ hỏi có cấu trúc SQL
. Tóm tắt chương 2
. Câu hỏi ôn tập chương 2
. Bài tập

1. Cơ sở dữ liệu quan hệ
1.1. Khái niệm cơ bản
1.2. Các phép tính trên quan hệ
1.3. Đại số quan hệ

1. Cơ sở dữ liệu quan hệ
1.1. Khái niệm cơ bản
Một cách giải thích rất trực quan cho mô hình dữ liệu quan hệ là các dữ liệu
của bài toán quản lí được tổ chức dưới dạng các bảng dữ liệu. Quan sát một
bảng dữ liệu ta thấy nó được tổ chức theo hàng và cột, cột biểu thị một thuộc
tính thông tin cần quản lý của một đối tượng, thuộc tính này có tên gọi (tiêu đề
cột) và các giá trị thuộc tính trong cột đó có cùng một kiểu giá trị. Tập hợp tất cả
các giá trị thuộc tính trên một hàng là dữ liệu về một đối tượng đang được quản
lí.
Giả sử ta có tập n thuộc tính về một CSDL được kí hiệu là tập R={A
1
, A
2
,…
A
n
}, mỗi thuộc tính A


i
i = 1,…, n có một miền giá trị Dom (A
i
).
Quan hệ trên tập thuộc tính R là một tập con của tích Đề các các miền giá trị
Dom (A
i
).
r Dom (A⊆
1
) x Dom (A
2
) x… x Dom (A
n
)
Như vậy mỗi phần tử của quan hệ r là một bộ t = (t
1
, t
2
, …, t
n
) với t
i
Dom (A∈
i
).
Continue

1. Cơ sở dữ liệu quan hệ
1.1. Khái niệm cơ bản

Ví dụ 2.1:
R = {A, B} , Dom (A) = {a
1
, a
2
}, Dom (B) = {b
1
, b
2
, b
3
}
Tập r
1
= {(a
1
, b
1
), (a
2
, b
2
)} , r
2
= { (a
1
, b
1
), (a
1

, b
2
), (a
1
, b
3
)}
Continue
a
1
b
1
a
2
b
2
{A B}
r
1
a
1
b
1
a
1
b
2
a
1
b

3
{A B}
r
2

1. Cơ sở dữ liệu quan hệ
1.1. Khái niệm cơ bản
Ví dụ 2.2:
R = {SốBD, Họ, Đệm, Tên, Giới tính}
Dom (SốBD) = {SP1, SP2, SP3,… } tập hợp kí hiệu mã số cho người.
Dom (Họ) = {Nguyễn, Trần, Lê, Đỗ, …} tập hợp họ của người Việt Nam.
Dom (Đệm) = { Văn, Thị,… } tập họ đệm của người Việt Nam
Dom (Tên) là tập hợp các người Việt Nam
Dom (Giới tính) = { Nam, Nữ}
Tập hợp sau là một quan hệ trên tập thuộc tính R:
r = { (SP1, Trần, Văn, A, Nam), (SP2, Lê, Thị, B, Nữ), (SP3, Trần, Văn,
A, Nam)}
Continue
SP1 Trần Văn A Nam
SP2 Lê Thị B Nữ
SP3 Trần Văn A Nam
{SốBD Họ Đệm Tên Giới tính}

1. Cơ sở dữ liệu quan hệ
1.1. Khái niệm cơ bản
Ví dụ 2.3:
P = {SốBD, Điểm}
Dom (SốBD) = {SP1, SP2, SP3,…} tập hợp mã số cho người thi
Dom (Điểm) tập giá trị thập phân trong đoạn từ 0 đến 10 là điểm thi.
Tập hợp sau là một quan hệ trên tập thuộc tính P:

q = {(SP1, 6), (SP2, 9), (SP3, 8)}
Continue
SP1 6
SP2 9
SP3 8
q {SốBD Điểm}
Trong một quan hệ thường có một thuộc tính hoặc một tập hợp con thuộc tính
khoá, khoá đảm bảo rằng không có cặp bộ nào trong quan hệ hoà toàn giống
nhau. Chẳng hạn trong ví dụ có thuộc tính SốBD là thuộc tính khoá, nếu không
có thuộc tính này thì trong quan hệ được mô tả có hai bộ có giá trị giống hệt
nhau tuy rằng đó là thông tin về hai đối tượng khác nhau.

1. Cơ sở dữ liệu quan hệ
1.1. Khái niệm cơ bản
Nếu trong một CSDL có nhiều hơn một quan hệ, chẳng hạn các quan hệ
được mô tả trong ví dụ 2.2 và ví dụ 2.3 là hai quan hệ trong cùng một CSDL
quản lí một kì thi, thì các bộ trong quan hệ đó phải liên quan đến nhau, khi đó để
xác định sự liên quan dữ liệu mỗi quan hệ phải có một khoá kết nối. Thuộc tính
SốBD chính khoá kết nối của quan hệ r và quan hệ q, khoá này cho phép liên kết
bằng hai bộ thuộc hai quan hệ nếu giá trị của khoá kết nối là bằng nhau. Mô
hình kết nối như sau:
SP1 6
SP2 9
SP3 8
q {SốBD Điểm}r {SốBD Họ Đệm Tên Giới tính}
SP1 Trần Văn A Nam
SP2 Lê Thị B Nữ
SP3 Trần Văn C Nam

1. Cơ sở dữ liệu quan hệ

1.2. Các phép tính trên quan hệ
Có ba phép tính cơ bản trên một quan hệ: Phép thêm bộ, Phép xoá bộ,
Phép cập nhật giá trị trong bộ; nhờ ba phép tính này mà một quan hệ được
biến đổi. Trong các hệ quản trị CSDL khác nhau các phép tính ở này được
biểu diễn khác nhau, biểu diễn của các phép tính ở dưới đây chỉ có tính
hình thức. Giả sử ta có quan hệ r trên tập thuộc tính {A
1
, A
2
, …, A
n
}
khoá của quan hệ là thuôc tính A
k
.

.Phép thêm bộ

.Phép xoá bộ

.Phép cập nhật

1. Cơ sở dữ liệu quan hệ
1.2. Các phép tính trên quan hệ

.Phép thêm bộ
Phép tính này bổ sung một bộ vào một quan hệ. Ta kí hiệu phép thêm
bộ là Insert (r; A
1
= a

1
, A
2
= a
2
, … , A
n
= a
n
) hoặc nếu coi thứ tự thuộc
tính là cố định thì ta có thể viết Insert (r; a
1
, a
2
, …, a
n
), kết quả là một bộ
(a
1
, a
2
, …, a
n
) được bổ sung vào quan hệ.
Ví dụ 2.4:
Ta có quan hệ r như sau:
r { SốBD Họ Đệm Tên Giới tính}
SP1 Trần Văn A Nam
SP2 Lê Thị B Nữ
SP3 Trần Văn A Nam

Continue

1. Cơ sở dữ liệu quan hệ
1.2. Các phép tính trên quan hệ

.Phép thêm bộ
Sau khi thực hiện phép toán Insert (r; SốBD = SP4, Họ = Nguyễn,
Đệm = Văn, Tên = C, Giới tính = Nam) ta có quan hệ r đã được biến đổi
thành:
r { SốBD Họ Đệm Tên Giới tính}
SP1 Trần Văn A Nam
SP2 Lê Thị B Nữ
SP3 Trần Văn A Nam
SP4 Nguyễn Văn C Nam

1. Cơ sở dữ liệu quan hệ
1.2. Các phép tính trên quan hệ

.Phép xoá bộ
Phép tính này xoá đi một bộ đã có trong quan hệ. Ta kí hiệu phép xoá
bộ là Delete (r; A
1
= a
1
, A
2
= a
2
, … A
n

= a
n
) hoặc nếu coi thứ tự thuộc
tính là cố định thì ta có thể viết Delete (r; a
1
, a
2
, …, a
n
), hoặc nếu có thuộc
tính khoá A
k
thì có thể viết Delete (r; A
k
=a
k
) với a
k
là giá trị khoá của bộ
muốn xoá.
Ví dụ 2.5 :
Ta có quan hệ r như sau:
r { SốBD Họ Đệm Tên Giới tính}
SP1 Trần Văn A Nam
SP2 Lê Thị B Nữ
SP3 Trần Văn A Nam
Continue

1. Cơ sở dữ liệu quan hệ
1.2. Các phép tính trên quan hệ


.Phép xoá bộ
Sau khi thực hiện phép toán Delete (r; SốBD = SP2, Họ = Lê, Đệm =
Thị, Tên = B, Giới tính = Nữ) hoặc Delete (r; SốBD = SP2) ta có quan hệ
r đã được biến đổi thành:
r { SốBD Họ Đệm Tên Giới tính}
SP1 Trần Văn A Nam
SP3 Trần Văn A Nam

1. Cơ sở dữ liệu quan hệ
1.2. Các phép tính trên quan hệ

.Phép cập nhật
Phép tính này cho phép thay đổi một giá trị thuộc tính trong một bộ
của một quan hệ. Ta kí hiệu phép cập nhật là Update (r; A
1
= a
1
, A
2
= a
2
,
… A
n
= a
n
; A
k1
= e

k1
, A
k2
= e
k2
, … A
km
= e
km
) hoặc chỉ định bộ sẽ được
thay đổi theo khóa Update (r; A
k
= a
k
, ; A
k1
= e
k1
, A
k2
= e
k2
, … A
km
= e
km
)
trong đó A
k1
,…,A

km
là thuộc tính tại đó giá trị sẽ được thay đổi bằng các
giá trị e
k1
,…,e
km
.
Ví dụ 2.6 :
Ta có quan hệ r như sau:
r { SốBD Họ Đệm Tên Giới tính}
SP1 Trần Văn A Nam
SP2 Lê Thị B Nữ
SP3 Trần Văn A Nam

1. Cơ sở dữ liệu quan hệ
1.3. Đại số quan hệ
Hai quan hệ r
1
và r
2
được gọi là khả hợp nếu chúng có chung tập
thuộc tính.
1.3.1. Phép hợp
1.3.2. Phép giao
1.3.3. Phép trừ
1.3.4. Phép chiếu
1.3.5. Phép chọn
1.3.6. Phép lấy tích Đềcác
1.3.7. Phép kết nối
1.3.8. Phép chia

1.3.9. Ngôn ngữ đại số trong hệ quản trị cơ sở dữ liệu FoxPro
1.3.10. Một số ví dụ tìm kiếm bằng các phép toán đại số quan hệ
1.3.11. Tối ưu biểu thức

1.3. Đại số quan hệ
1.3.1. Phép hợp
Cho hai quan hệ r
1
và r
2
khả hợp, cùng xác định trên tập thuộc tính R, phép
hợp của hai qua hệ này sẽ tạo ra một quan hệ thứ ba cùng xác định trên tập
thuộc tính R và chứa tất cả các bộ của hai quan hệ r
1
và r
2
.
r
1


r
2
= { t |t

r
1
hoặc t

r

2
}
Ví dụ 2.7:
r
1
{STT Họ Tên Giới tính} r
2
{STT Họ Tên Giới tính}
1 Trần A Nam
2 Trần B Nam
3 Trần C Nam
1 Trần D Nữ
2 Trần E Nữ
r
1


r
2
{ STT Họ Tên Giới tính}
1 Trần A Nam
2 Trần B Nam
3 Trần C Nam
1 Trần D Nữ
2 Trần E Nữ

1. Cơ sở dữ liệu quan hệ
1.3. Đại số quan hệ
1.3.2. Phép giao
Cho hai quan hệ r

1
và r
2
khả hợp, cùng xác định trên tập thuộc tính R, phép
giao của hai qua hệ này sẽ tạo ra một quan hệ thứ ba cùng xác định trên tập
thuộc tính R và chứa tất cả các bộ của hai quan hệ r
1
và r
2
.
r
1
∩ r
2
= { t |t

r
1
và t

r
2
}
Ví dụ 2.8:
r
1
{ Họ Tên Giới tính} r
2
{ Họ Tên Giới tính}
Trần E Nữ

Trần B Nam
Trần C Nam
Trần B Nam
Trần E Nữ
Trần C Nữ
r
1
∩ r
2
{ Họ Tên Giới tính }

Trần E Nữ
Trần B Nam

1. Cơ sở dữ liệu quan hệ
1.3. Đại số quan hệ
1.3.3 Phép trừ
Cho hai quan hệ r
1
và r
2
khả hợp, cùng xác định trên tập thuộc tính R, phép
trừ của hai qua hệ này sẽ tạo ra một quan hệ thứ ba cùng xác định trên tập thuộc
tính R và bao gồm các bộ thuộc r
1
và không thuộc r
2
.
r
1

- r
2
= { t |t

r
1
và t

r
2
}
Ví dụ 2.9
r
1
{ Họ Tên Giới tính } r
2
{ Họ Tên Giới tính }
Trần E Nữ
Trần B Nam
Trần C Nam
Trần B Nam
Trần E Nữ
Trần C Nữ
r
1
- r
2
{ Họ Tên Giới tính }

Trần C Nam


1. Cơ sở dữ liệu quan hệ
1.3. Đại số quan hệ
1.3.4 Phép chiếu
Cho quan hệ r xác định trên tập thuộc tính R, X là một tập con thuộc tính của
tập R. Giả sử t là một bộ thuộc tập quan hệ r, cách viết t(X) là để chỉ một thu gọn
bộ trên tập thuộc tính X. Ví dụ: R = ( Họ, Tên, Giới Tính ) , X = {Họ, Tên} , t
= (Trần, A, Nam) thì t(X) = (Trần, A).
Ta kí hiệu phép chiếu quan hệ r trên tập con thuộc tính X là П
X
(r) phép chiếu
cho kết quả là một quan hệ trên tập thuộc tính X bao gồm các thu gọn của tất cả
các bộ của quan hệ r.
П
X
(r) = { t(X) | t

r}
Ví dụ 2.10: R = { Họ, Tên, Giới Tính } , X = { Họ, Tên }
r
1
{ Họ Tên Giới tính } П
X
(r) { Họ Tên }
Trần E Nữ
Trần B Nam
Trần E Nam
Trần E
Trần B


1. Cơ sở dữ liệu quan hệ
1.3. Đại số quan hệ
1.3.5 Phép chọn
Cho quan hệ r xác định trên tập thuộc tính R, F là một biểu thức logic xác định
trên miền giá trị của thuôc tính thuộc tập R. Phép chọn trên quan hệ r theo biểu
thức logic F sinh ra một quan hệ cùng xác định trên tập thuộc tính R chứa tất cả
các bộ trong quan hệ r mà các giá trị của nó thoả mãn biểu thức logic F. Ta kí
hiệu phép chọn là δ
F
(r).
δ
F
(r) = { t| t

r và F(t) là đúng }
R={Họ, Tên, Giới tính}, F là biểu thức : Giới tính = ‘Nam’
Ví dụ 2.11:
r { Họ Tên Giới tính } δ
F
(r) { Họ Tên Giới tính }
Trần E Nữ
Trần B Nam
Trần C Nam
Trần B Nam
Trần C Nam

1. Cơ sở dữ liệu quan hệ
1.3. Đại số quan hệ
1.3.6. Phép lấy tích Đềcác
Cho quan hệ r

1
xác định trên tập thuộc tính R
1
và quan hệ r
2
xác
định trên tập thuộc tính R
2
với t
1


r
1
và t
2


r
2
ta viết t
1
t
2
để chỉ
một sự ghép nối tiếp các giá trị của hai bộ t
1
và t
2
, lưu ý rằng ta không

quan tâm đến thứ tự các thuộc tính trong tập thuộc tính của một quan
hệ nên t
1
t
2
cho giá trị tương đương với t
2
t
1
.Ví dụ: t
1
= (Trần, A, Nam),
t
2
= (SF001, Hà Nội) ta sẽ có t
1
t
2
= t
2
t
1
= (Trần, A, Nam, SF001, Hà
Nội).
Phép lấy tích Đềcác các quan hệ r
1
và r
2
cho ta một quan hệ xác
định trên tập thuộc tính R

1


R
2
các bộ của tích Đềcác được định
nghĩa như sau:
r
1
x r
2
= {tq| t

r
1
và q

r
2
}

Continue

1.3.6. Phép lấy tích Đềcác
Ví dụ 2.12:
r
1
{ Họ } r
2
{ Tên Giới tính }

Trần
Đỗ
Nguyễn
A Nữ
B Nam
r
1
x r
2
{ Họ Tên Giới tính }
Trần A Nữ
Trần B Nam
Đỗ A Nữ
Đỗ B Nam
Nguyễn A Nữ
Nguyễn B Nam

1. Cơ sở dữ liệu quan hệ
1.3. Đại số quan hệ
1.3.7. Phép kết nối
Cho quan hệ r
1
xác định trên tập thuộc tính R
1
và quan hệ r
2
xác
định trên tập thuộc tính R
2
. Ta dùng kí hiệu θ để chỉ một trong 6 phép so

sánh <, ≤, =, ≥, >, ≠ . Giả sử trong tập thuộc tính R
1
, có thuộc tính A
và trong tập thuộc tính R
2
, có thuộc tính B và các giá trị của nó có thể so
sánh được với nhau (cùng là tập con của một miền giá trị). Một biểu
thức lôgic được xây dựng trên phép so sánh AθB được gọi là toán tử kết
nối.
Phép kết nối hai quan hệ r
1
và r
2
trên cơ sở AθB cho ta một quan hệ
thứ ba có tập thuộc tính là R
1


R
2
và các bộ của nó được định nghĩa
như sau:
r
1


r
2
= { tq| t


r
1
, q

r
2
và t(A) θ q(B) là đúng }
AθB

Continue

1. Cơ sở dữ liệu quan hệ
1.3. Đại số quan hệ
1.3.7. Phép kết nối
r
1
là một quan hệ chứa hồ sơ cán bộ, trong quan hệ này có thuộc tính
NămLênLương chứa thông tin về năm lên lương gần nhất của cán bộ.
Ta muốn nhặt ra cán bộ được tăng lương lần này, mốc tăng lương là
năm 2000, đồng thời bổ sung thêm thuộc tính MốcTăngLương và
GhiChú, các thuộc tính này nằm trong r
2
:
Ta có kết quả như sau:
r
1
{Họ Tên NămLênLương } r
2
{MốcTăngLương Ghichú}
Trần E 2000

Trần B 1999
Trần C 2003
2000
Continue

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×